<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1wccnjljxnarlx564vuc37hmuzuffurljevjnmuq4u0vjmh7e933sn3hnuq.rss" />
  <link href="https://nostr.ae/npub1wccnjljxnarlx564vuc37hmuzuffurljevjnmuq4u0vjmh7e933sn3hnuq" />
  <id>https://nostr.ae/npub1wccnjljxnarlx564vuc37hmuzuffurljevjnmuq4u0vjmh7e933sn3hnuq</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqs9sv0798tt8jvsqenxewsh8cwcqhtcdnvnwjytng5sfxnml84p5cczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxwjxp5t</id>
    
      <title type="html">📅 Original date posted:2023-02-16 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9sv0798tt8jvsqenxewsh8cwcqhtcdnvnwjytng5sfxnml84p5cczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxwjxp5t" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8xev8t88vf9u0am57llhhuzd0r29masl96h8d23hfdpvsdrhgegq80gkhn&#39;&gt;nevent1q…gkhn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-02-16&lt;br/&gt;🗒️ Summary of this message: A BIP proposes a new secret sharing system, but its only advantage over the existing SLIP-0039 may not be significant. The BIP&amp;#39;s focus on hand computation is also unclear.&lt;br/&gt;📝 Original message:Hi!&lt;br/&gt;&lt;br/&gt;The BIP states that its only advantage over SLIP-0039, which has been used&lt;br/&gt;in production for nearly three years (in at at least 3 SW/HW wallet&lt;br/&gt;implementations), is that it aims to be simple enough for hand computation.&lt;br/&gt;However, the BIP also indicates that &amp;#34;details of hand computation are&lt;br/&gt;outside the scope of this standard, and implementers do not need to be&lt;br/&gt;concerned with this possibility.&amp;#34; Therefore, I am curious about how&lt;br/&gt;significant this advantage over SLIP-0039 really is. If hand computation is&lt;br/&gt;not straightforward and there are no other substantial advantages over&lt;br/&gt;SLIP-0039, I cannot help but feel that this BIP is simply a result of&lt;br/&gt;not-invented-here syndrome, but please correct me if I am wrong.&lt;br/&gt;&lt;br/&gt;Keep in mind that the encoded shares in SLIP-0039 consist of exactly 200 or&lt;br/&gt;330 bits, both of which are divisible by 5. This makes it straightforward&lt;br/&gt;to encode them as Bech32 strings.&lt;br/&gt;&lt;br/&gt;On Thu, 16 Feb 2023 at 09:30, Russell O&amp;#39;Connor via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;ve been asked by Dr. Curr and Professor Snead to forward this message to&lt;br/&gt;&amp;gt; this mailing list, as it may be of general interest to Bitcoin users.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Dear Colleague:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In 1967, during excavation for the construction of a new shopping center&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; Monroeville, Pennsylvania, workers uncovered a vault containing a cache of&lt;br/&gt;&amp;gt; ancient scrolls[1].  Most were severely damaged, but those that could be&lt;br/&gt;&amp;gt; recovered confirmed the existence of a secret society long suspected to&lt;br/&gt;&amp;gt; have&lt;br/&gt;&amp;gt; been active in the region around the year 200 BC.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Based on a translation of these documents, we now know that the society,&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; Cult of the Bound Variable, was devoted to the careful study of&lt;br/&gt;&amp;gt; computation,&lt;br/&gt;&amp;gt; over two millennia before the invention of the digital computer.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While the Monroeville scrolls make reference to computing machines made of&lt;br/&gt;&amp;gt; sandstone, most researchers believed this to be a poetic metaphor and that&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;#34;computers&amp;#34; were in fact the initiates themselves, carrying out the&lt;br/&gt;&amp;gt; unimaginably tedious steps of their computations with reed pens on&lt;br/&gt;&amp;gt; parchment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Within the vault, a collection of sandstone wheels marked in a language&lt;br/&gt;&amp;gt; consisting of 32 glyphs was found. After 15 years of study, we have&lt;br/&gt;&amp;gt; successfully&lt;br/&gt;&amp;gt; completed the translation of what is known as &amp;#34;Codex32,&amp;#34; a document that&lt;br/&gt;&amp;gt; describes the functions of the wheels. It was discovered that the wheels&lt;br/&gt;&amp;gt; operate&lt;br/&gt;&amp;gt; a system of cryptographic computations that was used by cult members to&lt;br/&gt;&amp;gt; safeguard their most valuable secrets.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The Codex32 system allows secrets to be carved into multiple tablets and&lt;br/&gt;&amp;gt; scattered to the far corners of the earth. When a sufficient number of&lt;br/&gt;&amp;gt; tablets are&lt;br/&gt;&amp;gt; brought together the stone wheels are manipulated in a manner to recover&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; secrets. This finding may be of particular interest to the Bitcoin&lt;br/&gt;&amp;gt; community.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Below we provide a summary of the cult&amp;#39;s secret sharing system, which is&lt;br/&gt;&amp;gt; graciously hosted at&lt;br/&gt;&amp;gt; &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/apoelstra/bips/blob/2023-02--volvelles/bip-0000.mediawiki&#34;&gt;https://github.com/apoelstra/bips/blob/2023-02--volvelles/bip-0000.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;.&lt;br/&gt;&amp;gt; We are requesting a record assignment in the Bibliography of Immemorial&lt;br/&gt;&amp;gt; Philosophy (BIP) repository.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thank you for your consideration.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Dr. Leon O. Curr and Professor Pearlwort Snead&lt;br/&gt;&amp;gt; Department of Archaeocryptography&lt;br/&gt;&amp;gt; Harry Q. Bovik Institute for the Advancement&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;http://www.boundvariable.org/task.shtml&#34;&gt;http://www.boundvariable.org/task.shtml&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; -----BEGIN BIP-----&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;pre&amp;gt;&lt;br/&gt;&amp;gt;   BIP: ????&lt;br/&gt;&amp;gt;   Layer: Applications&lt;br/&gt;&amp;gt;   Title: codex32&lt;br/&gt;&amp;gt;   Author: Leon Olsson Curr and Pearlwort Sneed &amp;lt;pearlwort at wpsoftware.net&amp;gt;&lt;br/&gt;&amp;gt;   Comments-URI: &lt;a href=&#34;https://github.com/bitcoin/bips/wiki/Comments:BIP-&#34;&gt;https://github.com/bitcoin/bips/wiki/Comments:BIP-&lt;/a&gt;????&lt;br/&gt;&amp;gt;   Status: Draft&lt;br/&gt;&amp;gt;   Type: ????&lt;br/&gt;&amp;gt;   Created: 2023-02-13&lt;br/&gt;&amp;gt;   License: BSD-3-Clause&lt;br/&gt;&amp;gt;   Post-History: FIXME&lt;br/&gt;&amp;gt; &amp;lt;/pre&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Introduction==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Abstract===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This document describes a standard for backing up and restoring the master&lt;br/&gt;&amp;gt; seed of a&lt;br/&gt;&amp;gt; [&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki&lt;/a&gt; BIP-0032]&lt;br/&gt;&amp;gt; hierarchical deterministic wallet, using Shamir&amp;#39;s secret sharing.&lt;br/&gt;&amp;gt; It includes an encoding format, a BCH error-correcting checksum, and&lt;br/&gt;&amp;gt; algorithms for share generation and secret recovery.&lt;br/&gt;&amp;gt; Secret data can be split into up to 31 shares.&lt;br/&gt;&amp;gt; A minimum threshold of shares, which can be between 1 and 9, is needed to&lt;br/&gt;&amp;gt; recover the secret, whereas without sufficient shares, no information about&lt;br/&gt;&amp;gt; the secret is recoverable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Copyright===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This document is licensed under the 3-clause BSD license.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Motivation===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; BIP-0032 master seed data is the source entropy used to derive all private&lt;br/&gt;&amp;gt; keys in an HD wallet.&lt;br/&gt;&amp;gt; Safely storing this secret data is the hardest and most important part of&lt;br/&gt;&amp;gt; self-custody.&lt;br/&gt;&amp;gt; However, there is a tension between security, which demands limiting the&lt;br/&gt;&amp;gt; number of backups, and resilience, which demands widely replicated backups.&lt;br/&gt;&amp;gt; Encrypting the seed does not change this fundamental tradeoff, since it&lt;br/&gt;&amp;gt; leaves essentially the same problem of how to back up the encryption key(s).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To allow users freedom to make this tradeoff, we use Shamir&amp;#39;s secret&lt;br/&gt;&amp;gt; sharing, which guarantees that any number of shares less than the threshold&lt;br/&gt;&amp;gt; leaks no information about the secret.&lt;br/&gt;&amp;gt; This approach allows increasing safety by widely distributing the&lt;br/&gt;&amp;gt; generated shares, while also providing security against the compromise of&lt;br/&gt;&amp;gt; one or more shares (as long as fewer than the threshold have been&lt;br/&gt;&amp;gt; compromised).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [&lt;a href=&#34;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&#34;&gt;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&lt;/a&gt; SLIP-0039]&lt;br/&gt;&amp;gt; has essentially the same motivations as this standard.&lt;br/&gt;&amp;gt; However, unlike SLIP-0039, this standard also aims to be simple enough for&lt;br/&gt;&amp;gt; hand computation.&lt;br/&gt;&amp;gt; Users who demand a higher level of security for particular secrets, or&lt;br/&gt;&amp;gt; have a general distrust in digital electronic devices, have the option of&lt;br/&gt;&amp;gt; using hand computation to backup and restore secret data in an&lt;br/&gt;&amp;gt; interoperable manner.&lt;br/&gt;&amp;gt; Note that hand computation is optional, the particular details of hand&lt;br/&gt;&amp;gt; computation are outside the scope of this standard, and implementers do not&lt;br/&gt;&amp;gt; need to be concerned with this possibility.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki&lt;/a&gt; BIP-0039]&lt;br/&gt;&amp;gt; serves the same purpose as this standard: encoding master seeds for storage&lt;br/&gt;&amp;gt; by users.&lt;br/&gt;&amp;gt; However, BIP-0039 has no error-correcting ability, cannot sensibly be&lt;br/&gt;&amp;gt; extended to support secret sharing, has no support for versioning or other&lt;br/&gt;&amp;gt; metadata, and has many technical design decisions that make implementation&lt;br/&gt;&amp;gt; and interoperability difficult (for example, the use of SHA-512 to derive&lt;br/&gt;&amp;gt; seeds, or the use of 11-bit words).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Specification==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===codex32===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A codex32 string is similar to a Bech32 string defined in [&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki&lt;/a&gt; BIP-0173].&lt;br/&gt;&amp;gt; It reuses the base32 character set from BIP-0173, and consists of:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * A human-readable part, which is the string &amp;#34;ms&amp;#34; (or &amp;#34;MS&amp;#34;).&lt;br/&gt;&amp;gt; * A separator, which is always &amp;#34;1&amp;#34;.&lt;br/&gt;&amp;gt; * A data part which is in turn subdivided into:&lt;br/&gt;&amp;gt; ** A threshold parameter, which MUST be a single digit between &amp;#34;2&amp;#34; and&lt;br/&gt;&amp;gt; &amp;#34;9&amp;#34;, or the digit &amp;#34;0&amp;#34;.&lt;br/&gt;&amp;gt; *** If the threshold parameter is &amp;#34;0&amp;#34; then the share index, defined below,&lt;br/&gt;&amp;gt; MUST have a value of &amp;#34;s&amp;#34; (or &amp;#34;S&amp;#34;).&lt;br/&gt;&amp;gt; ** An identifier consisting of 4 Bech32 characters.&lt;br/&gt;&amp;gt; ** A share index, which is any Bech32 character. Note that a share index&lt;br/&gt;&amp;gt; value of &amp;#34;s&amp;#34; (or &amp;#34;S&amp;#34;) is special and denotes the unshared secret (see&lt;br/&gt;&amp;gt; section &amp;#34;Unshared Secret&amp;#34;).&lt;br/&gt;&amp;gt; ** A payload which is a sequence of up to 74 Bech32 characters. (However,&lt;br/&gt;&amp;gt; see &amp;#39;&amp;#39;&amp;#39;Long codex32 Strings&amp;#39;&amp;#39;&amp;#39; below for an exception to this limit.)&lt;br/&gt;&amp;gt; ** A checksum which consists of 13 Bech32 characters as described below.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As with Bech32 strings, a codex32 string MUST be entirely uppercase or&lt;br/&gt;&amp;gt; entirely lowercase.&lt;br/&gt;&amp;gt; The lowercase form is used when determining a character&amp;#39;s value for&lt;br/&gt;&amp;gt; checksum purposes.&lt;br/&gt;&amp;gt; For presentation, lowercase is usually preferable, but uppercase SHOULD be&lt;br/&gt;&amp;gt; used for handwritten codex32 strings.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Checksum===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The last thirteen characters of the data part form a checksum and contain&lt;br/&gt;&amp;gt; no information.&lt;br/&gt;&amp;gt; Valid strings MUST pass the criteria for validity specified by the Python3&lt;br/&gt;&amp;gt; code snippet below.&lt;br/&gt;&amp;gt; The function &amp;lt;code&amp;gt;ms32_verify_checksum&amp;lt;/code&amp;gt; must return true when its&lt;br/&gt;&amp;gt; argument is the data part as a list of integers representing the characters&lt;br/&gt;&amp;gt; converted using the bech32 character table from BIP-0173.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To construct a valid checksum given the data-part characters (excluding&lt;br/&gt;&amp;gt; the checksum), the &amp;lt;code&amp;gt;ms32_create_checksum&amp;lt;/code&amp;gt; function can be used.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;source lang=&amp;#34;python&amp;#34;&amp;gt;&lt;br/&gt;&amp;gt; MS32_CONST = 0x10ce0795c2fd1e62a&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_polymod(values):&lt;br/&gt;&amp;gt;     GEN = [&lt;br/&gt;&amp;gt;         0x19dc500ce73fde210,&lt;br/&gt;&amp;gt;         0x1bfae00def77fe529,&lt;br/&gt;&amp;gt;         0x1fbd920fffe7bee52,&lt;br/&gt;&amp;gt;         0x1739640bdeee3fdad,&lt;br/&gt;&amp;gt;         0x07729a039cfc75f5a,&lt;br/&gt;&amp;gt;     ]&lt;br/&gt;&amp;gt;     residue = 0x23181b3&lt;br/&gt;&amp;gt;     for v in values:&lt;br/&gt;&amp;gt;         b = (residue &amp;gt;&amp;gt; 60)&lt;br/&gt;&amp;gt;         residue = (residue &amp;amp; 0x0fffffffffffffff) &amp;lt;&amp;lt; 5 ^ v&lt;br/&gt;&amp;gt;         for i in range(5):&lt;br/&gt;&amp;gt;             residue ^= GEN[i] if ((b &amp;gt;&amp;gt; i) &amp;amp; 1) else 0&lt;br/&gt;&amp;gt;     return residue&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_verify_checksum(data):&lt;br/&gt;&amp;gt;     if len(data) &amp;gt;= 96:                      # See Long codex32 Strings&lt;br/&gt;&amp;gt;         return ms32_verify_long_checksum(data)&lt;br/&gt;&amp;gt;     if len(data) &amp;lt;= 93:&lt;br/&gt;&amp;gt;         return ms32_polymod(data) == MS32_CONST&lt;br/&gt;&amp;gt;     return False&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_create_checksum(data):&lt;br/&gt;&amp;gt;     if len(data) &amp;gt; 80:                       # See Long codex32 Strings&lt;br/&gt;&amp;gt;         return ms32_create_long_checksum(data)&lt;br/&gt;&amp;gt;     values = data&lt;br/&gt;&amp;gt;     polymod = ms32_polymod(values &#43; [0] * 13) ^ MS32_CONST&lt;br/&gt;&amp;gt;     return [(polymod &amp;gt;&amp;gt; 5 * (12 - i)) &amp;amp; 31 for i in range(13)]&lt;br/&gt;&amp;gt; &amp;lt;/source&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Error Correction===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A codex32 string without a valid checksum MUST NOT be used.&lt;br/&gt;&amp;gt; The checksum is designed to be an error correcting code that can correct&lt;br/&gt;&amp;gt; up to 4 character substitutions, up to 8 unreadable characters (called&lt;br/&gt;&amp;gt; erasures), or up to 13 consecutive erasures.&lt;br/&gt;&amp;gt; Implementations SHOULD provide the user with a corrected valid codex32&lt;br/&gt;&amp;gt; string if possible.&lt;br/&gt;&amp;gt; However, implementations SHOULD NOT automatically proceed with a corrected&lt;br/&gt;&amp;gt; codex32 string without user confirmation of the corrected string, either by&lt;br/&gt;&amp;gt; prompting the user, or returning a corrected string in an error message and&lt;br/&gt;&amp;gt; allowing the user to repeat their action.&lt;br/&gt;&amp;gt; We do not specify how an implementation should implement error correction.&lt;br/&gt;&amp;gt; However, we recommend that:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Implementations make suggestions to substitute non-bech32 characters&lt;br/&gt;&amp;gt; with bech32 characters in some situations, such as replacing &amp;#34;B&amp;#34; with &amp;#34;8&amp;#34;,&lt;br/&gt;&amp;gt; &amp;#34;O&amp;#34; with &amp;#34;0&amp;#34;, &amp;#34;I&amp;#34; with &amp;#34;l&amp;#34;, etc.&lt;br/&gt;&amp;gt; * Implementations interpret &amp;#34;?&amp;#34; as an erasure.&lt;br/&gt;&amp;gt; * Implementations optionally interpret other non-bech32 characters, or&lt;br/&gt;&amp;gt; characters with incorrect case, as erasures.&lt;br/&gt;&amp;gt; * If a string with 8 or fewer erasures can have those erasures filled in&lt;br/&gt;&amp;gt; to make a valid codex32 string, then the implementation suggests such a&lt;br/&gt;&amp;gt; string as a correction.&lt;br/&gt;&amp;gt; * If a string consisting of valid Bech32 characters in the proper case can&lt;br/&gt;&amp;gt; be made valid by substituting 4 or fewer characters, then the&lt;br/&gt;&amp;gt; implementation suggests such a string as a correction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Unshared Secret===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; When the share index of a valid codex32 string (converted to lowercase) is&lt;br/&gt;&amp;gt; the letter &amp;#34;s&amp;#34;, we call the string a codex32 secret.&lt;br/&gt;&amp;gt; The subsequent data characters in a codex32 secret, excluding the final&lt;br/&gt;&amp;gt; checksum of 13 characters, is a direct encoding of a BIP-0032 HD master&lt;br/&gt;&amp;gt; seed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The master seed is decoded by converting the data to bytes:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Translate the characters to 5 bits values using the bech32 character&lt;br/&gt;&amp;gt; table from BIP-0173, most significant bit first.&lt;br/&gt;&amp;gt; * Re-arrange those bits into groups of 8 bits. Any incomplete group at the&lt;br/&gt;&amp;gt; end MUST be 4 bits or less, and is discarded.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that unlike the decoding process in BIP-0173, we do NOT require that&lt;br/&gt;&amp;gt; the incomplete group be all zeros.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For an unshared secret, the threshold parameter (the first character of&lt;br/&gt;&amp;gt; the data part) is ignored (beyond the fact it must be a digit for the&lt;br/&gt;&amp;gt; codex32 string to be valid).&lt;br/&gt;&amp;gt; We recommend using the digit &amp;#34;0&amp;#34; for the threshold parameter in this case.&lt;br/&gt;&amp;gt; The 4 character identifier also has no effect beyond aiding users in&lt;br/&gt;&amp;gt; distinguishing between multiple different master seeds in cases where they&lt;br/&gt;&amp;gt; have more than one.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Recovering Master Seed===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; When the share index of a valid codex32 string (converted to lowercase) is&lt;br/&gt;&amp;gt; not the letter &amp;#34;s&amp;#34;, we call the string an codex32 share.&lt;br/&gt;&amp;gt; The first character of the data part indicates the threshold of the share,&lt;br/&gt;&amp;gt; and it is required to be a non-&amp;#34;0&amp;#34; digit.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In order to recover a master seed, one needs a set of valid codex32 shares&lt;br/&gt;&amp;gt; such that:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * All shares have the same threshold value, the same identifier, and the&lt;br/&gt;&amp;gt; same length.&lt;br/&gt;&amp;gt; * All of the share index values are distinct.&lt;br/&gt;&amp;gt; * The number of codex32 shares is exactly equal to the (common) threshold&lt;br/&gt;&amp;gt; value.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If all the above conditions are satisfied, the &amp;lt;code&amp;gt;ms32_recover&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; function will return a codex32 secret when its argument is the list of&lt;br/&gt;&amp;gt; codex32 shares with each share represented as a list of integers&lt;br/&gt;&amp;gt; representing the characters converted using the bech32 character table from&lt;br/&gt;&amp;gt; BIP-0173.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;source lang=&amp;#34;python&amp;#34;&amp;gt;&lt;br/&gt;&amp;gt; bech32_inv = [&lt;br/&gt;&amp;gt;     0, 1, 20, 24, 10, 8, 12, 29, 5, 11, 4, 9, 6, 28, 26, 31,&lt;br/&gt;&amp;gt;     22, 18, 17, 23, 2, 25, 16, 19, 3, 21, 14, 30, 13, 7, 27, 15,&lt;br/&gt;&amp;gt; ]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def bech32_mul(a, b):&lt;br/&gt;&amp;gt;     res = 0&lt;br/&gt;&amp;gt;     for i in range(5):&lt;br/&gt;&amp;gt;         res ^= a if ((b &amp;gt;&amp;gt; i) &amp;amp; 1) else 0&lt;br/&gt;&amp;gt;         a *= 2&lt;br/&gt;&amp;gt;         a ^= 41 if (32 &amp;lt;= a) else 0&lt;br/&gt;&amp;gt;     return res&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def bech32_lagrange(l, x):&lt;br/&gt;&amp;gt;     n = 1&lt;br/&gt;&amp;gt;     c = []&lt;br/&gt;&amp;gt;     for i in l:&lt;br/&gt;&amp;gt;         n = bech32_mul(n, i ^ x)&lt;br/&gt;&amp;gt;         m = 1&lt;br/&gt;&amp;gt;         for j in l:&lt;br/&gt;&amp;gt;             m = bech32_mul(m, (x if i == j else i) ^ j)&lt;br/&gt;&amp;gt;         c.append(m)&lt;br/&gt;&amp;gt;     return [bech32_mul(n, bech32_inv[i]) for i in c]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_interpolate(l, x):&lt;br/&gt;&amp;gt;     w = bech32_lagrange([s[5] for s in l], x)&lt;br/&gt;&amp;gt;     res = []&lt;br/&gt;&amp;gt;     for i in range(len(l[0])):&lt;br/&gt;&amp;gt;         n = 0&lt;br/&gt;&amp;gt;         for j in range(len(l)):&lt;br/&gt;&amp;gt;             n ^= bech32_mul(w[j], l[j][i])&lt;br/&gt;&amp;gt;         res.append(n)&lt;br/&gt;&amp;gt;     return res&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_recover(l):&lt;br/&gt;&amp;gt;     return ms32_interpolate(l, 16)&lt;br/&gt;&amp;gt; &amp;lt;/source&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Generating Shares===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If we already have &amp;#39;&amp;#39;t&amp;#39;&amp;#39; valid codex32 strings such that:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * All strings have the same threshold value &amp;#39;&amp;#39;t&amp;#39;&amp;#39;, the same identifier,&lt;br/&gt;&amp;gt; and the same length&lt;br/&gt;&amp;gt; * All of the share index values are distinct&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Then we can derive additional shares with the&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms32_interpolate&amp;lt;/code&amp;gt; function by passing it a list of exactly&lt;br/&gt;&amp;gt; &amp;#39;&amp;#39;t&amp;#39;&amp;#39; of these codex32 strings, together with a fresh share index distinct&lt;br/&gt;&amp;gt; from all of the existing share indexes.&lt;br/&gt;&amp;gt; The newly derived share will have the provided share index.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Once a user has generated &amp;#39;&amp;#39;n&amp;#39;&amp;#39; codex32 shares, they may discard the&lt;br/&gt;&amp;gt; codex32 secret (if it exists).&lt;br/&gt;&amp;gt; The &amp;#39;&amp;#39;n&amp;#39;&amp;#39; shares form a &amp;#39;&amp;#39;t&amp;#39;&amp;#39; of &amp;#39;&amp;#39;n&amp;#39;&amp;#39; Shamir&amp;#39;s secret sharing scheme of a&lt;br/&gt;&amp;gt; codex32 secret.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are two ways to create an initial set of &amp;#39;&amp;#39;t&amp;#39;&amp;#39; valid codex32&lt;br/&gt;&amp;gt; strings, depending on whether the user already has an existing master seed&lt;br/&gt;&amp;gt; to split.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ====For an existing master seed====&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Before generating shares for an existing master seed, it first must be&lt;br/&gt;&amp;gt; converted into a codex32 secret, as described above.&lt;br/&gt;&amp;gt; The conversion process consists of:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Choosing a threshold value &amp;#39;&amp;#39;t&amp;#39;&amp;#39; between 2 and 9, inclusive&lt;br/&gt;&amp;gt; * Choosing a 4 bech32 character identifier&lt;br/&gt;&amp;gt; ** We do not define how to choose the identifier, beyond noting that it&lt;br/&gt;&amp;gt; SHOULD be distinct for every master seed the user may need to disambiguate.&lt;br/&gt;&amp;gt; * Setting the share index to &amp;#34;s&amp;#34;&lt;br/&gt;&amp;gt; * Setting the payload to a Bech32 encoding of the master seed, padded with&lt;br/&gt;&amp;gt; arbitrary bits&lt;br/&gt;&amp;gt; * Generating a valid checksum in accordance with the Checksum section&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Along with the codex32 secret, the user must generate &amp;#39;&amp;#39;t&amp;#39;&amp;#39;-1 other&lt;br/&gt;&amp;gt; codex32 shares, each with the same threshold value, the same identifier,&lt;br/&gt;&amp;gt; and a distinct share index.&lt;br/&gt;&amp;gt; The set of share indexes may be chosen arbitrarily.&lt;br/&gt;&amp;gt; The payload of each of these codex32 shares is chosen uniformly at random&lt;br/&gt;&amp;gt; such that it has the same length as the payload of the codex32 secret.&lt;br/&gt;&amp;gt; For each share, a valid checksum must be generated in accordance with the&lt;br/&gt;&amp;gt; Checksum section.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The codex32 secret and the &amp;#39;&amp;#39;t&amp;#39;&amp;#39;-1 codex32 shares form a set of &amp;#39;&amp;#39;t&amp;#39;&amp;#39;&lt;br/&gt;&amp;gt; valid codex32 strings from which additional shares can be derived as&lt;br/&gt;&amp;gt; described above.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ====For a fresh master seed====&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the case that the user wishes to generate a fresh master seed, the user&lt;br/&gt;&amp;gt; chooses a threshold value &amp;#39;&amp;#39;t&amp;#39;&amp;#39; and an identifier, then generates &amp;#39;&amp;#39;t&amp;#39;&amp;#39;&lt;br/&gt;&amp;gt; random codex32 shares, using the generation procedure from the previous&lt;br/&gt;&amp;gt; section.&lt;br/&gt;&amp;gt; As before, each share must have the same threshold value &amp;#39;&amp;#39;t&amp;#39;&amp;#39;, the same&lt;br/&gt;&amp;gt; identifier, and a distinct share index.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; With this set of &amp;#39;&amp;#39;t&amp;#39;&amp;#39; codex32 shares, new shares can be derived as&lt;br/&gt;&amp;gt; discussed above. This process generates a fresh master seed, whose value&lt;br/&gt;&amp;gt; can be retrieved by running the recovery process on any &amp;#39;&amp;#39;t&amp;#39;&amp;#39; of these&lt;br/&gt;&amp;gt; shares.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Long codex32 Strings===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The 13 character checksum design only supports up to 80 data characters.&lt;br/&gt;&amp;gt; Excluding the threshold, identifier and index characters, this limits the&lt;br/&gt;&amp;gt; payload to 74 characters or 46 bytes.&lt;br/&gt;&amp;gt; While this is enough to support the 32-byte advised size of BIP-0032&lt;br/&gt;&amp;gt; master seeds, BIP-0032 allows seeds to be up to 64 bytes in size.&lt;br/&gt;&amp;gt; We define a long codex32 string format to support these longer seeds by&lt;br/&gt;&amp;gt; defining an alternative checksum.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;source lang=&amp;#34;python&amp;#34;&amp;gt;&lt;br/&gt;&amp;gt; MS32_LONG_CONST = 0x43381e570bf4798ab26&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_long_polymod(values):&lt;br/&gt;&amp;gt;     GEN = [&lt;br/&gt;&amp;gt;         0x3d59d273535ea62d897,&lt;br/&gt;&amp;gt;         0x7a9becb6361c6c51507,&lt;br/&gt;&amp;gt;         0x543f9b7e6c38d8a2a0e,&lt;br/&gt;&amp;gt;         0x0c577eaeccf1990d13c,&lt;br/&gt;&amp;gt;         0x1887f74f8dc71b10651,&lt;br/&gt;&amp;gt;     ]&lt;br/&gt;&amp;gt;     residue = 0x23181b3&lt;br/&gt;&amp;gt;     for v in values:&lt;br/&gt;&amp;gt;         b = (residue &amp;gt;&amp;gt; 70)&lt;br/&gt;&amp;gt;         residue = (residue &amp;amp; 0x3fffffffffffffffff) &amp;lt;&amp;lt; 5 ^ v&lt;br/&gt;&amp;gt;         for i in range(5):&lt;br/&gt;&amp;gt;             residue ^= GEN[i] if ((b &amp;gt;&amp;gt; i) &amp;amp; 1) else 0&lt;br/&gt;&amp;gt;     return residue&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_verify_long_checksum(data):&lt;br/&gt;&amp;gt;     return ms32_long_polymod(data) == MS32_LONG_CONST&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; def ms32_create_long_checksum(data):&lt;br/&gt;&amp;gt;     values = data&lt;br/&gt;&amp;gt;     polymod = ms32_long_polymod(values &#43; [0] * 15) ^ MS32_LONG_CONST&lt;br/&gt;&amp;gt;     return [(polymod &amp;gt;&amp;gt; 5 * (14 - i)) &amp;amp; 31 for i in range(15)]&lt;br/&gt;&amp;gt; &amp;lt;/source&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A long codex32 string follows the same specification as a regular codex32&lt;br/&gt;&amp;gt; string with the following changes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * The payload is a sequence of between 75 and 103 Bech32 characters.&lt;br/&gt;&amp;gt; * The checksum consists of 15 Bech32 characters as defined above.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A codex32 string with a data part of 94 or 95 characters is never legal as&lt;br/&gt;&amp;gt; a regular codex32 string is limited to 93 data characters and a long&lt;br/&gt;&amp;gt; codex32 string is at least 96 characters.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Generation of long shares and recovery of the master seed from long shares&lt;br/&gt;&amp;gt; proceeds in exactly the same way as for regular shares with the&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms32_interpolate&amp;lt;/code&amp;gt; function.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The long checksum is designed to be an error correcting code that can&lt;br/&gt;&amp;gt; correct up to 4 character substitutions, up to 8 unreadable characters&lt;br/&gt;&amp;gt; (called erasures), or up to 15 consecutive erasures.&lt;br/&gt;&amp;gt; As with regular checksums we do not specify how an implementation should&lt;br/&gt;&amp;gt; implement error correction, and all our recommendations for error&lt;br/&gt;&amp;gt; correction of regular codex32 strings also apply to long codex32 strings.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Rationale==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This scheme is based on the observation that the Lagrange interpolation of&lt;br/&gt;&amp;gt; valid codewords in a BCH code will always be a valid codeword.&lt;br/&gt;&amp;gt; This means that derived shares will always have valid checksum, and a&lt;br/&gt;&amp;gt; sufficient threshold of shares with valid checksums will derive a secret&lt;br/&gt;&amp;gt; with a valid checksum.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The header system is also compatible with Lagrange interpolation, meaning&lt;br/&gt;&amp;gt; all derived shares will have the same identifier and will have the&lt;br/&gt;&amp;gt; appropriate share index.&lt;br/&gt;&amp;gt; This fact allows the header data to be covered by the checksum.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The checksum size and identifier size have been chosen so that the&lt;br/&gt;&amp;gt; encoding of 128-bit seeds and shares fit within 48 characters.&lt;br/&gt;&amp;gt; This is a standard size for many common seed storage formats, which has&lt;br/&gt;&amp;gt; been popularized by the 12 four-letter word format of the BIP-0039 mnemonic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The 13 character checksum is adequate to correct 4 errors in up to 93&lt;br/&gt;&amp;gt; characters (80 characters of data and 13 characters of the checksum). This&lt;br/&gt;&amp;gt; is somewhat better quality than the checksum used in SLIP-0039.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For 256-bit seeds and shares our strings are 74 characters, which fits&lt;br/&gt;&amp;gt; into the 96 character format of the 24 four-letter word format of the&lt;br/&gt;&amp;gt; BIP-0039 mnemonic, with plenty of room to spare.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A longer checksum is needed to support up to 512-bit seeds, the longest&lt;br/&gt;&amp;gt; seed length specified in BIP-0032, as the 13 character checksum isn&amp;#39;t&lt;br/&gt;&amp;gt; adequate for more than 80 data characters.&lt;br/&gt;&amp;gt; While we could use the 15 character checksum for both cases, we prefer to&lt;br/&gt;&amp;gt; keep the strings as short as possible for the more common cases of 128-bit&lt;br/&gt;&amp;gt; and 256-bit master seeds.&lt;br/&gt;&amp;gt; We only guarantee to correct 4 characters no matter how long the string is.&lt;br/&gt;&amp;gt; Longer strings mean more chances for transcription errors, so shorter&lt;br/&gt;&amp;gt; strings are better.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The longest data part using the regular 13 character checksum is 93&lt;br/&gt;&amp;gt; characters and corresponds to a 400-bit secret.&lt;br/&gt;&amp;gt; At this length, the prefix &amp;lt;code&amp;gt;MS1&amp;lt;/code&amp;gt; is not covered by the checksum.&lt;br/&gt;&amp;gt; This is acceptable because the checksum scheme itself requires you to know&lt;br/&gt;&amp;gt; that the &amp;lt;code&amp;gt;MS1&amp;lt;/code&amp;gt; prefix is being used in the first place.&lt;br/&gt;&amp;gt; If the prefix is damaged and a user is guessing that the data might be&lt;br/&gt;&amp;gt; using this scheme, then the user can enter the available data explicitly&lt;br/&gt;&amp;gt; using the suspected &amp;lt;code&amp;gt;MS1&amp;lt;/code&amp;gt; prefix.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Backwards Compatibility==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; codex32 is an alternative to BIP-0039 and SLIP-0039.&lt;br/&gt;&amp;gt; It is technically possible to derive the BIP32 master seed from seed words&lt;br/&gt;&amp;gt; encoded in one of these schemes, and then to encode this seed in codex32.&lt;br/&gt;&amp;gt; For BIP-0039 this process is irreversible, since it involves hashing the&lt;br/&gt;&amp;gt; original words.&lt;br/&gt;&amp;gt; Furthermore, the resulting seed will be 512 bits long, which may be too&lt;br/&gt;&amp;gt; large to be safely and conveniently handled.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; SLIP-0039 seed words can be reversibly converted to master seeds, so it is&lt;br/&gt;&amp;gt; possible to interconvert between SLIP-0039 and codex32.&lt;br/&gt;&amp;gt; However, SLIP-0039 &amp;#39;&amp;#39;&amp;#39;shares&amp;#39;&amp;#39;&amp;#39; cannot be converted to codex32 shares&lt;br/&gt;&amp;gt; because the two schemes use a different underlying field.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The authors of this BIP do not recommend interconversion.&lt;br/&gt;&amp;gt; Instead, users who wish to switch to codex32 should generate a fresh seed&lt;br/&gt;&amp;gt; and sweep their coins.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Reference Implementation==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * [&lt;a href=&#34;https://secretcodex32.com/docs/2023-02-14--bw.ps&#34;&gt;https://secretcodex32.com/docs/2023-02-14--bw.ps&lt;/a&gt; Reference PostScript&lt;br/&gt;&amp;gt; Implementation]&lt;br/&gt;&amp;gt; * FIXME add Python implementation&lt;br/&gt;&amp;gt; * FIXME add Rust implementation&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Test Vectors==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Test vector 1===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This example shows the codex32 format, when used without splitting the&lt;br/&gt;&amp;gt; secret into any shares.&lt;br/&gt;&amp;gt; The data part contains 26 Bech32 characters, which corresponds to 130&lt;br/&gt;&amp;gt; bits. We truncate the last two bits in order to obtain a 128-bit master&lt;br/&gt;&amp;gt; seed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; codex32 secret (Bech32):&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10testsxxxxxxxxxxxxxxxxxxxxxxxxxx4nzvca9cmczlw&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Master secret (hex): &amp;lt;code&amp;gt;318c6318c6318c6318c6318c6318c631&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * human-readable part: &amp;lt;code&amp;gt;ms&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * separator: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * k value: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (no secret splitting)&lt;br/&gt;&amp;gt; * identifier: &amp;lt;code&amp;gt;test&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * share index: &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; (the secret)&lt;br/&gt;&amp;gt; * data: &amp;lt;code&amp;gt;xxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * checksum: &amp;lt;code&amp;gt;4nzvca9cmczlw&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Test vector 2===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This example shows generating a new master seed using &amp;#34;random&amp;#34; codex32&lt;br/&gt;&amp;gt; shares, as well as deriving an additional codex32 share, using &amp;#39;&amp;#39;k&amp;#39;&amp;#39;=2 and&lt;br/&gt;&amp;gt; an identifier of &amp;lt;code&amp;gt;NAME&amp;lt;/code&amp;gt;.&lt;br/&gt;&amp;gt; Although codex32 strings are canonically all lowercase, it&amp;#39;s also valid to&lt;br/&gt;&amp;gt; use all uppercase.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Share with index &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;MS12NAMEA320ZYXWVUTSRQPNMLKJHGFEDCAXRPP870HKKQRM&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Share with index &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;MS12NAMECACDEFGHJKLMNPQRSTUVWXYZ023FTR2GDZMPY6PN&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Derived share with index &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;MS12NAMEDLL4F8JLH4E5VDVULDLFXU2JHDNLSM97XVENRXEG&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * Secret share with index &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;MS12NAMES6XQGUZTTXKEQNJSJZV4JV3NZ5K3KWGSPHUH6EVW&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * Master secret (hex): &amp;lt;code&amp;gt;d1808e096b35b209ca12132b264662a5&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that per BIP-0173, the lowercase form is used when determining a&lt;br/&gt;&amp;gt; character&amp;#39;s value for checksum purposes.&lt;br/&gt;&amp;gt; In particular, given an all uppercase codex32 string, we still use&lt;br/&gt;&amp;gt; lowercase &amp;lt;code&amp;gt;ms&amp;lt;/code&amp;gt; as the human-readable part during checksum&lt;br/&gt;&amp;gt; construction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Test vector 3===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This example shows splitting an existing 128-bit master seed into &amp;#34;random&amp;#34;&lt;br/&gt;&amp;gt; codex32 shares, using &amp;#39;&amp;#39;k&amp;#39;&amp;#39;=3 and an identifier of &amp;lt;code&amp;gt;cash&amp;lt;/code&amp;gt;.&lt;br/&gt;&amp;gt; We appended two zero bits in order to obtain 26 Bech32 characters (130&lt;br/&gt;&amp;gt; bits of data) from the 128-bit master seed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Master secret (hex): &amp;lt;code&amp;gt;ffeeddccbbaa99887766554433221100&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Secret share with index &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13cashsllhdmn9m42vcsamx24zrxgs3qqjzqud4m0d6nln&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Share with index &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13casha320zyxwvutsrqpnmlkjhgfedca2a8d0zehn8a0t&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Share with index &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13cashcacdefghjklmnpqrstuvwxyz023949xq35my48dr&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Derived share with index &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13cashd0wsedstcdcts64cd7wvy4m90lm28w4ffupqs7rm&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * Derived share with index &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13casheekgpemxzshcrmqhaydlp6yhms3ws7320xyxsar9&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * Derived share with index &amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms13cashf8jh6sdrkpyrsp5ut94pj8ktehhw2hfvyrj48704&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Any three of the five shares among &amp;lt;code&amp;gt;acdef&amp;lt;/code&amp;gt; can be used to&lt;br/&gt;&amp;gt; recover the secret.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that the choice to append two zero bits was arbitrary, and any of the&lt;br/&gt;&amp;gt; following four secret shares would have been valid choices.&lt;br/&gt;&amp;gt; However, each choice would have resulted in a different set of derived&lt;br/&gt;&amp;gt; shares.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * &amp;lt;code&amp;gt;ms13cashsllhdmn9m42vcsamx24zrxgs3qqjzqud4m0d6nln&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * &amp;lt;code&amp;gt;ms13cashsllhdmn9m42vcsamx24zrxgs3qpte35dvzkjpt0r&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * &amp;lt;code&amp;gt;ms13cashsllhdmn9m42vcsamx24zrxgs3qzfatvdwq5692k6&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * &amp;lt;code&amp;gt;ms13cashsllhdmn9m42vcsamx24zrxgs3qrsx6ydhed97jx2&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Test vector 4===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This example shows converting a 256-bit secret into a codex32 secret,&lt;br/&gt;&amp;gt; without splitting the secret into any shares.&lt;br/&gt;&amp;gt; We appended four zero bits in order to obtain 52 Bech32 characters (260&lt;br/&gt;&amp;gt; bits of data) from the 256-bit secret.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 256-bit secret (hex):&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221100&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * codex32 secret:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqqtum9pgv99ycma&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that the choice to append four zero bits was arbitrary, and any of&lt;br/&gt;&amp;gt; the following sixteen codex32 secrets would have been valid:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqqtum9pgv99ycma&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqpj82dp34u6lqtd&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqzsrs4pnh7jmpj5&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqrfcpap2w8dqezy&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqy5tdvphn6znrf0&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyq9dsuypw2ragmel&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqx05xupvgp4v6qx&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyq8k0h5p43c2hzsk&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqgum7hplmjtr8ks&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqf9q0lpxzt5clxq&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyq28y48pyqfuu7le&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqt7ly0paesr8x0f&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqvrvg7pqydv5uyz&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqd6hekpea5n0y5j&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyqwcnrwpmlkmt9dt&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; *&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ms10leetsllhdmn9m42vcsamx24zrxgs3qrl7ahwvhw4fnzrhve25gvezzyq0pgjxpzx0ysaam&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Test vector 5===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This example shows generating a new 512-bit master seed using &amp;#34;random&amp;#34;&lt;br/&gt;&amp;gt; codex32 characters and appending a checksum.&lt;br/&gt;&amp;gt; The payload contains 103 Bech32 characters, which corresponds to 515 bits.&lt;br/&gt;&amp;gt; The last three bits are discarded when converting to a 512-bit master seed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is an example of a &amp;#39;&amp;#39;&amp;#39;Long codex32 String&amp;#39;&amp;#39;&amp;#39;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Secret share with index &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;:&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;MS100C8VSM32ZXFGUHPCHTLUPZRY9X8GF2TVDW0S3JN54KHCE6MUA7LQPZYGSFJD6AN074RXVCEMLH8WU3TK925ACDEFGHJKLMNPQRSTUVWXY06FHPV80UNDVARHRAK&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt; * Master secret (hex):&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;dc5423251cb87175ff8110c8531d0952d8d73e1194e95b5f19d6f9df7c01111104c9baecdfea8cccc677fb9ddc8aec5553b86e528bcadfdcc201c17c638c47e9&amp;lt;/code&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Appendix==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ===Mathematical Companion===&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Below we use the Bech32 character set to denote values in GF[32].&lt;br/&gt;&amp;gt; In Bech32, the letter &amp;lt;code&amp;gt;Q&amp;lt;/code&amp;gt; denotes zero and the letter&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; denotes one.&lt;br/&gt;&amp;gt; The digits &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; through &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; do&lt;br/&gt;&amp;gt; &amp;#39;&amp;#39;not&amp;#39;&amp;#39; denote their numeric values.&lt;br/&gt;&amp;gt; They are simply elements of GF[32].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The generating polynomial for our BCH code is as follows.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We extend GF[32] to GF[1024] by adjoining a primitive cube root of unity,&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;ζ&amp;lt;/code&amp;gt;, satisfying &amp;lt;code&amp;gt;ζ^2 = ζ &#43; P&amp;lt;/code&amp;gt;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We select &amp;lt;code&amp;gt;β := G ζ&amp;lt;/code&amp;gt; which has order 93, and construct the&lt;br/&gt;&amp;gt; product &amp;lt;code&amp;gt;(x - β^i)&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;{17, 20, 46, 49,&lt;br/&gt;&amp;gt; 52, 77, 78, 79, 80, 81, 82, 83, 84}&amp;lt;/code&amp;gt;.&lt;br/&gt;&amp;gt; The resulting polynomial is our generating polynomial for our 13 character&lt;br/&gt;&amp;gt; checksum:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     x^13 &#43; E x^12 &#43; M x^11 &#43; 3 x^10 &#43; G x^9 &#43; Q x^8 &#43; E x^7 &#43; E x^6 &#43; E&lt;br/&gt;&amp;gt; x^5 &#43; L x^4 &#43; M x^3 &#43; C x^2 &#43; S x &#43; S&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For our long checksum, we select &amp;lt;code&amp;gt;γ := E &#43; X ζ&amp;lt;/code&amp;gt;, which has&lt;br/&gt;&amp;gt; order 1023, and construct the product &amp;lt;code&amp;gt;(x - γ^i)&amp;lt;/code&amp;gt; for&lt;br/&gt;&amp;gt; &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;{32, 64, 96, 895, 927, 959, 991, 1019, 1020, 1021,&lt;br/&gt;&amp;gt; 1022, 1023, 1024, 1025, 1026}&amp;lt;/code&amp;gt;.&lt;br/&gt;&amp;gt; The resulting polynomial is our generating polynomial for our 15 character&lt;br/&gt;&amp;gt; checksum for long strings:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     x^15 &#43; 0 x^14 &#43; 2 x^13 &#43; E x^12 &#43; 6 x^11 &#43; F x^10 &#43; E x^9 &#43; 4 x^8 &#43; X&lt;br/&gt;&amp;gt; x^7 &#43; H x^6 &#43; 4 x^5 &#43; X x^4 &#43; 9 x^3 &#43; K x^2 &#43; Y x^1 &#43; H&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (Reminder: the character &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; does &amp;#39;&amp;#39;not&amp;#39;&amp;#39; denote the zero of&lt;br/&gt;&amp;gt; the field.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; -----END BIP-----&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;Stick&amp;#34; Rusnak&lt;br/&gt;Co-Founder, SatoshiLabs&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230216/d2e67885/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230216/d2e67885/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:19:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs03px4y04hf7l8fazqh5pj5taf33wruu2wtd2qvwfqhcq7wqexfsgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxru20hy</id>
    
      <title type="html">📅 Original date posted:2022-08-24 📝 Original message:There ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs03px4y04hf7l8fazqh5pj5taf33wruu2wtd2qvwfqhcq7wqexfsgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxru20hy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg5u0fucxctqc6hf3lgrvfc349tzme3rsvgdec3qcplwl4vlklyzqef3yq4&#39;&gt;nevent1q…3yq4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-08-24&lt;br/&gt;📝 Original message:There is already a JSON standard that has been already used in the wild for&lt;br/&gt;the last 7 years described in SLIP-0015 (mentioned by Clark in this&lt;br/&gt;thread). No need to reinventing the wheel again.&lt;br/&gt;&lt;br/&gt;On Wed 24. 8. 2022 at 21:44, Ryan Havar via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;d strongly suggest not using CSV. Especially for a standard. I&amp;#39;ve worked&lt;br/&gt;&amp;gt; with it as an interchange format many a times, and it&amp;#39;s always been a&lt;br/&gt;&amp;gt; clusterfuck.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Right off the bat, you have stuff like &amp;#34;The fields may be quoted, but this&lt;br/&gt;&amp;gt; is unnecessary as the first comma in the line will always be the delimiter&amp;#34;&lt;br/&gt;&amp;gt; which invariably leads to some implementations doing it, some&lt;br/&gt;&amp;gt; implementations not doing it, and others that are intolerant of the other&lt;br/&gt;&amp;gt; way.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And you have also made the classic mistake of not strictly defining escape&lt;br/&gt;&amp;gt; rules. So everyone will pick their own (e.g. some will \, escape commas,&lt;br/&gt;&amp;gt; others will not cause it&amp;#39;s quoted and escape quotes, and others will assume&lt;br/&gt;&amp;gt; no escaping is required since its the last column in a csv).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Over time it morphs into its own mini-monster that introduces so much pain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On a similar note, allowing alternatives (like: txid&amp;gt;index vs txid:index)&lt;br/&gt;&amp;gt; provides no benefit, but creates additional work for implementations (who&lt;br/&gt;&amp;gt; quite likely only test formats they produce) and future incompatibilities.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I know everyone loves to hate on it, but really (line-separated?) json is&lt;br/&gt;&amp;gt; the way to go.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; { &amp;#34;tx&amp;#34;: &amp;#34;c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b‎&amp;#34;,&lt;br/&gt;&amp;gt; &amp;#34;label&amp;#34;: &amp;#34;wow, such label&amp;#34; }&lt;br/&gt;&amp;gt; { &amp;#34;tx: &amp;#34;c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b&amp;#34;,&lt;br/&gt;&amp;gt; &amp;#34;txout&amp;#34;: 4, &amp;#34;label&amp;#34;: &amp;#34;omg this is so easy to parse&amp;#34; }&lt;br/&gt;&amp;gt; { &amp;#34;tx: &amp;#34;c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b&amp;#34;,&lt;br/&gt;&amp;gt; &amp;#34;txin&amp;#34;: 0, &amp;#34;label&amp;#34;: &amp;#34;wow this is going to be extensible as well&amp;#34; }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; -Ryan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Wednesday, August 24th, 2022 at 2:18 AM, Craig Raw via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Hi all,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I would like to propose a BIP that specifies a format for the export and&lt;br/&gt;&amp;gt; import of labels from a wallet. While transferring access to funds across&lt;br/&gt;&amp;gt; wallet applications has been made simple through standards such as BIP39,&lt;br/&gt;&amp;gt; wallet labels remain siloed and difficult to extract despite their value,&lt;br/&gt;&amp;gt; particularly in a privacy context.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The proposed format is a simple two column CSV file, with the reference to&lt;br/&gt;&amp;gt; a transaction, address, input or output in the first column, and the label&lt;br/&gt;&amp;gt; in the second column. CSV was chosen for its wide accessibility, especially&lt;br/&gt;&amp;gt; to users without specific technical expertise. Similarly, the CSV file may&lt;br/&gt;&amp;gt; be compressed using the ZIP format, and optionally encrypted using AES.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The full text of the BIP can be found at&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/craigraw/bips/blob/master/bip-wallet-labels.mediawiki&#34;&gt;https://github.com/craigraw/bips/blob/master/bip-wallet-labels.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; and also copied below.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Feedback is appreciated.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks,&lt;br/&gt;&amp;gt; Craig Raw&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ---&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;pre&amp;gt;&lt;br/&gt;&amp;gt; BIP: wallet-labels&lt;br/&gt;&amp;gt; Layer: Applications&lt;br/&gt;&amp;gt; Title: Wallet Labels Export Format&lt;br/&gt;&amp;gt; Author: Craig Raw &amp;lt;craig at sparrowwallet.com&amp;gt;&lt;br/&gt;&amp;gt; Comments-Summary: No comments yet.&lt;br/&gt;&amp;gt; Comments-URI:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/wiki/Comments:BIP-wallet-labels&#34;&gt;https://github.com/bitcoin/bips/wiki/Comments:BIP-wallet-labels&lt;/a&gt;&lt;br/&gt;&amp;gt; Status: Draft&lt;br/&gt;&amp;gt; Type: Informational&lt;br/&gt;&amp;gt; Created: 2022-08-23&lt;br/&gt;&amp;gt; License: BSD-2-Clause&lt;br/&gt;&amp;gt; &amp;lt;/pre&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Abstract==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This document specifies a format for the export of labels that may be&lt;br/&gt;&amp;gt; attached to the transactions, addresses, input and outputs in a wallet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Copyright==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This BIP is licensed under the BSD 2-clause license.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Motivation==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The export and import of funds across different Bitcoin wallet&lt;br/&gt;&amp;gt; applications is well defined through standards such as BIP39, BIP32, BIP44&lt;br/&gt;&amp;gt; etc.&lt;br/&gt;&amp;gt; These standards are well supported and allow users to move easily between&lt;br/&gt;&amp;gt; different wallets.&lt;br/&gt;&amp;gt; There is, however, no defined standard to transfer any labels the user may&lt;br/&gt;&amp;gt; have applied to the transactions, addresses, inputs or outputs in their&lt;br/&gt;&amp;gt; wallet.&lt;br/&gt;&amp;gt; The UTXO model that Bitcoin uses makes these labels particularly valuable&lt;br/&gt;&amp;gt; as they may indicate the source of funds, whether received externally or as&lt;br/&gt;&amp;gt; a result of change from a prior transaction.&lt;br/&gt;&amp;gt; In both cases, care must be taken when spending to avoid undesirable leaks&lt;br/&gt;&amp;gt; of private information.&lt;br/&gt;&amp;gt; Labels provide valuable guidance in this regard, and have even become&lt;br/&gt;&amp;gt; mandatory when spending in several Bitcoin wallets.&lt;br/&gt;&amp;gt; Allowing users to export their labels in a standardized way ensures that&lt;br/&gt;&amp;gt; they do not experience lock-in to a particular wallet application.&lt;br/&gt;&amp;gt; In addition, by using common formats, this BIP seeks to make manual or&lt;br/&gt;&amp;gt; bulk management of labels accessible to users without specific technical&lt;br/&gt;&amp;gt; expertise.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Specification==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In order to make the import and export of labels as widely accessible as&lt;br/&gt;&amp;gt; possible, this BIP uses the comma separated values (CSV) format, which is&lt;br/&gt;&amp;gt; widely supported by consumer, business, and scientific applications.&lt;br/&gt;&amp;gt; Although the technical specification of CSV in RFC4180 is not always&lt;br/&gt;&amp;gt; followed, the application of the format in this BIP is simple enough that&lt;br/&gt;&amp;gt; compatibility should not present a problem.&lt;br/&gt;&amp;gt; Moreover, the simplicity and forgiving nature of CSV (over for example&lt;br/&gt;&amp;gt; JSON) lends itself well to bulk label editing using spreadsheet and text&lt;br/&gt;&amp;gt; editing tools.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A CSV export of labels from a wallet must be a UTF-8 encoded text file,&lt;br/&gt;&amp;gt; containing one record per line, with records containing two fields&lt;br/&gt;&amp;gt; delimited by a comma.&lt;br/&gt;&amp;gt; The fields may be quoted, but this is unnecessary, as the first comma in&lt;br/&gt;&amp;gt; the line will always be the delimiter.&lt;br/&gt;&amp;gt; The first line in the file is a header, and should be ignored on import.&lt;br/&gt;&amp;gt; Thereafter, each line represents a record that refers to a label applied&lt;br/&gt;&amp;gt; in the wallet.&lt;br/&gt;&amp;gt; The order in which these records appear is not defined.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The first field in the record contains a reference to the transaction,&lt;br/&gt;&amp;gt; address, input or output in the wallet.&lt;br/&gt;&amp;gt; This is specified as one of the following:&lt;br/&gt;&amp;gt; * Transaction ID (&amp;lt;tt&amp;gt;txid&amp;lt;/tt&amp;gt;)&lt;br/&gt;&amp;gt; * Address&lt;br/&gt;&amp;gt; * Input (rendered as &amp;lt;tt&amp;gt;txid&amp;lt;index&amp;lt;/tt&amp;gt;)&lt;br/&gt;&amp;gt; * Output (rendered as &amp;lt;tt&amp;gt;txid&amp;gt;index&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;txid:index&amp;lt;/tt&amp;gt;)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The second field contains the label applied to the reference.&lt;br/&gt;&amp;gt; Exporting applications may omit records with no labels or labels of zero&lt;br/&gt;&amp;gt; length.&lt;br/&gt;&amp;gt; Files exported should use the &amp;lt;tt&amp;gt;.csv&amp;lt;/tt&amp;gt; file extension.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In order to reduce file size while retaining wide accessibility, the CSV&lt;br/&gt;&amp;gt; file may be compressed using the ZIP file format, using the &amp;lt;tt&amp;gt;.zip&amp;lt;/tt&amp;gt;&lt;br/&gt;&amp;gt; file extension.&lt;br/&gt;&amp;gt; This &amp;lt;tt&amp;gt;.zip&amp;lt;/tt&amp;gt; file may optionally be encrypted using either AES-128&lt;br/&gt;&amp;gt; or AES-256 encryption, which is supported by numerous applications&lt;br/&gt;&amp;gt; including Winzip and 7-zip.&lt;br/&gt;&amp;gt; In order to ensure that weak encryption does not proliferate, importers&lt;br/&gt;&amp;gt; following this standard must refuse to import &amp;lt;tt&amp;gt;.zip&amp;lt;/tt&amp;gt; files encrypted&lt;br/&gt;&amp;gt; with the weaker Zip 2.0 standard.&lt;br/&gt;&amp;gt; The textual representation of the wallet&amp;#39;s extended public key (as defined&lt;br/&gt;&amp;gt; by BIP32, with an &amp;lt;tt&amp;gt;xpub&amp;lt;/tt&amp;gt; header) should be used as the password.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Importing==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; When importing, a naive algorithm may simply match against any reference,&lt;br/&gt;&amp;gt; but it is possible to disambiguate between transactions, addresses, inputs&lt;br/&gt;&amp;gt; and outputs.&lt;br/&gt;&amp;gt; For example in the following pseudocode:&lt;br/&gt;&amp;gt; &amp;lt;pre&amp;gt;&lt;br/&gt;&amp;gt; if reference length &amp;lt; 64&lt;br/&gt;&amp;gt; Set address label&lt;br/&gt;&amp;gt; else if reference length == 64&lt;br/&gt;&amp;gt; Set transaction label&lt;br/&gt;&amp;gt; else if reference contains &amp;#39;&amp;lt;&amp;#39;&lt;br/&gt;&amp;gt; Set input label&lt;br/&gt;&amp;gt; else&lt;br/&gt;&amp;gt; Set output label&lt;br/&gt;&amp;gt; &amp;lt;/pre&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Importing applications may truncate labels if necessary.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Test Vectors==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The following fragment represents a wallet label export:&lt;br/&gt;&amp;gt; &amp;lt;pre&amp;gt;&lt;br/&gt;&amp;gt; Reference,Label&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b‎,Transaction&lt;br/&gt;&amp;gt; 1A69TXnEM2ms9fMaY9UuiJ7415X7xZaUSg,Address&lt;br/&gt;&amp;gt; c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b‎&amp;lt;0,Input&lt;br/&gt;&amp;gt; c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b‎&amp;gt;0,Output&lt;br/&gt;&amp;gt; c3bdad6e7dcd7997e16a5b7b7cf4d8f6079820ff2eedd5fcbb2ad088f767b37b‎:0,Output&lt;br/&gt;&amp;gt; (alternative)&lt;br/&gt;&amp;gt; &amp;lt;/pre&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ==Reference Implementation==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TBD&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;Co-Founder, SatoshiLabs&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220824/36ce85ba/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220824/36ce85ba/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:13:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswj49xkfrah9zwp2veux54pmhp59zrukmld0nyvkfkhfrfqlk8g0qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx8yfpm0</id>
    
      <title type="html">📅 Original date posted:2021-02-11 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswj49xkfrah9zwp2veux54pmhp59zrukmld0nyvkfkhfrfqlk8g0qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx8yfpm0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrjxpu52r79y7zkhhtxcxenk6e63rwrd4hs77pycywwtl3ngw02zsc832jt&#39;&gt;nevent1q…32jt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-11&lt;br/&gt;📝 Original message:&amp;gt; ENCRYPTION_KEY = SHA256(SHA256(TOKEN))&lt;br/&gt;&lt;br/&gt;This scheme might be vulnerable to rainbow table attack.&lt;br/&gt;&lt;br/&gt;The following scheme might be more secure:&lt;br/&gt;&lt;br/&gt;DESCRIPTION = ASCII description provided by user&lt;br/&gt;NONCE = 256-bit random number&lt;br/&gt;ENCRYPTION_KEY = hmac-sha256(key=NONCE, msg=DESCRIPTION)&lt;br/&gt;&lt;br/&gt;Coordinator distributes DESCRIPTION (fka TOKEN) together with NONCE to the&lt;br/&gt;signers.&lt;br/&gt;&lt;br/&gt;Also, is there any reason why you&amp;#39;d want to disable encryption? Why not&lt;br/&gt;keep that as mandatory?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Tue, 9 Feb 2021 at 12:39, Hugo Nguyen via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Feb 9, 2021 at 2:19 AM Christopher Allen &amp;lt;&lt;br/&gt;&amp;gt; ChristopherA at lifewithalacrity.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tue, Feb 9, 2021 at 2:06 AM Hugo Nguyen &amp;lt;hugo at nunchuk.io&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I don&amp;#39;t think reusing XPUBs inside different multisig wallets is a good&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; idea... For starters, loss of privacy in one wallet will immediately affect&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; privacy of other wallets. I think multisig wallets should be completely&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; firewalled from each other. That means one unique XPUB per wallet. This is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; what we have been doing with the Nunchuk wallet.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; To be clear, I have stated repeatedly that xpub reuse into multisig is a&lt;br/&gt;&amp;gt;&amp;gt; poor practice. However, finding a trustless solution when a wallet is&lt;br/&gt;&amp;gt;&amp;gt; airgapped with no network, or is stateless like Trezor, is quite hard.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The challenge also includes how does an airgapped or stateless wallet&lt;br/&gt;&amp;gt;&amp;gt; know that it is talking to the same process on the other side that that it&lt;br/&gt;&amp;gt;&amp;gt; gave the xpub to in the first place. Without state to allow for a&lt;br/&gt;&amp;gt;&amp;gt; commitment, or at least a TOFU, a cosigner who thought he was part of a 3&lt;br/&gt;&amp;gt;&amp;gt; of 5 could discover that he instead is in a 2 of 3, or in a script with an&lt;br/&gt;&amp;gt;&amp;gt; OR, as some form of scam.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The shared secret approach that I mentioned in the proposal actually can&lt;br/&gt;&amp;gt; help you here. The TOKEN doubles as a session ID - thereby establishing a&lt;br/&gt;&amp;gt; common state on both sides.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Hugo&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; — Christopher Allen&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210211/9aae5cfa/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210211/9aae5cfa/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:28:33&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv0w9umpkf0f35au8swtzuzegp2v45gjhhhkq67px54uj37nk4tlczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxjx9lhw</id>
    
      <title type="html">📅 Original date posted:2018-12-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv0w9umpkf0f35au8swtzuzegp2v45gjhhhkq67px54uj37nk4tlczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxjx9lhw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf79h2x4cwy8782nu54l645udzjsucqx0hv3nqx3fyx66h8vszslqewz7hs&#39;&gt;nevent1q…z7hs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-23&lt;br/&gt;📝 Original message:On 22/12/2018 00:58, Aymeric Vitte via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; Has anybody already looked at this: given N randomly chosen words&lt;br/&gt;&amp;gt; belonging to a BIP39 2048 words dictionary, what is the probability to&lt;br/&gt;&amp;gt; get a &amp;#34;valid&amp;#34; BIP39 seed (ie with the right checksum)?&lt;br/&gt;&lt;br/&gt;1:256 for 24 words&lt;br/&gt;1:16 for 12 words&lt;br/&gt;&lt;br/&gt;This ratio is not too great and will be improved in the upcoming SLIP39&lt;br/&gt;standard: &lt;a href=&#34;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&#34;&gt;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:15:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswfxyyz3t8vwqqrcnr7rgn7zr8smfmujfuh3srk8ty6ucufy0vsgqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxhq6pdr</id>
    
      <title type="html">📅 Original date posted:2018-01-11 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswfxyyz3t8vwqqrcnr7rgn7zr8smfmujfuh3srk8ty6ucufy0vsgqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxhq6pdr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp3zsz6z3gw6558efk6ryn2hzp0n95wgqvql606qfhwfh6fkz6cyq2c009j&#39;&gt;nevent1q…009j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-11&lt;br/&gt;📝 Original message:On 11/01/18 00:47, Gregory Maxwell wrote:&lt;br/&gt;&amp;gt; I believe that can be avoided by having the computer do somewhat more&lt;br/&gt;&amp;gt; work and checking the consistency after the fact.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (or for decode time, having a check value under the encryption...)&lt;br/&gt;&lt;br/&gt;Can you describe these two methods more in detail? How exactly would&lt;br/&gt;they work? What crypto primitives would you use and how?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:09:31&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdzz92j027pqa73r92fndtx6swl62w89a9ny9grjm9wml8suypyjqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx4tct7a</id>
    
      <title type="html">📅 Original date posted:2018-01-10 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdzz92j027pqa73r92fndtx6swl62w89a9ny9grjm9wml8suypyjqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx4tct7a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvg29k57hhn9wdltz0459xdalt88eu4t57xhv7setxuznqt6mmcfq66cprm&#39;&gt;nevent1q…cprm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-10&lt;br/&gt;📝 Original message:On 09/01/18 16:12, Pavol Rusnak via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; On 09/01/18 00:47, Gregory Maxwell wrote:&lt;br/&gt;&amp;gt;&amp;gt; Have you considered using blind host-delegated KDFs, where the KDF&lt;br/&gt;&amp;gt;&amp;gt; runs on the user&amp;#39;s computer instead of the hardware wallet, but the&lt;br/&gt;&amp;gt;&amp;gt; computer doesn&amp;#39;t learn anything about they keys?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Any examples of these?&lt;br/&gt;&lt;br/&gt;Actually, scratch that. HW wallet would not know whether the host&lt;br/&gt;computer is lying or not. The computer would not learn about the keys,&lt;br/&gt;but still could be malicious and provide invalid result. Is that correct?&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:09:30&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs28jmna3ltcqs5c7nlh7ayqlh4del3xmuszfyzxvvhkmqdr8m65zgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxkyma3a</id>
    
      <title type="html">📅 Original date posted:2018-01-08 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs28jmna3ltcqs5c7nlh7ayqlh4del3xmuszfyzxvvhkmqdr8m65zgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxkyma3a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswlqqr6secrfm70aufaacp8jmlj9zgnxc9e5s8vlf0u7e2af47nxcy345qg&#39;&gt;nevent1q…45qg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-08&lt;br/&gt;📝 Original message:On 08/01/18 13:45, Peter Todd wrote:&lt;br/&gt;&amp;gt; Can you explain _exactly_ what scenario the &amp;#34;plausible deniability&amp;#34; feature&lt;br/&gt;&amp;gt; refers to?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://doc.satoshilabs.com/trezor-user/advanced_settings.html#multi-passphrase-encryption-hidden-wallets&#34;&gt;https://doc.satoshilabs.com/trezor-user/advanced_settings.html#multi-passphrase-encryption-hidden-wallets&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 833 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180108/41cd23c4/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180108/41cd23c4/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:09:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdc9gsjxwhlhhefqlnfjf253v6wlyvwsn8htl20ry739ly2qy9rjszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxy8u485</id>
    
      <title type="html">📅 Original date posted:2018-01-08 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdc9gsjxwhlhhefqlnfjf253v6wlyvwsn8htl20ry739ly2qy9rjszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxy8u485" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9azxat3t50cs299jf7d9uj86xauyrcjvw9ekh7tdsasvjkk8eytgm0gph5&#39;&gt;nevent1q…gph5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-08&lt;br/&gt;📝 Original message:On 08/01/18 05:22, Gregory Maxwell wrote:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&#34;&gt;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Hey Gregory!&lt;br/&gt;&lt;br/&gt;Thanks for looking into the scheme. I appreciate your time!&lt;br/&gt;&lt;br/&gt;&amp;gt; This specification forces the key being used through a one way&lt;br/&gt;&amp;gt; function, -- so you cannot take a pre-existing key and encode it with&lt;br/&gt;&amp;gt; this scheme.&lt;br/&gt;&lt;br/&gt;Originally, we used a bi-directional function to be able to encode and&lt;br/&gt;decode the key in both directions using the passphrase. We stretched the&lt;br/&gt;passphrase using KDF and then applied AES or other symmetric cipher&lt;br/&gt;&lt;br/&gt;We found the following (theoretical) problem:&lt;br/&gt;&lt;br/&gt;If an attacker has knowledge of few words from the beginning of shares,&lt;br/&gt;they are able to reconstruct the beginning of the master secret and if&lt;br/&gt;the size of the reconstruced master secret is bigger then the cipher&lt;br/&gt;blocksize (for block ciphers; for stream ciphers 1 bit is enough), then&lt;br/&gt;they can reconstruct the beginning of the seed.&lt;br/&gt;&lt;br/&gt;Can you find a scheme which does not have this problem? Or you think&lt;br/&gt;this problem is not worth solving?&lt;br/&gt;&lt;br/&gt;&amp;gt; The KDF it specifies is unconfigurable and fairly weak&lt;br/&gt;&amp;gt; (20000xhmac-sha2-- which can be cracked at about 0.7M passwords a&lt;br/&gt;&amp;gt; second on a single motherboard GPU cracker).&lt;br/&gt;&lt;br/&gt;Yes. We want this to be possible to be computed on TREZOR-like devices&lt;br/&gt;on boot, similarly how we compute BIP39 on boot right now.&lt;br/&gt;&lt;br/&gt;&amp;gt; The construction also&lt;br/&gt;&amp;gt; will silently result in the user getting a different private key if&lt;br/&gt;&amp;gt; they enter the wrong passphrase-- which could lead to funds loss.&lt;br/&gt;&lt;br/&gt;Again, this is by design and it is main point why plausible deniability&lt;br/&gt;is achieved both in BIP39 and SLIP39. If we used a different&lt;br/&gt;construction we&amp;#39;d loose plausible deniability.&lt;br/&gt;&lt;br/&gt;&amp;gt; It&lt;br/&gt;&amp;gt; is again, unversioned-- so it kinda of seems like it is intentionally&lt;br/&gt;&amp;gt; constructed in a way that will prevent interoperable use, since the&lt;br/&gt;&amp;gt; lack of versioning was a primary complaint from other perspective&lt;br/&gt;&amp;gt; users.  Of course, it fine if you want to make a trezor only thing,&lt;br/&gt;&amp;gt; but why bother BIPing something that was not intended for&lt;br/&gt;&amp;gt; interoperability?  Even for a single vendor spec the lack of&lt;br/&gt;&amp;gt; versioning seems to make things harder to support new key-related&lt;br/&gt;&amp;gt; features such as segwit.&lt;br/&gt;&lt;br/&gt;This is argument I keep having all the time.&lt;br/&gt;&lt;br/&gt;Suppose we&amp;#39;d introduce a version to encode PBKDF2 rounds or even&lt;br/&gt;different KDFs. We&amp;#39;ll end up with different SLIP39 mnemonics, but they&lt;br/&gt;will not be compatible among implementations (because TREZOR can only up&lt;br/&gt;to 100.000 rounds of PBKDF2 and does not support Argon2 at all, while&lt;br/&gt;other desktop implementation would rather use memory-hard Argon2).&lt;br/&gt;&lt;br/&gt;My gut feeling is that this would lead to WORSE interoperability, not&lt;br/&gt;better. Look at BIP32 for example. There are lots of wallet that claim&lt;br/&gt;they are BIP32 compatible, but in reality they use different paths, so&lt;br/&gt;they are not compatible. BIP32 is a good standard, but in reality&lt;br/&gt;&amp;#34;BIP32-compatible&amp;#34; does not mean anything, whereas when you say the&lt;br/&gt;wallet is &amp;#34;BIP44-compatible&amp;#34; you can be sure the migration path works.&lt;br/&gt;&lt;br/&gt;&amp;gt; The 16-bit &amp;#34;checksum&amp;#34; based on sha2 seems pretty poor since basing&lt;br/&gt;&amp;gt; small checksums on a cryptographic hash results in a fairly poor&lt;br/&gt;&amp;gt; checksum that is surprisingly likely to accept an errored string. Your&lt;br/&gt;&amp;gt; wordlist is 10 bits and you have much less than 1023*10 bits of input,&lt;br/&gt;&amp;gt; so you could easily have a 20 bit code (two words) which guaranteed&lt;br/&gt;&amp;gt; that up to two errored words would always be detected, and probably&lt;br/&gt;&amp;gt; could choose one which catches three words much more often 1:2^20&lt;br/&gt;&amp;gt; (sipa&amp;#39;s crc tools can help find codes like this).&lt;br/&gt;&lt;br/&gt;Originally, we wanted to use 16-bit of CRC32 for checksum, but after the&lt;br/&gt;discussion with Daan Sprenkels we were suggested to change this for&lt;br/&gt;cryptographically strong function. The argument was that CRC32 contains&lt;br/&gt;less entropy and mixing high-entropy data (secret) with low-entropy data&lt;br/&gt;(checksum) is not a good idea.&lt;br/&gt;&lt;br/&gt;Also, there is an argument between a checksum and ECC. We discussed that&lt;br/&gt;ECC might not be a good idea, because it helps the attacker to compute&lt;br/&gt;missing information, while we only want to check for integrity. Also the&lt;br/&gt;word mnemonic is itself a ECC, because if you see the word &amp;#34;acadornic&amp;#34;&lt;br/&gt;it is probably the word &amp;#34;academic&amp;#34;.&lt;br/&gt;&lt;br/&gt;&amp;gt; The metadata seems to make fairly little affordance to help users&lt;br/&gt;&amp;gt; avoid accidentally mixing shares from distinct sharings of the same&lt;br/&gt;&amp;gt; key. Is it the idea that this is the only likely cause of a checksum&lt;br/&gt;&amp;gt; error? (1:2^16 chance of silently returning the wrong key seems kinda&lt;br/&gt;&amp;gt; bad). -- I&amp;#39;m not sure much could be done here, though, since&lt;br/&gt;&amp;gt; additional payload is precious.&lt;br/&gt;&lt;br/&gt;Yes, checksum is supposed to prevent that.&lt;br/&gt;&lt;br/&gt;&amp;gt; As an aside, your specification might want to give some better advice&lt;br/&gt;&amp;gt; about the SSS since my experience virtually everyone gets it wrong in&lt;br/&gt;&amp;gt; ways that degrade or destroy its properties e.g. many fail to generate&lt;br/&gt;&amp;gt; the additional coefficients of the polynominal randomly which results&lt;br/&gt;&amp;gt; in insecurity (see armory for an example).   Oh, also, I believe it is&lt;br/&gt;&amp;gt; normally refereed to as &amp;#34;SSS&amp;#34; (three S)-- four S is the name of a&lt;br/&gt;&amp;gt; linux program for secret sharing.&lt;br/&gt;&lt;br/&gt;Will fix the spelling. About the generic advice about SSS, anyone is&lt;br/&gt;welcome to contribute to the text.&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;m happy to see that there is no obvious way to abuse this one as a&lt;br/&gt;&amp;gt; brainwallet scheme!&lt;br/&gt;&lt;br/&gt;Agreed!&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:09:26&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8qmnw55x6fjptc5a5ft6yxkuv2y8yvztrge4msvgmy708r3tdexszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx8cjnzq</id>
    
      <title type="html">📅 Original date posted:2018-01-07 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8qmnw55x6fjptc5a5ft6yxkuv2y8yvztrge4msvgmy708r3tdexszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx8cjnzq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw0r8xycr0dcj0fkwrq2rkfkwaa3rl2nd83pyka8w3s57586tmz2shz5l8s&#39;&gt;nevent1q…5l8s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-07&lt;br/&gt;📝 Original message:On 05/01/18 14:58, nullius via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; I propose and request as an enhancement that the BIP 39 wordlist set&lt;br/&gt;&amp;gt; should specify canonical native language strings to identify each&lt;br/&gt;&amp;gt; wordlist, as well as short ASCII language codes.  At present, the&lt;br/&gt;&amp;gt; languages are identified only by their names in English.&lt;br/&gt;&lt;br/&gt;I am advising not to use any other language than English for BIP39. I&lt;br/&gt;got persuaded to allow more languages when writing BIP39 spec, but I&lt;br/&gt;learned that it was something I should&amp;#39;ve been more persistently against.&lt;br/&gt;&lt;br/&gt;I am currently drafting a new standard[1] which will allow also Shamir&lt;br/&gt;Secret Scheme Splitting and there we disallow usage of a custom wordlist&lt;br/&gt;in order to eradicate this mess. Will try to push this as BIP too once&lt;br/&gt;we get it to the point we are OK with the contents.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&#34;&gt;https://github.com/satoshilabs/slips/blob/master/slip-0039.md&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 833 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180107/8eef9b25/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180107/8eef9b25/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:09:16&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs23jf6knafu23n74ssy9xukg2znzn456kumzg8je8qea8u4ujvlvgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxrf0wu2</id>
    
      <title type="html">📅 Original date posted:2017-09-06 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs23jf6knafu23n74ssy9xukg2znzn456kumzg8je8qea8u4ujvlvgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxrf0wu2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw4hv0gdvf7ql2xumqrzzddw4a64kat02y2qhvedx0lnkc9vv3k0gl2ched&#39;&gt;nevent1q…ched&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-06&lt;br/&gt;📝 Original message:On 05/09/17 19:03, Luke Dashjr via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; I think it makes more sense to use a child number field for this purpose.&lt;br/&gt;&amp;gt; It seems desirable to use the same seed for all different script formats...&lt;br/&gt;&lt;br/&gt;If I were designing the serialization format today, I would drop the&lt;br/&gt;fingerprint and expand child number to full BIP32 path. Good thing is&lt;br/&gt;that we already have depth, so we know how long the BIP32 path would be.&lt;br/&gt;&lt;br/&gt;So I suggest the following:&lt;br/&gt;&lt;br/&gt;4 byte: version bytes&lt;br/&gt;1 byte: depth&lt;br/&gt;depth * 4 bytes: bip32 path&lt;br/&gt;32 bytes&lt;br/&gt;33 bytes&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:05:22&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz2vuyxfaqvqtwr48s6f7grxgcer2yjuj47ztdenz4qkrf5q6lv7qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxj0dzee</id>
    
      <title type="html">📅 Original date posted:2017-09-05 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz2vuyxfaqvqtwr48s6f7grxgcer2yjuj47ztdenz4qkrf5q6lv7qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxj0dzee" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8d8gjx79ejzawvyammmntvmr5rrupav9gl8s684d6mwjefr38qqsh9en03&#39;&gt;nevent1q…en03&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-09-05&lt;br/&gt;📝 Original message:On 05/09/17 09:10, shiva sitamraju via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; 0x042393df ,  sxpr ,   segwit mainnet private key&lt;br/&gt;&amp;gt; 0x04239377 , sxpb , segwit mainnet public key&lt;br/&gt;&amp;gt; 0x04222463 , stpb ,  segwit testnet public key&lt;br/&gt;&amp;gt; 0x042224cc ,  stpr ,  segwit testnet private key &lt;br/&gt;&lt;br/&gt;I am fine with both your proposal and proposal from Thomas&lt;br/&gt;({x,y,z}{pub,prv}).&lt;br/&gt;&lt;br/&gt;Let&amp;#39;s just decide ASAP which one we&amp;#39;ll use.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;CTO, SatoshiLabs
    </content>
    <updated>2023-06-07T20:05:16&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs96rc9nsw4rmnetwmzugchgz4sq3eh4d2khhejsfgq2zy0w6s3cvqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxa48m5x</id>
    
      <title type="html">📅 Original date posted:2016-08-16 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs96rc9nsw4rmnetwmzugchgz4sq3eh4d2khhejsfgq2zy0w6s3cvqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxa48m5x" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8l3qtzpx9yx33s0rt3634rrph4dqes3s555nnq4uqdyfv7rsagfqcdkhnl&#39;&gt;nevent1q…khnl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-16&lt;br/&gt;📝 Original message:On 16/08/16 17:13, Jonas Schnelli wrote:&lt;br/&gt;&amp;gt; I&amp;#39;m aware of this approach but I don&amp;#39;t think this makes sense long term.&lt;br/&gt;&amp;gt; We need a better way on the protocol level to validate inputs amounts&lt;br/&gt;&amp;gt; (where segwit is a first step towards this).&lt;br/&gt;&lt;br/&gt;So you basically rephrased what I am saying but in another words.&lt;br/&gt;&lt;br/&gt;&amp;gt; I think we should collaborate together and work out a standard.&lt;br/&gt;&lt;br/&gt;I am for it. I am just saying we should create a standard for new forms&lt;br/&gt;of transactions (Segwit and maybe Lightning), not the current &amp;#34;ugly&amp;#34; ones.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;SatoshiLabs.com&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 819 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160816/07dddfef/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160816/07dddfef/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:52:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx68wq6shjxd6d027lljsm4gvcjd53zfn5j8zvzq8zjjcddd7egugzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxuncvtj</id>
    
      <title type="html">📅 Original date posted:2016-05-13 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx68wq6shjxd6d027lljsm4gvcjd53zfn5j8zvzq8zjjcddd7egugzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxuncvtj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfhahurvpk5ghg08jfkyfmwwwwcp5rqq4q6nthvp7r4w0h0s096tsrc9awq&#39;&gt;nevent1q…9awq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-13&lt;br/&gt;📝 Original message:On 13/05/16 18:59, Aaron Voisine wrote:&lt;br/&gt;&amp;gt; This scheme is independent of the number of accounts. It works with BIP44&lt;br/&gt;&amp;gt; as well as BIP43 purpose 0, or any other BIP43 purpose/layout. Instead of&lt;br/&gt;&amp;gt; overloading the account index to indicate the type of address, you use the&lt;br/&gt;&amp;gt; chain index, which is already being used to indicate what the specific&lt;br/&gt;&amp;gt; address chain is to be used for, i.e. receive vs change addresses.&lt;br/&gt;&lt;br/&gt;I see the advantage here. But there is a major problem here.&lt;br/&gt;&lt;br/&gt;We came up with BIP44 so a wallet can claim it is BIP44 compatible and&lt;br/&gt;you can be 100% sure that you can migrate accounts from one wallet&lt;br/&gt;implementation to another. This was not previously possible when a&lt;br/&gt;wallet claimed it is BIP32 compatible.&lt;br/&gt;&lt;br/&gt;Now we have a similar problem. When there is a BIP44 wallet, does it&lt;br/&gt;mean it supports segwit or not? For this reason I would like to see&lt;br/&gt;another BIPXX for segwit, so a wallet can claim it is BIP44, BIP44&#43;BIPXX&lt;br/&gt;or BIPXX compatible and you&amp;#39;ll know what other wallets are compatible&lt;br/&gt;with it.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;SatoshiLabs.com
    </content>
    <updated>2023-06-07T19:50:41&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr34p7qzgnz3xwvjpszx4k03d23lrl94rdw4e7pg580deym5xz7xgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx3mu4es</id>
    
      <title type="html">📅 Original date posted:2016-05-13 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr34p7qzgnz3xwvjpszx4k03d23lrl94rdw4e7pg580deym5xz7xgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx3mu4es" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy67kqug5jh0zqp2nnvl7rpqdavexaaazcvlx5txjkzj9yt53awfgk95skr&#39;&gt;nevent1q…5skr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-13&lt;br/&gt;📝 Original message:On 13/05/16 18:03, Aaron Voisine wrote:&lt;br/&gt;&amp;gt; I like the idea of specifying the type of address as a bit field flag.&lt;br/&gt;&amp;gt; 0x80000000 is already used to specify hardened derivation, so 0x40000000&lt;br/&gt;&amp;gt; would be the next available to specify witness addresses. This is&lt;br/&gt;&amp;gt; compatible with existing accounts and wallet layouts.&lt;br/&gt;&lt;br/&gt;I think this is over-optimization. What is the advantage of&lt;br/&gt;&lt;br/&gt;m/0&amp;#39;/0x40000000 instead of m/whatever&amp;#39;/0 ?&lt;br/&gt;&lt;br/&gt;But this is off-topic anyway, as we are discussing multiple-accounts per&lt;br/&gt;wallet layout here, not one-account-per-wallet design.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;SatoshiLabs.com
    </content>
    <updated>2023-06-07T19:50:41&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs93vu38r8umk4yxc83wuxuv00tx8at5jzs65qzpumjedrfwfvy0uszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx2j0v76</id>
    
      <title type="html">📅 Original date posted:2016-05-13 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs93vu38r8umk4yxc83wuxuv00tx8at5jzs65qzpumjedrfwfvy0uszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx2j0v76" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0qtyrxdsfwxtvxp9cnf3v4ntetnec7je3gw7ax5q484v62hfnwns8p6wpz&#39;&gt;nevent1q…6wpz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-13&lt;br/&gt;📝 Original message:On 13/05/16 15:16, Daniel Weigl via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; 2) Define a new derivation path, parallel to Bip44, but a different  &amp;#39;purpose&amp;#39; (eg. &amp;lt;BipNumber-of-this-BIP&amp;gt;&amp;#39; instead of 44&amp;#39;). Let the user choose which account he want to add (&amp;#34;Normal account&amp;#34;, &amp;#34;Witness account&amp;#34;).  &lt;br/&gt;&lt;br/&gt;We had quite a long discussion in our team some time ago and we agreed&lt;br/&gt;on that option #2 is much better and we&amp;#39;d like to implement this way in&lt;br/&gt;myTREZOR.&lt;br/&gt;&lt;br/&gt;&amp;gt; 	&#43;) Wallet needs only to take care of 1 address per public key&lt;br/&gt;&lt;br/&gt;True, if this BIP only supports P2WPKH.&lt;br/&gt;&lt;br/&gt;P2WSH should probably be handled by another account type and another&lt;br/&gt;BIP, anyway.&lt;br/&gt;&lt;br/&gt;&amp;gt; Has any Bip44 compliant wallet already done any integration at this point?&lt;br/&gt;&lt;br/&gt;We have something in the pipeline, but no visible results yet.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol &amp;#34;stick&amp;#34; Rusnak&lt;br/&gt;SatoshiLabs.com
    </content>
    <updated>2023-06-07T19:50:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsflk2amdq2pn9mn4lzu960mltv3lfhz0vu4tp22xl6qtld8lupavgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqyg80h</id>
    
      <title type="html">📅 Original date posted:2015-03-07 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsflk2amdq2pn9mn4lzu960mltv3lfhz0vu4tp22xl6qtld8lupavgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqyg80h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsye0hm89pcudfseh89cszw8ux5qc523wswmwz3s05m3rrpz55ak4cfujucj&#39;&gt;nevent1q…jucj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-03-07&lt;br/&gt;📝 Original message:On 07/03/15 16:53, Mem Wallet wrote:&lt;br/&gt;&amp;gt; this allows a user to manage a GPG identity for encryption&lt;br/&gt;&amp;gt; and signing with zero bytes of permanent storage. (on tails for example)&lt;br/&gt;&lt;br/&gt;Hi!&lt;br/&gt;&lt;br/&gt;As an author of BIP44 I don&amp;#39;t think that you should use BIP44 for this&lt;br/&gt;and a new BIP number should be allocated. To me it does not make much&lt;br/&gt;sense to create GPG key hierarchy per Bitcoin account, but rather create&lt;br/&gt;a GPG key hierarchy per device/master seed.&lt;br/&gt;&lt;br/&gt;I am currently in process of implementing a SignIdentity message for&lt;br/&gt;TREZOR, which will be used for HTTPS/SSH/etc. logins.&lt;br/&gt;&lt;br/&gt;See PoC here:&lt;br/&gt;&lt;a href=&#34;https://github.com/trezor/trezor-emu/commit/9f612c286cc7b8268ebaec4a36757e1c19548717&#34;&gt;https://github.com/trezor/trezor-emu/commit/9f612c286cc7b8268ebaec4a36757e1c19548717&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The idea is to derive the BIP32 path from HTTPS/SSH URI (by hashing it&lt;br/&gt;and use m/46&amp;#39;/a&amp;#39;/b&amp;#39;/c&amp;#39;/d&amp;#39; where a,b,c,d are first 4*32 bits of the hash)&lt;br/&gt;and use that to derive the private key. This scheme might work for GPG&lt;br/&gt;keys (just use gpg://user@host.com for the URI) as well.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:31:45&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswvyrenqt5hntjf5ttpzq797cll6ect320v4qtmm650z0w0y46tvqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx25unvg</id>
    
      <title type="html">📅 Original date posted:2014-08-08 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswvyrenqt5hntjf5ttpzq797cll6ect320v4qtmm650z0w0y46tvqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx25unvg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsregyk86yu6yg8uc6ute9udy7gghwxg5kv83vmxpxrttv2mc04xpcwcgvp5&#39;&gt;nevent1q…gvp5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-08-08&lt;br/&gt;📝 Original message:Hi all!&lt;br/&gt;&lt;br/&gt;I would like to discuss invalidation of nodes in BIP32. Currently the&lt;br/&gt;document says:&lt;br/&gt;&lt;br/&gt;a) Public CKD&lt;br/&gt;&lt;br/&gt;In case I_L &amp;gt;= n or ki = 0, the resulting key is invalid, and one should&lt;br/&gt;proceed with the next value for i.&lt;br/&gt;&lt;br/&gt;b) Private CKD&lt;br/&gt;&lt;br/&gt;In case I_L &amp;gt;= n or Ki is the point at infinity, the resulting key is&lt;br/&gt;invalid, and one should proceed with the next value for i.&lt;br/&gt;&lt;br/&gt;c) Master Key Generation&lt;br/&gt;&lt;br/&gt;In case IL is 0 or I_L &amp;gt;= n, the master key is invalid.&lt;br/&gt;&lt;br/&gt;(All these cases have probability lower than 1 in 2^127.)&lt;br/&gt;&lt;br/&gt;What do you think about the following change for all 3 cases:&lt;br/&gt;&lt;br/&gt;In case I_L &amp;gt;= n assign I_L := I_L mod n.&lt;br/&gt;&lt;br/&gt;Rationale:&lt;br/&gt;&lt;br/&gt;It&amp;#39;s easy to say &amp;#34;mark as invalid and proceed with next&amp;#34;, but actually&lt;br/&gt;most of the implementations don&amp;#39;t do the checking at all, because tjen&lt;br/&gt;it&amp;#39;s rather hard at application level to implement skipping logic. OTOH&lt;br/&gt;it&amp;#39;s quite straightforward to perform modulo if needed, so we probably&lt;br/&gt;see more implementations doing the checking.&lt;br/&gt;&lt;br/&gt;We would still need to deal with cases when I_L = 0 or ki = 0 or ki =&lt;br/&gt;inf, but these have probability around 1 in 2^255.&lt;br/&gt;&lt;br/&gt;Does anyone see any concerns when it comes to security of the proposed&lt;br/&gt;change?&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:25:07&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst80xvc3azu8d6dtkndpsx4ptsdx8faqj9k586rw05zkfv5uz3smgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxk5zhvq</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst80xvc3azu8d6dtkndpsx4ptsdx8faqj9k586rw05zkfv5uz3smgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxk5zhvq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszdny7g0u0syl4q3qwfkysp6lmrh653t7ntx928fyk43nnq8amv9qezlwuh&#39;&gt;nevent1q…lwuh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 11:18 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; Only a very niche user base needs funds isolated...&lt;br/&gt;&lt;br/&gt;Our users do and we are creating this BIP for them, because we love them. ;)&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:18:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvz0zr9p47g8rpex2sky2kktyz3r0kk4xkd6vy7wh9k0cqk96tugqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxhchl46</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvz0zr9p47g8rpex2sky2kktyz3r0kk4xkd6vy7wh9k0cqk96tugqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxhchl46" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv8famfd0kk796mezdcf3t4w7aarmqwcpkj428dc4mrcwelr2z2dchxlpqd&#39;&gt;nevent1q…lpqd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 11:42 PM, Pieter Wuille wrote:&lt;br/&gt;&amp;gt; In that case, maybe it makes sense to define another purpose id&lt;br/&gt;&amp;gt; without accounts as well already.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I believe many simple wallets will find multiple subwallets too&lt;br/&gt;&amp;gt; burdening for the user experience, or not worth the technical&lt;br/&gt;&amp;gt; complexity.&lt;br/&gt;&lt;br/&gt;Right. See my previous email where I describe hypothetical creation of&lt;br/&gt;BIP65 and BIP66 which the exact thing you describe.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:18:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9anztajqqpknhpk2z3x20lv3xwarj7tglcjl6fl5pw59j54e8dcczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx3tmfmy</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9anztajqqpknhpk2z3x20lv3xwarj7tglcjl6fl5pw59j54e8dcczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx3tmfmy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrm974khvt8f0zg6rwxekswf29kt6t03qrcv4yul2m4rsvmkunw7sy02jz4&#39;&gt;nevent1q…2jz4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 11:22 PM, Gregory Maxwell wrote:&lt;br/&gt;&amp;gt; Hopefully it would be clarified as only a MUST NOT do so silently...&lt;br/&gt;&amp;gt; &amp;#34;I have funds split across two wallets and it WONT LET ME SPEND THEM&amp;#34;&lt;br/&gt;&amp;gt; sounds like a terrible user experience. :)&lt;br/&gt;&lt;br/&gt;That is a subjective matter. To me it makes PERFECT SENSE that funds&lt;br/&gt;across accounts NEVER MIX. One can still send funds from one account to&lt;br/&gt;another and then perform another spend.&lt;br/&gt;&lt;br/&gt;That&amp;#39;s what I consider a consistent and thus GOOD user experience.&lt;br/&gt;What&amp;#39;s the purpose of Accounts if wallet mixes coins among them anyway?&lt;br/&gt;&lt;br/&gt;I know it&amp;#39;s not good to use classic bank accounts as analogy, but that&amp;#39;s&lt;br/&gt;exactly how they work. Or have you every done ONE transaction from two&lt;br/&gt;bank accounts simultaneously?&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:18:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8yhlr77a28k9h75mtvdrzml8gnsh42ujpqud07w2d78al0znu0rqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxwcul2y</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8yhlr77a28k9h75mtvdrzml8gnsh42ujpqud07w2d78al0znu0rqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxwcul2y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgykqddtvzf35fp0l37qdv2dcres6wc7jeze8m040xv572gdwnnvsh9k4nt&#39;&gt;nevent1q…k4nt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 10:54 PM, Pieter Wuille wrote:&lt;br/&gt;&amp;gt; Would you consider software which scans all accounts as specified by&lt;br/&gt;&amp;gt; BIP64, but has no user interface option to distinguish them in any&lt;br/&gt;&amp;gt; way, view them independently, and has no ability to keep the coins&lt;br/&gt;&amp;gt; apart... compatible with BIP64?&lt;br/&gt;&lt;br/&gt;This is not a desired behavior. Do you have any idea how to make it even&lt;br/&gt;more explicit in the spec? Currently we just have (in Account sectrion):&lt;br/&gt;&lt;br/&gt;&amp;#34;This level splits the key space into independent user identities, so&lt;br/&gt;the wallet never mixes the coins across different accounts.&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I would like to make it obvious from the spec that if you mix funds&lt;br/&gt;accross the accounts you are not doing a right thing and you are not&lt;br/&gt;compliant to the spec.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:59&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs89jrjxll9m2l4v8rcusuhlqtr2pjpnfzs7mj093vhdtammldra9qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxpk33gj</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs89jrjxll9m2l4v8rcusuhlqtr2pjpnfzs7mj093vhdtammldra9qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxpk33gj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs95ngktyuq3wgrgaen6qah4hvt8axvqz7fhva2ly4m6tdxmhnpaecarcs98&#39;&gt;nevent1q…cs98&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 10:41 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; I don&amp;#39;t see how. The user knows he has money in different subwallets. As long &lt;br/&gt;&amp;gt; as he has a way to specify which subwallet he is accessing in single-subwallet &lt;br/&gt;&amp;gt; clients, there shouldn&amp;#39;t be a problem.&lt;br/&gt;&lt;br/&gt;Right. But these clients have no right to call themselves BIP64&lt;br/&gt;compatible then.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:58&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx3rqjkhyqzz6e93tphn5ylepus77yn4yd639yp8kqgfx2q4kemtszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxkvclru</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx3rqjkhyqzz6e93tphn5ylepus77yn4yd639yp8kqgfx2q4kemtszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxkvclru" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs000rtlfr8qgg6x4ah5lpjrwmszeu5gmxqmj5ew2cygkkvzgevfdshc0k6e&#39;&gt;nevent1q…0k6e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 10:32 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; f) I missed the part where BIP 32 redefined &amp;#34;account&amp;#34; to mean &amp;#34;subwallet&amp;#34; &lt;br/&gt;&amp;gt; instead of what has traditionally been called &amp;#34;account&amp;#34; in Bitcoin.&lt;br/&gt;&lt;br/&gt;Ah, okay. The last time I saw Bitcoin-qt it was still using independent&lt;br/&gt;addresses.&lt;br/&gt;&lt;br/&gt;&amp;gt; In that case, single-subwallet wallet software probably needs to have the user &lt;br/&gt;&amp;gt; provide a subwallet number in addition to the seed.&lt;br/&gt;&lt;br/&gt;Which brings us back to my original complaint that the user can be&lt;br/&gt;confused because he doesn&amp;#39;t see all his funds.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:58&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp25mtwagwfhd39gckey32c3n4vtyct2kwdpgtgustflm6pukraxqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxdfdsk8</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp25mtwagwfhd39gckey32c3n4vtyct2kwdpgtgustflm6pukraxqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxdfdsk8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy00jyus3w5tdujk6wg2ehq9eay9lz3gxpwkjfse0arl7u7rf40cskaqt6z&#39;&gt;nevent1q…qt6z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 10:01 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; Yes, it should scan all possible (under the BIP-defined structure) branches &lt;br/&gt;&amp;gt; regardless of which features it supports.&lt;br/&gt;&lt;br/&gt;So you suggest to scan for accounts, show balances but don&amp;#39;t allow user&lt;br/&gt;to spend them? Does not seem right to me.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:57&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspg2lfpvhamfl70n0axj5ac388h6v0zgunw5p8vduny2seaf6993qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxutvl6f</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspg2lfpvhamfl70n0axj5ac388h6v0zgunw5p8vduny2seaf6993qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxutvl6f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2umfp64x7lr6s8nnqlustsh5zplmqqptur8c38pzcupkqw6mhqyqutfrc5&#39;&gt;nevent1q…frc5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 10:09 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; Scan all branches for UTXOs, then you have the balance for the wallet. Account &lt;br/&gt;&amp;gt; balances are metadata, so cannot be known from the seed alone. If you want to &lt;br/&gt;&amp;gt; have a way to restore accounts, you must define some more detailed wallet file &lt;br/&gt;&amp;gt; format (which could be built on top of this).&lt;br/&gt;&lt;br/&gt;I think one of the following is happening:&lt;br/&gt;&lt;br/&gt;a) you have not read the document&lt;br/&gt;b) you don&amp;#39;t understand what accounts are, because you have not read&lt;br/&gt;   the document&lt;br/&gt;c) you don&amp;#39;t understand how restoring accounts work, because you&lt;br/&gt;   have not read the document&lt;br/&gt;d) you don&amp;#39;t understand that accounts funds are not meant to be mixed&lt;br/&gt;   together, because you have not read the document&lt;br/&gt;e) I got your emails wrong because I am not a native speaker,&lt;br/&gt;   but please read the the document ;-)&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:57&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswsnyzy66nnryh9jay25pvtczr4ng5h0h6a3xvzm7n9u4zjpw4weqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxml3va2</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswsnyzy66nnryh9jay25pvtczr4ng5h0h6a3xvzm7n9u4zjpw4weqzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxml3va2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr26n7c92ppx8n4ahun55cujqsdghjayj3mjeughxg2mhuaq800egplk470&#39;&gt;nevent1q…k470&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 09:44 PM, Luke-Jr wrote:&lt;br/&gt;&amp;gt; Why do clients need to use the features in BIP 64? If Electrum doesn&amp;#39;t want to &lt;br/&gt;&amp;gt; use accounts, then it can just use account 0 for everything. Refund chains are &lt;br/&gt;&lt;br/&gt;As Andreas wrote earlier in this thread: &amp;#34;There is no &amp;#34;bare minimum&amp;#34;.&lt;br/&gt;Either you implement the &amp;#34;BIP&amp;#34; fully or not.&amp;#34;&lt;br/&gt;&lt;br/&gt;What you suggest does not follow the principle of least surprise.&lt;br/&gt;Suppose user imports his BIP64 compatible wallet into Electrum, which&lt;br/&gt;claims it is BIP64 compatible, but actually implements just a subset of&lt;br/&gt;the spec (sticking account index to 0). The user now sees just a&lt;br/&gt;fraction of his coins and is puzzled.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:56&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvqa8m8znvkterlzrvw7ycfpam6yt6guxx8kut8rzgu4z2zm6j58qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxjdyvhy</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvqa8m8znvkterlzrvw7ycfpam6yt6guxx8kut8rzgu4z2zm6j58qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxjdyvhy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvx0zrhfajrxlrdfthe3cpjywqlljv8khwcqjempvxsve29c2a4ccnwt3r0&#39;&gt;nevent1q…t3r0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 09:00 PM, Tier Nolan wrote:&lt;br/&gt;&amp;gt; The point is to have a single system that is compatible over a large number&lt;br/&gt;&amp;gt; of systems.&lt;br/&gt;&lt;br/&gt;There is such system and it is called BIP32.&lt;br/&gt;&lt;br/&gt;On the other hand, in BIP64 we try to put a set of restrictions and&lt;br/&gt;rules on top of BIP32. There will always be some special usecases where&lt;br/&gt;BIP64 is not a good fit and there&amp;#39;s no reason why you cannot use BIP32&lt;br/&gt;in a different manner using a different &amp;#34;purpose&amp;#34; field.&lt;br/&gt;&lt;br/&gt;Examples: Electrum does not want to use accounts and they start to use&lt;br/&gt;scheme m/65&amp;#39;/change/address (where change = 0 or 1). Or Andreas&lt;br/&gt;Schildbach wants to have refunds chain so he uses m/66&amp;#39;/chain/address&lt;br/&gt;(where chain = 0, 1 or 2).&lt;br/&gt;&lt;br/&gt;We wanted to find one good solution that fits all, but unfortunately it&lt;br/&gt;turned out everyone wants something a little bit different.&lt;br/&gt;&lt;br/&gt;The point of the whole effort is that you can have ONE SINGLE BACKUP&lt;br/&gt;(master node) for all these independent purposes and suddenly claims&lt;br/&gt;such as &amp;#34;my wallet is BIP64 and BIP66 compatible&amp;#34; actually mean&lt;br/&gt;something as opposed to &amp;#34;BIP32 compatible&amp;#34; which actually means nothing&lt;br/&gt;except that the wallet author is capable of using HMAC in context of&lt;br/&gt;generating the tree.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst0wq3su2lell2uwxlgfdf3es48nyvycvcccyyzl9wn094j57thggzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxg0m2va</id>
    
      <title type="html">📅 Original date posted:2014-04-23 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst0wq3su2lell2uwxlgfdf3es48nyvycvcccyyzl9wn094j57thggzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxg0m2va" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw6qn4jr4dfn4mfg7xv54kravnn6rhxqflrgtw5hah35jjnjntxzs2s4rq3&#39;&gt;nevent1q…4rq3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-23&lt;br/&gt;📝 Original message:On 04/23/2014 08:39 PM, Tier Nolan wrote:&lt;br/&gt;&amp;gt; A merchant could easily send 20 addresses in a row to customers and none of&lt;br/&gt;&amp;gt; them bother to actually buy anything.&lt;br/&gt;&lt;br/&gt;Such merchant would surely use some merchant system instead of generic&lt;br/&gt;wallet software.&lt;br/&gt;&lt;br/&gt;&amp;gt; Setting the gap limit to high is just a small extra cost in that case.&lt;br/&gt;&lt;br/&gt;Not if you have 100 accounts on 10 different devices.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:53&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8e2kaguqgvdklyz4a44lurwgceq4q4s6lut4f6rwt0h2x7ywdg5qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxchmg7g</id>
    
      <title type="html">📅 Original date posted:2014-04-08 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8e2kaguqgvdklyz4a44lurwgceq4q4s6lut4f6rwt0h2x7ywdg5qzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxchmg7g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdr42k0g2xc07gu9q4zcv87cj5gxvp3uhmq29aa2artnjcqqhhflq7nrm3d&#39;&gt;nevent1q…rm3d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-04-08&lt;br/&gt;📝 Original message:On 04/08/2014 03:53 PM, Pieter Wuille wrote:&lt;br/&gt;&amp;gt; Let me offer an alternative suggestion, which is compatible with the&lt;br/&gt;&amp;gt; original default BIP32 structure:&lt;br/&gt;&amp;gt; * You can use one seed across different chains, but the master nodes&lt;br/&gt;&amp;gt; are separate.&lt;br/&gt;&amp;gt; * To derive the master node from the seed, the key string &amp;#34;Bitcoin&lt;br/&gt;&amp;gt; seed&amp;#34; is replaced by something chain-specific.&lt;br/&gt;&amp;gt; * Every encoded node (including master nodes) has a chain-specific&lt;br/&gt;&amp;gt; serialization magic.&lt;br/&gt;&lt;br/&gt;This is possible, but I find it much more practical to use just one list&lt;br/&gt;(assignment of coins to indexes) than to use two lists (assignment of&lt;br/&gt;coins to key strings and to serialization magic).&lt;br/&gt;&lt;br/&gt;Keeping two lists is harder and adds unnecessary friction. (Also I am&lt;br/&gt;not very happy for the possibility we&amp;#39;ll have to deal with key strings&lt;br/&gt;&amp;#34;sCAMCo1N RULEZZZZ!!!! bRoUghT TO YoU bY M4rty&amp;#34; and serialization magic&lt;br/&gt;that leads to prefix &amp;#34;lulz&amp;#34;).&lt;br/&gt;&lt;br/&gt;Also from wallet&amp;#39;s implementer perspective it is a little easier to use&lt;br/&gt;just one root node and then descend in tree as needed than to use method&lt;br/&gt;you described.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:17:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs02qtj8a5mhmufz8wk0m3ewnwg0rxjusm3d88fv0k36cmanzpldvczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxl0yxhm</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs02qtj8a5mhmufz8wk0m3ewnwg0rxjusm3d88fv0k36cmanzpldvczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxl0yxhm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszsh7phsdnfq6xuzty5tyaf3q8h66w658rdzzc0p0vp4kzhq9sz0g5tssd4&#39;&gt;nevent1q…ssd4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:On 03/27/2014 02:53 PM, Thomas Voegtlin wrote:&lt;br/&gt;&amp;gt; Note: Maybe we could just look at the first address of each account, &lt;br/&gt;&amp;gt; instead of the first 10 ?&lt;br/&gt;&lt;br/&gt;This is a possible optimization, but it adds unnecessary logic. Also it&lt;br/&gt;does not decrease the number of required requests between a client and a&lt;br/&gt;server (e.g. when backend sends responses in &amp;#34;bulks&amp;#34; of 10 addresses or&lt;br/&gt;more).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:16:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs04qervpsr433huesge2zdvmyutgwduz8vumlcp5ej8862yl5anzczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqkx73f</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs04qervpsr433huesge2zdvmyutgwduz8vumlcp5ej8862yl5anzczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqkx73f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfnfwny4c622gvt94qadz3k37nx8f6vn04srdf3hfv62nvth2x6qshxskzw&#39;&gt;nevent1q…skzw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:On 03/27/2014 05:14 PM, Pieter Wuille wrote:&lt;br/&gt;&amp;gt; That said, I&amp;#39;m not convinced about the extra layers. The &amp;#34;cointype&amp;#34; in&lt;br/&gt;&amp;gt; my opinion isn&amp;#39;t necessary inside the derivation. There is already&lt;br/&gt;&amp;gt; support (4 bytes!) for magic bytes in the serialized form. Inside&lt;br/&gt;&lt;br/&gt;Cointype in path is for separation purposes, not for identification.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:16:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw8vspnjcyas3lwq2azpv9vmvzhkqcy7dudmvakpd4xw3q2kw3hqczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqy0kmu</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw8vspnjcyas3lwq2azpv9vmvzhkqcy7dudmvakpd4xw3q2kw3hqczypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxqy0kmu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstcdjjlvt7mc3rxsl5y3s352larrxgdq4mp39ej5jwv0thj7derhgpw6mcn&#39;&gt;nevent1q…6mcn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:On 03/27/2014 04:57 PM, Allen Piscitello wrote:&lt;br/&gt;&amp;gt; Don&amp;#39;t most of these coins have a magic number already assigned that is&lt;br/&gt;&amp;gt; unique? (0xD9B4BEF9 for Bitcoin, 0x0709110B for Testnet, FBC0XB6DB for&lt;br/&gt;&amp;gt; Litecoin, etc...).  This seems like a good candidate for identifying coins,&lt;br/&gt;&amp;gt; and also supports Testnet cases well.  Maybe there are some alts without&lt;br/&gt;&amp;gt; such a magic number that might prevent that?&lt;br/&gt;&lt;br/&gt;That magic number is something I find very unfortunate and superflous in&lt;br/&gt;BIP-32 design. Its only purpose is to distinguish BIP-32 trees for&lt;br/&gt;various altcoins, but it doesn&amp;#39;t make sense at all once you start&lt;br/&gt;storing various altcoins in the same tree using the proposed&lt;br/&gt;/m/cointype/reserved&amp;#39;/account&amp;#39;/change/n scheme.&lt;br/&gt;&lt;br/&gt;I would love to see that removed from BIP-32 and use always&lt;br/&gt;0x0488B21E/0x0488ADE4 (xpub/xpriv), but that is for different discussion&lt;br/&gt;I guess.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:16:18&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst25mhsysg5g0a7gllfyx7udjfmx4jkc4pscn26l4mr4fc8skycnszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxv2mtzt</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst25mhsysg5g0a7gllfyx7udjfmx4jkc4pscn26l4mr4fc8skycnszypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxv2mtzt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqpp5gd82c9q9ughhceltqcqp0gfvpmqsvd82e9cramcnfsvxesaqnu3wlc&#39;&gt;nevent1q…3wlc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:On 03/27/2014 08:09 AM, Tamas Blummer wrote:&lt;br/&gt;&amp;gt; A notable suggestion was to instead of building a directory of magic numbers (like 0 for Bitcoin, 1 for Litecoin etc) use a hash of the word &amp;#34;Bitcoin&amp;#34;, &amp;#34;Litecoin&amp;#34;, &amp;#34;Dogecoin&amp;#34;, so collosion is unlikely and&lt;br/&gt;&amp;gt; cetral directory is not needed.&lt;br/&gt;&lt;br/&gt;Nice idea, but keep in mind that you are hashing into 2^32 space, so&lt;br/&gt;collisions will occur, unfortunately and we&amp;#39;ll end up with directory&lt;br/&gt;again :-/&lt;br/&gt;&lt;br/&gt;Even if they did not occur you would need to keep up the registry of&lt;br/&gt;names anyway (is it Peercoin or PPCoin, Testnet or TestNet ...)?&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:16:17&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9pmr6vqemdv44v757dm5nn4evc6jvhcqhe70lrvqc6s20uq53xmgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxsx6pye</id>
    
      <title type="html">📅 Original date posted:2014-03-12 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9pmr6vqemdv44v757dm5nn4evc6jvhcqhe70lrvqc6s20uq53xmgzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxxsx6pye" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs92znrp4a040yp7ny20rwajkyqannwzkm0du7pzeu7jw4gq3v7v3c9l57du&#39;&gt;nevent1q…57du&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-12&lt;br/&gt;📝 Original message:On 03/12/2014 04:17 AM, Jean-Paul Kogelman wrote:&lt;br/&gt;&amp;gt; We&amp;#39;ve been hard at work updating the spec to include features that were requested. We&amp;#39;ve removed the Scrypt dependency that was present in the initial drafts, added new KDFs, added plausible deniability and have a reference implementation.&lt;br/&gt;&lt;br/&gt;Are you aware of BIP-0039?&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:15:13&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqp2jff9czelxrcatf6q5yfknadaltyfw7csyutz9nxgqypr85q8gzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx7pw4fh</id>
    
      <title type="html">📅 Original date posted:2014-03-12 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqp2jff9czelxrcatf6q5yfknadaltyfw7csyutz9nxgqypr85q8gzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx7pw4fh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyh7rf68s7zcyzchz9uyg6tn7uad5qc2drr6r6y266xr2893gjyhc6qvys7&#39;&gt;nevent1q…vys7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-12&lt;br/&gt;📝 Original message:On 03/12/2014 04:45 PM, Jean-Paul Kogelman wrote:&lt;br/&gt;&amp;gt; Yes I am. There are some differences between BIP 39 and my proposal though. &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - BIP 39 offers an easy list of words, no gnarly string of case sensitive letters and numbers.&lt;br/&gt;&lt;br/&gt;Which is better IMO. I can&amp;#39;t imagine anyone writing down a long Base58&lt;br/&gt;encoded string.&lt;br/&gt;&lt;br/&gt;&amp;gt; - BIP 39 only offers one fixed length of entropy, always 12 words, no option to increase or decrease the length.&lt;br/&gt;&lt;br/&gt;Not true, BIP39 supports 12/18/24 words (= 128/192/256 bits of entropy).&lt;br/&gt;&lt;br/&gt;&amp;gt; - BIP 39 doesn&amp;#39;t have a genesis date field, so no optimization during blockchain rescan.&lt;br/&gt;&lt;br/&gt;This is nice addition, indeed. But we needed to limit the data as&lt;br/&gt;possible in order not to increase the number of words needed to be noted&lt;br/&gt;down.&lt;br/&gt;&lt;br/&gt;&amp;gt; - BIP 39 doesn&amp;#39;t have password typo detection. No easy way to recover a password if you know most of it.&lt;br/&gt;&lt;br/&gt;It has a detection. Not correction though.&lt;br/&gt;&lt;br/&gt;&amp;gt; - BIP 39 does not have a user selectable KDF, only 2048 round PBKDF2-HMAC-SHA512. &lt;br/&gt;&amp;gt; - BIP 39 can&amp;#39;t outsource the KDF computation to a 3rd party.&lt;br/&gt;&lt;br/&gt;True, but having one or two solid options are better than having&lt;br/&gt;gazillions of possible options.&lt;br/&gt;&lt;br/&gt;&amp;gt; - BIP 39 wallet implementors can use their own word lists, breaking cross wallet compatibility.&lt;br/&gt;&lt;br/&gt;True, but they are encouraged to use the list provided. Possibility to&lt;br/&gt;outsource KDF outside of your &amp;#34;standard&amp;#34; breaks much more compatibility&lt;br/&gt;than this.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:15:13&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9hymspu03w5aj4qtnrk8yjs8x59j3u5d995wuhm6u8gdxaarquggzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx2prsy7</id>
    
      <title type="html">📅 Original date posted:2013-10-19 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9hymspu03w5aj4qtnrk8yjs8x59j3u5d995wuhm6u8gdxaarquggzypmrzwt7g6050u6n24nnz86l0st398s07t9j200szh3ajtwlmykxx2prsy7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvv4y8amquqzcthj0zuee2kvmq84t8xkyhvhqxmq5uctn0ppwhp2g7apq4h&#39;&gt;nevent1q…pq4h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2013-10-19&lt;br/&gt;📝 Original message:On 19/10/13 01:58, Gregory Maxwell wrote:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://people.xiph.org/~greg/wordlist.visual.py&#34;&gt;https://people.xiph.org/~greg/wordlist.visual.py&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve included the search utility I used below.&lt;br/&gt;&lt;br/&gt;Yeah, there are lots of tools on the Internet. Posting links to them is&lt;br/&gt;not helping. Sending pull requests with particular changesets with&lt;br/&gt;explanation is. Well, or rather was. I think we are past the point where&lt;br/&gt;it was wise to introduce changes to the word list ... (especially when&lt;br/&gt;50 people have 51 different opinions on this topic)&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Best Regards / S pozdravom,&lt;br/&gt;&lt;br/&gt;Pavol Rusnak &amp;lt;stick at gk2.sk&amp;gt;
    </content>
    <updated>2023-06-07T17:07:31&#43;02:00</updated>
  </entry>

</feed>