Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8BDD6C001E for ; Tue, 4 Jan 2022 14:42:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 79E66813F9 for ; Tue, 4 Jan 2022 14:42:41 +0000 (UTC) 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com 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 nREPj0HXY9z4 for ; Tue, 4 Jan 2022 14:42:40 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by smtp1.osuosl.org (Postfix) with ESMTPS id A2344813C1 for ; Tue, 4 Jan 2022 14:42:40 +0000 (UTC) Received: by mail-wr1-x436.google.com with SMTP id r17so76616968wrc.3 for ; Tue, 04 Jan 2022 06:42:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=EA/a6lecMzffyPTUzuALhrzrrakuE93NPOlEv8yk9y4=; b=O6lpzcovaDpgad0Wyq5dd6/qys5mgIRWD4V3Jn9RUojFKERk9jdm/IK+6JoN2I5z4s gUbMdhW2/Jj7Bg9MH1PaXCnMzQlARgr5rBc55qmVVL6f9xE9JUc6qK0emEtXgl4PaUtY 8187oi1+aSGZsVI39LGzdsuPccen3JxWg7R3kVuR428WdGFXZXK0pMJHrOvzhD2pribr kNAUUwDhuB8Tu13ZA9Bk54JG1A/nv8ZjINZgnf4c+VU5GjwUw87B8OA1AM9ecDn29H7I oB2+FbaaGZXcs8xdev4bqwpfyNptqhDxcwiZTtBTzQZGeFBIWgNXKV5V9RQneM4OgqGJ ZmRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=EA/a6lecMzffyPTUzuALhrzrrakuE93NPOlEv8yk9y4=; b=7eIFsSIxTv68NXML4I8UsXJ2R52XmBrcnMBRIoni/T+XCKpFxEVBfjBMkBNX1hEPAX sfxLBMhl+WA6nwo3jREWSP0HCRSiytwgSLpeHKP7YOsD59WUsRDJ8fELwU5nkNyHUteT kr/4kQYWtbMfmU4u1iG1xAZFHNMNzCUb/MRrvWh/l+s322eHxynTuPI4rIqmIjXCc26A ujyX9u+Uk5tNX4wVMeGm+mfqeEnDSkIVRdfc07Te+29jrylQLsJ0hmAZOHUYZHUqSMGq 9k1cfXOMLukfhVfw7e5T3dVT+GG6F0901DIm9+Rz/8+y3HL2jcu3USh6drhb6UtlY+p1 Gwyg== X-Gm-Message-State: AOAM531LHVRE/wefsnLJb8s/aOwMm8NAiV8WVJJ13kFmBqPrroqLhtWt PTn2W360X3qEEKrathz7EqIfKRlNrRw= X-Google-Smtp-Source: ABdhPJxG/DJlwgmgssIQzAGw2FmTRMgBrb3pCypWO9WR7L3BUU8FKy4k++BLFa53ao8kW6yfQYFPVw== X-Received: by 2002:a5d:64ef:: with SMTP id g15mr43333412wri.297.1641307358640; Tue, 04 Jan 2022 06:42:38 -0800 (PST) Received: from localhost (243.86.254.84.ftth.as8758.net. [84.254.86.243]) by smtp.gmail.com with ESMTPSA id a2sm43115651wri.17.2022.01.04.06.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jan 2022 06:42:38 -0800 (PST) From: Christian Decker To: Prayank , Bitcoin Protocol Discussion , Michael Folkson In-Reply-To: References: Date: Tue, 04 Jan 2022 15:42:28 +0100 Message-ID: <87o84r7eaz.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: Bitcoin Dev Subject: Re: [bitcoin-dev] Stumbling into a contentious soft fork activation attempt 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: Tue, 04 Jan 2022 14:42:41 -0000 Prayank via bitcoin-dev writes: >> To contrast with his approach, the authors and contributors of >> another future soft fork proposal (BIP 118 [3], SIGHASH_ANYPREVOUT) >> aren=E2=80=99t promoting an imminent soft fork activation attempt and in= stead >> are building out and testing one of the speculated use cases, eltoo >> payment channels [4]. > > Because its not ready? Could you elaborate on this point? I keep seeing people mentioning this, but I, as BIP co-author, have not seen any real pushback. For context BIP118 was initially called `sighash_noinput` and it was mentioned at least as far back as 2015 when Joseph and Tadje wrote about its applications in the LN protocol. While writing eltoo we stumbled over an alternative use, and decided to draft the formal proposal. Once we saw that Taproot is likely to activate next, AJ started adapting it to integrate nicely with Taproot, and renamed it to anyprevout. I'd like to point out that the original noinput could be implemented with as little as 3-5 lines of code in Bitcoin Core, and there are experimental branches implementing APO, which isn't significantly more complex than the original proposal. In addition Richard Myers has implemented a PoC of eltoo on top of one of these experimental branches. So with all this I don't see how APO could be considered "not ready". The reason that neither noinput nor APO have a section on activation is that we want to allow bundling with other soft-forks, and we want to minimize the surface for potential conflicts. Also as the Taproot activation has shown activation is a whole another discussion, that is mostly unrelated to the soft-fork being activated. Why aren't we yelling about the advantages of APO over other soft-forks or asking for immediate activation? Because we want to be respectful of everyone's time. We know review capacity is very limited, and developer time expensive. By now most devs will be aware of the many improvements (on LN, eltoo, MPC, channel factories, statechains, spacechains, etc) anyprevout would enable, so there is little point in annoying everyone by constantly talking about it. The people interested in exploring this venue are already working on it, and we just need to wait for an opportune moment to start the activation discussion with other soft-forks. I also see people comparing OP_CTV with APO, which may or may not work out in the end. It seems possible to emulate APO using OP_CTV, but at what cost? APO does not have any overhead in the transaction size, which is not the case for OP_CTV, and I therefore consider the two proposals complementary, and not competing (APO does best what APO does best, while OP_CTV enables use-cases beyond APO's scope). While I'd prefer APO for eltoo, due to its lack of overhead, I'm also happy to go wih OP_CTV if only one gets activated (But then why would we? We've done much more obscure things to save bytes in a TX). Finally I see people mentioning that APO is insufficient to get eltoo. That's also not true, since in fact we can implement a poor-man's version of eltoo right now: - When updating: - Iterate through all prior update TXs - Bind the new update TX to each of the prior ones - Sign using `sighash_all` - Collect all sinatures and send to peer (message size O(n), but semantics are preserved, while APO enable O(1) making it actually reasonable to implement). There may be some extensions, such as layered commitments that may be added at a later stage, but they are not required to get the first versions off the ground. Pretending that they're required would be like saying that the protocol in the LN paper hasn't changed since it was first written (definitely not the case). Overall I agree with Michael's sentiment that soft-fork activations have to be carefully planned, and kept at a reasonable pace. This is in order to ensure that the activated features will work as expected (building PoCs is important here) and that review time is kept efficient (bundling may help here). For these reasons we omitted the activation discussion in BIP118 and have trimmed the proposal to the bare minimum. Sorry for the longish rant, but I felt I needed to clarify this situation a bit. Cheers, Christian