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




  <entry>
    <id>https://nostr.ae/nevent1qqs97kehfhlshfug94ywc6pfkgaf6229eu4gulljlmugh6lpss3fflqzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncr34jdc</id>
    
      <title type="html">📅 Original date posted:2021-05-23 📝 Original message:As far ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs97kehfhlshfug94ywc6pfkgaf6229eu4gulljlmugh6lpss3fflqzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncr34jdc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgusrw03u4rhxp0xf7rvtc6ey0q5q568guvyx6tnrv0rzq8u70c7ckx5g5s&#39;&gt;nevent1q…5g5s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-05-23&lt;br/&gt;📝 Original message:As far as I know, P2TR address contains 32-byte public key. It can be used directly by creating Schnorr signature or indirectly, by revealing tapscript. Does it mean that any taproot output could be modified on-the-fly after being confirmed without changing an address? I mean, if we have base point as the private key with P2TR address tb1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqqzj3dz, then the owner of that key can modify spending conditions without moving on-chain coins?&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/20210523/ef943c18/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210523/ef943c18/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T00:54:05&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvxg2sf8e9dwddl4xkpghyg6jrpdu3k8vvl5sutnfsjmk88k5q3fczyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncfjh0z2</id>
    
      <title type="html">📅 Original date posted:2021-05-23 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvxg2sf8e9dwddl4xkpghyg6jrpdu3k8vvl5sutnfsjmk88k5q3fczyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncfjh0z2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0srgyssfkg5m8qtvsxsmhyem5mxudls7afzq2ufvth9rlya2y0yqgtdn3m&#39;&gt;nevent1q…dn3m&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-05-23&lt;br/&gt;📝 Original message:&amp;gt; Perhaps the only things that cannot be usefully changed in a softfork is the block header format and how proof-of-work is computed from the block header.&lt;br/&gt;&lt;br/&gt;Why not? I can imagine a soft fork where the block header would contain SHA-256 and SHA-3 hashes in the same place. The SHA-256 would be calculated as-is, but the SHA-3 would be truncated only to cover zero bits in SHA-256 hashes. In this way, if SHA-256 would be totally broken, old nodes would see zero hashes in the previous block hash and the merkle tree hash, but the new nodes would see correct SHA-3 hashes in the same place. So, for example if we have 1d00ffff difficulty, the first 32-bits would be zeroes for all old nodes, but all new nodes would see SHA-3 truncated to 32-bits in the same place. The difficulty could tell us how many zero bits we should truncate our SHA-3 result to. Also, in the same way we could introduce SHA-4 in the future as a soft-fork if SHA-3 would be broken and we would see many zero bits in our mixed SHA-256 plus SHA-3 consensus.&lt;br/&gt;&lt;br/&gt;On 2021-05-23 13:01:32 user ZmnSCPxj via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; Good morning Jorge, et al,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Hardforks can be useful too.&lt;br/&gt;&amp;gt; &amp;gt; But, yes, I agree softforks are preferable whenever possible.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I think in principle the space of possible softforks is very much wider than can be trivially expected.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; For instance, maaku7 once proposed a softfork that could potentially change the block discovery rate as a softfork.&lt;br/&gt;&amp;gt; Although this required exploiting a consensus bug that has since been closed.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The example of SegWit shows us that we can in fact create massive changes to the transaction and block formats with a softfork.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; For example, it is possible to change the Merkle Tree to use SHA3 instead, in a softfork, by requiring that miners no longer use the &amp;#34;normal&amp;#34; existing Merkle Tree, but instead to require miners to embed a commitment to the SHA3-Merkle-Tree on the coinbase of the &amp;#34;original&amp;#34; block format, and to build &amp;#34;empty&amp;#34; SHA2-Merkle-Trees containing only the coinbase.&lt;br/&gt;&amp;gt; To unupgraded nodes it looks as if there is a denial-of-service attack permanently, while upgraded nodes will seek blocks that conform to the SHA3-Merkle-Tree embedded in the coinbase.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; (Do note that this definition of &amp;#34;softfork&amp;#34; is the &amp;#34;&amp;gt; 50% of miners is enough to pull everyone to the fork&amp;#34;.&lt;br/&gt;&amp;gt; Some thinkers have a stricter definition of &amp;#34;softfork&amp;#34; as &amp;#34;non-upgraded nodes can still associate addresses to values in the UTXO set but might not be able to detect consensus rules violations in new address types&amp;#34;, which fits SegWit and Taproot.)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; (In addition, presumably the reason to switch to SHA3 is to avoid potential preimage attacks on SHA2, and the coinbase is still in a SHA2-Merkle-Tree, so... this is a bad example)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Perhaps the only things that cannot be usefully changed in a softfork is the block header format and how proof-of-work is computed from the block header.&lt;br/&gt;&amp;gt; But the flexibility of the coinbase allows us to hook new commitments to new Merkle Trees to it, which allows transactions to be annotated with additional information that is invisible to unupgraded nodes (similar to the `witness` field of SegWit transactions).&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; Even if you *do* have a softfork, we should be reminded to look at the histories of SegWit and Taproot.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; SegWit became controversial later on, which delayed its activation.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On the other hand, Taproot had no significant controversy and it was widely accepted as being a definite improvement to the network.&lt;br/&gt;&amp;gt; Yet its implementation and deployment still took a long time, and there was still controversy on how to properly implement the activation code.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Any hardforks would not only have to go through the hurdles that Taproot and SegWit had to go through, but will *also* have to pass through the much higher hurdle of being a hardfork.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thus, anyone contemplating a hardfork, for any reason, must be prepared to work on it for several **years** before anyone even frowns and says &amp;#34;hmm maybe&amp;#34; instead of everyone just outright dismissing it with a simple &amp;#34;hardfork = hard pass&amp;#34;.&lt;br/&gt;&amp;gt; As a simple estimate, I would assume that any hardfork would require twice the average amount of engeineering-manpower involved in SegWit and Taproot.&lt;br/&gt;&amp;gt; (this assumes that hardforks are only twice as hard as softforks --- this estimate may be wrong, and this might provide only a minimum rather than an expected average)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; There are no quick solutions in this space.&lt;br/&gt;&amp;gt; Either we work with what we have and figure out how to get around issues with no real capability to fix them at the base layer, or we have insight on future problems and start working on future solutions today.&lt;br/&gt;&amp;gt; For example, I know at least one individual was maintaining an &amp;#34;emergency&amp;#34; branch to add some kind of post-quantum signature scheme to Bitcoin, in case of a quantum break.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-08T00:53:52&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswpydnsd9yr0jtnvc4wf36yjmadth8twpy9xm8hdwrjw88yzrywlszyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncerwgv0</id>
    
      <title type="html">📅 Original date posted:2021-03-20 📝 Original message:So, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswpydnsd9yr0jtnvc4wf36yjmadth8twpy9xm8hdwrjw88yzrywlszyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncerwgv0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqucjnvsrlru9sgzme75eesnkltpvhzekrr2gmnl6ck289u8kra3q7wg2ya&#39;&gt;nevent1q…g2ya&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-20&lt;br/&gt;📝 Original message:So, things have to be complicated to be secure? By definition, using some private key, calculating some public key from it and incrementing that key is secure (it is definitely no worse than address reuse). The only problem with using &amp;#34;privKey&amp;#34;, &amp;#34;(privKey&#43;1) mod n&amp;#34;, &amp;#34;(privKey&#43;2) mod n&amp;#34; and so on is that all of those public keys could be easily linked together. If that is the only problem, then by making offset deterministic but less predictable, it should be secure enough, right? So, instead of simple incrementation, we would have &amp;#34;privKey&amp;#34; (parent), &amp;#34;(privKey&#43;firstOffset) mod n&amp;#34; (first child), &amp;#34;(privKey&#43;secondOffset) mod n&amp;#34; (second child) and so on. And as long as this offset is not guessed by the attacker, it is impossible to link all of those keys together, right?&lt;br/&gt;&lt;br/&gt;&amp;gt; On 2021-03-20 11:08:30 user Tim Ruffing &amp;lt;crypto at timruffing.de&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; On Fri, 2021-03-19 at 20:46 &#43;0100, vjudeu via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; is it safe enough to implement it and use in practice?&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; This may be harsh but I can assure you that a HD wallet scheme that can&lt;br/&gt;&amp;gt; &amp;gt; be specified in 3 lines (without even specifying what the security&lt;br/&gt;&amp;gt; &amp;gt; goals are) should not be assumed safe to implement.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Tim &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T20:31:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs987jkqm4hw2mrzwljwckma4a9hnk79q0a6ctanajf0u6ytmc0meqzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncw8nfn0</id>
    
      <title type="html">📅 Original date posted:2021-03-22 📝 Original message:&amp;gt; I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs987jkqm4hw2mrzwljwckma4a9hnk79q0a6ctanajf0u6ytmc0meqzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncw8nfn0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp6m478g88fcasmpc06jhfdhaaw6cw5pzfnwg9uemk0ceu4t8gmuqm5f8uf&#39;&gt;nevent1q…f8uf&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-22&lt;br/&gt;📝 Original message:&amp;gt; I can&amp;#39;t really answer that question because it&amp;#39;s not specified how &amp;#34;nonce&amp;#34; is obtained.&lt;br/&gt;&lt;br/&gt;Nonce depends directly on your derivation path. By default, you can just start from 256-bit zero value and increment it if you want standard derivation path. But optionally it can be something else that is unique, for example username. So, if you have &amp;#34;0/0/0/0&amp;#34; derivation path, then you have four nonces with 256-bit zero each time. But if you have &amp;#39;0/&amp;#34;bitcointalk.org&amp;#34;/5321992/&amp;#34;coinlatte&amp;#34;&amp;#39; derivation path (as mentioned by the author of this scheme), then your first nonce is 256-bit zero value, your second nonce is SHA-256 of &amp;#34;bitcointalk.org&amp;#34;, which is f245bd5620ee79314f48d9e9641a5406bd03745f6ac516e2801ef6ccbfe40ced, your third nonce is 0000000000000000000000000000000000000000000000000000000000513508 and your fourth nonce is 314870494d3a9136ba0a67ceb33534cbd438e982105d20cc076204c6fc99594d. There is an example in mentioned topic here: &lt;a href=&#34;https://bitcointalk.org/index.php?topic=5321992.msg56503261#msg56503261&#34;&gt;https://bitcointalk.org/index.php?topic=5321992.msg56503261#msg56503261&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; the master private key is involved in the derivation of &amp;#34;nonce&amp;#34; (then &amp;#34;nonce&amp;#34; may be unpredictable)&lt;br/&gt;&lt;br/&gt;It is impossible, because having some parent public key should be enough to derive child public keys. But even if you know the nonce, you have no idea what masterPublicKey was used in SHA-256 (that is the thing you are looking for if you try to link addresses together).&lt;br/&gt;&lt;br/&gt;To see how difficult it is to get some parent key from some child key, you can try going up the tree in the mentioned example. SHA-256 empty string is e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, but if used directly, that leads us to some key starting with 03 prefix, so we should negate it and get 1c4f3bbd6703e3eb65040b37669046da93009b024aad0cef1b3cc57157e388ec. Then, we have our child key 02 a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd and to break this scheme and prove that going to the parent key is possible, we have to find something like this:&lt;br/&gt;&lt;br/&gt;masterPublicKey = attackerPublicKey &#43; SHA256(attackerPublicKey || nonce)&lt;br/&gt;&lt;br/&gt;02 a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd = attackerPublicKey &#43; SHA-256(attackerPublicKey || 0000000000000000000000000000000000000000000000000000000000000000)&lt;br/&gt;&lt;br/&gt;For me, it seems that finding attackerPublicKey here is impossible. Of course the absence of solution does not mean that it is secure, but I think it is a good example to show how strong this scheme is.&lt;br/&gt;&lt;br/&gt;On 2021-03-21 22:45:19 user Tim Ruffing &amp;lt;crypto at timruffing.de&amp;gt; wrote:&lt;br/&gt;&amp;gt; On Sat, 2021-03-20 at 21:25 &#43;0100, vjudeu via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; So, things have to be complicated to be secure?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Not at all. But we first need to spend some thoughts on what &amp;#34;secure&amp;#34;&lt;br/&gt;&amp;gt; means before we can tell if something is secure.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;  By definition, using some private key, calculating some public key&lt;br/&gt;&amp;gt; &amp;gt; from it and incrementing that key is secure (it is definitely no&lt;br/&gt;&amp;gt; &amp;gt; worse than address reuse). &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If secure means that it does not hurt the unforgeability of ECDSA, then&lt;br/&gt;&amp;gt; I believe you&amp;#39;re right.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; The only problem with using &amp;#34;privKey&amp;#34;, &amp;#34;(privKey&#43;1) mod n&amp;#34;,&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;(privKey&#43;2) mod n&amp;#34; and so on is that all of those public keys could&lt;br/&gt;&amp;gt; &amp;gt; be easily linked together. If that is the only problem, then by&lt;br/&gt;&amp;gt; &amp;gt; making offset deterministic but less predictable, it should be secure&lt;br/&gt;&amp;gt; &amp;gt; enough, right? So, instead of simple incrementation, we would have&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;privKey&amp;#34; (parent), &amp;#34;(privKey&#43;firstOffset) mod n&amp;#34; (first child),&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;(privKey&#43;secondOffset) mod n&amp;#34; (second child) and so on. And as long&lt;br/&gt;&amp;gt; &amp;gt; as this offset is not guessed by the attacker, it is impossible to&lt;br/&gt;&amp;gt; &amp;gt; link all of those keys together, right?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I believe this intuition is also a good first approach. So let&amp;#39;s have a&lt;br/&gt;&amp;gt; look:  You say that offset = SHA256(masterPublicKey || nonce). Is this&lt;br/&gt;&amp;gt; predictable by the attacker? &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I can&amp;#39;t really answer that question because it&amp;#39;s not specified how&lt;br/&gt;&amp;gt; &amp;#34;nonce&amp;#34; is obtained.  Since this is supposed to be a deterministic&lt;br/&gt;&amp;gt; scheme, I see two basic ways: Either the master private key is involved&lt;br/&gt;&amp;gt; in the derivation of &amp;#34;nonce&amp;#34; (then &amp;#34;nonce&amp;#34; may be unpredictable) or&lt;br/&gt;&amp;gt; it&amp;#39;s not (then &amp;#34;nonce&amp;#34; is predictable).  &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Another fact that may or not be a problem is that it may be possible to&lt;br/&gt;&amp;gt; compute a parent private key from the a private key. Again, I can&amp;#39;t&lt;br/&gt;&amp;gt; tell because I don&amp;#39;t know how nonce is obtained. 	&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Taking a step back, BIP 32 addresses all of these concerns. I agree it&lt;br/&gt;&amp;gt; could be simpler but I don&amp;#39;t see a practical necessity to invent a new&lt;br/&gt;&amp;gt; scheme. In any application where this proposal could potentially be&lt;br/&gt;&amp;gt; used, BIP 32 could also be used and it&amp;#39;s just good enough.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Tim &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On 2021-03-20 11:08:30 user Tim Ruffing &amp;lt;crypto at timruffing.de&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; On Fri, 2021-03-19 at 20:46 &#43;0100, vjudeu via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; is it safe enough to implement it and use in practice?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; This may be harsh but I can assure you that a HD wallet scheme&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; that can&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; be specified in 3 lines (without even specifying what the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; security&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; goals are) should not be assumed safe to implement.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Tim &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T20:31:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqucjnvsrlru9sgzme75eesnkltpvhzekrr2gmnl6ck289u8kra3qzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncamttdd</id>
    
      <title type="html">📅 Original date posted:2021-03-20 📝 Original message:How ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqucjnvsrlru9sgzme75eesnkltpvhzekrr2gmnl6ck289u8kra3qzyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncamttdd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrzpergw75zcfux638kdvxgt64p670nprrjk5z74khdx4vqm20l8qap2r36&#39;&gt;nevent1q…2r36&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-20&lt;br/&gt;📝 Original message:How length extension attack is possible here? The input of SHA-256 has constant length of 512 bits in this scheme. And if someone will get some child public key, there is still no way to reverse it to the parent public key, because even if the second block of SHA-256 is the same all the times, the attacker still does not know the outcome of SHA-256, so the last round of SHA-256 is unknown and doing calculations backwards seems to be impossible.&lt;br/&gt;&lt;br/&gt;&amp;gt; On 2021-03-20 03:08:39 user Arik Sosman &amp;lt;me at arik.io&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; Hi Erik,&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Would sha256-hmac(nonce, publicKeyPoint) still be a suitable/safe alternative without relying on sha3? That should at the very least eliminate length extension attacks.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Best,&lt;br/&gt;&amp;gt; &amp;gt; Arik&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Mar 19, 2021, at 6:32 PM, Erik Aronesty via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; use sha3-256.  sha256 suffers from certain attacks (length extension,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; for example) that could make your scheme vulnerable to leaking info,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; depending on how you concatenate things, etc.  better to choose&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; something where padding doesn&amp;#39;t matter.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Fri, Mar 19, 2021 at 7:28 PM vjudeu via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; I recently found some interesting and simple HD wallet design here: &lt;a href=&#34;https://bitcointalk.org/index.php?topic=5321992.0&#34;&gt;https://bitcointalk.org/index.php?topic=5321992.0&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Could anyone see any flaws in such design or is it safe enough to implement it and use in practice?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; If I understand it correctly, it is just pure ECDSA and SHA-256, nothing else:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; masterPublicKey = masterPrivateKey * G&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; masterChildPublicKey = masterPublicKey &#43; ( SHA-256( masterPublicKey || nonce ) mod n ) * G&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; masterChildPrivateKey = masterPrivateKey &#43; ( SHA-256( masterPublicKey || nonce ) mod n )&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Also, it has some nice properties, like all keys starting with 02 prefix and allows potentially unlimited custom derivation path by using 256-bit nonce.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-07T20:31:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0tjeenkshk6h0ylack743r2xdtxh6w595eg6twzqcy2v7evl75pszyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncjnegjd</id>
    
      <title type="html">📅 Original date posted:2021-03-19 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0tjeenkshk6h0ylack743r2xdtxh6w595eg6twzqcy2v7evl75pszyrvcf26cyx5flcm2svec0fzz6p5hzd6dupftucl64029kltnn7qncjnegjd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxjuy8jzzpcvlt27w0jqxnjaa8r5057fedklqn69nsku8krgfvrjck9le4c&#39;&gt;nevent1q…le4c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-19&lt;br/&gt;📝 Original message:I recently found some interesting and simple HD wallet design here: &lt;a href=&#34;https://bitcointalk.org/index.php?topic=5321992.0&#34;&gt;https://bitcointalk.org/index.php?topic=5321992.0&lt;/a&gt;&lt;br/&gt;Could anyone see any flaws in such design or is it safe enough to implement it and use in practice?&lt;br/&gt;If I understand it correctly, it is just pure ECDSA and SHA-256, nothing else:&lt;br/&gt;masterPublicKey = masterPrivateKey * G&lt;br/&gt;masterChildPublicKey = masterPublicKey &#43; ( SHA-256( masterPublicKey || nonce ) mod n ) * G&lt;br/&gt;masterChildPrivateKey = masterPrivateKey &#43; ( SHA-256( masterPublicKey || nonce ) mod n )&lt;br/&gt;Also, it has some nice properties, like all keys starting with 02 prefix and allows potentially unlimited custom derivation path by using 256-bit nonce.&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/20210319/84226cbf/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210319/84226cbf/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:30:58&#43;02:00</updated>
  </entry>

</feed>