27

We know that there is a coordinator, which helps to secure the network in order to prevent attacks in early stages of adoption. What does it do exactly, how does it work?

26

I think this copy/paste from Reddit explains it perfectly:

What is the Coordinator and what does it do?

Every minute [now 35 seconds] the Coordinator makes a normal transaction with its signature on it, and we call these Milestones. Every transaction (including Milestones) verifies two other transactions. When you want to know if a transaction is verified, you find the newest Milestone and you see if it indirectly verifies your transaction (i.e it verifies your transaction, or if verifies a transaction that verifies your transaction, or if it verifies a transaction that verifies a transaction that verifies your transaction, etc). The reason that the Milestones exist is because if you just picked any random transaction, there's the possibility that the node you're connected to is malicious and is trying to trick you into verifying its transactions. The people who operate nodes can't fake the signatures on Milestones, so you know you can trust the Milestones to be legit. This also works as an incentive for you to run your own node, as if you're running a node you can trust it 100% (because it's your own). This is especially important for businesses, because they can't want to risk the node they're using going down or injecting malicious transactions.

What if the Coordinator started acting maliciously?

Every node looks at the transactions it gets and only tells other nodes about transactions that are valid. The Coordinator is no exception, if the Coordinator starts issuing bad Milestones, nodes will just reject them.

How will we switch off the Coordinator without breaking Iota?

To validate a transaction without the Coordinator, we do the same thing as we would with the Coordinator, but we do it lots of times with random transactions and see what percentage of them verify your transaction. The technical term for this is a "Monte-Carlo walk", and basically makes the chances of you picking enough malicious transactions to skew your results low. This is also why we need to wait for the network to grow; since the network is so small the attacker can relatively easily gain a large presence on the network.

Source: https://www.reddit.com/r/Iota/comments/7c3qu8/coordinator_explained/

  • 1
    If coordinator start acting maliciously, other nodes would only be able to reject coordinator transactions that are double spends. If the coordinator wants to starve the network from confirmations, or censor some transactions from some addresses, other nodes wouldn't be able to do anything. – lvella Nov 29 '17 at 19:28
  • @lvella Then, in that case, the community could build another Coordinator, as although we do not yet have the source code of the Coordinator, much of its functions can be inferred. – takra Dec 4 '17 at 3:03

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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