<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-09T12:17:22Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Andrew Poelstra [ARCHIVE]</title>
  <author>
    <name>Andrew Poelstra [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1ae27kq6z802dkqw4ey4dgdx493szm8dpmcm76d7vt0ma9gf6fj4svz5t04.rss" />
  <link href="https://yabu.me/npub1ae27kq6z802dkqw4ey4dgdx493szm8dpmcm76d7vt0ma9gf6fj4svz5t04" />
  <id>https://yabu.me/npub1ae27kq6z802dkqw4ey4dgdx493szm8dpmcm76d7vt0ma9gf6fj4svz5t04</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://yabu.me/nevent1qqs0dl03fke2gdc99nswkykp7xt2dz8dalysykeampr48tp4cymp24szyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kglt2v9</id>
    
      <title type="html">📅 Original date posted:2023-08-31 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0dl03fke2gdc99nswkykp7xt2dz8dalysykeampr48tp4cymp24szyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kglt2v9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs83lnc53wehl33fw7td7hz99f6pkxd0d67zcrm68d0mjhau8j9e7cfaw7vp&#39;&gt;nevent1q…w7vp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-08-31&lt;br/&gt;🗒️ Summary of this message: Tom Briar has developed a compression schema for bitcoin transactions that can be transmitted through low bandwidth channels without corruption.&lt;br/&gt;📝 Original message:&lt;br/&gt;On Thu, Aug 31, 2023 at 09:30:16PM &#43;0000, Tom Briar via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; Hey everyone,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I&amp;#39;ve been working on a way to compress bitcoin transactions for transmission throughsteganography, satellite broadcasting,&lt;br/&gt;&amp;gt; and other low bandwidth channels with high CPU availability on decompression.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [compressed_transactions.md](&lt;a href=&#34;https://github.com/TomBriar/bitcoin/blob/2023-05--tx-compression/doc/compressed_transactions.md&#34;&gt;https://github.com/TomBriar/bitcoin/blob/2023-05--tx-compression/doc/compressed_transactions.md&lt;/a&gt;)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; In the document I describe a compression schema that&amp;#39;s tailored for the most common transactions single parties are likely to make.&lt;br/&gt;&amp;gt; In every case it falls back such that no transaction will become malformed or corrupted.&lt;br/&gt;&amp;gt; Here&amp;#39;s a PR for implementing this schema.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [2023 05 tx compression](&lt;a href=&#34;https://github.com/TomBriar/bitcoin/pull/3&#34;&gt;https://github.com/TomBriar/bitcoin/pull/3&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;Hey Tom,&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thank you for posting this. Could you put together a chart with some&lt;br/&gt;size numbers so we can get a picture of how strong this compression is?&lt;br/&gt;&lt;br/&gt;I understand that because this is targeted at stego/satellite&lt;br/&gt;applications where the user is expected to &amp;#34;shape&amp;#34; their transaction,&lt;br/&gt;that you won&amp;#39;t get great numbers if you just look at the historical&lt;br/&gt;chain or try to analyze &amp;#34;average&amp;#34; transactions. But it would be great to&lt;br/&gt;post a chart with uncompressed/compressed sizes for &amp;#34;optimum&amp;#34;&lt;br/&gt;transactions. At the very least, a 2-in-2-out wpkh transaction, and a&lt;br/&gt;2-in-2-out Taproot transaction.&lt;br/&gt;&lt;br/&gt;Since the scheme includes explicit support for p2sh-wpkh and p2pkh it&lt;br/&gt;would also be great to see numbers for those, though they&amp;#39;re less common&lt;br/&gt;and less interesting.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Cheers&lt;br/&gt;Andrew&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andrew Poelstra&lt;br/&gt;Director of Research, Blockstream&lt;br/&gt;Email: apoelstra at wpsoftware.net&lt;br/&gt;Web:   &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The sun is always shining in space&lt;br/&gt;    -Justin Lewis-Webster&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: 488 bytes&lt;br/&gt;Desc: not available&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230901/1a0ba0e7/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230901/1a0ba0e7/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-09-07T11:52:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqvva6e57xu3t6y8dujn2fxv5a8fzf54n37cw7ezhcekfqmhtxfnszyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kgk3feu</id>
    
      <title type="html">📅 Original date posted:2023-07-26 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqvva6e57xu3t6y8dujn2fxv5a8fzf54n37cw7ezhcekfqmhtxfnszyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kgk3feu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstfgtw0n93xjv45maf0yea769wq57hlv57rt3lt5rmuy4k88ecqes6kh9re&#39;&gt;nevent1q…h9re&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-07-26&lt;br/&gt;🗒️ Summary of this message: POSK (proof of secret key) is not a perfect solution for preventing rogue key attacks and has logistical difficulties in implementation.&lt;br/&gt;📝 Original message:&lt;br/&gt;On Wed, Jul 26, 2023 at 12:09:41AM -0400, Erik Aronesty via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; personally, i think *any* time a public key is transmitted, it should come&lt;br/&gt;&amp;gt; with a &amp;#34;proof of secret key&amp;#34;.   it should be baked-in to low level&lt;br/&gt;&amp;gt; protocols so that people don&amp;#39;t accidentally create vulns.  alt discussion&lt;br/&gt;&amp;gt; link:  &lt;a href=&#34;https://gist.github.com/RubenSomsen/be7a4760dd4596d06963d67baf140406&#34;&gt;https://gist.github.com/RubenSomsen/be7a4760dd4596d06963d67baf140406&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;POSK is not a panacea. For example, if you were to try to eliminate&lt;br/&gt;rogue key attacks in MuSig by using POSK rather than by rerandomizing&lt;br/&gt;the keys, the last person to contribute a key could add a Taproot&lt;br/&gt;commitment to their key, thereby modifying the final key to have a&lt;br/&gt;Taproot spending path that other participants don&amp;#39;t know about. If they&lt;br/&gt;did this, they&amp;#39;d have no problem producing a POSK since Taproot&lt;br/&gt;commitments don&amp;#39;t affect knowledge of the secret key.&lt;br/&gt;&lt;br/&gt;POSKs are also logistically difficult to produce in many contexts. They&lt;br/&gt;essentially require an interactive challege-response (otherwise somebody&lt;br/&gt;could just copy a POSK from some other source), meaning that all&lt;br/&gt;participants need to be online and have secret key access at key setup&lt;br/&gt;time.&lt;br/&gt;&lt;br/&gt;In some contexts maybe it&amp;#39;s sufficient to have a static POSK. Aside from&lt;br/&gt;the complexity of determining this, you then need a key serialization&lt;br/&gt;format that includes the POSK. There are standard key formats for all&lt;br/&gt;widely used EC keys but none have a facility for this. If you are trying&lt;br/&gt;to use already-published keys that do not have a POSK attached, you are&lt;br/&gt;out of luck.&lt;br/&gt;&lt;br/&gt;If your protocol requires POSKs to be provably published, you also run&lt;br/&gt;into difficulties because they don&amp;#39;t make sense to embed on-chain (since&lt;br/&gt;blockchain validators don&amp;#39;t care about them, and they&amp;#39;re twice as big as&lt;br/&gt;the keys themselves) so you need to establish some other publication&lt;br/&gt;medium.&lt;br/&gt;&lt;br/&gt;If you want to support nested multisignatures, you need to jointly&lt;br/&gt;produce POSKs, which requires its own protocol complexity.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The MuSig and MuSig2 papers say essentially the same thing as the above;&lt;br/&gt;it&amp;#39;s why we put so much effort into developing a scheme which was&lt;br/&gt;provably secure in the plain public key model, which means that POSKs&lt;br/&gt;are superfluous and you don&amp;#39;t need to deal with all these logistical&lt;br/&gt;hurdles.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andrew Poelstra&lt;br/&gt;Director of Research, Blockstream&lt;br/&gt;Email: apoelstra at wpsoftware.net&lt;br/&gt;Web:   &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The sun is always shining in space&lt;br/&gt;    -Justin Lewis-Webster&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: 488 bytes&lt;br/&gt;Desc: not available&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230726/84e90df1/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230726/84e90df1/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-07-27T00:26:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0m7ccdqr4h8j9ljjvredlxr0wdf59vz9zf4n22uwu6m3ymx3v0uczyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kgdht8v</id>
    
      <title type="html">📅 Original date posted:2021-03-16 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0m7ccdqr4h8j9ljjvredlxr0wdf59vz9zf4n22uwu6m3ymx3v0uczyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kgdht8v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs82pa08p74uqfhlxmhv6zf8cnmzvj0340prrh4qywnyd7aw8yy6fqgpmg5j&#39;&gt;nevent1q…mg5j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-16&lt;br/&gt;📝 Original message:On Tue, Mar 16, 2021 at 03:10:21PM &#43;0100, Andrea via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Hi! Sorry for the OT, could you provide some references to ring signatures&lt;br/&gt;&amp;gt; over/for/via taproot (I mean the schema or something like that)? And what is&lt;br/&gt;&amp;gt; &amp;#34;Provisions&amp;#34; (the capital letter makes me think it&amp;#39;s a product/technology)?&lt;br/&gt;&amp;gt; I&amp;#39;m a rookie following this mailing since just a few months...&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Thanks for posting such a positive message in an otherwise tense thread :)&lt;br/&gt;&lt;br/&gt;Provisions is a scheme for providing proof of ownership of funds, developed&lt;br/&gt;by Dagher et al in 2015 at &lt;a href=&#34;https://eprint.iacr.org/2015/1008&#34;&gt;https://eprint.iacr.org/2015/1008&lt;/a&gt; . The way it&lt;br/&gt;works is to collect all of the Bitcoin outputs which have exposed/known&lt;br/&gt;public keys then associate to these keys a Pedersen commitment which commits&lt;br/&gt;to the outputs&amp;#39; amounts in a homomorphic way.&lt;br/&gt;&lt;br/&gt;Homomorphic means that even though the commitments hide what the original&lt;br/&gt;amounts are, anyone can add them together (in some sense) to get a new&lt;br/&gt;commitment to the sum of the original amounts.&lt;br/&gt;&lt;br/&gt;So Provisions is essentially a zero-knowledge proof of the following statement&lt;br/&gt;&lt;br/&gt;    1. I have a commitment to &amp;gt;100BTC (or whatever)...&lt;br/&gt;    2. ...which is a sum of commitments of actual UTXO values...&lt;br/&gt;    3. ...where these UTXOs come from the set of known-public-key UTXOs...&lt;br/&gt;    4. ...and I am able to sign with the public keys associated to them.&lt;br/&gt;&lt;br/&gt;which proves ownership of some amount of BTC, without revealing which specific&lt;br/&gt;UTXOs were involved. This zero-knowledge proof can be done fairly efficiently&lt;br/&gt;by exploiting the structure of EC public keys and Pedersen commitments.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Unfortunately, most unspent Bitcoin outputs do not have known public keys,&lt;br/&gt;which means that you can only do a Provisions proof using a small anonymity&lt;br/&gt;set. However, all Taproot outputs, by virtue of having exposed public keys&lt;br/&gt;(which is the point under contention in this thread), will be in the set of&lt;br/&gt;exposed-public-key UTXOs, allowing people to do Provisions proofs where&lt;br/&gt;their anonymity set consists of a large proportion of active coins.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;BTW, even without Provisions, there are some similar and simpler things you&lt;br/&gt;can do with Taproot keys along these lines. See for example&lt;br/&gt;&lt;a href=&#34;https://twitter.com/n1ckler/status/1334240709814136833&#34;&gt;https://twitter.com/n1ckler/status/1334240709814136833&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andrew Poelstra&lt;br/&gt;Director of Research, Blockstream&lt;br/&gt;Email: apoelstra at wpsoftware.net&lt;br/&gt;Web:   &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The sun is always shining in space&lt;br/&gt;    -Justin Lewis-Webster&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: 488 bytes&lt;br/&gt;Desc: not available&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210316/a17a0bd9/attachment-0001.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210316/a17a0bd9/attachment-0001.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:30:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszcp8zl89prqk4zyxxdvmvfvlvhpk307sdu7je0c3kqh4c3hn260czyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kealupg</id>
    
      <title type="html">📅 Original date posted:2021-03-15 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszcp8zl89prqk4zyxxdvmvfvlvhpk307sdu7je0c3kqh4c3hn260czyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2kealupg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0thp5l2q6karm90dlugg0dzdvhu3ttd6nqdcfapl5td9q5hujzmgz23tvv&#39;&gt;nevent1q…3tvv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-15&lt;br/&gt;📝 Original message:On Mon, Mar 15, 2021 at 09:48:15PM &#43;0000, Luke Dashjr via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; Also, what I didn&amp;#39;t know myself until today, is that we do not actually gain &lt;br/&gt;&amp;gt; anything from this: the features proposed to make use of the raw keys being &lt;br/&gt;&amp;gt; public prior to spending can be implemented with hashed keys as well.&lt;br/&gt;&amp;gt; It would use significantly more CPU time and bandwidth (between private &lt;br/&gt;&amp;gt; parties, not on-chain), but there should be no shortage of that for anyone &lt;br/&gt;&amp;gt; running a full node (indeed, CPU time is freed up by Taproot!); at worst, it &lt;br/&gt;&amp;gt; would create an incentive for more people to use their own full node, which &lt;br/&gt;&amp;gt; is a good thing!&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;#34;No gain&amp;#34; except to save significant CPU time and bandwidth? As Matt points&lt;br/&gt;out there is also a storage hit (unless you want to _really_ waste CPU time&lt;br/&gt;by using pubkey recovery, eliminating any hope of batch validation while&lt;br/&gt;introducing a new dependency on an algorithm with a very unclear patent&lt;br/&gt;story).&lt;br/&gt;&lt;br/&gt;Having exposed keys also lets you do ring signatures over outputs, creating the&lt;br/&gt;ability to do private proof of funds via Provisions.&lt;br/&gt;&lt;br/&gt;&amp;gt; Despite this, I still don&amp;#39;t think it&amp;#39;s a reason to NACK Taproot: it should be &lt;br/&gt;&amp;gt; fairly trivial to add a hash on top in an additional softfork and fix this.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;This would make Bitcoin strictly worse.&lt;br/&gt;&lt;br/&gt;&amp;gt; In addition to the points made by Mark, I also want to add two more, in &lt;br/&gt;&amp;gt; response to Pieter&amp;#39;s &amp;#34;you can&amp;#39;t claim much security if 37% of the supply is &lt;br/&gt;&amp;gt; at risk&amp;#34; argument. This argument is based in part on the fact that many &lt;br/&gt;&amp;gt; people reuse Bitcoin invoice addresses.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;37% is a dramatic understatement. Every address which is derived using BIP32&lt;br/&gt;should be assumed compromised to a QC attacker because xpubs are not treated&lt;br/&gt;like secret key material and are trivial to e.g. extract from hardware wallets&lt;br/&gt;or PSBTs. I expect the real number is close to 100%.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In any case, Taproot keys, when used according to the recommendation in&lt;br/&gt;BIP-0341, are already hashes of their internal keys, so (a) Taproot outputs&lt;br/&gt;actually have better quantum resistance than legacy outputs; and (b) adding&lt;br/&gt;another hash would be strictly redundant.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andrew Poelstra&lt;br/&gt;Director of Research, Blockstream&lt;br/&gt;Email: apoelstra at wpsoftware.net&lt;br/&gt;Web:   &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The sun is always shining in space&lt;br/&gt;    -Justin Lewis-Webster&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: 488 bytes&lt;br/&gt;Desc: not available&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210315/386e13df/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210315/386e13df/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:30:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdh88fddz5hcmyfpxjh07qvuwq5hvpmgmrg5yqkp0fyqrpx90fjuczyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2knxl4k9</id>
    
      <title type="html">📅 Original date posted:2021-03-16 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdh88fddz5hcmyfpxjh07qvuwq5hvpmgmrg5yqkp0fyqrpx90fjuczyrh9t6crggaafkcp6hyj44p565kxqtva580r0mfhe3dl054p8fx2knxl4k9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq955c7yh3yxhz5wqd6cxkgqpdy7kgu8shkydnmhvvu6jq9qt9pjsjefdgv&#39;&gt;nevent1q…fdgv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-16&lt;br/&gt;📝 Original message:On Tue, Mar 16, 2021 at 03:44:25AM &#43;0000, Luke Dashjr wrote:&lt;br/&gt;&amp;gt; (To reiterate: I do not intend any of this as a NACK of Taproot.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Thanks, although it&amp;#39;s still somewhat frustrating to be rehashing this&lt;br/&gt;discussion again after so many years.&lt;br/&gt; &lt;br/&gt;&amp;gt; On Monday 15 March 2021 23:12:18 Andrew Poelstra wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;No gain&amp;#34; except to save significant CPU time and bandwidth?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The CPU time is localised to involved nodes, and (correct me if I&amp;#39;m wrong) &lt;br/&gt;&amp;gt; trivial in comparison to what is required to run a full node in the first &lt;br/&gt;&amp;gt; place. I&amp;#39;m not sure how it looks with bandwidth.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I really can&amp;#39;t parse what &amp;#34;localized to involved nodes&amp;#34; means. All Bitcoin&lt;br/&gt;nodes will be affected. Right now for nodes with sufficient bandwidth, signature&lt;br/&gt;validation is the slowest part of validating transactions, which is why it&lt;br/&gt;is disabled for the bulk of the chain during IBD. Taproot, by virtue of&lt;br/&gt;enabling batch verification, would give a 2-3x speedup when validating the&lt;br/&gt;same number of signatures.&lt;br/&gt; &lt;br/&gt;&amp;gt; &amp;gt; Having exposed keys also lets you do ring signatures over outputs, creating&lt;br/&gt;&amp;gt; &amp;gt; the ability to do private proof of funds via Provisions.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But you can also do comparable proofs behind a hash with Bulletproofs, right?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Yes, if you are willing to accept independent &amp;gt;100000x slowdowns on proving,&lt;br/&gt;verification and code review.&lt;br/&gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Despite this, I still don&amp;#39;t think it&amp;#39;s a reason to NACK Taproot: it&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; should be fairly trivial to add a hash on top in an additional softfork&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; and fix this.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This would make Bitcoin strictly worse.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; How so? People could just not use it if they don&amp;#39;t care, right?&lt;br/&gt;&amp;gt; The alternative (if people care enough) is that those concerned about quantum &lt;br/&gt;&amp;gt; risk would be forced to forego the benefits of Taproot and stick to p2pkh or &lt;br/&gt;&amp;gt; such, which seems like an artificial punishment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;People who do use it will reduce their privacy set, reduce the privacy set of&lt;br/&gt;people who aren&amp;#39;t using it, create confusion and delays for people implementing&lt;br/&gt;Taproot, and slow down Bitcoin nodes who would have to validate the extra&lt;br/&gt;material.&lt;br/&gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; In addition to the points made by Mark, I also want to add two more, in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; response to Pieter&amp;#39;s &amp;#34;you can&amp;#39;t claim much security if 37% of the supply&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; is at risk&amp;#34; argument. This argument is based in part on the fact that&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; many people reuse Bitcoin invoice addresses.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; 37% is a dramatic understatement. Every address which is derived using&lt;br/&gt;&amp;gt; &amp;gt; BIP32 should be assumed compromised to a QC attacker because xpubs are not&lt;br/&gt;&amp;gt; &amp;gt; treated like secret key material and are trivial to e.g. extract from&lt;br/&gt;&amp;gt; &amp;gt; hardware wallets or PSBTs. I expect the real number is close to 100%.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; xpubs should be treated like secret key material IMO.&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;Your opinion is noted. This is not how xpubs are, in reality, treated. And&lt;br/&gt;it would make them significantly less useful if you could no longer share&lt;br/&gt;descriptors with people you would like to do multiparty transactions with.&lt;br/&gt;&lt;br/&gt;&amp;gt; A quantum attacker would need to compromise your PC to attack a hardware &lt;br/&gt;&amp;gt; wallet, right?&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;No, I expect you could get xpubs out of hardware wallets using any of the&lt;br/&gt;web endpoints provided by hardware wallet vendors, or by asking it to update&lt;br/&gt;a PSBT with any of its scriptpubkeys.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; In any case, Taproot keys, when used according to the recommendation in&lt;br/&gt;&amp;gt; &amp;gt; BIP-0341, are already hashes of their internal keys, so (a) Taproot outputs&lt;br/&gt;&amp;gt; &amp;gt; actually have better quantum resistance than legacy outputs; and (b) adding&lt;br/&gt;&amp;gt; &amp;gt; another hash would be strictly redundant.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It not only stops the attacker from obtaining the original key, but also &lt;br/&gt;&amp;gt; prevents creating a new private key that can spend the output?&lt;br/&gt;&amp;gt; &lt;br/&gt;&lt;br/&gt;I don&amp;#39;t know what you mean by this. If the original key is usable, i.e. a QC&lt;br/&gt;has appeared overnight, then Bitcoin is screwed. (For that matter, the same is&lt;br/&gt;true if there is an overnight break in SHA2, or ECDSA, or any other major&lt;br/&gt;component of Bitcoin. Fortunately this is not how cryptographic breaks have&lt;br/&gt;historically appeared.) There is no new private key that could be created.&lt;br/&gt;&lt;br/&gt;If there is a QC where we have some warning, then we need to disable all EC&lt;br/&gt;operations in Script, including keypath spends of Taproot outputs, and this&lt;br/&gt;would be true with or without the redundant extra hash.&lt;br/&gt;&lt;br/&gt;Taproot, with or without the redundant hash, has a few distinct benefits over&lt;br/&gt;legacy outputs in this scenario:&lt;br/&gt;&lt;br/&gt;  * Taproot keys are hashes of semi-secret data (at least as secret as xpubs)&lt;br/&gt;    in a well-defined and simple way, by virtue of committing to an internal&lt;br/&gt;    key and some script (usually unspendable)&lt;br/&gt;  * By adding secret data to the script, users can provide extra data to prove&lt;br/&gt;    in a QC-hard way, even if their internal key is compromised&lt;br/&gt;  * Taproot keys can be chosen to be provably unspendable except by a DL break,&lt;br/&gt;    as David Harding points out, by using a NUMS point as an internal key.&lt;br/&gt;&lt;br/&gt;None of these factors are improved by adding an extra hash.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andrew Poelstra&lt;br/&gt;Director of Research, Blockstream&lt;br/&gt;Email: apoelstra at wpsoftware.net&lt;br/&gt;Web:   &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The sun is always shining in space&lt;br/&gt;    -Justin Lewis-Webster&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: 488 bytes&lt;br/&gt;Desc: not available&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210316/75447235/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210316/75447235/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:30:54Z</updated>
  </entry>

</feed>