diff options
-rw-r--r-- | 8c/510f0d857a6cb468aa3e941aa817475e7119d4 | 384 |
1 files changed, 384 insertions, 0 deletions
diff --git a/8c/510f0d857a6cb468aa3e941aa817475e7119d4 b/8c/510f0d857a6cb468aa3e941aa817475e7119d4 new file mode 100644 index 000000000..9fac13886 --- /dev/null +++ b/8c/510f0d857a6cb468aa3e941aa817475e7119d4 @@ -0,0 +1,384 @@ +Delivery-date: Tue, 02 Sep 2025 02:37:28 -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 <bitcoindev+bncBDQ6BG4PT4CRBTPV3LCQMGQEW5SH7LI@googlegroups.com>) + id 1utNSB-0002MR-Bv + for bitcoindev@gnusha.org; Tue, 02 Sep 2025 02:37:28 -0700 +Received: by mail-oa1-f60.google.com with SMTP id 586e51a60fabf-315babce805sf4528933fac.0 + for <bitcoindev@gnusha.org>; Tue, 02 Sep 2025 02:37:26 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=googlegroups.com; s=20230601; t=1756805841; x=1757410641; 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=EawccvPMniKuqb2EvopTmd5KYQpEM87aPPUhXaKo4Ts=; + b=kFpxYi8XNCl5rVrOUfs+G8NBPzPSjzhjOopNPnzYtJVW5bLcr1MkfVJFbWbuzNXvaX + oQuHK0amke5UZlOBRbuXaEY6MOj+NleFp0cuHZopYZkeSKd4KtySO7jGRSKjyyzcbIBp + nqHNZlGzgdIhgolIaKJ95N86pS3axFM64B1P+ASpi6P+fIQ7YourrhEmy/c/aPXLTQo4 + MiFeuy4OSLMOxP0QeHTX9CeHluePWzomWUL7MZDULxYMzxUPqSIUP3WmhI72IkulwjkH + vV1QSG2lUpaREqDIyczNOY6T0zXTqazgL/62Ayu8xWWwvnsNGhhNxeLjdRE1Kc/SYW9e + fHYQ== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20230601; t=1756805841; x=1757410641; 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=EawccvPMniKuqb2EvopTmd5KYQpEM87aPPUhXaKo4Ts=; + b=AoCWtiAfLuijFrtxJPFYl7Wx2H09I7CDLBNbSYUJIIV6CcVaLz8Z2PxBftf3DRIfY7 + n6De/E/API1kBrc/cNaFtifA5FSh5NLi0pORAMOK3W/WjDdhoIBv3SIRuon9heyM1WEZ + 2VLtEGTU4SGa9ZCnxPNsX3juetzxyimWwOg8AA4FMwPkVcN1CXZz+N5RI/WyOvYgtU0w + sDBnMRu4kU7Vytjn7yVqHnQ9wDxFxA+X/jTtZ019VJRYMrkQNTvSZfYuuNhhNsVNwNoq + 8Sjbc3OsUset//yyZdt8x3iHlIumIyugAWIeV641fzRvLEhV8H/fAR9Vn2Z03U9V6uL3 + MBrA== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20230601; t=1756805841; x=1757410641; + 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=EawccvPMniKuqb2EvopTmd5KYQpEM87aPPUhXaKo4Ts=; + b=fTvqDSAiXl4w8GBdDdEnww33D2qBkq026WeNVsli8bEALEZ4NwY024d6+xBUu2bX// + QbxMZdvTAmtFiBUpvhd4ekXeMP5B6gIuvGOMEqZGHF4hcoDQMvAGdxSqJWCAACyn1OhL + HZvSRVAKOy3zsd7PPowsiEighALQgZkS4j2Kq9ugDcQBDQmZp2A9RaMqxVD6uP+nz58x + wbjn6DDYuGU06DL2O3nlgEpvEe5Y8i73uST7Ua6uEeCuB4Irq5gV8ycIqzNrqUOyXQfE + jgrT2GurrMLTXhxl2KWVvtwxI/Ea3Ke7tCRN7t4HsMEsm5d9rzkmRESkHpE4921Mk6Mu + FGtQ== +Sender: bitcoindev@googlegroups.com +X-Forwarded-Encrypted: i=1; AJvYcCUDXtf3IP7rwN9iJSyaLKK00tuiIBHSMC887nZUWDy+YwPvkJ/fwJmR404+/p1o1T1/7H3Q1lc7xuAn@gnusha.org +X-Gm-Message-State: AOJu0YxmIdh/kjPV7ihv/uzRcPbBeVQUTv6WBLm+FmpNEwWuSsH9epkK + UbRcsewLIrrp+aFn7jKoQVhlrFOT7u5nBrLiv0jet2wOm0VutybyyUWX +X-Google-Smtp-Source: AGHT+IE2NIOlGKT6BuY2GUE6xAIejZmXzOQlCiJZwOl7QrX7CB/kXMgZa8MOB8cGDqOtmeqs2t7X4A== +X-Received: by 2002:a05:6870:9723:b0:306:e3a8:a97b with SMTP id 586e51a60fabf-319631e52cbmr5697021fac.21.1756805840568; + Tue, 02 Sep 2025 02:37:20 -0700 (PDT) +X-BeenThere: bitcoindev@googlegroups.com; h=AZMbMZcXJ8jeDgCWs4cvGQTAsWbCVzDIM1bsT2tw1XsZqBfh0w== +Received: by 2002:a05:6871:2307:b0:319:bd24:d42f with SMTP id + 586e51a60fabf-319bd24dd53ls168604fac.0.-pod-prod-08-us; Tue, 02 Sep 2025 + 02:37:17 -0700 (PDT) +X-Received: by 2002:a05:6808:bc8:b0:433:ef4a:e8c0 with SMTP id 5614622812f47-437f7d74fcfmr4542910b6e.25.1756805837485; + Tue, 02 Sep 2025 02:37:17 -0700 (PDT) +Received: by 2002:a05:690c:998f:b0:723:969e:b18b with SMTP id 00721157ae682-723969ebc7ems7b3; + Mon, 1 Sep 2025 19:30:44 -0700 (PDT) +X-Received: by 2002:a05:690c:6006:b0:71f:b944:1017 with SMTP id 00721157ae682-722765844e4mr104526197b3.50.1756780243178; + Mon, 01 Sep 2025 19:30:43 -0700 (PDT) +Date: Mon, 1 Sep 2025 19:30:42 -0700 (PDT) +From: Javier Mateos <javierpmateos@gmail.com> +To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com> +Message-Id: <9513ab67-511b-4f24-bcfe-e77e8d9112cdn@googlegroups.com> +In-Reply-To: <dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n@googlegroups.com> +References: <774faeb9-6c6b-4545-8071-56ec03e78cd0n@googlegroups.com> + <8a0d48f9-bc15-492f-8b81-14dac4729a5cn@googlegroups.com> + <dc8e0b5f-24dc-471d-89e4-4b4b2effcdc0n@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_358548_1161075691.1756780242798" +X-Original-Sender: javierpmateos@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_358548_1161075691.1756780242798 +Content-Type: multipart/alternative; + boundary="----=_Part_358549_368025210.1756780242798" + +------=_Part_358549_368025210.1756780242798 +Content-Type: text/plain; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + + + +Hi Ben, + +Thank you for implementing those changes so promptly. I reviewed the commit= +=20 +and the updates address both concerns effectively. + +These changes should ensure consistent implementations across different=20 +codex32 tooling that uses BIP-85 derivation. + +The proposal looks technically sound, follows BIP-85's established pattern= +=20 +for applications, and is supported by comprehensive test vectors and a=20 +reference implementation.=20 + +Looking forward to hearing feedback from other reviewers as well. + +Best regards, +Javier Mateos + +El lunes, 1 de septiembre de 2025 a las 20:15:11 UTC-3, Ben Westgate=20 +escribi=C3=B3: + +> Hi Javier, +> +> Thank you for your feedback.=20 +> +> I added pseudocode for the character value selection. I added a column an= +d=20 +> row to the n table to clarify the t=3D=3D0 constraint on n, removed the n= +otes=20 +> and in the unshared secret section made the normative statement: 'When th= +reshold=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 = +review. +> +> Commit:=20 +> https://github.com/BenWestgate/bips/commit/fa6e9788bf04d271792ed4ea89a112= +d12284ef02 +> +> Best regards, Ben Westgate +> +> +> On Monday, September 1, 2025 at 6:34:39=E2=80=AFAM UTC-5 Javier Mateos wr= +ote: +> +>> 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 wal= +let=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 deriv= +e=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 se= +eds.=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 #3265= +2=20 +>>> <https://github.com/bitcoin/bitcoin/pull/32652?utm_source=3Dchatgpt.= +com>=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:codex= +32=20 +>>> <https://github.com/bitcoin/bips/compare/master...BenWestgate:bips:code= +x32?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/= +9513ab67-511b-4f24-bcfe-e77e8d9112cdn%40googlegroups.com. + +------=_Part_358549_368025210.1756780242798 +Content-Type: text/html; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + +<p>Hi Ben,</p> +<p>Thank you for implementing those changes so promptly. I reviewed the com= +mit and the updates address both concerns effectively.</p> +<p>These changes should ensure consistent implementations across different = +codex32 tooling that uses BIP-85 derivation.</p> +<p> + +The proposal looks technically sound, follows BIP-85's established pattern = +for applications, and is supported by comprehensive test vectors and a refe= +rence implementation. + +</p> +<p>Looking forward to hearing feedback from other reviewers as well.</p> +<p>Best regards,<br /> +Javier Mateos</p><br /><div class=3D"gmail_quote"><div dir=3D"auto" class= +=3D"gmail_attr">El lunes, 1 de septiembre de 2025 a las 20:15:11 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 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 feedback.= + </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 c= +larify the t=3D=3D0 constraint on n, removed the notes and in the unshared = +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 rev= +iew.</p><p dir=3D"auto" style=3D"white-space:pre-wrap">Commit: <a href=3D"h= +ttps://github.com/BenWestgate/bips/commit/fa6e9788bf04d271792ed4ea89a112d12= +284ef02" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https:/= +/www.google.com/url?hl=3Des&q=3Dhttps://github.com/BenWestgate/bips/com= +mit/fa6e9788bf04d271792ed4ea89a112d12284ef02&source=3Dgmail&ust=3D1= +756866362866000&usg=3DAOvVaw252CchKtnXnEllFuxepCnn">https://github.com/= +BenWestgate/bips/commit/fa6e9788bf04d271792ed4ea89a112d12284ef02</a></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" class= +=3D"gmail_attr">On Monday, September 1, 2025 at 6:34:39=E2=80=AFAM UTC-5 Ja= +vier Mateos wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg= +in:0 0 0 0.8ex;border-left:1px solid rgb(204,204,204);padding-left: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 specification, =C2=A0I = +believe I see two areas where we could improve clarity for implementers:<br= +><br>1) The DRNG=E2=86=925-bit extraction process could benefit from explic= +it pseudocode to avoid implementation variations<br>2) The rule 'thresh= +old =3D=3D 0 implies n =3D=3D 1' currently appears as a note but could = +be clearer as a normative requirement"<br><br>Best Regards,<br>Javier = +Mateos<br><br><div class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmail_a= +ttr">El domingo, 31 de agosto de 2025 a las 19:29:46 UTC-3, Ben Westgate es= +cribi=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=3Des&q=3Dhttps://githu= +b.com/bitcoin/bips/blob/master/bip-0093.mediawiki&source=3Dgmail&us= +t=3D1756866362866000&usg=3DAOvVaw1NyNsOpqH2L1lTvoBO-bSy"><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=3Des&q=3Dhttps://github.com/bitcoin/bips/blob/mas= +ter/bip-0085.mediawiki&source=3Dgmail&ust=3D1756866362866000&us= +g=3DAOvVaw3ZtCxaEj0o6hE5ctEAYxC7">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'</span></p> +</li><li> +Derivation path: <span>m/83696968'/93'/{hrp}'/{threshold}'/= +{n}'/{byte_length}'/{id0}'/{id1}'/{id2}'/{id3}'/{in= +dex}'</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=3Des&q=3Dhttps://github.com/bitcoin/bitcoin/pull/326= +52?utm_source%3Dchatgpt.com&source=3Dgmail&ust=3D1756866362866000&a= +mp;usg=3DAOvVaw1gnaUYurTT2TT9FnJsIom6">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=3Des&q=3Dhttps://github.com/bitcoin/bips/compare/ma= +ster...BenWestgate:bips:codex32?utm_source%3Dchatgpt.com&source=3Dgmail= +&ust=3D1756866362866000&usg=3DAOvVaw1_SyEDkowJLpdBSkjvdt9V">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></blockquote></div> + +<p></p> + +-- <br /> +You received this message because you are subscribed to the Google Groups &= +quot;Bitcoin Development Mailing List" 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/9513ab67-511b-4f24-bcfe-e77e8d9112cdn%40googlegroups.com?utm_med= +ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind= +ev/9513ab67-511b-4f24-bcfe-e77e8d9112cdn%40googlegroups.com</a>.<br /> + +------=_Part_358549_368025210.1756780242798-- + +------=_Part_358548_1161075691.1756780242798-- + |