Erdstall leverages Trusted Execution Environments (TEE) like Intel SGX (or even MPC committees) to scale Ethereum. Similar to Plasma or Rollups, the system consists of a smart contract, an untrusted operator running a TEE and a dynamic group of users. Joining and leaving the system is by a single call to a smart contract. But once assets are deposited into the system, off-chain transactions are free and only require the exchange of signatures from users to the operator. The TEE Enclave receives and verifies those transactions and keeps track of the system state. The whole system evolves in epochs and at the end of each epoch, so-called balance proofs are distributed to all users, allowing them to leave the system at any time. Those proofs are also necessary to give all users the possibility to exit the system shall the operator decide to cease operating. The underlying protocols were developed and proven secure by the Chair of Applied Cryptography research group at Technical University Darmstadt (the same team behind the Perun generalized state channels). The related paper is currently in submission at a cryptography conference.

Erdstall showcase

How it's made

The Operator and Client are written in Go. We also wrote a prototypical Trusted Execution Environment in Go and a remote version thereof which can run in GrapheneOS inside an Intel SGX enclave. The smart contracts are written in Solidity. Since our whole team only consists of backend and systems engineers, we didn't write any browser-based frontend, but instead provide a nice terminal based user interface with multiple windows and command input.

Technologies used