Starknet is an Ethereum layer-2 scaling solution that uses a zero-knowledge rollup based on StarkWare Industry’s trustless “STARK” proof.
Starknet is one of many layer-2 scaling solutions (L2s) for Ethereum. There are multiple approaches to increasing transaction speeds and decrease costs, but one of the most popular has become zk-rollups. Both commonly-found types of rollups—the other is called “optimistic”—perform some amount of computation off-chain, so that some work can be done without using the resource-intensive Ethereum mainnet. They then batch many transactions together to document them on the network. This decongests Ethereum while users experience discounted fees.
Previous zk-rollups have used a technology called zk-SNARKS. However, Starknet’s innovation is called the Scalable, Transparent Argument of Knowledge (STARK). A zk-STARK uses two components—sequencers and provers—to mathematically validate transactions, create a STARK proof, and then communicate with smart contracts on Ethereum’s mainnet to formally record transactions. Starknet also uses its own coding language called Cairo, which is intended to make development more accessible to programmers.
Although Starknet initially allowed payment for network fees in the form of Ethereum’s ETH token, it has since added an alternative medium of exchange: a native STRK token. STRK is not only used to pay transaction fees, but is also used for staking and governance purposes—maintaining the network and helping drive its development.
How was Starknet developed?
Starknet was developed by StarkWare Industries, an Israeli tech company founded in 2018 by Eli Ben-Sasson, Uri Kolodny, Michael Riabzev, and Alessandro Chiesa. Ben-Sasson was also a founder of the privacy-focused Zcash cryptocurrency that was based on Bitcoin. At the time of Starknet’s founding, he was a professor at Technion – Israel Institute of Technology, and in 2019, Technion sued him over intellectual property (IP) allegations. This eventually resulted in a settlement and Ben-Sasson’s departure from the institution.
StarkWare’s first product was StarkEx, a permissioned scaling solution introduced in 2020 that uses the same zk-STARK technology behind Starknet. It is used by decentralized derivatives exchange dYdX and the L2 Immutable X. However, StarkWare ultimately aimed to build its own permissionless L2, and that effort culminated in the publishing of Starknet’s genesis block in November 2021. Exactly one year later, the Starknet token (STRK) was deployed on the Ethereum Mainnet, though the tokens were not immediately offered for sale. They became publicly available in February 2024.
Within its first five years, StarkWare was one of the industry’s most well-funded projects. Its seed funding round from private investors was quickly followed by a $12 million grant from the Ethereum Foundation. It continued to receive hundreds of millions of dollars in funding from notable participants including the now-defunct Alameda Research, Paradigm, Sequoia Capital, and other venture capital firms.
How does Starknet work?
Because the purpose of blockchain is to make all interactions decentralized and trustless, off-chain processing (found in multiple types of scaling solutions) must be validated in a similarly trustless way. Starknet accomplishes this by using a Scalable, Transparent Argument of Knowledge (STARK) proof, which was first introduced in 2018. Unlike their older cousin, zk-SNARK, zk-STARKs do not require trust in a centralized party during their set-up.
Sequencers and provers
There are two main components of Starknet’s STARK-based L2: the sequencers and the provers.
Transactions are submitted to Starknet just as they would be on the mainnet. These are first processed and validated by sequencers, which act like Ethereum nodes with more capabilities. These computers put transactions into a queue called a mempool, and they propose blocks and then place these transactions into those blocks. Unsuccessful transactions don’t move forward. Once a group of transactions are executed and finalized into a block, the sequencer communicates to other sequencers for approval, and then the block is sent to provers.
Provers are responsible for further guaranteeing transactions in a block are valid. They organize blocks in groups (like sequencers process transactions) and process them in parallel, which makes the process faster. In doing so, they create an Execution Trace and a State Diff, which record the steps of transaction execution and how the state of Starknet changes, respectively. The Execution Trace then is fed through an algorithm that mixes together its data and identifies any bad data (such as a single bad transaction). A small, random sample of transactions is then used as a verification for the STARK proof that contains thousands.
Publishing to the Ethereum mainnet
The STARK proof and State Diff are then communicated back to the mainnet as a single Ethereum transaction. This is how Starknet scales so effectively: it batches thousands of transactions into this one transaction.
On Ethereum, a node accepts the transaction and unpacks it to find the proof and State Diff, which are then processed by the Verifier smart contract. The Verifier examines the samples in the proof to ensure their validity and then passes the next step to the Starknet Core smart contract. At this step, there is confirmation that the proof is valid (per the Verifier) and that the State Diff is present, and the Starknet’s state is updated on Ethereum. The rest of the process is Ethereum’s usual operating procedure: adding the Starknet transaction to a block and then sending it to the network to be validated and finalized.
How is the STRK token used?
The STRK token has three primary uses: 1) payment of fees, 2) governance, and 3) staking.
Like other blockchain-based networks, users of Starknet must pay fees in order to submit and process transactions. The flow of transaction fees helps to provide the economic incentives that drive use of the network. STRK can also be used to participate in community governance of the protocol. This is performed by “wrapping” STRK to turn it into vSTRK (voting STRK) in a 1:1 ratio, which allows a user to vote or designate another user—a delegate—to vote for them. vSTRK can then be unwrapped to STRK to be used for other purposes.
Finally, when the STRK token was first introduced in February 2024, there were plans for using it as part of a future Proof of Stake (PoS) network. However, Starknet had not yet transitioned from a “sequencer + prover” to a PoS protocol, so this use for STRK was still theoretical.
Token supply and distribution
At inception, there were ten billion STRK tokens created by StarkWare. Although this was the total supply at launch, it is not considered the maximum supply. The development team planned for future releases of tokens through the protocol through staking and block rewards, but a process for this was not immediately implemented, in anticipation of guidance via community governance.
Of the original ten billion tokens, 20.04% were allocated to the development team and early contributors, 18.17% to investors, 10.76% to StarkWare, 12.93% to grants to develop the protocol, 10% to the Starknet Foundation’s strategic reserve, 9% each to provisions and rebates, 8.1% to the Starknet Foundation treasury for other purposes, and 2% for donations to institutions and organizations.
Relevant tokens were subject to a lock-up period so parties like the team and investors could not dump their tokens onto the market. However, StarkWare faced early backlash about a particularly short lock-up period of those tokens: 13% of tokens would be unlocked within approximately 2 months of public launch. Because of this, the lock-up schedule was quickly revised.
Conclusion
- Starknet is an Ethereum layer 2 scaling solution that uses a zk-rollup to transfer processing of transactions off-chain in an effort to increase their speeds and decrease their cost.
- The zk-STARK mechanism involves sequencers and provers who are responsible for ensuring off-chain computation is verifiably accurate, and “bad’ data does not reach the Ethereum mainnet.
- The STRK token facilitates transactions by providing a means for paying fees on the network, and it can also be used in governance and in staking.