Open Standards for Enterprise Blockchain Implementations
Spearheaded by the Enterprise Ethereum Alliance
Image credit: Pexels (modified)
Enterprises now have multiple options to choose from when it comes to selecting distributed ledger technologies (DLT) and consensus protocols. The popular options include Ethereum, Hyperledger Fabric & Sawtooth, Quorum, MultiChain, and Corda. Any organization can implement these protocols on modified code bases where client DApps that interact with various versions of these protocols use custom APIs and tools developed by each organization. The client’s DApps and their APIs could be proprietary solutions, where an enterprise is locked into a single vendor for development and support.
A choice of multiple DLT protocols to choose from is great for the enterprise blockchain industry. Without open standards, however, adoption in the industry will be difficult for consortiums (representing a collection of organizations) as each of them need to figure out their own set of standards, in addition to figuring out how they will govern their consortium, both on-chain and off-chain.
The Enterprise Ethereum Alliance (EEA) consists of more than 500 member organizations and their central goal is “to deliver an open, standards-based architecture and specification” to speed adoption of Ethereum. EEA’s goal is to create a universal set of practices that everyone will follow when designing blockchain applications. Open standards help to ensure that a DApp, for example, created by one project is compatible with the blockchain running on the same protocol built by another project.
The Hyperledger Project oversees several open source projects that help blockchain developers. Their mission is to promote open source code within the blockchain space. In October 2018, both the Enterprise Ethereum Alliance (which Quorum is a member of) and the Hyperledger Project announced a partnership in which they each signed up as members of each other’s organization. The aim is to develop open standards for enterprise blockchain implementations jointly.
Enterprises adopting a DLT protocol are not obliged to follow the EEA’s open standards. However, it is advised that they do so with their implementations to reduce implementation effort, allow solution compatibility with capabilities and tools that abide by these open standards, and facilitate easier growth of consortiums (the primary purpose of DLT protocols).
The EEA published version 2 of a client specification and version 0.5 of Off-Chain Trusted Compute Specification in late October 2018. Enterprise Ethereum is based on technologies and concepts of public Ethereum, but this time extending it to meet the performance, permissioning, and privacy demands of enterprises.
Client Specification 2 Highlights
The client specification defines the implementation requirements for Enterprise Ethereum clients, including interfaces to the external-facing components of Enterprise Ethereum and how they are intended to be used. This enables an ecosystem where users can change the software they use to interact with a running blockchain, instead of being forced to rely on a single vendor for support.
The EEA Architecture stack provides a layered reference model that differentiates between the components available on public Ethereum, and components that enterprises require on their client implementations.
The architecture stack for Enterprise Ethereum consists of the following five layers:
- Application: Consists of DApps, tools to monitor the blockchain, infrastructure contracts and standards (e.g. for role-based access, control network governance), and smart contract development tools
- Tooling: Contains APIs used for clients to communicate with blockchain nodes, integration with enterprise identity management, and deployment management capabilities
- Privacy and Scaling: Implements privacy and scaling extensions needed to support enterprise-grade deployments. On-chain privacy mechanisms are being explored such as support for zero-knowledge proofs. Scaling is achieved on two layers. Layer 1 is on-chain and uses mechanisms such as sharding and parallelization. Layer 2 is achieved at the application layer utilizing smart contracts with techniques such as Plasma, State Channels, and Off-Chain computing scaling mechanisms (as per v0.5 of the Off-Chain Trusted Compute Specification).
- Core Blockchain: Consists of a mechanism to establish consensus between nodes for the acceptance of new blocks and the execution and storage of transactions, both on and off-chain.
- Network: P2P networking protocols facilitating node interaction (e.g. DEVP2P at present and additional P2P protocols at higher layers of the enterprise stack in the future)
Off-Chain Trusted Compute Specification Version 0.5 Highlights
One technique that enterprises can use to increase DLT performance is to execute transaction off-chain within a trusted environment. This draft specification provides a set of APIs that can move transactions off-chain for computation elsewhere, and then move a summary to the “main chain”.
The Off-Chain Trusted Compute Specification Version 0.5 has been designed to support the following enterprise needs:
- Private transactions on a blockchain between mutually-untrusting parties without disclosing transaction details to other parties who also have access to the blockchain
- Disclosure of partial information to chosen parties on a blockchain, while maintaining the confidentiality of other information from those same chosen parties
- Offloading selected transactions from the main blockchain to a trusted compute environment to improve performance
- Attested oracles to provide trusted external information needed for some enterprise use cases
These APIs have been reviewed for compatibility with the following trusted compute methods:
- Trusted Execution Environments (TEEs)
- Zero-Knowledge Proofs (ZKPs)
- Trusted Multi-Party-Compute (MPC)
The EEA requirements for the Tooling layer (on node and transaction permissioning capabilities, enterprise remote software deployment and configuration, software fault reporting, performance management, security management interaction, historical analysis, and reporting capabilities), and the scaling requirements in the Off-Chain Trusted Computing specifications are of particular interest to us at Chainstack. We’re monitoring the latest EEA developments and aim to align with their open standards to support rapid, enterprise-grade client deployment, monitoring, and build of blockchain implementations.
Enterprise Ethereum Alliance Releases Specification V2 Accelerates Blockchain’s Path to Global Interoperability across Entire Industries, Press Release, Enterprise Ethereum Alliance
Enterprise Ethereum Alliance Releases Trusted Compute Application Programming Interfaces to Help Enterprises Get Blockchain Applications to Market, Press Release, Enterprise Ethereum Alliance
EEA Specification v2, Enterprise Ethereum Alliance
EEA Off-Chain Trusted Compute Specification V0.5, Enterprise Ethereum Alliance
EEA Architecture Stack Explained (Video), Enterprise Ethereum Alliance
EEA Architecture Stack, Enterprise Ethereum Alliance
Hyperledger and Enterprise Ethereum Alliance Join Forces In Enterprise Blockchain Boost, Aaron Stanley, Forbes