<story><title>Bulletproofs – Short zero-knowledge arguments of knowledge</title><url>https://github.com/adjoint-io/bulletproofs</url></story><parent_chain></parent_chain><comment><author>hackathonguy</author><text>Zero knowledge proofs are fascinating - as a non-mathematician, I particularly enjoy real-world examples.&lt;p&gt;Two famous examples (&amp;quot;The Ali Baba Cave&amp;quot; and the &amp;quot;Two Balls and the Color Blind Friend&amp;quot;) appear in the Wikipedia article on zero knowledge proofs [1].&lt;p&gt;My favorite, however, is this paper [2] on convincing another person you&amp;#x27;ve found Waldo, without revealing his location and therefore ruining the game. It&amp;#x27;s extraordinarily simple: take a piece of cardboard larger than the Where&amp;#x27;s Waldo book, make a small, Waldo-sized cutout, and position the cardboard in a way that only Waldo himself is visible. As long as you don&amp;#x27;t give away the position of the book underneath the cardboard, you can prove you&amp;#x27;ve found Waldo without providing _any_ information as to where he is! It&amp;#x27;s pretty great.&lt;p&gt;Would love to know of other real world examples. :-)&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Zero-knowledge_proof#The_Ali_Baba_cave&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Zero-knowledge_proof#The_Ali_B...&lt;/a&gt;
[2] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.wisdom.weizmann.ac.il&amp;#x2F;%7Enaor&amp;#x2F;PAPERS&amp;#x2F;waldo.pdf&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.wisdom.weizmann.ac.il&amp;#x2F;%7Enaor&amp;#x2F;PAPERS&amp;#x2F;waldo.pdf&lt;/a&gt;</text></comment>
<story><title>Bulletproofs – Short zero-knowledge arguments of knowledge</title><url>https://github.com/adjoint-io/bulletproofs</url></story><parent_chain></parent_chain><comment><author>jlrubin</author><text>Bulletproofs are significant because they allows you to check that the amount being input and output in a Bitcoin transaction is correct without revealing the amounts to non-parties to the transaction. The size of a bulletproof is small enough (and they grow with O(c + log n)) that for transactions with a couple inputs and outputs, there is minimal overhead compared to a unblinded transaction.&lt;p&gt;The link provided is to a relatively new library for doing bullet proofs written in Haskell -- the README might benefit from more disclaimer about the verification steps taken and analysis of side channels for the library (probably not ready for production)</text></comment>