From 91bbe04242059425eca2f55690eb50c78f26b809 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 29 Oct 2025 12:48:33 +0100 Subject: [PATCH 1/4] Update bip-0093.mediawiki --- bip-0093.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0093.mediawiki b/bip-0093.mediawiki index 22a7ba32e9..49332ab0c8 100644 --- a/bip-0093.mediawiki +++ b/bip-0093.mediawiki @@ -20,7 +20,7 @@ This document describes a standard for backing up and restoring the master seed [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP-0032] hierarchical deterministic wallet, using Shamir's secret sharing. It includes an encoding format, a BCH error-correcting checksum, and algorithms for share generation and secret recovery. Secret data can be split into up to 31 shares. -A minimum threshold of shares, which can be between 1 and 9, is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. +A minimum threshold of shares, which can be 0 (for unshared secret) or between 2 and 9 (for shares), is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. ===Copyright=== From affbe854f374cf5051a79e8b2fa8e076d91d8bd2 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 6 Nov 2025 20:42:05 +0100 Subject: [PATCH 2/4] Update bip-0093.mediawiki --- bip-0093.mediawiki | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bip-0093.mediawiki b/bip-0093.mediawiki index 49332ab0c8..fe0571c65a 100644 --- a/bip-0093.mediawiki +++ b/bip-0093.mediawiki @@ -20,7 +20,7 @@ This document describes a standard for backing up and restoring the master seed [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP-0032] hierarchical deterministic wallet, using Shamir's secret sharing. It includes an encoding format, a BCH error-correcting checksum, and algorithms for share generation and secret recovery. Secret data can be split into up to 31 shares. -A minimum threshold of shares, which can be 0 (for unshared secret) or between 2 and 9 (for shares), is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. +A minimum threshold of shares, which can be between 1 and 9, is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. ===Copyright=== @@ -67,8 +67,8 @@ It reuses the base-32 character set from BIP-0173, and consists of: * A human-readable part, which is the string "ms" (or "MS"). * A separator, which is always "1". * A data part which is in turn subdivided into: -** A threshold parameter, which MUST be a single digit between "2" and "9", or the digit "0". -*** If the threshold parameter is "0" then the share index, defined below, MUST have a value of "s" (or "S"). +** A threshold digit (also called ''k'' in the codex book), which MUST be a single digit between "2" and "9", or the digit "0". This digit encodes the threshold (the number of shares required for recovery), where threshold 1 is encoded as "0" for unshared secrets, and thresholds 2-9 are encoded as digits "2"-"9" for shared secrets. +*** If the threshold digit is "0" then the share index, defined below, MUST have a value of "s" (or "S"). ** An identifier consisting of 4 bech32 characters. ** A share index, which is any bech32 character. Note that a share index value of "s" (or "S") is special and denotes the unshared secret (see section "Unshared Secret"). ** A payload which is a sequence of up to 74 bech32 characters. (However, see '''Long codex32 Strings''' below for an exception to this limit.) @@ -146,14 +146,14 @@ The master seed is decoded by converting the payload to bytes: Note that unlike the decoding process in BIP-0173, we do NOT require that the incomplete group be all zeros. -For an unshared secret, the threshold parameter (the first character of the data part) is ignored (beyond the fact it must be a digit for the codex32 string to be valid). -We recommend using the digit "0" for the threshold parameter in this case. +For an unshared secret, the threshold digit (the first character of the data part, also called ''k'') is ignored (beyond the fact it must be a digit for the codex32 string to be valid). +We recommend using the digit "0" for the threshold digit in this case, which encodes a threshold of 1 (no sharing). The 4 character identifier also has no effect beyond aiding users in distinguishing between multiple different master seeds in cases where they have more than one. ===Recovering Master Seed=== When the share index of a valid codex32 string (converted to lowercase) is not the letter "s", we call the string an codex32 share. -The first character of the data part indicates the threshold of the share, and it is required to be a non-"0" digit. +The first character of the data part is the threshold digit (also called ''k'' in the codex book), which encodes the threshold (the number of shares required for recovery). For shares, the threshold digit is required to be a non-"0" digit (i.e., "2" through "9"), encoding thresholds 2 through 9 respectively. In order to recover a master seed, one needs a set of valid codex32 shares such that: From 3ee54134bdf6ccf205b173bc4e495c5dc5eaa512 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 14 Nov 2025 05:48:01 +0100 Subject: [PATCH 3/4] Update bip-0093.mediawiki --- bip-0093.mediawiki | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-0093.mediawiki b/bip-0093.mediawiki index fe0571c65a..ed4b5c7996 100644 --- a/bip-0093.mediawiki +++ b/bip-0093.mediawiki @@ -67,7 +67,7 @@ It reuses the base-32 character set from BIP-0173, and consists of: * A human-readable part, which is the string "ms" (or "MS"). * A separator, which is always "1". * A data part which is in turn subdivided into: -** A threshold digit (also called ''k'' in the codex book), which MUST be a single digit between "2" and "9", or the digit "0". This digit encodes the threshold (the number of shares required for recovery), where threshold 1 is encoded as "0" for unshared secrets, and thresholds 2-9 are encoded as digits "2"-"9" for shared secrets. +** A threshold digit (also called ''k'' in the codex book), which MUST be a single digit between "2" and "9", or the digit "0". For shared secrets, this digit encodes the threshold (the number of shares required for recovery): thresholds 2-9 are encoded as digits "2"-"9" respectively. For unshared secrets, threshold 1 is denoted by the share index "s" (not by the threshold digit); the digit "0" is recommended for the threshold digit in this case, but any digit is allowed as it is ignored. *** If the threshold digit is "0" then the share index, defined below, MUST have a value of "s" (or "S"). ** An identifier consisting of 4 bech32 characters. ** A share index, which is any bech32 character. Note that a share index value of "s" (or "S") is special and denotes the unshared secret (see section "Unshared Secret"). @@ -146,14 +146,14 @@ The master seed is decoded by converting the payload to bytes: Note that unlike the decoding process in BIP-0173, we do NOT require that the incomplete group be all zeros. -For an unshared secret, the threshold digit (the first character of the data part, also called ''k'') is ignored (beyond the fact it must be a digit for the codex32 string to be valid). -We recommend using the digit "0" for the threshold digit in this case, which encodes a threshold of 1 (no sharing). +For an unshared secret, the threshold digit (the first character of the data part) is ignored (beyond the fact it must be a digit for the codex32 string to be valid). +We recommend using the digit "0" for the threshold digit in this case. Note that threshold 1 is denoted by the share index "s", not by the threshold digit. The 4 character identifier also has no effect beyond aiding users in distinguishing between multiple different master seeds in cases where they have more than one. ===Recovering Master Seed=== When the share index of a valid codex32 string (converted to lowercase) is not the letter "s", we call the string an codex32 share. -The first character of the data part is the threshold digit (also called ''k'' in the codex book), which encodes the threshold (the number of shares required for recovery). For shares, the threshold digit is required to be a non-"0" digit (i.e., "2" through "9"), encoding thresholds 2 through 9 respectively. +The first character of the data part is the threshold digit, which encodes the threshold (the number of shares required for recovery). For a codex32 share, the threshold digit is required to be a non-"0" digit (i.e., "2" through "9"), encoding thresholds 2 through 9 respectively. In order to recover a master seed, one needs a set of valid codex32 shares such that: From f3ba8174a9d57bcf6f880aa07b9520f9f4aba85c Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 15 Nov 2025 11:22:37 +0100 Subject: [PATCH 4/4] Update bip-0093.mediawiki --- bip-0093.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0093.mediawiki b/bip-0093.mediawiki index ed4b5c7996..62b65bb4c6 100644 --- a/bip-0093.mediawiki +++ b/bip-0093.mediawiki @@ -20,7 +20,7 @@ This document describes a standard for backing up and restoring the master seed [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki BIP-0032] hierarchical deterministic wallet, using Shamir's secret sharing. It includes an encoding format, a BCH error-correcting checksum, and algorithms for share generation and secret recovery. Secret data can be split into up to 31 shares. -A minimum threshold of shares, which can be between 1 and 9, is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. +A minimum threshold of shares, which can be 0 (for unshared secret) or between 2 and 9 (for shares), is needed to recover the secret, whereas without sufficient shares, no information about the secret is recoverable. ===Copyright===