summaryrefslogtreecommitdiff
path: root/3c/d4c875b5eacdc8a73348b11411eedfd97f7277
blob: 9c8942b262c6357818e7b9d34ff53277aa432324 (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
Delivery-date: Sat, 29 Jun 2024 13:39:32 -0700
Received: from mail-yb1-f183.google.com ([209.85.219.183])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBC5P5KEHZQLBB7HBQG2AMGQERKQZCIA@googlegroups.com>)
	id 1sNer6-0006qk-Am
	for bitcoindev@gnusha.org; Sat, 29 Jun 2024 13:39:32 -0700
Received: by mail-yb1-f183.google.com with SMTP id 3f1490d57ef6-e034be92526sf363504276.0
        for <bitcoindev@gnusha.org>; Sat, 29 Jun 2024 13:39:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1719693566; x=1720298366; 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=AbLrhw6POGUY+8WY+lD/O1bnMaxNZ6K0elynwNEZ+W0=;
        b=JKsDxSqQoZgzYZ2HXMDMQsdzi+sbuyu3v5VA4Whla6GTnTmvg8h8bMv/w4+cW8P4Nf
         /Xee2tPwfYARg2f7CU0h4VJoFlSRHbY+U7IKgSHts7eWYU6ZKsU7U+NN6R2gnyV6MBzd
         /4qANnHXJmd+L/EWkZj7/WzPlnt5847Pki8VvZNR8lYve9v0yh/t3EbrsbCS+XpOSg8d
         5UHGPOGjK5f0NdRMUnIIsGhgW5tjt80HLbbzcfHG/ASfH/gIkwtTTQxyLpU1fRhHXva9
         lUsUf9NYhyw4ziEiLgtvoIYoqAAJvvB0QWbv0Djl8ByhoLIm/u97Z2PyB0O6ZrhRPhqV
         YJ+g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups-com.20230601.gappssmtp.com; s=20230601; t=1719693566; x=1720298366; 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=AbLrhw6POGUY+8WY+lD/O1bnMaxNZ6K0elynwNEZ+W0=;
        b=UgGBm2CknD/xoxebC5YzRP844/7W1Nl7TTYjp3c7aF7K/35Ij5Au0dX1X3Txl4eRwO
         vWjGWWWAzmi/AF1BJ9K22H95G46M7RLlRAhTSLcW/F3zS/0h571lZy++BwjKlZbWf3a+
         rCfxZCZ4+FkENO0vb3dZKoWsNhVEuJ7cvkvOO1qSSzDGaBOpPFBVBw7ahfqtnxnbLRT+
         /1SDFsNjw9VvnHbsiCkPpzMlAzEFmexW97ZUgVW+8diDKKmD5j17HYotTlGP7w3nl23z
         rlymq6r9TFetrcXWYoOcURAxdgLZn3kiK2w2mx+DrzfgUWjMJSFJDS9GFL2or0qMGOlV
         7hsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1719693566; x=1720298366;
        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=AbLrhw6POGUY+8WY+lD/O1bnMaxNZ6K0elynwNEZ+W0=;
        b=E8WJDogbtvirkTX19usGRGRQxuVGlyEWCwRnxGgLeSR2ZgtSrCGKl6MWU8G0HYE9ok
         SADtOCn/S2twF4/26w/VYfB5kFZDSiVwKHlO80wd9q8i1WuLRi+JhDCBTE3lPcNfqyKB
         cBTZtihBA1R5mbpHabdXm4b+YmYXQcRPngVoydkWbzRb1F35BvFN/PdrumHzOzch/Q6l
         kz/KKbg2G+AVVW6wbKoBt6VlTXjntjE9AkADbBPTybUxjGc1C0afSWHCGCFPYD5iSKB9
         fR2W2cSutYOTAtbgWfJzGL6ay6g0KFhhvWvpUu4nCUUN3vH1ecCPagjWc1PfSKeRdBas
         l32w==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=1; AJvYcCUt+CCspYQSaTzknaodxlezukSDOB3UR2f2dnigLSKbHMWBduJgtT3r/Jx/nQsrVojsbFo/s3LaGe7xP5aaMCwngSwuMik=
X-Gm-Message-State: AOJu0YwvdoqL8TNHy99UroPgBG5kF0EkLvsdzlMaowkxYgCfW6QrtbqE
	5/l5qmSwNViXf6xyFtlw6S/qJ3FGuatofSo/86q8It56+UKC/zm9
X-Google-Smtp-Source: AGHT+IEZ3LU7wb1ZXwpEJPjbYTTdT9LcZnr8+cZyifBR7daLeIW/O/h29ES2RSKKXj/Un/SRvu49Tg==
X-Received: by 2002:a25:df86:0:b0:e02:bde3:3166 with SMTP id 3f1490d57ef6-e036eb383c7mr953067276.1.1719693565925;
        Sat, 29 Jun 2024 13:39:25 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com
Received: by 2002:a05:6902:1547:b0:e03:3d23:3957 with SMTP id
 3f1490d57ef6-e0356278842ls2687658276.2.-pod-prod-05-us; Sat, 29 Jun 2024
 13:39:24 -0700 (PDT)
X-Received: by 2002:a05:6902:1108:b0:dff:4c99:915 with SMTP id 3f1490d57ef6-e036ec42dd1mr110860276.10.1719693564322;
        Sat, 29 Jun 2024 13:39:24 -0700 (PDT)
Received: by 2002:a05:690c:4501:b0:63b:c3b0:e1c with SMTP id 00721157ae682-64d3374ecffms7b3;
        Sat, 29 Jun 2024 13:29:09 -0700 (PDT)
X-Received: by 2002:a05:6902:124b:b0:e03:3c8c:e82c with SMTP id 3f1490d57ef6-e036ec2fc74mr143331276.9.1719692948602;
        Sat, 29 Jun 2024 13:29:08 -0700 (PDT)
Date: Sat, 29 Jun 2024 13:29:08 -0700 (PDT)
From: Eric Voskuil <eric@voskuil.org>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Message-Id: <607a2233-ac12-4a80-ae4a-08341b3549b3n@googlegroups.com>
In-Reply-To: <CALZpt+EwVyaz1=A6hOOycqFGJs+zxyYYocZixTJgVmzZezUs9Q@mail.gmail.com>
References: <gnM89sIQ7MhDgI62JciQEGy63DassEv7YZAMhj0IEuIo0EdnafykF6RH4OqjTTHIHsIoZvC2MnTUzJI7EfET4o-UQoD-XAQRDcct994VarE=@protonmail.com>
 <72e83c31-408f-4c13-bff5-bf0789302e23n@googlegroups.com>
 <heKH68GFJr4Zuf6lBozPJrb-StyBJPMNvmZL0xvKFBnBGVA3fVSgTLdWc-_8igYWX8z3zCGvzflH-CsRv0QCJQcfwizNyYXlBJa_Kteb2zg=@protonmail.com>
 <5b0331a5-4e94-465d-a51d-02166e2c1937n@googlegroups.com>
 <yt1O1F7NiVj-WkmnYeta1fSqCYNFx8h6OiJaTBmwhmJ2MWAZkmmjPlUST6FM7t6_-2NwWKdglWh77vcnEKA8swiAnQCZJY2SSCAh4DOKt2I=@protonmail.com>
 <be78e733-6e9f-4f4e-8dc2-67b79ddbf677n@googlegroups.com>
 <jJLDrYTXvTgoslhl1n7Fk9-pL1mMC-0k6gtoniQINmioJpzgtqrJ_WqyFZkLltsCUusnQ4jZ6HbvRC-mGuaUlDi3kcqcFHALd10-JQl-FMY=@protonmail.com>
 <9a4c4151-36ed-425a-a535-aa2837919a04n@googlegroups.com>
 <3f0064f9-54bd-46a7-9d9a-c54b99aca7b2n@googlegroups.com>
 <26b7321b-cc64-44b9-bc95-a4d8feb701e5n@googlegroups.com>
 <CALZpt+EwVyaz1=A6hOOycqFGJs+zxyYYocZixTJgVmzZezUs9Q@mail.gmail.com>
Subject: Re: [bitcoindev] Re: Great Consensus Cleanup Revival
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_652037_1712594775.1719692948373"
X-Original-Sender: eric@voskuil.org
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.7 (/)

------=_Part_652037_1712594775.1719692948373
Content-Type: multipart/alternative; 
	boundary="----=_Part_652038_1807174148.1719692948373"

------=_Part_652038_1807174148.1719692948373
Content-Type: text/plain; charset="UTF-8"

> I meant C pointer and by "more robust" any kind of memory / CPU DoS 
arising due to memory management (e.g. hypothetical rule checking the 64 
bytes size for all block transactions).

Ok, thanks for clarifying. I'm still not making the connection to "checking 
a non-null [C] pointer" but that's prob on me.

> In my understanding, the validation logic equivalent of core's CheckBlock 
is libbitcoin's block::check(): 
https://github.com/libbitcoin/libbitcoin-system/blob/master/src/chain/block.cpp#L751

Yes, a rough correlation but not necessarily equivalence. Note that 
block.check has context free and contextual overrides.

The 'bypass' parameter indicates a block under checkpoint or milestone 
("assume valid"). In this case we must check Merkle root, witness 
commitment, and both types of malleation - as the purpose is to establish 
identity. Absent 'bypass' the typical checks are performed, and therefore a 
malleation check is not required here. The "type64" malleation is subsumed 
by the is_first_non_coinbase check and the "type32" malleation is subsumed 
by the is_internal_double_spend check.

I have some other thoughts on this that I'll post separately.

Best,
Eric

-- 
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/607a2233-ac12-4a80-ae4a-08341b3549b3n%40googlegroups.com.

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

&gt; I meant C pointer and by "more robust" any kind of memory / CPU DoS ar=
ising due to memory management (e.g. hypothetical rule checking the 64 byte=
s size for all block transactions).<br /><br />Ok, thanks for clarifying. I=
'm still not making the connection to "checking a non-null [C] pointer" but=
 that's prob on me.<br /><br />&gt; In my understanding, the validation log=
ic equivalent of core's CheckBlock is libbitcoin's block::check(): <br />ht=
tps://github.com/libbitcoin/libbitcoin-system/blob/master/src/chain/block.c=
pp#L751<br /><br />Yes, a rough correlation but not necessarily equivalence=
. Note that block.check has context free and contextual overrides.<br /><br=
 />The 'bypass' parameter indicates a block under checkpoint or milestone (=
"assume valid"). In this case we must check Merkle root, witness commitment=
, and both types of malleation - as the purpose is to establish identity. A=
bsent 'bypass' the typical checks are performed, and therefore a malleation=
 check is not required here. The "type64" malleation is subsumed by the is_=
first_non_coinbase check and the "type32" malleation is subsumed by the is_=
internal_double_spend check.<br /><br />I have some other thoughts on this =
that I'll post separately.<br /><br />Best,<br />Eric

<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 on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/bitcoindev/607a2233-ac12-4a80-ae4a-08341b3549b3n%40googlegroups.=
com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msg=
id/bitcoindev/607a2233-ac12-4a80-ae4a-08341b3549b3n%40googlegroups.com</a>.=
<br />

------=_Part_652038_1807174148.1719692948373--

------=_Part_652037_1712594775.1719692948373--