Hot answers tagged

13

Sample how one-time signature works Perhaps it helps with a short sample. Assume we are in a world where you do not need 384-bit security, but only 8-bit security (to make the example shorter). And I'll use a binary, not a ternary example. Your private key consists of 16 parts, 8 for each bit of security (so you have 8 parts to reveal for a bit that is 1, ...


7

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 ...


6

Short answer: it is not. Long answer: Signatures are not supposed to protect anything else than the iota values and (obsolete)tag fields. Therefore, as long as your transaction is not confirmed, anybody could replay/reattach it with a different content in the message field of the receiving transaction and the luckiest transaction would win. Therefore, you ...


5

The answer, it seems, is merkle trees. There is a huge set of pre-generated keys using a merkle tree, and the milestone index is used to traverse the tree. Original answer found here: https://www.reddit.com/r/Iota/comments/7gsd3t/why_are_coordinator_signatures_still_secure/dqo9b9r/ With updated source link here: https://github.com/iotaledger/iri/blob/dev/...


5

A signature may even need more than two transactions, e. g. if it is a multisig signature. Yes, the reason is that Winternitz signatures are large (for every tryte you are signing and each key that is part of the multisig you need a full hash length, i. e. 81 trytes in case of KERL, of signature data). All spending transactions of a bundle sign the same ...


4

While it's true that many of IOTA design choices were made with IoT devices in mind, it's important to note that being future proof is also a very important feature of the project. Admittedly, many of the current choices could seem overthought - and impractical - for today's use (namely ternary system and quantum proof algorithms). But the rise of ...


3

The transaction that is done when "attaching to tangle" doesn't have a sender address. It's just one address—the new address—in that transaction. The action just adds an address connected to your seed to the tangle. It doesn't reveal any part of your key either. If you look at your linked transaction the signature field is actually empty (only 9s) as well as ...


3

It's not included in the bundle hash, but it is included in the transaction hash. If you look into how MAM does it, the message fragment contains the message, signature, and sibling hashes( for merkle root calculation ), all encoded into the message field. The message is not 'validated' because any tx with positive value needs no signature, but the tx hash ...


3

All hashes in the signing function use Kerl. We start from an 81 tryte subseed that is generated by taking Kerl(seed + index). This will make the subseed sufficiently independent so that it is impossible to figure out the original seed used to generate the list of addresses. The private key length depends on the security level S, which can be 1, 2, or 3. ...


2

IOTA is what we call 'quantum robust' because of the signature scheme that it uses. You can find detailed information about signatures on our documentation portal.


2

Yes, there is one: https://github.com/embedded-iota/iota-c-library You probably want to checkout the fork by francescolavra. He fixed a lot of issues and improved the library. If you want to use it within an RTOS, you might want to checkout the library implementation in RIOT.


2

Zero value transactions don't need to be signed but you can sign them, either by mistake or by using a buggy library and in this case: it is unsafe to re-use the same address. I can't find the reference right now, but I think that a bug like that was once reported with js library. (it was probably with the old js library)


1

IOTA multisig transaction handling is done off-tangle, i. e. the transaction will be sent from one signer to the next without ever touching the tangle (and the tangle would reject bundles that don't have all required signatures). Only after all signatures have been collected, the transaction is added to the tangle and Bob will be able to see it. Before, the ...


1

Yes, this is indeed the case. When you use a spammer to create transactions, they will always have a random address. MAM uses addresses as a message ID for example, as these data transfers are also zero-value. You can take a look at their blog for more information https://blog.iota.org/introducing-masked-authenticated-messaging-e55c1822d50e


Only top voted, non community-wiki answers of a minimum length are eligible