3

It has been said many times that the Coordinator is not necessary because its confirmations will be rejected by other nodes if it acts maliciously.

It follows that if other nodes can tell if the Coordinator acts maliciously, then in fact they do not need the Coordinator.

According to The Transparency Compendium:

This does not mean that the IOTA ledger is currently in any way centralized, the network is 100% decentralized, every node verifies that the Coo is is not breaking consensus rules by creating iotas out of thin air or approving double-spendings

According to eukaryote31 (respected person within IOTA ecosystem):

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.

According to iota.stackexchange high rated answer:

The Coordinator is no exception, if the Coordinator starts issuing bad Milestones, nodes will just reject them.

This begs the question, "what makes Coordinator Milestones a security measure if the other nodes are already doing this?"

3
  • Please link to your source for "the Coordinator is not necessary because its confirmations will be rejected by other nodes if it acts maliciously"
    – ben75
    Aug 23, 2018 at 11:15
  • Ok. None of your links state that the coo is not necessary. All your links state that the validity of milestones is verified by the IRI. In other words, the IRI prevent hypothetical malicious actions of the coo.
    – ben75
    Aug 23, 2018 at 18:33
  • I'm not posting an answer because the question is still unclear to me. (And regarding your last comment: there is already a similar question here : iota.stackexchange.com/questions/2015/…)
    – ben75
    Aug 24, 2018 at 16:28

2 Answers 2

0

Milestones are bundles that reference a certain part of the Tangle. All transactions within this part are considered confirmed by those who trust the COO. In my eyes, milestones behave very much like a transactions with infinite weight. Other nodes can only issue transactions with a weight of 1 (Maybe more in the future). The problem with that is, that malicious actors could issue a lot of transactions with weight 1 to build parasite chains or similar attacks. To counter that, we use transactions, currently issued by a central authority, with infinite weight.

This is assuming, that the Coordinator does not start acting maliciously. If it would, human intervention would be necessary.

One could argue, that the statement in The Transparency Compendium: "the network is 100% decentralized" is a bit of an overstatement. But the point is that it is still decentralized enough even with the Coordinator.

1
  • Your first comment isn't math related nor a valid argument. You're just naming some of the centralized aspects of the current IOTA protocol (ignoring the decentralized ones), then appending "== true" (what does that even mean?) and "== 100% Centralized" (where did you get the number 100% from?). ; I wouldn't suggest trying to calculate or estimate to what extent Iota is centralized. I think this question is easier to answer by just thinking of worst case/bad case scenarios and their short-term and long-term consequences. If you do that you may realize that most of them aren't that devastating.
    – Zauz
    Aug 24, 2018 at 19:45
0

White Flag

The most relevant topic to this is White-Flag. Before white-flag, the coordinator would make certain that between two milestones there we no double-spends. White flag removes the responsibility of the coordinator to check for double spends. All it does is issue a successive blocks to create a strict total-order of milestones.

White Flag, allows milestones to confirm conflicting bundles by enforcing deterministic ordering of the Tangle and applying only the first bundle(s) that does not violate the ledger state

White flag implements a mechanism that deterministically orders the tangle based on milestones, removing responsibility from the coordinator to check for double spends. Double spends can now be resolved by each node independently and deterministically.

Ordering the Tangle

The mechanism mentioned above is:

The topological ordering generated by a post-order Depth-First Search (DFS) starting from a milestone and by going first through trunk bundle, then branch bundle and finally current bundles.

The milestone just allows a stop condition to DFS allowing all nodes to resolve double-spends by only validating the first one. This also means that each milestone is required in order to make transactions confirmed because thats when DFS is initialized to order the tangle.

Conclusion

If the coordinator stopped existing, nodes would stop confirming transactions. If the coordinator issued bad transactions, that means they have the wrong private key and nodes would ignore them; resulting in all transactions not confirming. In either of these cases, the IOTA Foundation would issue new coordinator keys, node operators would update them and listen to the new coordinator. The coordinator is necessary for a total order, just like blockchain, but the role of the coordinator is nothing more than issuing checkpoints/milestones every 10 seconds for nodes to reference.

It is much harder to remove the coordinator than it seems but the IOTA Foundation, has done a great job with Over The Tangle voting and FPC to find away for nodes to deterministically order the tangle without the coordinator.

Your Answer

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