summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZmnSCPxj <ZmnSCPxj@protonmail.com>2022-11-08 12:01:11 +0000
committerbitcoindev <bitcoindev@gnusha.org>2022-11-08 12:01:30 +0000
commitd771ffb194741259b4ac7202a32d20f57cab3959 (patch)
tree9b898303283512b43e7ccebbefafbc76b3edc3c2
parent70c7f1d437920420f4f00482e7a30b0e4c01c4cd (diff)
downloadpi-bitcoindev-d771ffb194741259b4ac7202a32d20f57cab3959.tar.gz
pi-bitcoindev-d771ffb194741259b4ac7202a32d20f57cab3959.zip
Re: [bitcoin-dev] Merkleize All The Things
-rw-r--r--e6/0d310be9b208396c98916786fc2ae60af0613f125
1 files changed, 125 insertions, 0 deletions
diff --git a/e6/0d310be9b208396c98916786fc2ae60af0613f b/e6/0d310be9b208396c98916786fc2ae60af0613f
new file mode 100644
index 000000000..1dc61704a
--- /dev/null
+++ b/e6/0d310be9b208396c98916786fc2ae60af0613f
@@ -0,0 +1,125 @@
+Return-Path: <ZmnSCPxj@protonmail.com>
+Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
+ by lists.linuxfoundation.org (Postfix) with ESMTP id 3A7B9C002D
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 8 Nov 2022 12:01:30 +0000 (UTC)
+Received: from localhost (localhost [127.0.0.1])
+ by smtp2.osuosl.org (Postfix) with ESMTP id 0800C402DC
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 8 Nov 2022 12:01:30 +0000 (UTC)
+DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 0800C402DC
+Authentication-Results: smtp2.osuosl.org;
+ dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com
+ header.a=rsa-sha256 header.s=protonmail3 header.b=F/AEznat
+X-Virus-Scanned: amavisd-new at osuosl.org
+X-Spam-Flag: NO
+X-Spam-Score: -1.602
+X-Spam-Level:
+X-Spam-Status: No, score=-1.602 tagged_above=-999 required=5
+ tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
+ DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
+ FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_MSPIKE_H2=-0.001,
+ SPF_HELO_PASS=-0.001, SPF_PASS=-0.001]
+ autolearn=ham autolearn_force=no
+Received: from smtp2.osuosl.org ([127.0.0.1])
+ by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id IIOfTjsH2OL7
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 8 Nov 2022 12:01:28 +0000 (UTC)
+X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0
+DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 9A48640104
+Received: from mail-4324.protonmail.ch (mail-4324.protonmail.ch [185.70.43.24])
+ by smtp2.osuosl.org (Postfix) with ESMTPS id 9A48640104
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 8 Nov 2022 12:01:28 +0000 (UTC)
+Date: Tue, 08 Nov 2022 12:01:11 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
+ s=protonmail3; t=1667908886; x=1668168086;
+ bh=10vyl1VaZuxaKaJ6kQk4Q+Fa5V36zv6mTuYSKDSbdSg=;
+ h=Date:To:From:Subject:Message-ID:In-Reply-To:References:
+ Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
+ Message-ID:BIMI-Selector;
+ b=F/AEznattWwZS3gVx6FY2FpXv3soeLy9wrF5yVv1MW2Al8zLC2i68ZLIFufM6+y+D
+ 9lVcGLRWw2Zj6aqL82vu7ZSk7//wGN2xFJmbvu3ODPPijmofeDbVBmSUgNpvy3aonB
+ jFG3SMorn6dUglM1duwkFu79gsKZvLoWzg/rhwdwZskZhcgGAFbOlTF5U3Q3X86roF
+ B/U8+OEyPF6u58uiYrQbVvr8+VjevBlEO4It9dvbT1k2ucS67j1D2tx0LAHNp2aa/Q
+ RxDlXfWiG37O6gwzeiHu7ed1Ng2L4SpS/fSF2Iy4+g2XDWjOHhRzUoVtHoBwJds4WQ
+ Etue47QODwQhA==
+To: Salvatore Ingala <salvatore.ingala@gmail.com>,
+ Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+From: ZmnSCPxj <ZmnSCPxj@protonmail.com>
+Message-ID: <Vbb1PZfBzm6JBddqNIfikVE2G1fDmObt0BBt2BqhmHV_Tx7KLGU5SSQPPp0OaLZHAKrkKobA2f60tX4TOl996aE9ds1tZWaGAHbSr9wu5r0=@protonmail.com>
+In-Reply-To: <CAMhCMoH9uZPeAE_2tWH6rf0RndqV+ypjbNzazpFwFnLUpPsZ7g@mail.gmail.com>
+References: <CAMhCMoH9uZPeAE_2tWH6rf0RndqV+ypjbNzazpFwFnLUpPsZ7g@mail.gmail.com>
+Feedback-ID: 2872618:user:proton
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
+Subject: Re: [bitcoin-dev] Merkleize All The Things
+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: Tue, 08 Nov 2022 12:01:30 -0000
+
+Good morning Salvatore,
+
+Interesting idea.
+
+The idea to embed the current state is similar to something I have been mus=
+ing about recently.
+
+
+> ### Game theory (or why the chain will not see any of this)
+>=20
+> With the right economic incentives, protocol designers can guarantee that=
+ playing a losing game always loses money compared to cooperating. Therefor=
+e, the challenge game is never expected to be played on-chain. The size of =
+the bonds need to be appropriate to disincentivize griefing attacks.
+
+Modulo bugs, operator error, misconfigurations, and other irrationalities o=
+f humans.
+
+
+
+> - OP_CHECKOUTPUTCOVENANTVERIFY: given a number out_i and three 32-byte ha=
+sh elements x, d and taptree on top of the stack, verifies that the out_i-t=
+h output is a P2TR output with internal key computed as above, and tweaked =
+with taptree. This is the actual covenant opcode.
+
+Rather than get taptree from the stack, just use the same taptree as in the=
+ revelation of the P2TR.
+This removes the need to include quining and similar techniques: just do th=
+e quining in the SCRIPT interpreter.
+
+The entire SCRIPT that controls the covenant can be defined as a taptree wi=
+th various possible branches as tapleaves.
+If the contract is intended to terminate at some point it can have one of t=
+he tapleaves use `OP_CHECKINPUTCOVENANTVERIFY` and then determine what the =
+output "should" be using e.g. `OP_CHECKTEMPLATEVERIFY`.
+
+
+> - Is it worth adding other introspection opcodes, for example OP_INSPECTV=
+ERSION, OP_INSPECTLOCKTIME? See Liquid's Tapscript Opcodes [6].
+
+`OP_CHECKTEMPLATEVERIFY` and some kind of sha256 concatenated hashing shoul=
+d be sufficient I think.
+
+> - Is there any malleability issue? Can covenants =E2=80=9Crun=E2=80=9D wi=
+thout signatures, or is a signature always to be expected when using spendi=
+ng conditions with the covenant encumbrance? That might be useful in contra=
+cts where no signature is required to proceed with the protocol (for exampl=
+e, any party could feed valid data to the bisection protocol above).
+
+Hmm protocol designer beware?
+
+Regards,
+ZmnSCPxj
+