<oembed><type>rich</type><version>1.0</version><author_name>npub1sm6zhjmk5scuz294jmpkw99wwwjzetjgwp4fu4gn6utqgdz87hkqamnq7h</author_name><author_url>https://nostr.ae/npub1sm6zhjmk5scuz294jmpkw99wwwjzetjgwp4fu4gn6utqgdz87hkqamnq7h</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-03-26&#xA;📝 Original message:This might be tangential, but the comment about &#34;refund&#34; chains reminded&#xA;me.  Armory will be implementing multi-sig/linked wallets where a each&#xA;device has a parallel HDW branch and produces P2SH addresses.  For those&#xA;types of wallets, I plan to allocate two chains /per signing&#xA;authority/.  If you have a shared 2-of-2 wallet split between your phone&#xA;and your spouse&#39;s phone, your phone would distribute addresses on P2SH&#xA;chain 0 and generate change addresses on P2SH chain 1.  Your spouse&#39;s&#xA;phone would use chains 2 and 3.&#xA;&#xA;So if you and your spouse switch to a new app that supports M-of-N&#xA;linked wallets, it should search for coin history along the first 2*N&#xA;chains.&#xA;-Alan&#xA;&#xA;&#xA;&#xA;On 03/26/2014 07:37 PM, Andreas Schildbach wrote:&#xA;&gt; Thanks for starting the discussion on finding a better structure.&#xA;&gt;&#xA;&gt; For me, the most important thing is either we&#39;re 100% interoperable or&#xA;&gt; 0%. There should not be anything inbetween, as users will delete seeds&#xA;&gt; without knowing there is still money in them on another implementation.&#xA;&gt; I heard from multiple sources that using this standard some wallets will&#xA;&gt; only see a subset of the addresses/keys of some other wallets.&#xA;&gt; Implementation differences can always happen (and should addresses as&#xA;&gt; bugs), but I think its unacceptable that this source of issues is by design.&#xA;&gt;&#xA;&gt; I suggest we agree on an even simpler least common denominator and&#xA;&gt; wallets that want to implement some feature on top of that can do but&#xA;&gt; are encouraged to pick a totally different &#34;cointype&#34;. I guess that&#xA;&gt; would mean removing reserved and account.&#xA;&gt;&#xA;&gt; I&#39;m still thinking it might be a good idea to have a separate chain for&#xA;&gt; &#34;refunds&#34;. Refunds will be rarely used and thus need a much slower&#xA;&gt; moving window than receiving addresses or change.&#xA;&gt;&#xA;&gt;&#xA;&gt; On 03/26/2014 09:49 PM, Mike Hearn wrote:&#xA;&gt;&gt; Myself, Thomas V (Electrum) and Marek (Trezor) got together to make sure&#xA;&gt;&gt; our BIP32 wallet structures would be compatible - and I discovered that&#xA;&gt;&gt; only I was planning to use the default structure.&#xA;&gt;&gt;&#xA;&gt;&gt; Because I&#39;m hopeful that we can get a lot of interoperability between&#xA;&gt;&gt; wallets with regards to importing 12-words paper wallets, we&#xA;&gt;&gt; brainstormed to find a structure acceptable to everyone and ended up with:&#xA;&gt;&gt;&#xA;&gt;&gt;   /m/cointype/reserved&#39;/account&#39;/change/n&#xA;&gt;&gt;&#xA;&gt;&gt; The extra levels require some explanation:&#xA;&gt;&gt;&#xA;&gt;&gt;   * cointype:  This is zero for Bitcoin. This is here to support two&#xA;&gt;&gt;     things, one is supporting alt coins based off the same root seed.&#xA;&gt;&gt;     Right now nobody seemed very bothered about alt coins but sometimes&#xA;&gt;&gt;     feature requests do come in for this. Arguably there is no need and&#xA;&gt;&gt;     alt coins could just use the same keys as Bitcoin, but it may help&#xA;&gt;&gt;     avoid confusion if they don&#39;t.&#xA;&gt;&gt;&#xA;&gt;&gt;     More usefully, cointype can distinguish between keys intended for&#xA;&gt;&gt;     things like multisig outputs, e.g. for watchdog services. This means&#xA;&gt;&gt;     if your wallet does not know about the extra protocol layers&#xA;&gt;&gt;     involved in this, it can still import the &#34;raw&#34; money and it will&#xA;&gt;&gt;     just ignore/not see the keys used in more complex transactions.&#xA;&gt;&gt;&#xA;&gt;&gt;   * reserved is for &#34;other stuff&#34;. I actually don&#39;t recall why we ended&#xA;&gt;&gt;     up with this. It may have been intended to split out multisig&#xA;&gt;&gt;     outputs etc from cointype. Marek, Thomas?&#xA;&gt;&gt;&#xA;&gt;&gt;   * account is for keeping essentially wallets-within-a-wallet to avoid&#xA;&gt;&gt;     mixing of coins. If you want that.&#xA;&gt;&gt;&#xA;&gt;&gt;   * change is 0 for receiving addresses, 1 for change addresses.&#xA;&gt;&gt;&#xA;&gt;&gt;   * n is the actual key index&#xA;&gt;&gt;&#xA;&gt;&gt; For bitcoinj we&#39;re targeting a deliberately limited feature set for hdw&#xA;&gt;&gt; v1 so I would just set the first three values all to zero and that is a&#xA;&gt;&gt; perfectly fine way to be compatible.&#xA;&gt;&gt;&#xA;&gt;&gt; The goal here is that the same seed can be written down once, and meet&#xA;&gt;&gt; all the users needs, whilst still allowing some drift between what&#xA;&gt;&gt; wallets support.&#xA;&gt;&gt;&#xA;&gt;&gt; Pieter made the I think valid point that you can&#39;t really encode how&#xA;&gt;&gt; keys are meant to be used into just an HDW hierarchy and normally you&#39;d&#xA;&gt;&gt; need some metadata as well. However, I feel interop between wallets is&#xA;&gt;&gt; more important than arriving at the most perfect possible arrangement,&#xA;&gt;&gt; which feels a little like bikeshedding, so I&#39;m happy to just go with the&#xA;&gt;&gt; flow on this one.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; ------------------------------------------------------------------------------&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; Bitcoin-development mailing list&#xA;&gt;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt;&#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; _______________________________________________&#xA;&gt; Bitcoin-development mailing list&#xA;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140326/35055a7c/attachment.html&gt;</html></oembed>