Skip to content

Commit

Permalink
deploy: f2d9e8f
Browse files Browse the repository at this point in the history
  • Loading branch information
Overcastan authored and Overcastan committed Jul 18, 2023
1 parent 206f78a commit e6bb7b9
Show file tree
Hide file tree
Showing 15 changed files with 59 additions and 205 deletions.
Binary file removed assets/design/range/rc_optimisation.png
Binary file not shown.
Binary file added assets/design/range/rc_with_bridge_rows.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/design/range/rc_with_bridge_rows.zip
Binary file not shown.
Binary file modified assets/design/vm_trace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/design/vm_trace.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion design/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ <h2 id="vm-components"><a class="header" href="#vm-components">VM components</a>
</ul>
<p>The above components are connected via <strong>buses</strong>, which are implemented using <a href="./multiset.html">multiset checks</a>. We also use multiset checks internally within components to describe <strong>virtual tables</strong>.</p>
<h2 id="vm-execution-trace"><a class="header" href="#vm-execution-trace">VM execution trace</a></h2>
<p>The execution trace of Miden VM consists of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">72</span></span></span></span> main trace columns, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span> buses, and <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">6</span></span></span></span> virtual tables, as shown in the diagram below.</p>
<p>The execution trace of Miden VM consists of <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">71</span></span></span></span> main trace columns, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span> buses, and <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">5</span></span></span></span> virtual tables, as shown in the diagram below.</p>
<p><img src="../assets/design/vm_trace.png" alt="vm_trace.png" /></p>
<p>As can be seen from the above, the system, decoder, stack, and range checker components use dedicated sets of columns, while all chiplets share the same <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">17</span></span></span></span> columns. To differentiate between chiplets, we use a set of binary selector columns, a combination of which uniquely identifies each chiplet.</p>
<p>The system component does not yet have a dedicated documentation section, since the design is likely to change. However, the following two columns are not expected to change:</p>
Expand Down
5 changes: 0 additions & 5 deletions design/multiset.html
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,6 @@ <h3 id="virtual-tables-in-miden-vm"><a class="header" href="#virtual-tables-in-m
<li><a href="./decoder/main.html#op-group-table">Op group table</a></li>
</ul>
</li>
<li>Range checker:
<ul>
<li><a href="./range.html#8-bit-range-checks-table">8-bit range checks table</a></li>
</ul>
</li>
<li>Chiplets:
<ul>
<li><a href="./chiplets/main.html#chiplet-virtual-table">Chiplets virtual table</a>, which combines the following two tables into one:
Expand Down
116 changes: 24 additions & 92 deletions design/range.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion design/stack/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ <h2 id="right-shift"><a class="header" href="#right-shift">Right shift</a></h2>
<h2 id="left-shift"><a class="header" href="#left-shift">Left shift</a></h2>
<p>If an operation removes an item from the stack, we say that the operation caused a left shift. For example, a <code>DROP</code> operation causes a left shift. Assuming the stack is in the state we left it at the end of the previous section, graphically, this looks like so:</p>
<p><img src="../../assets/design/stack/stack_1st_left_shift.png" alt="" /></p>
<p>Overall, the during the left shift we do the following:</p>
<p>Overall, during the left shift we do the following:</p>
<ul>
<li>When stack depth is greater than <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">16</span></span></span></span>:
<ul>
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ <h1 class="menu-title">Polygon Miden VM</h1>
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
<p>Miden VM is a zero-knowledge virtual machine written in Rust. For any program executed on Miden VM, a STARK-based proof of execution is automatically generated. This proof can then be used by anyone to verify that the program was executed correctly without the need for re-executing the program or even knowing the contents of the program.</p>
<h2 id="status-and-features"><a class="header" href="#status-and-features">Status and features</a></h2>
<p>Miden VM is currently on release v0.6. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward.</p>
<p>Miden VM is currently on release v0.7. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward.</p>
<p>At this point, Miden VM is good enough for experimentation, and even for real-world applications, but it is not yet ready for production use. The codebase has not been audited and contains known and unknown bugs and security flaws.</p>
<h3 id="feature-highlights"><a class="header" href="#feature-highlights">Feature highlights</a></h3>
<p>Miden VM is a fully-featured virtual machine. Despite being optimized for zero-knowledge proof generation, it provides all the features one would expect from a regular VM. To highlight a few:</p>
Expand Down
2 changes: 1 addition & 1 deletion intro/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ <h1 class="menu-title">Polygon Miden VM</h1>
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
<p>Miden VM is a zero-knowledge virtual machine written in Rust. For any program executed on Miden VM, a STARK-based proof of execution is automatically generated. This proof can then be used by anyone to verify that the program was executed correctly without the need for re-executing the program or even knowing the contents of the program.</p>
<h2 id="status-and-features"><a class="header" href="#status-and-features">Status and features</a></h2>
<p>Miden VM is currently on release v0.6. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward.</p>
<p>Miden VM is currently on release v0.7. In this release, most of the core features of the VM have been stabilized, and most of the STARK proof generation has been implemented. While we expect to keep making changes to the VM internals, the external interfaces should remain relatively stable, and we will do our best to minimize the amount of breaking changes going forward.</p>
<p>At this point, Miden VM is good enough for experimentation, and even for real-world applications, but it is not yet ready for production use. The codebase has not been audited and contains known and unknown bugs and security flaws.</p>
<h3 id="feature-highlights"><a class="header" href="#feature-highlights">Feature highlights</a></h3>
<p>Miden VM is a fully-featured virtual machine. Despite being optimized for zero-knowledge proof generation, it provides all the features one would expect from a regular VM. To highlight a few:</p>
Expand Down
2 changes: 1 addition & 1 deletion intro/usage.html
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ <h1 class="menu-title">Polygon Miden VM</h1>
<main>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
<h1 id="usage"><a class="header" href="#usage">Usage</a></h1>
<p>Before you can use Miden VM, you'll need to make sure you have Rust <a href="https://www.rust-lang.org/tools/install">installed</a>. Miden VM v0.6 requires Rust version <strong>1.67</strong> or later.</p>
<p>Before you can use Miden VM, you'll need to make sure you have Rust <a href="https://www.rust-lang.org/tools/install">installed</a>. Miden VM v0.7 requires Rust version <strong>1.67</strong> or later.</p>
<p>Miden VM consists of several crates, each of which exposes a small set of functionality. The most notable of these crates are:</p>
<ul>
<li><a href="https://crates.io/crates/miden-processor">miden-processor</a>, which can be used to execute Miden VM programs.</li>
Expand Down
Loading

0 comments on commit e6bb7b9

Please sign in to comment.