Skip to content

Commit 17a5f83

Browse files
ryan updates
1 parent cc0636b commit 17a5f83

33 files changed

+4851
-296
lines changed

doc/book.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ title = "Prism Documentation"
88
[preprocessor.katex]
99
after = ["links"]
1010

11+
[preprocessor.mermaid]
12+
command = "mdbook-mermaid"
13+
1114
[output.html]
1215
git-repository-url = "https://github.com/deltadevsde/prism"
1316
default-theme = "ayu"
1417
no-section-label = true
15-
additional-js = ["custom.js"]
18+
additional-js = ["custom.js", "mermaid.min.js", "mermaid-init.js"]
1619
fold.enable = true
17-
fold.level = 0
20+
fold.level = 0

doc/book/404.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989

9090
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
9191
<div class="sidebar-scrollbox">
92-
<ol class="chapter"><li class="chapter-item "><a href="index.html">Introduction</a></li><li class="chapter-item "><a href="quickstart.html">Prism Quickstart</a></li><li class="chapter-item "><a href="state.html">Development Status</a></li><li class="chapter-item "><a href="crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/asymmetric.html">Asymmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li></ol></li><li class="chapter-item "><a href="architecture.html">Architecture</a></li><li class="chapter-item "><a href="labels.html">Account Sources</a></li><li class="chapter-item "><a href="datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="insert-update-proofs.html">Insert and Updates</a></li><li class="chapter-item "><a href="jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item "><a href="informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li><li class="chapter-item "><a href="resources.html">Resources</a></li></ol>
92+
<ol class="chapter"><li class="chapter-item "><a href="index.html">Introduction</a></li><li class="chapter-item "><a href="quickstart.html">Prism Quickstart</a></li><li class="chapter-item "><a href="architecture.html">Architecture</a></li><li class="chapter-item "><a href="datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="labels.html">Account Sources</a></li><li class="chapter-item "><a href="state.html">Development Status</a></li><li class="chapter-item affix "><li class="spacer"></li><li class="chapter-item affix "><li class="part-title">Prerequites</li><li class="chapter-item "><a href="insert-update-proofs.html">Inserts and Updates</a></li><li class="chapter-item "><a href="jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item "><a href="crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/asymmetric.html">Asymmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li><li class="chapter-item "><a href="informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li></ol></li><li class="chapter-item "><a href="resources.html">Resources</a></li></ol>
9393
</div>
9494
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
9595
<div class="sidebar-resize-indicator"></div>
@@ -231,6 +231,8 @@ <h1 id="document-not-found-404"><a class="header" href="#document-not-found-404"
231231

232232
<!-- Custom JS scripts -->
233233
<script src="custom.js"></script>
234+
<script src="mermaid.min.js"></script>
235+
<script src="mermaid-init.js"></script>
234236

235237

236238
</div>

doc/book/architecture.html

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888

8989
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
9090
<div class="sidebar-scrollbox">
91-
<ol class="chapter"><li class="chapter-item "><a href="index.html">Introduction</a></li><li class="chapter-item "><a href="quickstart.html">Prism Quickstart</a></li><li class="chapter-item "><a href="state.html">Development Status</a></li><li class="chapter-item "><a href="crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/asymmetric.html">Asymmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li></ol></li><li class="chapter-item expanded "><a href="architecture.html" class="active">Architecture</a></li><li class="chapter-item "><a href="labels.html">Account Sources</a></li><li class="chapter-item "><a href="datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="insert-update-proofs.html">Insert and Updates</a></li><li class="chapter-item "><a href="jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item "><a href="informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li><li class="chapter-item "><a href="resources.html">Resources</a></li></ol>
91+
<ol class="chapter"><li class="chapter-item "><a href="index.html">Introduction</a></li><li class="chapter-item "><a href="quickstart.html">Prism Quickstart</a></li><li class="chapter-item expanded "><a href="architecture.html" class="active">Architecture</a></li><li class="chapter-item "><a href="datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="labels.html">Account Sources</a></li><li class="chapter-item "><a href="state.html">Development Status</a></li><li class="chapter-item affix "><li class="spacer"></li><li class="chapter-item affix "><li class="part-title">Prerequites</li><li class="chapter-item "><a href="insert-update-proofs.html">Inserts and Updates</a></li><li class="chapter-item "><a href="jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item "><a href="crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/asymmetric.html">Asymmetric Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li><li class="chapter-item "><a href="informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li></ol></li><li class="chapter-item "><a href="resources.html">Resources</a></li></ol>
9292
</div>
9393
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
9494
<div class="sidebar-resize-indicator"></div>
@@ -179,25 +179,45 @@ <h1 class="menu-title">Prism Documentation</h1>
179179
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css">
180180
<h1 id="architecture"><a class="header" href="#architecture">Architecture</a></h1>
181181
<p>We operate as a based rollup on Celestia. The SNARKs are posted to one namespace, and the operations are posted to a secondary namespace, enabling full nodes. This architecture is designed to be trust-minimized and censorship-resistant.</p>
182-
<p>The sequencer is a partially unprivileged sequencer: while anybody can post update operations to the base layer, account creations must be signed by the sequencer. This is a temporary measure discussed in <a href="https://github.com/deltadevsde/prism/blob/main/adr/adr-002-create-account-op.md">adr-002 (Account Sources)</a>.</p>
182+
<p>The sequencer is a partially unprivileged sequencer: while anybody can post update operations to the base layer, account creations must be signed by the sequencer. This is a temporary measure discussed in <a href="https://github.com/deltadevsde/prism/blob/main/adr/adr-003-service-registration.md">adr-003 (Service Registration)</a>.</p>
183183
<p>Light nodes verify the state by downloading and verifying the SNARKs posted to Celestia. There is currently no P2P overlay for the Prism network.</p>
184184
<ol>
185185
<li>An epoch is defined by the valid operations posted to the namespace in the previous Celestia block.</li>
186186
<li>Services can replicate the state by running a full node, to serve their own stack and not rely on the liveness of the sequencer.</li>
187187
<li>Enables future prover decentralization (perhaps with a prover marketplace).</li>
188-
<li>Censorship resistance (updates can be posted directly to the DA layer).
189-
<img src="/stage2.svg" alt="" /></li>
188+
<li>Censorship resistance (updates can be posted directly to the DA layer).</li>
190189
</ol>
190+
<pre class="mermaid">graph TD
191+
User[User] --&gt;|interacts with| ChatApp[Chat Application]
192+
subgraph ChatApp[Chat Application]
193+
LuminaPrism[Lumina+Prism]
194+
end
195+
LuminaPrism --&gt;|uses| ServiceAPI[Service API]
196+
LuminaPrism --&gt;|downloads + verifies SNARK| Celestia
197+
198+
subgraph ChatServiceInfra[Chat Service Infrastructure]
199+
ChatServer[Chat Service Server]
200+
PrismNode[Prism Full Node]
201+
end
202+
203+
ServiceAPI --&gt;|requests keys and merkle proofs| ChatServiceInfra
204+
ServiceAPI --&gt;|verifies merkle proofs against commitment in SNARK| ChatServiceInfra
205+
206+
ChatServer --&gt;|uploads key updates| Celestia
207+
208+
Celestia --&gt;|gives key updates from last celestia block| Sequencer
209+
Sequencer[Sequencer/Prover] --&gt;|posts snark to celestia| Celestia
210+
</pre>
191211

192212
</main>
193213

194214
<nav class="nav-wrapper" aria-label="Page navigation">
195215
<!-- Mobile navigation buttons -->
196-
<a rel="prev" href="crypto-intro/general-merkle-proofs.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
216+
<a rel="prev" href="quickstart.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
197217
<i class="fa fa-angle-left"></i>
198218
</a>
199219

200-
<a rel="next prefetch" href="labels.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
220+
<a rel="next prefetch" href="datastructures.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
201221
<i class="fa fa-angle-right"></i>
202222
</a>
203223

@@ -207,11 +227,11 @@ <h1 id="architecture"><a class="header" href="#architecture">Architecture</a></h
207227
</div>
208228

209229
<nav class="nav-wide-wrapper" aria-label="Page navigation">
210-
<a rel="prev" href="crypto-intro/general-merkle-proofs.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
230+
<a rel="prev" href="quickstart.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
211231
<i class="fa fa-angle-left"></i>
212232
</a>
213233

214-
<a rel="next prefetch" href="labels.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
234+
<a rel="next prefetch" href="datastructures.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
215235
<i class="fa fa-angle-right"></i>
216236
</a>
217237
</nav>
@@ -252,6 +272,8 @@ <h1 id="architecture"><a class="header" href="#architecture">Architecture</a></h
252272

253273
<!-- Custom JS scripts -->
254274
<script src="custom.js"></script>
275+
<script src="mermaid.min.js"></script>
276+
<script src="mermaid-init.js"></script>
255277

256278

257279
</div>

doc/book/crypto-intro/asymmetric.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888

8989
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
9090
<div class="sidebar-scrollbox">
91-
<ol class="chapter"><li class="chapter-item "><a href="../index.html">Introduction</a></li><li class="chapter-item "><a href="../quickstart.html">Prism Quickstart</a></li><li class="chapter-item "><a href="../state.html">Development Status</a></li><li class="chapter-item expanded "><a href="../crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="../crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item expanded "><a href="../crypto-intro/asymmetric.html" class="active">Asymmetric Encryption</a></li><li class="chapter-item "><a href="../crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="../crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="../crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="../crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="../crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li></ol></li><li class="chapter-item "><a href="../architecture.html">Architecture</a></li><li class="chapter-item "><a href="../labels.html">Account Sources</a></li><li class="chapter-item "><a href="../datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="../insert-update-proofs.html">Insert and Updates</a></li><li class="chapter-item "><a href="../jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item "><a href="../informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="../zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li><li class="chapter-item "><a href="../resources.html">Resources</a></li></ol>
91+
<ol class="chapter"><li class="chapter-item "><a href="../index.html">Introduction</a></li><li class="chapter-item "><a href="../quickstart.html">Prism Quickstart</a></li><li class="chapter-item "><a href="../architecture.html">Architecture</a></li><li class="chapter-item "><a href="../datastructures.html">Datastructures</a></li><li class="chapter-item "><a href="../labels.html">Account Sources</a></li><li class="chapter-item "><a href="../state.html">Development Status</a></li><li class="chapter-item affix "><li class="spacer"></li><li class="chapter-item affix "><li class="part-title">Prerequites</li><li class="chapter-item "><a href="../insert-update-proofs.html">Inserts and Updates</a></li><li class="chapter-item "><a href="../jellyfish-merkle-proofs.html">Jellyfish Merkle Proofs</a></li><li class="chapter-item expanded "><a href="../crypto-intro/intro.html">Introduction to Cryptography</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="../crypto-intro/symmetric.html">Symmetric Encryption</a></li><li class="chapter-item expanded "><a href="../crypto-intro/asymmetric.html" class="active">Asymmetric Encryption</a></li><li class="chapter-item "><a href="../crypto-intro/hybrid.html">Hybrid Encryption</a></li><li class="chapter-item "><a href="../crypto-intro/hash-functions.html">Hash Functions</a></li><li class="chapter-item "><a href="../crypto-intro/merkle-trees.html">Merkle Trees</a></li><li class="chapter-item "><a href="../crypto-intro/cryptographic_commitment.html">Cryptographic Commitments</a></li><li class="chapter-item "><a href="../crypto-intro/general-merkle-proofs.html">Merkle Proofs</a></li><li class="chapter-item "><a href="../informal-zkps.html">Zero Knowledge Proofs (Informal)</a></li><li class="chapter-item "><a href="../zkp-basics.html">Zero Knowledge Proofs (Basics)</a></li></ol></li><li class="chapter-item "><a href="../resources.html">Resources</a></li></ol>
9292
</div>
9393
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
9494
<div class="sidebar-resize-indicator"></div>
@@ -245,6 +245,8 @@ <h1 id="asymmetric-encryption"><a class="header" href="#asymmetric-encryption">A
245245

246246
<!-- Custom JS scripts -->
247247
<script src="../custom.js"></script>
248+
<script src="../mermaid.min.js"></script>
249+
<script src="../mermaid-init.js"></script>
248250

249251

250252
</div>

0 commit comments

Comments
 (0)