Delivery-date: Wed, 27 Mar 2024 12:18:41 -0700 Received: from mail-oo1-f61.google.com ([209.85.161.61]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rpYnI-0008Br-1h for bitcoindev@gnusha.org; Wed, 27 Mar 2024 12:18:41 -0700 Received: by mail-oo1-f61.google.com with SMTP id 006d021491bc7-5a553729aa5sf169661eaf.2 for ; Wed, 27 Mar 2024 12:18:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711567114; cv=pass; d=google.com; s=arc-20160816; b=0cs5fIjI/asEWitIQEV+sePwTwaIX5wntsKpBNJcenw8dxAue47e1InPJXd+5I7uK0 WPPeAYvQ+EmWp5xvsE24BzeVkqHjrhvQASx2sxlbS1KhxA8QNxEq/Hs7x9qCXsnfkAnp rYEIkStah9shj1tjZoGQA7FycoXuOnSQgH3WTxmyAEKOfT3mRld5IhnaKSVcQe+t0t3G 2yujH1mPOq9KGiMzuWcwCYBJls4GNkoaD6Wg5XmFdEhK5xD5um0dPxFEJ9qktBWGCOhh U38q8Q5c8xHkb9Fri6RFM4JXBh1JFzyctmwsrg/jHBlVKP22m1TUOgjEgmnzWfCu0mYG 5TMQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:sender:dkim-signature :dkim-signature; bh=1Bq+zQriu1EFjuPVPJ7+MPIlLQTUexGBhzMwCnlkPwc=; fh=SpmzuplPY5WCzQCjxlQGoW0gh8/Fw0UdHTgnxgAwCY0=; b=TCJaZlSBwwziGcFTAqJJlyyN4C9FryXN1NO8xrRVtjynQr60YpAnShJemcOJMxg+ad 5pZ3FuXyC34HAZfni3VBEmuS+hgaRqpWQTbjLag4hB5DQKFqgpl3SXkJfrkzvYk0HHM+ Ed6EqH+9Mcqh5g1xhXXvhPkKGkZoE38nU+U5XMF2fae7HyHktUH5rRqeUxGDZ049UHmH 7GBBOHRyyEWKLxz+RpSFuCcjT8BFOo3BIIf0hJkvWuzQRZObNDi6OZcxul2op2CyrUKL LJQ9QHHBLVIrUB074HKOt3b/2OghAOA8JAvfcV88Q+Py68D21f2gwblwexunPzd/Rhod U5Ug==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=gUkX4kuL; spf=pass (google.com: domain of antoine.riard@gmail.com designates 2607:f8b0:4864:20::129 as permitted sender) smtp.mailfrom=antoine.riard@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1711567114; x=1712171914; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:sender:from:to:cc:subject:date:message-id :reply-to; bh=1Bq+zQriu1EFjuPVPJ7+MPIlLQTUexGBhzMwCnlkPwc=; b=aPi57fXDTwLK6Tizy1S2dhNfIiI9M3QEITYDbGPERXZUfWo7ifwAjcPZWrGBsNdSbZ jg/lUztD008NjxCO2F7wvKFI/LWa0nYbWV1yN+iQubXrrghVouH6x3i0etJYrXhCXBf6 qf5zgQUzAZBF7EfttoZH01pSskYTItQEcGh+8DEeFgaFaAuc7JeChKnzNOcPKhwFxOff SHw/EoyYyavdcIorHLM3xYn80RCwk3PTDs1vASuADiKTG0PQLfdriCqnnIfCQKSg4Fov eUOP+Wrtq534OiOZXEK83cP1rmP9XwhPF+tyNPNHUK06bJbTngcXMHhOxzPzzfAcDKn1 kNcA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711567114; x=1712171914; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1Bq+zQriu1EFjuPVPJ7+MPIlLQTUexGBhzMwCnlkPwc=; b=Qdm/UuIaAc6GsVLRfUvO04AVQPqp1rKB0rKmRd54MuU2CjO8S3r2aPKyiTwB0Wq7zG fRuGne4dAemsk/RpqgJUNZPiMHnY1frzwEZ+JZBdeXMDQfqYzWUNQxxMOLS6F1Tlj/e1 7QVXqHsf5n4ARoIREYtxtlv53rV2396BwmlqwLJZib+ntQlyWViHtvPbyYnHC8scHWcf FVQb5gLDQp6sJWVi+SxU0RHMOp7yEzlGZhtWDRjcU6PWw1bdMeBzrrRHF0a6SsMADt1r 2yfxDBCqSclKxwBGdERQR7zyGHTN3yTJOZ+maun9GiV1Ui2ZyDO6Oi5RI2x8t+o2MDL1 mcNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711567114; x=1712171914; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-beenthere:x-gm-message-state:sender:from :to:cc:subject:date:message-id:reply-to; bh=1Bq+zQriu1EFjuPVPJ7+MPIlLQTUexGBhzMwCnlkPwc=; b=dNnRFavWa0q8Vha3e5eAiRkbQdmOfoaoG1AH+x3H0L+fg+1YlRb8fWZxfsQNNtQR3/ wX7loJMvbfpr7fLk84sO9vqlUKyVWi4je7Ay0R/EyduIJqJIvMILrszY7wGyYw+prsm4 hHxPOe6lDNyJLIZ+bB+m1ldYTDmjn0ENAz3WgfiGkreP/yIN+iIkNHzJY6rEjFE7bgZA pjFTbDTn4fHMVGVn0YqPL6qvWe1iBz9RclDTEYDrclAscM32O4+DuacqzbM3VAXbJOdk xlLQ0YJZrHYj3ilmt4aPOAHfxx1KaONuec/GMsHX4Nlu/bo1LSR0cCdjLjl0UannvFIy R3sg== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCVTfagLsqf0IhydLCFz6xht3viCTRIPxvoOcMYl6uWqOJ41C3xyMpepLA0S6PFmWRXJ1Hu9dw6lqU/MZcirY8qx/Tj7AI0= X-Gm-Message-State: AOJu0YylOeMwcKugm9b7+KT8ghS1MYlcJAXhPGgPR5PR4tVZbMPzPXXT egv977A+gJs4PqfYBJhvfv3W+wSiSKZuk78XIELCI+EOspRwuv+R X-Google-Smtp-Source: AGHT+IEFRfrGMUnI79YZMUi1cx58wX3LXYY17znjYbvqmLIv46QHUbw4d9tJkmu3vrtfLAjjU2iA9Q== X-Received: by 2002:a05:6820:1522:b0:5a5:1fdc:8542 with SMTP id ay34-20020a056820152200b005a51fdc8542mr1285079oob.2.1711567113775; Wed, 27 Mar 2024 12:18:33 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a4a:4305:0:b0:5a4:8287:2eb7 with SMTP id k5-20020a4a4305000000b005a482872eb7ls60940ooj.1.-pod-prod-00-us; Wed, 27 Mar 2024 12:18:33 -0700 (PDT) X-Received: by 2002:a05:6830:4876:b0:6e6:ec4a:7111 with SMTP id dx22-20020a056830487600b006e6ec4a7111mr2405otb.1.1711567112951; Wed, 27 Mar 2024 12:18:32 -0700 (PDT) Received: by 2002:a05:6808:3098:b0:3c3:cc09:ef6d with SMTP id 5614622812f47-3c3de96a8ccmsb6e; Wed, 27 Mar 2024 11:58:05 -0700 (PDT) X-Received: by 2002:a17:90b:1e0b:b0:2a0:3dc1:2926 with SMTP id pg11-20020a17090b1e0b00b002a03dc12926mr495077pjb.17.1711565883875; Wed, 27 Mar 2024 11:58:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711565883; cv=none; d=google.com; s=arc-20160816; b=HpQfHQSptp0Dp34lXjdrePWc6ILFT+3efHfJ0gSkb5dGBRZte7tHbgvI4G5PRdlBjk 7129v4pinlamx/SKD4oiDpD+IxDAPW1eBMK1FHhAZzoLUnRsj3offVAO6QSA2xyi5iZp Oho7LL+ALYwHiYLMPHc6nxBmsW9oVv5KBcf7Ca1BUgd6eG+cMxXALOTfIlL76VMBk/Ds mqXoKAlZbjR1WQB7XcvH5EoJQs4yqdWY6SyuVyq2JaQZSQJiPV7hk14P7fNj05b4Q8Qz O8ZjBHDbj/59Tc/nf/RSCtesQ6uQURdc9/txJt23ga3Pfcz1deQYuThssx8O8QJV8VWr utIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=/GkjPQglahZrvIUyFqwIF0v59IHzsX0gJXfGOtrgfmg=; fh=m2IwlnuMmP6ceRgqI8U7RCh8Dkd3VeWlWEfxse0Wcvc=; b=BGzm+twInfYKQNMfCxjRkYlW0TFZGSyrFXd1zb8p+4sMUv5pZRe9gknK0X+F3xRvg0 r3Jq2sd1D8XClGc+z94sxxPD4xNca7Rwc+KfRb1JrgsvjTpFx5DiHKt8WUpg4mT/77xu EREw/s/shDFvCHByb10sS6h090H3TKNRWHXfkuo4y+dUkM8tTLx+U4WKnUZArL2KAsz3 cqudYzemH28AdfIFc3W6261df3CT6Lo+tCCJcXanGm27EC+K8XW0jIk6zUZ6840xCZ/1 8jDPm/Ey2WNMllAzUKwBbtQFc5HV/YVsLcBOBFCf33uX8vOYnQo4+Azyqd3eo7SUeQI/ 8uQQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=gUkX4kuL; spf=pass (google.com: domain of antoine.riard@gmail.com designates 2607:f8b0:4864:20::129 as permitted sender) smtp.mailfrom=antoine.riard@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-il1-x129.google.com (mail-il1-x129.google.com. [2607:f8b0:4864:20::129]) by gmr-mx.google.com with ESMTPS id z22-20020a17090ad79600b002a1fa6b8725si95102pju.3.2024.03.27.11.58.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 27 Mar 2024 11:58:03 -0700 (PDT) Received-SPF: pass (google.com: domain of antoine.riard@gmail.com designates 2607:f8b0:4864:20::129 as permitted sender) client-ip=2607:f8b0:4864:20::129; Received: by mail-il1-x129.google.com with SMTP id e9e14a558f8ab-368a97b31d1so364485ab.0 for ; Wed, 27 Mar 2024 11:58:03 -0700 (PDT) X-Received: by 2002:a92:d486:0:b0:368:a474:4410 with SMTP id p6-20020a92d486000000b00368a4744410mr1037255ilg.2.1711565882969; Wed, 27 Mar 2024 11:58:02 -0700 (PDT) MIME-Version: 1.0 References: <1KbVdD952_XRfsKzMKaX-y4lrPOxYiknn8xXOMDQGt2Qz2fHFM-KoSplL-A_GRE1yuUkgNMeoEBHZiEDlMYwiqOiITFQTKEm5u1p1oVlL9I=@protonmail.com> In-Reply-To: <1KbVdD952_XRfsKzMKaX-y4lrPOxYiknn8xXOMDQGt2Qz2fHFM-KoSplL-A_GRE1yuUkgNMeoEBHZiEDlMYwiqOiITFQTKEm5u1p1oVlL9I=@protonmail.com> From: Antoine Riard Date: Wed, 27 Mar 2024 18:57:51 +0000 Message-ID: Subject: Re: [bitcoindev] Re: Great Consensus Cleanup Revival To: Antoine Poinsot Cc: Bitcoin Development Mailing List Content-Type: multipart/alternative; boundary="00000000000076df030614a8fced" X-Original-Sender: antoine.riard@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=gUkX4kuL; spf=pass (google.com: domain of antoine.riard@gmail.com designates 2607:f8b0:4864:20::129 as permitted sender) smtp.mailfrom=antoine.riard@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) --00000000000076df030614a8fced Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Darosior, > I would not qualify this hack of "beneficial". Besides the centralization pressure of an increased block frequency, leveraging the timewarp to achieve it would put the network constantly on the Brink of being seriously (fatally?) harmed. And this sets pernicious incentives too. Every individual user has a short-term incentive to get lower fees by the increased block space, at the expense of all users longer term. And every individual miner has an incentive to get more block reward at the expense of future miners. (And of course bigger miners benefit from an increased block frequency.) I'm not saying the hack is beneficial either. The "forward block" paper is just good to provide more context around timewarp. > Note in my writeup i suggest we do not introduce a minimum transaction, but we instead only make 64 bytes transactions invalid I think it's easier for the sake of analysis. See this mailing list issue for 60-byte example transaction use-case: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-May/017883.htm= l Only I'm aware of to the best of my knowledge. > What type of backend are you referring to here? I can't find where `MIN_STANDARD_TX_NON_WITNESS_SIZE` is checked in btcd's `maybeAcceptTransaction()`. > This restriction is on the size of the transaction serialized without witness. Oky. > Could you clarify? Are you suggesting something else than to set the nLockTime in the coinbase transaction to the height of the block? If so, what exactly are you referring to by "monotonic counter in the past"? Thinking more, I believe it's okay to use the nLocktime in the coinbase transaction, as the wtxid of the coinbase is assumed to be 0x00. To be checked if it doesn't break anything w.rt Stratum V2 / mining job distribution. Best, Antoine Le mer. 27 mars 2024 =C3=A0 10:36, Antoine Poinsot a =C3=A9crit : > > Hi Poinsot, > > > Hi Riard, > > > The only beneficial case I can remember about the timewarp issue is > "forwarding blocks" by maaku for on-chain scaling: > http://freico.in/forward-blocks-scalingbitcoin-paper.pdf > > > I would not qualify this hack of "beneficial". Besides the centralization > pressure of an increased block frequency, leveraging the timewarp to > achieve it would put the network constantly on the Brink of being serious= ly > (fatally?) harmed. And this sets pernicious incentives too. Every > individual user has a short-term incentive to get lower fees by the > increased block space, at the expense of all users longer term. And every > individual miner has an incentive to get more block reward at the expense > of future miners. (And of course bigger miners benefit from an increased > block frequency.) > > > I think any consensus boundaries on the minimal transaction size would > need to be done carefully and have all lightweight > clients update their own transaction acceptance logic to enforce the chec= k > to avoid years-long transitory massive double-spend > due to software incoordination. > > > Note in my writeup i suggest we do not introduce a minimum transaction, > but we instead only make 64 bytes transactions invalid. See > https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710#can-we-c= ome-up-with-a-better-fix-10 > : > > However the BIP proposes to also make less-than-64-bytes transactions > invalid. Although they are of no (or little) use, such transactions are n= ot > harmful. I believe considering a type of transaction useless is not > sufficient motivation for making them invalid through a soft fork. > > Making (exactly) 64 bytes long transactions invalid is also what AJ > implemented in his pull request to Bitcoin-inquisition > . > > > > I doubt `MIN_STANDARD_TX_NON_WITNESS_SIZE` is implemented correctly by al= l > transaction-relay backends and it's a mess in this area. > > > What type of backend are you referring to here? Bitcoin full nodes > reimplementations? These transactions have been non-standard in Bitcoin > Core for the past 6 years (commit 7485488e907e236133a016ba7064c89bf9ab6da= 3 > ). > > > Quid if we have < 64 bytes transaction where the only witness is enforced > to be a minimal 1-byte > as witness elements are only used for higher layers protocols semantics ? > > > This restriction is on the size of the transaction serialized without > witness. So this particular instance would not be affected and whatever t= he > witness is isn't relevant. > > > Making coinbase unique by requesting the block height to be enforced in > nLocktime, sounds more robust to take a monotonic counter > in the past in case of accidental or provoked shallow reorgs. I can see o= f > you would have to re-compute a block template, loss a round-trip > compare to your mining competitors. Better if it doesn't introduce a new > DoS vector at mining job distribution and control. > > > Could you clarify? Are you suggesting something else than to set the > nLockTime in the coinbase transaction to the height of the block? If so, > what exactly are you referring to by "monotonic counter in the past"? > > At any rate in my writeup i suggested making the coinbase commitment > mandatory (even when empty) instead for compatibility reasons. > > That said, since we could make this rule kick in in 25 years from now, we > might want to just do the Obvious Thing and just require the height in > nLockTime. > > > and b) it's already a lot of careful consensus > code to get right :) > > > Definitely. I just want to make sure we are not missing anything importan= t > if a soft fork gets proposed along these lines in the future. > > > Best, > Antoine > > Le dimanche 24 mars 2024 =C3=A0 19:06:57 UTC, Antoine Poinsot a =C3=A9cri= t : > >> Hey all, >> >> I've recently posted about the Great Consensus Cleanup there: >> https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710. >> >> I'm starting a thread on the mailing list as well to get comments and >> opinions from people who are not on Delving. >> >> TL;DR: >> - i think the worst block validation time is concerning. The mitigations >> proposed by Matt are effective, but i think we should also limit the >> maximum size of legacy transactions for an additional safety margin; >> - i believe it's more important to fix the timewarp bug than people >> usually think; >> - it would be nice to include a fix to make coinbase transactions unique >> once and for all, to avoid having to resort back to doing BIP30 validati= on >> after block 1,983,702; >> - 64 bytes transactions should definitely be made invalid, but i don't >> think there is a strong case for making less than 64 bytes transactions >> invalid. >> >> Anything in there that people disagree with conceptually? >> Anything in there that people think shouldn't (or don't need to) be >> fixed? >> Anything in there which can be improved (a simpler, or better fix)? >> Anything NOT in there that people think should be fixed? >> >> >> Antoine Poinsot >> > -- > You received this message because you are subscribed to the Google Groups > "Bitcoin Development Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to bitcoindev+unsubscribe@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/bitcoindev/dc2cc46f-e697-4b14-91b3-34cf= 11de29a3n%40googlegroups.com > . > > > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= bitcoindev/CALZpt%2BGeEonE08V6tBoY0gsc1hj6r3y1yTUri_nCJ-%3DLyq6jLA%40mail.g= mail.com. --00000000000076df030614a8fced Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Darosior,

>=C2=A0I would not qu= alify this hack of "beneficial". Besides the centralization press= ure of an increased block frequency, leveraging the timewarp to achieve it = would put the network constantly on the Brink of being seriously (fatally?)= harmed. And this sets pernicious incentives too. Every individual user has= a short-term incentive to get lower fees by the increased block space, at = the expense of all users longer term. And every individual miner has an inc= entive to get more block reward at the expense of future miners. (And of co= urse bigger miners benefit from an increased block frequency.)
=

I'm not saying the hack is beneficial either. The "= ;forward block" paper is just good to provide more context around time= warp.

>=C2=A0Note in my writeup i suggest we do no= t introduce a minimum transaction, but we instead only make 64 bytes transa= ctions invalid

I think it's easier for the = sake of analysis.
See this mailing list issue for 60-byte example trans= action use-case:=C2=A0https://lists.linuxfoundation.or= g/pipermail/bitcoin-dev/2020-May/017883.html
Only I'm awa= re of to the best of my knowledge.

>=C2=A0Wha= t type of backend are you referring to here?

I can't find where `MIN_STANDARD_TX_NON_WITNESS_SI= ZE` is checked in btcd's `maybeAcceptTransaction()`.

&g= t;=C2=A0This restriction is on the size of the transaction = serialized without witness.= =C2=A0

Oky.

> Could you clarify? Are you suggesting something else than= to set the nLockTime in the coinbase transaction to the height of the bloc= k? If so, what exactly are you referring to by "monotonic counter in t= he past"?

Thinking more, I bel= ieve it's okay to use the nLocktime=C2=A0in the coinbase transaction, a= s the wtxid of the coinbase is assumed to be 0x00.
To be c= hecked if it doesn't break anything w.rt Stratum V2 / mining job distri= bution.

Best,
Antoine
<= br>





<= div>
=

=C2=A0=C2=A0


Le=C2=A0mer. 27 m= ars 2024 =C3=A0=C2=A010:36, Antoine Poinsot <darosior@protonmail.com> a =C3=A9crit=C2=A0:

Hi Poinsot,

=
Hi Riard,


The only b= eneficial case I can remember about the timewarp issue is "forwarding = blocks" by maaku for on-chain scaling:
<= div style=3D"font-family:Arial,sans-serif;font-size:14px;color:rgb(0,0,0);b= ackground-color:rgb(255,255,255)">
I would not qualify this hack of "beneficial". Besides the ce= ntralization pressure of an increased block frequency, leveraging the timew= arp to achieve it would put the network constantly on the Brink of being se= riously (fatally?) harmed. And this sets pernicious incentives too. Every i= ndividual user has a short-term incentive to get lower fees by the increase= d block space, at the expense of all users longer term. And every individua= l miner has an incentive to get more block reward at the expense of future = miners. (And of course bigger miners benefit from an increased block freque= ncy.)


I think any consensus boundaries on the minimal transac= tion size would need to be done carefully and have all lightweight
clients update their own transaction acceptance logic to enforce the chec= k to avoid years-long transitory massive double-spend
due to soft= ware incoordination.
<= br>
Note in my writeup i suggest we= do not introduce a minimum transaction, but we instead only make 64 bytes = transactions invalid. See https://delvingbitcoin.or= g/t/great-consensus-cleanup-revival/710#can-we-come-up-with-a-better-fix-10= :

However the BIP proposes to al= so make less-than-64-bytes transactions invalid. Although they are of no (or little) use, such transactions are not harmful. I believe considering a type of transaction useless is not sufficient motivation for making them invalid through a soft fork.

M= aking (exactly) 64 bytes long transactions invalid is also what AJ implemen= ted in his pull request to Bitcoin-inquisition.



I doubt `MIN_STANDARD_TX_NON_WITNESS_SIZE` is impl= emented correctly by all transaction-relay backends and it's a mess in = this area.

<= div style=3D"font-family:Arial,sans-serif;font-size:14px;color:rgb(0,0,0);b= ackground-color:rgb(255,255,255)">What type of backend are you referring to= here? Bitcoin full nodes reimplementations? These transactions have been n= on-standard in Bitcoin Core for the past 6 years (commit 7485488e907e= 236133a016ba7064c89bf9ab6da3).


Quid if we h= ave < 64 bytes transaction where the only witness is enforced to be a m= inimal 1-byte
as witness elements are only used for higher layers= protocols semantics ?
This restriction is on the s= ize of the transaction serialized without witness. So this particular insta= nce would not be affected and whatever the witness is isn't relevant.


Making coinbase uniqu= e by requesting the block height to be enforced in nLocktime, sounds more r= obust to take a monotonic counter
in the past in case of accident= al or provoked shallow reorgs. I can see of you would have to re-compute a = block template, loss a round-trip
compare to your mining competit= ors. Better if it doesn't introduce a new DoS vector at mining job dist= ribution and control.
=
Could you clarify? Are you sug= gesting something else than to set the nLockTime in the coinbase transactio= n to the height of the block? If so, what exactly are you referring to by &= quot;monotonic counter in the past"?

At any rate in my write= up i suggested making the coinbase commitment mandatory (even when empty) i= nstead for compatibility reasons.
<= br>
That said, since we could make = this rule kick in in 25 years from now, we might want to just do the Obviou= s Thing and just require the height in nLockTime.


<= blockquote type=3D"cite">=C2=A0and b) it's already a lot of careful con= sensus
code to get right :)

Definitely. I just w= ant to make sure we are not missing anything important if a soft fork gets = proposed along these lines in the future.


Best,
Antoine

Le dimanche 24 mar= s 2024 =C3=A0 19:06:57 UTC, Antoine Poinsot a =C3=A9crit :
Hey all,

I've recently posted about the Great Consensus Cleanup there: https://delvingbitcoin.= org/t/great-consensus-cleanup-revival/710.

I'm starting a thread on the mailing list as well to get comments a= nd opinions from people who are not on Delving.

TL;DR:
- i think the worst block validation time is concerning. The mitigation= s proposed by Matt are effective, but i think we should also limit the maxi= mum size of legacy transactions for an additional safety margin;
- i believe it's more important to fix the timewarp bug than people= usually think;
- it would be nice to include a fix to make coinbase transactions uniqu= e once and for all, to avoid having to resort back to doing BIP30 validatio= n after block 1,983,702;
- 64 bytes transactions should definitely be made invalid, but i don= 9;t think there is a strong case for making less than 64 bytes transactions= invalid.

Anything in there that people disagree with conceptually?
Anything in there that people think shouldn't (or don't need to= ) be fixed?
Anything in there which can be improved (a simpler, or better fix)?
Anything NOT in there that people think should be fixed?


Antoine Poinsot

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googl= egroups.com.
To view this discussion on the web visit https://groups.= google.com/d/msgid/bitcoindev/dc2cc46f-e697-4b14-91b3-34cf11de29a3n%40googl= egroups.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.= google.com/d/msgid/bitcoindev/CALZpt%2BGeEonE08V6tBoY0gsc1hj6r3y1yTUri_nCJ-= %3DLyq6jLA%40mail.gmail.com.
--00000000000076df030614a8fced--