Skip to content

Commit 60888c6

Browse files
authored
Architecture refactor #1660
1 parent ac7f042 commit 60888c6

File tree

9 files changed

+26
-40
lines changed

9 files changed

+26
-40
lines changed

.htaccess

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,3 +421,4 @@ RewriteRule ^architecture-and-concepts/smart-contracts/cairo-and-sierra/$ https:
421421
RewriteRule ^architecture-and-concepts/smart-contracts/serialization-of-cairo-types/$ https://book.cairo-lang.org/ch102-04-serialization-of-cairo-types.html [R=301,L]
422422
RewriteRule ^architecture-and-concepts/(.*)$ /architecture/$1 [R=301,L]
423423
RewriteRule ^architecture/economics-of-starknet/$ /architecture/strk? [R=301,L]
424+
RewriteRule ^architecture/protocol-overview/$ /architecture/overview? [R=301,L]

components/Starknet/antora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Starknet
44
nav:
55
- modules/ROOT/nav.adoc
66
- modules/guides/nav.adoc
7-
- modules/tools/nav.adoc
87
- modules/architecture/nav.adoc
8+
- modules/tools/nav.adoc
99
- modules/ecosystem/nav.adoc
1010
- modules/resources/nav.adoc

components/Starknet/modules/ROOT/pages/index.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ If you're completely new to Starknet or its programming language, https://www.ca
1111

1212
🦮 Go to _Guides_ to keep talking to a minimum and follow Starknet's lead
1313

14-
🛠️ Go to _Tooling_ to harness the power of Starknet's toolchain
15-
16-
🚦 Go to _Protocol_ to learn about Starknet's unique features and design
14+
🏛️ Go to _Architecture_ to learn about Starknet's unique features and design
1715

18-
🥞 Go to Stack to break down Starknet's architecture layer by layer
16+
🛠️ Go to _Tooling_ to harness the power of Starknet's toolchain
1917

2018
🌍 Go to _Ecosystem_ to explore Starknet's third-party landscape
2119

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
* Protocol
2-
** xref:protocol-overview.adoc[Overview]
1+
* Architecture
2+
** xref:overview.adoc[Overview]
33
** xref:accounts.adoc[]
44
** xref:blocks.adoc[]
55
** xref:cryptography.adoc[]
66
** xref:data-availability.adoc[]
77
** xref:fees.adoc[]
88
** xref:messaging.adoc[]
9+
** xref:sharp.adoc[]
10+
** xref:os.adoc[]
911
** xref:staking.adoc[]
12+
** xref:starkgate.adoc[]
1013
** xref:state.adoc[]
1114
** xref:strk.adoc[]
1215
** xref:transactions.adoc[]
13-
* Stack
14-
** https://book.cairo-lang.org/[Cairo ↗^]
15-
** xref:sharp.adoc[SHARP]
16-
** xref:os.adoc[SNOS]
17-
** xref:starkgate.adoc[]
18-
** https://docs.starknet.io/stwo-book/[Stwo ↗^]

components/Starknet/modules/architecture/pages/os.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[id="sn_os"]
2-
= SNOS (Starknet operating system)
2+
= SNOS
33

44
== Overview
55

6-
As an L2 validity rollup, Starknet's state on Ethereum can't be updated without proving that all the blocks between the current state and the new state are valid. SNOS is xref:what_is_snos?[the key element in Starknet's architecture] that xref:how_does_snos_work?[verifies the validity of Starknet blocks] and is required for xref:using_snos_to_update_starknets_state[
6+
As an L2 validity rollup, Starknet's state on Ethereum can't be updated without proving that all the blocks between the current state and the new state are valid. SNOS (**S**tark**N**et **O**perating **S**ystem) is xref:what_is_snos?[the key element in Starknet's architecture] that xref:how_does_snos_work?[verifies the validity of Starknet blocks] and is required for xref:using_snos_to_update_starknets_state[
77
updating Starknet's state]. SNOS has two xref:implementations[implementations], a fully-open source one in Rust and a partially open-source one in Python.
88

99
[NOTE]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
= Architecture overview
2+
3+
Starknet is a coordinated system, with each element in its architecture playing a specific yet interconnected role.
4+
5+
As with other blockchains, everything starts with an xref:accounts.adoc[account]. On Starknet, accounts are smart contracts — a model which is known as native account abstraction, and allows for flexible authorization logic like multisig, session keys, or passkey-based authentication, all without changes to the protocol itself. When users want to interact with the network, they send xref:transactions.adoc[transactions]. These can invoke contract functions, deploy new contracts, or register new classes, and may involve communication between Ethereum and Starknet — The latter are handled through xref:messaging.adoc[L1↔L2 messaging], enabling secure bridges such as xref:starkgate.adoc[].
6+
7+
Periodically, transactions are collected and ordered into xref:blocks.adoc[blocks], which include a xref:cryptography.adoc[cryptographic] commitment the xref:state.adoc[state] of the network after executing them. To ensure that state transitions are valid, Starknet uses xref:sharp.adoc[SHARP] to generate and aggregate proofs of running the xref:os.adoc[SNOS] program. These proofs compress the entire block's execution into a succinct, verifiable artifact, which are submitted to Ethereum to be verified, so that Starknet's execution can be trusted without re-running it. Starknet also ensures access to the data involved in the computation through xref:data-availability.adoc[data availability], publishing compressed state diffs to Ethereum so the full state can be reconstructed and verified.
8+
9+
All of this — execution, proof generation, and L1 publishing — isn't free, which is where xref:fees.adoc[fees] come in. Users pay fees to cover the cost of using network resources, and these fees are paid in xref:strk.adoc[STRK], Starknet's native token. STRK is also used to power Starknet's xref:staking.adoc[staking protocol], where validators selected from STRK stakers help secure the sequencing layer and validate block production. This mechanism is designed to support decentralization and provide economic guarantees around block inclusion and ordering.
10+
11+
All together, these elements form a tightly integrated architecture, enabling scalable and expressive applications with low fees and strong security — all without compromising on decentralization or Ethereum alignment.

components/Starknet/modules/architecture/pages/protocol-overview.adoc

Lines changed: 0 additions & 21 deletions
This file was deleted.

components/Starknet/modules/architecture/pages/sharp.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[id="provers"]
2-
= SHARP (Shared Prover)
2+
= SHARP
33
:down_arrow: ↓
44

5-
== Introduction
5+
== Overview
66

7-
SHARP is like public transportation for proofs on Starknet, aggregating multiple Cairo programs to save costs and boost efficiency. It uses recursive proofs, enabling parallelization and optimization, making it more affordable for all users. Critical services like the gateway, validator, and Prover work together with a stateless design for flexibility. SHARP’s adoption by StarkEx and Starknet highlights its significance and potential for future optimization.
7+
SHARP (**SHAR**ed **P**rover) is like public transportation for proofs on Starknet, aggregating multiple Cairo programs to save costs and boost efficiency. It uses recursive proofs, enabling parallelization and optimization, making it more affordable for all users. Critical services like the gateway, validator, and Prover work together with a stateless design for flexibility. SHARP’s adoption by StarkEx and Starknet highlights its significance and potential for future optimization.
88

99
This topic discusses SHARP, how it has evolved to incorporate recursive proofs, and its role in reducing costs and improving efficiency within the Starknet network.
1010

components/Starknet/modules/architecture/pages/state.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= State management
1+
= State
22

33
== Overview
44

0 commit comments

Comments
 (0)