The Private/Public key pair (aka asymetric cryptography) refers to a common cryptographic mechanism. Private and public keys are bounds together and also bound to a particular well known cryptographic algorithm like 'RSA', 'SHA', ...
Private and public key aren't just random string, in fact they have the following very interesting property :
If you ...
First of all, there seems to be a misconception in your question. If you spend 2 iotas from an address with 10 iotas, that address will not then contain 8 iotas, the address will actually be empty and will be 'struck out' in your wallet history. The 8 iotas are instead sent to a new 'change address'. This is why users do not have to worry about address reuse ...
First, a subseed is derived from the seed
Treat the seed as a (little-endian) number and add the index to it (a seed starting FEDCBA... and an index of 1 therefore results in GEDCBA....
Hash the result of the previous step with Kerl (keccak)
Then, a private key is derived from the subseed. The private key consists of multiple blocks (number depends on ...
It's important to understand that IOTA use UTXO scheme (like bitcoin and probably many other cryptocurrencies).
UTXO means Unspent Transaction Output.
To understand from where the UTXO concept comes from I will first describe it "in theory" and in the end I describe how it is really implemented in IOTA.
How it works ?
Assume that Alice owns an address ...
Then you basically lost the money. Typos like I<>1 or O<>0 are unlikely to happen, because the address only has [A-Z9] characters. I'm not sure if the target addresses have a checksum on them, I've been using 81 tryte addresses as a target in the API, never a wallet (not using it), and checksummed addresses are 90 trytes long.
Anyway, one typo = lost ...
How can I safely withdraw the funds a second time ?
Second withdraw will be less secure. The security decrease exponential with every withdraw. There is nothing you can do against that.
How can I ensure that people do not emit transactions to an address that has already been used-up?
As far as I know, there is nothing in IOTA protocol that prevent an ...
1) Get the latest wallet: https://github.com/iotaledger/wallet/releases
2) Try using different Nodes - Tools -> Edit Node Configuration Min Weight Magnitude should always be 14 or above. Curl Implementation can be tried both, Webgl 2 and CCurl
3) Generate a few address and re-attach them to tangle until your full balance shows up
Technically speaking, a zero value transaction (bundle) neither needs to have nor can have a sender address. (Sending transactions in a bundle have value < 0 and receiving transactions have value ≥ 0).
That being said, you can send zero value transactions to any address. No funds will be moved and the address will not get added to the next snapshot ...
The Seed is your only local stored authentification and is never revealed in a transaction.
Private Key's are generated with your seed in combination with a key index and are needed to sign the transaction. Random 50% of the private key are leaked when signing a transaction. That's why u should never reuse an Adress.
In the most cases Private key is used as ...
An address is generated from 3 inputs :
a security level: 1, 2 or 3
an index : an integer
In theory an integer can be infinite, in computer science things are often finite. In java integer range is from -2,147,483,648 to +2,147,483,647.
If you consider the java language to generate the addresses you will have 3 × 2 × 2,147,483,648 potential ...
tl;dr version: In order to find your entire balance after a snapshot, you will need to attach the same number of addresses as you had before the snapshot.
Wait a sec, why do I even have to attach addresses in the first place?
The current IOTA Wallet released by the IOTA Foundation is stateless. This means that it doesn't store any information about your ...
Short answer: No.
Long answer: Whether a public key can be used for encryption, verifying signatures, or both, heavily depends on the used cryptographic algorithm.
RSA is an algorithm where the same public keys can be used both for encryption and for verifying signatures. (To be honest, it is the only one I can think of right now).
Other cryptographic ...
Correct, the checksums are intended only be part of the UX, and recently the IOTA team has made efforts to make the API consistent in only sending 81-character addresses to nodes, see here. This is not something there is an official source on, but something that has been confirmed in conversations with the main developers.
As far as I know
Lets say you were receiving donations on Address X, my recommendation is to not use this address till you REALLY need to withdraw from it.
After you withdraw from address X, make sure you never use it again to send/receive funds from/to address X.
Generate a new address Y and update donation address wherever you've posted it.
This is basic practice on Bitfinex. They collect all the iota centralized and keep track of your iota in a Database. This process may take some time. So be patient.
This is not Bitfinex support and if you have questions on Bitfinex use their support please.
IOTA addresses can be used multiple times for receiving, but once spent, the security dramatically reduces. So, if the address generation algorithm has not changed (you are getting the same addresses and/or balances from the same key), and you haven't spent from that address yet, yes, it is safe to receive.
Once spent, never reuse an address.
It's the "Security level to be used for the private key / address. Can be 1, 2 or 3."
A security level determines the number of rounds for hashing, or in other words the length of the private key.
Security level 1 : key length 81 trits (security low)
Security level 2 : key length 162 trits (security medium)
Security level 3 : key length 243 trits (security ...
When you press the button "Generate new address", this is what happens:
generate new private key from the seed
generate address from the new private key
send a 0-value transaction to the address
Your Iotas remain on the old addresses, where they were before.
If your old addresses are compromised for some reason, you can send all your Iotas to the new ...
I agree with you that the attribute deterministic is a little misleading.
At the end the crucial point is the assignment or not of the index value of option parameter in getNewAddress call.
If you don't assign the index value of the option parameter, getNewAddress call will generate all the addresses for a certain seed, starting from index=0 and ...
IOTA uses the UTXO model to represent transactions. It means that the balance of a given address is defined as:
balance of address ADR = (sum of all "inputs" to ADR) - (sum of all "outputs" tx from ADR)
In practice, IOTA network make snapshots. After a snapshot: transaction history is lost (or at least the fullnode don't need to keep it in it's ...
You don't need to generate million of addresses at least if your seed was use properly.
Normally, a wallet should use addresses one after the other by just incrementing by one the index of the previous address. It means that a transaction from address at index n exists if and only if a transaction at address n-1 exists.
So, what you should do is searching ...
An address is generated from a private key.
A private key is generated from any random 81 trytes (e.g. a seed)
If you want to know how this generating works in detail, you should look at the implementations in the GitHub. (e.g. here in PyOTA) It's basically just a lot of Kerl/Curl hashing.
Since we want to create more than 1 private key from a seed, we ...
When sending a transaction, and another transaction of the wallet is still pending, you will usually have to wait.
In case your first transaction does not exactly use up the amount of your first few addresses, the change will be sent to a new address of your wallet, so that you do not have to reuse the key of the address for spending the second part. As ...
In theory you can, but you absolutely should not, or your iotas will be at risk!
IOTA uses one-time signatures, that means that part of the private key of an address leaks when you use it for sending iotas (= signing). Thus, it's not safe to send iotas to an used address ever again, even after a snapshot.
The current IOTA wallet 2.5.4 doesn't store any ...
Yes, depending on how the reclaim process happens. Generally, in an IOTA transaction, the funds at input addresses are always used up entirely, and any unspent remainder is sent back to a new address provided by the sender (the "change address"). This simplifies the transaction and also prevents address key reuse. Bitcoin transactions work the same way.
As https://iotasupport.com/how-addresses-are-used-in-IOTA.shtml explains:
The generated addresses are part of a sequence of one time(!) keys generated from a single seed. Using multiple addresses of one seed in parallel is generally not a good idea and not the right way to use them. As @Zauz already explained, use one seed per "sensor" and transfer the ...
The length of a valid address is always exactly 81 chars [A-Z9]. Most tools interacting with human users append a 9 chars length checksum to the address.
When this checksum is present, it's possible for a tool to check that a copy/paste typo didn't append at some point.
So thetangle.org don't append random chars to an address of 81 chars, it only appends ...