LUKSO’s Mainnet Architecture → Casper Beacon Chain with EVM Execution

Fabian Vogelsteller
LUKSO
Published in
6 min readFeb 8, 2021

— We know many of you have waited long for this update! 🙏

After a lot of development, trial and errors and testing we are happy to announce the final architecture for the LUKSO Mainnet. An architecture that is not only suitable but already running successfully in its alpha version.

This architecture not only brings compatibility to the Ethereum space and its tooling through EVM execution — a goal that was imperative since we started the LUKSO idea. But is also able to use the most advanced and decentralized Proof of Stake algorithm running today: Casper FFG
— The only PoS system that can run with over 70k validators!

By combining an execution environment (Catalyst) with a beacon chain running Casper FFG, LUKSO will likely become the first ETH 2.0 Blockchain to execute smart contracts, even before Ethereum itself.

Initially, this architecture will only run with one shard, as it provides enough throughput while the LUKSO network is growing in popularity for the next 2+ years.

Our current tests show a Transaction Per Second average of ~245 TPS (peak of ~450 TPS), which is more than 20x than the current Ethereum mainnet. These are early non-optimised tests, we’ve used only 25 chainhammers with medium hardware spec nodes to reach this limit, so there is still a lot of room for improvement.

The big difference to other networks that claim 10k TPS etc, is that our network runs with Casper FFG that can have up 70k+ validators running the network :)

The Problem with Sharding

Successful sharding with multiple shards is a hard problem to solve, as it involves Zero-Knowledge Proof components that are not fully there, or not performant enough to be useable yet. Another problem the community is working on, is cross-shard communication, an essential piece to allow composability of Smart Contracts. With these challenges ahead, we see the Casper + 1 shard interim solution as the optimal way forward. It gives us enough scalability and decentralization to grow and evolve the LUKSO mainnet over the next years.

Our long term goal is to keep the LUKSO Architecture flexible enough to stay compatible with the evolution of ETH 2.0’s sharding development — so that when the time comes, LUKSO will be fully updateable to a sharded network on its own.

The Architecture

The LUKSO Blockchain architecture consists of three main components:

  • The beacon chain client
  • The validator client
  • The execution engine client (EVM)

The casper beacon chain is running the main consensus of the network and manages the Proof of Stake process following Casper FFG. The deposit contract for the LYX staked runs in the execution shard of the network, and allows LYX holders to participate as validators in the network.

The validator client fulfils the validator duties, like sealing blocks and executing slashing. It has to be run by anyone participating as validator.

Logs of the Teku Beacon chain running

The current execution engine is a modified go-ethereum client, that purely generates blocks to execute EVM instructions. It also works as a transaction propagation layer between the execution clients. Block propagation is handled over the beacon chain layer.

Logs of the catalyst execution client

The execution engine is fully compatible with all ETH 1.x tools and is therefore easy to use by developers familiar with the Ethereum and LUKSO toolchain (web3.js, ether.js, erc725.js, etc).

Path to Mainnet

We currently havethe first test version of LUKSO Architecture running and testing its scale and stability. To move to mainnet we want to make modifications at the core level structure to increase compatibility with future sharding developments.

Another big milestone that needs to be done is the withdraw functionality of staked LYX, which is the reverse process from depositing into the casper beacon chain.

We are also modifying other beacon chain clients to run the LUKSO’s architecture, to be able to start with a multi-client network from the start.

After these modifications we will launch the L16 public test network to test the networks stability over time, and will then launch the Mainnet when we consider the test network stable.

We will release all the information about the LYXe → LYX migration, staking and procedures as soon as we get closer to the Mainnet launch. Our current hope for the launch time is still Q2 2021, lets keep our fingers crossed 🤞

A bit of History

Ever since we started thinking about the LUKSO Blockchain, we considered one thing fundamentally important: The compatibility to the Ethereum space — as the most advanced and widely used Blockchain technology stack existing today. This believe held true until today, and we have seen Ethereum’s technology being used from enterprise to other public networks, to the Ethereum Mainnet, and has been the driver of innovation in the space.

At my work at the Ethereum Foundation from 2015 to 2018, I have helped build the current developer experience, from the first web3.0 browser, to web3.js, standardising the RPC API and later proposing standards like ERC20 and ERC725. The Ethereum space makes up around 80% of all Blockchain developers and is by far the most active, therefore LUKSO should to be a Blockchain based on Ethereum’s technologies. A Blockchain that has more throughput, a high decentralization potential, and a better standards basis with a focus on new applications, protocols and users.

In its early days we experimented with simple BFT consensus, but decided quickly that consortium-run chains are problematic from an organisational and human perspective (hence the fact that barely any exist today).

We later discovered PoSDAO, which the group behind Igor Barinov (one of our advisors) at PoA.network and xDAIchain, have built. We started implementing PosDAO with the HBBFT consensus. Along the way we discovered that HBBFT has similar restrictions like other BFT consensuses most of which have a limited number of validators, which make these networks rather easy to attack.

After testing HBBFT we started testing PoSDAO with Parity’s Aura. Aura uses Round-Robin, meaning every validator has a specific slot to create a block. The advantage of this is that even one single validator can continue the network, should 90% decide to stall the network. In this process we implemented Aura in go-ethereum, a task that was long overdue in the Ethereum community.

When the ETH 2.0 beacon chain launched everyone was positively surprised how well at scaled and ran. This brought us to the idea of combining EVM execution with a Beacon chain to combine both, high decentralization and smart contract execution into a single chain.

Thanks to the great work of Mikhail Kalinin and Guillaume Ballet, who had already done a great job at simulating and merging ETH1.x execution engine (Catalyst) with a Beacon chain client (Teku), we were able to run and test this setup rather quickly over the last months.

We are currently moving quickly towards LUKSO’s Mainnet architecture and feel confident that it will scale in transactions and decentralization and hold all the properties we wanted from the LUKSO network:

  • Compatibility to the Ethereum tooling
  • High decentralization (70k+ validators)
  • High throughput (we currently tested at peak 450 TPS, but we can surely go a lot higher) on a single shard
  • Full compatibility to ETH2.0 development, which the LUKSO network can adopt at any time

We are looking forward to launching the first Casper driven smart contract Blockchain, that will be used by a new generation of Blockchain users!

🦾 🚴‍♀️ 🎊 🚀

--

--

Fabian Vogelsteller
LUKSO
Editor for

Founder @lukso , Author of ERC 20 and ERC 725 and former -Mist, -web3.js and -Ðapp developer for Ethereum.