The Fictitiousness Of The Consensus Algorithm, The Failure Of Decentralization, And The Emergence Of Nonblockchain (The content is very long. Pre-scrolling is recommended.)
The Fictitiousness Of The Consensus Algorithm, The Failure Of Decentralization, And The Emergence Of Nonblockchain (The content is very long. Pre-scrolling is recommended.)
The blockchain is operated based on a plurality of nodes configured in a P2P method. Countless transactions are submitted moment by moment from clients all over the world towards countless nodes spread all over the world. The results of these transactions are recorded on all nodes, and in particular, the contents should be the same overall. In order to realize this, the rule that all nodes must follow is the consensus algorithm. To describe it more conceptually,
It can be defined as a method in which a specific node is selected by a certain rule, especially by the decentralization principle, the selection and execution order of transactions is determined by the selected node, and other good willed nodes independently verify and execute the contents of individual transactions and store them in their database.
As such, consensus algorithms can be clearly defined. However, many people are misunderstanding this definition.
2. the subject of consensus
There is a serious misunderstanding about it. 99% of the general public misunderstands this point, and most of the DApp programmers who have not built the mainnet themselves are misunderstood or ambiguous. This is even shown on Ethereum's official website. There is no understanding of the definition of the consensus algorithm mentioned above or it is ambiguous.
The fundamental cause of this problem is the illusion about the subject of consensus. In short, even though the content of the transaction, that's, the authenticity of the author is not a subject of consensus, it is often mistaken. The only subjects of the consensus are the selection of transactions and the order in which they are implemented.
A. the contents of the transaction (exactly, the authenticity of the author)
The transaction that "A sends 1ETH to B" is electronically signed with a private key and deployed to the blockchain network. The authenticity of the transaction creator is judged by each of all P2P nodes. It doesn't get help from anyone outside, and it doesn't ask anyone outside. However, most ordinary people and surprisingly many DApp programmers mistake the authenticity of the content or the author's authenticity as the subject of consensus. However, this is not the subject of consensus, but of anti-consensus. A famous pharase about this is the following:
"Do not trust. Verify!"
As a result, even if all other nodes in Ethereum conspired to forge the transaction and store it in the database, the honest node does not care about it at all and verifies the transaction by itself and stores it in its own database. And new nodes joining afterwards will follow the honest node.
B. Selection and execution order of transactions
These are the genuine subjects of consensus. No more, no less. Not all transactions submitted to the blockchain are selected, and the selected transactions are not executed in the order in which they are submitted. This is because it is theoretically impossible as long as the concept of a block of finite capacity is premised. Therefore, there arises a problem of deciding how many transactions to accept in one block and in what order to execute them. It is the problem of the consensus algorithm and, in itself, this becomes the definition of it.
i. Selection of Transactions
For example, assuming that suddenly one billion transactions are pushed in one second, it becomes impossible to put them in one block. Therefore, we have no choice but to choose some of them. In this case, most mainnets collect transactions in the order of high gas prices and put them in blocks. Therefore, even transactions submitted first in time may not be included in the block if the gas price is low. They also run later than other transactions with high gas prices even if they are contained in blocks.
For reference, the existing centralized system solves this problem by creating a queue. So even if a billion transactions suddenly hit in a second, it can theoretically accept and process the whole transactions.
ii. Order of execution of transactions
This is also usually determined based on gas prices. Maybe all the mainnets are doing that and I've never heard of that exception. In this case, it is natural that the possibility of manipulation occurs. The answers of existing blockchain protocols to this are as follows.
"Code is Law"
It means that you are responsible for not checking the law in advance. This is simply an irresponsible attitude. For example, if an incompetent legislator incorrectly entered the amount of parking fines and added another zero, the legislator is not at fault and you are an idiot for not checking the law. This is the current state of the blockchain. In the DAO crisis, the law was eventually forced to be revised. Now it should be:
"Law is Code"
The order of execution of transactions must be in the order in which they were submitted. At least they should try to do that. However, the existing mainstream platforms insist that the current gas price auction system is the right way, offering only poor excuses. Of course, everyone knows that it is a lazism.
3. The Birth of the Block Concept
As described above, the current consensus algorithms have a fundamental problem. Nevertheless, the reason Satoshi and Buterin adopted this method was to make "centralized" manipulation impossible in the selection and execution order of transactions. That's, they sacrificed the general principle of pre-submissionism to pursue decentralization.
By the way, in order to pursue decentralization in the Satoshi sense, the order of selection and execution of transactions must be determined by a node rather than a specific node. However, if countless clients submit their transactions to a myriad of nodes, the unity of the overall database will be broken if the transactions are executed in the order submitted for each node. Therefore, he was forced to seek ways to select and order transactions by any random node and to allow other nodes to accept them.
To this end, it is needed to establish rules on who will make decisions on selection and who will follow them. As selected by a duly elected selection decision maker, other nodes follow it and execute each transaction and store it in their own database, thereby maintaining the overall database uniformity.
It was the POW that Satoshi came up with as a way to determine who has the authority to make the above selection decision. That means that the person who solves the high-level math problem the fastest will be given the right to decide on the selection of transactions. However, in order to do this, you need time to solve math problems. And during that period, the transaction queue is accumulated. At this point, Satoshi came up with the concept of the very block.
It is the miner who succeeds in solving the math problem. Satoshi established a rule that the miner selects all or some of the transactions accumulated during the period of solving mathematical problems, puts them in one block and executes them, and all other nodes follow the rules. The block concept of blockchain was born in this context.
4. Limitations of the meaning of decentralization in blockchain
As such, the block concept emerged as a methodical element to make it impossible to manipulate in the adoption and order of execution of transactions. It was the best way within the limits of Satoshi's intelligence. The reason Satoshi adopted the block concept was, of course, to achieve the idea of decentralization despite innumerable problems such as the execution delay of transactions during the block generation time, the reversal of the transaction execution order, and uncertainty of being selected in the block. Satoshi believed that decentralization would be guaranteed if a node was selected from among the innumerable good willed nodes spread around the world and those nodes determined the selection and execution order of transactions. And he thought that if only the decentralization was guaranteed, he could endure a number of problems caused by block generation.
If so, it is necessary to calmly examine the advantages of the decentralization compared to the centralization system at the expense of such considerable costs. For this, it is good to make a comparison. In other words, it is assumed that there is one centralized node and that this node determines the selection and execution order of transactions, and other nodes follow suit. Next, the decentralization system is compared with this.
First, there is no difference in the content of the transaction, whether it is a centralization method or a decentralization method. This is because forgery is impossible. Thus, the transaction in which A transfers 1 Bitcoin to B works exactly the same on these two systems and is also stored in the database in the same way. It is also impossible for the centralization system operator to produce the above manipulated transaction from the beginning, and both systems are the same in this respect.
However, there are differences between the two systems in the selection of transactions and in determining the order of execution. The problem is that it is necessary to examine whether the difference is essential or relative. Speaking from the conclusion, the difference is only a relative difference, and in particular, in terms of fairness, that is, prevention of manipulation, it can be said that there is nothing better than a centralized system in a decentralized system. Let's look at this in detail.
The manager(X) of the centralized system can arbitrarily manipulate the selection and execution order of the first transaction in which A transfers 1 Bitcoin to B and the second transaction in which A transfers 1 Bitcoin to C. So if X hates B, loves C, and A's current balance is 1 Bitcoin, X can make the 1 Bitcoin, which is normal to be transferred to B, be transferred to C by manipulating the order of transactions or omitting the first transaction at all.
Satoshi was aware of the above problems, and as a countermeasure, he studied how to empower "random" node operators to decide the selection and order of execution of transactions, the result of the study was mining, and the concept that arose as an inevitable result of the mining was the block finally.
At first, it seemed that Satoshi's idea could be realized without obstacles. If there are innumerable nodes and an "arbitrary or random" node operator determines the selection and execution order of the transaction, it can be admitted that virtually no one can manipulate it. However, the reality did not go as Satoshi thought. The first typical situation was the emergence of the mining king in China. He was able to exert the power of the operator of a centralized node to some extent based on the enormous hash power. And most of all, the critical scene was the DAO incident. Ethereum Foundation and a series of sympathizers have artificially manipulated the selection and execution order of the transactions to generate an artificial fork. Since then, countless artificial forks have been implemented in the blockchain ecosystem. As a result, Satoshi's logic of decentralization has virtually collapsed. As an inevitable result, the block concept has now fallen into a relative rather than an absolute concept in the blockchain.
In fact, even if it was not the Chinese mining king or the DAO crisis, there was always a possibility of manipulation by "arbitrary" node operators. That is the case when a node operator is preparing to manipulate at that time in case he succeeds in mining. If he prepares manipulated codes and allows the codes to be executed when he succeeds in mining or is selected as a validator, he can manipulate them. For example, with simple code manipulation, it is possible to change the selection and order of execution of transactions in a low rather than high order of gas prices.
As such, decentralization through mining and blocks was originally an incomplete method. It was not a digital but an analog concept. That is on a different level from the absolute concept of the impossibility of forgery by electronic signature. And this result applies equally to POS. Whether the stake is large or small, a node operator can manipulate the selection and execution order of transactions as long as he is selected as a validator. But the problems don't end here. It's time to ask a more fundamental question.
Is it reasonable to fundamentally determine the selection and order of execution of transactions based on gas prices? To say the conclusion in advance, it is a manipulation in itself. It's nothing more and nothing less than to benefit someone who has offered more bribes. Let's look at it in detail.
In general, it is right to execute the transaction received first. For example, no matter how much remittance fees are offered to a bank, it never changes the remittance order. Because it is a principle of nature to process remittances in chronological order. There is no reason to treat this principle differently in blockchain. Therefore, if the order is to be reversed, a corresponding unavoidable reason must be presented. Satoshi's answer to this is as follows.
"By extracting transactions in the order of higher gas prices, the platform can prevent infinite repetitive attacks."
This is not a reasonable presentation. This is a simple security issue and a topic unrelated to decentralization. That's, it is not an issue to be considered in the stage of building the core of the blockchain. That should be considered once the essential structure of the blockchain is completed. In other words, in the core stage, it is right to complete the basic structure so that the transactions are executed in chronological order. Therefore, the infinite repetition attack problem should be considered in the process of considering various secondary problems of the basic structure that has been completed primarily. In the process, it is the right programming mindset to devise and install a new appropriate additional device separately. Also, such a device is easily conceivable. For example, you can find a lot of great methods even at the level of common sense, such as conducting transactions in chronological order, receiving costs in terms of security rather than gas, and returning them if there are no problems later. Unfortunately, it is assumed that Satoshi did not have time to come up with such an idea. As a result, the gas costs were forcibly inserted into the core part of the blockchain under the wrong name. That's, the security costs were inserted under the name of gas costs. The aftereffects of Satoshi's decision on subsequent blockchains were severe.
In conclusion, Satoshi's decentralized method could not achieve its original purpose. The selection and execution order of transactions could be manipulated, and more fundamentally, determining them based on the gas prices is just manipulation in itself. The gas cost priority policy is an unusual manipulation against the common sense that the transaction received first should be implemented first, and the reason for that manipulation was also poor.
In conclusion, it is inevitable to raise fundamental questions about Satoshi's decentralization method, that is, the block method itself. This is not just an issue for Bitcoin, but a problem for Ethereum and all other blockchains.
5. Disappearance of the block
If all transactions can continue from beginning to end without manipulation and the database can be stored equally on all nodes, the purpose of the blockchain is achieved. A curious result emerges here. That is the fact that the concept of a block is not necessary to achieve that purpose. In addition, the fact that none of the existing blockchains achieved the essential purpose of the blockchains mentioned above perfectly, at least satisfactorily, makes us surprised. That means that the block is a failed concept.
As shown by the comparison of the two systems above, it cannot be guaranteed that the decentralized P2P system of Satoshi or Ethereum has special advantages over the centralized P2P system. Instead, by adopting a centralized system, but strengthening the devices that control the central main node to prevent abuse of authority, it is possible to make a more fair and unmanipulatable system than the existing decentralized system. For example, a main node temporarily monopolizes the selection and execution of transactions and is forced to select and execute transactions in chronological order. Then, the other nodes monitor it constantly, and if it operates against principles, disqualify it and appoint one of the other standby nodes as the main node.
In any case, both centralized P2P and decentralized P2P cannot manipulate the contents of a transaction. That's, both methods already have solved the Byzantine General Problem. The remaining issues are of what to select and how to set execution order, but rather, a centralized system can operate them more fairly. The transaction submited first is executed first, and the gas costs may not be received. At last we come to a final conclusion. The concept of the block is removed.
As long as the transactions are executed in the order submitted, there is no reason to divide and put them in blocks. This is no different from executing transactions in chronological order received by banks or credit card companies. They no longer need the concept of blocks.
The concept of the block was only Satoshi's desperate measure, and it is by no means a logically necessary concept to achieve the purpose of the block chain. And the most important fact is that it is desirable to remove the concept of a block as much as possible. Therefore, it comes to the conclusion that the block concept will eventually disappear. The only thing that remains is the transaction chain. Now, the blockchain must be renamed the transaction chain, which will revolutionize the blockchain ecosystem.
6. The Appearance of Nonblockchain
At least it is possible to remove the concept of blocks while maintaining the current level of fairness of decentralization in Bitcoin or Ethereum. More precisely, it means that there are theoretically infinite ways to eliminate the concept of the block to improve the selection and execution order of transactions while securing fairness beyond the current level of the fairness of decentralization in Bitcoin or Ethereum.
Then, what will the consensus algorithm look like if the block concept is actually removed? First of all, the chain is made up of only transactions. This transaction chain also has no fear of forgery, at least in the content of the transaction. As long as P2P is the premise, there is no fear of forgery or falsification of the contents of a transaction, whether it is on a centralized or decentralized system. If so, the only thing left is the selection and order of transactions. Who will decide them? This means going back to the point when Satoshi created Bitcoin.
Based on experience over the past 15 years, Satoshi has failed on this issue for now. Therefore, we must return to Satoshi's initial starting point, even if we don't like that. And we have to start over from scratch. What needs to be observed here is one thing, and that is enough. That's, the level of fairness must be above the current level of Bitcoin or Ethereum. Complete fairness is impossible. It's not impossible in theory, but it's practically impossible unless an innovative new technology like RSA emerges.
The easiest thing to think about is appointing a main node. In appointing the main node, the status may be endowed permanently or only temporarily. The most appropriate answer will be somewhere in the middle of the two. It is virtually impossible to appoint and replace the main node only temporarily, i.e., only once for each transaction. Satoshi was confronted with this very problem. At that time, Satoshi imagined the concept of block, and from this, blockchain was born, and 15 years later, it was confirmed that the concept of block was a failure.
In this case, the most common sense that can be thought of is to appoint a main node under a certain standard and constantly monitor it. As a method, you may use the platform's own code or you may use a smartcontract. And if manipulation or laziness of the main node is detected, a method of replacing the main node automatically or by poll is introduced. Even at this level, the fairness is not inferior to the former Chinese mining king or specific foundation-led artificial fork creation. Above all, this method has the advantage of being able to set the operating standards in advance in a smartcontract. As a result, arbitrary fork generation is fundamentally blocked. This is because the fork generation principle itself that other nodes follow the longest blockchain has been removed. Then, it can be said that it is relatively more fair than the existing decentralization system.
In the end, that can be called Proof Of Democracy (POD). Decentralization, which is less fair than POD, is no longer decentralized. Eventually, the religion of decentralization also collapses. Many people still believe in this myth. It is superstition. Because there is no technical basis. The trustlessness has a technical basis called a electronic signature. However, there is no such definite technique for the permissionlessness, an essential element of decentralization, as demonstrated above. The block failed. The decentralization has failed in both theoretical and practical ways.
Therefore, in this situation, calling for decentralization is nothing more than calling for it as a simple ideology. It is no more than a cry for 19th-century anarchism. Decentralization without technical support is nothing more than a mere cry of ideology. In reality, POW and POS are also fundamentally operated under the control of POD. They are no longer decentralized things. Let's look more specifically.
POW is not a mining certification method but a mining manipulation method, as can be seen from China's mining king. POS is also only a method that can be manipulated by stakeholders. There is currently no technology or method to prevent the manipulations. The DAO crisis and the numerous forks that have been conveniently attempted since then only prove that the blockchain is accepting democracy its ultimate bastion. That is, it may be seen that the POW or POS is only a kind of POD at present. In other words, all existing consensus algorithms are PODs. Pure decentralization independent of democracy does not currently exist. Therefore, the method of selection and ordering of transactions can only be explored based on POD at present.
7. Advantages of nonblockchain
Satoshi's block ended in failure. However, it has since become the standard for all blockchains. Most blockchains fundamentally do not deviate from Satoshi's basic framework. Eventually, all of them disappear or remain only for museum use. Personally, Bitcoin's block will survive forever. On the other hand, Ethereum is very unstable. There is absolutely no reason to maintain the block concept in the Ethereum camp. Ethereum's attempt to maintain the current block concept is an obvious long-term impossibility.
Nonblockchain has many advantages.
Once you can stick to the principle. That is, transactions may be executed in the order of reception or submission. As in the previous example, if the tree method with the main node as the top is applied, transactions can be executed in the order received by the main node. Furthermore, all transactions can be accepted without omission. This is the same as the queue concept in a general computer OS. There is nothing special.
The nonblockchain would normally adopt a tree structure. Of course, in preliminary, the horizontal P2P method of the current blockchain may be adopted as an auxiliary method. It depends on the mainnet developer's choice. Anyway, if the tree structure is adopted, it can boast the fastest speed theoretically. There can no longer be a rapid structure.
The nonblockchain does not require a concept such as gas price to determine eligibility to be included in a block because the concept of a block does not exist in the first place. It is enough to accept and implement. In fact, the gas costs of existing blockchains are virtually irrelevant to the node's operating costs. This is because the execution of transactions and the storage of data are performed in all nodes, but the gas costs are only probabilistically paid to miners or validators. To be exact, gas costs should be distributed fairly to all nodes. In this respect, the existing gas cost system is extremely unreasonable. Instead, it is desirable to institutionalize a separate method of payment of operating expenses newly, and that is possible, but that will not be specifically mentioned here.
The real purpose of existing blockchains collecting gas costs is not for operating expenses. The mining rewards are sufficient to pay operating expenses. In fact, the real purpose of the gas costs was security costs. This is being confessed by Ethereum's official site.
"In short, gas fees help keep the Ethereum network secure. By requiring a fee for every computation executed on the network, we prevent bad actors from spamming the network. … "
The nonblockchain collects security costs, not gas costs. If malicious intent is not positively recognized due to the review, the collected gas costs will be returned. In this way, the security cost may be set high enough without resistance. Eventually, by returning the gas costs, they become zero.
As described above, the advantages of the nonblockchain are considerable, and there are no theoretical or practical obstacles to its adoption, so of course, the existing block concept must be discarded, and a system consisting only of a pure transaction chain will inevitably emerge.
The nonblockchain consensus algorithm is bound to be POD for the time being. For now, we have no choice but to wait for the emergence of consensus algorithms that can achieve decentralization in the true sense by a genius who will appear someday. Until then, it will only be in the form of a POD.
The block was just Satoshi's impromptu idea. The necessity for hashes to be contiguous is only between transactions, not between blocks. As a result, the name of the blockchain itself is meaningless. The blockchain is only one method proposed by Satoshi to realize the ideology of the transactionchain. The block is not the truth. The block concept was only one of the myriad ways to realize the transactionchain, and it has now reached the point of disposal. The Byzantine General Problem was not solved by Satoshi but was just a problem that had already been solved by cryptography. It was the electronic signature.
Looking inside the blockchain at the current stage, there are no particularly remarkable technologies other than the electronic signature. Other technologies are only those that have already existed or can be developed by ordinary programmers. It is absurd to try to achieve decentralization with only such poor equipment. In other words, the crypto world at this stage does not have the ability to realize the ideals of blockchain. As an inevitable result, the consensus algorithm cannot go beyond POD. This is the reality of today's blockchain.
But the spirit of commercialism wants to hide these limitations. On the other hand, glorify the block. To this end, they feature the emperor's new clothes. The representative clothes are Ethereum's future plans.
The complexity of this plan is indescribable. The complexity was all caused by the concept of the block. These are temporary complications that will all disappear when the block concept is removed or at least a fundamental platform that heals the problems appears. For the time being, of course, they are successful in dazzling people.