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




  <entry>
    <id>https://nostr.ae/nevent1qqszcdk2vrzmzdm5dpsr6fj6dkux26ysld7ldzqs55cwmvg0ylnk0zqzyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f2d63x6w</id>
    
      <title type="html">📅 Original date posted:2016-08-16 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszcdk2vrzmzdm5dpsr6fj6dkux26ysld7ldzqs55cwmvg0ylnk0zqzyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f2d63x6w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs96rc9nsw4rmnetwmzugchgz4sq3eh4d2khhejsfgq2zy0w6s3cvqyyw0nl&#39;&gt;nevent1q…w0nl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-16&lt;br/&gt;📝 Original message:Hello Jonas,&lt;br/&gt;&lt;br/&gt;thanks for your efforts of writing the draft for the standard.&lt;br/&gt;&lt;br/&gt;First, this only describes detached signing.  A wallet also needs to&lt;br/&gt;connect with a hardware wallet at some time to learn the xpubs&lt;br/&gt;controlled by the hardware.  Do you plan to have this in a separate&lt;br/&gt;standard or should this also be included here?  Basically one needs one&lt;br/&gt;operation: get xpub for an HD path.&lt;br/&gt;&lt;br/&gt;From a first read over the specification I found the following points&lt;br/&gt;missing, that a fully checking hardware wallet needs to know:&lt;br/&gt;&lt;br/&gt;- the amount spent by each input (necessary for segwit).&lt;br/&gt;- the full serialized input transactions (without witness informations)&lt;br/&gt;to prove that the amount really matches (this is not necessary for segwit)&lt;br/&gt;- the position of the change output and its HD Path (to verify that it&lt;br/&gt;really is a change output).&lt;br/&gt;- For multisig change addresses, there are more extensive checks&lt;br/&gt;necessary:  All inputs must be multisig addresses signed with public&lt;br/&gt;keys derived from the same set of xpubs as the change address and use&lt;br/&gt;the same &amp;#34;m of n&amp;#34; scheme.  So for multisig inputs and multisig change&lt;br/&gt;address the standard should allow to give the parent xpubs of the other&lt;br/&gt;public keys and their derivation paths.&lt;br/&gt;&lt;br/&gt;It is also a bit ambiguous what the &amp;#34;inputscript&amp;#34; is especially for p2sh&lt;br/&gt;transactions.  Is this always the scriptPubKey of the transaction output&lt;br/&gt;that is spent by this input? For p2wsh nested in BIP16 p2sh transactions&lt;br/&gt;there are three scripts&lt;br/&gt;&lt;br/&gt;    witness:      0 &amp;lt;signature1&amp;gt; &amp;lt;1 &amp;lt;pubkey1&amp;gt; &amp;lt;pubkey2&amp;gt; 2 CHECKMULTISIG&amp;gt;&lt;br/&gt;    scriptSig:    &amp;lt;0 &amp;lt;32-byte-hash&amp;gt;&amp;gt;&lt;br/&gt;                  (0x220020{32-byte-hash})&lt;br/&gt;    scriptPubKey: HASH160 &amp;lt;20-byte-hash&amp;gt; EQUAL&lt;br/&gt;                  (0xA914{20-byte-hash}87)&lt;br/&gt; (quoted from BIP-141).&lt;br/&gt;&lt;br/&gt;In principle one could put witness and scriptSig (with &amp;#34;OP_FALSE&amp;#34; in&lt;br/&gt;places of the signatures) in the raw transaction and make inputscript&lt;br/&gt;always the scriptPubKey of the corresponding output.  Then one also&lt;br/&gt;doesn&amp;#39;t need to distinguish between p2pkh or p2sh or p2wpkh or &amp;#34;p2wpkh&lt;br/&gt;nested in bip16 p2sh&amp;#34; transactions.&lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;  Jochen&lt;br/&gt;&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: 213 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/37adb191/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160816/37adb191/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:52:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv8qn8fhm6rdvmzzg8r7dk632hqfdqm5qm6j4q3teks8304j934jgzyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f29ljmmc</id>
    
      <title type="html">📅 Original date posted:2016-05-14 📝 Original message:Am ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv8qn8fhm6rdvmzzg8r7dk632hqfdqm5qm6j4q3teks8304j934jgzyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f29ljmmc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp8xxgn2jx6e7axaemjzqgen69298la2aedwq96qm7373dgzd7xacpgh9sj&#39;&gt;nevent1q…h9sj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-14&lt;br/&gt;📝 Original message:Am 14.05.2016 um 10:16 schrieb Jonas Schnelli via bitcoin-dev:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Importing a bip32 wallet (bip44 or not) is still an expert job IMO.&lt;br/&gt;&amp;gt; Also importing can lead to bad security practice (especially without a&lt;br/&gt;&amp;gt; sweep).&lt;br/&gt;&lt;br/&gt;One important use case is importing xpubs for watch-only accounts. This&lt;br/&gt;is necessary for hardware wallets and there are other valid use cases&lt;br/&gt;for this.&lt;br/&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Users will send around xpriv or import an seed over a compromised&lt;br/&gt;&amp;gt; computer to a cold storage, etc.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t think users want to import private keys.&lt;br/&gt;&amp;gt; They probably want to import the transaction history and send all funds&lt;br/&gt;&amp;gt; covered by that seed to a new wallet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Yes, in general it is not a good idea to import private keys and many&lt;br/&gt;wallets don&amp;#39;t even have an option to give out the xprv (except&lt;br/&gt;indirectly via the backup mechanism).  But even when sweeping a&lt;br/&gt;bip-44&#43;segwit wallet you need to know where the segwit addresses are.&lt;br/&gt;&lt;br/&gt;  Jochen
    </content>
    <updated>2023-06-07T19:50:42&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd9n4egrvwdp06luu4m46sg8nm0y7yy2tajtsmyht5364vvdk0v9czyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f2f5l8s3</id>
    
      <title type="html">📅 Original date posted:2016-04-20 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd9n4egrvwdp06luu4m46sg8nm0y7yy2tajtsmyht5364vvdk0v9czyp0nyh32rp6s88mejw4yf7h25gf7ylerdufc3g22uppgn5x8g27f2f5l8s3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs85z04k9jsmzlerhhgtgy7k3htvdvpxrj9vatl9f00wp7h0wv7heget6u9a&#39;&gt;nevent1q…6u9a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-04-20&lt;br/&gt;📝 Original message:Hello Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;I would like to make a proposal to update BIP-32 in a small way.&lt;br/&gt;&lt;br/&gt;TL;DR: BIP-32 is hard to use right (due to its requirement to skip&lt;br/&gt;addresses).  This proposal suggests a modification such that the&lt;br/&gt;difficulty can be encapsulated in the library.&lt;br/&gt;&lt;br/&gt;#MOTIVATION:&lt;br/&gt;&lt;br/&gt;The current BIP-32 specifies that if for some node in the hierarchy&lt;br/&gt;the computed hash I_L is larger or equal to the prime or 0, then the&lt;br/&gt;node is invalid and should be skipped in the BIP-32 tree.  This has&lt;br/&gt;several unfortunate consequences:&lt;br/&gt;&lt;br/&gt;- All callers of CKDpriv or CKDpub have to check for errors and handle&lt;br/&gt;  them appropriately.  This shifts the burden to the application&lt;br/&gt;  developer instead of being able to handle it in the BIP-32 library.&lt;br/&gt;&lt;br/&gt;- It is not clear what to do if an intermediate node is&lt;br/&gt;  missing. E.g. for the default wallet layout, if m/i_H/0 is missing&lt;br/&gt;  should m/i_H/1 be used for external chain and m/i_H/2 for internal&lt;br/&gt;  chain?  This would make the wallet handling much more difficult.&lt;br/&gt;&lt;br/&gt;- It gets even worse with standards like BIP-44.  If m/44&amp;#39; is missing&lt;br/&gt;  should we use m/45&amp;#39; instead?  If m/44&amp;#39;/0&amp;#39; is missing should we use&lt;br/&gt;  m/44&amp;#39;/1&amp;#39; instead, using the same addresses as for testnet?&lt;br/&gt;  One could also restart with a different seed in this case, but this&lt;br/&gt;  wouldn&amp;#39;t work if one later wants to support another BIP-43 proposal&lt;br/&gt;  and still keep the same wallet.&lt;br/&gt;&lt;br/&gt;I think the first point alone is reason enough to change this.  I am&lt;br/&gt;not aware of a BIP-32 application that handles errors like this&lt;br/&gt;correctly in all cases.  It is also very hard to test, since it is&lt;br/&gt;infeasible to brute-force a BIP-32 key and a path where the node does&lt;br/&gt;not exists.&lt;br/&gt;&lt;br/&gt;This problem can be avoided by repeating the hashing with slightly&lt;br/&gt;different input data until a valid private key is found.  This would&lt;br/&gt;be in the same spirit as RFC-6979.  This way, the library will always&lt;br/&gt;return a valid node for all paths.  Of course, in the case where the&lt;br/&gt;node is valid according to the current standard the behavior should be&lt;br/&gt;unchanged.&lt;br/&gt;&lt;br/&gt;I think the backward compatibility issues are minimal.  The chance&lt;br/&gt;that this affects anyone is less than 10^-30.  Even if it happens, it&lt;br/&gt;would only create some additional addresses (that are not seen if the&lt;br/&gt;user downgrades).  The main reason for suggesting a change is that we&lt;br/&gt;want a similar method for different curves where a collision is much&lt;br/&gt;more likely.&lt;br/&gt;&lt;br/&gt;#QUESTIONS:&lt;br/&gt;&lt;br/&gt;What is the procedure to update the BIP?  Is it still possible to&lt;br/&gt;change the existing BIP-32 even though it is marked as final?  Or&lt;br/&gt;should I make a new BIP for this that obsoletes BIP-32?&lt;br/&gt;&lt;br/&gt;What algorithm is preferred? (bike-shedding)  My suggestion:&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;Change the last step of the private -&amp;gt; private derivation functions to:&lt;br/&gt;&lt;br/&gt; . In case parse(I_L) &amp;gt;= n or k_i = 0, the procedure is repeated&lt;br/&gt;   at step 2 with&lt;br/&gt;    I = HMAC-SHA512(Key = c_par, Data = 0x01 || I_R || ser32(i))&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;I think this suggestion is simple to implement (a bit harder to unit&lt;br/&gt;test) and the string to hash with HMAC-SHA512 always has the same&lt;br/&gt;length.  I use I_R, since I_L is obviously not very random if I_L &amp;gt;= n.&lt;br/&gt;There is a minimal chance that it will lead to an infinite loop if I_R&lt;br/&gt;is the same in two consecutive iterations, but that has only a chance&lt;br/&gt;of 1 in 2^512 (if the algorithm is used for different curves that make&lt;br/&gt;I_L &amp;gt;= n more likely, the chance is still less than 1 in 2^256).  In&lt;br/&gt;theory, this loop can be avoided by incrementing i in every iteration,&lt;br/&gt;but this would make an implementation error in the &amp;#34;hard to test&amp;#34; path&lt;br/&gt;of the program more likely.&lt;br/&gt;&lt;br/&gt;The other derivation functions should be updated in a similar matter.&lt;br/&gt;Also the derivation of the root node from the seed should be updated&lt;br/&gt;in a similar matter to avoid invalid seeds.&lt;br/&gt;&lt;br/&gt;If you followed until here, thanks for reading this long posting.&lt;br/&gt;&lt;br/&gt;  Jochen
    </content>
    <updated>2023-06-07T19:50:09&#43;02:00</updated>
  </entry>

</feed>