Original title: " (web3 Zhizhi Series) An article to understand StarkNet's open source stack 》
Original author: CryptoNerdCn
The Web3 Zhizhi series is a new one I started in 2023 to learn some knowledge from Web3er in daily communication The misunderstanding of concepts and concepts is used as an introduction, and the purpose is to understand even if you are in a state of brain shutdown after a busy day. By telling design ideas rather than external performance, try not to involve specific formulas and codes for non-technical personnel popular science series.
After we mentioned last time that StarkNet released the open source Sequencer (sequencer), StarkWare made another big news : StarkNet's Prover will be open source soon!
Unknowingly, since the Cairo language was open sourced in November last year, within three months, all components of StarkNet were rewritten + open sourced. Here, let's review StarkNet's open source stack.
First, let’s review The StarkNet architecture mentioned in the last article.

Sequencer is responsible for managing and coordinating the execution sequence of transactions. Sequencer can be considered as a transaction queue, which ensures that all transactions in the same block are executed in the specified order, and ensures that no transaction is executed repeatedly. Sequencer is also responsible for verifying the legitimacy of transactions and writing them to the blockchain.
Prover is responsible for generating cryptographic proofs about the validity of the Sequence execution trace. Currently, this work is performed by a single Prover, the "Share Prover" or "SHARP".
Verifier is located in L1 and is used to verify the smart contract that Starknet Prover generates the proof. If it runs successfully, it will update the state on Ethereum L1 for record keeping.
In the last article we mentioned the above three components, this time in addition to Sequencer and Prover, we will also use FullNode Explain (Verifier and StarkNet Core belong to contracts on Ethereum and are not in the scope of discussion).
Starknet's new Sequencer Blockifier was released on January 26, and its node part and CairoOS part are based on Papyrus and Cairo-rs. The previous Sequencer was a closed-source client written in python, controlled only by StarkNet itself. And this Python client is even officially admitted to be slow, and it has not realized the parallelism of transaction execution, which seriously affects the TPS of StarkNet, and does not conform to the idea of decentralization.
After the Sequencer written by Rust is open source, the most basic thing is that anyone can compile and run their own Sequencer client. At the same time, according to the official information, this client has greatly improved the execution speed. And the official successor plan is also on the way:
- Integrate the existing StarkNet Sequencer by replacing its current transaction block component written in Python.
- Enables optimistic concurrency of transaction execution.
- Extends Blockifier into a full StarkNet Sequencer, replacing the currently used sequencer.
FullNode, that is, a full node, refers to a PathFinder (path finder) client in Starknet or runs the client's machine. A full node records all transactions executed in a rollup and keeps track of the current global state of the system. It receives this information through a p2p network, and whenever a new block is created, it shares the global state and the proofs of validity associated with it.
And Papyrus, a Rust implementation of a StarkNet full node, was released on January 16. It will be part of the foundation of the new StarkNet Sequencer, greatly improving the TPS of StarkNet. Open source Papyrus, which will help improve StarkNet performance and decentralization.
Cairo OS is a virtual machine used in Sequencer to execute contracts written in Cairo language ( VM). Cairo-rs is a new open source Cairo VM developed by the third-party development team Lambdaclass to replace the old CairoVM developed by Python.
Then what is the significance of this open source Prover for the structure of StarkNet ? The first is to prepare for the decentralization of Prover, and the second is to improve the TPS of StarkNet. At present, StarkNet only has a single official Prover, which is called "Share Prover" (Shared Prover, referred to as "SHARP"). Why does it have a share in its name? It is because this prover is not only responsible for producing StarkNet proofs, but also responsible for generating StarkEX proofs (about what is StarkEX refer to here). This seriously affects the TPS of StarkNet and does not conform to the idea of decentralization * agian.
With the open source Prover, anyone can compile and run their own Prover. Of course, Prover is still only announcing open source, and has not yet released Git Repo. And because of the characteristics of ZK, Prover needs far more calculations to generate proofs than the calculations performed by Sequencer, so according to the official old documents, Prover may require extremely high configuration, and the entry threshold is very high (as shown in the figure , 4-core CPU and 16GB memory can only handle 100 hashes per second).
Cairo 1.0 has also been open-sourced this year. Since Cairo Language is written by Rust, the entire official ecology of StarkNet can be said to have become Rust Family bucket. Of course, Cairo 1.0 is not yet supported by StarkNet, so it cannot be used to write smart contracts yet. According to official sources, support for Cairo 1.0 will be implemented within Q1 of 2023.
Original link blockquote>
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia