<?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/npub13dagfmmgd537ep30xplt2vp84nvtyw3qxn5cze7hafg2pw6enjss5z3aep.rss" />
  <link href="https://nostr.ae/npub13dagfmmgd537ep30xplt2vp84nvtyw3qxn5cze7hafg2pw6enjss5z3aep" />
  <id>https://nostr.ae/npub13dagfmmgd537ep30xplt2vp84nvtyw3qxn5cze7hafg2pw6enjss5z3aep</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsw574xjvcmmu076wqaqau69c0w0shhvq5xz3afumqxm847w7jexeqzyz9h4p80dpkj8myx9uc8adfsy7kd3v36yq6wnqt86l49pg9mtxw2zzaep00</id>
    
      <title type="html">📅 Original date posted:2014-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw574xjvcmmu076wqaqau69c0w0shhvq5xz3afumqxm847w7jexeqzyz9h4p80dpkj8myx9uc8adfsy7kd3v36yq6wnqt86l49pg9mtxw2zzaep00" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvrxqjuuurx7werttejumglcevg56gr2rsg7r8j0ukyawtq89v5kcgz3g9r&#39;&gt;nevent1q…3g9r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2014-03-27&lt;br/&gt;📝 Original message:On Wed, Mar 26, 2014 at 6:01 PM, Alan Reiner &amp;lt;etotheipi at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;  This might be tangential, but the comment about &amp;#34;refund&amp;#34; chains reminded&lt;br/&gt;&amp;gt; me.  Armory will be implementing multi-sig/linked wallets where a each&lt;br/&gt;&amp;gt; device has a parallel HDW branch and produces P2SH addresses.  For those&lt;br/&gt;&amp;gt; types of wallets, I plan to allocate two chains *per signing authority*.&lt;br/&gt;&amp;gt; If you have a shared 2-of-2 wallet split between your phone and your&lt;br/&gt;&amp;gt; spouse&amp;#39;s phone, your phone would distribute addresses on P2SH chain 0 and&lt;br/&gt;&amp;gt; generate change addresses on P2SH chain 1.  Your spouse&amp;#39;s phone would use&lt;br/&gt;&amp;gt; chains 2 and 3.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So if you and your spouse switch to a new app that supports M-of-N linked&lt;br/&gt;&amp;gt; wallets, it should search for coin history along the first 2*N chains.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;In general with multisig, we should probably discourage using a common root&lt;br/&gt;keychain for multiple keys in the same P2SH address.  The reason is because&lt;br/&gt;if you have the single, root private key, you can sign them all. This&lt;br/&gt;generally goes against the point of multisig - which was trying to&lt;br/&gt;introduce a system which had multiple keys required to unlock :-)&lt;br/&gt;&lt;br/&gt;For the BitGo BIP32 implementation we are doing the following:&lt;br/&gt;   - users create 2 extended keys&lt;br/&gt;   - bitgo creates 1 extended key for that user&lt;br/&gt;   - the user can create any number of separate branches (accounts) of P2SH&lt;br/&gt;addresses from those extended keys.&lt;br/&gt;   - change/public addresses are generated from the 0/1 branches&lt;br/&gt;   - new addresses are generated from there.&lt;br/&gt;   - each time a new change address is generated, all 3 keys in the P2SH&lt;br/&gt;are rotated.  This makes it so that for any chain depth *i* of the P2SH&lt;br/&gt;address, we&amp;#39;re using the *i*th key in each keychain.  For privacy reasons,&lt;br/&gt;we don&amp;#39;t need to rotate all keys.  But I think it makes management simpler&lt;br/&gt;and probably more ready for interop.&lt;br/&gt;&lt;br/&gt;So the paths in a user&amp;#39;s keychain look exactly like BIP32&amp;#39;s layout:&lt;br/&gt;     m/&amp;lt;AccountIndex&amp;gt;/&amp;lt;ExternalOrInternal&amp;gt;/&amp;lt;AddressIndex&amp;gt;&lt;br/&gt;&lt;br/&gt;Another issue unique to P2SH addresses is order of the keys. There has been&lt;br/&gt;talk in this list of how to sort them.  While sorting is simplifying for&lt;br/&gt;interop if you never use new change addresses, I believe sorting makes&lt;br/&gt;wallet management more difficult when BIP32 is introduced.&lt;br/&gt;&lt;br/&gt;Specifically, imagine a P2SH address with keys held by Bob, Charlie, and&lt;br/&gt;Dana.  If you sort the pubkeys, then with each BIP32 chain, the order of&lt;br/&gt;the keys could be different.  By maintaining key order, we always know&lt;br/&gt;which of the pubkeys belongs to which user without having to do any lookups.&lt;br/&gt;&lt;br/&gt;Obviously this can all be calculated too.  But the sorting seems gratuitous&lt;br/&gt;to me - it adds complexity but offers little value.  On the other hand, it&lt;br/&gt;can be really handy to know that key #0 for this address is always Bob&amp;#39;s&lt;br/&gt;key, regardless of how deep the chaining goes.&lt;br/&gt;&lt;br/&gt;Mike&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; -Alan&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; On 03/26/2014 07:37 PM, Andreas Schildbach wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks for starting the discussion on finding a better structure.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For me, the most important thing is either we&amp;#39;re 100% interoperable or&lt;br/&gt;&amp;gt; 0%. There should not be anything inbetween, as users will delete seeds&lt;br/&gt;&amp;gt; without knowing there is still money in them on another implementation.&lt;br/&gt;&amp;gt; I heard from multiple sources that using this standard some wallets will&lt;br/&gt;&amp;gt; only see a subset of the addresses/keys of some other wallets.&lt;br/&gt;&amp;gt; Implementation differences can always happen (and should addresses as&lt;br/&gt;&amp;gt; bugs), but I think its unacceptable that this source of issues is by design.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I suggest we agree on an even simpler least common denominator and&lt;br/&gt;&amp;gt; wallets that want to implement some feature on top of that can do but&lt;br/&gt;&amp;gt; are encouraged to pick a totally different &amp;#34;cointype&amp;#34;. I guess that&lt;br/&gt;&amp;gt; would mean removing reserved and account.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m still thinking it might be a good idea to have a separate chain for&lt;br/&gt;&amp;gt; &amp;#34;refunds&amp;#34;. Refunds will be rarely used and thus need a much slower&lt;br/&gt;&amp;gt; moving window than receiving addresses or change.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 03/26/2014 09:49 PM, Mike Hearn wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  Myself, Thomas V (Electrum) and Marek (Trezor) got together to make sure&lt;br/&gt;&amp;gt; our BIP32 wallet structures would be compatible - and I discovered that&lt;br/&gt;&amp;gt; only I was planning to use the default structure.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Because I&amp;#39;m hopeful that we can get a lot of interoperability between&lt;br/&gt;&amp;gt; wallets with regards to importing 12-words paper wallets, we&lt;br/&gt;&amp;gt; brainstormed to find a structure acceptable to everyone and ended up with:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   /m/cointype/reserved&amp;#39;/account&amp;#39;/change/n&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The extra levels require some explanation:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * cointype:  This is zero for Bitcoin. This is here to support two&lt;br/&gt;&amp;gt;     things, one is supporting alt coins based off the same root seed.&lt;br/&gt;&amp;gt;     Right now nobody seemed very bothered about alt coins but sometimes&lt;br/&gt;&amp;gt;     feature requests do come in for this. Arguably there is no need and&lt;br/&gt;&amp;gt;     alt coins could just use the same keys as Bitcoin, but it may help&lt;br/&gt;&amp;gt;     avoid confusion if they don&amp;#39;t.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     More usefully, cointype can distinguish between keys intended for&lt;br/&gt;&amp;gt;     things like multisig outputs, e.g. for watchdog services. This means&lt;br/&gt;&amp;gt;     if your wallet does not know about the extra protocol layers&lt;br/&gt;&amp;gt;     involved in this, it can still import the &amp;#34;raw&amp;#34; money and it will&lt;br/&gt;&amp;gt;     just ignore/not see the keys used in more complex transactions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * reserved is for &amp;#34;other stuff&amp;#34;. I actually don&amp;#39;t recall why we ended&lt;br/&gt;&amp;gt;     up with this. It may have been intended to split out multisig&lt;br/&gt;&amp;gt;     outputs etc from cointype. Marek, Thomas?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * account is for keeping essentially wallets-within-a-wallet to avoid&lt;br/&gt;&amp;gt;     mixing of coins. If you want that.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * change is 0 for receiving addresses, 1 for change addresses.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   * n is the actual key index&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For bitcoinj we&amp;#39;re targeting a deliberately limited feature set for hdw&lt;br/&gt;&amp;gt; v1 so I would just set the first three values all to zero and that is a&lt;br/&gt;&amp;gt; perfectly fine way to be compatible.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The goal here is that the same seed can be written down once, and meet&lt;br/&gt;&amp;gt; all the users needs, whilst still allowing some drift between what&lt;br/&gt;&amp;gt; wallets support.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Pieter made the I think valid point that you can&amp;#39;t really encode how&lt;br/&gt;&amp;gt; keys are meant to be used into just an HDW hierarchy and normally you&amp;#39;d&lt;br/&gt;&amp;gt; need some metadata as well. However, I feel interop between wallets is&lt;br/&gt;&amp;gt; more important than arriving at the most perfect possible arrangement,&lt;br/&gt;&amp;gt; which feels a little like bikeshedding, so I&amp;#39;m happy to just go with the&lt;br/&gt;&amp;gt; flow on this one.&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;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing listBitcoin-development at lists.sourceforge.net&lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing listBitcoin-development at lists.sourceforge.net&lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&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; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&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/20140326/3f6fcb3b/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140326/3f6fcb3b/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T15:16:13Z</updated>
  </entry>

</feed>