Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id DFEC8C000E for ; 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 ; 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 ; 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 ; 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 ; Thu, 26 Aug 2021 06:26:36 -0400 Received: by mail-il1-f176.google.com with SMTP id u7so2738662ilk.7 for ; 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: In-Reply-To: From: Jeremy Date: Thu, 26 Aug 2021 03:26:23 -0700 X-Gmail-Original-Message-ID: Message-ID: To: Andrew Poelstra , Bitcoin Protocol Discussion 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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
This has actually never been true (Sapio assumes ext= ensions).

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

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.

Relevant links:

Cheers,

Jeremy

On Tue, Aug 24, 2021, 6:19 AM Andrew Poelstra vi= a bitcoin-dev <= bitcoin-dev@lists.linuxfoundation.org> wrote:

Simplicity does not compile to Bitcoin Script, and Sapio assumes extensions=
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 wrot= e:
> 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 leve= l
> languages that compile to Bitcoin Script. Sapio is "just" Ru= st, 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/1= 08261/is-there-a-tool-like-ethereum-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 bit= coin
> > scripts in a syntax just like python(or like other programming la= nguage);
> > through this tool, they can be translated into bitcoin original s= cripts; it
> > sounds like a new programming language has been invented.
> >
> > In my opinion=EF=BC=8C Bitcoin script programming is based on rev= erse Polish
> > expression; this is not friendly to programmers;
> >
> > In fact, Bitcoin's opcode expression ability is very rich, an= d it may be
> > unfriendly, which has affected the promotion of Bitcoin in the te= chnical
> > community.
> >
> > Hope for hearing some voice about this.
> >
> > Best wish.
> >
> > _______________________________________________
> > bitcoin-dev mailing list
> > bitcoin-dev@lists.linuxfoundation.org > > https://lists.lin= uxfoundation.org/mailman/listinfo/bitcoin-dev
> >

> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfou= ndation.org/mailman/listinfo/bitcoin-dev


--
Andrew Poelstra
Director of Research, Blockstream
Email: apoelstra at wpsoftware.net
Web:=C2=A0 =C2=A0https://www.wpsoftware.net/andrew
The sun is always shining in space
=C2=A0 =C2=A0 -Justin Lewis-Webster

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundati= on.org/mailman/listinfo/bitcoin-dev
--00000000000020943605ca73cd1b--