All milestones are just signed transactions with teh address KPWCHICGJZXKE9GSUDXZYUAPLHAKAHYHDXNPHENTERYMMBQOPSQIDENXKLKCEYCPVTZQLEEJVYJZV9BWU. My understanding is that to sign a transaction, you do so with the private key for that address. How does the coordinator sign so many milestones using the same address and therefore the same key without compromising it?

2 Answers 2


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/src/main/java/com/iota/iri/Milestone.java#L198-L211


You can read about milestones and the Merkle tree on the IOTA documentation portal: https://docs.iota.org/docs/the-tangle/0.1/concepts/the-coordinator

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.