The EEA architecture
The enterprise grade applications built with EEA's tools have a very interesting structure that builds on top of the existing Ethereum structure. They developed the Enterprise Ethereum Architecture Stack (EEAS), which is a design that specifies how this new type of Ethereum blockchain should work in a private setting, with features designed for privacy. The team working on the Ethereum Enterprise project details functions of this type of private blockchain without regard to the underlying technology below it, such as software code, APIs, and communication protocols. What the EEA intends to do is focus on creating what's described in their specification so that people can enjoy private blockchains for their companies.
The tooling will benefit from innovative solutions exclusive to the Enterprise Ethereum blockchain, such as the following:
- Hardware security module (HSM): This is a physical computing device that safely stores digital keys, such as your private cryptocurrency keys, with maximum security features. For instance, Ledger and Trezor are hardware wallets that are also called HSMs, because they provide security in a physical device for your blockchain private keys.
- Permissioning and authentication: This is useful in order to give users specific roles with limited access to certain areas in a more structured fashion.
- Enterprise management systems: This is used to help companies control their private blockchain internal workings.
- Oracles: These are helpful for communicating with external services for custom smart contracts written on top of the enterprise private blockchain. They are essential to exchange key information with the outer world.
Regarding privacy and scaling, we know that many different teams are working on creating unique solutions that could benefit the entire community. However, we know that, initially, the blockchain will use two main systems to scale the capacity of existing dApps:
- Off-chain transactions with trusted execution: Protocols such as plasma and state channels are being developed to leverage off-chain transactions that can be executed locally by users' computers to reduce the computing load of the main blockchain.
- Private transactions: Transactions that use zero-knowledge proofs, ring signatures, and many other famous protocols to guarantee the privacy of the data being exchanged with the public blockchain. This is an important aspect that companies demand because they have private data and internal processes that can't be shared publicly. We cannot know which solution they will choose, so it's up to them to decide. They will also implement private code execution that will allow companies to execute certain smart contract transactions in a secure environment, where the users will see an encoded hash.
The EEA is building three additional elements on top of the existing core blockchain:
- On-chain private state: This is a separate storage compartment where they will store private states of smart contracts. It will provide us, the developers, truly private variables and store functions that we'll be able to use for keeping information secure and unseen by the public. It's very powerful for enterprise-grade dApps.
- Trusted execution: These are systems that will provide a trusted execution environment where the code will be executed without interfering with public processes.
- Private consensus: Companies will have the ability to reach agreements using their own private blockchain for their own systems, similar to voting systems that we can see in the Decentralized autonomous organizations section in: Chapter 3, Ethereum Assets.
Lastly, the blockchain network layer will benefit from Enterprise P2P, which will be used to exchange transactions in smaller networks of nodes that are set up by the company, so that they enjoy the benefits of faster processing speeds and confirmation times. Enterprise blockchains will be able to interact with other networks, including the public blockchain to exchange information.