<oembed><type>rich</type><version>1.0</version><author_name>npub1798ncudyucap9jzzujjsgufx8tdykm8auzfledjcs6f6wf4ekqvq8lpmjt</author_name><author_url>https://nostr.ae/npub1798ncudyucap9jzzujjsgufx8tdykm8auzfledjcs6f6wf4ekqvq8lpmjt</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-03-12&#xA;📝 Original message:Den 12 mar 2015 17:48 skrev &#34;Mike Hearn&#34; &lt;mike at plan99.net&gt;:&#xA;&gt;&gt;&#xA;&gt;&gt; b) &#34;Creation date&#34; is just a short-term hack.&#xA;&gt;&#xA;&gt;&#xA;&gt; I agree, but we need things to be easy in the short term as well as the&#xA;long term :)&#xA;&gt;&#xA;&gt; The long term solution is clearly to have the 12 word seed be an&#xA;encryption key for a wallet backup with all associated metadata. We&#39;re&#xA;heading in that direction one step at a time. Unfortunately it will take&#xA;time for wallets to start working this way, and all the pieces to fall into&#xA;place. Restoring from the block chain will be a semi regular operation for&#xA;users until then.&#xA;&#xA;This have been mentioned a few times before, and what I think is necessary&#xA;is to create a common file format that can be interpreted by a library&#xA;which all wallets can use. I see it as similar as the work to create&#xA;libconsensus for parsing the blockchain.&#xA;&#xA;We need something extensible that can describe how to derive all addresses&#xA;used by the user. What HD branches to derive and how, with block numbers&#xA;(or bloom filters of block hashes or similar) to note where all previously&#xA;known transactions related to the wallet have occurred, and the last known&#xA;block (so only new blocks need to be scanned).&#xA;&#xA;A way to describe one HD tree as a multisignature wallet tied to a hardware&#xA;wallet if you have that (could include serial number or MAC of the device&#xA;for simple identification by the wallet client). A way to describe another&#xA;set of addresses as using a custom extension. A way to denote one private&#xA;key as being used for stealth addresses together with details for how to&#xA;identify the transactions (prefix, mailbox to look in, etc). Labels for&#xA;transactions. P2SH script templates so those addresses can be recovered. A&#xA;way to describe Copay style multisignature wallets and what server to use&#xA;for coordinating with the other coowners. A way to describe threshold&#xA;crypto group signature wallets and how to coordinate. Computer parsable&#xA;descriptions of HD branches as change addresses, as being used for&#xA;receiving payments in merchant payment systems, etc... Also, you should&#xA;really be talking to people like accountants and auditors to see what&#xA;features they&#39;d like to see when it comes to things like how company&#xA;wallets could have rules defined for how to use the various HD branches.&#xA;&#xA;And so on... I think you get my point by now.&#xA;&#xA;The basic idea is that the wallet uses the library to parse the wallet file&#xA;and tells the user which sections it understands (can&#39;t expect all wallets&#xA;to handle custom extensions or stealth addresses, etc), then proceeds to&#xA;scan the blockchain for those addresses. Then the user also won&#39;t be&#xA;surprised that not all funds are found and won&#39;t think they&#39;re lost.&#xA;&#xA;I think it should be referred to as an import/export format, more than as a&#xA;backup format.&#xA;&#xA;You always want the most recent metadata the wallet of origin can provide&#xA;when importing, to reduce unnecessary extra work. You don&#39;t want really old&#xA;backup files. If people add new seeds and various new extensions that can&#39;t&#xA;be automatically recovered from old wallet backups, they need new backups.&#xA;You might as well use the wallet&#39;s own internal formats for backup, as the&#xA;wallet developer might better know how to optimize for the use cases he&#xA;have designed for. But at the same time we should ask wallet developers to&#xA;offer conversion tools to generate export format files from custom wallet&#xA;data files.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150312/8331a17a/attachment.html&gt;</html></oembed>