The Hyperledger Project, an open source project at the Linux Foundation to develop a distributed ledger technology standard, has recently released a draft white paper and completed a proof-of-concept hackathon.
The purpose of the hackathon was to merge the contributions of IBM, Digital Asset Holdings (DAH) and Blockstream to a code base that satisfies a number of requirements, identified in this review deck. These requirements included PoC integration of code from Blockstream for validation, code from IBM for OBC/UTX chaincode, and code from DAH for client layers.
In the draft white paper, the authors articulate a design for an evolving blockchain fabric that permits for compliance with regulations, while supporting the varied requirements that arise when competing businesses work together on the same network. The central elements of this specification are smart contracts called “chaincode”, digital assets, record repositories, a decentralized consensus-based network, and cryptographic security.
The authors of the draft are described as “whitepaper working group members” and include technologists from JPMorgan, IBM, Cisco, Altoros, Fujitsu Labs, Deutsche Börse Group, DAH and the DTCC.
The members stipulate a need for a new blockchain fabric as the current blockchain technology, still in nascent form, falls short of meeting the multitude of requirements inherent in the complex world of business transactions.
Scalability challenges, and the lack of support for confidential and private transactions, among other limitations, make its use unworkable for many business-critical applications. To meet the varied demands of the modern marketplace, Hyperledger has been designed for a broad array of industry-focused use cases, thereby extending the work of the pioneers in the field by addressing the existing shortcomings.
The authors identify a vision for the way that blockchain technology will evolve and change the fundamentals of modern commercial transactions. They highlight the increasing demand for permissioned networks, the importance of both privacy and confidentiality, and a complex “world of many networks” that will require an an addressing system that permits transactions on one ledger to discover and utilize appropriate transactions and smart contracts on other ledgers.
The working group features significant requirements for the ledger that include identity and auditability, private transactions, modular consensus, smart contracts which they call “chaincode”, and performance and stability.
They describe chaincode in the following way:
Blockchain logic, often referred to as “smart contracts,” are self-executing agreements between parties that have all relevant covenants spelled out in code, are settled automatically, and can be dependent upon future signatures or trigger events. In the Hyperledger project, we call this “chaincode” to help establish clarity between blockchain logic and the human-written contracts
In terms of performance and scalability, they hope to develop a ledger or group of ledgers that can operate continuously for more than a hundred years, and still perform key functions in user-acceptable timeframes. The blockchain fabric must also be able to handle massive expansion in the number of nodes and transactors without performance degradation.
The draft paper describes a reference architecture that is aligned in three categories of services, Membership, Blockchain and Chaincode. These categories are a logical structure, not a physical depiction of partitioning of components into separate processes, address spaces or (virtual) machines. Some of these components will be built from the ground up, some will use existing open-source code, and some will interface with existing services to fulfill the required functions.
The Membership category provides services for managing identity, privacy, confidentiality and auditability on the network.
Blockchain services consist of three key components: a HTTP/2 based peer-to-peer (P2P) protocol, distributed ledger and consensus manager. Different types consensus protocols, such as Practical Byzantine Fault Tolerance, Raft, proof-of-work or proof-of-stake, may be plugged in and configured for deployment.
Chaincode is a decentralized transactional program, running on the validating nodes, and uses Docker to host the chaincode without relying on any particular virtual machine or computer language. The environment is a “locked down” and secured container along with a set of signed base images containing secure operating system and chaincode language, runtime and SDK layers for Go, Java, Node.js, and other languages if required.
The authors also identify particular industry use cases that include business contracts, asset depository, and manufacturing supply chain, which are also identified as “canonical use cases” on the Hyperledger Github. Other financial use cases listed on the Hyperledger Github include asset financing, commodities, corporate action, credit default swaps, custody equity contracts, fixed income, foreign exchange, global kyc database, interest rate swaps, micro lending, money markets, OTC bond options, OTC MBS options, payments - interbank, syndicated loan, trade capturing, and trade finance letter of credit.