Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9BE3BC0037 for ; Fri, 19 Jan 2024 19:27:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 6481F84691 for ; Fri, 19 Jan 2024 19:27:48 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 6481F84691 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.a=rsa-sha256 header.s=protonmail3 header.b=JaObX/HQ X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 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, 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 nfO7yNsd5-WC for ; Fri, 19 Jan 2024 19:27:47 +0000 (UTC) Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com [51.77.79.158]) by smtp1.osuosl.org (Postfix) with ESMTPS id B2EFD84690 for ; Fri, 19 Jan 2024 19:27:46 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org B2EFD84690 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1705692457; x=1705951657; bh=VEjd0Kxu3v+OJIzzm1L5r/pYxwhPYQ3qPujPusiIi5E=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=JaObX/HQeRTkMPbc7yVOvKccWW9+vYzIK5FRNTTNFkt2nztjaxHKZD240Hm4B90Bz pQkd/1kftY/ycXxG3WfJgYCTj5jWuoTR1Xyl9GbWwa0NACyTn3zzDYFfG0y7mF/EYo XYdzWGu6n0G5EzaE6Aw91x/T8lJknVK/RwWABjtwpN7rr95c31cbYufectpzq3Qwdv chRyrcUJgDlqzqM2Gwrd+i0gsCPXSBMRyDtQLyZiQLqcciOSAI9pQcz9QabG+RodQD hSngIMYgMhzN6FOPpNLjnrq7ePyH3hKYPvX0vy2pjr3cHJfIJF7AYirZuEDm70p0wW 0wMFO8MuenMSA== Date: Fri, 19 Jan 2024 19:27:30 +0000 To: Peter Todd From: Michael Folkson Message-ID: In-Reply-To: References: <030e09b8-3831-45ff-92ad-9531ae277f80@dashjr.org> <6ZZYFympMLvwZ3otE_ebPh3wAuPFYb1BKL_3O_NrlQYKfsAJNlobGrZQjK23BxNeIdJ_8x_SAhgF_po1qO68MI_XONG7aPsnEL45y8SNndQ=@protonmail.com> Feedback-ID: 27732268:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 23 Jan 2024 13:46:37 +0000 Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] BIP process friction 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: Fri, 19 Jan 2024 19:27:48 -0000 Thanks for this Peter, really helpful.=20 > It is a much more fundamental standard than Ordinals or Taproot Assets, in the sense that transaction replacement is expected to be used by essentially all wallets as all wallet= s have to deal with fee-rate fluctuations; I do not think that Ordinals or Taproot assets are appropriate BIP material due to their niche use-case. Yes I'd personally lean towards this view too. Certainly when you go into a= lternative asset territory (e.g. Counterparty, Liquid (Network) assets, Tap= root assets) it is moving away from what you can do with the Bitcoin asset/= currency and into building a new ecosystem with a different asset/currency.= I would agree that that should probably be out of scope for *Bitcoin* Impr= ovement Proposals without having any particular opinion on the utility of a= ny of those ecosystems. > just the other day I ran into someone that didn't know RBF Rule #6 existed, which Core added on top of BIP-125, a= nd had made a mistake in their safety analysis of a protocol due to that. I suspected this might be the case but to actually have a data point to bac= k that up (beyond I personally find it unnecessarily confusing and hard to = follow) is helpful, thanks. > Finally, I think the lesson to be learned here is that mempool policy is = better served by *living* documentation that gets updated to reflect the real worl= d. There's no easy way for someone to get up to speed on what mempool policy i= s actually implemented, and more importantly, *why* it is implemented and wha= t trade-offs were made to get there. It's quite possible that this "living documentation" requirement rules out the BIP process. I get the "living", evolving point. Policy proposals are definitely differe= nt to say consensus proposals where assuming they are ever activated you'd = expect them to stay static for the rest of Bitcoin's existence barring mino= r cleanups, clarifications etc. However, one possible addition in a new BIP= 3 process would be the introduction of versioning for a particular BIP e.g= . BIP 789 version 2 which would be more conducive to these evolving proposa= ls such as policy proposals. You could then update a BIP without needing a = new BIP number for every material update. I'll wait to hear what Luke thinks on this. Beyond the friction concern I t= hink improving the BIP process for consensus and policy proposals would be = the biggest potential win for a BIP 3 update. Thanks also to Kalle too for his 18 month stint as a BIP editor :) -- Michael Folkson Email: michaelfolkson at protonmail.com GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F Learn about Bitcoin: https://www.youtube.com/@portofbitcoin On Thursday, 18 January 2024 at 18:00, Peter Todd wrot= e: > On Wed, Jan 17, 2024 at 05:29:48PM +0000, Michael Folkson via bitcoin-dev= wrote: >=20 > > Hey Luke > >=20 > > I'd be happy to pick up working on BIP 3 again ([0], [1]) in light of t= his issue and others that are repeatedly cropping up (e.g. confusion on the= recommended flow for working on proposed consensus changes, when to open a= pull request to bitcoin-inquisition, when to open a pull request to Core, = when to include/exclude activation params etc). > >=20 > > I don't think there is much I personally disagree with you on with rega= rds to BIPs but one issue where I do think there is disagreement is on whet= her proposed default policy changes can/should be BIPed. > >=20 > > I previously drafted this on proposed default policy changes [2]: > >=20 > > "To address problems such as pinning attacks on Lightning and multipart= y protocols (e.g. vaults) there are and will continue to be draft proposals= on changing the default policy rules in Bitcoin Core and/or alternative im= plementations. As these proposals are for default policy rules and not cons= ensus rules there is absolutely no obligation for Bitcoin Core and/or alter= native implementations to change their default policy rules nor users to ru= n any particular policy rules (default or otherwise). The authors of these = draft proposals are clearly recommending what they think the default policy= rules should be and what policy rules users should run but it is merely a = recommendation. There are a lot of moving parts, subtleties and complexitie= s involved in designing default policy rules so any recommendation(s) to si= gnificantly upgrade default policy rules would benefit from being subject t= o a spec process. This would also aid the review of any policy related pull= requests in Bitcoin Core and/or alternative implementations. An interestin= g recent case study washttps://github.com/bitcoin/bitcoin/pull/22665and Bit= coin Core not implementing the exact wording of BIP 125 RBF. In this case (= for various reasons) as a response Bitcoin Core just removed references to = BIP 125 and started documenting the replacement to BIP 125 rules in the Bit= coin Core repo instead. However, it is my view that recommendations for def= ault policy rules should be recommendations to all implementations, reviewe= d by Lightning and multiparty protocol developers (not just Bitcoin Core) a= nd hence they would benefit from being standardized and being subject to a = specification process. I will reiterate once again though that policy rules= are not consensus rules. Consensus rules are much closer to an obligation = as divergences from consensus rules risk the user being forked off the bloc= kchain and could ultimately end up in network splits. This does not apply t= o policy rules." > >=20 > > Are you open to adjusting your stance on proposed policy changes being = BIPed? I do think it really stunts work on proposed default policy changes = and people's ability to follow work on these proposals when the specificati= ons for them are littered all over the place. I've certainly struggled to f= ollow the latest state of V3 policy proposals without clear reference point= s for the latest state of these proposals e.g. [3]. In addition some propos= ed consensus change BIPs are starting to want to include sections on policy= (e.g. BIP345, OP_VAULT [4]) where it would be much better if they could ju= st refer to a separate policy BIP rather than including proposals for both = policy and consensus in the same BIP. >=20 >=20 > BIP-125 is I think an interesting case study. It is a much more fundament= al > standard than Ordinals or Taproot Assets, in the sense that transaction > replacement is expected to be used by essentially all wallets as all wall= ets > have to deal with fee-rate fluctuations; I do not think that Ordinals or > Taproot assets are appropriate BIP material due to their niche use-case. >=20 > The V3 proposal, and ephemeral anchors, would be expected to be used by a= wide > range of contracting protocols, most notably lightning. This isn't quite = as > broad usage as BIP-124 RBF. But it is close. And yes, Core making changes= to > what is essentially BIP125 has an impact: just the other day I ran into s= omeone > that didn't know RBF Rule #6 existed, which Core added on top of BIP-125,= and > had made a mistake in their safety analysis of a protocol due to that. >=20 > Meanwhile, engineering documentation on V3 is extremely lacking, with bas= ics > like worked through use-case examples not being available. We don't even = have > solid agreement let alone documentation on how Lightning channels are mea= nt to > use V3 transactions and what the trade-offs are. And that has lead to mis= taken > claims, such as overstating(1) the benefit V3 transactions in their curre= nt > form have for transaction pinning. >=20 > I don't think V3 necessarily needs a formal BIP. But it would benefit fro= m a > proper engineering process where use-cases are actually worked out and an= alyzed > properly. >=20 > Finally, I think the lesson to be learned here is that mempool policy is = better > served by living documentation that gets updated to reflect the real worl= d. > There's no easy way for someone to get up to speed on what mempool policy= is > actually implemented, and more importantly, why it is implemented and wha= t > trade-offs were made to get there. It's quite possible that this "living > documentation" requirement rules out the BIP process. >=20 > 1) https://petertodd.org/2023/v3-txs-pinning-vulnerability >=20 > -- > https://petertodd.org 'peter'[:-1]@petertodd.org