summaryrefslogtreecommitdiff
path: root/5a
diff options
context:
space:
mode:
authorAnthony Towns <aj@erisian.com.au>2022-02-24 16:53:05 +1000
committerbitcoindev <bitcoindev@gnusha.org>2022-02-24 06:53:17 +0000
commit7545d2f81f20c462b6a393aac886afada463f732 (patch)
treebcbd95e392e04b2698a2f50dc16e17e6d9550997 /5a
parent93032cf03dfb5aae03e938d1f0bc1257aefb5de0 (diff)
downloadpi-bitcoindev-7545d2f81f20c462b6a393aac886afada463f732.tar.gz
pi-bitcoindev-7545d2f81f20c462b6a393aac886afada463f732.zip
Re: [bitcoin-dev] Recursive covenant opposition, or the absence thereof, was Re: TXHASH + CHECKSIGFROMSTACKVERIFY in lieu of CTV and ANYPREVOUT
Diffstat (limited to '5a')
-rw-r--r--5a/92eb7e63cea8c139121c3976effd04531ee051171
1 files changed, 171 insertions, 0 deletions
diff --git a/5a/92eb7e63cea8c139121c3976effd04531ee051 b/5a/92eb7e63cea8c139121c3976effd04531ee051
new file mode 100644
index 000000000..2edbe3d87
--- /dev/null
+++ b/5a/92eb7e63cea8c139121c3976effd04531ee051
@@ -0,0 +1,171 @@
+Return-Path: <aj@erisian.com.au>
+Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])
+ by lists.linuxfoundation.org (Postfix) with ESMTP id D8F11C0011
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 24 Feb 2022 06:53:17 +0000 (UTC)
+Received: from localhost (localhost [127.0.0.1])
+ by smtp4.osuosl.org (Postfix) with ESMTP id B9929401DF
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 24 Feb 2022 06:53:17 +0000 (UTC)
+X-Virus-Scanned: amavisd-new at osuosl.org
+X-Spam-Flag: NO
+X-Spam-Score: -1.621
+X-Spam-Level:
+X-Spam-Status: No, score=-1.621 tagged_above=-999 required=5
+ tests=[BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.276, SPF_HELO_NONE=0.001,
+ SPF_NONE=0.001, UNPARSEABLE_RELAY=0.001]
+ autolearn=no autolearn_force=no
+Received: from smtp4.osuosl.org ([127.0.0.1])
+ by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id yEyyoxhA7ZyP
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 24 Feb 2022 06:53:15 +0000 (UTC)
+X-Greylist: from auto-whitelisted by SQLgrey-1.8.0
+Received: from azure.erisian.com.au (cerulean.erisian.com.au [139.162.42.226])
+ by smtp4.osuosl.org (Postfix) with ESMTPS id 96723401DD
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 24 Feb 2022 06:53:15 +0000 (UTC)
+Received: from aj@azure.erisian.com.au (helo=sapphire.erisian.com.au)
+ by azure.erisian.com.au with esmtpsa (Exim 4.92 #3 (Debian))
+ id 1nN7zy-0003UB-0W; Thu, 24 Feb 2022 16:53:12 +1000
+Received: by sapphire.erisian.com.au (sSMTP sendmail emulation);
+ Thu, 24 Feb 2022 16:53:05 +1000
+Date: Thu, 24 Feb 2022 16:53:05 +1000
+From: Anthony Towns <aj@erisian.com.au>
+To: ZmnSCPxj <ZmnSCPxj@protonmail.com>,
+ Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+Message-ID: <20220224065305.GB1965@erisian.com.au>
+References: <CAMZUoK=pkZuovtifBzdqhoyegzG+9hRTFEc7fG9nZPDK4KbU3w@mail.gmail.com>
+ <87leymuiu8.fsf@rustcorp.com.au>
+ <CAD5xwhgP2_51Dvar0f1tsMrCXZ61W9-HnLgR45D-54Oc7-X1ag@mail.gmail.com>
+ <0100017ee6472e02-037d355d-4c16-43b0-81d2-4a82b580ba99-000000@email.amazonses.com>
+ <i710HUIxNHIqCNhkh07dzlShyDp9ZkoEokw9ZBezCFvsk05ZUy5fXK1xx_IQifLh4f3RYb8FJM_MFm7hAaQFaUM3Jy3E8QhfSzkaogAu1Gs=@protonmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+In-Reply-To: <i710HUIxNHIqCNhkh07dzlShyDp9ZkoEokw9ZBezCFvsk05ZUy5fXK1xx_IQifLh4f3RYb8FJM_MFm7hAaQFaUM3Jy3E8QhfSzkaogAu1Gs=@protonmail.com>
+User-Agent: Mutt/1.10.1 (2018-07-13)
+X-Spam-Score-int: -18
+X-Spam-Bar: -
+Subject: Re: [bitcoin-dev] Recursive covenant opposition,
+ or the absence thereof,
+ was Re: TXHASH + CHECKSIGFROMSTACKVERIFY in lieu of CTV and ANYPREVOUT
+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, 24 Feb 2022 06:53:17 -0000
+
+On Wed, Feb 23, 2022 at 11:28:36AM +0000, ZmnSCPxj via bitcoin-dev wrote:
+> Subject: Turing-Completeness, And Its Enablement Of Drivechains
+
+> And we have already rejected Drivechains,
+
+That seems overly strong to me.
+
+> for the following reason:
+> 1. Sidechain validators and mainchain miners have a strong incentive to
+> merge their businesses.
+> 2. Mainchain miners end up validating and commiting to sidechain blocks.
+> 3. Ergo, sidechains on Drivechains become a block size increase.
+
+I think there are two possible claims about drivechains that would make
+them unattractive, if true:
+
+ 1) that adding a drivechain is a "block size increase" in the sense
+ that every full node and every miner need to do more work when
+ validating a block, in order to be sure whether the majority of hash
+ rate will consider it valid, or will reject it and refuse to build
+ on it because it's invalid because of some external drivechain rule
+
+ 2) that funds deposited in drivechains will be stolen because
+ the majority of hashrate is not enforcing drivechain rules (or that
+ deposited funds cannot be withdrawn, but will instead be stuck in
+ the drivechain, rather than having a legitimate two-way peg)
+
+And you could combine those claims, saying that one or the other will
+happen (depending on whether more or less than 50% of hashpower is
+enforcing drivechain rules), and either is bad, even though you don't
+know which will happen.
+
+I believe drivechain advocates argue a third outcome is possible where
+neither of those claims hold true, where only a minority of hashrates
+needs to validate the drivechain rules, but that is still sufficient
+to prevent drivechain funds from being stolen.
+
+One way to "reject" drivechains is simply to embrace the second claim --
+that putting money into drivechains isn't safe, and that miners *should*
+claim coins that have been drivehcain encumbered (or that miners
+should not assist with withdrawing funds, leaving them trapped in the
+drivechain). In some sense this is already the case: bip300 rules aren't
+enforced, so funds committed today via bip300 can likely expect to be
+stolen, and likely won't receive the correct acks, so won't progress
+even if they aren't stolen.
+
+
+
+I think a key difference between tx-covenant based drivechains and bip300
+drivechains is hashpower endorsement: if 50% of hashpower acks enforcement
+of a new drivechain (as required in bip300 for a new drivechain to exist
+at all), there's an implicit threat that any block proposing an incorrect
+withdrawal from that blockchain will have their block considered invalid
+and get reorged out -- either directly by that hashpower majority, or
+indirectly by users conducting a UASF forcing the hashpower majority to
+reject those blocks.
+
+I think removing that implicit threat changes the game theory
+substantially: rather than deposited funds being withdrawn due to the
+drivechain rules, you'd instead expect them to be withdrawn according to
+whoever's willing to offer the miners the most upfront fees to withdraw
+the funds.
+
+That seems to me to mean you'd frequently expect to end up in a scorched
+earth scenario, where someone attempts to steal, then they and the
+legitimate owner gets into a bidding war, with the result that most
+of the funds end up going to miners in fees. Because of the upfront
+payment vs delayed collection of withdrawn funds, maybe it could end up
+as a dollar auction, with the two parties competing to lose the least,
+but still both losing substantial amounts?
+
+So I think covenant-based drivechains would be roughly the same as bip300
+drivechains, where a majority of hashpower used software implementing
+the following rules:
+
+ - always endorse any proposed drivechain
+ - always accept any payment into a drivechain
+ - accept bids to ack/nack withdrawals, then ack/nack depending on
+ whoever pays the most
+
+You could probably make covenant-based drivechains a closer match to
+bip300 drivechains if a script could determine if an input was from a
+(100-block prior) coinbase or not.
+
+> Logically, if the construct is general enough to form Drivechains, and
+> we rejected Drivechains, we should also reject the general construct.
+
+Not providing X because it can only be used for E, may generalise to not
+providing Y which can also only be used for E, but it doesn't necessarily
+generalise to not providing Z which can be used for both G and E.
+
+I think it's pretty reasonable to say:
+
+ a) adding dedicated consensus features for drivechains is a bad idea
+ in the absence of widespread consensus that drivechains are likely
+ to work as designed and be a benefit to bitcoin overall
+
+ b) if you want to risk your own funds by leaving your coins on an
+ exchange or using lightning or eltoo or tumbling/coinjoin or payment
+ pools or drivechains or being #reckless in some other way, and aren't
+ asking for consensus changes, that's your business
+
+Cheers,
+aj
+
+