2

What happens if I make one mistake in the adrress where I want to send my money to? For example if I write an i instead of l inside the address. Would the money be send to that wrong addrress nevertheless, where noone knows the seed to it? So my money would be lost in the tangle? Or is it like you can only send money to an adressess that is already attachsed to the tangle. So in 99.99..% of the cases the address doesn't exist and the transaction will not be confirmed?

1

1 Answer 1

8

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 money, no one can fix this mistake for you.

The address doesn't have to be attached to the tangle. You can generate an address with a new seed, and then send IOTA to it. Then, when something is sent to the address, it is inserted into the tangle. The address exists only because that transaction exists in the tangle, and your seed is nothing else than your password to it (actually, the seed plus the index used to generate that address, which is usually a continuously increasing index, 0, 1, 2, ...). The information about the transaction is almost the entire banking account. It is stored in the internet, not in your wallet.

Your wallet never has IOTAs in it. It only presents to you in a nice way what is in the tangle. Once you have told your wallet which your seed is, it can query the nodes for transactions which contain the addresses that belonging to that seed. A good wallet would store the seed (your phone better not be rooted and with all security patches applied!) and a list of already used indices, and probably also the balances of those indices, in order to not to have to query the tangle all the time. The problem of "missing" balances is because sometimes the wallet isn't able to find the balances for all the indices which have balances on them, because for some reason an index was not used. For example if you have an address at index 0, index 1, but not index 2, then again at index 3, then the wallet will stop at index 2 thinking that it is the next one to be used, and that index 1 was the last used address. So you need to tell it that index 2 has already been used, so that it searches for index 3, then the balance of index 3 would also show up, and index 4 is used as the next free address. This is specially the case after a snapshot, where all 0-balance addresses and transactions are removed from the tangle, so they really look unused. This will get automated in the future.

Transactions to a wrong address will be confirmed, because there is no such thing as a wrong address. A seed plus an index create the address through the hashing function. And that hashing function always returns a valid address, as long as the inputs are valid. If they are invalid (have invalid characters), an error is shown to the user. Usually you don't know the seed of the target address. If you make a typo at the target address, like mix up J<>I, then it's a valid address and the transaction will get confirmed.

You want to avoid typing in addresses by hand by all means. Try using a QR-Code and verify the hash visually, or do a copy-paste.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.