<oembed><type>rich</type><version>1.0</version><author_name>npub1tjephawh7fdf6358jufuh5eyxwauzrjqa7qn50pglee4tayc2ntqcjtl6r</author_name><author_url>https://nostr.ae/npub1tjephawh7fdf6358jufuh5eyxwauzrjqa7qn50pglee4tayc2ntqcjtl6r</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-04-23&#xA;📝 Original message:On Tue, Apr 8, 2014 at 5:41 PM, slush &lt;slush at centrum.cz&gt; wrote:&#xA;&gt; I&#39;ve discussed the solution of &#34;Litecoin seed&#34; in BIP32 HMAC with Litecoin&#xA;&gt; devs already, and after long discussion we&#39;ve concluded that it is generally&#xA;&gt; bad idea.&#xA;&gt;&#xA;&gt; When changing &#34;Bitcoin seed&#34; constant to something different, same *entropy*&#xA;&gt; will produce different *master node*. That&#39;s actually the opposite what&#39;s&#xA;&gt; requested, because xprv serialization format stores *node*, not *entropy*.&#xA;&gt; By changing HMAC constant, you still won&#39;t be able to store one node and&#xA;&gt; derive wallets for multiple coins at same time.&#xA;&#xA;Storing the seed is superior to storing the master node already&#xA;(whether coin specific or not), as it is smaller.&#xA;&#xA;All this changes is making the seed the &#34;super master&#34; which allows&#xA;generating the coin-specific masters (which get an actual useful&#xA;function: revealing your entire-tree, but only one coin&#39;s subset of&#xA;it).&#xA;&#xA;&gt;&gt; * Every encoded node (including master nodes) has a chain-specific&#xA;&gt;&gt; serialization magic.&#xA;&gt;&gt;&#xA;&gt;&gt; This is in practice almost the same as your suggestion, except that&#xA;&gt;&gt; the m/cointype&#39; in m/cointype&#39;/account&#39;/change/n is replaced by&#xA;&gt;&gt; different masters. The only disadvantage I see is that you do not have&#xA;&gt;&gt; a way to encode the &#34;super master&#34; that is the parent of all&#xA;&gt;&gt; chain-specific masters. You can - and with the same security&#xA;&gt;&gt; properties - encode the seed, though.&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; Actually I don&#39;t understand why there&#39;s such disagreement about &#34;cointype&#34;&#xA;&gt; level here, what it breaks? I see it as the cleanest solution so far. It is&#xA;&gt; forward and backward compatible, does need any special extension to bip32&#xA;&gt; (to be strict, bip32 says &#34;Bitcoin seed&#34;, so client using &#34;Litecoin seed&#34;&#xA;&gt; cannot be &#34;bip32 compatible&#34;).&#xA;&#xA;Fair enough, it would break strictly BIP32. Then again, BIP32 is a&#xA;*Bitcoin* improvement proposal, and not something that necessarily&#xA;applies to other coins (they can adopt it of course, I don&#39;t care).&#xA;&#xA;What I dislike is that this removes the ability of using the magic in&#xA;the serialization to prevent importing a chain from the wrong coin.&#xA;The standard could just say that instead of &#34;Bitcoin seed&#34;, you&#39;d use&#xA;&#34;Coin seed: &#34; + magic, so you don&#39;t need an extra mapping from&#xA;cointype to seed strings.&#xA;&#xA;-- &#xA;Pieter</html></oembed>