mailman-lists-archive/pipermail/zapps-wg/2018/000233.html

121 lines
5.9 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE> [zapps-wg] The Go implementation of Powers of Tau
</TITLE>
<LINK REL="Index" HREF="/pipermail/zapps-wg/2018/index.html" >
<LINK REL="made" HREF="mailto:zapps-wg%40lists.zfnd.org?Subject=Re%3A%20%5Bzapps-wg%5D%20The%20Go%20implementation%20of%20Powers%20of%20Tau&In-Reply-To=%3CCAKazn3n0MtZz_Ub9LTEWPrDiz-4gLyLgmJzbD1dWFa1v312xcg%40mail.gmail.com%3E">
<META NAME="robots" CONTENT="index,nofollow">
<style type="text/css">
pre {
white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
}
</style>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<LINK REL="Previous" HREF="000232.html">
<LINK REL="Next" HREF="000234.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[zapps-wg] The Go implementation of Powers of Tau</H1>
<B>Sean Bowe</B>
<A HREF="mailto:zapps-wg%40lists.zfnd.org?Subject=Re%3A%20%5Bzapps-wg%5D%20The%20Go%20implementation%20of%20Powers%20of%20Tau&In-Reply-To=%3CCAKazn3n0MtZz_Ub9LTEWPrDiz-4gLyLgmJzbD1dWFa1v312xcg%40mail.gmail.com%3E"
TITLE="[zapps-wg] The Go implementation of Powers of Tau">sean at z.cash
</A><BR>
<I>Sun Jan 28 13:54:26 EST 2018</I>
<P><UL>
<LI>Previous message (by thread): <A HREF="000232.html">[zapps-wg] The Go implementation of Powers of Tau
</A></li>
<LI>Next message (by thread): <A HREF="000234.html">[zapps-wg] Powers of Tau Attestation 48
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#233">[ date ]</a>
<a href="thread.html#233">[ thread ]</a>
<a href="subject.html#233">[ subject ]</a>
<a href="author.html#233">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>It's not a showstopper at all. :) I'm just very interested in
determinism because it massively reduces the need for participants to
source dependencies correctly and safely.
Sean
On Sun, Jan 28, 2018 at 11:23 AM, Devrandom &lt;<A HREF="/mailman/listinfo/zapps-wg">c1.devrandom at niftybox.net</A>&gt; wrote:
&gt;<i> Very happy to hear about the go implementation for a couple of reasons:
</I>&gt;<i>
</I>&gt;<i> - this gives us another path to trusted binaries from pure source + gcc
</I>&gt;<i> - this may work well on ARM64, which gives us another architecture - one
</I>&gt;<i> that doesn't have a management engine (in contrast, mrustc currently only
</I>&gt;<i> works on x86)
</I>&gt;<i>
</I>&gt;<i> It would be good to look into how distributions compile their go binaries -
</I>&gt;<i> whether they use the latest version of the toolchain, or they bootstrap from
</I>&gt;<i> golang 1.4 (which only depends on gcc). If they use the latest, it would be
</I>&gt;<i> good to have people compile their own from source.
</I>&gt;<i>
</I>&gt;<i> About the mrustc work that I've done - I don't think the lack of determinism
</I>&gt;<i> is a showstopper. It just means that contributors have to compile from
</I>&gt;<i> source, which is time consuming. Perhaps there was some miscommunication
</I>&gt;<i> about that?
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i> On Sun, Jan 28, 2018 at 5:12 AM Sean Bowe via zapps-wg
</I>&gt;<i> &lt;<A HREF="/mailman/listinfo/zapps-wg">zapps-wg at lists.z.cash.foundation</A>&gt; wrote:
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Great work on this. I wonder if this implementation will be a better
</I>&gt;&gt;<i> foundation for fully-deterministic and trustworthy builds? I am
</I>&gt;&gt;<i> disappointed that devrandom's efforts were stymied by non-determinism
</I>&gt;&gt;<i> in the Rust compiler. :(
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Sean
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> On Sat, Jan 27, 2018 at 12:30 PM, Filippo Valsorda via zapps-wg
</I>&gt;&gt;<i> &lt;<A HREF="/mailman/listinfo/zapps-wg">zapps-wg at lists.z.cash.foundation</A>&gt; wrote:
</I>&gt;&gt;<i> &gt; Hello folks,
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; <A HREF="https://github.com/FiloSottile/powersoftau">https://github.com/FiloSottile/powersoftau</A> is a fully independent
</I>&gt;&gt;<i> &gt; implementation of Powers of Tau. It is written in Go, shares no code with
</I>&gt;&gt;<i> &gt; the main Rust implementation, and uses the RELIC library for BLS12-381.
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; I used it for my contribution, but for it to be truly valuable to the
</I>&gt;&gt;<i> &gt; security of the MPC ceremony more people need to run it, including in more
</I>&gt;&gt;<i> &gt; secure settings than my laptop.
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; The README includes build instructions. If there are any problems feel
</I>&gt;&gt;<i> &gt; free to open an issue on GitHub or email me.
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; To enable people to run both implementations there's a -next option to
</I>&gt;&gt;<i> &gt; generate the next challenge file while computing the response. This is much
</I>&gt;&gt;<i> &gt; faster than running verify_transform as it doesn't do verification and it
</I>&gt;&gt;<i> &gt; doesn't have to decompress points.
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; You should assume that secret material will be left in memory, and
</I>&gt;&gt;<i> &gt; protect against side channels, just like with the Rust implementation.
</I>&gt;&gt;<i> &gt;
</I>&gt;&gt;<i> &gt; _o/
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message (by thread): <A HREF="000232.html">[zapps-wg] The Go implementation of Powers of Tau
</A></li>
<LI>Next message (by thread): <A HREF="000234.html">[zapps-wg] Powers of Tau Attestation 48
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#233">[ date ]</a>
<a href="thread.html#233">[ thread ]</a>
<a href="subject.html#233">[ subject ]</a>
<a href="author.html#233">[ author ]</a>
</LI>
</UL>
<hr>
<a href="/mailman/listinfo/zapps-wg">More information about the zapps-wg
mailing list</a><br>
</body></html>