Return-Path: <jlrubin@mit.edu> Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id DFEC8C000E for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 10:26:42 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id DC52B81BF4 for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 10:26:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -4.199 X-Spam-Level: X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w5oyNvypdDhX for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 10:26:38 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by smtp1.osuosl.org (Postfix) with ESMTPS id 1908980DAD for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 10:26:37 +0000 (UTC) Received: from mail-il1-f176.google.com (mail-il1-f176.google.com [209.85.166.176]) (authenticated bits=0) (User authenticated as jlrubin@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 17QAQZA5031761 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 06:26:36 -0400 Received: by mail-il1-f176.google.com with SMTP id u7so2738662ilk.7 for <bitcoin-dev@lists.linuxfoundation.org>; Thu, 26 Aug 2021 03:26:35 -0700 (PDT) X-Gm-Message-State: AOAM532+TMt4OXxxY9WdSi2GgLt/jF5mhnscqY1YYjZpd2rLQECoAqtq G14Z321p2RI57HBQNWFtnJ62nOunlhhX4NyySpE= X-Google-Smtp-Source: ABdhPJykRXRDPLXuFP3ZBXEV1wUao0VZdk67Yv5TPQjnvuhNf16mxY4bA0l89xkKXBOKWKDcQnExIQfGbo6hQHUTTRA= X-Received: by 2002:a92:cf0d:: with SMTP id c13mr2132920ilo.49.1629973595065; Thu, 26 Aug 2021 03:26:35 -0700 (PDT) MIME-Version: 1.0 References: <E541FB6E-AB06-4B8D-86CF-530C13AF62DD@gmail.com> <CAGB645aYFvxBctxXHwH0bB=qRMTaEW263H5BxpT8b27i9S3B7w@mail.gmail.com> <YSTvYSEdDYVQhukr@camus> In-Reply-To: <YSTvYSEdDYVQhukr@camus> From: Jeremy <jlrubin@mit.edu> Date: Thu, 26 Aug 2021 03:26:23 -0700 X-Gmail-Original-Message-ID: <CAD5xwhgmAepA4jW3tK7nihMFsMEdgs0Z6UEs3k=3J1soDea0QQ@mail.gmail.com> Message-ID: <CAD5xwhgmAepA4jW3tK7nihMFsMEdgs0Z6UEs3k=3J1soDea0QQ@mail.gmail.com> To: Andrew Poelstra <apoelstra@wpsoftware.net>, Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> Content-Type: multipart/alternative; boundary="00000000000020943605ca73cd1b" Subject: Re: [bitcoin-dev] Is there a tool like Ethereum EVM at present for Bitcoin script? X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Thu, 26 Aug 2021 10:26:43 -0000 --00000000000020943605ca73cd1b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This has actually never been true (Sapio assumes extensions). If the extensions are not present, you can stub them out with a signing federation instead, configurable as flags, and you can also write many contracts that do not use the ctv based components at all. The protocol for emulation is a bit clever (if I do say so myself) since it ensures that contract compilation is completely offline and the oracles are completely stateless. Relevant links: https://learn.sapio-lang.org/ch05-01-ctv-emulator.html https://learn.sapio-lang.org/ch03-02-finish.html Cheers, Jeremy On Tue, Aug 24, 2021, 6:19 AM Andrew Poelstra via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > > Simplicity does not compile to Bitcoin Script, and Sapio assumes extensio= ns > to Bitcoin Script that are not currently part of the consensus code. > > > On Tue, Aug 24, 2021 at 03:36:29PM +0800, Gijs van Dam via bitcoin-dev > wrote: > > Hi, > > > > > > Bitcoin does not have a virtual machine. But you do have [Miniscript][1= ], > > [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher level > > languages that compile to Bitcoin Script. Sapio is "just" Rust, so that > > might fit your setting best. > > > > By the way, this question also has an answer on [Bitcoin > Stackexchange][5] > > which is a great resource for questions like this. > > > > [1]: http://bitcoin.sipa.be/miniscript/ > > [2]: https://min.sc/ > > [3]: https://github.com/ElementsProject/simplicity > > [4]: https://learn.sapio-lang.org/ > > [5]: > > > https://bitcoin.stackexchange.com/questions/108261/is-there-a-tool-like-e= thereum-evm-at-present-for-bitcoin-script > > > > On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev < > > bitcoin-dev@lists.linuxfoundation.org> wrote: > > > > > Hi all, > > > > > > Is there a tool like Ethereum EVM at present? Users can write bitcoin > > > scripts in a syntax just like python(or like other programming > language); > > > through this tool, they can be translated into bitcoin original > scripts; it > > > sounds like a new programming language has been invented. > > > > > > In my opinion=EF=BC=8C Bitcoin script programming is based on reverse= Polish > > > expression; this is not friendly to programmers; > > > > > > In fact, Bitcoin's opcode expression ability is very rich, and it may > be > > > unfriendly, which has affected the promotion of Bitcoin in the > technical > > > community. > > > > > > Hope for hearing some voice about this. > > > > > > Best wish. > > > > > > _______________________________________________ > > > bitcoin-dev mailing list > > > bitcoin-dev@lists.linuxfoundation.org > > > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > > > > > _______________________________________________ > > bitcoin-dev mailing list > > bitcoin-dev@lists.linuxfoundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > > -- > Andrew Poelstra > Director of Research, Blockstream > Email: apoelstra at wpsoftware.net > Web: https://www.wpsoftware.net/andrew > > The sun is always shining in space > -Justin Lewis-Webster > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > --00000000000020943605ca73cd1b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto"><div>This has actually never been true (Sapio assumes ext= ensions).</div><div dir=3D"auto"><br></div><div dir=3D"auto">If the extensi= ons are not present, you can stub them out with a signing federation instea= d, configurable as flags, and you can also write many contracts that do not= use the ctv based components at all.=C2=A0</div><div dir=3D"auto"><br></di= v><div dir=3D"auto">The protocol for emulation is a bit clever (if I do say= so myself) since it ensures that contract compilation is completely offlin= e and the oracles are completely stateless.</div><div dir=3D"auto"><br></di= v><div dir=3D"auto">Relevant links:</div><div dir=3D"auto"><br></div><div d= ir=3D"auto"><a href=3D"https://learn.sapio-lang.org/ch05-01-ctv-emulator.ht= ml">https://learn.sapio-lang.org/ch05-01-ctv-emulator.html</a></div><div di= r=3D"auto"><a href=3D"https://learn.sapio-lang.org/ch03-02-finish.html">htt= ps://learn.sapio-lang.org/ch03-02-finish.html</a></div><div dir=3D"auto"><b= r></div><div dir=3D"auto">Cheers,</div><div dir=3D"auto"><br></div><div dir= =3D"auto">Jeremy<br><br><div class=3D"gmail_quote" dir=3D"auto"><div dir=3D= "ltr" class=3D"gmail_attr">On Tue, Aug 24, 2021, 6:19 AM Andrew Poelstra vi= a bitcoin-dev <<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">= bitcoin-dev@lists.linuxfoundation.org</a>> wrote:<br></div><blockquote c= lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;= padding-left:1ex"><br> Simplicity does not compile to Bitcoin Script, and Sapio assumes extensions= <br> to Bitcoin Script that are not currently part of the consensus code.<br> <br> <br> On Tue, Aug 24, 2021 at 03:36:29PM +0800, Gijs van Dam via bitcoin-dev wrot= e:<br> > Hi,<br> > <br> > <br> > Bitcoin does not have a virtual machine. But you do have [Miniscript][= 1],<br> > [Min.sc][2], [Simplicity][3] and [Sapio][4]. These are all higher leve= l<br> > languages that compile to Bitcoin Script. Sapio is "just" Ru= st, so that<br> > might fit your setting best.<br> > <br> > By the way, this question also has an answer on [Bitcoin Stackexchange= ][5]<br> > which is a great resource for questions like this.<br> > <br> > [1]: <a href=3D"http://bitcoin.sipa.be/miniscript/" rel=3D"noreferrer = noreferrer" target=3D"_blank">http://bitcoin.sipa.be/miniscript/</a><br> > [2]: <a href=3D"https://min.sc/" rel=3D"noreferrer noreferrer" target= =3D"_blank">https://min.sc/</a><br> > [3]: <a href=3D"https://github.com/ElementsProject/simplicity" rel=3D"= noreferrer noreferrer" target=3D"_blank">https://github.com/ElementsProject= /simplicity</a><br> > [4]: <a href=3D"https://learn.sapio-lang.org/" rel=3D"noreferrer noref= errer" target=3D"_blank">https://learn.sapio-lang.org/</a><br> > [5]:<br> > <a href=3D"https://bitcoin.stackexchange.com/questions/108261/is-there= -a-tool-like-ethereum-evm-at-present-for-bitcoin-script" rel=3D"noreferrer = noreferrer" target=3D"_blank">https://bitcoin.stackexchange.com/questions/1= 08261/is-there-a-tool-like-ethereum-evm-at-present-for-bitcoin-script</a><b= r> > <br> > On Tue, Aug 24, 2021 at 2:55 PM Null Null via bitcoin-dev <<br> > <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_bl= ank" rel=3D"noreferrer">bitcoin-dev@lists.linuxfoundation.org</a>> wrote= :<br> > <br> > > Hi all,<br> > ><br> > > Is there a tool like Ethereum EVM at present? Users can write bit= coin<br> > > scripts in a syntax just like python(or like other programming la= nguage);<br> > > through this tool, they can be translated into bitcoin original s= cripts; it<br> > > sounds like a new programming language has been invented.<br> > ><br> > > In my opinion=EF=BC=8C Bitcoin script programming is based on rev= erse Polish<br> > > expression; this is not friendly to programmers;<br> > ><br> > > In fact, Bitcoin's opcode expression ability is very rich, an= d it may be<br> > > unfriendly, which has affected the promotion of Bitcoin in the te= chnical<br> > > community.<br> > ><br> > > Hope for hearing some voice about this.<br> > ><br> > > Best wish.<br> > ><br> > > _______________________________________________<br> > > bitcoin-dev mailing list<br> > > <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target= =3D"_blank" rel=3D"noreferrer">bitcoin-dev@lists.linuxfoundation.org</a><br= > > > <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bit= coin-dev" rel=3D"noreferrer noreferrer" target=3D"_blank">https://lists.lin= uxfoundation.org/mailman/listinfo/bitcoin-dev</a><br> > ><br> <br> > _______________________________________________<br> > bitcoin-dev mailing list<br> > <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_bl= ank" rel=3D"noreferrer">bitcoin-dev@lists.linuxfoundation.org</a><br> > <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-= dev" rel=3D"noreferrer noreferrer" target=3D"_blank">https://lists.linuxfou= ndation.org/mailman/listinfo/bitcoin-dev</a><br> <br> <br> -- <br> Andrew Poelstra<br> Director of Research, Blockstream<br> Email: apoelstra at <a href=3D"http://wpsoftware.net" rel=3D"noreferrer nor= eferrer" target=3D"_blank">wpsoftware.net</a><br> Web:=C2=A0 =C2=A0<a href=3D"https://www.wpsoftware.net/andrew" rel=3D"noref= errer noreferrer" target=3D"_blank">https://www.wpsoftware.net/andrew</a><b= r> <br> The sun is always shining in space<br> =C2=A0 =C2=A0 -Justin Lewis-Webster<br> <br> _______________________________________________<br> bitcoin-dev mailing list<br> <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank" = rel=3D"noreferrer">bitcoin-dev@lists.linuxfoundation.org</a><br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" = rel=3D"noreferrer noreferrer" target=3D"_blank">https://lists.linuxfoundati= on.org/mailman/listinfo/bitcoin-dev</a><br> </blockquote></div></div></div> --00000000000020943605ca73cd1b--