How Not to Be Fooled by the Word "Blockchain"

Published on December 1, 2016

How Not to Be Fooled by the Word "Blockchain"

In recent years, as the virtual currency Bitcoin has drawn attention, the blockchain technology that underlies it has also drawn attention in the financial industry. However, as a result of the word "blockchain" itself becoming a buzzword, it looks as though various finance-related companies have started getting involved without understanding it correctly. And since the technical details almost never come to the surface and few people offer criticism, I felt there was a problem and wrote this article. I hope to sort out what blockchain can and cannot do, so that everyone can offer deeper critiques of blockchain articles in the future. I am not a blockchain expert, so I expect there are some mistakes, but if you find any I would appreciate it if you could contact @imos. I will correct them as appropriate.

Background

What is a blockchain?

A blockchain is a mechanism that records transactions by bundling several uncompleted transactions into a unit called a "block" and appending it to the end of the transaction history (connecting the chain) together with a proof of the block's validity. Participants verify the validity of blocks and the contents of transactions, and if there is an invalid transaction (such as withdrawing more money than is in the account), they ignore the addition of that block and wait for the addition of a block that contains only valid transactions. As a result, only a correct transaction history that has obtained the agreement of a majority is maintained as a whole.

The relationship between blockchain and Bitcoin

Bitcoin is a virtual currency built on top of blockchain technology, and it is one of the few practical examples of a blockchain. In Bitcoin, the generation of the key needed to add a new block is set to a problem so difficult that it takes all participants about 10 minutes of computing at full power to finally solve just one. Because adding a block yields a reward of about one million yen each time, participants compute in earnest, and the right to add a block is not easily obtained. For a malicious participant to intentionally rewrite an existing block (especially an old block), they would need to perform an enormous amount of computation at a speed exceeding the combined computing speed of all participants in order to gain the right to add a different block, and because this is effectively impossible, among other reasons, Bitcoin's transaction history is said to be tamper-proof (unrewritable) and trustworthy.
(* I leave a more detailed and accurate explanation to How Bitcoin Works.)

Moves to use it in the financial industry

A public blockchain that an unspecified large number of people can participate in, like Bitcoin, requires an incentive (such as a monetary reward) that makes many good-faith participants want to join, so it is not well suited to applications at companies and the like. Therefore, there are moves to use a private blockchain with a limited set of participants in the financial industry. However, many of the advantages commonly cited for blockchain are obtained through consensus formation among a large number of participants, and there is a problem that, despite trying to develop a private blockchain, many press releases set as their goal things that cannot be achieved or guaranteed with a private blockchain.

Overview

Blockchains can be divided into public blockchains (also called open or permissionless), such as Bitcoin, and private blockchains (also called closed or permissioned), which are based on that idea but made realizable with a limited set of participants (nodes). However, these have quite different properties and need to be considered separately.
Because a public blockchain can be used by an unspecified large number of people, ensuring its security requires enough good-faith participants that malicious participants cannot overturn the situation, and to achieve that requires an incentive to participate. Therefore, applying it to anything other than a virtual currency such as Bitcoin is extremely difficult. There is also a virtual currency project called Ethereum that actively tries to apply the fact that information other than transactions can be placed in transaction data, so it is not that there is no room for research in public blockchains. But when applying Bitcoin there are structural problems such as "transactions are visible to anyone" and "finalizing a transaction takes about 10 minutes to several tens of minutes." There are also scalability problems that currently exist, such as "transactions currently incur a fee of about 0.5 yen, which rises as transaction volume increases," "due to specification constraints, it can only stably process up to 7 transactions per second worldwide," and "transaction contents must be stored permanently by everyone, putting pressure on storage (about 500 bytes of data must be managed per transaction, and the total transaction information, which already exceeds 90 GB, is managed by more than 5,000 people)." On the other hand, thanks to participants computing at full power (also called mining), Bitcoin has the major characteristic that maliciously tampering retroactively (creating a different history at a faster speed) is very difficult, and it is easy to prove that something did not happen. That said, in the past the Ethereum developers rolled back the Ethereum blockchain in line with the community's consensus, so tampering is not entirely impossible either.
Because a private blockchain ensures security on the premise that only nodes specified in advance connect, it does not in principle allow a third party to confirm the transparency of transactions (even if it were built at first to be referenceable from the outside, since it is self-contained privately, it is not impossible to make the blockchain itself non-public partway through). Fundamentally, it has no characteristics that differ from a state in which all transaction records are kept in an existing distributed database (for example, Oracle Database) (one could also think of a private blockchain as one way to implement a distributed database). The only thing that may be superior compared to an existing distributed database is that, as a result of sacrificing the immediacy of settlement, the mechanism for reliably forming consensus in a short time, which requires advanced theory and technology, becomes unnecessary, making the implementation simple.
Things that cannot be done even with a blockchain, or that are not unique to it, include:
  • Because a new block is not generated instantly, you cannot know immediately whether a transaction is complete. And even if a block is generated, it may be overturned until enough time has passed, so it takes time until the reliability of transaction completion is raised sufficiently.
  • You can generate a transaction request offline, but since the success of a transaction is not guaranteed until it is recorded on the blockchain, strictly speaking you cannot make offline transactions.
  • Because every node needs to verify the transaction results, there is no element in the blockchain itself that makes it fast.
  • Because a blockchain by specification needs to keep a record of transactions on all verification nodes, a system with strong fault tolerance is produced as a side effect, but the same fault tolerance can be obtained with an existing distributed database by similarly keeping a record of transactions.
  • Because every verification node holds a record of transactions, you cannot increase the number of transactions and the number of verification nodes at the same time.
  • The reason transactions cannot be forged is not due to the blockchain, but due to digital signatures.

On the December 2016 issue of the IPSJ Magazine

The December 2016 issue of the Information Processing Society of Japan (IPSJ) Magazine featured a special section on blockchain, so I will use it to think about how one should read blockchain articles.

Special Feature 0: On editing this section

Special Feature 0 is the introductory part, and (aside from the fact that it pushes artificial intelligence rather than blockchain) there was nothing particularly of concern.

Special Feature 1: The basics and development of blockchain

The first half is an explanation of how Bitcoin works, and there were no questionable points. However, the second half was about the possible uses of blockchain, and there I had several questions about the superiority claimed for blockchain.
Considering blockchain's forgery resistance and openness, "things that do not require much confidentiality but must not be forged" and the like will become candidates for consideration. For example, there are registrations and business establishment registrations performed by public institutions.
Bitcoin's forgery resistance is due to digital signatures, and for the uses of registrations and business establishment registrations performed by public institutions, the blockchain has no superiority. For example, an "SSL server certificate" is an existing technology that uses digital signatures to prove whether a server on the Web (the HTTPS protocol) is trustworthy, and applying this to uses such as business establishment registration is possible, since the mechanism is almost identical to server certification.
Focusing on fault tolerance, it would be good for use in systems where a stoppage would have a large impact.
The fault tolerance that comes from multiple nodes holding replicas exists similarly in existing distributed databases, and cannot be said to be a superiority of blockchain. When using a private blockchain, just as with a distributed database, the tipping point for a failure is whether a majority of nodes are alive, so there is no superiority. When using a public blockchain, by its nature you need to tolerate a write delay of about several tens of minutes to an hour, and if you are going to tolerate that, a service with higher fault tolerance could be provided on an existing cloud service.

Special Feature 2: Dialogue — What is the scene of Bitcoin Core development like?

This is a dialogue with a Bitcoin software developer, and there were no particularly questionable points, but I was concerned that they were negative about rewriting from scratch.
(Interviewer) Wouldn't it be easier to rebuild from scratch?
(Developer) No, that is dangerous. The distributed nodes may fail to agree and diverge, which is hard to verify.
If the verification nodes for Bitcoin transactions lack diversity, there is a possibility that a consensus differing from the intended specification is formed due to malicious code or bugs, and one cannot rule out the possibility that, once something invalid gets mixed in, the entire block becomes untrustworthy. Of course, a divergence is a serious problem because transactions cannot continue until it converges, but since there is a mechanism by which short blockchains are weeded out, it does not completely collapse.

Special Feature 3: The front line of Bitcoin improvement proposals

This is an introduction to improvement proposals for parts of Bitcoin unrelated to the blockchain, so I will skip it. The first half is an explanation of "Merklized Abstract Syntax Trees," the idea being that even for a transaction with complex conditions, if you express it in the form of a hash tree, you can express the transaction by writing only the ultimately necessary conditions into the block, saving storage. The second half is an explanation of "Compact Block Relay," the idea being that since most unsettled transactions should already be shared, you avoid resending them when a new block is decided, saving transfer volume.

Special Feature 4: The Hyperledger Project

This introduces the distributed ledger technology project managed by the Linux Foundation (the Hyperledger Project). I was concerned that, while it wrote that a public blockchain is necessary and otherwise difficult for corporate use, the explanation of distributed ledger technology in the first half was mainly about characteristics that would become possible when a private blockchain is realized. The second half introduces the projects, but since none of them have fully launched and cannot yet be discussed sufficiently, I will skip the introduction here.
Distributed ledger technology, including blockchain technology, is a data management mechanism that has no central administrator and is difficult to tamper with.
The superiority of a permissionless distributed ledger is that, because there is no central administrator, it becomes a system that is difficult to censor. However, as is, it has many drawbacks and is often not suited to solving society's needs. (Omitted) From these considerations, permissioned distributed ledger technology is drawing attention as the most suitable for enterprise use.
Despite defining "distributed ledger technology including blockchain technology" as "a data management mechanism that has no central administrator and is difficult to tamper with," it says that the "permissionless distributed ledger," whose superiority is that "there is no central administrator," is "often not suited to solving society's needs," and that the "permissioned distributed ledger technology," which lacks that superiority, is "the most suitable for enterprise use." There is a problem in that, despite making the absence of a central administrator part of the definition, it ends up saying that a structure with a central administrator is necessary for practical use.

Special Feature 5: Constructing collective intelligence through electronic voting using a blockchain distributed ledger

We clarify that "blockchain" is superior to electronic voting systems realized with conventional database technology.
This is about applying THE blockchain (the blockchain on which Bitcoin transactions take place) to an electronic voting system.
The requirements for an ideal electronic vote are as follows:
(1) Verification of voting eligibility and identity confirmation (2) Uniqueness of the vote (prevention of double voting) (3) Accuracy of the vote contents (4) Immutability of the vote contents (5) Verifiability and traceability of the vote contents (6) Reliability of the system itself (7) Confidentiality of an individual's vote contents and method (8) Flexibility (multiple voting methods can be chosen) (9) Convenience (no information literacy required) (10) Testability (voters can verify the specification) (11) Transparency (visualization of the entire voting process) (12) Reasonable system operating costs
(2), (3), (5), (6), (10), (11), and (12) can be realized through "symmetric decentralized management auditing," a characteristic of THE blockchain. Also, (4) can be realized through "absolutely neutral irreversible recording."
If an electronic voting system based on conventional database technology is adopted, it is effectively impossible to realize (2), (3), (4), (5), (6), (10), and (11) in an electronic voting system that does not assume a "trusted third party."
When conducting an electronic vote, a trustworthy organization needs to select who is allowed to vote. Otherwise, one person could vote while pretending to be multiple people and no one could confirm it, so a method using a blockchain also breaks down. Therefore, this argument has the problem that conventional database technology is unfairly placed in a restricted state. If we take conventional database technology to mean "voters attach a digital signature to a digitally signed voting certificate sent by the government office and write it to a public server (a service such as a bulletin board is fine)," the superiority of blockchain almost disappears.
  • (2) Uniqueness of the vote (prevention of double voting) … This can be realized by using the combination of the government office's digital signature and the voter's public key.
  • (3) Accuracy of the vote contents … This can be realized with digital signatures.
  • (4) Immutability of the vote contents … Once a voter digitally signs and writes to a public server, others can also verify that they voted, so the vote contents become unchangeable.
  • (5) Verifiability and traceability of the vote contents … Whether it is recorded can be confirmed by whether it exists on the public server.
  • (6) Reliability of the system itself … This depends on the reliability of the public server, but the availability when using multiple cloud services is considered to be higher than using the Bitcoin network.
  • (10) Testability (voters can verify the specification) … It is merely tallying the recorded digital signatures, so re-verification is easy.
  • (11) Transparency (visualization of the entire voting process) … Transparency can be ensured by writing to a public server.
  • (12) Reasonable system operating costs … Bitcoin's transaction fees are set low, but that is only because they are ignored due to the small transaction volume, and since data must be stored permanently, Bitcoin is ultimately considered to cost more.
Also, on a fundamental level, since the Bitcoin network can only process up to 7 transactions per second worldwide, it is impossible to realize. For example, the number of votes in the 2014 House of Representatives election was about 55 million, and if Bitcoin's specification were not changed, voting would take at least 90 years.

Conclusion

None of the articles declared outright that blockchain has a promised future, and they were in agreement that nothing other than Bitcoin has yet reached a practical stage, so they did not seem to say anything extreme. Since there are almost no articles in the world that touch on the technical side of blockchain, they were valuable material, but I got the impression that they were inaccurate in that they did not distinguish between public blockchains and private blockchains, and treated characteristics obtained through digital signatures as characteristics of the blockchain.
Personally, I think the simplicity of implementation has sufficient value, so I would like it to be used as needed, but I have concerns about the recent situation in which various companies appear to be getting involved without understanding it correctly.