Delivery-date: Mon, 29 Sep 2025 23:22:18 -0700 Received: from mail-oa1-f60.google.com ([209.85.160.60]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1v3Tkf-0001mn-GO for bitcoindev@gnusha.org; Mon, 29 Sep 2025 23:22:18 -0700 Received: by mail-oa1-f60.google.com with SMTP id 586e51a60fabf-37101b4624esf1182546fac.2 for ; Mon, 29 Sep 2025 23:22:16 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1759213331; cv=pass; d=google.com; s=arc-20240605; b=RSFa4iCep0jq6lI09XNyHLvtOzlIiYRvNR2ORVB6+ed77c1LEndPsTiyjnGs7sUMHV VhLUHNsADjQg/ysUqg3ae3sxc6Z2y+K2EfMNAt1bTjqg5oJooe84A1oemE+Z+qsi9uWz D+YL9JsdQrRc81XsSEZfTldR1IOCswwJRD0PfEGWuz3eSqXmnkxz4q03saieDyiF9X8C mxrLYJkP2cFKy/2KOwFwP+iN0WRtB67FCqZgmQqiPVRZzfrxOAcgroTPi9DXA7ig+hqS HpOgfAv4pEBj+UV4wR86Kkcxqx7Mq6cGvREIVsnXsjgQHc82i8J8+ak1fDax84WzKDKy I33g== 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:autocrypt :content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:to:from:date:dkim-signature; bh=eBXsf8qMk9vWUpPr6294SU5diODo2Oyb085+4ef5Gv0=; fh=cdXayHURTr9cmeMgSyi7CgBKPuiQ1xyyV7tVVHzPROQ=; b=heqicTYrnR+w8wg6Du8JhHGvf66LX4+iEDiQlLN8jtKgjMxUc9Ppj26AWbhTjWBFx3 u+KH6/q9Jw7x+4yONBQvOTh5wXOW3WsRuBslJ5rP1atPZKpl/C3nomPtwpl1Kvu4VLUg bE0dlGImnjyX3jxxa5VfkYouEVmppizS19VE19FT86cmCAs/MJwo/km1y1pGful+qeUy 9WxOzUB/xBLSqnOjlOAXARTJb3XSFJiKCae9xtJsJW+xE8++bl1WwL4NgZxX6JvX77GO Kaajff+H72aNCFcVul0VLiLWCZWYBFmFyTbBK06V/sYPMt90V/D3IkzL6Ft0u2VMMtj9 AZGg==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@drbonez.dev header.s=default header.b=A6PJyXEM; spf=pass (google.com: domain of me@drbonez.dev designates 198.54.127.87 as permitted sender) smtp.mailfrom=me@drbonez.dev; dmarc=pass (p=REJECT sp=QUARANTINE dis=NONE) header.from=drbonez.dev DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1759213331; x=1759818131; 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:autocrypt :content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=eBXsf8qMk9vWUpPr6294SU5diODo2Oyb085+4ef5Gv0=; b=e5wBlTVloZZtSlyGFgSRVVBBV0cBSo1/X2xN4TAS/Gd4aHgyx38YNy/KE+H1liE4eC WGzzpoaCaoFyxYbxPGrPh1XW6TH4xc0hMuhwRM+Cj294/SLdE4+k10oTTabwDyoUP8fQ Ee5eysnprH5GYpRlROhpXz9rZ/d46q4mDk507hl/ZeF1RDyj3FeZEOU0EqR3wnbr9tFJ YSPOu9anmkDfkzdLAXVpymOoqUUgvS5ex9DWnGM7rCieay300qpr5Lfu0pN5hU77pjAZ TK4E9AYAuXPlM37MCjf0AYT+YMjbkXLwO1gViIfHOltRMuuc31H+A2AZkK9UiWRdwLON HLfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759213331; x=1759818131; 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:autocrypt :content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:to:from:date:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=eBXsf8qMk9vWUpPr6294SU5diODo2Oyb085+4ef5Gv0=; b=dqdX+kmj1ElXepL/7qUzkrEE4TFfXwDyQC9IJLLXUCv0Iar3oEI3Ne4DyZein41+KL gBADJBcfdlDsFspQMgK/tSlNzBjflpqWj8i2Iky7vOrZvbTb4v7mfTOOh6o8vbtPvYGJ l/waVP19YJ/RMI8kSAbcCZddAbWmJqTS7vgJ8SjdcJ2Wub6OungeFnY9MLwQp2eyO22Q e4BdFVm3VRJ14lXXR4jyqGSY/VWhpKUloWs4miFG5eZ27aKPs1Vsf6+0Kt3bilk5tK8y BfMpDtWXirhBGtgpm/hi1IwvZdUOmMgZt9GDgLwNZdsos3YdJ+XE6rFXQrKz8bQDFwi3 ZvKA== X-Forwarded-Encrypted: i=2; AJvYcCWm8Uf8en45sQBEgL+NdW3r3O7nBN+HsHg5R1NTTE+WoP91DgfUYlDDQEDA1DiM2kqoTnjyJZpDlB9c@gnusha.org X-Gm-Message-State: AOJu0YwvZxcolZ/ftqfD7xfYTWBDpULl0uoPj2H4KRh/EZyWEbCig/xj HUVRLzS3AwrdTlbZlM2wJd8OJLwme/kdxJqxEn4043kun5OOWKtQlLKk X-Google-Smtp-Source: AGHT+IEkFZVGNpXZrAdu9YL1NbZGO5up9uGfkMkVZC7dWmcF7ozrR2t+5PSn7kC2SEmOv/FWAnQ/Xg== X-Received: by 2002:a05:6870:55c9:b0:31d:c83c:ec15 with SMTP id 586e51a60fabf-35ec1208961mr8937732fac.20.1759213330455; Mon, 29 Sep 2025 23:22:10 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="ARHlJd7KoztL9i6a1S9vPNMVd6nzhJe6xtHOr2GiKW+XSASicQ==" Received: by 2002:a05:6820:54c:b0:63e:7aa5:8476 with SMTP id 006d021491bc7-63e7aa595b0ls863512eaf.2.-pod-prod-06-us; Mon, 29 Sep 2025 23:22:05 -0700 (PDT) X-Received: by 2002:a05:6808:15a6:b0:43f:2140:c5b7 with SMTP id 5614622812f47-43f4cc58c65mr10357267b6e.19.1759213325363; Mon, 29 Sep 2025 23:22:05 -0700 (PDT) Received: by 2002:a05:620a:4e95:b0:851:28d8:13e with SMTP id af79cd13be357-8704ed61481ms85a; Mon, 29 Sep 2025 21:21:43 -0700 (PDT) X-Received: by 2002:a05:6122:1699:b0:538:d49b:719 with SMTP id 71dfb90a1353d-54bea0b8581mr6471388e0c.1.1759206102821; Mon, 29 Sep 2025 21:21:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1759206102; cv=none; d=google.com; s=arc-20240605; b=VUhLEZYrAsHXsAC2v7e8EaPxuu4JTWx0vzTAYustTye/gJUWLGWIBfMXm7ukVXHYWh DyJH7ygQ3+oUWVDOc8oXJkm7i7KN6QxZTKl1y0EuiIXu9ccZBWVWcbqxjjdLwegymDLg 7OmVInrMCEZYrmjnad4/fPvihbbUGO2aBUb9AvSLojWN0FKjBAXmlDVgSBa3pPkifm4x kmV3fF9XNMtEi+NRuOFobgAj/aLR5XnW1/3SbP8gnKSubgzZ1IMkBJ7PXp6BkD/TfzlJ CTzQ7kfiy9X8eWkmwhqIJIVhX9BZez3iUalvwcJKsJw7+n/ZsseS5iR3p5vtZatCR+gf jmvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=autocrypt:content-transfer-encoding:mime-version:message-id :references:in-reply-to:user-agent:subject:cc:to:from:date :dkim-signature; bh=o+ME0mkgycqPf8q8egSPAZyNOayKwbxEf+sM4Nq6E14=; fh=+67N2uHR2MfeB757DuDnNuhtYMQ1l3OX1mrsWyqvKgo=; b=V56rMAKMeOyTnAqZPYk3wHJmgKdo8CoPR/tFetHmRlzyz/kR/ayYibxCzkGZRcBbE+ bNqPU9LJNR/U/pOLFrVblTCiG+g72IX0yocB/yenrEHIZZ2AdUIxs3KeOqa7AOPyS6/w nZHbVn9vbOCqo1BZtSMRj11v0/N8/EI1YwTA3RxClZJOUKdVWybogip0flUCRhRB16E/ gsakMcaezF22zZ7OTV3F60IyPaKBclMocDuF8tgRqjqN6yJWNDGN4c4oX/jm+BWK8BON oGzmtXTQiWphXMaURvO49uckfIMVf0ljxugqHLwp1P0PtUSE16xRV7CX2TrAB1T9O+fb UdqQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@drbonez.dev header.s=default header.b=A6PJyXEM; spf=pass (google.com: domain of me@drbonez.dev designates 198.54.127.87 as permitted sender) smtp.mailfrom=me@drbonez.dev; dmarc=pass (p=REJECT sp=QUARANTINE dis=NONE) header.from=drbonez.dev Received: from out-13.pe-a.jellyfish.systems (out-13.pe-a.jellyfish.systems. [198.54.127.87]) by gmr-mx.google.com with ESMTPS id a1e0cc1a2514c-916c5999f8dsi553447241.0.2025.09.29.21.21.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Sep 2025 21:21:42 -0700 (PDT) Received-SPF: pass (google.com: domain of me@drbonez.dev designates 198.54.127.87 as permitted sender) client-ip=198.54.127.87; Received: from MTA-05.privateemail.com (unknown [10.50.14.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by NEW-01-3.privateemail.com (Postfix) with ESMTPS id 4cbPyY2qmPz2Sfpg; Tue, 30 Sep 2025 00:21:41 -0400 (EDT) Received: from mta-05.privateemail.com (localhost [127.0.0.1]) by mta-05.privateemail.com (Postfix) with ESMTP id 4cbPyY1QGGz3hhW3; Tue, 30 Sep 2025 00:21:41 -0400 (EDT) Received: from ehlo.thunderbird.net (unknown [76.8.195.86]) by mta-05.privateemail.com (Postfix) with ESMTPA; Tue, 30 Sep 2025 00:21:39 -0400 (EDT) Date: Mon, 29 Sep 2025 22:21:37 -0600 From: "'Aiden McClelland' via Bitcoin Development Mailing List" To: /dev /fd0 CC: Bitcoin Development Mailing List Subject: Re: [bitcoindev] [BIP Proposal] Mempool Validation and Relay Policies via User-Defined Scripts User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----P2AXTRH4BLPNC787Y02D94XDLYV4AC Content-Transfer-Encoding: 7bit Autocrypt: addr=me@drbonez.dev; prefer-encrypt=mutual; keydata= mDMEaNcksxYJKwYBBAHaRw8BAQdAgpcI3hOExv1njCt+zJoYBartdyk4SKiqSIy3+9tcpOK0IUFp ZGVuIE1jQ2xlbGxhbmQgPG1lQGRyYm9uZXouZGV2PoiJBBMWCAAxFiEEtBbA5nud8/FxhICufP/a QcpmBWoFAmjXJLMCGwMECwkIBwUVCAkKCwUWAgMBAAAKCRB8/9pBymYFamtoAQDebf0jXVUtKKur 70LUB5+dmHndsIeGpVgGEs5rDGhelwD7BTgcermFsaPWXg6p7RjQ9cSCaGdDIp/87QVAy0lMeAy4 OARo1ySzEgorBgEEAZdVAQUBAQdATE1CS5FypyXAJdO+9a1LYQR1rgfuEgeChUcYSOUme3oDAQgH iHgEGBYIACAWIQS0FsDme53z8XGEgK58/9pBymYFagUCaNckswIbDAAKCRB8/9pBymYFavYZAP95 dgwYia0VN0Cy75K4+pxiuaG4UpEGdY0v+bgN7zbLVQEA28muMHpEW/b3gtR+W6MaONTQuGFy61Sk QaHWmrqyNg8= X-Virus-Scanned: ClamAV using ClamSMTP X-Original-Sender: me@drbonez.dev X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@drbonez.dev header.s=default header.b=A6PJyXEM; spf=pass (google.com: domain of me@drbonez.dev designates 198.54.127.87 as permitted sender) smtp.mailfrom=me@drbonez.dev; dmarc=pass (p=REJECT sp=QUARANTINE dis=NONE) header.from=drbonez.dev X-Original-From: Aiden McClelland Reply-To: Aiden McClelland 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 (-) ------P2AXTRH4BLPNC787Y02D94XDLYV4AC Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable /dev/fd0, I appreciate the comments. A txnotify solution could work, although it lose= s a lot of the modularity and sandboxing of what I'm proposing. It would pr= obably result in a single external binary, running all of the policy valida= tion logic, rather than a bundle of scripts you can mix and match. And it m= ight encourage solutions that involve fetching relay policies over the inte= rnet, which is probably not ideal. Ideally, updating policy should require = user action.=20 Thanks,=20 Aiden McClelland On September 27, 2025 7:22:28 PM MDT, /dev /fd0 wro= te: >Hi Aiden, > >There is an easy solution based on my understanding of [transaction >validation][0] although I have not tested it: > >1. Add a config option `txnotify` similar to `blocknotify` that executes >commands or script when a new transaction is received from a peer. >2. Add a function `ExecuteTxNotify()` that will run the script provided by >the user in step 1. Script should either return 'accept' for 'reject' and >function would return true/false accordingly. >3. Call `ExecuteTxNotify()` in ` AcceptToMemoryPool()` so that rejected >transactions do not enter the mempool. > >[0]: https://bitcoincore.academy/transaction-validation.html > >/dev/fd0 >floppy disk guy > >On Thu, Sep 25, 2025 at 12:00=E2=80=AFAM Aiden McClelland = wrote: > >> Hi all, >> >> I'd like to share for discussion a draft BIP to allow for a modular >> mempool/relay policy: https://github.com/bitcoin/bips/pull/1985 >> >> I think it could potentially reduce conflict within the community around >> relay policy, as an alternative to running lots of different node >> implementations/forks when there are disagreements. >> >> I am working on a reference implementation using Bellard's QuickJS, but = it >> has been almost a decade since I've written C++, so it's slow going and = I'm >> sure doesn't follow best-practices. Once it's working, it can be cleaned= up. >> >> Thanks, >> Aiden McClelland >> >> -- >> You received this message because you are subscribed to the Google Group= s >> "Bitcoin Development Mailing List" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n >> email to bitcoindev+unsubscribe@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6c6= 8c6554f56n%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 visit https://groups.google.com/d/msgid/bitcoindev/= E0178F1A-F2D7-4787-BF52-FA75BFC43EE7%40drbonez.dev. ------P2AXTRH4BLPNC787Y02D94XDLYV4AC Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
/dev/fd0,

I appreciate th= e comments. A txnotify solution could work, although it loses a lot of the = modularity and sandboxing of what I'm proposing. It would probably result i= n a single external binary, running all of the policy validation logic, rat= her than a bundle of scripts you can mix and match. And it might encourage = solutions that involve fetching relay policies over the internet, which is = probably not ideal. Ideally, updating policy should require user action.
Thanks,
Aiden McClelland



On September 27, 2025 7:22:28 PM MDT, /dev /fd0 &= lt;alicexbtong@gmail.com> wrote:
Hi Aiden,

There is an easy solution bas= ed on my understanding of [transaction validation][0] although I have not t= ested it:

1. Add a config option `txnotify` similar to `blocknotify`= that executes commands or script when a new transaction is received from a= peer.
2. Add a function `ExecuteTxNotify()` that will run the sc= ript provided by the user in step 1. Script should either return 'accept' f= or 'reject' and function would return true/false accordingly.
3. = Call `ExecuteTxNotify()` in ` AcceptToMemoryPool()` so that rejected transactions do not enter the mempoo= l.

<= /div>
O= n Thu, Sep 25, 2025 at 12:00=E2=80=AFAM Aiden McClelland <me@drbonez.dev> wrote:
Hi all,
=
I'd like to share for discussion a draft BIP to allow for a = modular mempool/relay policy: https://github.com/bitcoin/bips/pull/1985
I think it could potentially reduce conflict within the com= munity around relay policy, as an alternative to running lots of different = node implementations/forks when there are disagreements.

I am working on a reference implementation using Bellard's QuickJS, = but it has been almost a decade since I've written C++, so it's slow going = and I'm sure doesn't follow best-practices. Once it's working, it can be cl= eaned up.

Thanks,
Aiden McClelland

--
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 visit https://groups.googl= e.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6c68c6554f56n%40googlegrou= ps.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 visit https://groups.google.com/d/msgid/bitcoindev/E01= 78F1A-F2D7-4787-BF52-FA75BFC43EE7%40drbonez.dev.
------P2AXTRH4BLPNC787Y02D94XDLYV4AC--