1<!DOCTYPE HTML> 2<html lang="en" class="light" dir="ltr"> 3 <head> 4 <!-- Book generated using mdBook --> 5 <meta charset="UTF-8"> 6 <title>Welcome - ZK Jargon Decoder</title> 7 8 9 <!-- Custom HTML head --> 10 11 <meta name="description" content=""> 12 <meta name="viewport" content="width=device-width, initial-scale=1"> 13 <meta name="theme-color" content="#ffffff"> 14 15 <link rel="icon" href="favicon.svg"> 16 <link rel="shortcut icon" href="favicon.png"> 17 <link rel="stylesheet" href="css/variables.css"> 18 <link rel="stylesheet" href="css/general.css"> 19 <link rel="stylesheet" href="css/chrome.css"> 20 <link rel="stylesheet" href="css/print.css" media="print"> 21 22 <!-- Fonts --> 23 <link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> 24 <link rel="stylesheet" href="fonts/fonts.css"> 25 26 <!-- Highlight.js Stylesheets --> 27 <link rel="stylesheet" href="highlight.css"> 28 <link rel="stylesheet" href="tomorrow-night.css"> 29 <link rel="stylesheet" href="ayu-highlight.css"> 30 31 <!-- Custom theme stylesheets --> 32 33 </head> 34 <body class="sidebar-visible no-js"> 35 <div id="body-container"> 36 <!-- Provide site root to javascript --> 37
37<script> 38 var path_to_root = ""; 39 var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light"; 40 </script>
40 41 42 <!-- Work around some values being stored in localStorage wrapped in quotes --> 43
43<script> 44 try { 45 var theme = localStorage.getItem('mdbook-theme'); 46 var sidebar = localStorage.getItem('mdbook-sidebar'); 47 48 if (theme.startsWith('"') && theme.endsWith('"')) { 49 localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1)); 50 } 51 52 if (sidebar.startsWith('"') && sidebar.endsWith('"')) { 53 localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1)); 54 } 55 } catch (e) { } 56 </script>
56 57 58 <!-- Set the theme before any content is loaded, prevents flash --> 59
59<script> 60 var theme; 61 try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } 62 if (theme === null || theme === undefined) { theme = default_theme; } 63 var html = document.querySelector('html'); 64 html.classList.remove('light') 65 html.classList.add(theme); 66 var body = document.querySelector('body'); 67 body.classList.remove('no-js') 68 body.classList.add('js'); 69 </script>
69 70 71 <input type="checkbox" id="sidebar-toggle-anchor" class="hidden"> 72 73 <!-- Hide / unhide sidebar before it is displayed --> 74
74<script> 75 var body = document.querySelector('body'); 76 var sidebar = null; 77 var sidebar_toggle = document.getElementById("sidebar-toggle-anchor"); 78 if (document.body.clientWidth >= 1080) { 79 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { } 80 sidebar = sidebar || 'visible'; 81 } else { 82 sidebar = 'hidden'; 83 } 84 sidebar_toggle.checked = sidebar === 'visible'; 85 body.classList.remove('sidebar-visible'); 86 body.classList.add("sidebar-" + sidebar); 87 </script>
87 88 89 <nav id="sidebar" class="sidebar" aria-label="Table of contents"> 90 <div class="sidebar-scrollbox"> 91 <ol class="chapter"><li class="chapter-item expanded affix "><a href="foreword.html" class="active">Welcome</a></li><li class="chapter-item expanded affix "><li class="part-title">Introduction to ZK Jargon</li><li class="chapter-item expanded "><a href="intro_to_zk/what_is_proving.html">What does it mean to prove?</a></li><li class="chapter-item expanded "><a href="intro_to_zk/interactive_proofs.html">Probabilistic and Interactive proofs</a></li><li class="chapter-item expanded affix "><li class="part-title">Acronyms</li><li class="chapter-item expanded "><a href="acronyms.html">List of Common Acronyms</a></li><li class="chapter-item expanded affix "><li class="part-title">Definitions</li><li class="chapter-item expanded "><a href="definitions/algebraic_holographic_proof.html">Algebraic Holographic Proof (AHP)</a></li><li class="chapter-item expanded "><a href="definitions/arithmetization.html">Arithmetization</a></li><li class="chapter-item expanded "><a href="definitions/base_field.html">Base Field</a></li><li class="chapter-item expanded "><a href="definitions/circuit.html">Circuit</a></li><li class="chapter-item expanded "><a href="definitions/coefficient_form.html">Coefficient Form</a></li><li class="chapter-item expanded "><a href="definitions/common_reference_string.html">Common Reference String</a></li><li class="chapter-item expanded "><a href="definitions/completeness.html">Completeness</a></li><li class="chapter-item expanded "><a href="definitions/constraints.html">Constraints</a></li><li class="chapter-item expanded "><a href="definitions/elliptic_curve.html">Elliptic Curve</a></li><li class="chapter-item expanded "><a href="definitions/evaluation_form.html">Evaluation Form</a></li><li class="chapter-item expanded "><a href="definitions/fast_fourier_transform.html">Fast Fourier Transform</a></li><li class="chapter-item expanded "><a href="definitions/fiat_shamir.html">Fiat-Shamir Transform</a></li><li class="chapter-item expanded "><a href="definitions/fhe.html">Fully Homomorphic Encryption (FHE)</a></li><li class="chapter-item expanded "><a href="definitions/instance.html">Instance</a></li><li class="chapter-item expanded "><a href="definitions/lagrange_interpolation.html">Lagrange Interpolation</a></li><li class="chapter-item expanded "><a href="definitions/language.html">Language</a></li><li class="chapter-item expanded "><a href="definitions/mpc.html">Multi-party Computation (MPC)</a></li><li class="chapter-item expanded "><a href="definitions/nullifier.html">Nullifier</a></li><li class="chapter-item expanded "><a href="definitions/oracle.html">Oracle</a></li><li class="chapter-item expanded "><a href="definitions/plonkish_arithmetization.html">PLONKish Arithmetization</a></li><li class="chapter-item expanded "><a href="definitions/polynomial_commitment.html">Polynomial Commitment Scheme</a></li><li class="chapter-item expanded "><a href="definitions/polynomial_interactive_oracle_proof.html">Polynomial Interactive Oracle Proof</a></li><li class="chapter-item expanded "><a href="definitions/preprocessing_snark.html">Preprocessing SNARK</a></li><li class="chapter-item expanded "><a href="definitions/public-coin.html">Public-coin</a></li><li class="chapter-item expanded "><a href="definitions/quadratic_arithmetic_program.html">Quadratic Arithmetic Program</a></li><li class="chapter-item expanded "><a href="definitions/r1cs.html">R1CS</a></li><li class="chapter-item expanded "><a href="definitions/random_oracle.html">Random Oracle</a></li><li class="chapter-item expanded "><a href="definitions/relation.html">Relation</a></li><li class="chapter-item expanded "><a href="definitions/roots_of_unity.html">Roots of Unity</a></li><li class="chapter-item expanded "><a href="definitions/scalable.html">Scalable</a></li><li class="chapter-item expanded "><a href="definitions/scalar_field.html">Scalar Field</a></li><li class="chapter-item expanded "><a href="definitions/schwartz_zippel.html">Schwartz-Zippel Lemma</a></li><li class="chapter-item expanded "><a href="definitions/snark.html">SNARK</a></li><li class="chapter-item expanded "><a href="definitions/soundness.html">Soundness</a></li><li class="chapter-item expanded "><a href="definitions/stark.html">STARK</a></li><li class="chapter-item expanded "><a href="definitions/structured_reference_string.html">Structured Reference String</a></li><li class="chapter-item expanded "><a href="definitions/succinct.html">Succinct</a></li><li class="chapter-item expanded "><a href="definitions/threshold_encryption.html">Threshold Encryption</a></li><li class="chapter-item expanded "><a href="definitions/transparent_setup.html">Transparent Setup</a></li><li class="chapter-item expanded "><a href="definitions/trusted_setup.html">Trusted Setup</a></li><li class="chapter-item expanded "><a href="definitions/vanishing_polynomial.html">Vanishing Polynomial</a></li><li class="chapter-item expanded "><a href="definitions/witness.html">Witness</a></li><li class="chapter-item expanded "><a href="definitions/witness_encryption.html">Witness Encryption</a></li><li class="chapter-item expanded "><a href="definitions/zero_knowledge_proof.html">Zero-Knowledge Proof</a></li><li class="chapter-item expanded "><a href="definitions/zkvm.html">zkVM</a></li></ol> 92 </div> 93 <div id="sidebar-resize-handle" class="sidebar-resize-handle"> 94 <div class="sidebar-resize-indicator"></div> 95 </div> 96 </nav> 97 98 <!-- Track and set sidebar scroll position --> 99
99<script> 100 var sidebarScrollbox = document.querySelector('#sidebar .sidebar-scrollbox'); 101 sidebarScrollbox.addEventListener('click', function(e) { 102 if (e.target.tagName === 'A') { 103 sessionStorage.setItem('sidebar-scroll', sidebarScrollbox.scrollTop); 104 } 105 }, { passive: true }); 106 var sidebarScrollTop = sessionStorage.getItem('sidebar-scroll'); 107 sessionStorage.removeItem('sidebar-scroll'); 108 if (sidebarScrollTop) { 109 // preserve sidebar scroll position when navigating via links within sidebar 110 sidebarScrollbox.scrollTop = sidebarScrollTop; 111 } else { 112 // scroll sidebar to current active section when navigating via "next/previous chapter" buttons 113 var activeSection = document.querySelector('#sidebar .active'); 114 if (activeSection) { 115 activeSection.scrollIntoView({ block: 'center' }); 116 } 117 } 118 </script>
118 119 120 <div id="page-wrapper" class="page-wrapper"> 121 122 <div class="page"> 123 <div id="menu-bar-hover-placeholder"></div> 124 <div id="menu-bar" class="menu-bar sticky"> 125 <div class="left-buttons"> 126 <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> 127 <i class="fa fa-bars"></i> 128 </label> 129 <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list"> 130 <i class="fa fa-paint-brush"></i> 131 </button> 132 <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu"> 133 <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li> 134 <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li> 135 <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> 136 <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> 137 <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> 138 </ul> 139 <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar"> 140 <i class="fa fa-search"></i> 141 </button> 142 </div> 143 144 <h1 class="menu-title">ZK Jargon Decoder</h1> 145 146 <div class="right-buttons"> 147 <a href="print.html" title="Print this book" aria-label="Print this book"> 148 <i id="print-button" class="fa fa-print"></i> 149 </a> 150 <a href="https://github.com/zkjargon/zkjargon.github.io/" title="Git repository" aria-label="Git repository"> 151 <i id="git-repository-button" class="fa fa-github"></i> 152 </a> 153 <a href="https://github.com/zkjargon/zkjargon.github.io/edit/main/src/foreword.md" title="Suggest an edit" aria-label="Suggest an edit"> 154 <i id="git-edit-button" class="fa fa-edit"></i> 155 </a> 156 157 </div> 158 </div> 159 160 <div id="search-wrapper" class="hidden"> 161 <form id="searchbar-outer" class="searchbar-outer"> 162 <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> 163 </form> 164 <div id="searchresults-outer" class="searchresults-outer hidden"> 165 <div id="searchresults-header" class="searchresults-header"></div> 166 <ul id="searchresults"> 167 </ul> 168 </div> 169 </div> 170 171 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> 172
172<script> 173 document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); 174 document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible'); 175 Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) { 176 link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1); 177 }); 178 </script>
178 179 180 <div id="content" class="content"> 181 <main> 182 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"> 183<h1 id="foreword"><a class="header" href="#foreword">Foreword</a></h1> 184<h2 id="welcome-to-the-zk-jargon-decoder-"><a class="header" href="#welcome-to-the-zk-jargon-decoder-">Welcome to the ZK Jargon Decoder ðµï¸</a></h2> 185<p>The ZK Jargon Decoder aims to be a <strong>dictionary and reference guide</strong> for common jargon found in <strong>cryptography and the zero-knowledge literature</strong>. It is collection of <strong>informal and practical</strong> definitions. Each term should have a one-liner for quick reference and a more detailed explanation if needed.</p> 186<p>The nature of this project implies that our definitions will not be perfectly accurate: some technical details will be omitted, some subtleties will be ignored. However if you feel that any of these definitions overlook important aspects of the terms they clarify please get in touch by email or Twitter:</p> 187<p>email: <a href="mailto:[email protected]">[email protected]</a> // Twitter: <a href="https://twitter.com/nico_mnbl">@nico_mnbl</a></p> 188<p>This project is still work in progress, participation and suggestions are always welcome!</p> 189<h2 id="license"><a class="header" href="#license">License</a></h2> 190<p><em>ZK Jargon Decoder</em> by ZK Jargon Decoder contributors is licensed under CC BY-SA 4.0. To view a copy of this license, visit <a href="https://creativecommons.org/licenses/by-sa/4.0/">https://creativecommons.org/licenses/by-sa/4.0/</a></p> 191 192 </main> 193 194 <nav class="nav-wrapper" aria-label="Page navigation"> 195 <!-- Mobile navigation buttons --> 196 197 <a rel="next prefetch" href="intro_to_zk/what_is_proving.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> 198 <i class="fa fa-angle-right"></i> 199 </a> 200 201 <div style="clear: both"></div> 202 </nav> 203 </div> 204 </div> 205 206 <nav class="nav-wide-wrapper" aria-label="Page navigation"> 207 208 <a rel="next prefetch" href="intro_to_zk/what_is_proving.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right"> 209 <i class="fa fa-angle-right"></i> 210 </a> 211 </nav> 212 213 </div> 214 215 216 217 218
218<script> 219 window.playground_copyable = true; 220 </script>
220 221 222 223
223<script src="elasticlunr.min.js"></script>
223 224
224<script src="mark.min.js"></script>
224 225
225<script src="searcher.js"></script>
225 226 227
227<script src="clipboard.min.js"></script>
227 228
228<script src="highlight.js"></script>
228 229
229<script src="book.js"></script>
229 230 231 <!-- Custom JS scripts --> 232 233 234 </div> 235 </body> 236</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.