summaryrefslogtreecommitdiff
path: root/cd/84c5f2a6482def359eae20c4f838ec80377b7a
blob: 501d4cf04a4c555b96532c2bfacf49029bf020d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
Delivery-date: Tue, 30 Sep 2025 14:24:58 -0700
Received: from mail-oo1-f64.google.com ([209.85.161.64])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBD7O3WHWY4JRBHEV6HDAMGQECAHAAAY@googlegroups.com>)
	id 1v3hqD-0001ZC-Pb
	for bitcoindev@gnusha.org; Tue, 30 Sep 2025 14:24:58 -0700
Received: by mail-oo1-f64.google.com with SMTP id 006d021491bc7-6431fa2572esf587619eaf.0
        for <bitcoindev@gnusha.org>; Tue, 30 Sep 2025 14:24:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1759267491; x=1759872291; darn=gnusha.org;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:x-original-sender:mime-version
         :subject:references:in-reply-to:message-id:to:from:date:sender:from
         :to:cc:subject:date:message-id:reply-to;
        bh=cUkdUESGawRHgjaSsKZsoTg4+WEUNism/vTWiGubO30=;
        b=d8X1BCEvp8kcV4Tn7XikW/SUKsy0MHgmYJG/NhNFQAULPUr+DBY0AxUmh+l/xw+NYJ
         LzR3Qj0rmbqPM6LraARSi6spN58FALg0xQeRHyinD4RzbuolVxNJBdIG2Ev1DDgm5vNb
         cROZ03cNfnBrxkByiWNUiyyBzZK6iIAvOUGx6V2MgIlI3wG1LimKpBjuwEpGhwIwiweF
         JmtE07S3XB4VybqDqsbXokORYFeBLj2OCZ5opRVy90xlJ9K187xcdsXeGnik/bbNpOWR
         FadJ1qRRGh38/doej9s8v8DY65ntYzG6BZ5/ebY4jpBz55xpkoc3pVzG8eRtbe5NLJ5p
         dpVw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1759267491; x=1759872291; darn=gnusha.org;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:x-original-sender:mime-version
         :subject:references:in-reply-to:message-id:to:from:date:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cUkdUESGawRHgjaSsKZsoTg4+WEUNism/vTWiGubO30=;
        b=QCsqNHTnEZzldZovJlC1o2cU+n/BdEEKrn+SHXrguJbCh6aQ/hdzwehZqw6o3wMewD
         5v+wC3W6qzDAXRpg3wTpvQvpF1HbPb+zTW+65LyQ2s15v17z3TJ2AFDGVrJteVVu4+6H
         kKE5rvOuIlqPNX1TLwdA0s2fXy6j27XJOS9ik4BRp6Sgk1Y5Z4KD4sIcWtbDnXgRA/j1
         DuZsGNzDVE/XjS+I/ZCUfWgbJzrDB0ADLnLLyDH4/2EyxlABMreCZzgyRKRe3MqAkNA6
         O43Pg72qfNbrfM5bhRMMfYcTvUQLsMKnA+uDtwd15pwPThBF2G/kH0/sCbm/OeQ3gXC1
         Xtqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1759267491; x=1759872291;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:x-original-sender:mime-version
         :subject:references:in-reply-to:message-id:to:from:date:x-beenthere
         :x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cUkdUESGawRHgjaSsKZsoTg4+WEUNism/vTWiGubO30=;
        b=XzlQKLWPddRjjGuQ05IwJlfL5T+sDykW9ads4vv6jq7nVos3/FYl9hmXemDYo3d5Ow
         Fy4WmjU+gx94JHjzqqjT3xsAOvyOy1twUpknV7pfWniG079kU2P19kXrpT9tOGGNRWZp
         DEVjEHrGrep5pt+zOXiI4MYCZdxZ1Z3OFfmkgcV8Xw9PuhKhrmmpc1H3Tt/9myTFpiv5
         yuMaGmsg6mXyTak8e1teOUSvFlxNAFPN/Hl427bswkEo/Z3GqLn4PdcrmwrsPzRvAYgK
         HhVtTIlGkCZJ3PD0gFRTtPrB0Zg37nIaNqjgM00n/F+0sOksVl1T+zyDkNaNyW+gR9qP
         BI8g==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=1; AJvYcCWx/JwItigw+/zOH6UiVvr1uxjzAOgIRJFcp8Y7Kk/2IGhRifyHcF4/3nvkkVgvjlIby5XyTOk/3vZt@gnusha.org
X-Gm-Message-State: AOJu0Yyazs3CCe6RQWC076/4euE013T/l4W/oxcKWHVMpKxg33bOD8mE
	0HKvUXhDUayaMlCKgAnb17svDooptBaFA58evle91NQ6qUSxs32i8wzC
X-Google-Smtp-Source: AGHT+IGA4UampQqG/bY7zQLSyFvCU2ic1wR7TusC8aZVxwa0TcmKn+MfWxK7Lh7LETlfyGy/pT6PDQ==
X-Received: by 2002:a05:6820:7703:b0:623:4395:de39 with SMTP id 006d021491bc7-64bba04851fmr722041eaf.2.1759267491141;
        Tue, 30 Sep 2025 14:24:51 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h="ARHlJd79oi0K1y0gUDtRuGF60hZmLrKMpleTxDGcUZSsCKarHg=="
Received: by 2002:a05:6820:504a:b0:648:c7d9:ba1 with SMTP id
 006d021491bc7-648c7d90caals637054eaf.0.-pod-prod-07-us; Tue, 30 Sep 2025
 14:24:44 -0700 (PDT)
X-Received: by 2002:a05:6808:1445:b0:43f:9cff:51b0 with SMTP id 5614622812f47-43fa5766c2dmr350091b6e.28.1759267484272;
        Tue, 30 Sep 2025 14:24:44 -0700 (PDT)
Received: by 2002:a05:690c:62c4:b0:720:768:1935 with SMTP id 00721157ae682-77f6fbf5cc4ms7b3;
        Tue, 30 Sep 2025 14:09:16 -0700 (PDT)
X-Received: by 2002:a05:690c:8688:20b0:765:d606:307c with SMTP id 00721157ae682-77f6f279dd9mr17708297b3.22.1759266555819;
        Tue, 30 Sep 2025 14:09:15 -0700 (PDT)
Date: Tue, 30 Sep 2025 14:09:15 -0700 (PDT)
From: jeremy <jeremy.l.rubin@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Message-Id: <8c6bb024-437f-4122-8ae0-f8ed9b9c23e4n@googlegroups.com>
In-Reply-To: <E0178F1A-F2D7-4787-BF52-FA75BFC43EE7@drbonez.dev>
References: <cbdab6fa-93bc-44c9-80f0-6c68c6554f56n@googlegroups.com>
 <CALiT-ZqFhMV8VfgOdNyamG4oLgyCL5E7W8s3F9gB_k0ihyUAgA@mail.gmail.com>
 <E0178F1A-F2D7-4787-BF52-FA75BFC43EE7@drbonez.dev>
Subject: Re: [bitcoindev] [BIP Proposal] Mempool Validation and Relay Policies
 via User-Defined Scripts
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_888_1590725700.1759266555493"
X-Original-Sender: Jeremy.L.Rubin@gmail.com
Precedence: list
Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com
List-ID: <bitcoindev.googlegroups.com>
X-Google-Group-Id: 786775582512
List-Post: <https://groups.google.com/group/bitcoindev/post>, <mailto:bitcoindev@googlegroups.com>
List-Help: <https://groups.google.com/support/>, <mailto:bitcoindev+help@googlegroups.com>
List-Archive: <https://groups.google.com/group/bitcoindev
List-Subscribe: <https://groups.google.com/group/bitcoindev/subscribe>, <mailto:bitcoindev+subscribe@googlegroups.com>
List-Unsubscribe: <mailto:googlegroups-manage+786775582512+unsubscribe@googlegroups.com>,
 <https://groups.google.com/group/bitcoindev/subscribe>
X-Spam-Score: -0.5 (/)

------=_Part_888_1590725700.1759266555493
Content-Type: multipart/alternative; 
	boundary="----=_Part_889_1119372769.1759266555493"

------=_Part_889_1119372769.1759266555493
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bitcoin already has a built in user defined script language: Bitcoin Script=
.

If you add a couple conditionally verified opcodes (the same ones necessary=
=20
for covenants), you could write whatever filter you like, and we'd learn=20
more about what the best opcodes are for writing covenants.

You would execute the script "pretending" to be input 0.

We would then at least learn something about covenants.
On Tuesday, September 30, 2025 at 2:22:10=E2=80=AFAM UTC-4 Aiden McClelland=
 wrote:

> /dev/fd0,
>
> I appreciate the comments. A txnotify solution could work, although it=20
> loses a lot of the modularity and sandboxing of what I'm proposing. It=20
> would probably result in a single external binary, running all of the=20
> policy validation logic, rather than a bundle of scripts you can mix and=
=20
> match. And it might encourage solutions that involve fetching relay=20
> policies over the internet, which is probably not ideal. Ideally, updatin=
g=20
> policy should require user action.=20
>
> Thanks,=20
> Aiden McClelland
>
>
>
> On September 27, 2025 7:22:28 PM MDT, /dev /fd0 <alice...@gmail.com>=20
> wrote:
>
>> Hi Aiden,
>>
>> There is an easy solution based on my understanding of [transaction=20
>> validation][0] although I have not tested it:
>>
>> 1. Add a config option `txnotify` similar to `blocknotify` that executes=
=20
>> commands or script when a new transaction is received from a peer.
>> 2. Add a function `ExecuteTxNotify()` that will run the script provided=
=20
>> by the user in step 1. Script should either return 'accept' for 'reject'=
=20
>> and function would return true/false accordingly.
>> 3. Call `ExecuteTxNotify()` in ` AcceptToMemoryPool()` so that rejected=
=20
>> 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 <m...@drbonez.=
dev>=20
>> wrote:
>>
>>> Hi all,
>>>
>>> I'd like to share for discussion a draft BIP to allow for a modular=20
>>> mempool/relay policy: https://github.com/bitcoin/bips/pull/1985
>>>
>>> I think it could potentially reduce conflict within the community aroun=
d=20
>>> relay policy, as an alternative to running lots of different node=20
>>> implementations/forks when there are disagreements.
>>>
>>> I am working on a reference implementation using Bellard's QuickJS, but=
=20
>>> it has been almost a decade since I've written C++, so it's slow going =
and=20
>>> I'm sure doesn't follow best-practices. Once it's working, it can be=20
>>> cleaned up.
>>>
>>> Thanks,
>>> Aiden McClelland
>>>
>>> --=20
>>> You received this message because you are subscribed to the Google=20
>>> Groups "Bitcoin Development Mailing List" group.
>>> To unsubscribe from this group and stop receiving emails from it, send=
=20
>>> an email to bitcoindev+...@googlegroups.com.
>>> To view this discussion visit=20
>>> https://groups.google.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6c=
68c6554f56n%40googlegroups.com=20
>>> <https://groups.google.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6=
c68c6554f56n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>
>>> .
>>>
>>

--=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/=
8c6bb024-437f-4122-8ae0-f8ed9b9c23e4n%40googlegroups.com.

------=_Part_889_1119372769.1759266555493
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bitcoin already has a built in user defined script language: Bitcoin Script=
.<div><br /></div><div>If you add a couple conditionally verified opcodes (=
the same ones necessary for covenants), you could write whatever filter you=
 like, and we'd learn more about what the best opcodes are for writing cove=
nants.</div><div><br /></div><div>You would execute the script "pretending"=
 to be input 0.</div><div><br /></div><div>We would then at least learn som=
ething about covenants.</div><div class=3D"gmail_quote"><div dir=3D"auto" c=
lass=3D"gmail_attr">On Tuesday, September 30, 2025 at 2:22:10=E2=80=AFAM UT=
C-4 Aiden McClelland wrote:<br/></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); paddi=
ng-left: 1ex;"><div><div dir=3D"auto">/dev/fd0,<br><br>I appreciate the com=
ments. A txnotify solution could work, although it loses a lot of the modul=
arity and sandboxing of what I&#39;m proposing. It would probably result in=
 a single external binary, running all of the policy validation logic, rath=
er than a bundle of scripts you can mix and match. And it might encourage s=
olutions that involve fetching relay policies over the internet, which is p=
robably not ideal. Ideally, updating policy should require user action. <br=
><br>Thanks, <br>Aiden McClelland<br><br></div></div><div><br><br><div clas=
s=3D"gmail_quote"><div dir=3D"auto">On September 27, 2025 7:22:28 PM MDT, /=
dev /fd0 &lt;<a href data-email-masked rel=3D"nofollow">alice...@gmail.com<=
/a>&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"margin:0pt 0=
pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir=3D"ltr">Hi Aiden,<div><br></div><div>There is an easy solution bas=
ed on my understanding of [transaction validation][0] although I have not t=
ested it:<br><br>1. Add a config option `txnotify` similar to `blocknotify`=
 that executes commands or script when a new transaction is received from a=
 peer.</div><div>2. Add a function `ExecuteTxNotify()` that will run the sc=
ript provided by the user in step 1. Script should either return &#39;accep=
t&#39; for &#39;reject&#39; and function would return true/false accordingl=
y.</div><div>3. Call `ExecuteTxNotify()` in `

AcceptToMemoryPool()` so that rejected transactions do not enter the mempoo=
l.</div><div><br></div><div>[0]:=C2=A0<a href=3D"https://bitcoincore.academ=
y/transaction-validation.html" target=3D"_blank" rel=3D"nofollow" data-safe=
redirecturl=3D"https://www.google.com/url?hl=3Den&amp;q=3Dhttps://bitcoinco=
re.academy/transaction-validation.html&amp;source=3Dgmail&amp;ust=3D1759352=
727483000&amp;usg=3DAOvVaw2ubDqvrsY4bNuqy6Xb67ZK">https://bitcoincore.acade=
my/transaction-validation.html</a><br><br>/dev/fd0<br>floppy disk guy</div>=
</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">=
On Thu, Sep 25, 2025 at 12:00=E2=80=AFAM Aiden McClelland &lt;<a href data-=
email-masked rel=3D"nofollow">m...@drbonez.dev</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi all,</div><div><br></=
div><div>I&#39;d like to share for discussion a draft BIP to allow for a mo=
dular mempool/relay policy: <a href=3D"https://github.com/bitcoin/bips/pull=
/1985" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://w=
ww.google.com/url?hl=3Den&amp;q=3Dhttps://github.com/bitcoin/bips/pull/1985=
&amp;source=3Dgmail&amp;ust=3D1759352727483000&amp;usg=3DAOvVaw3Psffw6fUb80=
db2gnmRsfy">https://github.com/bitcoin/bips/pull/1985</a><br><br></div><div=
>I think it could potentially reduce conflict within the community around r=
elay policy, as an alternative to running lots of different node implementa=
tions/forks when there are disagreements.</div><div><br></div><div>I am wor=
king on a reference implementation using Bellard&#39;s QuickJS, but it has =
been almost a decade since I&#39;ve written C++, so it&#39;s slow going and=
 I&#39;m sure doesn&#39;t follow best-practices. Once it&#39;s working, it =
can be cleaned up.</div><div><br></div><div>Thanks,</div><div>Aiden McClell=
and<br></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href data-email-masked rel=3D"nofollow">bitcoindev+...@googlegro=
ups.com</a>.<br>
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/cbdab6fa-93bc-44c9-80f0-6c68c6554f56n%40googlegroups.com?utm_med=
ium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank" rel=3D"nofollow" dat=
a-saferedirecturl=3D"https://www.google.com/url?hl=3Den&amp;q=3Dhttps://gro=
ups.google.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6c68c6554f56n%254=
0googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&amp;source=3Dgma=
il&amp;ust=3D1759352727483000&amp;usg=3DAOvVaw3JlkfL-EBEFYoF-juV1sBs">https=
://groups.google.com/d/msgid/bitcoindev/cbdab6fa-93bc-44c9-80f0-6c68c6554f5=
6n%40googlegroups.com</a>.<br>
</blockquote></div>
</blockquote></div></div></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:bitcoindev+unsubscribe@googlegroups.com">bitcoind=
ev+unsubscribe@googlegroups.com</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/8c6bb024-437f-4122-8ae0-f8ed9b9c23e4n%40googlegroups.com?utm_med=
ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind=
ev/8c6bb024-437f-4122-8ae0-f8ed9b9c23e4n%40googlegroups.com</a>.<br />

------=_Part_889_1119372769.1759266555493--

------=_Part_888_1590725700.1759266555493--