Ethereum and the Enterprise Ethereum Alliance: 101
In this article, I’m going to try to address some questions directed at me recently, including:
What is Ethereum?
How is Ethereum being used?
What is the Enterprise Ethereum Alliance?
How will the EEA affect Ethereum?
How will Ethereum app developers be affected?
What is Ethereum?
Ethereum is a public blockchain that introduced the concept of a programmable flow of assets. Its predecessor, Bitcoin, is a public blockchain that revolutionized the world with secure, verifiable transaction of its digital currency.
How is Ethereum different from Bitcoin?
Bitcoin introduced a secure method to create transactions of a digital currency called Bitcoin. Ethereum took the concept of secure monetary transactions, and expanded it to allow programmable transactions called “smart contracts”, leveraging blockchain technology to track the flow of not only digital currency (like Bitcoin does), but also assets, data, messaging, and even votes through what is now known as “decentralized applications”.
What apps exist on Ethereum?
Ethereum currently is being leveraged to build apps for crowdfunding (like Kickstarter and GoFundMe), freelancing platforms, voting platforms, charities, instant messaging, currency exchanges, and games.
What is the Enterprise Ethereum Alliance?
The Enterprise Ethereum Alliance is a coalition of companies who are coming together to invest in the development of an enterprise version of the public Ethereum blockchain. Their mission is to be an open source standard for corporate blockchain adoption, addressing enterprise deployment requirements, and evolving in tandem with the technological advances in the public Ethereum blockchain.
Why was the EEA formed?
The EEA was formed because while the public blockchain is great for apps designed with the public in mind, companies wanted a more private, secure standard with which to implement their own decentralized applications for corporate use, internally and business-to-business. Think of it like the Windows operating system: companies don’t use Windows Home Edition, they want the security and support of Windows Professional in a corporate environment.
How will the EEA benefit the public Ethereum blockchain?
The EEA standard will emphasize development on parts of Ethereum like faster transactions, more transactions per second, encryption and security, while sacrificing some aspects of the decentralized trust mechanism that is so central to the public Ethereum blockchain. As the public blockchain grows, they will benefit from this corporate development, since any major advances made by the EEA will presumably be integrated into the public blockchain. Therefore, you will have two open source standards for Ethereum being developed in tandem, both having the ability to pick a feature from the other standard for integration.
What are some of the goals for Enterprise Ethereum and its alliance?
1. Develop a sufficiently modular Ethereum implementation to separate and define clear interfaces between networking and storage layers, that is a prototype for pluggable consensus that minimizes the code changes required to switch consensus algorithms.
“A common, modularized implementation will provide a code base for developing the Enterprise Ethereum specification and also experimenting with consortia consensus algorithms. Pluggable consensus needs a modularized client with a clean interface for networking and between the Ethereum Virtual Machine and the consensus algorithm — it is really these interfaces that make the consensus layer pluggable.”
They are building a set of requirements to provide an emphasis on interoperability that include:
- The ability to switch components at various layers of the Enterprise Ethereum while maintaining application portability and network transactions.
- The ability to provide non-standard extensions that are interoperable with the core specification.
- Inbound and outbound data interfaces and EVM (Ethereum Virtual Machine) hooks.
- Public chain compatibility.
2. Update the Ethereum Protocol by experimenting with potential consensus algorithms, along with data privacy, permissioning frameworks, and other approaches that focus on scalability.
According to InfoQ:
“The current Ethereum protocol is dependent upon a node choosing the next block for the longest-chain based upon a Proof of Word (PoW) algorithm which is computationally expensive. The downside to this approach is that there is a limitation of a blockchain being able to commit a new block around every 10 seconds. As Ethereum makes more inroads into the enterprise, the ability to scale services to millions of users created challenges for the existing protocol.”
Consensus protocols are divided into block and network protocols. Block consensus protocols being evaluated include:
- Delegated Proof of Stake
- Proof of Authority.
Network protocols being examined include HoneyBadger and Tendermint. There does exist consensus protocols that combine block and network protocols, such as HydraChain and Ethermint.
In addition to changes in protocols, approaches like sharding, parallelization, and state channels are also being examined and developed.
3. Develop a clear set of capabilities and performance characteristics that suit the needs of enterprises.
These characteristics include:
- High volume/value use cases
- High availability/reliability
- Parallelization and horizontal scaling
- Performance improvement and optimization
- Trusted computing and Oracles/Data feeds
4. Develop a Version 1 specification for Enterprise Ethereum, based on the learnings from the above plus the roadmap and requirements gathered from members, i.e., produce a reference implementation.
By publishing a specification, EEA attempts to,
“accelerate ecosystem development by increasing the availability of APIs for integration with development, dev-ops, and management tools as well as legacy system integration”.
5. Leverage a robust governance process to ensure alignment and agreement on approaches.
As a US based non-profit organization, EEA has declared their core will be comprised of members and participation with special interest groups guided by these four principles:
- Development of open source standards
- Working with builders and doers towards a general purpose system
- Maintain compatibility with public Ethereum
- (Leverage existing systems to) …avoid reinventing the wheel on data standards.
What does this mean for public Ethereum?
The Enterprise Ethereum standard will not require public Ether to run. Companies will not need to lock up large amounts of Ether to run their corporate applications, like it was originally assumed. The reasoning is simple: Ethereum is not quite ready for mainstream adoption yet, and the technology is still young.
However, this is a huge step in a great direction. By moving from simple open source development, to corporate open source development, we can expect the rate of advances made in this technology to rise exponentially.
Think about it: a space that was originally reserved for core Ethereum developers and hobbyists is now being expanded to include paid software engineers across corporations to begin building and contributing to Ethereum. Every feature added for the benefit of one corporation is going to be made available to literally everyone else, and the rate of adoption of the Ethereum blockchain is going to snowball.
What does this mean for public Ethereum app developers?
Nothing changes. Individuals and companies can still build applications on top of the public Ethereum blockchain, leveraging the massive network that currently exists within the ecosystem. However, as development continues, you will be pleasantly surprised to find more and more features and quality of life improvements added to Ethereum, making your workflows and development processes much, much easier.
Thanks for reading, if you enjoyed this article please remember to ❤ and share it with your friends and family.