Opinion: Why is IBM's blockchain not a true blockchain?

Translation: First Class (First.VIP)_Maggie

Source: first class warehouse

The original author, Stuart Popejoy, has 15 years of experience in establishing a trading system for the financial industry. Prior to co-founding Kadena and becoming president of the company in 2016, Stuart worked in the new product division of JP Morgan Chase, leading and developing Juno's main blockchain product, Juno. Stuart also wrote an algorithmic trading script for JPMorgan Chase, which provided information for his creation of Kadena's simple, purpose-built smart contract language Pact.

IBM and Hyperledger Fabric

IBM is a major player in the enterprise blockchain space, offering a blockchain platform based on Hyperledger Fabric and launching blockchain trials with large companies such as Wal-Mart and Aetna.

IBM, one of the many contributors to the Hyperledger Foundation, a non-profit open source organization (including recently announced Microsoft and Salesforce), has invested heavily in promoting Fabric as a private or "licensed" blockchain, which means it offers and is well known. The blockchain (such as Bitcoin or Ethereum) has completely different functions, while somehow removing any aspect that may be "not applicable to the enterprise."

However, the so-called "blockchain" technology that IBM actually promotes and calls (the Hyperledger Fabric) actually sacrifices the most important functions of the real blockchain, whether it is a licensed blockchain or a public blockchain. Fabric's architecture is much more complex than any blockchain platform, and it is less secure against tampering and attacks. You might think that a "private" blockchain will at least provide scalability and performance, but Fabric doesn't. In short, any build on the fabric will be complex and unsafe and cannot scale with the size of the business.

Blockchain options on the market

When I was working at JPMorgan Chase in 2016, I led an emerging technology team that researched and reviewed the blockchain to understand the bank's potential uses and strategic investments. This involves an in-depth analysis of earlier versions of Hyperledger, Axoni, Symbiont, Ripple and Ethereum. It was clear at the time that the blockchain options on the market were not technically sufficient for practical enterprise use cases. Unfortunately, we saw the same problem today in the Hyperledger Fabric.

The questions raised at the time included: How can the intelligent contract language of the blockchain safely and simply express complex business rules? How to ensure that the public key signature is valid? Can the system scale to include more participants (nodes) without significantly degrading performance? Can a forward-looking enterprise with a blockchain easily interoperate with other public or private blockchains?

Using these questions as a framework, I believe that IBM's systems fundamentally lack the elements needed for blockchain and have misleading performance figures and doubtful long-term business viability. Although the author and colleagues do not think that the performance value (volume per second, number of nodes) is the only factor in the blockchain, they do think that it is very important for people to understand the essence of the blockchain. This education is expected to help everyone better understand the future of blockchain emerging technologies.

What is a blockchain? What is not?

In order to really understand the status of the IBM blockchain, we need to look at the definition of the blockchain itself. The core of the blockchain is the decentralized, immutable distributed ledger of events or transactions, and its network-wide consensus is enforced through a consensus mechanism. In public blockchains like Bitcoin and Ethereum, this consensus is achieved through proof of work or what is called “mining”. In the private chain (or licensing chain), consensus can be reached by voting for the written content by participants who provide cryptographic signatures. Either way, no central agency can arbitrate anything.

IBM's definition of blockchain captures the distributed and immutable elements of the blockchain, but eliminates the need for decentralization—because the Hyperledger Fabric does not require a true consensus mechanism at all. Instead, it suggests using a "subscription service" called Kafka. The problem is that without mandatory, democratized and encrypted security votes between participants, there is no way to prove that someone has not falsified the ledger. Fault-tolerant consensus is the hallmark feature of blockchains. Without it, IBM's "blockchain" is just a list of time-stamped entries.

Fabric's architecture exposes a number of vulnerabilities that can be exploited by malicious people. For example, it introduces a public key cryptography with a verifier signature inside the network that provides the primary security guarantee but does not begin until an externally signed transaction is submitted. This fundamentally eliminates the reliable security model of Bitcoin and other real blockchains, in which the source of any transaction is only guaranteed by the external user's public key signature, and the system cannot intervene in any way. In stark contrast, the only signature that agrees with Fabric is the verifier's signature, and the user signature disappears into any data set that is replicated over the network.

(Figure: The period of trading in Hyperledger Fabric v1.0)

Fabric researchers' attitudes toward performance metrics are erratic because, fundamentally, Fabric's architecture cannot scale while maintaining peak performance. Fabric uses a multi-chain environment (called a "channel") to provide privacy between participants. Providing privacy is an important function of the private "enterprise" blockchain and necessarily involves trade-offs and complexity, but for scalability, a multi-chain solution is a bad choice. It also makes the deployment of nodes extremely complex, nodes are not uniform, smart contracts are unreliable, and potential failure points are proliferating.

As a result, the performance values ​​of standard fabric deployments are not as good as they start. As nodes increase, performance values ​​drop rapidly and are single-channel: if you want to trade across multiple networks across the entire network, these values ​​are even It doesn't matter. Even so, it is difficult to get more than 800 transactions per second (TPS) when viewing a single channel, but even a 16-channel configuration can barely exceed 1,500 TPS, even if it is 10 to 20 seconds delayed. It is not possible to achieve high throughput within the scope.

Recently, Fabric has made some efforts to speed up, claiming to reach 20,000 TPS. But the researchers' changes to the architecture are so far away from the blockchain that they don't even see the shadow of the blockchain: the spokesperson no longer acts as a verifier, and Kafka is considered the only possible subscription service (in theory) Say, Fabric can accept a true blockchain consensus, but it's so slow that no one will use it in production.) Finally, these are still single-channel values, which means that the entire blockchain concept as a source of shared truth is not valid.

Why smart contracts and hybrid operations are important

The final point to consider when looking at blockchains is how they are intended to extend beyond private databases and how their tools, such as their smart contract languages, can help companies achieve greater success. Remember, a smart contract is more than just a piece of code, it represents business logic. Smart contracts can protect homes in blockchains, ensure digital identities, and even represent escrow transactions between people buying and selling used cars. It is important that smart contracts must be reliable and not tamperable.

When building anything on a blockchain, you need to be able to indicate what you want to do through a smart contract (buy, sell, package data, etc.). The simpler the language you use, the faster you can build what you need and show it in the eyes of stakeholders. More importantly, the smart contract is best able to generate revenue or achieve some positive results for the business.

Hyperledger Fabric's smartchain (chaincode) can be written in a variety of programming languages, including general Javascript or Go. However, there are some trade-offs between the convenience of programmers who already know the general language and the security provided by domain-specific languages. When the risk is as high as the blockchain (if the code is not designed for a blockchain, then if the code is incorrect or incorrect, it can cost millions of dollars), the smart contract language must be designed and designed to be secure. Ideally, it will also be easy to learn and easy to use in the required blockchain environment. In this regard, Chaincode has largely failed – it took about 150 lines of code, just to execute the "hello world" output of the classic programmer's tutorial. And this large amount of code can generate millions of dollars in errors.

IBM is not ready for the future

More and more sophisticated observers of blockchain ecosystems realize that there will be no vacuum between private and public blockchains, but rather hope to work together: private chains will want to reach consumers in the public blockchain The token is provided, and the decentralized application of the public blockchain will want to store sensitive information on the private blockchain. Unfortunately, users of IBM Fabric (and R3 Corda) may find themselves "isolated" from the public blockchain because of the complete incompatibility of the architecture, and because their smart contract languages ​​cannot be seamlessly executed in both public and private environments.

As IBM announces partnerships in many corporate blockchain news cycles, it is important to delve into the practical role of the technology. IBM's "blockchain" technology is lacking in many ways, including security, performance and reliability, which provides an "inferior" solution for organizations that want to use blockchains to achieve meaningful business improvements. To truly realize the value of the blockchain, mature customers will seek IBM's challengers to provide better tools, better blockchain technology, and a better vision of how to leverage technology.