This question might have risen out of not enough knowledge about the role of the Coordinator. But..

Due to its one-time nature, the security of funds in an address decreases rapidly if you sign multiple transactions using the same key. Iota Glossary

If it is not safe to use an address multiple times, is it safe to have a hard coded address for the Coordinator?


The coordinator uses Merkle tree based signature scheme which allows to sign multiple messages with the same public/private key pair. This Merkle tree contains 2^20 keys. That means that the coordinator is able to sign up to 1 048 576 milestones without key reuse.

To better understand how this signature sheme works look at here: https://www.imperialviolet.org/2013/07/18/hashsig.html

  • Thanks! Does that mean that if I want to run an Isolated Iota for myself, I have to code the coordinator myself? Or is this signature scheme also available in the open source nodes? – Makan Tayebi Feb 26 '18 at 16:52
  • @MakanTayebi github.com/schierlm/private-iota-testnet contains a Coordinator implementation that does not sign (like on public testnet) and a Coordinator implementation that does the signing (if a non-signing coordinator would disturb your tests (e.g. performance tests) too much). – mihi Feb 26 '18 at 20:40

The coordinator uses a signature scheme which allows address reuse (Winternitz + Merkle tree), so it's safe to use that address multiple times.

  • 1
    Could you please elaborate how the Merkle tree makes address reuse safe? It's still a Witnernitz signature like in every other transaction, so why doesn't it reveal the same amount of the private key? – janowitz Feb 26 '18 at 16:24
  • 1
    Different mini-addresses are used, hashed according to the standard Merkle tree logic and the root hash is the address. – Come-from-Beyond Feb 27 '18 at 9:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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