This Startup Wants to Build a High Performance, Privacy-First Blockchain Platform
The race for the next generation blockchain platform is on and every month we see new startups that are claiming to address all the challenges for the mainstream adoption of the blockchain. With platforms like Ethereum powering somewhere around 80–90% of blockchain projects is the market, creating a new viable alternative is easier said than done. The disrupt the dominant blockchain platforms in the market, we need protocols that address some of their fundamental deficiencies. Among those, performance and privacy are foundational capabilities to streamline the adoption of blockchain technologies. A new project called Oasis Labs just raised $45 million to accomplish that goal: build a privacy-first, high-performance cloud computing platform on blockchain.
Oasis Labs is the brainchild of security researchers from University of California, Berkeley and MIT. The fundraise drew a lot of attention within the blockchain community and a lot has been written about the company and its goals but little is known about their technology. What makes Oasis Labs different from other blockchain tier2 platforms? Certainly, there are several innovative distributed ledger technologies such as Hashgraph, protocols such as Enigma or complete platforms like Zilliqa that are raising the bar for the next wave of blockchain technologies. And yet, Oasis Labs feels different.
What makes Oasis Labs stand up is a surgical focus on solving the privacy and performance challenges of the current generation of blockchain applications using a unique combination of software and hardware while also having the long term vision of using that technology to power a truly decentralized cloud computing platform. In the long term, you can see Oasis Labs as something like the intersection of concepts behind Amazon Web Services, Ethereum and Nvidia but let’s not get ahead of ourselves. The vision behind Oasis Labs can be summarized in three simple steps:
1. Enable High-Performance Computing for Blockchain Applications
2. Enable Privacy as a First-Class Citizen for Smart Contracts
3. Enable a Rich Programming Platform for the Implementation of Complex Decentralized Workloads
To enable those goals Oasis Labs developed a protocol that allows the high performance, privacy preserving execution of smart contracts using a unique approach that combines software and hardware.
Ekiden is the main protocol behind the Oasis Labs platform. The goal of Ekiden is to provide a system for a system for highly performant and confidentiality-preserving smart contract execution. The uniqueness here comes from solving the privacy issue without sacrificing performance. After all, rotocols such as zero-knowledge-proof systems provide an elegant solution to the privacy challenge in smart contracts. However, those protocols are incredibly expensive from the computational standpoint limiting its applicability to relatively simple scenarios.
In order to solve improve the confidentiality of smart contracts, Ekiden relies on a relatively obscure technology called trusted execution environments(TEE). Conceptually, TEEs provide a fully isolated environment called an enclave that prevents other applications, the operating system, and the host owner from tampering with or even learning the state of an application running in the enclave. TEEs are great to enable confidentiality but they isolated nature lacks the availability of providing storage or networking capabilities. That’s were the blockchain comes in.
From an architecture standpoint, Ekiden combines an underlying blockchain system with TEE-based execution. The TEE-blockchain combination enables the secure and scalable execution of smart contracts while also preserving strong confidentiality, integrity and availability guarantees. The following figure provides an overview of the Ekiden architecture:
The current architecture model in Ekiden is based on three fundamental entities: clients, compute nodes and consensus nodes:
· Clients: These nodes can create contracts or execute existing ones with secret input.
· Compute Nodes: These nodes are responsible for instantiating multiple TEEs to execute smart contract programs.
· Consensus Nodes: These nodes are responsible for maintaining a distributed append-only ledger by running a consensus protocol. Contract state and security attestations are persisted on this blockchain.
One of the greatest contributions of the Ekiden model is that it decouples consensus from contract computation which allow higher levels of concurrency while preserving the integrity of the blockchain. For consensus, Ekiden relies on a proof-of-publication protocol that proves to a contracts in a TEE that a specific item has been stored in the blockchain. The protocol is based on a simple multi-signature model that is delivered by the consensus nodes.
The Programming Model
The ultimate goal of Oasis Labs is to build a truly decentralized cloud and, for that, they need strong programming environments. At the moment, Ekiden supports two main types of smart contracts:
· Rust Contracts: Ekinden contracts written in the Rust programming language. Rust programs are optimized for concurrency they can integrate with Ekiden using an RPC protocol.
· EVM Contracts: Ekiden includes a version of the Sputnik VM implementation of the Ethereum Virtual Machine that runs inside a TEE environment. That means that existing Ethereum smart contracts can automatically run on the Ekiden platform.
Thinking Beyond Transaction
We naturally associate blockchains with financial transaction scenarios and most of the current protocols are modeled that way. In my opinion, the value of the Oasis Lab platform will be to enable complex workloads that leverage the immutability and integrity capability of the blockchain while achieving high levels of performance and scalability. Scenarios such as machine learning and cyber-security are well suited to leverage the capabilities of Ekiden. Uber seems to have already taken the lead in that race.