EVM and the road to Zilliqa 2.0 - Upgrading network efficiency
Zilliqa will implement Ethereum Virtual Machine (EVM) compatibility on mainnet on April 25, 2023.
In a great step forward for adoption and ecosystem growth, Zilliqa will be implementing Ethereum Virtual Machine (EVM) compatibility on mainnet on April 25, 2023.
This will add native support for Solidity apps, making it easier than ever to build on the low-fee, high-throughput Zilliqa network and use popular wallets like MetaMask with native ZIL tokens.
EVM compatibility is just the first step in a number of major technical changes coming to Zilliqa in the near future, however. The blockchain development team is working hard to build the foundation for Zilliqa 2.0 - a massive upgrade to the network that will improve reliability, efficiency, and allow for new and exciting use cases.
Zilliqa 2.0 is being actively developed alongside EVM compatibility features, and is a key component of the blockchain’s strategy for future growth and adoption.
To shed some light on EVM compatibility, the technical changes coming in Zilliqa 2.0, and how the development team is working on shifting to dynamic updates to eliminate downtime, we spoke to Zilliqa CTO Richard Watts.
EVM compatibility on Zilliqa mainnet
The first full implementation of EVM compatibility on the Zilliqa network will allow users to transfer ZIL tokens natively using EVM dApps and wallets without any complex conversion processes.
After this first full version of EVM compatibility has been implemented, it will be expanded in a later mainnet upgrade to include full interoperability between Scilla and Solidity standards for fungible tokens, NFTs, and more, opening up even greater opportunities for developers and users.
“That will essentially be the complete implementation of EVM compatibility. Obviously, we're listening to our customers and if there are compelling cases for other improvements, we should be including them,” Richard explains.
To find out more about EVM compatibility coming to the Zilliqa mainnet, read our interview with Zilliqa Head of Distributed System Engineering Valeriy Zamaraiev.
As EVM compatibility is deployed through mainnet updates, technical changes required for Zilliqa 2.0 may also be implemented, as this network upgrade is being developed alongside EVM compatibility.
What is Zilliqa 2.0?
Zilliqa 2.0 will retain all the features of the current version of the Zilliqa network, including complete EVM compatibility, while bringing significant improvements to network performance and utility.
“Zilliqa 2.0 is a major refresh of Zilliqa. We're taking all the lessons that we've learned from running this network over the last five years. We are looking at the direction of blockchain in general and specifically the direction of the company, and what we're trying to do with it,” Richard says.
“We're trying to build a light, useful blockchain that can be deployed scalably and durably, delivered quickly, and maintained easily to adopt some of the innovations that have been going on in blockchain - hopefully leapfrog a few of them - and do a few things that no one else can. But mainly it is a base for our growing business and is a good platform to innovate on.”
Zilliqa 2.0 will offer faster finality and better scalability through a new and improved sharding system, making it a powerful and capable platform on which developers can innovate and users can transact quickly and easily.
“Zilliqa 2.0's core goal is to make life easy for developers. One of the big strengths that I feel Zilliqa has is that because we're vertically integrated, we get to see a lot more of the difficulties that ordinary developers have when building applications on our blockchain,” Richard says.
“We've looked at those difficulties, we've taken them away, and we've designed a blockchain that will be easier for developers and smoother for users.”
“The two big headline items are fast finality and an improved sharding architecture. One of the problems that I'm sure you'll have encountered when you've been using Web3 systems is that sometimes the transactions take ages. Even for a relatively fast blockchain like Zilliqa at 30 seconds per transaction, selling an NFT, for example, could be two or three transactions and that means you're waiting two minutes,” he adds.
“One of the design principles for Zilliqa 2.0 is that no transaction on mainnet should take more than about the amount of time it takes to swipe your credit card, so somewhere in the region of two to five seconds.”
Even this impressively quick transaction time can be too slow for latency-sensitive transactions, however, and Richard explains that this is where the new sharding system comes into play.
“One of Zilliqa's strengths has always been sharding. In an attempt to avoid the network communication overhead problem, you can create little shards by reducing the amount of communication that you promise to do. You can then get faster finality with your own little bit of the network.”
“We've looked at the shards that we've got and we have evolved them into a new sharding model, which will effectively allow you to construct your own network with a faster finality and your own programmable security parameters so that if you need to go faster, you can. Think of it like an existing Zilliqa shard but customisable,” Richard says.
As the network is undergoing a significant upgrade to improve efficiency, scalability, and utility, there may be changes to other aspects of the protocol, including the nature of its consensus mechanism.
“As responsible custodians of the blockchain we are always looking to do the right thing for the Zilliqa blockchain and its economy, and clearly the way that the network is secured is a part of that. We would be looking to evolve it as conditions dictate,” Richard says.
New features in Zilliqa 2.0
Work has already begun on Zilliqa 2.0 and although the network upgrade is still in an early stage of development, it is proving to not only deliver improved performance but also a range of new functionalities and extensive utility to address various use cases.
“Obviously there's a lot of distance between a research prototype and production code, but we're fairly optimistic. We started out with Fast-HotStuff, which applies some improvements to the popular HotStuff consensus algorithm; this reduces finality time by adding a little bit of extra metadata to each block,” Richard says.
“We believe we're the first production blockchain to use Fast-HotStuff, and it's performing well in tests. The next thing that we're moving on to do is to build a programmer's model for Zilliqa 2.0, which is very heavily based on EVM.”
“Pretty much everything in Zilliqa 2.0 is a smart contract that gets invoked by the underlying blockchain. So if you want to change the behaviour of the blockchain, you can change the smart contract without having to modify the underlying code. This is intended to be an evolution from the structure of some current chains, which have quite a lot of hard-wired logic in the chain itself,” he adds.
The new sharding system would then be implemented on top of this infrastructure, after which the network upgrade would begin rolling out to devnets for iteration and testing.
Zilliqa 2.0 will retain full support for both Scilla and EVM, and when it is deployed as a mainnet network upgrade, users should experience no interruption or conflicts to their operations.
“Zilliqa 2.0 will support Scilla. It will support both the old and the new API, just like the existing Zilliqa protocol, and the idea is that you shouldn't be able to tell when you cut over to it, except that the block time will be rather faster,” Richard says.
The new sharding system for Zilliqa 2.0 features programmable decentralisation and brings powerful functionality that can be used to customise shards and tailor them to specific use cases.
“The new sharding system allows you to create a shard with nominated validators. If you want to hold your validators close, for example, because you have regulatory requirements or because you want to run them in your own data centre, you can specify a few selected validators. If you want a wider set of validators than our mainnet, then you can do that too. The shards then communicate back with the main chain via what is effectively a contract gateway similar to a bridge, and whoever contributes liquidity to that effective bridge then gets to specify how much trust they place in the individual shard,” Richard explains.
“One of the useful things about these shards is that every shard in Zilliqa 2.0 has an encryption key, so the block data is encrypted. For the mainnet the encryption key is well known - everyone has it so everyone can read the mainnet. But for an individual shard, if you control the validators, then you can encrypt your shard and pass them the key around the side, which means only you will be able to decrypt the data stored in that shard. That allows you to create private shards for when you need to keep, for example, your customers' accounts confidential.”
“In the longer term, we're looking at using zero-knowledge technologies to allow partial sharing between shards and the mainnet or between shards and other shards. But initially, this gives us something that preserves privacy, is relatively easy to implement, is easy to understand, and is standards-compliant for those who need it,” Richard adds.
Other interesting features enabled by the Zilliqa 2.0 network architecture include a trader for allowing validators and miners to take on value-added jobs such as checking contracts, parallelised transaction execution, on-chain accounts, paymasters, proxy gas, and many more.
“The list is somewhat endless, but they all come after the new sharding architecture and fast finality,” Richard says.
“What you will find in the transition to Zilliqa 2.0 is that we will first develop the new sharding system and fast finality. After that, you'll start to see code coming out, and then we'll start releasing some limited availability devnets for people to play around with,” Richard says.
“After that, the focus will be on maintaining those devnets and expanding them to testnets. Once that's done, we'll be looking to achieve feature parity with Zilliqa 1.0 and then cut over from Zilliqa 1.0 to Zilliqa 2.0.”
Zilliqa 2.0 will not only deliver a faster, more efficient blockchain network architecture, but it will also remove the need for downtime due to network updates and give users unprecedented ability to scale their applications.
Stay tuned to our social media and subscribe to the Zilliqa blog for the latest updates on EVM compatibility and the development of Zilliqa 2.0.