One of the most intriguing topics touched upon during the recent Ethereum DevCon1 conference is how the challenges in public consensus should be addressed. Achieving a public consensus sounds easy to accomplish on paper, yet the reality is vastly different. The Ethereum team seems to have a general idea of what challenges they are facing and how they can be addressed.
Public Consensus: The Challenges Ahead
The concept of having computers agree upon the state of an application opens up a lot of opportunities for aspiring developers. Computers make decisions based on logic and inputs and are non-corruptible, unlike their human counterparts. However, there are a fair few challenges ahead that will need to be addressed first.
One of the things public consensus can achieve is creating a reliable system out of unreliable components. There are various types of unreliable components to be found, including network nodes that are offline or behaving badly. A major benefit of creating such a reliable system is how it would remove the need for an overarching network administrator.
Instead, membership in the public consensus is governed by a mechanism to be found within the consensus itself. One can compare this mechanism to a game whose rules determine whether or not a node is able to participate in affecting the state of the consensus. But there is one major issue in this scenario: a Sybil attack could help game the mechanism in an attempt to flood the network with nodes controlled by a group of attackers.
Speaking of the nodes involved in the public consensus protocol, there are expenses and revenue to take into consideration, too. Operating a node at a loss can only go on for so long. However, there is a silver lining, as the software used to run a node can be adapted to introduce a new model that allows operators to make a [small] profit.
The other side of the medallion regarding the current nodes model is how attackers will have a certain attack budget. Attacking a group of nodes will affect the profitability for those operators, creating a thin line between which business model is more favorable for running a network node. Something will have to change sooner or later, though.
Rational nodes – which are non-existent, officially speaking – should be able to change their behavior to increase profitability. Additionally, nodes will be responding to incentives due to an adversary’s attack. The worst case scenario for this approach is how all nodes are rational with zero coordination costs, allowing attackers to spend their “attack budget” in a well-defined manner. Furthermore, coalitions for maximizing node profits, as well as bribing rational nodes, are not out of the question.
Introducing An Economic Consensus System
There are various ideas to tackle the problem of a public consensus and one of the options is to create an economic consensus. This model would be able to defend against Sybil attacks without too many problems. Bitcoin has a viable model as well, by requiring a huge amount of expensive hardware to pull off a Sybil attack. Both solutions will make it difficult and inconvenient to abuse the trust provided by the blockchain.
Making it unprofitable for majority coalitions to revert the history of the Ethereum blockchain is the top priority right now. Securing public consensus protocols will require a certain level of transaction censorship, which is not a route anyone wants to take right now.
Despite the realistic outlook of introducing an economic consensus within the Ethereum ecosystem, it will take a lot of time before it can be achieved. There are different scenarios to take into consideration, such as a possible attack by well-funded adversaries, or the coordination costs for such an attack decreasing over time.
Source: Ethereum DevCon1 Conference 2015
Images courtesy of Ethereum, Cross Collaborate, Social Europe