Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
maciejka committed Oct 16, 2024
1 parent 2c5d674 commit 0440af6
Show file tree
Hide file tree
Showing 7 changed files with 3,961 additions and 23 deletions.
23 changes: 3 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,9 @@ Shinigami is a zero-knowledge Bitcoin client implemented in Cairo. It aims to pr

> **Disclaimer:** This project is in the early stages of development and should not be used in production. It will evolve rapidly, expect breaking changes.
```mermaid
flowchart TB
Pnm1(STARK proof of the chain state up to the block <i>n - 1</i>, including utxo accumulator) --> Vp(zk verifier)
Bn(blocks <i>n..m</i>) ----> Vb
subgraph Cairo
Vp{{STARK verifier}}-->ChS(verified chain state)
ChS --> Vb{{validate block<br>against the chain state}}
Vb --> ChS
end
Vb --> Pn(STARK proof of the chain state up to the block <i>m</i>,<br> including utxo accumulator)
style Bn fill:pink
style Pn fill:lightgreen
style Pnm1 fill:lightgreen
style ChS fill:greenyellow
style Vp fill:gold
style Vb fill:gold
```
<p align="center" width="100%">
<img src="./docs/img/client.svg" alt="client"/>
</p>

At its core, consensus client accepts two inputs: a batch of consecutive blocks <i>n</i> to <i>m</i> and a STARK proof of the state of the chain up to block <i>n−1</i>. It ensures that the historical chain state is valid by verifying the STARK proof. Then, it produces a new chain state by applying the new blocks on top of the historical state. As a result, a proof of the new state is generated.

Expand Down
Loading

0 comments on commit 0440af6

Please sign in to comment.