What is validium?
Validium is a method of scaling Ethereum that secures the validity of transactions through validity proofs like ZK rollups but does not store or send the transaction data to the Ethereum mainnet. This trade-off of not sending the transaction data to Ethereum allows for massive improvements in scalability where validiums can process about 9,000 transactions per second or more while ZK rollups can process up to about 2,000 transactions per second. Also by not storing transaction data on-chain, transaction information is processed off-chain making them private.
Validium only keeps the validity proofs on-chain and keeps transaction data off-chain.
Due to the technical design of validium, the funds that belong to validium users are controlled by a smart contract on the Ethereum mainnet. Users can withdraw funds by providing Merkle proofs that prove that some of the funds in the smart contract belong to the user. Once the submission is validated, the Merkle proof includes the withdrawal transaction in the validity proofs, thereby processing the withdrawal. Since transaction data is needed to compute Merkle proof, this process also means that user funds can be frozen and restricted from withdrawals if off-chain transaction data is not shared with users.
What is volition?
Since validium, has a lack of on-chain data availability due to not storing and sending transaction data, it is suited for specific use cases like DEXes in DeFi where the number of transactions per second and private infrastructure is important. To reap the benefits of validium with the data availability of rollups, volitions were created by combining a ZK rollup and a validium chain.
Volition allows users to switch between the on-chain data availability of ZK rollups for certain transactions and the off-chain data availability of validium when needed. Users have the freedom to decide how their transactions will be processed according to their circumstances.
What are the shortfallings of validium?
Even though validium allows for magnitudes of transactions compared to different scaling solutions, there are clear weak points.
- Limited support for general-purpose applications/smart contracts
- Specialized computing language needed for development
- The high computational power is required to create ZK proofs that may lead to centralization
- Expensive for low throughput applications
- Users may have funds frozen or restricted if they do not have access to off-chain data
Validiums/Volitions
Starkware StarkEx
StarkEx is a volition created by Starkware and is built with the Cairo program and SHARP. Depending on specific use cases, users may choose to operate in either ZK Rollup or validium data-availability modes. When used in the validium data-availability mode, all transactions are private and protected by post-quantum secure cryptography. Today, the total value locked in StarkEx is about $508M.
source: Starkware
Matterlabs zkPorter
zkPorter is a volition created by Matterlabs that combines ZK rollups and validium through sharding (read more about sharding HERE). It can support many shards, where the user can choose between off-chain or on-chain data availability, with contracts and accounts being seamlessly interchangeable on either the zkRollup or validium side.
source: Matterlabs
In conclusion:
Validium/Volition is the next step in the innovation of scaling layer 1 chains like Ethereum. Since the overwhelming majority of rollup fees consists of the cost of publishing data onto the Ethereum mainnet, having the transactions kept off-chain allows for cheaper fees and increases throughput. However, this solution comes with a massive trade-off since the off-chain data is not inherently public, users of validium services have an issue of counterparty risk. That is why, due to the design of transaction data not being sent to Ethereum, for security purposes, validium is currently used alongside scaling solutions like zkRollups to make sure users can reap the benefits from both technologies.
We have now explored four mainnet scaling solution: Optimistic rollup, ZK rollup, sidechains, and validium. I hope you had as much fun as me learning about them, their differences, their similarities, and the trade-offs that come with each solution.
Personally, the more I learned about each scaling solution, the more it was difficult for me to pinpoint which is the “best” one. Each scaling solution has distinctive strengths and weaknesses that it is up to the developers to decide which solution is best for the application they are building. However, one thing I can say is that I am more confident about the future of blockchain technology. Its future is in good hands, with driven and intelligent people working to solve the problems blockchain have today and will be continuing to do so in the future.
So what do you think is the best scaling solution for Ethereum?
All Comments