Creating consensus: an unsolved problem in computer science

Read about Prohashing, mining, and coins in general!
Forum rules
Sign up to be notified of new posts to the Prohashing Blog at http://eepurl.com/gx1e0j

For the full list of PROHASHING forums rules, please visit https://prohashing.com/help/prohashing- ... rms-forums.
Post Reply
User avatar
Steve Sokolowski
Posts: 4585
Joined: Wed Aug 27, 2014 3:27 pm
Location: State College, PA

Creating consensus: an unsolved problem in computer science

Post by Steve Sokolowski » Thu Apr 07, 2016 5:17 pm

The missing piece of cryptocurrency

Over the years, a number of independent currencies have come and gone. Before the advent of the Internet, the slow speed of communications and the expense of printing made adoption of independent currencies impractical on any large scale. By the mid-1990s, people started buying desktops and centralized Internet currencies were developed. Most of these, like QQ coins, quickly attracted the attention of government regulators and were eliminated. Then, bitcoin came along and solved the problem of any one person being able to shut down the system.

This history is one of continuing progress, where one issue after another was resolved until people had created what was finally thought to be the "perfect currency." Unfortunately, it has become clear now that blockchains solve only part of the problem with issuing currencies. The innovation of a distributed network has done an excellent job of preventing bad people from doing bad things, like stealing money or attacking the network. But the same forces that stop bad actors also stop almost any progress from being made at all. A September 2015 poll showed that a 50% plurality of users, merchants, and others supported BIP101 as the preferred bitcoin scaling mechanism; yet the solution was never adopted.

The bitcoin blocksize is one example of the conensus gridlock problem, but it is not the only time this shortcoming will ever affect cryptocurrencies. If the blocksize issue were ever to be resolved, then the most obvious next problem that will be interminably debated will be the 32-bit timestamp issue, the lack of resolution of which will cause the timestamps recorded in blocks to overflow in the future. There are probably other issues that have not yet been perceived, or which would only become evident based on future usage patterns.

The bitcoin project is likely to fail at the halving event in July because a method of agreeing to a solution to problems in a timely fashion has been proven to be essential to a currency's usefulness and value. It is clear now that no network can become the "world currency" until a solution to the problem of obtaining consensus is found.

Science often reveals solutions to problems that weren't previously recognized as solvable

In 2007, few people had any idea what the solution to creating a distributed currency was. After Nakamoto released his paper, it now seems obvious that proof-of-work was the missing piece that allowed such blockchains to be possible. His genius was not in performing computations or creating mathematical proofs, but in pattern recognition. He was able to draw upon knowledge of different areas of mathematics and recognize that they could be combined to solve a longstanding problem.

Similarly, the solution to the problem of deciding how to resolve problems will look obvious in retrospect once someone recognizes it. The key to moving towards addressing this issue is that a paradigm change in thinking is needed in the bitcoin community. The inability for people to agree on the parameters of the network needs to be acknowledged as a design shortcoming that has destroyed the currency, and it needs to be recognized that a technological breakthrough is necessary before bitcoin's replacement is likely to be successful. While counterintuitive, it might be more worthwhile for developers to divert their effort towards discovery of the algorithm that can resolve this social issue, rather than towards proposing blocksize fixes that are likely to be deadlocked. Determining how to choose between decisions and move forward needs to be viewed as a solvable mathematical theorem, rather than as an intractable social issue.

Paths to resolving the consensus problem

Two paths towards resolving the consensus problem immediately come to mind, but there are certainly more that have yet to be considered. First, a political scientist could discover a perfect voting system that is mathematically proven to provide the best outcome among an infinite number of possibilities. Second, a computer scientist could discover a way to automatically set the network's parameters and remove all control from humans. I'll review each of these possibilities in turn.

In the first scenario, a breakthrough voting system could be discovered that always results in the outcome that is most acceptable to the largest number of voters. This discovery would have far-reaching implications across a wide variety of fields, including in politics. Since it has so far proven impossible to get any existing coin with equal representation (DASH does not count due to Masternodes) to fork after a large number of people start using it, a new cryptocurrency would need to be created with the voting method implemented algorithmically. Votes would occur automatically at ever-shortening intervals to account for the exponentially increasing pace of technology, and if successful according to the algorithm, the network would thereafter require the proposed new code. Because the voting algorithm is mathematically perfect at resolving the opinion of the users, and because votes are hardcoded to occur periodically, a small number of voters would be unable to stonewall progress in resolving critical protocol issues.

In the second scenario, a computer scientist would discover a method of deciding upon beneficial protocol changes without considering the opinion of any human at all. Since we again assume that no forks will ever be able to occur after the coin's launch, a rule-based program will never be able to account for all the possible problems. Thus, some form of artificial intelligence is required.

Deep learning may already be powerful enough to correct some technical problems with the network, like the timestamp problem, assuming that a solution for paying people to train the AI was found. However, current AIs regularly produce results that are nonsensical to humans. For example, hardware layout AIs have added expensive chips to ASICs that aren't connected to the main circuit and would seem to have no impact because they have no wired connections. Humans have later found these designs to be "correct" because the chips' electrical fields can induce magnetism in nearby components that in the end execute the correct logic. In this case, the human is aware of numerous other economic factors the AI is not, and the human would make the more sensible decision of simply wiring chips together.

As a result, a cryptocurrency controlled by current AIs would likely resolve the blocksize problem, but it might do so in a way that fails to account for human ethics (like by noticing that IP addresses in China are slower than IP addresses elsewhere, and reducing block rewards there to incentivize miners to leave - a solution that would be perceived by some humans as unfair). As a result, the cryptocurrency AI would need to be able to understand human psychology, a problem that is widely believed to be "AI-complete," meaning that the solution will require general intelligence at a human level. Surveys of researchers nowadays seem to place the date of this milestone being achieved at around 2040, which is a long time from now. If you believe that it is necessary to remove humans from the governance of cryptocurrency altogether, then this timeline looks bleak.

A continuing, multi-step process

Thus, the future of cryptocurrency may be a three-step process. The first involves the replacement of bitcoin, which is governed by self-interested and intransigent people, by a coin that is developed by ethical and agreeable people - with this occurring multiple times if the second coin's leaders also become corrupt. This second involves either the replacement of that coin or (if the developers remain ethical) the implementation of a foolproof voting algorithm into the rules of a cryptocurrency. The final step involves the creation of a cryptocurrency AI whose purpose is to monitor the network and make unbiased decisions for the good of the network. In the end, a limited AI that does not experience human emotions is likely the best way to solve the consensus problem.

Several years ago, many in the industry may have agreed with the statement that blockchains are the perfect form of money. Unfortunately, the "perfect currency" does not yet exist. It is clear now that additional breakthroughs are necessary to bring the promise of a global, unregulated, apolitical currency to the mainstream. Bitcoin's developers would be better served at this point in devoting their effort towards discovering a mathematical solution for forcing consensus on a distributed system, rather than ignoring the true problem and continuing to propose new solutions for a hopelessly deadlocked community.
Post Reply