paint-brush
In a previous story I had examined how does a Blockchain work in general.by@ogucluturk

In a previous story I had examined how does a Blockchain work in general.

by Osman Gazi GüçlütürkDecember 26th, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

In this story, I will examine whether the Blockchain is really trustless as it is usually claimed to be. For a detailed and step-by-step analysis, you can check&nbsp;<a href="https://medium.com/@ogucluturk/demistifying-blockchain-a-detailed-step-by-step-explanation-dae8c4517877">here</a>.

Coin Mentioned

Mention Thumbnail
featured image - In a previous story I had examined how does a Blockchain work in general.
Osman Gazi Güçlütürk HackerNoon profile picture

Trusting the Blockchain

In this story, I will examine whether the Blockchain is really trustless as it is usually claimed to be. For a detailed and step-by-step analysis, you can check here.

1. Where is the trust located in the Blockchain?

Before going further, we need to clarify what must be understood by the term ‘trust’. In Cambridge English dictionary, trust is defined as “to believe that someone is good and honest and will not harm you, or that something is safe and reliable”.This definition is extremely broad, and it covers almost anything including not only reliance on people but also reliance on mechanisms. In this sense, every transaction, even simultaneously enforced transactions have trust in them since the idea that firm currencies have value is essentially based on the reliability of the issuing government. Thus, there is a need to narrow this definition.

Our main problem is that a party to a transaction might not act in accordance with the terms of that transaction. Hence, the trust issue here is not about relying on something or someone in general but about relying on someone to behave as he/she is expected to behave under the terms of a transaction. Therefore, for the purposes of this story, we define trust as ‘to rely on someone or something to behave in an expected way’. Along with this definition, in deterministic scenarios where there is no risk of unexpected actions, there is no question of trust.

As explained before, the trust mechanism in the traditional transaction system works as follows: In transactions where one of the parties must fulfil their obligations before the other party, the former might prefer using intermediaries instead of purely ‘trusting’ the latter. Therefore, intermediaries make it possible for non-trusting parties to transact, in exchange of a fee or interest. However, intermediaries are humans or institutions driven by human-judgment. Therefore, they are not immune to failures and, indeed, the Bitcoin was introduced as a reaction to failure of financial institutions during the 2008 financial crisis.

Why would someone do not act in compliance with what he/she agreed on under a transaction? Human decision-making can be considered as a constant cost-benefit analysis. The reason why people transact in the first place is that they believe that the overall benefit of that transaction will be more than the overall cost. However, human judgment is not static or deterministic. The circumstances might change, and the same person might change his/her mind, choose non-compliance.

In light of above, the risk of failure can be reduced in two ways. Firstly, transactions can be made through deterministic mechanisms or intermediaries where there is no possibility of change of heart. Secondly, if complete determinism is not an option, the cost of non-compliance must be as high as possible, so the parties and intermediaries remain incentivised to act in compliance.

Where is the Blockchain technology located here? First of all, I argue that what we have here is not a total replacement of the trust but a shift of trust from intermediaries to the unconventional actors of the Blockchain technology, and, therefore, the Blockchain technology is, in fact, not ‘trustless’, not even in the narrower sense. Secondly, the Blockchain technology, depending on the structure of a given blockchain, uses a combination of deterministic structures or incentivise-based consensus mechanisms to reduce the risk of failure.

2.‘Trusting’ cryptographic algorithms

Firstly, the Blockchain technology is about storing some kind of data, which are transactions in case of the Bitcoin blockchain. We need to make sure that this data is secured properly and can be accessed and/or modified only via methods determined in the initial protocol of that specific blockchain. Cryptographic algorithms are program codes that always produce the same output for the same input. In other words, they are deterministic. Thus, there is no problem of trust here in the narrow sense.

There might be one relatively-remote security concern regarding the cryptographic algorithms. The underlying cryptographic functions, the signature mechanism based on elliptic curves and the SHA-256 used to create public-private key pairs, might seem secure for now but it does not mean that they will not be cracked down either by the continuously improving computing technologies or by some other coders who would discover bugs that are not known so far. Indeed, it would not be realistic to argue that these algorithms would be cracked overnight. However, with the coming development of quantum computing, it is considered as a valid concern that these algorithms might not resist to new developments. Aggarwal et al. argue that a quantum computer that could break the elliptic curve signature used in the Bitcoin might be developed as early as 2027 according to an optimistic estimation. On the other hand, they also argue that, due to the fact that specialised ASIC miners are extremely fast, the Bitcoin’s proof-of-work mechanism using SHA-256 is relatively more resilient to the quantum computer developments in the next 10 years.

The resilience of cryptographic algorithms is based on computational insufficiency of today’s technology. Hence the idea that these algorithms might be cracked in the future with the help of improved computer technology does not create a problem of trust in the narrow sense since it is neither unexpected nor unforeseen. However, these algorithms are placed in a code along with other rules governing a blockchain and, this code is produced by humans, which brings me to my next point.

3.‘Trusting’ the code

A blockchain is operated between a network of nodes and these nodes communicate in accordance with a set of pre-determined rules which are hard-coded in a computer code by the creator of that blockchain. As mentioned before, there are different components, algorithms, mechanisms involved but, at the end of the day, all these components are written as computer codes. In other words, ‘trusting’ any blockchain means ‘trusting’ the code bundle underlying it.

Computers do not make decision by taking different factors into account. Instead, they apply pre-determined instructions provided in a computer code and produce an output. In other words, computers and computer codes are deterministic by design. However, these codes are written by humans and a human might not be able to exhaustively foresee each and every single scenario. Thus, there might be some unforeseen, yet still deterministic cases, where a code produces unexpected outputs, which are called ‘bugs’. There might be bugs that have not yet been discovered in the code of a blockchain. This was the case in the DAO theft. Unlike cryptographic functions, most Blockchain applications are in their infancy meaning that they are not end-products of a long-term collaboration and more vulnerable to bugs.

In fact, the code acts like an intermediary or like a law. Instead of governments or financial institutions, we trust that, in the world of Blockchain, the code will govern the relationships, it will work in a way that will not require intermediaries and replace them. Accordingly, bugs in a code are just like loopholes that could be found almost in any human-made rules. Then the question here is the following: What makes the code different than traditional laws and rules in terms of trust?

The code is neither divine nor perfect. It is artificial and, therefore, vulnerable to attacks or manipulation. Laws and rules governing traditional intermediaries are not perfect either. However, these rules are drafted and accepted by following a certain process that mostly involves experts and elected officials, public discussions and, approvals from different public bodies whereas the code is mostly written in a more isolated environment by a smaller group of people whose qualities are unknown. Hence, the traditional intermediary setting is more transparent. Accordingly, in case of problem, laws and rules mostly provide with a liability regime while, in a blockchain, there might not be anyone to hold liable. Even though there are initial creators or founders of the code, they might not be held liable due to the lack of formal connection. Traditional intermediaries’ formal connections make them more expensive compared to peer-to-peer systems using the Blockchain technology. However, these formal connections also make them more accountable in the legal sense.

Another difference is the technical nature of the code. Traditional intermediaries seem irritatingly institutionalised. They look professional, competent, difficult to mess with but also procedurally exhausting and expensive. The code, on the other hand, seems easy and cheap to access. At this point, even an ostensibly well-informed decision might not actually be well-informed. Not being able to see how it works but also seeing how easy to work with it might make the code attractive to people without showing them the potential downsides However, it also makes these people vulnerable to the problems that could arise from the code. Technical nature of the code might prevent people from really understanding the risk and making a well-informed decision.

To sum up, the code might provide innovative and flexible tools for new properties such as security, verification and traceability, but the code is also non-transparent, non-accountable and difficult to understand. The code is deterministic, but it is created by humans. Thus, depending on the quality of the initial code, the trust issues might come into play through the abuse of bugs. However, the code has one more component that might embrace the human judgment and significantly underlie its deterministic nature.

4.Trusting consensus mechanisms

Consensus mechanisms used in the Blockchain technology aim to create a single version of ‘truth’ following some rules that mostly involve different participants. Trusting a blockchain means trusting this single ‘truth’ and participants involved into the creation of it. According to the Bitcoin’s consensus mechanism, the proof-of-work, the ‘truth’ is what is agreed on by the miners in the network. This brings the question of vulnerability in case there are adversary miners in the network.

As explained above, adversaries might perform different attacks to the network. There is no full-proof way to prevent these attacks. Some are prevented by relatively resistant cryptographic mechanisms and some are dependent on the optimistic idea that other participants will play the game by the rules. Though the reward mechanism like the one implemented in the Bitcoin gives miners a reason to act honestly, there is no guarantee that miners will not find a way to cheat the system and benefit even more than they could by collecting rewards. In other words, the participants must rely on other miners, or at least on the majority of miners, to act honestly, which is the very same trust issue that was claimed to be solved by the Blockchain technology.

Additionally, different perspectives might affect even the decision of honest miners, which was the case in the DAO theft. During the DAO theft, the fork was caused by the disagreement between honest miners. The theft had been conducted through a bug in the code of the DAO. Some argued that this is legitimate as it is allowed by the code, which is must be considered as the law. Others argued that this is a theft and it must be reversed. The dilemma here was that reversing a transaction would underlie the ideological standing of the Blockchain technology and make it almost the same as the ordinary intermediation process whereas not doing anything would create an intense and uncertain legal conflict between the DAO and investors since they were preparing to bring a legal action. In that particular case, the majority had chosen to reverse the history and return the funds. Instead of pre-determined rules, a decision made by humans based on ideological standing, the so-called immunity is proven to be wrong and, there was not any recourse available to opposing group. All people who invested into the Ethereum blockchain were left to a non-objectionable decision taken by the majority of the miners, not all stakeholders.

It might be argued that consensus mechanisms are secure, transparent and deterministic; and every single person who invest into a blockchain-based system implicitly give his/her consent to consequences of that blockchain’s consensus mechanism.There are two important problems with this reasoning. Firstly, investors’ decision to invest might not be a well-informed one, and, secondly, the consensus mechanism might produce a different result than the coders initially have foreseen.

In light of above, along with the code, the consensus mechanisms significantly damage the deterministic nature of the Blockchain technology and revive the risk of unexpected behaviours, which creates a problem of trust.

5.Conclusion

Blockchain technology brings some deterministic elements that could be claimed as ‘trustless’ such as the cryptographic algorithms and, partially, the code. However, the code is created by humans that might not be able to foresee all potential scenarios and, by doing so, it might lead to unexpected outcomes. Additionally, the consensus mechanisms rely on the decisions of participants which are human. As the DAO case demonstrated, the human judgment which is the core of the problem of trust could find its way into the Blockchain technology. Therefore, the Blockchain technology does not solve the problem of trust but it shifts the trust from the traditional actors to the unconventional actors, such as the code and the miners.