From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 21 Oct 2025 10:17:28 -0700 Received: from mail-oi1-f192.google.com ([209.85.167.192]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1vBFzD-0005G1-T6 for bitcoindev@gnusha.org; Tue, 21 Oct 2025 10:17:28 -0700 Received: by mail-oi1-f192.google.com with SMTP id 5614622812f47-447735e863asf3518411b6e.0 for ; Tue, 21 Oct 2025 10:17:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761067041; cv=pass; d=google.com; s=arc-20240605; b=fvDuSmCuQL6P+B4RXVUpP+Is4+gjrtnUxORmXls/R/vx3CYREv+PoaRVP1Su2IhdZI UotZACnQPCSGh3YZvJ4Fen75+i3rH9vEDLf+j6taD281rowQ8HmctkAfPXWv+ICArxFC eBT0ISx0R1TPdMfEEYhmDnKwxzoQnBsFKIW/FXioPy+mUOcvc0nmsyoMbgiE9DOJlk2M 2h6RUe6OCxs+GXwfqGZmcJmwjAgDF3sU0CGrA15OUnT9wM2ExTcKqqudlMCMHtNtAmQ1 g/FQFm+PymWBYVvfoNYHrXAQepXGptqhND1MzLyN8BFBsZqtf04xsoBfh+i89S4oh6Eh Njbw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:feedback-id :message-id:subject:from:to:date:dkim-signature; bh=RoFKbcJTAVHx6zb/BJAXDy+gfq7qZ3zXJOKK/6m04vo=; fh=a8YUEgp9ZcBVha+7Ur88US7VC3dy71BO82M2nqzrPhY=; b=Y698XGwU+zNLbye4N15kOfFoF78+G6w1jFFpDxCjS7/jKMcRRAj6NhBELK1sFimJ7p WIYAXIPk2CAW9pvOM/DF5eeJlt1ZEFBKXF0VR59ZAYCll+BLv139XbY5v7LWyhA0EtGy 0kzmNaiWVNCh06gl6lgiT6lBKiPiXzAna5Mt9vZ7dE3HsM7ktovSgTtFhGc58DqNnS4M ium2GoK1TzYYk/5ozaM/fpTxifI6dIJUeK9WS064urJelz4/d7GgXtI60mnekxCcNlz8 jm/8a88bS1CuyZU96T4bWabkAGSVaCc5N71dgc+Kbogkg4f78107mXOJGWHsEGMSxdPi nT9g==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=vW3ymqUV; spf=pass (google.com: domain of darosior@protonmail.com designates 79.135.106.29 as permitted sender) smtp.mailfrom=darosior@protonmail.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1761067041; x=1761671841; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :feedback-id:message-id:subject:from:to:date:from:to:cc:subject:date :message-id:reply-to; bh=RoFKbcJTAVHx6zb/BJAXDy+gfq7qZ3zXJOKK/6m04vo=; b=gp2GZyypgpoW+acAQCNJQDRB2XP9D1s5QzbAFdcG+W+JOHJR6ClYXXnToJLrVw4124 N6wYOIEAp44zdFZUzdl/PqIUB+XOumzbtneOen7TyO2qgVYLaW5obfpU0w76Q037VfnL SsQ3ih/7eH1y+WBFPgmq9ZlY6JMoBO8qrFYjmb0wmVtLHYLESXcYSDpYl942mZztsg9g I0b3wvD4sZttq5ZKJ+y8c3FfghV+xTGhe6sTAwsj/gLhHP9L3LraweoUbUvWt/UAqTJl LW2vg1YC1BdOZDKrDRD/VJSowZZKXG9fDJJlKrWRPzdZz5qYhd1PiAtf0BvvdPvWGPaA 3gaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761067041; x=1761671841; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :feedback-id:message-id:subject:from:to:date:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RoFKbcJTAVHx6zb/BJAXDy+gfq7qZ3zXJOKK/6m04vo=; b=A9w9QLat/dFpp7D4P8EGaN05OtTlJpAvsj2aDV/BPIgYZeeIA+WDx1nX7x5D1awbVi 3zO7hJ9WOJwSi9psdI5n9NMRFh6KWUz7/fp784ToNL9+ISUdhyt1OwNLmNuf0bezF9bC BemxfvIChU8cwREg1eYJdfhc0/DRq+VTXyrjWouxE8vxIy67dO09EPEW1REfoS/UUBQy bjbB8wl3iHWwEuS3RWNs5hIMHmRgDm2DRgo3DKRpp3AJ8ZA2gjJ6VuGrH9KGy3w7S2tv S9YVmpL8gBHeYEmsRDpBaoJr0fXHlU2gsilIudnxGRFFOHUV4Siuj5CPwo4emJH/9aMF jEAA== X-Forwarded-Encrypted: i=2; AJvYcCUYKOYdIo7keQcsD8xO6xdDnHK7EQ0H8VZaJ+m+W1Z1EWs64/um3V++LPJdv2B/00Y2sTha3muExD5g@gnusha.org X-Gm-Message-State: AOJu0YyTs+1HDBdmJZvZW0CBtm7vxdmuthUiHb1a99WKWR0tyCl498f0 xX1OsJEp5o9tyujqw20NlanW0lscAGPyuZocy/A2AUoKBF4bN3DoOeE3 X-Google-Smtp-Source: AGHT+IF1CPtYW7/kPJn6QKvHuyi92+nH7USmZWiqTLepI1kOBc7Pn1yFl8QvdXG16ZoIwKuDtVEy/A== X-Received: by 2002:a05:6808:1907:b0:441:8f74:f25 with SMTP id 5614622812f47-443a31c9a6emr8002187b6e.63.1761067041404; Tue, 21 Oct 2025 10:17:21 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="ARHlJd4TWWtQ1xr91cU+XGPYXivXBNtNYpSYs5PYxJWp+KtzjA==" Received: by 2002:a05:6820:628:b0:637:2751:97bc with SMTP id 006d021491bc7-651beb82670ls3815710eaf.1.-pod-prod-05-us; Tue, 21 Oct 2025 10:17:16 -0700 (PDT) X-Received: by 2002:a05:6808:21a2:b0:442:39a:7bc3 with SMTP id 5614622812f47-443a31be90amr8832373b6e.59.1761067036170; Tue, 21 Oct 2025 10:17:16 -0700 (PDT) Received: by 2002:a05:6504:3318:b0:2cb:e387:155d with SMTP id a1c4a302cd1d6-2cd52902bc3msc7a; Tue, 21 Oct 2025 08:46:13 -0700 (PDT) X-Received: by 2002:a2e:be91:0:b0:35f:a210:2a02 with SMTP id 38308e7fff4ca-377978c6d9emr48343401fa.26.1761061570466; Tue, 21 Oct 2025 08:46:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761061570; cv=none; d=google.com; s=arc-20240605; b=Lb/4CBtcYQuC733Cbz8gl7Py56FxJRX9OuIcIpoVvIM+ikjmUCRXXDz8+tBOl1Trf3 YLq+hVP/K0ZbIlzZlyRn7QOKfU4dehEMtfqkzMVvCrnvx+8Djh1CL/BuxV7p/TOOfO1B 8vnk8oAh+fJp5NcLJasJ9oYCTYm0+NDeNg4p6KqZ4YSR2/DP9UXFMaw7Cuo+K0Fyf/0Q V/VnSuKQi6vXgUc2hN4k3dn9miCGwMoZAfAxkyf5kRSY0wyP7U9g2LJg8l+Iw2qAJ4j7 hTvh7O2lVQiy3XZUcmGooxttkL/B0rv8HEnXzX/nVD/BT9ieluJs/PLIUSObQXb0tUwn 39Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:feedback-id:message-id :subject:from:to:date:dkim-signature; bh=x18amjgcLYxJH2gOOOSiBmDSIH6HCOI3w5KxfXPEXW4=; fh=DMP0F9ULS1guKiqimntQRCN8ZraraesEgQuVcn7F0Z0=; b=QmShCKPvB6oZ7xFe8B0qMdQwWgC/nCiujV1nP1WrkIDbHQv9HYWC73zeTMFY0rCMpE Y4Zn5RvTy4zEkCcpw+blHXh5xNPfM7w2h8RDZzGJrmFuVKLlMK0b8wMVAWLPgRSQLzOI 9tMO7ZIycx6TVGg94R4UCobanct6ggLxgU67pTQ7uzjWVQDIF6sjZr5zLGDGnYpOLvZw ZG48vPl2sD33T3+mbbgeOtPmYMeKz5uXw4jHo77To8Xk6SaCXY2Djpjj2T/P8Zdn4oIq KbW5mUlsOTaSLfujRd8EpjOfjVNxm7mfIXQSSy/GjmUsHop+cP0hhTMAN0kT9q8Q05bl ewiQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=vW3ymqUV; spf=pass (google.com: domain of darosior@protonmail.com designates 79.135.106.29 as permitted sender) smtp.mailfrom=darosior@protonmail.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: from mail-10629.protonmail.ch (mail-10629.protonmail.ch. [79.135.106.29]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-377a9641e71si4104291fa.4.2025.10.21.08.46.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Oct 2025 08:46:10 -0700 (PDT) Received-SPF: pass (google.com: domain of darosior@protonmail.com designates 79.135.106.29 as permitted sender) client-ip=79.135.106.29; Date: Tue, 21 Oct 2025 15:46:04 +0000 To: Bitcoin Development Mailing List From: "'Antoine Poinsot' via Bitcoin Development Mailing List" Subject: [bitcoindev] BIP54 implementation and test vectors Message-ID: Feedback-ID: 7060259:user:proton X-Pm-Message-ID: aed918be9b8ef008719dd0ff14163bac5dbb3e32 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Original-Sender: darosior@protonmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=vW3ymqUV; spf=pass (google.com: domain of darosior@protonmail.com designates 79.135.106.29 as permitted sender) smtp.mailfrom=darosior@protonmail.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com X-Original-From: Antoine Poinsot Reply-To: Antoine Poinsot 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: -1.0 (-) Hi everyone, I'd like to give an update on my Consensus Cleanup work, now BIP54. I opened an implementation against Bitcoin Inquisition v29.1 at [0]. It contains extensive testing of each of the four proposed mitigations, and was used as a basis to generate test vectors for BIP54. I opened a PR against the BIPs repository to add them to BIP54 [1]. The test vectors for the transaction-level sigops limit contain a wide variety of usage combinations as well as ways of running into the limit. They also include some historical violations as well as pathological transactions demonstrating the implementation details of the sigop accounting logic (which was itself borrowed from that of BIP16, which all Bitcoin implementations presumably already have). The test vectors for the new witness-stripped transaction size restriction similarly exercise the bounds of the check under various conditions (e.g. transactions with/without a witness). All historical violations were also added to the test vectors, thanks to Chris Stewart for digging those up. Because the new timestamp restrictions are tailor-made to the mainnet difficulty adjustment parameters, the test vectors for those contain a number of chains of mainnet headers (from genesis). Each test case contains a full header chain and whether it is valid according to BIP54. These chains were generated using a custom miner available in [2] and added to the implementation as a JSON data file. The test vectors for the coinbase restriction similarly include a chain of mainnet blocks, because the timelock check is context-dependent. These were generated using a similar miner also available at [2]. I'm seeking feedback on these test vectors from everybody but in particular developers of alternative Bitcoin clients, as compatibility with other Bitcoin implementations than Bitcoin Core was a design goal. Best, Antoine Poinsot [0]: https://github.com/bitcoin-inquisition/bitcoin/pull/99 [1]: https://github.com/bitcoin/bips/pull/2015 [2]: https://github.com/darosior/bitcoin/commits/bip54_miner -- 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 visit https://groups.google.com/d/msgid/bitcoindev/V0qeILOW1CuH3NS2O8IUdQBK8i3o8LwzLNGf7xh1UO0S_Gzui1CpdP5NhdT3EtrW6NgqxJ538egeag6bVZoBX8C8E46ZYTCyPg1qBxkwCXs%3D%40protonmail.com.