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




  <entry>
    <id>https://nostr.ae/nevent1qqsxwmg4v5e92htfwxg3ewxkpxmdrf8dn3afel43h4gxr7pmsd09crqzyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6zcw2jc</id>
    
      <title type="html">📅 Original date posted:2021-09-17 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxwmg4v5e92htfwxg3ewxkpxmdrf8dn3afel43h4gxr7pmsd09crqzyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6zcw2jc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswlsf4tfcqq9ff62qek072xdqny0k90yrujpfuxv9hcf6cap5wfnsnwmrru&#39;&gt;nevent1q…mrru&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-09-17&lt;br/&gt;📝 Original message:Hi Giacomo,&lt;br/&gt;&lt;br/&gt;I wrote the rust implementation of bitcoin signature messages and to&lt;br/&gt;double-check I created some test vectors you can see at&lt;br/&gt;&lt;a href=&#34;https://github.com/rust-bitcoin/rust-bitcoin/blob/b7f984972ad6cb4942827c2b7c401f590588cdcf/src/util/sighash.rs#L689-L799&#34;&gt;https://github.com/rust-bitcoin/rust-bitcoin/blob/b7f984972ad6cb4942827c2b7c401f590588cdcf/src/util/sighash.rs#L689-L799&lt;/a&gt;.&lt;br/&gt;These vectors have been created printing intermediate results from&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/6401de0133e32a641ed9e78a85b3aa337c75d190/test/functional/feature_taproot.py&#34;&gt;https://github.com/bitcoin/bitcoin/blob/6401de0133e32a641ed9e78a85b3aa337c75d190/test/functional/feature_taproot.py&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Il giorno gio 16 set 2021 alle ore 23:40 Giacomo Caironi via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; ha scritto:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt; recently I have worked on a python implementation of bitcoin signature&lt;br/&gt;&amp;gt; messages, and I have found that there was way better documentation about&lt;br/&gt;&amp;gt; Segwit signature message than Taproot.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) Segwit signature message got its own BIP, completed with test cases&lt;br/&gt;&amp;gt; regarding only that specific function; Taproot on the other hand has the&lt;br/&gt;&amp;gt; signature message function defined in BIP 341 and the test vectors in a&lt;br/&gt;&amp;gt; different BIP (341). This is confusing. Shouldn&amp;#39;t we create a different BIP&lt;br/&gt;&amp;gt; only for Taproot signature message exactly like Segwit?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2) The test vectors for Taproot have no documentation and, most&lt;br/&gt;&amp;gt; importantly, they are not atomic, in the sense that they do not target a&lt;br/&gt;&amp;gt; specific part of the taproot code but all of it. This may not be a very big&lt;br/&gt;&amp;gt; problem, but for signature verification it is. Because there are hashes&lt;br/&gt;&amp;gt; involved, we can&amp;#39;t really debug why a signature message doesn&amp;#39;t pass&lt;br/&gt;&amp;gt; validation, either it is valid or it is not. BIP 143 in this case is really&lt;br/&gt;&amp;gt; good, because it provides hash preimages, so it is possible to debug the&lt;br/&gt;&amp;gt; function and see where something went wrong. Because of this, writing the&lt;br/&gt;&amp;gt; Segwit signature hash function took a fraction of the time compared to&lt;br/&gt;&amp;gt; Taproot.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If this idea is accepted I will be more than happy to write the test cases&lt;br/&gt;&amp;gt; for Taproot.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; BTW this is the first time I contribute to Bitcoin, let me know if I was&lt;br/&gt;&amp;gt; rude or did something wrong. Moreover english is not my first language, so&lt;br/&gt;&amp;gt; I apologize if I wrote something awful above&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;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20210917/ff486528/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210917/ff486528/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:59:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvdw2z43ut7chhcjpdhhlnjp87k2yswzd2kcf9af9ysczp650xlqszyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6pl3qjj</id>
    
      <title type="html">📅 Original date posted:2019-11-06 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvdw2z43ut7chhcjpdhhlnjp87k2yswzd2kcf9af9ysczp650xlqszyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6pl3qjj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqkm9tr837hentayl7tqwsag9mcz76h3u0qcnx95u0ykdzcuauy6ce59vjj&#39;&gt;nevent1q…9vjj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-11-06&lt;br/&gt;📝 Original message:Hello Adam,&lt;br/&gt;&lt;br/&gt;are you sure you can&amp;#39;t tackle the watch-only issue?&lt;br/&gt;&lt;br/&gt;What if the proposer create the coinjoin-tx, plus another tx (encrypted&lt;br/&gt;with the shared secret) which is a 1 input-1 output (1to1) tx which spend&lt;br/&gt;his output to another of his key.&lt;br/&gt;At this point when the receiver accept the proposal tx he could create&lt;br/&gt;other tx 1to1 which are spending his tweaked output to pure bip32 derived&lt;br/&gt;key, he than broadcast together the coinjoin tx and for every output of the&lt;br/&gt;coinjoin tx one other tx which is a 1to1 tx.&lt;br/&gt;&lt;br/&gt;Notes:&lt;br/&gt;* We are obviously spending more fee because there are more txs involved&lt;br/&gt;but the receiver ends up having only bip32 derived outputs.&lt;br/&gt;* The receiver must create the 1to1 tx or the receiver lose privacy by&lt;br/&gt;being the only one to create 1to1 tx&lt;br/&gt;* a good strategy could be to let the coinjoin tx have a very low fee,&lt;br/&gt;while the 1to1 tx an higher one so there is less risk that only the&lt;br/&gt;coinjoin gets mined&lt;br/&gt;* Whit this spending strategy, the wallet initial scan does not need to be&lt;br/&gt;modified&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Il giorno mar 22 ott 2019 alle ore 15:29 AdamISZ via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; ha scritto:&lt;br/&gt;&lt;br/&gt;&amp;gt; Just to chime in on these points:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My discussions with ghost43 and ThomasV led me to the same conclusion, at&lt;br/&gt;&amp;gt; least in general, for the whole watch-only issue:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s necessary that the key tweak (`c` as per draft BIP) be known by&lt;br/&gt;&amp;gt; Proposer (because has to add it to transaction before signing) and Receiver&lt;br/&gt;&amp;gt; (to check ownership), but must not be known by anyone else (else Coinjoin&lt;br/&gt;&amp;gt; function fails), hence it can&amp;#39;t be publically derivable in any way but must&lt;br/&gt;&amp;gt; require information secret to the two parties. This can be a pure random&lt;br/&gt;&amp;gt; sent along with the encrypted proposal (the original concept), or based on&lt;br/&gt;&amp;gt; such, or implicit via ECDH (arubi&amp;#39;s suggestion, now in the draft, requiring&lt;br/&gt;&amp;gt; each party to access their own secret key). So I reached the same&lt;br/&gt;&amp;gt; conclusion: the classic watch-only use case of monitoring a wallet in real&lt;br/&gt;&amp;gt; time with no privkey access is incompatible with this.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s worth mentioning a nuance, however: distinguish two requirements: (1)&lt;br/&gt;&amp;gt; to recover from zero information and (2) to monitor in real time as new&lt;br/&gt;&amp;gt; SNICKER transactions arrive.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For (2) it&amp;#39;s interesting to observe that the tweak `c` is not a&lt;br/&gt;&amp;gt; money-controlling secret; it&amp;#39;s only a privacy-controlling secret. If you&lt;br/&gt;&amp;gt; imagined two wallets, one hot and one cold, with the second tracking the&lt;br/&gt;&amp;gt; first but having a lower security requirement because cold, then the `c`&lt;br/&gt;&amp;gt; values could be sent along from the hot to the cold, as they are created,&lt;br/&gt;&amp;gt; without changing the cold&amp;#39;s security model as they are not&lt;br/&gt;&amp;gt; money-controlling private keys. They should still be encrypted of course,&lt;br/&gt;&amp;gt; but that&amp;#39;s largely a technical detail, if they were exposed it would only&lt;br/&gt;&amp;gt; break the effect of the coinjoin outputs being indistinguishable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For (1) the above does not apply; for there, we don&amp;#39;t have anyone telling&lt;br/&gt;&amp;gt; us what `c` values to look for, we have to somehow rederive, and to do that&lt;br/&gt;&amp;gt; we need key access, so it reverts to the discussion above about whether it&lt;br/&gt;&amp;gt; might be possible to interact with the cold wallet &amp;#39;manually&amp;#39; so to speak.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To be clear, I don&amp;#39;t think either of the above paragraphs describe things&lt;br/&gt;&amp;gt; that are particularly likely to be implemented, but the hot/cold monitoring&lt;br/&gt;&amp;gt; is at least feasible, if there were enough desire for it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; At the higher level, how important is this? I guess it just depends; there&lt;br/&gt;&amp;gt; are similar problems (not identical, and perhaps more addressable?) in&lt;br/&gt;&amp;gt; Lightning; importing keys is generally non-trivial; one can always sweep&lt;br/&gt;&amp;gt; non-standard keys back into the HD tree, but clearly that is not really a&lt;br/&gt;&amp;gt; solution in general; one can mark out wallets/seeds of this type as&lt;br/&gt;&amp;gt; distinct; not all wallets need to have watch-only (phone wallets? small&lt;br/&gt;&amp;gt; wallets? lower security?) one can prioritise spends of these coins. Etc.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Some more general comments:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note Elichai&amp;#39;s comment on the draft (repeated here for local convenience:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79#gistcomment-3014924&#34;&gt;https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79#gistcomment-3014924&lt;/a&gt;)&lt;br/&gt;&amp;gt; about AES-GCM vs AES-CBC, any thoughts?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I didn&amp;#39;t discuss the security of the construction for a Receiver from a&lt;br/&gt;&amp;gt; Proposer who should after all be assumed to be an attacker (except, I&lt;br/&gt;&amp;gt; emphasised that PSBT parsing could be sensitive on this point); I hope it&amp;#39;s&lt;br/&gt;&amp;gt; clear to everyone that the construction Q = P &#43; cG is only controllable by&lt;br/&gt;&amp;gt; the owner of the discrete log of P (trivial reduction: if an attacker who&lt;br/&gt;&amp;gt; knows c, can find the private key q of Q, he can derive the private key p&lt;br/&gt;&amp;gt; of P as q - c, thus he is an ECDLP cracker).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks for all the comments so far, it&amp;#39;s been very useful.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; AdamISZ/waxwing/Adam Gibson&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sent with ProtonMail Secure Email.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; On Monday, October 21, 2019 4:04 PM, SomberNight via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; The SNICKER recovery process is, of course, only required for wallet&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; recovery and not normal wallet use, so I don&amp;#39;t think a small amount of&lt;br/&gt;&amp;gt; &amp;gt; round-trip communication between the hot wallet and the cold wallet is&lt;br/&gt;&amp;gt; &amp;gt; too much to ask---especially since anyone using SNICKER with a&lt;br/&gt;&amp;gt; &amp;gt; watching-only wallet must be regularly interacting with their cold&lt;br/&gt;&amp;gt; &amp;gt; wallet anyway to sign the coinjoins.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; What you described only considers the &amp;#34;initial setup&amp;#34; of a watch-only&lt;br/&gt;&amp;gt; wallet. There are many usecases for watch-only wallets. There doesn&amp;#39;t even&lt;br/&gt;&amp;gt; necessarily need to be any offline-signing involved. For example, consider&lt;br/&gt;&amp;gt; a user who has a hot wallet on their laptop with xprv; and wants to watch&lt;br/&gt;&amp;gt; their addresses using an xpub from their mobile. Or consider giving an xpub&lt;br/&gt;&amp;gt; to an accountant. Or giving an xpub to your Electrum Personal Server (which&lt;br/&gt;&amp;gt; is how it works).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Note that all these usecases require &amp;#34;on-going&amp;#34; discovery of addresses,&lt;br/&gt;&amp;gt; and so they would break.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ghost43&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; (ps: Apologies Dave for the double-email; forgot to cc list originally)&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; _______________________________________________&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;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20191106/8c5a95bc/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20191106/8c5a95bc/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:21:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9slqac2wcxhvvcalunjtukl3zy9u7e7erlwm0jcf7cgjzv8h8gsczyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6ss9dys</id>
    
      <title type="html">📅 Original date posted:2019-10-21 📝 Original message:The ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9slqac2wcxhvvcalunjtukl3zy9u7e7erlwm0jcf7cgjzv8h8gsczyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6ss9dys" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxu6t8ywr5yulatq0038el3nmggzgg7u7z7ajeqwp2qcvgyvsfcycpm2qzh&#39;&gt;nevent1q…2qzh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-10-21&lt;br/&gt;📝 Original message:The &amp;#34;Receiver&amp;#34; could immediately create a tx that spend the coinjoin&lt;br/&gt;outputs to bip32 keys,&lt;br/&gt;The hard part is that he had to delay the broadcast otherwise he loose&lt;br/&gt;privacy&lt;br/&gt;&lt;br/&gt;Il giorno lun 21 ott 2019 alle ore 02:08 David A. Harding via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; ha scritto:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Sun, Oct 20, 2019 at 12:29:25AM &#43;0000, SomberNight via bitcoin-dev&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; waxwing, ThomasV, and I recently had a discussion about implementing&lt;br/&gt;&amp;gt; &amp;gt; SNICKER in Electrum; specifically the &amp;#34;Receiver&amp;#34; role.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That&amp;#39;d be awesome!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; As the referenced section [0] explains, the &amp;#34;Receiver&amp;#34; can restore&lt;br/&gt;&amp;gt; &amp;gt; from seed, and assuming he knows he needs to do extra scanning steps&lt;br/&gt;&amp;gt; &amp;gt; (e.g. via a seed version that signals SNICKER support), he can find&lt;br/&gt;&amp;gt; &amp;gt; and regain access to his SNICKER outputs. However, to calculate `c` he&lt;br/&gt;&amp;gt; &amp;gt; needs access to his private keys, as it is the ECDH of one of the&lt;br/&gt;&amp;gt; &amp;gt; Receiver&amp;#39;s pubkeys and one of the Proposer&amp;#39;s pubkeys.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This means the proposed scheme is fundamentally incompatible with&lt;br/&gt;&amp;gt; &amp;gt; watch-only wallets.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [0]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79#Storage_of_Keys&#34;&gt;https://gist.github.com/AdamISZ/2c13fb5819bd469ca318156e2cf25d79#Storage_of_Keys&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Your logic seems correct for the watching half of the wallet, but I&lt;br/&gt;&amp;gt; think it&amp;#39;s ok to consider requiring interaction with the cold wallet.&lt;br/&gt;&amp;gt; Let&amp;#39;s look at the recovery procedure from the SNICKER documentation&lt;br/&gt;&amp;gt; that you kindly cited:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     1. Derive all regular addresses normally (doable watch-only for&lt;br/&gt;&amp;gt;     wallets using public BIP32 derivation)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     2. Find all transactions spending an output for each of those&lt;br/&gt;&amp;gt;     addresses.  Determine whether the spend looks like a SNICKER&lt;br/&gt;&amp;gt;     coinjoin (e.g. &amp;#34;two equal-[value] outputs&amp;#34;).  (doable watch-only)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     3. &amp;#34;For each of those transactions, check, for each of the two equal&lt;br/&gt;&amp;gt;     sized outputs, whether one destination address can be regenerated&lt;br/&gt;&amp;gt;     from by taking c found in the method described above&amp;#34; (not doable&lt;br/&gt;&amp;gt;     watch only; requires private keys)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;d expect the set of candidate transactions produced in step #2 to be&lt;br/&gt;&amp;gt; pretty small and probably with no false positives for users not&lt;br/&gt;&amp;gt; participating in SNICKER coinjoins or doing lots of payment batching.&lt;br/&gt;&amp;gt; That means, if any SNICKER candidates were found by a watch-only wallet,&lt;br/&gt;&amp;gt; they could be compactly bundled up and the user could be encouraged to&lt;br/&gt;&amp;gt; copy them to the corresponding cold wallet using the same means used for&lt;br/&gt;&amp;gt; PSBTs (e.g. USB drive, QR codes, etc).  You wouldn&amp;#39;t even need the whole&lt;br/&gt;&amp;gt; transactions, just the BIP32 index of the user&amp;#39;s key, the pubkey of the&lt;br/&gt;&amp;gt; suspected proposer, and a checksum of the resultant address.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The cold wallet could then perform step #3 using its private keys and&lt;br/&gt;&amp;gt; return a file/QRcode/whatever to the hot wallet telling it any shared&lt;br/&gt;&amp;gt; secrets it found.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This process may need to be repeated several times if an output created&lt;br/&gt;&amp;gt; by one SNICKER round is spent in a subsequent SNICKER round.  This can be&lt;br/&gt;&amp;gt; addressed by simply refusing to participate in chains of SNICKER&lt;br/&gt;&amp;gt; transactions or by refusing to participant in chains of SNICKERs more&lt;br/&gt;&amp;gt; than n long (requring a maximum n rounds of recovery).  It could also be&lt;br/&gt;&amp;gt; addressed by the watching-only wallet looking ahead at the block chain a&lt;br/&gt;&amp;gt; bit in order to grab SNICKER-like child and grandchild transactions of&lt;br/&gt;&amp;gt; our SNICKER candidates and sending them also to the cold wallet for&lt;br/&gt;&amp;gt; attempted shared secret recovery.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The SNICKER recovery process is, of course, only required for wallet&lt;br/&gt;&amp;gt; recovery and not normal wallet use, so I don&amp;#39;t think a small amount of&lt;br/&gt;&amp;gt; round-trip communication between the hot wallet and the cold wallet is&lt;br/&gt;&amp;gt; too much to ask---especially since anyone using SNICKER with a&lt;br/&gt;&amp;gt; watching-only wallet must be regularly interacting with their cold&lt;br/&gt;&amp;gt; wallet anyway to sign the coinjoins.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; -Dave&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;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20191021/51924e75/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20191021/51924e75/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:21:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxpmmus8hx94mk4afvgnfnsq8tprzelmuhwclzk43yjwqzvaxm66szyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6agq6jk</id>
    
      <title type="html">📅 Original date posted:2018-06-04 📝 Original message:I was ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxpmmus8hx94mk4afvgnfnsq8tprzelmuhwclzk43yjwqzvaxm66szyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6agq6jk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszawt0a9kxtzve3kyr5gnw3tlrtkze0mslt0wwlkr7435pk06wlgqmjmxdq&#39;&gt;nevent1q…mxdq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-06-04&lt;br/&gt;📝 Original message:I was wondering why this multi-layer multi-block filter proposal isn&amp;#39;t&lt;br/&gt;getting any comment,&lt;br/&gt;is it because not asking all filters is leaking information?&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;&lt;br/&gt;Il giorno ven 18 mag 2018 alle ore 08:29 Karl-Johan Alm via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; ha scritto:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Fri, May 18, 2018 at 12:25 AM, Matt Corallo via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; In general, I&amp;#39;m concerned about the size of the filters making existing&lt;br/&gt;&amp;gt; &amp;gt; SPV clients less willing to adopt BIP 158 instead of the existing bloom&lt;br/&gt;&amp;gt; &amp;gt; filter garbage and would like to see a further exploration of ways to&lt;br/&gt;&amp;gt; &amp;gt; split out filters to make them less bandwidth intensive. Some further&lt;br/&gt;&amp;gt; &amp;gt; ideas we should probably play with before finalizing moving forward is&lt;br/&gt;&amp;gt; &amp;gt; providing filters for certain script templates, eg being able to only&lt;br/&gt;&amp;gt; &amp;gt; get outputs that are segwit version X or other similar ideas.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There is also the idea of multi-block filters. The idea is that light&lt;br/&gt;&amp;gt; clients would download a pair of filters for blocks X..X&#43;255 and&lt;br/&gt;&amp;gt; X&#43;256..X&#43;511, check if they have any matches and then grab pairs for&lt;br/&gt;&amp;gt; any that matched, e.g. X..X&#43;127 &amp;amp; X&#43;128..X&#43;255 if left matched, and&lt;br/&gt;&amp;gt; iterate down until it ran out of hits-in-a-row or it got down to&lt;br/&gt;&amp;gt; single-block level.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This has an added benefit where you can accept a slightly higher false&lt;br/&gt;&amp;gt; positive rate for bigger ranges, because the probability of a specific&lt;br/&gt;&amp;gt; entry having a false positive in each filter is (empirically speaking)&lt;br/&gt;&amp;gt; independent. I.e. with a FP probability of 1% in the 256 range block&lt;br/&gt;&amp;gt; and a FP probability of 0.1% in the 128 range block would mean the&lt;br/&gt;&amp;gt; probability is actually 0.001%.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Wrote about this here: &lt;a href=&#34;https://bc-2.jp/bfd-profile.pdf&#34;&gt;https://bc-2.jp/bfd-profile.pdf&lt;/a&gt; (but the filter&lt;br/&gt;&amp;gt; type is different in my experiments)&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;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20180604/8e42f18b/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180604/8e42f18b/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:12:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs00pspemyq058atqa2c65j8gmqrugljqvclemyqk79nmgkedwkcdszyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6c3lyfn</id>
    
      <title type="html">📅 Original date posted:2018-05-18 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs00pspemyq058atqa2c65j8gmqrugljqvclemyqk79nmgkedwkcdszyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6c3lyfn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswwnsmn8zu7hr4snd5nqgrm3jlx9k0t6tncn7v8hqkenhug5xya8ce3ps2k&#39;&gt;nevent1q…ps2k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-05-18&lt;br/&gt;📝 Original message:Another parameter which heavily affects filter size is the false positive&lt;br/&gt;rate which is empirically set&lt;br/&gt;&amp;lt;&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki#construction&amp;gt&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki#construction&amp;gt&lt;/a&gt;;&lt;br/&gt;to 2^-20&lt;br/&gt;The BIP recall some go code&lt;br/&gt;&amp;lt;&lt;a href=&#34;https://github.com/Roasbeef/bips/blob/83b83c78e189be898573e0bfe936dd0c9b99ecb9/gcs_light_client/gentestvectors.go&amp;gt&#34;&gt;https://github.com/Roasbeef/bips/blob/83b83c78e189be898573e0bfe936dd0c9b99ecb9/gcs_light_client/gentestvectors.go&amp;gt&lt;/a&gt;;&lt;br/&gt;for how the parameter has been selected which I can hardly understand and&lt;br/&gt;run, it&amp;#39;s totally my fault but if possible I would really like more details&lt;br/&gt;on the process, like charts and explanations (for example, which is the&lt;br/&gt;number of elements to search for which the filter has been optimized for?)&lt;br/&gt;&lt;br/&gt;Instinctively I feel 2^-20 is super low and choosing a lot higher alpha&lt;br/&gt;will shrink the total filter size by gigabytes at the cost of having to&lt;br/&gt;wastefully download just some megabytes of blocks.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2018-05-17 18:36 GMT&#43;02:00 Gregory Maxwell via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Thu, May 17, 2018 at 3:25 PM, Matt Corallo via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; I believe (1) could be skipped entirely - there is almost no reason why&lt;br/&gt;&amp;gt; &amp;gt; you&amp;#39;d not be able to filter for, eg, the set of output scripts in a&lt;br/&gt;&amp;gt; &amp;gt; transaction you know about&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think this is convincing for the txids themselves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What about also making input prevouts filter based on the scriptpubkey&lt;br/&gt;&amp;gt; being _spent_?  Layering wise in the processing it&amp;#39;s a bit ugly, but&lt;br/&gt;&amp;gt; if you validated the block you have the data needed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This would eliminate the multiple data type mixing entirely.&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;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20180518/fe07e012/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20180518/fe07e012/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:12:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw9d8pynk7zvjscmdp6wxljvpq34lqmj6scq5p7t84ftn3qjfaz4gzyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6slpugw</id>
    
      <title type="html">📅 Original date posted:2017-08-28 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw9d8pynk7zvjscmdp6wxljvpq34lqmj6scq5p7t84ftn3qjfaz4gzyz9var8vyvj3kuak6fetv4mp724mjjcm7ckgede92kx3ayefp0uz6slpugw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrgca8ahy5mrz3hvn0dqvc2pfr7972r7skx8fgxzpt8p4u6u9x5gq0wfxef&#39;&gt;nevent1q…fxef&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-08-28&lt;br/&gt;📝 Original message:Hi everyone,&lt;br/&gt;&lt;br/&gt;the Bitcoin headers are probably the most condensed and important piece of&lt;br/&gt;data in the world, their demand is expected to grow.&lt;br/&gt;&lt;br/&gt;When sending a stream of continuous block headers, a common case in IBD and&lt;br/&gt;in disconnected clients, I think there is a possible optimization of the&lt;br/&gt;transmitted data:&lt;br/&gt;The headers after the first could avoid transmitting the previous hash&lt;br/&gt;cause the receiver could compute it by double hashing the previous header&lt;br/&gt;(an operation he needs to do anyway to verify PoW).&lt;br/&gt;In a long stream, for example 2016 headers, the savings in bandwidth are&lt;br/&gt;about 32/80 ~= 40%&lt;br/&gt;without compressed headers 2016*80=161280 bytes&lt;br/&gt;with compressed headers 80&#43;2015*48=96800 bytes&lt;br/&gt;&lt;br/&gt;What do you think?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In OpenTimestamps calendars we are going to use this compression to give&lt;br/&gt;lite-client a reasonable secure proofs (a full node give higher security&lt;br/&gt;but isn&amp;#39;t feasible in all situations, for example for in-browser&lt;br/&gt;verification)&lt;br/&gt;To speed up sync of a new client Electrum starts with the download of a file&lt;br/&gt;&amp;lt;&lt;a href=&#34;https://headers.electrum.org/blockchain_headers&amp;gt&#34;&gt;https://headers.electrum.org/blockchain_headers&amp;gt&lt;/a&gt;; ~36MB containing the&lt;br/&gt;first 477637 headers.&lt;br/&gt;For this kind of clients could be useful a common http API with fixed&lt;br/&gt;position chunks to leverage http caching. For example /headers/2016/0&lt;br/&gt;returns the headers from the genesis to the 2015 header included while&lt;br/&gt;/headers/2016/1 gives the headers from the 2016th to the 4031.&lt;br/&gt;Other endpoints could have chunks of 20160 blocks or 201600 such that with&lt;br/&gt;about 10 http requests a client could fast sync the headers&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Riccardo Casatta - @RCasatta &amp;lt;&lt;a href=&#34;https://twitter.com/RCasatta&amp;gt&#34;&gt;https://twitter.com/RCasatta&amp;gt&lt;/a&gt;;&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/20170828/9d357bb7/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170828/9d357bb7/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:05:06Z</updated>
  </entry>

</feed>