Ethereum Starks is one of the possible solutions to increase the capacity of the Ethereum network developed by the 0x team. The aim is to make decentralised exchanges effectively viable on Ethereum. In recent days, the protocol developed by 0x for decentralised exchanges has been tested on the Ethereum testnet, allowing up to 550 transactions per second.

Matt Taylor, from 0x, said:

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 counterparty 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“.

Ethereum Starks: transaction compression for greater capacity

Starks uses a familiar model of a decentralised exchange, where funds are deposited on a smart contract through an off-chain account. At this point, Starks-based proofs come into play, verifying that no user is cheating.

The DEX (in the Alpha it is a simulator) sends a batch of 0x orders to the StarkDEX service, managed by StarkWare. This service checks the signatures of each transaction in the batch and their validity. StarkDEX then stores the off-chain data and adds it to the tracking service being executed.

StarkDEX then creates a proof of the validity of the entire batch and sends it together with the latest State Root, to the smart contract verification on-chain. It checks and verifies the proof of validity and sends the State Root to the DEX smart contract to be archived on the blockchain.

At this point, the smart contract verification connects to the pipeline of the 0x smart contract, which moves the batch that needs to be confirmed to the Ethereum blockchain.

The real innovation in this mechanism is the use of the Starks protocol for the compression of transactions. In fact, as of today, no other project uses a similar mechanism.

As a result, a way has been found to exploit ZK-snarks without the need for a trusted setup. Starks has thus proved to be a new mechanism of zero-knowledge proof, offering a mathematical method capable of demonstrating something without revealing what. For example, this means that an address can be shown to have 1 ETH without revealing whether it is 1.1 or 1000 ETH.

Vitalik Buterin, co-founder of Ethereum, said:

“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 results of the testnet simulation

During the simulation of a decentralised Starks-based exchange on the testnet, 0.12 ETH, equivalent to $28, was paid for 1024 orders, ie actual transactions.

By making two quick calculations, it is 2 cents per transaction against the actual 10 cents per transaction required in the last few days. All 1024 orders consumed 6,240,131 units of gas, close to the block limit of 8 million.

Simple transactions reach a maximum of 21,000 units of gas, while for tokens this limit rises to 50,000. So the capacity increase is between a modest x4 and almost an x10, but according to the project team, the maximum capacity could include about 8,000 transactions.

This results in an increase in scalability of about one hundred times. Unfortunately, Etherscan does not show how many bytes were needed for archiving but there seems to be a significant compression of transactions.

Ethereum Starks could offer a very similar solution to a second layer, but without the trade-off of channels, which are very limiting within decentralised exchanges.