summaryrefslogtreecommitdiff
path: root/35/15c1c03325873af71aa71ec3783321b498f370
blob: 89b79b811bb63da29976c7c2d2358b82d69a0da6 (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
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
Delivery-date: Mon, 01 Sep 2025 16:15:17 -0700
Received: from mail-oa1-f63.google.com ([209.85.160.63])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBDGJR37ZSINRB66R3DCQMGQE35LRTYQ@googlegroups.com>)
	id 1utDk5-00021o-2h
	for bitcoindev@gnusha.org; Mon, 01 Sep 2025 16:15:17 -0700
Received: by mail-oa1-f63.google.com with SMTP id 586e51a60fabf-30cce8f9e59sf5338019fac.1
        for <bitcoindev@gnusha.org>; Mon, 01 Sep 2025 16:15:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1756768511; x=1757373311; darn=gnusha.org;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to: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=/UJFkt1kNWM2wTvebDAFzt0I4fm7Ftxxs1hS/Ftx4rI=;
        b=h+GbAEQKERwV+Ag4SfwojWxPgZUV/Sql2F/5g9VFP1bVx86fCp/q69yZ13aNY0beDZ
         c6U5DPqxMdDGQ1ZCtghiX6kitCNWYqWsYbH1Wg/mJkxNNh3TYUY9sQXBVsgbL4fmkiHP
         0uxVlyDaJTf+fIAsIUwK2ufCkF7iowkeHUj408UDtoweDG/LEalp10ZaZkOrrKzLl9b3
         gyycBmfJPnVWlo4JqiM/YR1YJk/1I3U620lwkhkYmUhKkFZbds8X+113Kb5TH8M3cpnJ
         iWCglPyXG6RxDU8ZCrkyH6DrjJWbQCQoV9W3aJJe4uLioLZ1rVWktPKq409H50ewmC8Q
         1EdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1756768511; x=1757373311;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:x-original-sender
         :mime-version:subject:references:in-reply-to:message-id:to:from:date
         :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/UJFkt1kNWM2wTvebDAFzt0I4fm7Ftxxs1hS/Ftx4rI=;
        b=Q9FWueilbxcI2xl1SqhUGWYB+R4niETIm/otuc3m/IFgbXIYUK5Fy7PB+FrDeEclVJ
         MwjbE18flj/KzACKnDbSqU7dbBs1S9Khn7kXYRb5/RJdMnjLRBrsxP+hVAlK+pcP38im
         CE6zJ3FV+fQ0wC86QJe1e0rKVxaCRAliH8JnHPZENHCY5zLODw/GPPSBCKuFobG35XCq
         nJB2SRqYZVO2OCNIRSGkD967Jdz1y7EUDmecQ1VczcgrGdcevmg0z5AyWGM5ou4WRDkT
         RIokNpye8CWbnORfne5fuVMgwAUGERmXwrtq2YBheSQgB9KZoDRWPmo2aNyzkBt35H3Y
         oXaQ==
X-Forwarded-Encrypted: i=1; AJvYcCVCTIRiXWTibCm/7xA8uBv/BdWAvdYVmlZgckUCXL1fHQydq3QLh3+f4hT3zCHla0VhbsEajyG6ovtC@gnusha.org
X-Gm-Message-State: AOJu0YzWc8mqL2Ly3VK5Olq/37d7um8zLJfdFLWor3UOoEVsskI3WKXr
	W26SxpBMHOBQTKBTGdKMBDvW+htHa6zzjLV2KCYyMS4DlL2uEu+h7UF7
X-Google-Smtp-Source: AGHT+IGr6wuVlSCqc0zy3H8fA8swhZqvN+HZGtHsVVYbChSyUnZPpuMAjOsgxGyxGvTg+vPa/1XBHg==
X-Received: by 2002:a05:6870:a913:b0:315:7456:1b2a with SMTP id 586e51a60fabf-319633483ddmr3409662fac.24.1756768510838;
        Mon, 01 Sep 2025 16:15:10 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=AZMbMZfSyzmUWHf5euvSfmfVByhtHhkCwApP4RuiyrWVa7SCIw==
Received: by 2002:a05:6870:e3c5:b0:30b:b2fd:9588 with SMTP id
 586e51a60fabf-315962e3776ls1864138fac.2.-pod-prod-03-us; Mon, 01 Sep 2025
 16:15:07 -0700 (PDT)
X-Received: by 2002:a05:6808:f89:b0:437:75ea:6c6c with SMTP id 5614622812f47-437f7dc465bmr3573444b6e.47.1756768507633;
        Mon, 01 Sep 2025 16:15:07 -0700 (PDT)
Received: by 2002:a05:690c:998f:b0:723:969e:b18b with SMTP id 00721157ae682-723969ebc7ems7b3;
        Mon, 1 Sep 2025 11:37:39 -0700 (PDT)
X-Received: by 2002:a05:690c:688b:b0:71a:195b:707e with SMTP id 00721157ae682-7227635cd0amr113987267b3.1.1756751858275;
        Mon, 01 Sep 2025 11:37:38 -0700 (PDT)
Date: Mon, 1 Sep 2025 11:37:37 -0700 (PDT)
From: "'Ben Westgate' via Bitcoin Development Mailing List" <bitcoindev@googlegroups.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Message-Id: <dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n@googlegroups.com>
In-Reply-To: <8a0d48f9-bc15-492f-8b81-14dac4729a5cn@googlegroups.com>
References: <774faeb9-6c6b-4545-8071-56ec03e78cd0n@googlegroups.com>
 <8a0d48f9-bc15-492f-8b81-14dac4729a5cn@googlegroups.com>
Subject: [bitcoindev] Re: [BIP Proposal] Add BIP-0093 (Codex32) as application
 to BIP-0085
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_205160_120551579.1756751857727"
X-Original-Sender: BenWestgate@Protonmail.com
X-Original-From: Ben Westgate <BenWestgate@Protonmail.com>
Reply-To: Ben Westgate <BenWestgate@Protonmail.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: -1.0 (-)

------=_Part_205160_120551579.1756751857727
Content-Type: multipart/alternative; 
	boundary="----=_Part_205161_1715538440.1756751857727"

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



Hi Javier,

Thank you for your feedback.=20

I added pseudocode for the character value selection. I added a column and=
=20
row to the n table to clarify the t=3D=3D0 constraint on n, removed the not=
es=20
and in the unshared secret section made the normative statement: 'When thre=
shold=20
=3D=3D "0", n MUST be *1* and the output is a codex32 secret.'

I=E2=80=99ve updated the PR with these changes and would appreciate your re=
view.

Commit:=20
https://github.com/BenWestgate/bips/commit/fa6e9788bf04d271792ed4ea89a112d1=
2284ef02

Best regards, Ben Westgate


On Monday, September 1, 2025 at 6:34:39=E2=80=AFAM UTC-5 Javier Mateos wrot=
e:

> Hi Ben,
>
> Thank you for your proposal to integrate BIP-0093 (codex32) as an=20
> application within BIP-0085
>
> Reviewing the specification,  I believe I see two areas where we could=20
> improve clarity for implementers:
>
> 1) The DRNG=E2=86=925-bit extraction process could benefit from explicit=
=20
> pseudocode to avoid implementation variations
> 2) The rule 'threshold =3D=3D 0 implies n =3D=3D 1' currently appears as =
a note=20
> but could be clearer as a normative requirement"
>
> Best Regards,
> Javier Mateos
>
> El domingo, 31 de agosto de 2025 a las 19:29:46 UTC-3, Ben Westgate=20
> escribi=C3=B3:
>
>> Hello bitcoin-dev,
>>
>> I=E2=80=99m Ben Westgate, a contributor interested in deterministic wall=
et=20
>> backups and seed management.
>>
>> Per BIP-0002, I propose listing *BIP-0093 (codex32)*=20
>> <https://github.com/bitcoin/bips/blob/master/bip-0093.mediawiki> as an=
=20
>> application of
>> *BIP-0085 (Deterministic Entropy from BIP32 Keychains)=20
>> <https://github.com/bitcoin/bips/blob/master/bip-0085.mediawiki>*,=20
>> similar to the existing BIP39 application. This allows wallets to derive=
=20
>> codex32 backups from BIP-0032 master keys.
>>
>> *Summary*=20
>>
>>    -=20
>>   =20
>>    Application number: 93'
>>    - Derivation path:=20
>>    m/83696968'/93'/{hrp}'/{threshold}'/{n}'/{byte_length}'/{id0}'/{id1}'=
/{id2}'/{id3}'/{index}'=20
>>   =20
>> Codex32, defined in BIP-93, is a human-readable encoding with=20
>> checksumming and share indexing designed for SSS backups of BIP-0032 see=
ds.=20
>> This PR proposes a deterministic way to generate codex32 strings using=
=20
>> BIP-85.
>>
>> *Rationale*=20
>>
>>    -=20
>>   =20
>>    Mirrors the existing BIP-85 application for BIP-39.
>>    -=20
>>   =20
>>    Codex32 offers error correction, hand verification, identifiers, and=
=20
>>    secret sharing features compared to BIP-39.
>>    -=20
>>   =20
>>    Adds a standardized way for wallets to generate codex32 backups from=
=20
>>    BIP-85-derived entropy
>>    -=20
>>   =20
>>    Test vectors and reference implementation are linked to in the PR.
>>   =20
>> *Risks and alternatives*=20
>>
>>    -=20
>>   =20
>>    Wallet adoption of codex32 is still limited, though a draft PR #32652=
=20
>>    <https://github.com/bitcoin/bitcoin/pull/32652?utm_source=3Dchatgpt.c=
om>=20
>>    for importing codex32 strings to Bitcoin Core has support.
>>    - Codex32 implementers could use the BIP-85 dice application, but=20
>>    defining a direct application improves interoperability.
>>
>> PR:=20
>> https://github.com/bitcoin/bips/compare/master...BenWestgate:bips:codex3=
2=20
>> <https://github.com/bitcoin/bips/compare/master...BenWestgate:bips:codex=
32?utm_source=3Dchatgpt.com>
>>
>> Feedback is welcome.
>> Best regards,
>> Ben Westgate
>
>

--=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/=
dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n%40googlegroups.com.

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

<p dir=3D"auto" style=3D"white-space: pre-wrap;">Hi Javier,</p>
<p dir=3D"auto" style=3D"white-space: pre-wrap;">Thank you for your feedbac=
k. </p><p dir=3D"auto" style=3D"white-space: pre-wrap;">I added pseudocode =
for the character value selection. I added a column and row to the n table =
to clarify the t=3D=3D0 constraint on n, removed the notes and in the unsha=
red secret section made the normative statement: 'When <span>threshold =3D=
=3D "0"</span>, <span>n</span> MUST be <i>1</i> and the output is a codex32=
 secret.'</p><p dir=3D"auto" style=3D"white-space: pre-wrap;">I=E2=80=99ve =
updated the PR with these changes and would appreciate your review.</p><p d=
ir=3D"auto" style=3D"white-space: pre-wrap;">Commit: https://github.com/Ben=
Westgate/bips/commit/fa6e9788bf04d271792ed4ea89a112d12284ef02</p>
<p dir=3D"auto" style=3D"white-space: pre-wrap;">Best regards,
Ben Westgate</p><br /><br /><div class=3D"gmail_quote"><div dir=3D"auto" cl=
ass=3D"gmail_attr">On Monday, September 1, 2025 at 6:34:39=E2=80=AFAM UTC-5=
 Javier Mateos wrote:<br/></div><blockquote class=3D"gmail_quote" style=3D"=
margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-lef=
t: 1ex;">Hi Ben,<br><br>Thank you for your proposal to integrate BIP-0093 (=
codex32) as an application within BIP-0085<br><br>Reviewing the specificati=
on, =C2=A0I believe I see two areas where we could improve clarity for impl=
ementers:<br><br>1) The DRNG=E2=86=925-bit extraction process could benefit=
 from explicit pseudocode to avoid implementation variations<br>2) The rule=
 &#39;threshold =3D=3D 0 implies n =3D=3D 1&#39; currently appears as a not=
e but could be clearer as a normative requirement&quot;<br><br>Best Regards=
,<br>Javier Mateos<br><br><div class=3D"gmail_quote"><div dir=3D"auto" clas=
s=3D"gmail_attr">El domingo, 31 de agosto de 2025 a las 19:29:46 UTC-3, Ben=
 Westgate escribi=C3=B3:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex"><p>Hello bitcoin-dev,</p>
<p>I=E2=80=99m Ben Westgate, a contributor interested in deterministic wall=
et backups and seed management.</p>
<p>Per BIP-0002, I propose listing <a href=3D"https://github.com/bitcoin/bi=
ps/blob/master/bip-0093.mediawiki" rel=3D"nofollow" target=3D"_blank" data-=
saferedirecturl=3D"https://www.google.com/url?hl=3Den&amp;q=3Dhttps://githu=
b.com/bitcoin/bips/blob/master/bip-0093.mediawiki&amp;source=3Dgmail&amp;us=
t=3D1756837897765000&amp;usg=3DAOvVaw0MaS_HEldjMDPZrWyRpVJi"><strong>BIP-00=
93 (codex32)</strong></a> as an application of<br>
<strong><a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0085.med=
iawiki" rel=3D"nofollow" target=3D"_blank" data-saferedirecturl=3D"https://=
www.google.com/url?hl=3Den&amp;q=3Dhttps://github.com/bitcoin/bips/blob/mas=
ter/bip-0085.mediawiki&amp;source=3Dgmail&amp;ust=3D1756837897765000&amp;us=
g=3DAOvVaw2wFpaB_xsJF--kNZR8ZHIA">BIP-0085 (Deterministic Entropy from BIP3=
2 Keychains)</a></strong>, similar to the existing BIP39 application. This =
allows
wallets to  derive codex32 backups from BIP-0032 master keys.</p>
<p><span><b>Summary</b></span>
</p><ul><li>
<p>Application number: <span>93&#39;</span></p>
</li><li>
Derivation path: <span>m/83696968&#39;/93&#39;/{hrp}&#39;/{threshold}&#39;/=
{n}&#39;/{byte_length}&#39;/{id0}&#39;/{id1}&#39;/{id2}&#39;/{id3}&#39;/{in=
dex}&#39;</span> <br></li></ul><p>Codex32, defined in BIP-93, is a human-re=
adable encoding with checksumming and share indexing designed for SSS backu=
ps of BIP-0032 seeds. This PR proposes a deterministic way to generate code=
x32 strings using BIP-85.</p>
<p><span><b>Rationale</b></span>
</p><ul><li>
<p>Mirrors the existing BIP-85 application for BIP-39.</p>
</li><li>
<p>Codex32 offers error correction, hand verification, identifiers, and sec=
ret sharing features compared to BIP-39.</p>
</li><li>
<p>Adds a standardized way for wallets to generate codex32 backups from BIP=
-85-derived entropy<br></p>
</li><li>
<p>Test vectors and reference implementation are linked to in the PR.<br></=
p></li></ul><p>
</p><p><b><span>Risks and alternatives</span></b>
</p><ul><li>
<p>Wallet adoption of codex32 is still limited, though a draft <a rel=3D"no=
opener nofollow" href=3D"https://github.com/bitcoin/bitcoin/pull/32652?utm_=
source=3Dchatgpt.com" target=3D"_blank" data-saferedirecturl=3D"https://www=
.google.com/url?hl=3Den&amp;q=3Dhttps://github.com/bitcoin/bitcoin/pull/326=
52?utm_source%3Dchatgpt.com&amp;source=3Dgmail&amp;ust=3D1756837897765000&a=
mp;usg=3DAOvVaw1btfWCQp5N-6nOzg1Ffio5">PR #32652</a> for importing codex32 =
strings to Bitcoin Core has support.</p></li><li>Codex32 implementers could=
 use the BIP-85 dice application, but defining a direct application improve=
s interoperability.</li></ul><p>PR: <a rel=3D"noopener nofollow" href=3D"ht=
tps://github.com/bitcoin/bips/compare/master...BenWestgate:bips:codex32?utm=
_source=3Dchatgpt.com" target=3D"_blank" data-saferedirecturl=3D"https://ww=
w.google.com/url?hl=3Den&amp;q=3Dhttps://github.com/bitcoin/bips/compare/ma=
ster...BenWestgate:bips:codex32?utm_source%3Dchatgpt.com&amp;source=3Dgmail=
&amp;ust=3D1756837897765000&amp;usg=3DAOvVaw0Pa-lQ9NseEarHEx9xwplw">https:/=
/github.com/bitcoin/bips/compare/master...BenWestgate:bips:codex32</a></p><=
p>Feedback is welcome.</p>Best regards,<br>Ben Westgate</blockquote></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/dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n%40googlegroups.com?utm_med=
ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind=
ev/dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n%40googlegroups.com</a>.<br />

------=_Part_205161_1715538440.1756751857727--

------=_Part_205160_120551579.1756751857727--