From mboxrd@z Thu Jan 1 00:00:00 1970 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 ) 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 ; 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 To: Bitcoin Development Mailing List Message-Id: <9513ab67-511b-4f24-bcfe-e77e8d9112cdn@googlegroups.com> In-Reply-To: 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_358548_1161075691.1756780242798" X-Original-Sender: javierpmateos@gmail.com 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: -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 >>> as an= =20 >>> application of >>> *BIP-0085 (Deterministic Entropy from BIP32 Keychains)=20 >>> *,=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 >>> =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 >>> >>> >>> 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

Hi Ben,

Thank you for implementing those changes so promptly. I reviewed the com= mit and the updates address both concerns effectively.

These changes should ensure consistent implementations across different = codex32 tooling that uses BIP-85 derivation.

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.

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 escribi=C3=B3:

Hi Javier,

Thank you for your feedback.=

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 threshold =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 rev= iew.

Commit: https://github.com/= BenWestgate/bips/commit/fa6e9788bf04d271792ed4ea89a112d12284ef02

Best regards, Ben Westgate



On Monday, September 1, 2025 at 6:34:39=E2=80=AFAM UTC-5 Ja= vier Mateos wrote:
Hi = Ben,

Thank you for your proposal to integrate BIP-0093 (codex32) as = an application within BIP-0085

Reviewing the specification, =C2=A0I = believe I see two areas where we could improve clarity for implementers:
1) The DRNG=E2=86=925-bit extraction process could benefit from explic= it pseudocode to avoid implementation variations
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"

Best Regards,
Javier = Mateos

El domingo, 31 de agosto de 2025 a las 19:29:46 UTC-3, Ben Westgate es= cribi=C3=B3:

Hello = bitcoin-dev,

I=E2=80=99m Ben Westgate, a contributor interested in deterministic wall= et backups and seed management.

Per BIP-0002, I propose listing BIP-00= 93 (codex32) as an application of
BIP-0085 (Deterministic Entropy from BIP3= 2 Keychains), similar to the existing BIP39 application. This = allows wallets to derive codex32 backups from BIP-0032 master keys.

Summary

  • Application number: 93'

  • Derivation path: m/83696968'/93'/{hrp}'/{threshold}'/= {n}'/{byte_length}'/{id0}'/{id1}'/{id2}'/{id3}'/{in= dex}'

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.

Rationale

  • Mirrors the existing BIP-85 application for BIP-39.

  • Codex32 offers error correction, hand verification, identifiers, and sec= ret sharing features compared to BIP-39.

  • Adds a standardized way for wallets to generate codex32 backups from BIP= -85-derived entropy

  • Test vectors and reference implementation are linked to in the PR.

Risks and alternatives

  • Wallet adoption of codex32 is still limited, though a draft PR #32652 for importing codex32 = strings to Bitcoin Core has support.

  • Codex32 implementers could= use the BIP-85 dice application, but defining a direct application improve= s interoperability.

PR: https:/= /github.com/bitcoin/bips/compare/master...BenWestgate:bips:codex32

<= p>Feedback is welcome.

Best regards,
Ben Westgate
<= /blockquote>

--
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/bitcoind= ev/9513ab67-511b-4f24-bcfe-e77e8d9112cdn%40googlegroups.com.
------=_Part_358549_368025210.1756780242798-- ------=_Part_358548_1161075691.1756780242798--