A solution that can considerably increase ethereum’s capacity through the utilization of starks has been launched on testnet by 0x, the decentralized exchanges (dex) protocol. Matt Taylor of 0x says:
“StarkDEX is decentralized exchange infrastructure that utilizes STARKs to remove the glass ceiling on non-custodial trading and allows crypto exchanges to offer their customers trading at scale, without counter-party risk.
Today, the system at max capacity can batch 8,000 transactions per block, which is over 550 transactions per second and 200x cheaper in terms of gas costs.”
This utilizes a now somewhat familiar model where you deposit funds in a smart-contract with accounts then kept off-chain with starks based proofs used to verify that no one is cheating at any point. Or more technically, according to 0x:
“The DEX (or in the Alpha, the simulator) sends a batch of 0x orders to the StarkDEX Service, run by StarkWare.
The StarkDEX Service checks the signatures of each transaction in the batch, and the validity of the transactions. The StarkDEX Service then stores the data off-chain and adds it to the execution trace it keeps.
The StarkDEX Service creates a proof of the validity of the entire batch and sends it along with the most recent state root to be verified by the on-chain Verifier Contract, which verifies the proof and sends the state root to the DEX’s on-chain contract to be stored.
The Verifier Contract connects to the 0x smart contract pipeline that moves the batch to be confirmed on the Ethereum blockchain.”
What is new here is the use of starks for the compression of transactions. We’re not aware of any other project doing so, thus this must be the first with starks themselves quite a new thing.
Coders apparently have figured out a way to basically have ZK-snarks, but without the trusted set-up. So starks are the new advancement in zero knowledge proofs, with those being a mathematical method that allows you to prove something without revealing specific details. Like you can prove an address has 1 eth without revealing whether it has 1.1 eth or 1,000.
According to Vitalik Buterin, ethereum’s inventor, “STARKs are also about one order of magnitude faster to create,” than snarks, but according to another eth developer, “the proofs take up much more space and are more computationally intensive to verify.”
The current going rate for a simple transaction is 10 cent. Here, 2 cent was paid per transaction.
All the 1024 trades took up 6,240,131 in gas, close to the entire block limit of 8 million.
Plain transactions take 21,000 gas, while for tokens it’s about 50,000. For simple transactions, all the trades would have taken 21 million in gas, while for tokens it would have been 50 million.
So the capacity increase here is between circa 4x to near 10x, but the project says at max capacity it could include 8,000 transactions, which would be a scalability increase of about 100x at the higher end.
Unfortunately etherscan doesn’t show how many bytes this took as that can be relevant for storage and other capacity matters, but it does look like there’s some significant compression of transactions.
As a kind of second layer method, but without the tradeoff of channels and all the rest, this would increase ethereum’s capacity even on top of sharding.
Making it relevant both for the short term and the long term, especially when it comes to dexes, as there appears to be little reason to not utilize the starks.