<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-07T01:44:57Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by James MacWhyte [ARCHIVE]</title>
  <author>
    <name>James MacWhyte [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub12tjaqer27049ejmvf0f3yd7kq6p93gg6ecavgrczge4rlzf59y5q2pye9h.rss" />
  <link href="https://njump.me/npub12tjaqer27049ejmvf0f3yd7kq6p93gg6ecavgrczge4rlzf59y5q2pye9h" />
  <id>https://njump.me/npub12tjaqer27049ejmvf0f3yd7kq6p93gg6ecavgrczge4rlzf59y5q2pye9h</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://njump.me/nevent1qqs09nsagv0qkj3w0m62ntxp09huu5pyndjwhnrznetnlpfz5ppyaeqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js4lnnwc</id>
    
      <title type="html">📅 Original date posted:2022-07-11 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs09nsagv0qkj3w0m62ntxp09huu5pyndjwhnrznetnlpfz5ppyaeqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js4lnnwc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9h46k3ueve2vyftxffdqvnvtwn3ss0rljue4sdp43t4gffa82ehc2mtpgw&#39;&gt;nevent1q…tpgw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-11&lt;br/&gt;📝 Original message:On Tue, Jul 12, 2022 at 12:26 AM Peter Todd &amp;lt;pete at petertodd.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Anyway, designing protocols for &amp;#34;price go up forever&amp;#34; hopium is a bad idea.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m quite disappointed that this is what you&amp;#39;ve reduced my argument to. The&lt;br/&gt;price doesn&amp;#39;t need hopium; if it stays between where it is now and the all&lt;br/&gt;time high, that is enough to make mining rewards appealing.&lt;br/&gt;&lt;br/&gt;Anyway, once the LA dinner rush ends at 8PM it is already noon in Tokyo.&lt;br/&gt;The Pacific is big, but not *that* big.&lt;br/&gt;&lt;br/&gt;Certainly we should be designing protocols in anticipation of increased&lt;br/&gt;adoption, and not assuming the world will always be exactly as it is today?&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/20220712/05d46411/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220712/05d46411/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:11:44Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspcza4l4xq8paledjpvgrslqlylc9kvznpfa5us6q0ha7l6l25umczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jswsse0w</id>
    
      <title type="html">📅 Original date posted:2022-07-11 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspcza4l4xq8paledjpvgrslqlylc9kvznpfa5us6q0ha7l6l25umczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jswsse0w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspk3p788vek2chwqq3jy70vvvetcrs7rg08za0wyh0l43ksr34ktgr2z5t8&#39;&gt;nevent1q…z5t8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-11&lt;br/&gt;📝 Original message:I think many of these discussions about the loss of the mining reward are&lt;br/&gt;fatally shortsighted.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s always daytime somewhere--when you talk about volume dropping at&lt;br/&gt;night, that simply means there is not enough activity outside the US. If&lt;br/&gt;Bitcoin continues its rise in price, mining rewards will still be&lt;br/&gt;substantial for decades to come. Given another 10 years, I&amp;#39;m fairly&lt;br/&gt;confident there will be enough adoption worldwide to make mining profitable&lt;br/&gt;around the clock, even if the mining reward were minimal.&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Mon, Jul 11, 2022 at 8:19 PM Bram Cohen via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; If transaction fees came in at an even rate over time all at the exact&lt;br/&gt;&amp;gt; same level then they work fine for security, acting similarly to fixed&lt;br/&gt;&amp;gt; block rewards. Unfortunately that isn&amp;#39;t how it works in the real world.&lt;br/&gt;&amp;gt; There&amp;#39;s a very well established day/night cycle with fees going to zero&lt;br/&gt;&amp;gt; overnight and even longer gaps on weekends and holidays. If in the future&lt;br/&gt;&amp;gt; Bitcoin is entirely dependent on fees for security (scheduled very&lt;br/&gt;&amp;gt; strongly) and this pattern keeps up (overwhelmingly likely) then this is&lt;br/&gt;&amp;gt; going to become a serious problem.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What&amp;#39;s likely to happen is that at first there will simply be no or very&lt;br/&gt;&amp;gt; few blocks mined overnight. There are likely to be some, as miners at first&lt;br/&gt;&amp;gt; turn off their mining rigs completely overnight then adopt the more&lt;br/&gt;&amp;gt; sophisticated strategy of waiting until there are enough fees in the&lt;br/&gt;&amp;gt; mempool to warrant attempting to make a block and only then doing it.&lt;br/&gt;&amp;gt; Unfortunately the gaming doesn&amp;#39;t end there. Eventually the miners with&lt;br/&gt;&amp;gt; lower costs of operation will figure out that they can collectively reorg&lt;br/&gt;&amp;gt; the last hour (or some time period) of the day overnight and this will be&lt;br/&gt;&amp;gt; profitable. That&amp;#39;s likely to cause the miners with more expensive&lt;br/&gt;&amp;gt; operations to stop attempting mining the last hour of the day preemptively.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What happens after that I&amp;#39;m not sure. There are a small enough number of&lt;br/&gt;&amp;gt; miners with a quirky enough distribution of costs of operation and&lt;br/&gt;&amp;gt; profitability that the dynamic is heavily dependent on those specifics, but&lt;br/&gt;&amp;gt; the beginnings of a slippery slope to a mining cabal which reorgs everyone&lt;br/&gt;&amp;gt; else out of existence and eventually 51% attacks the whole thing have&lt;br/&gt;&amp;gt; begun. It even gets worse than that because once there&amp;#39;s a cabal&lt;br/&gt;&amp;gt; aggressively reorging anyone else out when they make a block other miners&lt;br/&gt;&amp;gt; will shut down and rapidly lose the ability to quickly spin up again, so&lt;br/&gt;&amp;gt; the threshold needed for that 51% attack will keep going down.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In short, relying completely on transaction fees for security is likely to&lt;br/&gt;&amp;gt; be a disaster. What we can say from existing experience is that having&lt;br/&gt;&amp;gt; transaction fees be about 10% of rewards on average works well. It&amp;#39;s enough&lt;br/&gt;&amp;gt; to incentivize collecting fees but not so much that it makes incentives get&lt;br/&gt;&amp;gt; all weird. 90% transaction fees is probably very bad. 50% works but runs&lt;br/&gt;&amp;gt; the risk of spikes getting too high.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are a few possible approaches to fixes. One would be to drag most of&lt;br/&gt;&amp;gt; east asia eastward to a later time zone thus smoothing out the day/night&lt;br/&gt;&amp;gt; cycle but that&amp;#39;s probably unrealistic. Another would be to hard fork in&lt;br/&gt;&amp;gt; fixed rewards in perpetuity, which is slightly less unrealistic but still&lt;br/&gt;&amp;gt; extremely problematic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Much more actionable are measures which smooth out fees over time. Having&lt;br/&gt;&amp;gt; wallets opportunistically collect their dust during times of low&lt;br/&gt;&amp;gt; transaction fees would help and would save users on fees. Also making UX&lt;br/&gt;&amp;gt; which clarifies when things are likely to take a day or week but that it&amp;#39;s&lt;br/&gt;&amp;gt; reliable would be a reasonable thing to do, but users unfortunately are&lt;br/&gt;&amp;gt; very averse to transactions taking a while.&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;-------------- 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/20220712/4828c452/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220712/4828c452/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:11:44Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxl9u7xq670zfgfgrre5fz924tle422ljdqduxkwkjan3kz9updeczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jslfxy50</id>
    
      <title type="html">📅 Original date posted:2022-07-08 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxl9u7xq670zfgfgrre5fz924tle422ljdqduxkwkjan3kz9updeczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jslfxy50" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdydyka20lezphmedlhsdtneq7ss2xfk0n5ft2tgvkwp8aqnlrhkg4j7d2z&#39;&gt;nevent1q…7d2z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-08&lt;br/&gt;📝 Original message:&amp;gt; What do you do if the &amp;#34;first&amp;#34; word (of 12), happens to be the last word in&lt;br/&gt;&amp;gt; the list alphabetically?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;That couldn&amp;#39;t happen. If one word is the very last from the wordlist, it&lt;br/&gt;would end up at the end of your mnemonic once you rearrange your 12 words&lt;br/&gt;alphabetically.&lt;br/&gt;&lt;br/&gt;However!&lt;br/&gt;&lt;br/&gt;(@vjudeu) Choosing 11 random words and then sorting them alphabetically&lt;br/&gt;before assigning a checksum would reduce entropy considerably. If you think&lt;br/&gt;about it, to bruteforce the entire keyspace one would only need to come up&lt;br/&gt;with every possible combination of 11 words &#43; 1 checksum. I&amp;#39;m not the best&lt;br/&gt;at napkin math, but I think that leaves you with around 10 trillion&lt;br/&gt;combinations, which would only take a couple months to exhaust with&lt;br/&gt;hardware that can do 1 million guesses per second.&lt;br/&gt;&lt;br/&gt;James&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/20220708/fa49a159/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220708/fa49a159/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:11:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr28hrcwzdzaghld9fqwwmlrha0zzrdxn8kx7apnyveqq9707vg5szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsk9h4a8</id>
    
      <title type="html">📅 Original date posted:2022-07-09 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr28hrcwzdzaghld9fqwwmlrha0zzrdxn8kx7apnyveqq9707vg5szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsk9h4a8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqkwa2sg6zv55yw44hl650yyptgy2yf89ytj36ltrndq0gc90asugjt7mup&#39;&gt;nevent1q…7mup&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-09&lt;br/&gt;📝 Original message:Thanks, Zac!&lt;br/&gt;&lt;br/&gt;I indeed did get the napkin math very wrong. I now get around 10^30 total&lt;br/&gt;possible phrases, which would take an impossibly long time to brute force.&lt;br/&gt;So, it is less entropy but probably still sufficient for low-stakes usage.&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Sat, Jul 9, 2022 at 10:31 PM Zac Greenwood &amp;lt;zachgrw at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Sorting a seed alphabetically reduces entropy by ~29 bits.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A 12-word seed has (12, 12) permutations or 479 million, which is ln(469m)&lt;br/&gt;&amp;gt; / ln(2) ~= 29 bits of entropy. Sorting removes this entropy entirely,&lt;br/&gt;&amp;gt; reducing the seed entropy from 128 to 99 bits.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Zac&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Fri, 8 Jul 2022 at 16:09, James MacWhyte 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;&lt;br/&gt;&amp;gt;&amp;gt; What do you do if the &amp;#34;first&amp;#34; word (of 12), happens to be the last word&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; in the list alphabetically?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; That couldn&amp;#39;t happen. If one word is the very last from the wordlist, it&lt;br/&gt;&amp;gt;&amp;gt; would end up at the end of your mnemonic once you rearrange your 12 words&lt;br/&gt;&amp;gt;&amp;gt; alphabetically.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; However!&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; (@vjudeu) Choosing 11 random words and then sorting them alphabetically&lt;br/&gt;&amp;gt;&amp;gt; before assigning a checksum would reduce entropy considerably. If you think&lt;br/&gt;&amp;gt;&amp;gt; about it, to bruteforce the entire keyspace one would only need to come up&lt;br/&gt;&amp;gt;&amp;gt; with every possible combination of 11 words &#43; 1 checksum. I&amp;#39;m not the best&lt;br/&gt;&amp;gt;&amp;gt; at napkin math, but I think that leaves you with around 10 trillion&lt;br/&gt;&amp;gt;&amp;gt; combinations, which would only take a couple months to exhaust with&lt;br/&gt;&amp;gt;&amp;gt; hardware that can do 1 million guesses per second.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; James&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;&amp;gt;&lt;br/&gt;&amp;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/20220710/26e276d1/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220710/26e276d1/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:11:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf5hr05zeke5gsuknyt5h7wxjymdk0xnv3w6elzwv0n5nt33g7vcczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js47tvtc</id>
    
      <title type="html">📅 Original date posted:2021-07-26 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf5hr05zeke5gsuknyt5h7wxjymdk0xnv3w6elzwv0n5nt33g7vcczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js47tvtc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsycsdzgu0dm769exuk8ysfxs9de09fpy8n4pmrkx9uu3uwhyv5gmqpx3ezw&#39;&gt;nevent1q…3ezw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-26&lt;br/&gt;📝 Original message:Hi Billy!&lt;br/&gt;&lt;br/&gt;See above, but to break down that situation a bit further, these are the&lt;br/&gt;&amp;gt; two situations I can think of:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    1. The opcode limits user/group A to send the output to user/group B&lt;br/&gt;&amp;gt;    2. The opcode limits user A to send from one address they own to&lt;br/&gt;&amp;gt;    another address they own.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m trying to think of a good use case for this type of opcode. In these&lt;br/&gt;examples, an attacker who compromises the key for user A can&amp;#39;t steal the&lt;br/&gt;money because it can only be sent to user B. So if the attacker wants to&lt;br/&gt;steal the funds, they would need to compromise the keys of both user A and&lt;br/&gt;user B.&lt;br/&gt;&lt;br/&gt;But how is that any better than a 2-of-2 multisig? Isn&amp;#39;t the end result&lt;br/&gt;exactly the same?&lt;br/&gt;&lt;br/&gt;James&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/20210726/688c8adb/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210726/688c8adb/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:57:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9m2mfdxt9gkjf374ggle85xrhc2dmtf42yhfgpkamds5wg87xrtczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsrqwzsz</id>
    
      <title type="html">📅 Original date posted:2021-06-11 📝 Original message:@Billy ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9m2mfdxt9gkjf374ggle85xrhc2dmtf42yhfgpkamds5wg87xrtczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsrqwzsz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz63cr0lulwzacgqfyv550z90j76raa74hsdzjym3zjfv8u9hjqdc8dav3f&#39;&gt;nevent1q…av3f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-11&lt;br/&gt;📝 Original message:@Billy I like the idea. It is very obvious how useful an opcode like this&lt;br/&gt;would be! (My background is in wallet implementation)&lt;br/&gt;&lt;br/&gt;@Russell I do understand your concerns of monotonism, however I&amp;#39;m having a&lt;br/&gt;hard time really coming up with an attack vector. You said &amp;#34;one can design&lt;br/&gt;a wallet to passively take advantage of reorgs by always spending through&lt;br/&gt;an OP_BBV that is on the verge of becoming invalid.&amp;#34; Unless I&amp;#39;m mistaken,&lt;br/&gt;this means you would need to send yourself a fresh transaction using OP_BBV&lt;br/&gt;set to, say, 2 blocks in the future, then immediately spend that output in&lt;br/&gt;a new payment to someone else and hope a reorg happens. Does this mean the&lt;br/&gt;theoretical double-spend wallet you are proposing would have to send two&lt;br/&gt;transactions every time you make a single payment, doubling the transaction&lt;br/&gt;fees and adding more uncertainty around when the second transaction would&lt;br/&gt;get confirmed?&lt;br/&gt;&lt;br/&gt;In a normal double spend scenario, there is no cost to a failed attempt,&lt;br/&gt;but much to gain from a success. With your design, there is a real cost to&lt;br/&gt;every single attempt (transaction fees) and no evidence that the rate of&lt;br/&gt;success would be higher (you still have to bet on the reorg not including&lt;br/&gt;your transaction in the first few blocks). It sounds like this new system&lt;br/&gt;would actually be less attractive to double spenders than the current model!&lt;br/&gt;&lt;br/&gt;I also agree with Billy&amp;#39;s idea for relay rules. We already have abusable&lt;br/&gt;chain rules (e.g. a tx can be included in a block with 0 transaction fee&lt;br/&gt;[spam?]) but we add protection with relay rules (e.g. minimum fee to&lt;br/&gt;relay). I don&amp;#39;t see how this would be any different, if the chain rules&lt;br/&gt;only enforced the block height for confirmation and the relay rules forced&lt;br/&gt;a minimum OP_BBV value in order to protect against reorg double spends.&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Fri, Jun 11, 2021 at 11:00 AM Billy Tetrud via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt;  one can design a wallet to passively take advantage of reorgs&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It does sound like this is the central issue. I can certainly see that&lt;br/&gt;&amp;gt; it&amp;#39;s materially different than current double spending ability. Double&lt;br/&gt;&amp;gt; spending via reorgs today requires either active participation and&lt;br/&gt;&amp;gt; above-average connection to miners or luck.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The easiest method of double spending I can think of is the following.&lt;br/&gt;&amp;gt; Consider if a user broadcasts an RBF transaction as soon as the original&lt;br/&gt;&amp;gt; transaction is mined. I assume the transaction won&amp;#39;t propagate through the&lt;br/&gt;&amp;gt; network because any node that has received the newest block will see it as&lt;br/&gt;&amp;gt; an invalid transaction, is that right? Is there no significant possibility&lt;br/&gt;&amp;gt; that enough of the network hasn&amp;#39;t seen the block yet to transmit the RBF&lt;br/&gt;&amp;gt; transaction widely enough to get incorporated into a reorg? This would&lt;br/&gt;&amp;gt; certainly be something wallets could do automatically. It certainly does&lt;br/&gt;&amp;gt; seem like at very least this would have a much lower success rate than your&lt;br/&gt;&amp;gt; auto-double-spend wallet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In any case, what if we apply the same logic to non-monotonic&lt;br/&gt;&amp;gt; transactions? What if we program nodes to reject such transactions that are&lt;br/&gt;&amp;gt; too close to the borderline? For example, if nodes rejected transactions&lt;br/&gt;&amp;gt; that could expire within 100 blocks, it would be much less likely for this&lt;br/&gt;&amp;gt; kind of thing to be done at point of sale, and there would be a much higher&lt;br/&gt;&amp;gt; chance that whatever recipient that&amp;#39;s willing to wait 100 blocks would be&lt;br/&gt;&amp;gt; willing to wait 6 blocks more to be sure no reorg happens. It would also be&lt;br/&gt;&amp;gt; a lot more likely that the transaction is confirmed well before it might&lt;br/&gt;&amp;gt; expire. Not a perfect solution, to be sure. But it could substantially&lt;br/&gt;&amp;gt; limit the cases and likelihoods that passive double-spend attempts would&lt;br/&gt;&amp;gt; succeed. But miners could still get and include transactions in blocks&lt;br/&gt;&amp;gt; regardless of this, and they have an incentive to (to maximize the fees&lt;br/&gt;&amp;gt; they collect). It at least seems plausible that those incentives would&lt;br/&gt;&amp;gt; undermine this solution.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But it seems like all this is only a problem for people who are&lt;br/&gt;&amp;gt; considering 1 confirmation to be effectively finalized. Users and&lt;br/&gt;&amp;gt; programmatic systems alike simply wait for some condition to be true to&lt;br/&gt;&amp;gt; recognize payment as having completed. Systems could simply be programmed&lt;br/&gt;&amp;gt; so the condition is at least 6 confirmations for any non-monotonic&lt;br/&gt;&amp;gt; transaction, or all transactions. 6 confirmations is the accepted standard&lt;br/&gt;&amp;gt; of finalization, isn&amp;#39;t it? Users looking at their software should be able&lt;br/&gt;&amp;gt; to see that a confirmation has happened but that this isn&amp;#39;t enough to be&lt;br/&gt;&amp;gt; considered finalized. As long as this is standard, no problem should really&lt;br/&gt;&amp;gt; exist, right? Except within incorrectly written software or people taking&lt;br/&gt;&amp;gt; it upon themselves to define finalization on their own. People who accept&lt;br/&gt;&amp;gt; 0-conf transactions are similarly using a non-standard definition of&lt;br/&gt;&amp;gt; finalization and are putting themselves at even greater risk for double&lt;br/&gt;&amp;gt; spends. How would this be any different?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;  there is little point in addressing these lesser concerns if the main&lt;br/&gt;&amp;gt; concern is outstanding&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I agree, it makes the most sense to discuss the above points rather than&lt;br/&gt;&amp;gt; getting into the weeds about more minor issues.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Jun 10, 2021 at 4:20 PM Russell O&amp;#39;Connor &amp;lt;roconnor at blockstream.com&amp;gt;&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As it stands today, in order to double spend a transaction during a&lt;br/&gt;&amp;gt;&amp;gt; reorg, one must take an active role of recognizing that a reorg has&lt;br/&gt;&amp;gt;&amp;gt; happened, hope that the new branch has completely omitted your spending&lt;br/&gt;&amp;gt;&amp;gt; transaction, and then quickly broadcast a replacement transaction with a&lt;br/&gt;&amp;gt;&amp;gt; higher fee to outbid your previous transaction.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; However with, pretty much any change to Bitcoin that leads to&lt;br/&gt;&amp;gt;&amp;gt; non-monotonic validity rules, that is any rule where transactions that are&lt;br/&gt;&amp;gt;&amp;gt; valid at one tip, can become invalid at a latter tip through some other&lt;br/&gt;&amp;gt;&amp;gt; means than their inputs being spent, such as OP_BBV, one can design a&lt;br/&gt;&amp;gt;&amp;gt; wallet to passively take advantage of reorgs by always spending through an&lt;br/&gt;&amp;gt;&amp;gt; OP_BBV that is on the verge of becoming invalid.  Then you just have to sit&lt;br/&gt;&amp;gt;&amp;gt; back and wait for a suitable reorg to take back your UTXO for you without&lt;br/&gt;&amp;gt;&amp;gt; any work.  I would probably attempt to build such a wallet for myself&lt;br/&gt;&amp;gt;&amp;gt; should any OP_BBV-like proposal be implemented.  Think of it as an&lt;br/&gt;&amp;gt;&amp;gt; auto-double spend wallet.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Some people hold the opinion that there is no meaningful distinction&lt;br/&gt;&amp;gt;&amp;gt; between the active and passive roles in these two scenarios.  I&amp;#39;m not&lt;br/&gt;&amp;gt;&amp;gt; convinced.  I see a material difference between needing to actively&lt;br/&gt;&amp;gt;&amp;gt; broadcast a replacement transaction and passively waiting for your&lt;br/&gt;&amp;gt;&amp;gt; transaction to fall out of validity.  I also see a material difference&lt;br/&gt;&amp;gt;&amp;gt; between needing the transaction to be completely omitted from the reorging&lt;br/&gt;&amp;gt;&amp;gt; chain versus just having the transaction fail a height qualification in the&lt;br/&gt;&amp;gt;&amp;gt; reorging chain.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; (There are a few other lesser problems with an OP_BBV proposal, including&lt;br/&gt;&amp;gt;&amp;gt; the fact that Bitcoin software tends to cache script validity so you&amp;#39;d want&lt;br/&gt;&amp;gt;&amp;gt; to use the taproot annex instead of pure script; and a possible issue that&lt;br/&gt;&amp;gt;&amp;gt; the proposal defeats limits on transaction replacement because now instead&lt;br/&gt;&amp;gt;&amp;gt; of meeting minimum thresholds for fee bumping you can just let the previous&lt;br/&gt;&amp;gt;&amp;gt; transaction expire and bump the fee by a fraction (though you are&lt;br/&gt;&amp;gt;&amp;gt; effectively rate limited so maybe that is considered sufficiently&lt;br/&gt;&amp;gt;&amp;gt; mitigated?).  But there is little point in addressing these lesser concerns&lt;br/&gt;&amp;gt;&amp;gt; if the main concern is outstanding.)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Thu, Jun 10, 2021 at 6:20 PM Billy Tetrud &amp;lt;billy.tetrud at gmail.com&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; @Russell In that thread, you quoted Satoshi there, but neither he nor&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you really deeply explained the concern. Would you mind elaborating on a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; situation that calls for concern here? Some deeper explanation of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#34;reorg safety&amp;#34; property would also be helpful. I&amp;#39;d very much like to know&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; what your thoughts are on the specific points I brought up in the BIP as&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; well.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On Thu, Jun 10, 2021 at 11:35 AM Russell O&amp;#39;Connor &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; roconnor at blockstream.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This is a continuation of the thread at&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-April/018760.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-April/018760.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; on this topic.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I still remain unconvinced that we ought to give up on the &amp;#34;reorg&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; safety&amp;#34; property that is explicitly part of Bitcoin&amp;#39;s design.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Thu, Jun 10, 2021 at 1:56 PM Billy Tetrud via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 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;&amp;gt; Hi Everyone,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;d like to open a discussion of an opcode I call OP_BEFOREBLOCKVERIFY&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (OP_BBV) which is similar to ones that have been discussed before (eg&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OP_BLOCKNUMBER). The opcode is very simple: the it takes as a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; parameter a number representing a block height, and marks the transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; invalid if the current block the transaction is being evaluated for is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; greater than or equal to that block height, the transaction is invalid. I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; wrote up a bip for OP_BBV here&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&#34;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bbv/bip-beforeblockverify.md&amp;gt&#34;&gt;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bbv/bip-beforeblockverify.md&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; .&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The motivation for this opcode is primarily to do switch-off kinds of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transactions. Eg, an output that contains both a spend path that uses&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OP_BBV and a spend path that uses OP_CHECKSEQUENCEVERIFY so that before a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; particular block one person can spend, and after that block a different&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; person can spend. This can allow doing things like expiring payments or&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; reversible payments in a cheaper way. Currently, things like that require a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; sequence of multiple transactions, however OP_BBV can do it in a single&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transaction, making these applications a lot more economically feasible.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The particular application I&amp;#39;m most interested in is more efficient&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; wallet vaults. However, wallet vaults requires other new opcodes, and I&amp;#39;ve&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; been given the (good, I think) advice to start off this discussion with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; something a bit more bite sized and manageable. So I want to keep this&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; discussion to OP_BBV and steer away from the specifics of the wallet vaults&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;m thinking of (which are more involved, requiring other new opcodes that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I think makes more sense to discuss in a different thread).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The main thing I&amp;#39;d like to discuss is the historical avoidance of and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; stigma toward opcodes that can cause a valid transaction to become invalid.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It seems there are two concerns:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1. that an opcode like might create a DOS vector where a malicious&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; actor might be able to spam the mempool with transactions containing this&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; opcode.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2. that an opcode like this could cause &amp;#34;bad&amp;#34; reorg behavior, where in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; a reorg, transactions that were spent become not spend and not spendable&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; because they were mined too near their expiry point.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; While I don&amp;#39;t want to claim anything about opcodes that can cause&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; spend paths to expire in general, I do want to claim that *some* opcodes&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; like that are safe - in particular OP_BBV. In the context of OP_BBV&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; specifically, it seems to me like item 1 (mempool handling) is a solvable&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; problem and that point 2 (reorg issues) is not really a problem since&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; people should generally be waiting for 6 confirmations and software can&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; warn the user to wait for 6 confirmations in relevant scenarios where a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 6-block reorg might reverse the transaction. I discuss this in detail in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the Design Tradeoffs and Risks&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&#34;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bbv/bip-beforeblockverify.md#transaction-expiry&amp;gt&#34;&gt;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/bbv/bip-beforeblockverify.md#transaction-expiry&amp;gt&lt;/a&gt;; section&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the document I wrote for OP_BBV. I&amp;#39;d love to hear thoughts from others&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; on here about these things and especially the discussion of these issues in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the document I linked to.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Thanks,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; BT&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;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;&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;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;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;-------------- 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/20210611/65d0b138/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210611/65d0b138/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:54:38Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs280sajrr3ev6da4zyknqnx0h2a6sde9cjvy5scf5m5kl50r7v27szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js6a72ha</id>
    
      <title type="html">📅 Original date posted:2021-06-15 📝 Original message:@Lloyd ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs280sajrr3ev6da4zyknqnx0h2a6sde9cjvy5scf5m5kl50r7v27szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js6a72ha" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8jweh7ayg4rfxksaf6d6n7lc57varht9uxvquz6ypslxksq4uktqx9k5ju&#39;&gt;nevent1q…k5ju&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-15&lt;br/&gt;📝 Original message:@Lloyd wrote:&lt;br/&gt;&lt;br/&gt;Of course in reality no one wants to keep their coin holding keys online so&lt;br/&gt;&amp;gt; in Alogorand you can authorize a set of &amp;#34;participation keys&amp;#34;[1] that will&lt;br/&gt;&amp;gt; be used to create blocks on your coin holding key&amp;#39;s behalf.&lt;br/&gt;&amp;gt; Hopefully you&amp;#39;ve spotted the problem.&lt;br/&gt;&amp;gt; You can send your participation keys to any malicious party with a nice&lt;br/&gt;&amp;gt; website (see random example [2]) offering you a good return.&lt;br/&gt;&amp;gt; Damn it&amp;#39;s still Proof-of-SquareSpace!&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I believe we are talking about a comparison to PoW, correct? If you want to&lt;br/&gt;mine PoW, you need to buy expensive hardware and configure it to work, and&lt;br/&gt;wait a long time to get any return by solo mining. Or you can join a mining&lt;br/&gt;pool, which might use your hashing power for nefarious purposes. Or you&lt;br/&gt;might skip the hardware all together and fall for some &amp;#34;cloud mining&amp;#34;&lt;br/&gt;scheme with a pretty website and a high rate of advertised return. So as&lt;br/&gt;you can see, Proof-of-SquareSpace exists in PoW as well!&lt;br/&gt;&lt;br/&gt;The PoS equivalent of buying mining hardware is setting up your own&lt;br/&gt;validator and not outsourcing that to anyone else. So both PoW and PoS have&lt;br/&gt;the professional/expert way of participating, and the fraud-prone, amateur&lt;br/&gt;way of participating. The only difference is, with PoS the&lt;br/&gt;professional/expert way is accessible to anyone with a raspberry Pi and a&lt;br/&gt;web connection, which is a much lower barrier to entry than PoW.&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/20210615/b25a4a2e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210615/b25a4a2e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:54:15Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqaq4zrfer0l476k9f6cfwnvvld3semvanupy5arwjlzcefgeld8szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jscshae2</id>
    
      <title type="html">📅 Original date posted:2019-03-05 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqaq4zrfer0l476k9f6cfwnvvld3semvanupy5arwjlzcefgeld8szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jscshae2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgks0y2k8dka9dywuhdnradwyev5hxjqza28y2u5ftkr83lu2z2gc3t0nqd&#39;&gt;nevent1q…0nqd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-03-05&lt;br/&gt;📝 Original message:On Tue, Mar 5, 2019 at 4:39 PM Trey Del Bonis via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Keeping 20 around is a little excessive but it gives 390700800 possible&lt;br/&gt;&amp;gt; wallets. So security can be trivially parameterized based on how secure you&lt;br/&gt;&amp;gt; want your wallet to be if someone finds your stash.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Mid-level hardware can check 50k addresses per second, which means it would&lt;br/&gt;only take around 2 hours to check all possibilities. So please don&amp;#39;t think&lt;br/&gt;this presents any kind of challenge to someone who finds your 20 pieces of&lt;br/&gt;paper and assumes you would only keep them if they are hiding your wallet ;)&lt;br/&gt;&lt;br/&gt;Entropy-wise, simply using a strong RNG would provide a better result than&lt;br/&gt;relying on the printing company. Maybe they only print 35 different&lt;br/&gt;combinations and assume people don&amp;#39;t eat Chinese food enough to notice?&lt;br/&gt;&lt;br/&gt;If it&amp;#39;s poor entropy and doesn&amp;#39;t really provide any protection against&lt;br/&gt;being brute forced if found, I&amp;#39;m not sure why you would want to go&lt;br/&gt;this route :)&lt;br/&gt;&lt;br/&gt;James&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/20190305/e39b7baf/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190305/e39b7baf/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs07qrpazy0nzzxjgalrk39yw7elqreqp608p3922w5gf5frvf5fhgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js5s6jhg</id>
    
      <title type="html">📅 Original date posted:2019-02-07 📝 Original message:Oooh, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs07qrpazy0nzzxjgalrk39yw7elqreqp608p3922w5gf5frvf5fhgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js5s6jhg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst7kpw554fmnkjvq7498d757tc8nr076mfuf582qzcda4zm94su0gpses4s&#39;&gt;nevent1q…es4s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-02-07&lt;br/&gt;📝 Original message:Oooh, that&amp;#39;s cool. I didn&amp;#39;t realize Ian&amp;#39;s support for cards looks so slick&lt;br/&gt;now!&lt;br/&gt;&lt;br/&gt;Thanks for the image.&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Wed, Feb 6, 2019 at 7:55 AM Alan Evans via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Image didn&amp;#39;t seem to attach:&lt;br/&gt;&amp;gt; [image: image.png]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Wed, 6 Feb 2019 at 09:48, Alan Evans &amp;lt;thealanevans at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; It&amp;#39;s not quite enough to just do SHA512, you missed out this condition&lt;br/&gt;&amp;gt;&amp;gt; (incredibly rare as it is):&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; In case IL is 0 or ≥n, the master key is invalid.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Also I can&amp;#39;t see how I would use this to seed a hardware wallet that&lt;br/&gt;&amp;gt;&amp;gt; requires a BIP39 seed as mentioned in your abstract.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For both of those reasons, you may want to just invent/formalize a scheme&lt;br/&gt;&amp;gt;&amp;gt; that takes Cards -&amp;gt; Entropy.&lt;br/&gt;&amp;gt;&amp;gt; From that Entropy one can generate BIP39, and non-BIP39 fans can just&lt;br/&gt;&amp;gt;&amp;gt; continue, generate and store their root xprv.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Prior art: Note that Ian Coleman&amp;#39;s BIP39 site already supports Cards (and&lt;br/&gt;&amp;gt;&amp;gt; Dice), see the logic here:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://github.com/iancoleman/bip39/blob/master/src/js/entropy.js&#34;&gt;https://github.com/iancoleman/bip39/blob/master/src/js/entropy.js&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [image: image.png]&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Note it detected &amp;#34;full deck&amp;#34;. It also calculates the Total Bits of&lt;br/&gt;&amp;gt;&amp;gt; Entropy and can handle card replacement and multiple decks.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; PS, you&amp;#39;re a bit out on your entropy calculation, log2(52!) ~= 225.58&lt;br/&gt;&amp;gt;&amp;gt; bits, not 219.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tue, 5 Feb 2019 at 02:08, Devrandom via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I would suggest 50&#43; 6-sided dice rolls, giving about 128 bits of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; entropy.  Compared to a shuffle, it&amp;#39;s easier to be sure that you got the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; right amount of entropy, even if the dice are somewhat biased.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On Mon, Feb 4, 2019 at 2:33 PM James MacWhyte via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 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;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; James&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;&amp;gt; On Sun, Feb 3, 2019 at 10:27 AM Ryan Havar via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 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;&amp;gt; Conveniently a shuffled deck of cards also can serve as a physical&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; backup which is easy to hide in plain sight with great plausible&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; deniability.&lt;br/&gt;&amp;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;&amp;gt; To make sure someone doesn&amp;#39;t play with your cards and mix up the order,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; use a permanent marker to draw a diagonal line on the side of the deck from&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; corner to corner. If the cards ever get mixed up, you can put them back in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; order by making sure the diagonal line matches up.&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;&amp;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;&amp;gt;&lt;br/&gt;&amp;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;-------------- 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/20190206/8923303d/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190206/8923303d/attachment-0001.html&amp;gt&lt;/a&gt;;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: image.png&lt;br/&gt;Type: image/png&lt;br/&gt;Size: 176797 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/20190206/8923303d/attachment-0001.png&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190206/8923303d/attachment-0001.png&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:19Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswgrxrawrjg97gdwe3tm4ztsmdd8jnpga7yy7npxnnvdq6wy8qsrqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js65q5a4</id>
    
      <title type="html">📅 Original date posted:2019-02-04 📝 Original message:James ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswgrxrawrjg97gdwe3tm4ztsmdd8jnpga7yy7npxnnvdq6wy8qsrqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js65q5a4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyu5g2myfnzwcw2n53yph4w02lt72sxg94rt4ypmx067kjyd9y67cx9rr57&#39;&gt;nevent1q…rr57&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-02-04&lt;br/&gt;📝 Original message:James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Sun, Feb 3, 2019 at 10:27 AM Ryan Havar via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Conveniently a shuffled deck of cards also can serve as a physical backup&lt;br/&gt;&amp;gt; which is easy to hide in plain sight with great plausible deniability.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;To make sure someone doesn&amp;#39;t play with your cards and mix up the order, use&lt;br/&gt;a permanent marker to draw a diagonal line on the side of the deck from&lt;br/&gt;corner to corner. If the cards ever get mixed up, you can put them back in&lt;br/&gt;order by making sure the diagonal line matches up.&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/20190204/67e4ffe2/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190204/67e4ffe2/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:18Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8x43fjp2zgq57yle2znpx08xqswfs4q6peygvn3cnkjjygpvhzlszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8hehuq</id>
    
      <title type="html">📅 Original date posted:2019-01-30 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8x43fjp2zgq57yle2znpx08xqswfs4q6peygvn3cnkjjygpvhzlszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8hehuq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstkmemdu6jmlsre63cezzqfp6jz2t35stjep8np4wyl2dl3g7j0sqwzsp0d&#39;&gt;nevent1q…sp0d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-01-30&lt;br/&gt;📝 Original message:On Tue, Jan 29, 2019 at 6:46 PM &amp;lt;rhavar at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If the sender refuses to sign the final transaction, the receiver just&lt;br/&gt;&amp;gt; propagates the template transaction which pays the receiver! So it&amp;#39;s a&lt;br/&gt;&amp;gt; pretty weak attack.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The only real attack is that the sender could double-spend the&lt;br/&gt;&amp;gt; template-transaction before it&amp;#39;s propagated, but the cost of doing this&lt;br/&gt;&amp;gt; isn&amp;#39;t free, as at the very least you need to pay the transaction fees of&lt;br/&gt;&amp;gt; creating a double spend. It&amp;#39;s not an amazingly good defence, but it&amp;#39;s good&lt;br/&gt;&amp;gt; enough that it&amp;#39;s unlikely to get abused (and an attacker would only learn a&lt;br/&gt;&amp;gt; single utxo of the receiver) .&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Okay, I see what you mean. I better understand the weaknesses you&amp;#39;ve&lt;br/&gt;identified, and I can&amp;#39;t really think of a better solution than what you&amp;#39;ve&lt;br/&gt;proposed. I also realized that implementors who aren&amp;#39;t capable of&lt;br/&gt;integrating signing and UTXO validation wouldn&amp;#39;t be the ones trying to&lt;br/&gt;implement this feature, so my concerns there are also moot. Carry on ;)&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/20190130/f26a6e84/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190130/f26a6e84/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:06Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxsy20zc9yqneezshmyaxyucf284420jp50qsv6a0wggsxdw0gqdqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsfvuks9</id>
    
      <title type="html">📅 Original date posted:2019-01-30 📝 Original message:James ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxsy20zc9yqneezshmyaxyucf284420jp50qsv6a0wggsxdw0gqdqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsfvuks9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9nf89m0daxrhkj3akeafmjzed26uhuajtg9ltm68edwc4canzzdq3xtx0n&#39;&gt;nevent1q…tx0n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-01-30&lt;br/&gt;📝 Original message:James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Sun, Jan 27, 2019 at 2:11 PM &amp;lt;rhavar at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It isn&amp;#39;t passed &amp;#34;back and forth so many times&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;You are right, I got the wrong impression the first time I read it.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; This is an important anti-DoS/anti-spy tactic, as it proves the sender&lt;br/&gt;&amp;gt; actually owns those inputs and if the protocol is not followed to&lt;br/&gt;&amp;gt; completion, the transaction can be dumped on the network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not convinced this is a valid concern, at least not valid enough to add&lt;br/&gt;extra complications to the process. The sender could still refuse to sign&lt;br/&gt;the final transaction after they see the recipient&amp;#39;s in-/outputs; &amp;#34;show me&lt;br/&gt;yours and I&amp;#39;ll show you mine&amp;#34; isn&amp;#39;t much of a spy deterrent, and nothing&lt;br/&gt;here prevents a DOS attack.&lt;br/&gt;&lt;br/&gt;As an implementor, I would suggest keeping the protocol as simple as&lt;br/&gt;possible. By dropping the signing in the first step, the recipient doesn&amp;#39;t&lt;br/&gt;need to maintain the ability to lookup and verify unspent outputs. It also&lt;br/&gt;would enforce the increased privacy, which the sender obviously wants if&lt;br/&gt;they are going down this path (in other words, either have the process&lt;br/&gt;complete or fail -- don&amp;#39;t give the recipient the ability to broadcast the&lt;br/&gt;not-private transaction against the wishes of the sender).&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/20190129/e3d08376/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190129/e3d08376/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:05Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsyt7zmjk9aztrfm9a6008xs5l4f7e6593kdgdyemgh33fw6m4m8yczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js0gjwjc</id>
    
      <title type="html">📅 Original date posted:2019-01-27 📝 Original message:Why ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsyt7zmjk9aztrfm9a6008xs5l4f7e6593kdgdyemgh33fw6m4m8yczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js0gjwjc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfk06jpuuf0dz9apsvl6lycxluk3dwadxjs7d92q8yj5vcdrr8s6cz46p09&#39;&gt;nevent1q…6p09&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-01-27&lt;br/&gt;📝 Original message:Why does the template transaction need to be signed in step one and passed&lt;br/&gt;back and forth so many times? What is wrong with:&lt;br/&gt;&lt;br/&gt;1. Sender creates unsigned tx with their relevant inputs and outputs. This&lt;br/&gt;tx is passed to receiver.&lt;br/&gt;&lt;br/&gt;2. Receiver adds their relevant inputs and outputs and signs their portion&lt;br/&gt;before returning the tx to sender.&lt;br/&gt;&lt;br/&gt;3. Sender confirms their inputs and outputs have not been modified, and&lt;br/&gt;signs the remainder of the tx before broadcasting it (or sending it to the&lt;br/&gt;recipient if you want to follow the payment protocol spec).&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;On Sun, Jan 27, 2019, 08:45 Adam Gibson via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 27. 01. 19 8:36, rhavar at protonmail.com wrote:&lt;br/&gt;&amp;gt; &amp;gt; Thanks Adam,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I have fixed the mistakes you have pointed out:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/pull/754&#34;&gt;https://github.com/bitcoin/bips/pull/754&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thanks for the detailed look!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; but its virtue of steganographic hiding means only minimal uptake&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; is still enormously interesting and worth pursuing; that&amp;#39;s my current&lt;br/&gt;&amp;gt; feeling.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I very much agree =) I really think anything that (silently) breaks the&lt;br/&gt;&amp;gt; assumption of common ownership of transaction inputs offers outsized&lt;br/&gt;&amp;gt; benefits for the whole ecosystem.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; One other idea I have  is (way) better support for moving utxo&amp;#39;s between&lt;br/&gt;&amp;gt; wallets. The least controversial use case is moving funds between wallets&lt;br/&gt;&amp;gt; you own. Like I might want to move *specific* utxo&amp;#39;s from/to my joinmarket&lt;br/&gt;&amp;gt; wallet, but not create a (privacy losing / expensive) transaction. Both&lt;br/&gt;&amp;gt; core and joinmarket fail at this at a practical point of view.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (tangential, but yes coin control in JM is an obviously necessary&lt;br/&gt;&amp;gt; feature and will be done, I just don&amp;#39;t have time).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Like imho it&amp;#39;d be pretty cool having a standardized format for&lt;br/&gt;&amp;gt; (txid:vout:privatekey) with wallets showing it as &amp;#34;External UTXO&amp;#34; and&lt;br/&gt;&amp;gt; preferentially spending it (and wallet not automatically importing any&lt;br/&gt;&amp;gt; other utxo from that address).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Taken a bit further (this is the part which everyone hates) you could&lt;br/&gt;&amp;gt; send someone money (or withdraw it from a service) by giving a person. It&amp;#39;s&lt;br/&gt;&amp;gt; not generally useful (for obvious reasons), but there&amp;#39;s a lot of cases I&lt;br/&gt;&amp;gt; think it&amp;#39;s super cool.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there a missing word. &amp;#34;by giving a person..&amp;#34;? Not actually sure what&lt;br/&gt;&amp;gt; you&amp;#39;re getting at here but I suspect it&amp;#39;s again tangential to this BIP&lt;br/&gt;&amp;gt; discussion.&lt;br/&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; Getting back on topic, without trying to do a point-by-point reply, I&lt;br/&gt;&amp;gt; agree with pretty much everything you said but I am reluctant to make any&lt;br/&gt;&amp;gt; changes.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I don&amp;#39;t meant to be obtuse or anything, but I strongly believe the&lt;br/&gt;&amp;gt; limiting factor to adoption to all these protocols is actually just getting&lt;br/&gt;&amp;gt; people to implement it. I made multiple implementations of bustapay from&lt;br/&gt;&amp;gt; both the sending/receiving end, so I could try develop the easiest to&lt;br/&gt;&amp;gt; implement system that is still practical.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You know, there&amp;#39;s considerable evidence to the contrary, I&amp;#39;d argue: this&lt;br/&gt;&amp;gt; idea *has* been implemented already three times: by yourself, by myself&lt;br/&gt;&amp;gt; and by Samourai. And in fully incompatible ways :) So I think the&lt;br/&gt;&amp;gt; limiting factor is in fact creating a standard that a reasonable number&lt;br/&gt;&amp;gt; of people could agree with (and I like operational definitions, so&lt;br/&gt;&amp;gt; subjective as it is, I like the goal of &amp;#34;good/clear enough that it could&lt;br/&gt;&amp;gt; be incorporated into something like BtcPayServer&amp;#34;)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; For instance I like PSBT and it&amp;#39;s nice in theory. I actually had an&lt;br/&gt;&amp;gt; original implementation using it, which is how I found some bugs in the&lt;br/&gt;&amp;gt; core and golang version of PSBT). But in practice it&amp;#39;s hugely overkill and&lt;br/&gt;&amp;gt; significantly increases the implementation complexity complexity and is&lt;br/&gt;&amp;gt; poorly supported. Switching to just a raw transaction actually made&lt;br/&gt;&amp;gt; everything easier. (And that&amp;#39;s not to criticise PSBT, I would definitely&lt;br/&gt;&amp;gt; want to use it in other contexts).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But this relates back to my first &amp;#34;generic&amp;#34; point that you haven&amp;#39;t&lt;br/&gt;&amp;gt; addressed here - protocol versioning and the possibility of more than&lt;br/&gt;&amp;gt; one option. Perhaps more realistic (debatable): have the current version&lt;br/&gt;&amp;gt; be non-PSBT but with a plan to have a version bump with PSBT in future.&lt;br/&gt;&amp;gt; Stuff like that. It seems crazy to actually long term reject it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Anyway, a big motivation for me even writing it as a BIP was to&lt;br/&gt;&amp;gt; formalize my little anti-DOS trick of privately creating a &amp;#34;template&lt;br/&gt;&amp;gt; transaction&amp;#34; which can just be dumped on the network as punishment. So if&lt;br/&gt;&amp;gt; nothing else, hopefully I&amp;#39;ll have demonstrated it&amp;#39;s a pretty practical way&lt;br/&gt;&amp;gt; of doing things.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t want to be that guy, but this was a central part of the proposal&lt;br/&gt;&amp;gt; that came of the meetup last summer and is in Haywood&amp;#39;s blogpost. I mean&lt;br/&gt;&amp;gt; if you came up it with separately, then cool :) But I was there, that&lt;br/&gt;&amp;gt; was established immediately as the right way of doing this to avoid a&lt;br/&gt;&amp;gt; trivial attack.&lt;br/&gt;&amp;gt; What might have confused you is all that stuff about multiple candidates&lt;br/&gt;&amp;gt; and even ZKP approaches - those were just extra ideas about making it&lt;br/&gt;&amp;gt; really secure at large scale; but those ideas don&amp;#39;t quite meet the goal&lt;br/&gt;&amp;gt; (for various reasons); well, arguably. The basic anti-DOS of an initial&lt;br/&gt;&amp;gt; non-coinjoin was sorta central.&lt;br/&gt;&amp;gt; (Also I&amp;#39;m noting you didn&amp;#39;t respond to my critique of your &amp;#34;always use&lt;br/&gt;&amp;gt; the same contributions&amp;#34; defence; I mean, probably that&amp;#39;s fine, it was&lt;br/&gt;&amp;gt; only really saying it isn&amp;#39;t perfect. Was just curious to hear&lt;br/&gt;&amp;gt; your/others thoughts on it).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Also your analysis on &amp;#34;Unnecessary Input Heuristic&amp;#34; is pretty cool, but&lt;br/&gt;&amp;gt; I also don&amp;#39;t like telling people to &amp;#34;avoid the UIH2&amp;#34; without providing the&lt;br/&gt;&amp;gt; actual algo they should use. But really I think it&amp;#39;s better off in a sort&lt;br/&gt;&amp;gt; of article &amp;#34;how to pick contributed inputs&amp;#34; or something, as while it&amp;#39;s&lt;br/&gt;&amp;gt; nice it&amp;#39;s not a huge deal and there&amp;#39;s a lot of debatable tradeoffs that&lt;br/&gt;&amp;gt; can/should be used. For instance the implementation I wrote for&lt;br/&gt;&amp;gt; bustabit.com currently just heavily biases tainted inputs (e.g. ones&lt;br/&gt;&amp;gt; associated with address reuse).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Good point about algo.&lt;br/&gt;&amp;gt; I wrote my best effort at a procedure here:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2799709&#34;&gt;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2799709&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I asked for comments on it but got none back so far (gists are terrible&lt;br/&gt;&amp;gt; for this unfortunately, perhaps I&amp;#39;ll have more luck on the list).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I would argue that this issue *should* be mentioned on the BIP. A *huge*&lt;br/&gt;&amp;gt; part of what makes PayJoin/BustaPay of interest is the steganographic&lt;br/&gt;&amp;gt; feature, if you don&amp;#39;t pay attention to this then it doesn&amp;#39;t look like a&lt;br/&gt;&amp;gt; payment (caveat.--&amp;gt;).&lt;br/&gt;&amp;gt; The counterargument is Laurent&amp;#39;s statistics which I previously linked,&lt;br/&gt;&amp;gt; suggesting that maybe 30% of txs violate this anyway, today. I&amp;#39;m not&lt;br/&gt;&amp;gt; sure about that, will need more analysis; Core&amp;#39;s SRD algo may be one&lt;br/&gt;&amp;gt; reason, but anyway ... better to make things look like payments.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It doesn&amp;#39;t hurt to prompt an implementer to do this; whether it&amp;#39;s&lt;br/&gt;&amp;gt; feasible in that specific wallet situation or not is up to them; whether&lt;br/&gt;&amp;gt; they want to go hog wild and control percentages of UIH1 and UIH2 and&lt;br/&gt;&amp;gt; whatnot is there business, or they can totally ignore it - but without&lt;br/&gt;&amp;gt; it being mentioned in the BIP, they may not even think of it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A last point, you also don&amp;#39;t see value in being more explicit about&lt;br/&gt;&amp;gt; simple things like transaction version and locktime? Even if you think&lt;br/&gt;&amp;gt; these things should *not* be controlled, e.g. the protocol should allow&lt;br/&gt;&amp;gt; either transaction version, then it&amp;#39;d be better to explicitly say so.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; -Ryan&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; &amp;gt; On Friday, January 25, 2019 6:47 AM, Adam Gibson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Ryan and list,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; I want to add some commentary to this (BIP79) to see if we can get&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; further in standardizing this idea.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; When I first mulled it over I thought it too impractical, but its virtue&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; of steganographic hiding means only minimal uptake is still enormously&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; interesting and worth pursuing; that&amp;#39;s my current feeling. I&amp;#39;ve offered&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; more detailed thoughts in my blog post[1] (def not required reading&lt;br/&gt;&amp;gt; here).&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Both Joinmarket and Samourai have started implementing this kind of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; transaction. And while that&amp;#39;s interesting experimentally, some kind of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; cross-wallet standard would be helpful, albeit there some differences&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; between that and the merchant/centralized service use-case.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; We might imagine as a concrete goal for this BIP to create something&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; that would be acceptable for inclusion into a project like BTCPayServer,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; so that it could be used in a realistic use case by smaller bitcoin&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; accepting merchants.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Comments to the BIP[2] as follows, with generic comments first, and then&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; specific comments for existing points in the BIP:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; [1] &lt;a href=&#34;https://joinmarket.me/blog/blog/payjoin&#34;&gt;https://joinmarket.me/blog/blog/payjoin&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; [2] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0079.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0079.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Generic comments&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; -   Protocol versioning. Since inevitably (even if only merchants), this&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     must be implemented by multiple wallets to be useful, the&lt;br/&gt;&amp;gt; communication&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     protocol will need versioning (for example i have in my&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     simple/experimental Joinmarket PayJoin that sender sends min and max&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     supported version and receiver responds with a chosen protocol&lt;br/&gt;&amp;gt; version&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     so we can update). I do understand that as a client-server model can&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     apply here, we can ditch a lot of the complexities around&lt;br/&gt;&amp;gt; network/p2p&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     interaction, but this much at least seems necessary.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; -   Although it has its logic, I don&amp;#39;t think &amp;#34;Bustapay&amp;#34; is a good name&lt;br/&gt;&amp;gt; for&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     this protocol. I prefer &amp;#34;PayJoin&amp;#34; which is neutral sounding and&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     self-descriptive. Needless to say this is not a hill I intend to&lt;br/&gt;&amp;gt; die on.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; -   PSBT/BIP174. I realise this has already been discussed, but this is&lt;br/&gt;&amp;gt; a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     good example of what this standardisation was designed for, so I&amp;#39;d&lt;br/&gt;&amp;gt; be&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     against not including it, even given the reality that, as you&lt;br/&gt;&amp;gt; correctly&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     observe, it is not yet implemented in the majority of wallets and&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     libraries. One way round that is to make it optional (possibly&lt;br/&gt;&amp;gt; combined&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     with above point about versioning). Note that for example you were&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     observing the necessity to check the sequence number was unchanged;&lt;br/&gt;&amp;gt; that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     would be encapsulated by checking equality of PSBT Input&lt;br/&gt;&amp;gt; objects/fields.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     While one can make such software architecture arguments, the really&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     fundamental point is the need for standards for x-wallet&lt;br/&gt;&amp;gt; compatibility.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; -   Version, Locktime: Perhaps this is not needed; in a peer to peer&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     wallet scenario I think there might be logic in trying to get cover&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     traffic of (Core, Electrum, others), say, by using&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     last-block-locktime-mostly, as they do. Version should be 2 and&lt;br/&gt;&amp;gt; sequence&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     is a function of your suggestion to use BIP125. Worth noting that&lt;br/&gt;&amp;gt; BIP125&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     is not currently widely used on the network, though (see&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     &lt;a href=&#34;https://p2sh.info/dashboard/db/replace-by-fee?orgId=1&#34;&gt;https://p2sh.info/dashboard/db/replace-by-fee?orgId=1&lt;/a&gt;). For this&lt;br/&gt;&amp;gt; reason&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     it should perhaps be explicitly only optional.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; -   Avoidance of non-payment &amp;#34;Unnecessary Input Heuristic&amp;#34; (1, 2). For&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     reference, see the definition here&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2796539&#34;&gt;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2796539&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     and some data here&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2800791&#34;&gt;https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e#gistcomment-2800791&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     (whole comment thread may be of interest) - note this UIH name is&lt;br/&gt;&amp;gt; afaik&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Chris Belcher&amp;#39;s invention, it seems useful as a categorisation.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     So, it seems that UIH2 is more important to avoid; while some more&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     sophisticated wallet coin selection algorithms may occasionally pick&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     an input set where one input is larger than any output, most won&amp;#39;t,&lt;br/&gt;&amp;gt; and&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     some in particular never will. So I think the text here should&lt;br/&gt;&amp;gt; indicate&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     that *the receiver&amp;#39;s contributed input(s) SHOULD be chosen to avoid&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     triggering the UIH2 heuristic where possible, so that the final&lt;br/&gt;&amp;gt; payjoin&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     transaction is maximally plausible as an ordinary payment&amp;#34; or&lt;br/&gt;&amp;gt; similar.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     UIH1 is a nice-to-have (meaning the plausibility extends to two&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     different (both wrong) payment amounts, but it may not be necessary&lt;br/&gt;&amp;gt; to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     mention it in the BIP.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Specific comments&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     =================&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; ====Step 4. Receiver validates, re-signs, and propagates on the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; bitcoin network====&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; I believe this should say &amp;#34;Sender&amp;#34; not Receiver. Also for the next&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; sentence, s/receiver/sender/:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; The receiver MUST validate the &amp;#39;&amp;#39;partial transaction&amp;#39;&amp;#39; was changed&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; correctly and non-maliciously (to allow using potentially untrusted&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; communication channels), re-sign its original inputs and propagate the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; final transaction over the bitcoin network.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Your very correct highlighting of the attack vector of &amp;#34;receiver gives&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; sender other inputs belonging to sender to unwittingly sign (described&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; below), should be highlighted here, perhaps with the phrase &amp;#34;re-sign its&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; ORIGINAL inputs&amp;#34; (only!)&amp;#34;.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; When the sender is creating a &amp;#34;template transaction&amp;#34; it is done&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; almost identically to creating a normal send, with the exception that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; only segwit inputs may be used. The sender is also encouraged to use a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; slightly more aggressive feerate than usual as well as BIP125 (Opt-in&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Full Replace-by-Fee Signaling), but neither is strictly required.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &amp;#34;slightly more aggressive feerate than usual&amp;#34; - this I understand is to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; make up for receiver contributed utxo, OK.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &amp;#34;only segwit inputs&amp;#34; - it certainly makes things simpler. One can work&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; with non-segwit inputs but especially considering (as mentioned below)&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; we really ought to &amp;#34;MUST&amp;#34; the part about matching input types, I tend to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; agree that non-segwit should be disallowed.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; The receiver must add at least one input to the transaction (the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &amp;#34;contributed inputs&amp;#34;). If the receiver has no inputs, it should use a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; 500 internal server error, so the client can send the transaction as per&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; normal (or try again later).&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Would it not be much simpler for the server to return a different&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; (non-error) response indicating that it will broadcast the template tx&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; in this case?&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; Its generally advised to only add a single contributed input, however&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; they are circumstances where adding more than a single input can be&lt;br/&gt;&amp;gt; useful.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; I don&amp;#39;t see a good reason to advise the use of only 1 input? (but this&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; will also connect with the above generic comment about &amp;#34;UIH&amp;#34;). I guess&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; it&amp;#39;s because of your approach to fees. I&amp;#39;d prefer not to create a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; limitation here.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; To prevent an attack where a receiver is continually sent variations&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; of the same transaction to enumerate the receivers utxo set, it is&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; essential that the receiver always returns the same contributed inputs&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; when it&amp;#39;s seen the same inputs.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; This is an approach to avoiding this problem which has the virtue of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; simplicity, but it seems a little problematic. (1) You must keep a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; mapping of proposed payment utxos to one&amp;#39;s proposed contributed input&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; utxos, but (2) how should this be updated if you need to spend the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; contribution mentioned in (1)? Ironically use of payjoin exacerbates&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; this issue, because it results in a smaller number of utxos being held&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; by the receiver at any one time :) All this considered, I still see the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; value in your approach, but it might end up with a re-attempted payment&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; being rejected. Certainly the more complex suggested solutions coming&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; out of the summer 2018 coinjoin workshop aren&amp;#39;t as practical as this,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; and may be overkill for small merchants/receivers.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; It is strongly preferable that the receiver makes an effort to pick a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; contributed input of the same type as the other transaction inputs if&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; possible.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; I have also thought about this and you could reasonably argue this&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; should be a MUST section in the BIP, that is, if the receiver cannot use&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; inputs of the same type, he should fall back to the template&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; transaction. A mixed-input payjoin/coinjoin is essentially&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; near-perfectly identifiable as such (there is almost zero other usage of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; multi-type-input transactions), which is a very different thing than a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; non-identifiable payjoin transaction. That may or may not be OK to the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; sender. This is debatable though, for sure.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&amp;gt; After adding inputs to the transaction, the receiver generally will&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; want to adjust the output that pays himself by increasing it by the sum&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; of the contributed input amounts (minus any fees he wants to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; contribute). However the only strict requirement is that the receiver&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; must never add or remove inputs, and must not ever decrease any&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; output amount.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &amp;#34;must never add or remove inputs&amp;#34; - did you mean &amp;#34;must never remove&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; inputs&amp;#34;? he surely has to add one! Or, perhaps you mean he must not&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; alter the list of inputs provided by the sender (in which case it should&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; be clarified).&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &amp;#34;must not decrease any output amount&amp;#34; - I initally disagreed with this&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; but it is a better option than the one I currently chose in Joinmarket&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; payjoin (sender pays all fee as long as receiver utxos are not too&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; much). So this means that the receiver either consciously chooses to not&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; increase the fee, meaning the fee rate may be a bit low (hence your&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; earlier comment about being generous, got it), or contributes via the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; payout amount. I guess the latter might break merchant software&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; expecting to have amount output fixed and fees determined by change.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Adam Gibson/waxwing&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; On 30. 08. 18 22:24, Ryan Havar via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I&amp;#39;ve just finished writing an implementing of this, and extremely happy&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; with how it turned out. So I&amp;#39;d like to go and try go down the path of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; more formally describing it and getting some comments and ultimately&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; encourage its wide-spread use.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; ==Abstract==&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; The way bitcoin transactions are overwhelming used is known to leak&lt;br/&gt;&amp;gt; more&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; information than desirable. This has lead to fungibility concerns in&lt;br/&gt;&amp;gt; bitcoin&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and a raise of unreasonably effective blockchain analysis.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Bustapay proposes a simple, practical way to bust these assumptions to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; immediate&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; benefit of the sender and recievers. Furthermore it does so in such a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; way that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; helps recievers avoid utxo bloat, a constant problem for bitcoin&lt;br/&gt;&amp;gt; merchants.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; ==Copyright==&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; This BIP is in the public domain.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; ==Motivation==&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; One of the most powerful heuristic&amp;#39;s employed by those whose goal is to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; undermine&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; bitcoin&amp;#39;s fungiblity has been to assume all inputs of a transaction are&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; signed by&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; a single party. In the few cases this assumption does not hold, it is&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; generally&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; readibly recognizable (e.g. traditional coinjoins have a very obvious&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; structure,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; or multisig outputs are most frequently validated onchain).&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Bustapay requires no changes to bitcoin and creates bitcoin&lt;br/&gt;&amp;gt; transactions&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; that are&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; indistinguishable from normal ones.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; It is worth noting that this specification has been intentionally kept&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; as simple&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; as possible to encourage adoption. There are almost an endless amount&lt;br/&gt;&amp;gt; of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; extensions&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; possible but the harder the implementation of clients/server the less&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; likely it&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; will ever be done. Should bustapay enjoy widespread adoption, a &amp;#34;v2&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; specification&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; will be created with desired extensions.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; ==Specification==&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; A bustapay payment is made from a sender to a receiver.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Step 1. Sender creates a bitcoin transaction paying the receiver&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; This transaction must be fully valid, signed and all inputs must use&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; segwit. This transaction is known as the &amp;#34;template transaction&amp;#34;. This&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; transaction must not be propagated on the bitcoin network.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Step 2. Sender gives the &amp;#34;template transaction&amp;#34; to the receiver&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; This would generally be done as an HTTP POST. The exact URL to submit&lt;br/&gt;&amp;gt; it&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; to could be specified with a bip21 encoded address. Such as&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; bitcoin:2NABbUr9yeRCp1oUCtVmgJF8HGRCo3ifpTT?bustapay=&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://bp.bustabit.com/submit&#34;&gt;https://bp.bustabit.com/submit&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the HTTP body should be the raw transaction hex encoded as text.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Step 3. Receiver processes the transaction and returns a partially&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; signed coinjoin&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; The receiver validates the transaction is valid, pays himself and is&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; eligible for propation. The receiver then adds one of his own inputs&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (known as the &amp;#34;contributed input&amp;#34;) and increase the output that pays&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; himself by the contributed input amount. Doing so will invalidate the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &amp;#34;template transaction&amp;#34;&amp;#39;s original input signatures, so the sender needs&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; to return this &amp;#34;partial transaction&amp;#34; back to the receiver to sign. This&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; is returned as a hex-encoded raw transaction a response to the original&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; HTTP POST request.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Step 4. Receiver validates, re-signs, and propagates on the bitcoin&lt;br/&gt;&amp;gt; network&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; The receiver is responsible in making sure the &amp;#34;partial transaction&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; returned by the sender was changed correctly (it should assume the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; connection has been MITM&amp;#39;d and act accordingly), resign its original&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; inputs and propagates this transaction over the bitcoin network. The&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; client must be aware that the server can reorder inputs and outputs.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Step 5. Receiver observes the finalized transaction on the bitcoin&lt;br/&gt;&amp;gt; network&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Once the receiver has seen the finalized transactions on the network&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; (and has enough confirmations) it can process it like a normal payment&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; for the sent amount (as opposed to the amount that it looks like on the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; network). If the receiver does not see the finalized transaction after&lt;br/&gt;&amp;gt; a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; timeout will propagate the original &amp;#34;template transaction&amp;#34; to ensure&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; payment happens and function a strong anti-DoS mechanism.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; === Implementation Notes ===&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; For anyone wanting to implement bustapay payments, here are some notes&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; for receivers:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   A transaction can easily be checked if it&amp;#39;s suitable for the&lt;br/&gt;&amp;gt; mempool&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     with testmempoolaccept in bitcoin core 0.17&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   Tracking transactions by txid is precarious. To keep your sanity&lt;br/&gt;&amp;gt; make&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     sure all inputs are segwit. But remember segwit does not prevent&lt;br/&gt;&amp;gt; txid&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     malleability unless you validate the transaction. So really make&lt;br/&gt;&amp;gt; sure&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     you&amp;#39;re using testmempoolaccept at the very least&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   Bustapay could be abused by a malicious party to query if you own a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     deposit address or not. So never accept a bustapay transaction&lt;br/&gt;&amp;gt; that pays&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     an already used deposit address&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   You will need to keep a mapping of which utxos people have showed&lt;br/&gt;&amp;gt; you&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     and which you revealed. So if you see them again, you can reveal&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     same one of your own&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   Check if the transaction was already sorted according to BIP69, if&lt;br/&gt;&amp;gt; so&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     ensure the result stays that way. Otherwise probably just shuffle&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     inputs/outpus&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;&amp;gt; Notes for sending applications:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   The HTTP response must not be trusted. It should be fully validated&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     that no unexpected changes have been made to the transaction.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -   The sender should be aware the original &amp;#34;template transaction&amp;#34; may&lt;br/&gt;&amp;gt; be&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     propagated at any time, and in fact can intentionally be&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;       done so for the purpose of RBF as it should have a slightly&lt;br/&gt;&amp;gt; higher fee&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;     rate.&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;&amp;gt; == Credits ==&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; The idea is obviously based upon Dr. Maxwell&amp;#39;s seminal CoinJoin&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; proposal, and reduced scope inspired by a simplification of the &amp;#34;pay 2&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; endpoint&amp;#34; (now offline) blog post by blockstream.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; -Ryan&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; 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;-------------- 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/20190127/7a236457/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190127/7a236457/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:16:04Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspy8snhsj84nesyq0qtlh2gdp9t2hq4cwz668qv5qpnz48yy95jdczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jst5sqn0</id>
    
      <title type="html">📅 Original date posted:2019-01-02 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspy8snhsj84nesyq0qtlh2gdp9t2hq4cwz668qv5qpnz48yy95jdczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jst5sqn0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0v3sh6jmtakdjzphtj3s3aylxx85r0yfu7ynmp65vdz2hj7w7g8qhyndek&#39;&gt;nevent1q…ndek&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-01-02&lt;br/&gt;📝 Original message:On Wed, Jan 2, 2019 at 3:40 AM Alan Evans via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think any method that doesn&amp;#39;t use real entropy, but some fake source of&lt;br/&gt;&amp;gt; randomness, such as a book is asking to be hacked and so is not a&lt;br/&gt;&amp;gt; reasonable idea.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If an algorithm for book text to BIP39 sentence ever became well used,&lt;br/&gt;&amp;gt; common books will be systematically searched for accounts. People will also&lt;br/&gt;&amp;gt; choose their favourite passages, so I would expect to see collisions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;I tend to have this conversation a lot ;) I&amp;#39;m not sure what Aymeric has in&lt;br/&gt;mind, but my suggestions are for use by the small few who properly&lt;br/&gt;understand how these things work. I am not suggesting blockchain.info&lt;br/&gt;require every user to choose a book passage to use as their backup phrase!&lt;br/&gt;&lt;br/&gt;There are so many small things that could be done to make a text input&lt;br/&gt;unique. Choose the X number of words from the start of the Nth sentence.&lt;br/&gt;Replace all punctuation with exclamation points. Combine two sentences from&lt;br/&gt;different pages. It would be nigh impossible to brute force any of these,&lt;br/&gt;and would require hints/instructions from the owner to recover.&lt;br/&gt;&lt;br/&gt;But I admit if this is not intended for standardization, discussing it on&lt;br/&gt;this mailing list is probably unwarranted.&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/20190102/c926eff7/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190102/c926eff7/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:56Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstls29c6jp9rfzzc95gfw0w4q0r4spjpas5s6t65srdrt558ddjwszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js46z9ys</id>
    
      <title type="html">📅 Original date posted:2018-12-26 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstls29c6jp9rfzzc95gfw0w4q0r4spjpas5s6t65srdrt558ddjwszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js46z9ys" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8cqjy2jk7x9r3ekw2lw7ptns20wghmay84m0nfvxqwmkdd6sfj4guyyt0f&#39;&gt;nevent1q…yt0f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-26&lt;br/&gt;📝 Original message:On Wed, Dec 26, 2018 at 11:33 AM Aymeric Vitte &amp;lt;vitteaymeric at gmail.com&amp;gt;&lt;br/&gt;wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; so, even with a tool like yours, they can be misleaded, for example trying&lt;br/&gt;&amp;gt; a few words to replace the missing/incorrect one, get a valid seed and stay&lt;br/&gt;&amp;gt; stuck with it forever trying to play with BIP44/49 to find their keys&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Just a small detail, but my tool actually looks up all the possible&lt;br/&gt;combinations and then finds which one has been used before by looking for&lt;br/&gt;past transactions on the blockchain. Therefore, it won&amp;#39;t tell you your&lt;br/&gt;phrase is correct unless it is a phrase that has actually been used before&lt;br/&gt;(preventing what you described).&lt;br/&gt;&lt;br/&gt;Using some algorithm to take some input and generate a bip39 phrase that&lt;br/&gt;you can use with any bip39 wallet sounds perfectly reasonable.&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/20181226/270226c7/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181226/270226c7/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:52Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspwe5lawdh93g5uwv862tetcnecrqk3lptdgd234exgum3h906ssgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsjyk5wn</id>
    
      <title type="html">📅 Original date posted:2018-12-24 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspwe5lawdh93g5uwv862tetcnecrqk3lptdgd234exgum3h906ssgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsjyk5wn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsflqzvccsne82tlpkekx6euyev5l76tkq6hxrr75gfqtwvgz3hskc8pxg6f&#39;&gt;nevent1q…xg6f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-24&lt;br/&gt;📝 Original message:On Mon, Dec 24, 2018 at 2:48 PM Aymeric Vitte via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t see very well why it&amp;#39;s easier to write n words that you cannot&lt;br/&gt;&amp;gt; choose rather than a 32B BIP32 hex seed, and I have seen many people&lt;br/&gt;&amp;gt; completely lost with their wallets because of this&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;In practice it has quite a few qualities that make it a bit more resilient&lt;br/&gt;for physical (written) storage.&lt;br/&gt;&lt;br/&gt;If a few letters of a word get rubbed off or otherwise become illegible, it&lt;br/&gt;is pretty easy for a native speaker to figure out what the word is supposed&lt;br/&gt;to be. Even a non-native speaker could look through the word list and&lt;br/&gt;figure out which word fits. Missing characters in a hex string require more&lt;br/&gt;advanced brute force searching, which the average user isn&amp;#39;t capable of.&lt;br/&gt;&lt;br/&gt;Additionally, having the bits grouped into words makes a more serious&lt;br/&gt;recovery easier. If you lose one entire word, it can be brute forced in&lt;br/&gt;about 5 minutes on a normal pc, even if you don&amp;#39;t know which position the&lt;br/&gt;missing word is in (I have published a tool that does just this:&lt;br/&gt;&lt;a href=&#34;https://jmacwhyte.github.io/recovery-phrase-recovery&#34;&gt;https://jmacwhyte.github.io/recovery-phrase-recovery&lt;/a&gt;). If you are missing&lt;br/&gt;two words, you can brute force it in about a week (napkin math).&lt;br/&gt;&lt;br/&gt;If you were missing a random chunk of a hex string, I don&amp;#39;t know how you&amp;#39;d&lt;br/&gt;go about brute forcing that in a timely manner.&lt;br/&gt;&lt;br/&gt;As an aside, from a UX standpoint we&amp;#39;ve seen that the 12 words don&amp;#39;t *look*&lt;br/&gt;important so people don&amp;#39;t take them seriously (and they get lost). A hex&lt;br/&gt;string or equivalent would look more password-y, and therefore would most&lt;br/&gt;likely be better protected by users.&lt;br/&gt;&lt;br/&gt;James&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/20181225/81287f18/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181225/81287f18/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxhuu70z3360909d5txs5ahxevy785k2lqt3pngny7l8gh5exm4qqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszfmq0k</id>
    
      <title type="html">📅 Original date posted:2018-12-04 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxhuu70z3360909d5txs5ahxevy785k2lqt3pngny7l8gh5exm4qqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszfmq0k" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswkyskynq6zrzhjp4ac4fsycy97l96zavuf8aul7fh4rrqv3j9qwce4tgt7&#39;&gt;nevent1q…tgt7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-04&lt;br/&gt;📝 Original message:I agree with Joseph. If you want plausible deniability, it would be better&lt;br/&gt;to simply hide the funds somewhere in the HD chain. Same if you want a&lt;br/&gt;second vault tied to the same phrase.&lt;br/&gt;&lt;br/&gt;You are reducing security by eliminating all entropy that doesn&amp;#39;t fit the&lt;br/&gt;reversible criteria, although in practice it doesn&amp;#39;t make a difference&lt;br/&gt;because the numbers are so big. However, it doesn&amp;#39;t seem like a very useful&lt;br/&gt;feature to have.&lt;br/&gt;&lt;br/&gt;Thanks for doing all that work though, it was fun to read about your idea&lt;br/&gt;and what you found out through experimenting!&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Mon, Dec 3, 2018 at 1:00 PM Joseph Gleason ⑈ via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I have a suggestion.  If you are concerned about plausible deniability,&lt;br/&gt;&amp;gt; then it might make sense to just have the single mnemonic seed lead to a&lt;br/&gt;&amp;gt; single xprv key (as usual) and then do a private key derivation from that&lt;br/&gt;&amp;gt; based on a password string.  The password can be simple, as it is based on&lt;br/&gt;&amp;gt; the security of the seed, just as long as the user feels they need for&lt;br/&gt;&amp;gt; deniability.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A simple reverse scheme like you describe would just be another thing a&lt;br/&gt;&amp;gt; person would know to check if given some seed so I don&amp;#39;t see it as&lt;br/&gt;&amp;gt; providing much value, but I could be missing something.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Mon, Dec 3, 2018 at 10:45 AM Steven Hatzakis 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; Hi All,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve developed a method to check if a mnemonic is also valid when the&lt;br/&gt;&amp;gt;&amp;gt; words are put into reverse order (not the entropy), where a given 12 or&lt;br/&gt;&amp;gt;&amp;gt; 24-word mnemonic could be valid both in little endian and big endian&lt;br/&gt;&amp;gt;&amp;gt; format. I&amp;#39;ve coined these &amp;#34;Palindromic Mnemonics&amp;#34;, but perhaps more&lt;br/&gt;&amp;gt;&amp;gt; user-friendly is &amp;#34;reversible mnemonics.&amp;#34;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Purpose:&lt;br/&gt;&amp;gt;&amp;gt; A checksum-valid reversible mnemonic allows two separate vaults to be&lt;br/&gt;&amp;gt;&amp;gt; connected to the same mnemonic string of words, where all a users must do&lt;br/&gt;&amp;gt;&amp;gt; is enter the words in reverse order (the last word becomes first, second to&lt;br/&gt;&amp;gt;&amp;gt; last becomes second, and so on) to access the secondary (reversed words)&lt;br/&gt;&amp;gt;&amp;gt; vault. This utility could provide multiple use-cases, including related to&lt;br/&gt;&amp;gt;&amp;gt; combinations with passphrases and plausible deniability, as well as&lt;br/&gt;&amp;gt;&amp;gt; conveniences for those wishing to use a separate vault tied to the same&lt;br/&gt;&amp;gt;&amp;gt; string of words.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Security:&lt;br/&gt;&amp;gt;&amp;gt; For any randomly generated 12-word mnemonic (128-bits of security) the&lt;br/&gt;&amp;gt;&amp;gt; chances of it also being reversible are 1/16 (I believe), as a total of 4&lt;br/&gt;&amp;gt;&amp;gt; bit positions must be identical (4 bits from the normal mnemonic and&lt;br/&gt;&amp;gt;&amp;gt; another 4 bits from the reversed string must match). For a 24-word&lt;br/&gt;&amp;gt;&amp;gt; mnemonic, those values increase to 8 bits which need to match 8 bits from&lt;br/&gt;&amp;gt;&amp;gt; the reversed string, leading to about 1 in every 256 mnemonics also being&lt;br/&gt;&amp;gt;&amp;gt; reversible. While the message space of valid reversible mnemonics should be&lt;br/&gt;&amp;gt;&amp;gt; 2^124 for 12 words, that search must still be conducted over a field of 2&lt;br/&gt;&amp;gt;&amp;gt; ^128, as the hash-derived checksum values otherwise prevent a way to&lt;br/&gt;&amp;gt;&amp;gt; deterministically find valid reversible mnemonics without first going&lt;br/&gt;&amp;gt;&amp;gt; through invalid reversible ones to check. I think others should chime in on&lt;br/&gt;&amp;gt;&amp;gt; whether they believe there is any security loss, in terms of entropy bits&lt;br/&gt;&amp;gt;&amp;gt; (assuming the initial 128 bits were generated securely). I estimate at most&lt;br/&gt;&amp;gt;&amp;gt; it would be 4-bits of loss for a 12-word mnemonic, but only if an attacker&lt;br/&gt;&amp;gt;&amp;gt; had a way to search only the space of valid reversible mnemonics (2**124)&lt;br/&gt;&amp;gt;&amp;gt; which I don&amp;#39;t think is feasible (could be wrong?). There could also be&lt;br/&gt;&amp;gt;&amp;gt; errors in my above assumptions, this is a work in progress and sharing it&lt;br/&gt;&amp;gt;&amp;gt; here to solicit initial feedback/interest.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve already written the code that can be used for testing (on GitHub&lt;br/&gt;&amp;gt;&amp;gt; user @hatgit), and when run from terminal/command prompt it is pretty fast&lt;br/&gt;&amp;gt;&amp;gt; to find a valid reversible mnemonics, whereas on IDLE in Python on a 32-bit&lt;br/&gt;&amp;gt;&amp;gt; and 64-bit machine it could take a few seconds for 12 words and sometimes&lt;br/&gt;&amp;gt;&amp;gt; 10 minutes to find a valid 24-word reversible mnemonic.&lt;br/&gt;&amp;gt;&amp;gt; Example 12 words reversible (with valid checksum each way):&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; limit exact seven clarify utility road image fresh leg cabbage hint canoe&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; And Reversed:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; canoe hint cabbage leg fresh image road utility clarify seven exact limit&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Example 24 reversible:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; favorite uncover sugar wealth army shift goose fury market toe message&lt;br/&gt;&amp;gt;&amp;gt; remain direct arrow duck afraid enroll salt knife school duck sunny grunt&lt;br/&gt;&amp;gt;&amp;gt; argue&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; And reversed:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; argue grunt sunny duck school knife salt enroll afraid duck arrow direct&lt;br/&gt;&amp;gt;&amp;gt; remain message toe market fury goose shift army wealth sugar uncover&lt;br/&gt;&amp;gt;&amp;gt; favorite&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; My two questions 1) are how useful could this be for&lt;br/&gt;&amp;gt;&amp;gt; you/users/devs/service providers etc.. and 2) is any security loss&lt;br/&gt;&amp;gt;&amp;gt; occurring and whether it is negligible or not?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Best regards,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Steven Hatzakis&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;&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;-------------- 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/20181204/fbd20ae0/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181204/fbd20ae0/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsga20g9jt7f8mcgp97jy6wamjpgwyafrsjyy6s6352hstau0kuhmgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnc63mz</id>
    
      <title type="html">📅 Original date posted:2018-12-01 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsga20g9jt7f8mcgp97jy6wamjpgwyafrsjyy6s6352hstau0kuhmgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnc63mz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv50823ueg4rgr5g2wce30mw485f8ppqk92kjpj2tudt74slux0lsy47arv&#39;&gt;nevent1q…7arv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-01&lt;br/&gt;📝 Original message:Hi Yuval!&lt;br/&gt;&lt;br/&gt;Sorry for reviving an old email thread. Could you describe what the UX&lt;br/&gt;would be like, or how a wallet developer might implement this? Is the&lt;br/&gt;intention that someone would open their non-private wallet, and choose an&lt;br/&gt;option that slowly siphons their funds into a different app? Why would&lt;br/&gt;anyone want that feature?&lt;br/&gt;&lt;br/&gt;If the user is privacy-conscious, why did they choose the non-private&lt;br/&gt;wallet to begin with? Why wouldn&amp;#39;t they just move all their funds to the&lt;br/&gt;private wallet so they can continue to use just one app?&lt;br/&gt;&lt;br/&gt;And if the user is not privacy-conscious, they would never choose to enable&lt;br/&gt;this option, so why would the wallet developer even bother to implement it?&lt;br/&gt;&lt;br/&gt;&amp;gt;From a product standpoint, I can&amp;#39;t see how this would be useful, and&lt;br/&gt;therefore I&amp;#39;m not sure why it needs to be a BIP. If I&amp;#39;m missing something,&lt;br/&gt;please let me know!&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Tue, Nov 6, 2018 at 10:18 AM Yuval Kogman via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I would like to propose a method based on BIP32 (and optionally BIP44) for&lt;br/&gt;&amp;gt; improving fungibility and on chain privacy with wallets for which this is&lt;br/&gt;&amp;gt; not a primary concern, requiring minimal changes to allow such wallets to&lt;br/&gt;&amp;gt; safely forward change outputs to more specialized wallets. This is intended&lt;br/&gt;&amp;gt; to complement more comprehensive proposals such as BIP79.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that this draft is still incomplete, there are open questions about&lt;br/&gt;&amp;gt; the particular format to use. In its current form it proposes two viable&lt;br/&gt;&amp;gt; options (and two more are included completeness) and though I have a slight&lt;br/&gt;&amp;gt; preference for the first option, I remain undecided given the tradeoffs,&lt;br/&gt;&amp;gt; and so I am writing the mailing list to solicit inputs/criticism.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/nothingmuch/652f3a98089a0600637eadab738b2d6a&#34;&gt;https://gist.github.com/nothingmuch/652f3a98089a0600637eadab738b2d6a&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks to SirMeow, Adam Ficsor, and Adam Gibson for reviewing earlier&lt;br/&gt;&amp;gt; versions and providing valuable feedback and suggestions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; Yuval&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;-------------- 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/20181130/36adb957/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181130/36adb957/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8t9zqumccj0lt5nepz05urpsysu8zdhpj3kl2q69856fjsuymg8czypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsec7qp9</id>
    
      <title type="html">📅 Original date posted:2018-12-01 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8t9zqumccj0lt5nepz05urpsysu8zdhpj3kl2q69856fjsuymg8czypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsec7qp9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszfnrclghsef3m08m0mnas9cxqclg54jhnevc39k0pmwm2w3wn7ngk0y8cs&#39;&gt;nevent1q…y8cs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-12-01&lt;br/&gt;📝 Original message:I liked the cheekiness of your summary, Adam ;)&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure why this needs to be a BIP. It is a UX detail--not really&lt;br/&gt;related to bitcoin protocol or procedures. I wouldn&amp;#39;t even call it a&lt;br/&gt;description of best practices, since every product&amp;#39;s use case is going to&lt;br/&gt;be different.&lt;br/&gt;&lt;br/&gt;If you think there is a compelling reason for why this needs to be a&lt;br/&gt;documented standard, please elaborate!&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Sun, Nov 11, 2018 at 7:41 PM Adam Ficsor via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Thank you for all your comments. To sum up:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - There were no comments related to the implementation details.&lt;br/&gt;&amp;gt; - There are concerns about this may incentivize users to use copypaste&lt;br/&gt;&amp;gt; functionality extensively.&lt;br/&gt;&amp;gt; - A counter argument was made that crypto hijackers use the clipboard,&lt;br/&gt;&amp;gt; because that is the most convenient thing to hijack, not because they can&lt;br/&gt;&amp;gt; only hijack that and, if Bitcoin users would move to other ways of&lt;br/&gt;&amp;gt; specifying destinations, that may end up being just as an issue, too.&lt;br/&gt;&amp;gt; - The rest of the conversation was about crypto hijackers, which I think&lt;br/&gt;&amp;gt; is off topic in this thread.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Finally I&amp;#39;d like to note, there&amp;#39;s already a work in progress&lt;br/&gt;&amp;gt; implementation in Wasabi:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/zkSNACKs/WalletWasabi/pull/825&#34;&gt;https://github.com/zkSNACKs/WalletWasabi/pull/825&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Fri, Nov 9, 2018 at 1:14 AM Dmitry Petukhov 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;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Do you know any reasonably convenient mechanism for end user to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; transfer an address from, say, a web page to the wallet address&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; input field ?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; - QR code scanning of a Bitcoin URI&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; - On Android: A &amp;#34;bitcoin:&amp;#34; URI intent or a BIP70 payment message&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; intent&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; - On desktop OSes there are similar mechanisms to launch Apps from the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; browser (e.g. for mailto: links)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This works if the author of the web page thought about this, and&lt;br/&gt;&amp;gt;&amp;gt; created appropriate liks/qr codes. In many cases, addresses are&lt;br/&gt;&amp;gt;&amp;gt; just presented for users as text, to copy.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; People also send addresses in message apps and emails. Maybe if&lt;br/&gt;&amp;gt;&amp;gt; applications start to autodetect bitcoin addresses and convert them to&lt;br/&gt;&amp;gt;&amp;gt; bitcoin: links, there will be less need to copy-paste. But I suspect&lt;br/&gt;&amp;gt;&amp;gt; that this feature will not be quickly adopted by applications.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; For cases where the payee is a well-known entity the BIP70 payment&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; protocol has authentication via certificates. That doesn&amp;#39;t work for&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the &amp;#34;the person in front of you is the only trust anchor you have&amp;#34;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; usecase though.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; There are also BIP75 and BIP47 that may help, but the number of wallets&lt;br/&gt;&amp;gt;&amp;gt; that support these protocols is small (I think in part because of&lt;br/&gt;&amp;gt;&amp;gt; relative complexity of these protocols).&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Ádám&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;-------------- 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/20181130/37af33c4/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181130/37af33c4/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:15:25Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfrdyar9c366c48arhvmkkvf6uhalv4wd0v5urjqmnx6dths85l6szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8m5a2v</id>
    
      <title type="html">📅 Original date posted:2018-10-08 📝 Original message:Hello! ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfrdyar9c366c48arhvmkkvf6uhalv4wd0v5urjqmnx6dths85l6szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8m5a2v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2k2j73n8mjdcdv8vgfyy74f3tu5z748y6leds88kqpc4q2lv90zcf5eqqu&#39;&gt;nevent1q…eqqu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-10-08&lt;br/&gt;📝 Original message:Hello!&lt;br/&gt;&lt;br/&gt;A URI is useful as a standard for one-way communication, but on-chain&lt;br/&gt;multisig requires many steps. multiple parties need to provide signatures,&lt;br/&gt;and one party needs to aggregate all the signatures and publish the&lt;br/&gt;transaction. This URI scheme would allow one to pass along a raw&lt;br/&gt;transaction in one direction, but once the signer has signed the&lt;br/&gt;transaction, what are they supposed to do with it? You might be thinking&lt;br/&gt;you could include a callback URL, like BIP72 does, so the signer can pass&lt;br/&gt;the signed transaction back to the organizer. However, BIP72 was created as&lt;br/&gt;a backwards-compatible extension to BIP70, which was designed for one-way&lt;br/&gt;communication. Since there is no way to be backwards compatible here, there&lt;br/&gt;is no need to limit yourself to the URI system. Instead of creating a new&lt;br/&gt;URI and using it for something it is not suited for, it would be better (in&lt;br/&gt;my opinion) to find a different method that is better suited for two-way&lt;br/&gt;communication.&lt;br/&gt;&lt;br/&gt;On Thu, Oct 4, 2018 at 3:52 PM おのかちお via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I have an idea that subject.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are already BIP 21.&lt;br/&gt;&amp;gt; But Multisig request URI is non exist.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My idea is below:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; bitcoin-sigreq://{{rawtx}}?{{param}}&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; rawtx: raw transaction (encoded by base64)&lt;br/&gt;&amp;gt; param:&lt;br/&gt;&amp;gt; - pubkey={{public key for sign key pair}}&lt;br/&gt;&amp;gt; - hd_wallet_position={{path for HD wallet position}}&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This URI scheme is used for multisig request from website to user&amp;#39;s local&lt;br/&gt;&amp;gt; wallet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; How do you think ?&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;-------------- 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/20181008/2520c954/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181008/2520c954/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:14:58Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvpw8jzz57pvvkmy7ef0whludpfj0x7kcmf2kmf8wph3yr6ld5tngzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js4vgrvs</id>
    
      <title type="html">📅 Original date posted:2017-05-30 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvpw8jzz57pvvkmy7ef0whludpfj0x7kcmf2kmf8wph3yr6ld5tngzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js4vgrvs" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0k2trdna0a2af234a3a67ly0uxw4sdfjthtpvelwrxskt2qp55vcnlwcql&#39;&gt;nevent1q…wcql&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-05-30&lt;br/&gt;📝 Original message:&amp;gt;  The 1MB classic block size prevents quadratic hashing&lt;br/&gt;&amp;gt; problems from being any worse than they are today.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;Add a transaction-size limit of, say, 10kb and the quadratic hashing&lt;br/&gt;problem is a non-issue. Donezo.&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/20170530/359bc4e6/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170530/359bc4e6/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:01:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs005rzyehr6fznkhj2hd7pmv2zucnm4l7lzekxx9auqttddt03rtgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnr59qd</id>
    
      <title type="html">📅 Original date posted:2017-01-06 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs005rzyehr6fznkhj2hd7pmv2zucnm4l7lzekxx9auqttddt03rtgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnr59qd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr6cu8xt3gmkud6ghjp98xdpm5z9lfvz5xgawz0ngrmnxq69ttxzsk9wu6p&#39;&gt;nevent1q…wu6p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-01-06&lt;br/&gt;📝 Original message:It&amp;#39;s my opinion that the purpose of this list and bitcoin protocol&lt;br/&gt;development in general is to build the base functionality that other&lt;br/&gt;companies and individuals require to provide usability to the end-user. The&lt;br/&gt;0-conf debate is a UX issue. If end users shouldn&amp;#39;t rely on 0-conf, it is&lt;br/&gt;up to wallet developers to hide 0-conf transactions or mark them&lt;br/&gt;appropriately. Instead of using this list to debate what wallet designers&lt;br/&gt;should or shouldn&amp;#39;t do, we should just provide the tools and &amp;#34;let the&lt;br/&gt;market sort it out&amp;#34;. If wallet developers start getting inundated with&lt;br/&gt;complaints that 0-conf transactions are causing confusion and loss, they&lt;br/&gt;will find a solution. If the tools they require for the solution don&amp;#39;t&lt;br/&gt;exist, they will come to this list to request action.&lt;br/&gt;&lt;br/&gt;Am I wrong?&lt;br/&gt;&lt;br/&gt;On Fri, Jan 6, 2017 at 12:16 PM Chris Priest via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Its a method for determining the probability that a valid tx will be&lt;br/&gt;&amp;gt; mined in a block before that tx actually gets mined, which is useful&lt;br/&gt;&amp;gt; when accepting payments in situations when you can&amp;#39;t wait for the full&lt;br/&gt;&amp;gt; confirmation. No one is saying all tx validation should be performed&lt;br/&gt;&amp;gt; by querying miners mempools, that&amp;#39;s ridiculous. Obviously once the tx&lt;br/&gt;&amp;gt; gets it&amp;#39;s first confirmation, you go back to determining validity the&lt;br/&gt;&amp;gt; way you always have. There is no &amp;#34;security catastrophe&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Even if you&amp;#39;re running a full node, you can&amp;#39;t know for certain that&lt;br/&gt;&amp;gt; any given tx will make it into a future block. You can&amp;#39;t be certain&lt;br/&gt;&amp;gt; the future miner who finally does mine that tx will mine your TXID or&lt;br/&gt;&amp;gt; another TXID that spends the same inputs to another address (a double&lt;br/&gt;&amp;gt; spend). The only way to actually know for certain is to query every&lt;br/&gt;&amp;gt; single large hashpower mempool.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 1/4/17, Eric Voskuil &amp;lt;eric at voskuil.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; On 01/04/2017 11:06 PM, Chris Priest via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; On 1/3/17, Jonas Schnelli 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; There are plenty, more sane options. If you can&amp;#39;t run your own&lt;br/&gt;&amp;gt; full-node&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; as a merchant (trivial), maybe co-use a wallet-service with centralized&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; verification (maybe use two of them), I guess Copay would be one of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; those wallets (as an example). Use them in watch-only mode.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; The best way is to connect to the mempool of each miner and check to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; see if they have your txid in their mempool.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://www.antpool.com/api/is_in_mempool?txid=334847bb&#34;&gt;https://www.antpool.com/api/is_in_mempool?txid=334847bb&lt;/a&gt;...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://www.f2pool.com/api/is_in_mempool?txid=334847bb&#34;&gt;https://www.f2pool.com/api/is_in_mempool?txid=334847bb&lt;/a&gt;...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://bw.com/api/is_in_mempool?txid=334847bb&#34;&gt;https://bw.com/api/is_in_mempool?txid=334847bb&lt;/a&gt;...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://bitfury.com/api/is_in_mempool?txid=334847bb&#34;&gt;https://bitfury.com/api/is_in_mempool?txid=334847bb&lt;/a&gt;...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&#34;https://btcc.com/api/is_in_mempool?txid=334847bb&#34;&gt;https://btcc.com/api/is_in_mempool?txid=334847bb&lt;/a&gt;...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; If each of these services return &amp;#34;True&amp;#34;, and you know those services&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; so not engage in RBF, then you can assume with great confidence that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; your transaction will be in the next block, or in a block very soon.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; If any one of those services return &amp;#34;False&amp;#34;, then you must assume that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; it is possible that there is a double spend floating around, and that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; you should wait to see if that tx gets confirmed. The problem is that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; not every pool runs such a service to check the contents of their&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; mempool...&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; This is an example of mining centralization increasing the security of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; zero confirm.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; A world connected up to a few web services to determine payment validity&lt;br/&gt;&amp;gt; &amp;gt; is an example of a bitcoin security catastrophe.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; e&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;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;-------------- 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/20170106/55cde129/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170106/55cde129/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:55:11Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqpghpe0k250wrseze5er09nlpk7c58clct9ta082tm4xrzf2p2hgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszkrrtd</id>
    
      <title type="html">📅 Original date posted:2016-12-18 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqpghpe0k250wrseze5er09nlpk7c58clct9ta082tm4xrzf2p2hgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszkrrtd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzckwckqe3svsgznld4f9n7qhyhr67ag3y9cpw2fl83v5tlutq6g9fp6ap&#39;&gt;nevent1q…p6ap&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-12-18&lt;br/&gt;📝 Original message:Hi All,&lt;br/&gt;&lt;br/&gt;I&amp;#39;m coming late to the party. I like the Block75 proposal.&lt;br/&gt;&lt;br/&gt;Multiple people have said miners would/could stuff blocks with insincere&lt;br/&gt;transactions to increase the block size, but it was never adequately&lt;br/&gt;explained what they would gain from this. If there aren&amp;#39;t enough legitimate&lt;br/&gt;transactions to fill up the block, where do you plan to earn extra income&lt;br/&gt;once the block is bigger?&lt;br/&gt;&lt;br/&gt;Miners would be incentivized to include as many legitimate transactions as&lt;br/&gt;possible, but if propagation time is as big an issue as some of you have&lt;br/&gt;said it is, miners would also be incentivized to keep their blocks small&lt;br/&gt;enough to propagate. So why not give them the choice? Once the block size&lt;br/&gt;gets too big to propagate effectively, miners would be naturally&lt;br/&gt;incentivized to limit how much data they put in each block, finding the&lt;br/&gt;perfect balance.&lt;br/&gt;&lt;br/&gt;In my opinion, none of the downsides presented so far have been a good&lt;br/&gt;argument. Risk of a 51% attack is not unique to this proposal, saying &amp;#34;we&lt;br/&gt;could also do that with hardcoded limits&amp;#34; doesn&amp;#39;t actually point out any&lt;br/&gt;problem with this proposal, and miners already have the ability to add or&lt;br/&gt;withhold transactions from their blocks.&lt;br/&gt;&lt;br/&gt;We trust our miners to serve us by acting in their own best interests, and&lt;br/&gt;this proposal simply gives them more options for doing that. If anyone can&lt;br/&gt;make a strong argument against that would earn top marks in a high school&lt;br/&gt;debate class, I&amp;#39;d love to hear it!&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;On Sun, Dec 11, 2016 at 3:23 PM s7r via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Andrew Johnson wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;You miss something obvious that makes this attack actually free of cost.&lt;br/&gt;&amp;gt; &amp;gt; Nothing will &amp;#34;cost them more in transaction fees&amp;#34;. A miner can create&lt;br/&gt;&amp;gt; &amp;gt; thousands of transactions paying to himself, and not broadcast them to&lt;br/&gt;&amp;gt; &amp;gt; the network, but hold them and include them in the blocks he mines. The&lt;br/&gt;&amp;gt; &amp;gt; fees are collected by him because transactions are included in a block&lt;br/&gt;&amp;gt; &amp;gt; that he mined and the left amount is in another wallet of the same&lt;br/&gt;&amp;gt; &amp;gt; person. Repeat this continuously to fill blocks.&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This is easily detectable as long as the network isn&amp;#39;t heavily&lt;br/&gt;&amp;gt; &amp;gt; partitioned(which is an assumption we make today in order for&lt;br/&gt;&amp;gt; &amp;gt; transaction propagation to work reliably as well as for xThin and&lt;br/&gt;&amp;gt; &amp;gt; CompactBlocks to work effectively to reduce block transmission time).&lt;br/&gt;&amp;gt; &amp;gt; Other miners would have an incentive to intentionally orphan blocks that&lt;br/&gt;&amp;gt; &amp;gt; contained a large number of transactions that their nodes were unaware&lt;br/&gt;&amp;gt; of.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I don&amp;#39;t think this sort of attack would last long.  Even later when&lt;br/&gt;&amp;gt; &amp;gt; subsidies are drastically reduced, you would still lose out on&lt;br/&gt;&amp;gt; &amp;gt; significant genuine fee revenue if your orphan rate increased even&lt;br/&gt;&amp;gt; &amp;gt; 10%(one out of ten of your poison blocks intentionally orphaned by&lt;br/&gt;&amp;gt; &amp;gt; another miner).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I disagree.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I didn&amp;#39;t say this is impossible to detect, but it is hard to act against&lt;br/&gt;&amp;gt; it. One miner orphaning the block intentionally is very unlikely if that&lt;br/&gt;&amp;gt; miner acts rationally. It would only make sense if 51% of the hash rate&lt;br/&gt;&amp;gt; would intentionally orphan it. Otherwise the miner who intentionally&lt;br/&gt;&amp;gt; orphans a valid block, let&amp;#39;s say block X, has to continue to mine one in&lt;br/&gt;&amp;gt; its place on top of block X-1, and by the time he finds one:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; a) his block X&amp;#39; is rejected by other miners because they already have a&lt;br/&gt;&amp;gt; valid block X on top of which they already started to mine;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; b) block X&#43;1 was already found and broadcasted, so the miner who&lt;br/&gt;&amp;gt; orphaned X intentionally is on the shorter chain ignored by the network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So, one miner cannot do anything about it. Even a pool cannot do&lt;br/&gt;&amp;gt; anything about it, because the loss is greater. You need 51% of the hash&lt;br/&gt;&amp;gt; rate to intentionally orphan it, and all the miners forming 51% need to&lt;br/&gt;&amp;gt; be colluding and know for sure that every one will intentionally orphan&lt;br/&gt;&amp;gt; the said block, otherwise there&amp;#39;s a huge risk of loss for who does it.&lt;br/&gt;&amp;gt; Nobody would gamble to do this (I am not sure if gambling is the right&lt;br/&gt;&amp;gt; word, since the loss is 100% sure here). But, we are not discussing 51%&lt;br/&gt;&amp;gt; attacks because those are a different topic.&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;-------------- 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/20161218/f08a63d8/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20161218/f08a63d8/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:54:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstufkw6d9uxh533jjaaqd06v666mm7pcstce22rfcwxw46mp43q2gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jslzw0g9</id>
    
      <title type="html">📅 Original date posted:2016-08-31 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstufkw6d9uxh533jjaaqd06v666mm7pcstce22rfcwxw46mp43q2gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jslzw0g9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy9guw4efa0lg6t3vfpm0a9n59yn7lday2ldnulgaxwucgas6d2dsfsxkur&#39;&gt;nevent1q…xkur&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-31&lt;br/&gt;📝 Original message:Hello all,&lt;br/&gt;&lt;br/&gt;Today we are submitting some updates to BIP75:&lt;br/&gt;&lt;br/&gt;-- Example use cases have been reworded to more accurately describe the&lt;br/&gt;goal of this BIP and how the technology works.&lt;br/&gt;-- ECDSA and PGP have been added to the supported public key infrastructure&lt;br/&gt;(PKI) types to increase flexibility and use cases.&lt;br/&gt;-- Versioning has been added to make future changes and backwards&lt;br/&gt;compatibility easy to manage.&lt;br/&gt;-- Other minor, technical details have been added or changed to improve&lt;br/&gt;performance and reduce ambiguity during implementation.&lt;br/&gt;&lt;br/&gt;You can see the PR here: &lt;a href=&#34;https://github.com/bitcoin/bips/pull/439&#34;&gt;https://github.com/bitcoin/bips/pull/439&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Thank you,&lt;br/&gt;James&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/20160831/87e4cd0e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160831/87e4cd0e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:53:12Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsg84vu35qym8a56medlhm6egv7ay0jrurmcakf8rnmdz77yl3yg3szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsjyl9sx</id>
    
      <title type="html">📅 Original date posted:2016-08-31 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsg84vu35qym8a56medlhm6egv7ay0jrurmcakf8rnmdz77yl3yg3szypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsjyl9sx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg74lny6vl3j099lq8v9rvkeqf8u6feczhhy4gdarvpk7a828g4us29n572&#39;&gt;nevent1q…n572&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-31&lt;br/&gt;📝 Original message:&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;I&amp;#39;ve always assumed honeypots were meant to look like regular, yet&lt;br/&gt;&amp;gt; &amp;gt;poorly-secured, assets.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Not at all. Most servers have zero reason to have any Bitcoin&amp;#39;s accessible&lt;br/&gt;&amp;gt; via them, so the presence of BTC privkeys is a gigantic red flag that they&lt;br/&gt;&amp;gt; are part of a honeypot.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;I was talking about the traditional concept. From Wikipedia: &amp;#34;Generally, a&lt;br/&gt;honeypot consists of data (for example, in a network site) that appears to&lt;br/&gt;be a legitimate part of the site but is actually isolated and monitored,&lt;br/&gt;and that seems to contain information or a resource of value to attackers,&lt;br/&gt;which are then blocked.&amp;#34;&lt;br/&gt;&lt;br/&gt;I would argue there are ways to make it look like it is not a honeypot&lt;br/&gt;(plenty of bitcoin services have had their hot wallets hacked before, and&lt;br/&gt;if the intruder only gains access to one server they wouldn&amp;#39;t know that all&lt;br/&gt;the servers have the same honeypot on them). But I was just confirming that&lt;br/&gt;the proposal is for an obvious honeypot.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Re-read my last section on the &amp;#34;scorched earth&amp;#34; disincentive to&lt;br/&gt;&amp;gt; doublespend the intruder.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The first time I read it I didn&amp;#39;t realize that the second transaction the&lt;br/&gt;intruder has is designed to waste the honeypot AND additional funds&lt;br/&gt;belonging to the honeypot creator. That&amp;#39;s pretty good, from a game theory&lt;br/&gt;perspective.&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/20160831/fe3096c6/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160831/fe3096c6/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:53:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsq48gpj6fnzge2476y7ww4u8mk78rm4psrczaveze2y8qkrncu95qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js62dnyh</id>
    
      <title type="html">📅 Original date posted:2016-08-27 📝 Original message:Why ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsq48gpj6fnzge2476y7ww4u8mk78rm4psrczaveze2y8qkrncu95qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js62dnyh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9v3evhu7mpj5h40lav60elpdwmy0hyw42sgxklaj6hhnrdrgm6dg0zy3l5&#39;&gt;nevent1q…y3l5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-27&lt;br/&gt;📝 Original message:Why not just have a single 1-of-m multisig transaction, with one key on&lt;br/&gt;each server? Based on which key is used you would know which server is&lt;br/&gt;compromised, and (in my opinion) it wouldn&amp;#39;t look nearly as suspicious.&lt;br/&gt;&lt;br/&gt;On Thu, Aug 25, 2016 at 11:26 AM Gregory Maxwell via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Thu, Aug 25, 2016 at 2:27 PM, Christian Decker 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; If however&lt;br/&gt;&amp;gt; &amp;gt; he is planning to use it as a foothold to further compromise your&lt;br/&gt;&amp;gt; &amp;gt; company, send spam or similar, he will likely try to avoid these&lt;br/&gt;&amp;gt; &amp;gt; tripwires. [...]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Depends on the value of their activity compared to the value of the coins.&lt;br/&gt;&amp;gt; Spamming doesn&amp;#39;t pay much.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Covert tripwires would obviously be better, but if shared tripwires&lt;br/&gt;&amp;gt; allow you to have 100x the funds available it could be a good&lt;br/&gt;&amp;gt; trade-off.&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;-------------- 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/20160828/5d9952ea/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160828/5d9952ea/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:53:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsygxq343wjeeavsgwr2kggztnkjqnl64r2un3x9vxr9z7avmvxe9qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js5lklep</id>
    
      <title type="html">📅 Original date posted:2016-08-24 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsygxq343wjeeavsgwr2kggztnkjqnl64r2un3x9vxr9z7avmvxe9qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js5lklep" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxkvmferqv53xesxm79gvl8pt6y7r7hrrfvq95kxeyj4fs3jzqerg4qahmt&#39;&gt;nevent1q…ahmt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-24&lt;br/&gt;📝 Original message:I&amp;#39;ve always assumed honeypots were meant to look like regular, yet&lt;br/&gt;poorly-secured, assets. If the intruder could identify this as a honeypot&lt;br/&gt;by the strange setup (presigned, non-standard transactions lying around)&lt;br/&gt;and was aware that the creator intended to doublespend as soon as the&lt;br/&gt;transaction was discovered, wouldn&amp;#39;t they instead prefer to not touch&lt;br/&gt;anything and wait for a non-bait target to appear? Is the assumption here&lt;br/&gt;that the intruder wouldn&amp;#39;t know this is a honeypot, or that they would know&lt;br/&gt;and it&amp;#39;s just assumed that they would rather take their chances on this&lt;br/&gt;instead of causing some other trouble?&lt;br/&gt;&lt;br/&gt;On Tue, Aug 23, 2016 at 6:47 PM Peter Todd via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Bitcoin-based honeypots incentivise intruders into revealing the fact they&lt;br/&gt;&amp;gt; have&lt;br/&gt;&amp;gt; broken into a server by allowing them to claim a reward based on secret&lt;br/&gt;&amp;gt; information obtained during the intrusion. Spending a bitcoin can only be&lt;br/&gt;&amp;gt; done&lt;br/&gt;&amp;gt; by publishing data to a public place - the Bitcoin blockchain - allowing&lt;br/&gt;&amp;gt; detection of the intrusion.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The simplest way to achieve this is with one private key per server, with&lt;br/&gt;&amp;gt; each&lt;br/&gt;&amp;gt; server associated with one transaction output spendable by that key.&lt;br/&gt;&amp;gt; However&lt;br/&gt;&amp;gt; this isn&amp;#39;t capital efficient if you have multiple servers to protect: if we&lt;br/&gt;&amp;gt; have N servers and P bitcoins that we can afford to lose in the&lt;br/&gt;&amp;gt; compromise, one&lt;br/&gt;&amp;gt; key per server gives the intruder only N/P incentive.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Previously Piete Wuille proposed(1) tree signatures for honeypots, with a&lt;br/&gt;&amp;gt; single txout protected by a 1-N tree of keys, with each server assigned a&lt;br/&gt;&amp;gt; specific key. Unfortunately though, tree signatures aren&amp;#39;t yet implemented&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; the Bitcoin protocol.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However with a 2-of-2 multisig and the SIGHASH_SINGLE feature we can&lt;br/&gt;&amp;gt; implement&lt;br/&gt;&amp;gt; this functionality with the existing Bitcoin protocol using the following&lt;br/&gt;&amp;gt; script:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     2 &amp;lt;honeypot-pubkey&amp;gt; &amp;lt;distriminator-pubkey&amp;gt; 2 CHECKMULTISIG&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The honeypot secret key is shared among all N servers, and left on them.&lt;br/&gt;&amp;gt; The&lt;br/&gt;&amp;gt; distriminator secret key meanwhile is kept secret, however for each server&lt;br/&gt;&amp;gt; a&lt;br/&gt;&amp;gt; unique signature is created with SIGHASH_SINGLE, paying a token amount to a&lt;br/&gt;&amp;gt; notification address. For each individual server a pre-signed signature&lt;br/&gt;&amp;gt; created&lt;br/&gt;&amp;gt; with the distriminator secret key is then left on the associated server&lt;br/&gt;&amp;gt; along&lt;br/&gt;&amp;gt; with the honeypot secret key.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Recall the SIGHASH_SINGLE flag means that the signature only signs a single&lt;br/&gt;&amp;gt; transaction input and transaction output; the transaction is allowed to&lt;br/&gt;&amp;gt; have&lt;br/&gt;&amp;gt; additional inputs and outputs added. This allows the thief to use the&lt;br/&gt;&amp;gt; honeypot&lt;br/&gt;&amp;gt; key to construct a claim transaction with an additional output added that&lt;br/&gt;&amp;gt; pays&lt;br/&gt;&amp;gt; an address that they own with the rest of the funds.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Equally, we could also use SIGHASH_NONE, with the per-server discriminator&lt;br/&gt;&amp;gt; being the K value used in the pre-signed transaction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that Jeff Coleman deserves credit as co-inventor of all the above.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Censorship Resistance&lt;br/&gt;&amp;gt; =====================&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A potential disadvantage of using non-standard SIGHASH flags is that the&lt;br/&gt;&amp;gt; transactions involved are somewhat unusual, and may be flagged by&lt;br/&gt;&amp;gt; risk analysis at exchanges and the like, a threat to the fungibility of the&lt;br/&gt;&amp;gt; reward.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We can improve on the above concept from Todd/Coleman by using a pre-signed&lt;br/&gt;&amp;gt; standard transaction instead. The pre-signed transaction spends the&lt;br/&gt;&amp;gt; honeypot&lt;br/&gt;&amp;gt; txout to two addresses, a per-server canary address, and a change address.&lt;br/&gt;&amp;gt; The&lt;br/&gt;&amp;gt; private key associated with the change addres is also left on the server,&lt;br/&gt;&amp;gt; and&lt;br/&gt;&amp;gt; the intruder can then spend that change output to finally collect their&lt;br/&gt;&amp;gt; reward.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To any external observer the result looks like two normal transactions&lt;br/&gt;&amp;gt; created&lt;br/&gt;&amp;gt; in the process of someone with a standard wallet sending a small amount of&lt;br/&gt;&amp;gt; funds to an address, followed by sending a larger amount.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Doublespending&lt;br/&gt;&amp;gt; ==============&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A subtlety in the the two transactions concept is that the intruder doesn&amp;#39;t&lt;br/&gt;&amp;gt; have the necessary private keys to modify the first transaction, which&lt;br/&gt;&amp;gt; means&lt;br/&gt;&amp;gt; that the honeypot owner can respond to the compromise by doublespending&lt;br/&gt;&amp;gt; that&lt;br/&gt;&amp;gt; transaction, potentially recovering the honeypot while still learning&lt;br/&gt;&amp;gt; about the&lt;br/&gt;&amp;gt; compromise. While this is possible with all honeypots, if the first&lt;br/&gt;&amp;gt; transaction&lt;br/&gt;&amp;gt; is signed with the opt-in RBF flags, and CPFP-aware transaction&lt;br/&gt;&amp;gt; replacement is&lt;br/&gt;&amp;gt; not implemented by miners, the mechanics are particularly disadvantageous&lt;br/&gt;&amp;gt; to&lt;br/&gt;&amp;gt; the intruder, as the honeypot owner only needs to increase the first&lt;br/&gt;&amp;gt; transaction&amp;#39;s fee slightly to have a high chance of recovering their funds.&lt;br/&gt;&amp;gt; With CPFP-aware transaction replacement the intruder could in-turn respond&lt;br/&gt;&amp;gt; with&lt;br/&gt;&amp;gt; a high-fee CPFP second transaction, but currently no such implementation is&lt;br/&gt;&amp;gt; known.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Scorched Earth&lt;br/&gt;&amp;gt; ==============&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We can use the &amp;#34;scorched earth&amp;#34; concept to improve the credibility of the&lt;br/&gt;&amp;gt; honeypot reward by making it costly for the honeypot owner to doublespend.&lt;br/&gt;&amp;gt; Here&lt;br/&gt;&amp;gt; a second version of the honeypot pre-signed transaction would also be&lt;br/&gt;&amp;gt; provided&lt;br/&gt;&amp;gt; which sepnds the entirety of the honeypot output to fees, and additionally&lt;br/&gt;&amp;gt; spends a second output to fees. An economically rational intruder will&lt;br/&gt;&amp;gt; publish&lt;br/&gt;&amp;gt; the first version, which maximizes the funds they get out of the honeypot.&lt;br/&gt;&amp;gt; If&lt;br/&gt;&amp;gt; the owner tries to dishonestly doublespend, they can respond by publishing&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;#34;scorched earth&amp;#34; transaction, encouraging the honeypot owner&amp;#39;s honesty and&lt;br/&gt;&amp;gt; making CPFP-aware transaction replacement irrelevant.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course, miner centralization adds complexity to the above: in many&lt;br/&gt;&amp;gt; instances&lt;br/&gt;&amp;gt; honeypot owners and/or intruders will be able to recover funds from&lt;br/&gt;&amp;gt; altruistic&lt;br/&gt;&amp;gt; miners. Equally, the additional complexity may discourage intruders from&lt;br/&gt;&amp;gt; making&lt;br/&gt;&amp;gt; use of the honeypot entirely.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that as an implementation consideration CHECKSEQUENCEVERIFY can be&lt;br/&gt;&amp;gt; used to&lt;br/&gt;&amp;gt; ensure the honeypot output can only be spent with transaction replacement&lt;br/&gt;&amp;gt; enabled, as CSV requires nSequence to be set in specific ways in any&lt;br/&gt;&amp;gt; transation&lt;br/&gt;&amp;gt; spending the output.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; References&lt;br/&gt;&amp;gt; ==========&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) &lt;a href=&#34;https://blockstream.com/2015/08/24/treesignatures/&#34;&gt;https://blockstream.com/2015/08/24/treesignatures/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org&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;-------------- 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/20160825/52443c18/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160825/52443c18/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:53:09Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2hxs0ra73l9kktngtphfva2k93ax9rt0pf0wxudtv809dgt5pmeszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsmddw7p</id>
    
      <title type="html">📅 Original date posted:2016-08-12 📝 Original message:For ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2hxs0ra73l9kktngtphfva2k93ax9rt0pf0wxudtv809dgt5pmeszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsmddw7p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx70hkw3mvqcxm0utu0hqcks4lght4awk69t27c5zn3tc57q3yj9qxzyeph&#39;&gt;nevent1q…yeph&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-12&lt;br/&gt;📝 Original message:For reasons others have pointed out, it&amp;#39;s not really plausible.&lt;br/&gt;&lt;br/&gt;Either way, this has nothing to do with transmitting data over audio.&lt;br/&gt;Please start a new thread if you want to discuss your idea instead of&lt;br/&gt;hijacking this one. Thanks ;)&lt;br/&gt;&lt;br/&gt;On Fri, Aug 12, 2016, 05:36 Erik Aronesty via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;m imagining a &amp;#34;publishable seed&amp;#34; such that:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  - someone can derive a random bitcoin address from it -  and send funds&lt;br/&gt;&amp;gt; to it.&lt;br/&gt;&amp;gt;  - the possible derived address space is large enough that generating all&lt;br/&gt;&amp;gt; possible addresses would be a barrier&lt;br/&gt;&amp;gt;  - the receiver, however, knowing the private key, can easily scan the&lt;br/&gt;&amp;gt; blockchain fairly efficiently and determine which addresses he has the keys&lt;br/&gt;&amp;gt; to&lt;br/&gt;&amp;gt;  - another interested party cannot easily do so&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Perhaps homomorphic encryption may need to be involved?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Aug 11, 2016 at 8:36 PM, Gregory Maxwell &amp;lt;greg at xiph.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Thu, Aug 11, 2016 at 8:37 PM, Erik Aronesty via bitcoin-dev&lt;br/&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; Still not sure how you can take a BIP32 public seed and figure out if an&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; address was derived from it though.   I mean, wouldn&amp;#39;t I have to&lt;br/&gt;&amp;gt;&amp;gt; compute all&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 2^31 possible public child addresses?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Which would take a quad core laptop about 8 hours with competent software&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; And presumably you&amp;#39;re not using the whole 2^31 space else the receiver&lt;br/&gt;&amp;gt;&amp;gt; also has to do that computation...&lt;br/&gt;&amp;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;-------------- 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/20160812/e916cf2b/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160812/e916cf2b/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvhxxng3wjxmdlv63r9wqv9c3v046ywf4gyfcdx2hh4fftyqrzcnszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsrykv3y</id>
    
      <title type="html">📅 Original date posted:2016-08-10 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvhxxng3wjxmdlv63r9wqv9c3v046ywf4gyfcdx2hh4fftyqrzcnszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsrykv3y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqsaggr44u6wm63uhcfxu5t6u0j3h5rtvqysl92pz287ykyse7ersyvgq4u&#39;&gt;nevent1q…gq4u&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-10&lt;br/&gt;📝 Original message:I agree, audio-based transference isn&amp;#39;t really great for a podcast or radio&lt;br/&gt;ad. It could be used to transmit payment details between phones that don&amp;#39;t&lt;br/&gt;have cameras, though. I think it would be better to define a standard for&lt;br/&gt;transmitting information over audio, but not define what information is to&lt;br/&gt;be conveyed so people could use the method for sending pub keys, payment&lt;br/&gt;protocol requests, or anything else developers might want to make use of.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m guessing some sort of data-over-audio standard already exists? In which&lt;br/&gt;case the bip could just say &amp;#34;we use [standard] to convey any&lt;br/&gt;bitcoin-related data&amp;#34;.&lt;br/&gt;&lt;br/&gt;On Wed, Aug 10, 2016, 10:55 Daniel Hoffman via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; thats how i thought it worked originally, but im not well versed on that,&lt;br/&gt;&amp;gt; so i took his word for it&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Aug 10, 2016 12:38 PM, &amp;#34;Pieter Wuille via bitcoin-dev&amp;#34; &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; On Wed, Aug 10, 2016 at 7:28 PM, Erik Aronesty via bitcoin-dev&lt;br/&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; By sending a public seed,  there&amp;#39;s no way for someone to use the&lt;br/&gt;&amp;gt;&amp;gt; transmitted&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; address and trace the total amount of payments to it.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Worse. By revealing a public seed, anyone who has seen it (= anyone&lt;br/&gt;&amp;gt;&amp;gt; who ever pays you through it) can identity all payments to _any_&lt;br/&gt;&amp;gt;&amp;gt; address derived from that seed.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Pieter&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;&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;-------------- 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/20160810/115775e9/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160810/115775e9/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:37Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs96xrcc3dh88x4x9sc0upkxvc38d0k8x92jzs6ec25xh4f6hkvqmgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsh9kekl</id>
    
      <title type="html">📅 Original date posted:2016-08-10 📝 Original message:Signed ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs96xrcc3dh88x4x9sc0upkxvc38d0k8x92jzs6ec25xh4f6hkvqmgzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsh9kekl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzfaja0433s9226srsa4uwskm0ej30ws3vews32ch0zvs7hdpgvstd24h5&#39;&gt;nevent1q…24h5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-10&lt;br/&gt;📝 Original message:Signed by the key pair that was referenced in the output of the on-chain&lt;br/&gt;transaction? (Bob in my example, actually) Doesn&amp;#39;t that mean it&amp;#39;s easy to&lt;br/&gt;follow who is paying whom, you just can&amp;#39;t see how much is going to reach&lt;br/&gt;recipient?&lt;br/&gt;&lt;br/&gt;On Tue, Aug 9, 2016, 04:40 Tony Churyumoff &amp;lt;tony991 at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; This troll is harmless.  A duplicate spend proof should also be signed&lt;br/&gt;&amp;gt; by the same user (Alice, in your example) to be considered a double&lt;br/&gt;&amp;gt; spend.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2016-08-09 3:18 GMT&#43;03:00 James MacWhyte &amp;lt;macwhyte at gmail.com&amp;gt;:&lt;br/&gt;&amp;gt; &amp;gt; One more thought about why verification by miners may be needed.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Let&amp;#39;s say Alice sends Bob a transaction, generating output C.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; A troll, named Timothy, broadcasts a transaction with a random hash,&lt;br/&gt;&amp;gt; &amp;gt; referencing C&amp;#39;s output as its spend proof. The miners can&amp;#39;t tell if it&amp;#39;s&lt;br/&gt;&amp;gt; &amp;gt; valid or not, and so they include the transaction in a block. Now Bob&amp;#39;s&lt;br/&gt;&amp;gt; &amp;gt; money is useless, because everyone can see the spend proof referenced and&lt;br/&gt;&amp;gt; &amp;gt; thinks it has already been spent, even though the transaction that&lt;br/&gt;&amp;gt; claims it&lt;br/&gt;&amp;gt; &amp;gt; isn&amp;#39;t valid.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Did I miss something that protects against this?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;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/20160810/718af0de/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160810/718af0de/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2wytny0x30xds4suwkaqyj7tkth6dmv7fmne9jx62g9ny5p7xeyszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js3mplqs</id>
    
      <title type="html">📅 Original date posted:2016-08-08 📝 Original message:That ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2wytny0x30xds4suwkaqyj7tkth6dmv7fmne9jx62g9ny5p7xeyszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js3mplqs" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0zscxqzp7d2zwutn29vt6fh4sufvdfn0gkg3fwx9n6pc8cslhzaqjz5726&#39;&gt;nevent1q…5726&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-08&lt;br/&gt;📝 Original message:That is a good point. As you said, it puts a lot more burden on the coin&lt;br/&gt;holders. One big downside would be data management. Instead of simply&lt;br/&gt;backing up a single HD private key, the user would have to back up entire&lt;br/&gt;histories of every output that has been sent to them if they want to secure&lt;br/&gt;their funds.&lt;br/&gt;&lt;br/&gt;It also requires them to be online to receive payments, and I think finding&lt;br/&gt;a method of sending the private message containing the coin&amp;#39;s history is&lt;br/&gt;going to be a bit of a challenge. If you connect directly to the recipient&lt;br/&gt;to convey the information through traditional channels, anonymity is lost.&lt;br/&gt;Sending messages through the bitcoin network is one option to protect&lt;br/&gt;anonymity, but without active pathfinding there&amp;#39;s no guarantee the payee&lt;br/&gt;will even get the message. I&amp;#39;m assuming you&amp;#39;d have to essentially replace&lt;br/&gt;tx messages with encrypted BBC histories, and mempools are quite full as it&lt;br/&gt;is.&lt;br/&gt;&lt;br/&gt;Tony, do you have any more thoughts on exactly how users would convey the&lt;br/&gt;private messages to payees?&lt;br/&gt;&lt;br/&gt;On Mon, Aug 8, 2016 at 4:42 PM Tony Churyumoff &amp;lt;tony991 at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; The whole point is in preventing every third party, including miners, from&lt;br/&gt;&amp;gt; seeing the details of what is being spent and how.  The burden of&lt;br/&gt;&amp;gt; verification is shifted to the owners of the coin (which is fair).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In fact we could have miners recognize spend proofs and check that the&lt;br/&gt;&amp;gt; same spend proof is not entered into the blockchain more than once (which&lt;br/&gt;&amp;gt; would be a sign of double spend), but it is not required.  The coin owners&lt;br/&gt;&amp;gt; can already do that themselves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2016-08-09 0:41 GMT&#43;03:00 James MacWhyte &amp;lt;macwhyte at gmail.com&amp;gt;:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Wouldn&amp;#39;t you lose the ability to assume transactions in the blockchain&lt;br/&gt;&amp;gt;&amp;gt; are verified as valid, since miners can&amp;#39;t see the details of what is being&lt;br/&gt;&amp;gt;&amp;gt; spent and how? I feel like this ability is bitcoin&amp;#39;s greatest asset, and by&lt;br/&gt;&amp;gt;&amp;gt; removing it you&amp;#39;re creating an altcoin different enough to not be connected&lt;br/&gt;&amp;gt;&amp;gt; to/supported by the main bitcoin project.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Mon, Aug 8, 2016, 09:13 Tony Churyumoff via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Hi Henning,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. The fees are paid by the enclosing BTC transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. The hash is encoded into an OP_RETURN.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; How exactly?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2016-08-08 18:47 GMT&#43;03:00 Henning Kopp &amp;lt;henning.kopp at uni-ulm.de&amp;gt;:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi Tony,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I see some issues in your protocol.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1. How are mining fees handled?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2. Assume Alice sends Bob some Coins together with their history and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Bob checks that the history is correct. How does the hash of the txout&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; find its way into the blockchain?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; All the best&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Henning&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;&amp;gt; On Mon, Aug 08, 2016 at 06:30:21PM &#43;0300, Tony Churyumoff via&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; This is a proposal about hiding the entire content of bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transactions.  It goes farther than CoinJoin and ring signatures,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; only obfuscate the transaction graph, and Confidential Transactions,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; only hide the amounts.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; The central idea of the proposed design is to hide the entire inputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs, and publish only the hash of inputs and outputs in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; blockchain.  The hash can be published as OP_RETURN.  The plaintext of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; inputs and outputs is sent directly to the payee via a private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; message, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; never goes into the blockchain.  The payee then calculates the hash&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; looks it up in the blockchain to verify that the hash was indeed&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; published&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; by the payer.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Since the plaintext of the transaction is not published to the public&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; blockchain, all validation work has to be done only by the user who&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; receives the payment.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To protect against double-spends, the payer also has to publish&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; another&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; hash, which is the hash of the output being spent.  We’ll call this&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; hash *spend&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; proof*.  Since the spend proof depends solely on the output being&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; spent,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; any attempt to spend the same output again will produce exactly the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; same&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; spend proof, and the payee will be able to see that, and will reject&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payment.  If there are several outputs consumed by the same&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transaction,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the payer has to publish several spend proofs.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To prove that the outputs being spent are valid, the payer also has&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to send&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the plaintexts of the earlier transaction(s) that produced them, then&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; plaintexts of even earlier transactions that produced the outputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; spent in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; those transactions, and so on, up until the issue (similar to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coinbase)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transactions that created the initial private coins.  Each new owner&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; coin will have to store its entire history, and when he spends the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin, he&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; forwards the entire history to the next owner and extends it with his&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; own&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; If we apply the existing bitcoin design that allows multiple inputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; multiple outputs per transaction, the history of ownership transfers&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; grow exponentially.  Indeed, if we take any regular bitcoin output&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and try&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to track its history back to coinbase, our history will branch every&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; time&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; we see a transaction that has more than one input (which is not&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; uncommon).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; After such a transaction (remember, we are traveling back in time),&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; we’ll&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; have to track two or more histories, for each respective input.  Those&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; histories will branch again, and the total number of history entries&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; grows&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  For example, if every transaction had exactly two&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; inputs,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the size of history would grow as 2^N where N is the number of steps&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; back&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; in history.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To avoid such rapid growth of ownership history (which is not only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; inconvenient to move, but also exposes too much private information&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; about&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; previous owners of all the contributing coins), we will require each&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; private transaction to have exactly one input (i.e. to consume&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; exactly one&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; previous output).  This means that when we track a coin’s history&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; back in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; time, it will no longer branch.  It will grow linearly with the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transfers of ownership.  If a user wants to combine several inputs,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; he will&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; have to send them as separate private transactions (technically,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; several&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; OP_RETURNs, which can be included in a single regular bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transaction).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Thus, we are now forbidding any coin merges but still allowing coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; splits.  To avoid ultimate splitting into the dust, we will also&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; require&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; that all private coins be issued in one of a small number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; denominations.  Only integer number of “banknotes” can be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transferred, the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; input and output amounts must therefore be divisible by the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; For example, an input of amount 700, denomination 100, can be split&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; into&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs 400 and 300, but not into 450 and 250.  To send a payment, the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payer has to pick the unspent outputs of the highest denomination&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; first,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; then the second highest, and so on, like we already do when we pay in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; cash.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; With fixed denominations and one input per transaction, coin histories&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; still grow, but only linearly, which should not be a concern in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regard to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; scalability given that all relevant computing resources still grow&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  The histories need to be stored only by the current&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; owner&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; of the coin, not every bitcoin node.  This is a fairer allocation of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; costs.  Regarding privacy, coin histories do expose private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transactions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; (or rather parts thereof, since a typical payment will likely consist&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; several transactions due to one-input-per-transaction rule) of past&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; owners to the future ones, and that exposure grows linearly with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; time, but&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; it is still much much better than having every transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; immediately on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the public blockchain.  Also, the value of this information for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; potential&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; adversaries arguably decreases with time.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; There is one technical nuance that I omitted above to avoid&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; distraction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Unlike regular bitcoin transactions, every output in a private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; must also include a blinding factor, which is just a random string.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; When&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the output is spent, the corresponding spend proof will therefore&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; depend on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; this blinding factor (remember that spend proof is just a hash of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; output).  Without a blinding factor, it would be feasible to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; pre-image the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; spend proof and reveal the output being spent as the search space of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; all&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; possible outputs is rather small.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To issue the new private coin, one can burn regular BTC by sending it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; one of several unspendable bitcoin addresses, one address per&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Burning BTC would entitle one to an equal amount of the new private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; let’s call it *black bitcoin*, or *BBC*.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Then BBC would be transferred from user to user by:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. creating a private transaction, which consists of one input and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; several&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. storing the hash of the transaction and the spend proof of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; consumed&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; output into the blockchain in an OP_RETURN (the sender pays the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; corresponding fees in regular BTC)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. sending the transaction, together with the history leading to its&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; input,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; directly to the payee over a private communication channel.  The first&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; entry of the history must be a bitcoin transaction that burned BTC to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; issue&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; an equal amount of BCC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To verify the payment, the payee:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. makes sure that the amount of the input matches the sum of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; outputs, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; all are divisible by the denomination&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. calculates the hash of the private transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. looks up an OP_RETURN that includes this hash and is signed by the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payee.  If there is more than one, the one that comes in the earlier&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; block&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; prevails.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 4. calculates the spend proof and makes sure that it is included in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; same OP_RETURN&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 5. makes sure the same spend proof is not included anywhere in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; same or&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; earlier blocks (that is, the coin was not spent before).  Only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transactions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; by the same author are searched.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 6. repeats the same steps for every entry in the history, except the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; first&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; entry, which should be a valid burning transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To facilitate exchange of private transaction data, the bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; network&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; protocol can be extended with a new message type.  Unfortunately, it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; lacks&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; encryption, hence private payments are really private only when&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitcoin is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; used over tor.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; There are a few limitations that ought to be mentioned:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. After user A sends a private payment to user B, user A will know&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; what&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the spend proof is going to be when B decides to spend the coin.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Therefore, A will know when the coin was spent by B, but nothing&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; more.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Neither the new owner of the coin, nor its future movements will be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; known&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to A.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. Over time, larger outputs will likely be split into many smaller&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs, whose amounts are not much greater than their denominations.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; You’ll have to combine more inputs to send the same amount.  When you&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; want&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to send a very large amount that is much greater than the highest&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; available&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; denomination, you’ll have to send a lot of private transactions, your&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; bitcoin transaction with so many OP_RETURNs will stand out, and their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; number will roughly indicate the total amount.  This kind of privacy&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; leakage, however it applies to a small number of users, is easy to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; avoid by&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; using multiple addresses and storing a relatively small amount on each&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; address.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. Exchanges and large merchants will likely accumulate large coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; histories.  Although fragmented, far from complete, and likely&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; outdated, it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; is still something to bear in mind.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; No hard or soft fork is required, BBC is just a separate privacy&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; preserving&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; currency on top of bitcoin blockchain, and the same private keys and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; addresses are used for both BBC and the base currency BTC.  Every BCC&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transaction must be enclosed into by a small BTC transaction that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; stores&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the OP_RETURNs and pays for the fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Are there any flaws in this design?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Originally posted to BCT&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://bitcointalk.org/index.php?topic=1574508.0&#34;&gt;https://bitcointalk.org/index.php?topic=1574508.0&lt;/a&gt;,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; but got no feedback so far, apparently everybody was consumed with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitfinex&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; drama and now mimblewimble.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;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; &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;&amp;gt;&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;&amp;gt; Henning Kopp&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Institute of Distributed Systems&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Ulm University, Germany&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Office: O27 - 3402&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Phone: &#43;49 731 50-24138&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Web: &lt;a href=&#34;http://www.uni-ulm.de/in/vs/~kopp&#34;&gt;http://www.uni-ulm.de/in/vs/~kopp&lt;/a&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;&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;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;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/20160809/00d83f50/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160809/00d83f50/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:28Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxzfaja0433s9226srsa4uwskm0ej30ws3vews32ch0zvs7hdpgvszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsf32eem</id>
    
      <title type="html">📅 Original date posted:2016-08-08 📝 Original message:One ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxzfaja0433s9226srsa4uwskm0ej30ws3vews32ch0zvs7hdpgvszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsf32eem" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2wytny0x30xds4suwkaqyj7tkth6dmv7fmne9jx62g9ny5p7xeysdme5xz&#39;&gt;nevent1q…e5xz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-08&lt;br/&gt;📝 Original message:One more thought about why verification by miners may be needed.&lt;br/&gt;&lt;br/&gt;Let&amp;#39;s say Alice sends Bob a transaction, generating output C.&lt;br/&gt;&lt;br/&gt;A troll, named Timothy, broadcasts a transaction with a random hash,&lt;br/&gt;referencing C&amp;#39;s output as its spend proof. The miners can&amp;#39;t tell if it&amp;#39;s&lt;br/&gt;valid or not, and so they include the transaction in a block. Now Bob&amp;#39;s&lt;br/&gt;money is useless, because everyone can see the spend proof referenced and&lt;br/&gt;thinks it has already been spent, even though the transaction that claims&lt;br/&gt;it isn&amp;#39;t valid.&lt;br/&gt;&lt;br/&gt;Did I miss something that protects against this?&lt;br/&gt;&lt;br/&gt;On Mon, Aug 8, 2016 at 4:42 PM Tony Churyumoff &amp;lt;tony991 at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; The whole point is in preventing every third party, including miners, from&lt;br/&gt;&amp;gt; seeing the details of what is being spent and how.  The burden of&lt;br/&gt;&amp;gt; verification is shifted to the owners of the coin (which is fair).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In fact we could have miners recognize spend proofs and check that the&lt;br/&gt;&amp;gt; same spend proof is not entered into the blockchain more than once (which&lt;br/&gt;&amp;gt; would be a sign of double spend), but it is not required.  The coin owners&lt;br/&gt;&amp;gt; can already do that themselves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2016-08-09 0:41 GMT&#43;03:00 James MacWhyte &amp;lt;macwhyte at gmail.com&amp;gt;:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Wouldn&amp;#39;t you lose the ability to assume transactions in the blockchain&lt;br/&gt;&amp;gt;&amp;gt; are verified as valid, since miners can&amp;#39;t see the details of what is being&lt;br/&gt;&amp;gt;&amp;gt; spent and how? I feel like this ability is bitcoin&amp;#39;s greatest asset, and by&lt;br/&gt;&amp;gt;&amp;gt; removing it you&amp;#39;re creating an altcoin different enough to not be connected&lt;br/&gt;&amp;gt;&amp;gt; to/supported by the main bitcoin project.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Mon, Aug 8, 2016, 09:13 Tony Churyumoff via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Hi Henning,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. The fees are paid by the enclosing BTC transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. The hash is encoded into an OP_RETURN.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; How exactly?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2016-08-08 18:47 GMT&#43;03:00 Henning Kopp &amp;lt;henning.kopp at uni-ulm.de&amp;gt;:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi Tony,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I see some issues in your protocol.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1. How are mining fees handled?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2. Assume Alice sends Bob some Coins together with their history and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Bob checks that the history is correct. How does the hash of the txout&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; find its way into the blockchain?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; All the best&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Henning&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;&amp;gt; On Mon, Aug 08, 2016 at 06:30:21PM &#43;0300, Tony Churyumoff via&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; This is a proposal about hiding the entire content of bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transactions.  It goes farther than CoinJoin and ring signatures,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; only obfuscate the transaction graph, and Confidential Transactions,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; only hide the amounts.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; The central idea of the proposed design is to hide the entire inputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs, and publish only the hash of inputs and outputs in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; blockchain.  The hash can be published as OP_RETURN.  The plaintext of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; inputs and outputs is sent directly to the payee via a private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; message, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; never goes into the blockchain.  The payee then calculates the hash&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; looks it up in the blockchain to verify that the hash was indeed&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; published&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; by the payer.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Since the plaintext of the transaction is not published to the public&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; blockchain, all validation work has to be done only by the user who&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; receives the payment.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To protect against double-spends, the payer also has to publish&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; another&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; hash, which is the hash of the output being spent.  We’ll call this&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; hash *spend&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; proof*.  Since the spend proof depends solely on the output being&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; spent,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; any attempt to spend the same output again will produce exactly the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; same&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; spend proof, and the payee will be able to see that, and will reject&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payment.  If there are several outputs consumed by the same&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transaction,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the payer has to publish several spend proofs.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To prove that the outputs being spent are valid, the payer also has&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to send&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the plaintexts of the earlier transaction(s) that produced them, then&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; plaintexts of even earlier transactions that produced the outputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; spent in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; those transactions, and so on, up until the issue (similar to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coinbase)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transactions that created the initial private coins.  Each new owner&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; coin will have to store its entire history, and when he spends the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin, he&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; forwards the entire history to the next owner and extends it with his&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; own&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; If we apply the existing bitcoin design that allows multiple inputs&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; multiple outputs per transaction, the history of ownership transfers&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; grow exponentially.  Indeed, if we take any regular bitcoin output&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and try&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to track its history back to coinbase, our history will branch every&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; time&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; we see a transaction that has more than one input (which is not&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; uncommon).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; After such a transaction (remember, we are traveling back in time),&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; we’ll&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; have to track two or more histories, for each respective input.  Those&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; histories will branch again, and the total number of history entries&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; grows&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  For example, if every transaction had exactly two&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; inputs,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the size of history would grow as 2^N where N is the number of steps&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; back&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; in history.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To avoid such rapid growth of ownership history (which is not only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; inconvenient to move, but also exposes too much private information&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; about&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; previous owners of all the contributing coins), we will require each&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; private transaction to have exactly one input (i.e. to consume&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; exactly one&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; previous output).  This means that when we track a coin’s history&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; back in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; time, it will no longer branch.  It will grow linearly with the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transfers of ownership.  If a user wants to combine several inputs,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; he will&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; have to send them as separate private transactions (technically,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; several&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; OP_RETURNs, which can be included in a single regular bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transaction).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Thus, we are now forbidding any coin merges but still allowing coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; splits.  To avoid ultimate splitting into the dust, we will also&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; require&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; that all private coins be issued in one of a small number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; denominations.  Only integer number of “banknotes” can be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transferred, the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; input and output amounts must therefore be divisible by the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; For example, an input of amount 700, denomination 100, can be split&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; into&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs 400 and 300, but not into 450 and 250.  To send a payment, the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payer has to pick the unspent outputs of the highest denomination&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; first,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; then the second highest, and so on, like we already do when we pay in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; cash.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; With fixed denominations and one input per transaction, coin histories&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; still grow, but only linearly, which should not be a concern in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; regard to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; scalability given that all relevant computing resources still grow&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  The histories need to be stored only by the current&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; owner&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; of the coin, not every bitcoin node.  This is a fairer allocation of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; costs.  Regarding privacy, coin histories do expose private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transactions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; (or rather parts thereof, since a typical payment will likely consist&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; several transactions due to one-input-per-transaction rule) of past&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; owners to the future ones, and that exposure grows linearly with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; time, but&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; it is still much much better than having every transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; immediately on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the public blockchain.  Also, the value of this information for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; potential&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; adversaries arguably decreases with time.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; There is one technical nuance that I omitted above to avoid&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; distraction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Unlike regular bitcoin transactions, every output in a private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; must also include a blinding factor, which is just a random string.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; When&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the output is spent, the corresponding spend proof will therefore&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; depend on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; this blinding factor (remember that spend proof is just a hash of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; output).  Without a blinding factor, it would be feasible to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; pre-image the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; spend proof and reveal the output being spent as the search space of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; all&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; possible outputs is rather small.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To issue the new private coin, one can burn regular BTC by sending it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; one of several unspendable bitcoin addresses, one address per&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Burning BTC would entitle one to an equal amount of the new private&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; coin,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; let’s call it *black bitcoin*, or *BBC*.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Then BBC would be transferred from user to user by:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. creating a private transaction, which consists of one input and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; several&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. storing the hash of the transaction and the spend proof of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; consumed&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; output into the blockchain in an OP_RETURN (the sender pays the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; corresponding fees in regular BTC)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. sending the transaction, together with the history leading to its&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; input,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; directly to the payee over a private communication channel.  The first&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; entry of the history must be a bitcoin transaction that burned BTC to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; issue&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; an equal amount of BCC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To verify the payment, the payee:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. makes sure that the amount of the input matches the sum of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; outputs, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; all are divisible by the denomination&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. calculates the hash of the private transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. looks up an OP_RETURN that includes this hash and is signed by the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; payee.  If there is more than one, the one that comes in the earlier&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; block&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; prevails.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 4. calculates the spend proof and makes sure that it is included in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; same OP_RETURN&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 5. makes sure the same spend proof is not included anywhere in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; same or&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; earlier blocks (that is, the coin was not spent before).  Only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; transactions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; by the same author are searched.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 6. repeats the same steps for every entry in the history, except the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; first&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; entry, which should be a valid burning transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; To facilitate exchange of private transaction data, the bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; network&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; protocol can be extended with a new message type.  Unfortunately, it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; lacks&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; encryption, hence private payments are really private only when&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitcoin is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; used over tor.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; There are a few limitations that ought to be mentioned:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 1. After user A sends a private payment to user B, user A will know&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; what&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the spend proof is going to be when B decides to spend the coin.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Therefore, A will know when the coin was spent by B, but nothing&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; more.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;  Neither the new owner of the coin, nor its future movements will be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; known&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to A.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 2. Over time, larger outputs will likely be split into many smaller&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outputs, whose amounts are not much greater than their denominations.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; You’ll have to combine more inputs to send the same amount.  When you&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; want&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; to send a very large amount that is much greater than the highest&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; available&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; denomination, you’ll have to send a lot of private transactions, your&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; bitcoin transaction with so many OP_RETURNs will stand out, and their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; number will roughly indicate the total amount.  This kind of privacy&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; leakage, however it applies to a small number of users, is easy to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; avoid by&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; using multiple addresses and storing a relatively small amount on each&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; address.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; 3. Exchanges and large merchants will likely accumulate large coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; histories.  Although fragmented, far from complete, and likely&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; outdated, it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; is still something to bear in mind.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; No hard or soft fork is required, BBC is just a separate privacy&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; preserving&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; currency on top of bitcoin blockchain, and the same private keys and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; addresses are used for both BBC and the base currency BTC.  Every BCC&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; transaction must be enclosed into by a small BTC transaction that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; stores&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the OP_RETURNs and pays for the fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Are there any flaws in this design?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Originally posted to BCT&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://bitcointalk.org/index.php?topic=1574508.0&#34;&gt;https://bitcointalk.org/index.php?topic=1574508.0&lt;/a&gt;,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; but got no feedback so far, apparently everybody was consumed with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; bitfinex&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; drama and now mimblewimble.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;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; &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;&amp;gt;&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;&amp;gt; Henning Kopp&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Institute of Distributed Systems&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Ulm University, Germany&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Office: O27 - 3402&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Phone: &#43;49 731 50-24138&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Web: &lt;a href=&#34;http://www.uni-ulm.de/in/vs/~kopp&#34;&gt;http://www.uni-ulm.de/in/vs/~kopp&lt;/a&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;&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;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;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/20160809/09443165/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160809/09443165/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:28Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9xz03jqljq9kmd9hkq2p3jak3tylvszfmfrl3mgfum8s5d7ts3kszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsshtgas</id>
    
      <title type="html">📅 Original date posted:2016-08-08 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9xz03jqljq9kmd9hkq2p3jak3tylvszfmfrl3mgfum8s5d7ts3kszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsshtgas" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgsfd04h7k3fvwkz2vcehr0w57z0ktpn9xh26nhyhl3pwqc8m792cftwnxx&#39;&gt;nevent1q…wnxx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-08&lt;br/&gt;📝 Original message:Wouldn&amp;#39;t you lose the ability to assume transactions in the blockchain are&lt;br/&gt;verified as valid, since miners can&amp;#39;t see the details of what is being&lt;br/&gt;spent and how? I feel like this ability is bitcoin&amp;#39;s greatest asset, and by&lt;br/&gt;removing it you&amp;#39;re creating an altcoin different enough to not be connected&lt;br/&gt;to/supported by the main bitcoin project.&lt;br/&gt;&lt;br/&gt;On Mon, Aug 8, 2016, 09:13 Tony Churyumoff via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Henning,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. The fees are paid by the enclosing BTC transaction.&lt;br/&gt;&amp;gt; 2. The hash is encoded into an OP_RETURN.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt; How exactly?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Tony&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2016-08-08 18:47 GMT&#43;03:00 Henning Kopp &amp;lt;henning.kopp at uni-ulm.de&amp;gt;:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Hi Tony,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I see some issues in your protocol.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1. How are mining fees handled?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 2. Assume Alice sends Bob some Coins together with their history and&lt;br/&gt;&amp;gt;&amp;gt; Bob checks that the history is correct. How does the hash of the txout&lt;br/&gt;&amp;gt;&amp;gt; find its way into the blockchain?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regarding the blinding factor, I think you could just use HMAC.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; All the best&lt;br/&gt;&amp;gt;&amp;gt; Henning&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Mon, Aug 08, 2016 at 06:30:21PM &#43;0300, Tony Churyumoff via bitcoin-dev&lt;br/&gt;&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; This is a proposal about hiding the entire content of bitcoin&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transactions.  It goes farther than CoinJoin and ring signatures, which&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; only obfuscate the transaction graph, and Confidential Transactions,&lt;br/&gt;&amp;gt;&amp;gt; which&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; only hide the amounts.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; The central idea of the proposed design is to hide the entire inputs and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; outputs, and publish only the hash of inputs and outputs in the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; blockchain.  The hash can be published as OP_RETURN.  The plaintext of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; inputs and outputs is sent directly to the payee via a private message,&lt;br/&gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; never goes into the blockchain.  The payee then calculates the hash and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; looks it up in the blockchain to verify that the hash was indeed&lt;br/&gt;&amp;gt;&amp;gt; published&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; by the payer.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Since the plaintext of the transaction is not published to the public&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; blockchain, all validation work has to be done only by the user who&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; receives the payment.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To protect against double-spends, the payer also has to publish another&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; hash, which is the hash of the output being spent.  We’ll call this&lt;br/&gt;&amp;gt;&amp;gt; hash *spend&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; proof*.  Since the spend proof depends solely on the output being spent,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; any attempt to spend the same output again will produce exactly the same&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; spend proof, and the payee will be able to see that, and will reject the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; payment.  If there are several outputs consumed by the same transaction,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the payer has to publish several spend proofs.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To prove that the outputs being spent are valid, the payer also has to&lt;br/&gt;&amp;gt;&amp;gt; send&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the plaintexts of the earlier transaction(s) that produced them, then&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; plaintexts of even earlier transactions that produced the outputs spent&lt;br/&gt;&amp;gt;&amp;gt; in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; those transactions, and so on, up until the issue (similar to coinbase)&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transactions that created the initial private coins.  Each new owner of&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; coin will have to store its entire history, and when he spends the&lt;br/&gt;&amp;gt;&amp;gt; coin, he&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; forwards the entire history to the next owner and extends it with his&lt;br/&gt;&amp;gt;&amp;gt; own&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transaction.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; If we apply the existing bitcoin design that allows multiple inputs and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; multiple outputs per transaction, the history of ownership transfers&lt;br/&gt;&amp;gt;&amp;gt; would&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; grow exponentially.  Indeed, if we take any regular bitcoin output and&lt;br/&gt;&amp;gt;&amp;gt; try&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; to track its history back to coinbase, our history will branch every&lt;br/&gt;&amp;gt;&amp;gt; time&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; we see a transaction that has more than one input (which is not&lt;br/&gt;&amp;gt;&amp;gt; uncommon).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; After such a transaction (remember, we are traveling back in time),&lt;br/&gt;&amp;gt;&amp;gt; we’ll&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; have to track two or more histories, for each respective input.  Those&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; histories will branch again, and the total number of history entries&lt;br/&gt;&amp;gt;&amp;gt; grows&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  For example, if every transaction had exactly two&lt;br/&gt;&amp;gt;&amp;gt; inputs,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the size of history would grow as 2^N where N is the number of steps&lt;br/&gt;&amp;gt;&amp;gt; back&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; in history.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To avoid such rapid growth of ownership history (which is not only&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; inconvenient to move, but also exposes too much private information&lt;br/&gt;&amp;gt;&amp;gt; about&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; previous owners of all the contributing coins), we will require each&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; private transaction to have exactly one input (i.e. to consume exactly&lt;br/&gt;&amp;gt;&amp;gt; one&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; previous output).  This means that when we track a coin’s history back&lt;br/&gt;&amp;gt;&amp;gt; in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; time, it will no longer branch.  It will grow linearly with the number&lt;br/&gt;&amp;gt;&amp;gt; of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transfers of ownership.  If a user wants to combine several inputs, he&lt;br/&gt;&amp;gt;&amp;gt; will&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; have to send them as separate private transactions (technically, several&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; OP_RETURNs, which can be included in a single regular bitcoin&lt;br/&gt;&amp;gt;&amp;gt; transaction).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Thus, we are now forbidding any coin merges but still allowing coin&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; splits.  To avoid ultimate splitting into the dust, we will also require&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; that all private coins be issued in one of a small number of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; denominations.  Only integer number of “banknotes” can be transferred,&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; input and output amounts must therefore be divisible by the&lt;br/&gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; For example, an input of amount 700, denomination 100, can be split into&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; outputs 400 and 300, but not into 450 and 250.  To send a payment, the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; payer has to pick the unspent outputs of the highest denomination first,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; then the second highest, and so on, like we already do when we pay in&lt;br/&gt;&amp;gt;&amp;gt; cash.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; With fixed denominations and one input per transaction, coin histories&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; still grow, but only linearly, which should not be a concern in regard&lt;br/&gt;&amp;gt;&amp;gt; to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; scalability given that all relevant computing resources still grow&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; exponentially.  The histories need to be stored only by the current&lt;br/&gt;&amp;gt;&amp;gt; owner&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; of the coin, not every bitcoin node.  This is a fairer allocation of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; costs.  Regarding privacy, coin histories do expose private transactions&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; (or rather parts thereof, since a typical payment will likely consist of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; several transactions due to one-input-per-transaction rule) of past coin&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; owners to the future ones, and that exposure grows linearly with time,&lt;br/&gt;&amp;gt;&amp;gt; but&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; it is still much much better than having every transaction immediately&lt;br/&gt;&amp;gt;&amp;gt; on&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the public blockchain.  Also, the value of this information for&lt;br/&gt;&amp;gt;&amp;gt; potential&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; adversaries arguably decreases with time.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; There is one technical nuance that I omitted above to avoid distraction.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;  Unlike regular bitcoin transactions, every output in a private payment&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; must also include a blinding factor, which is just a random string.&lt;br/&gt;&amp;gt;&amp;gt; When&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the output is spent, the corresponding spend proof will therefore&lt;br/&gt;&amp;gt;&amp;gt; depend on&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; this blinding factor (remember that spend proof is just a hash of the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; output).  Without a blinding factor, it would be feasible to pre-image&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; spend proof and reveal the output being spent as the search space of all&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; possible outputs is rather small.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To issue the new private coin, one can burn regular BTC by sending it to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; one of several unspendable bitcoin addresses, one address per&lt;br/&gt;&amp;gt;&amp;gt; denomination.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;  Burning BTC would entitle one to an equal amount of the new private&lt;br/&gt;&amp;gt;&amp;gt; coin,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; let’s call it *black bitcoin*, or *BBC*.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Then BBC would be transferred from user to user by:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 1. creating a private transaction, which consists of one input and&lt;br/&gt;&amp;gt;&amp;gt; several&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; outputs;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 2. storing the hash of the transaction and the spend proof of the&lt;br/&gt;&amp;gt;&amp;gt; consumed&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; output into the blockchain in an OP_RETURN (the sender pays the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; corresponding fees in regular BTC)&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 3. sending the transaction, together with the history leading to its&lt;br/&gt;&amp;gt;&amp;gt; input,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; directly to the payee over a private communication channel.  The first&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; entry of the history must be a bitcoin transaction that burned BTC to&lt;br/&gt;&amp;gt;&amp;gt; issue&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; an equal amount of BCC.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To verify the payment, the payee:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 1. makes sure that the amount of the input matches the sum of outputs,&lt;br/&gt;&amp;gt;&amp;gt; and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; all are divisible by the denomination&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 2. calculates the hash of the private transaction&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 3. looks up an OP_RETURN that includes this hash and is signed by the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; payee.  If there is more than one, the one that comes in the earlier&lt;br/&gt;&amp;gt;&amp;gt; block&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; prevails.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 4. calculates the spend proof and makes sure that it is included in the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; same OP_RETURN&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 5. makes sure the same spend proof is not included anywhere in the same&lt;br/&gt;&amp;gt;&amp;gt; or&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; earlier blocks (that is, the coin was not spent before).  Only&lt;br/&gt;&amp;gt;&amp;gt; transactions&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; by the same author are searched.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 6. repeats the same steps for every entry in the history, except the&lt;br/&gt;&amp;gt;&amp;gt; first&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; entry, which should be a valid burning transaction.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; To facilitate exchange of private transaction data, the bitcoin network&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; protocol can be extended with a new message type.  Unfortunately, it&lt;br/&gt;&amp;gt;&amp;gt; lacks&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; encryption, hence private payments are really private only when bitcoin&lt;br/&gt;&amp;gt;&amp;gt; is&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; used over tor.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; There are a few limitations that ought to be mentioned:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 1. After user A sends a private payment to user B, user A will know what&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the spend proof is going to be when B decides to spend the coin.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;  Therefore, A will know when the coin was spent by B, but nothing more.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;  Neither the new owner of the coin, nor its future movements will be&lt;br/&gt;&amp;gt;&amp;gt; known&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; to A.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 2. Over time, larger outputs will likely be split into many smaller&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; outputs, whose amounts are not much greater than their denominations.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; You’ll have to combine more inputs to send the same amount.  When you&lt;br/&gt;&amp;gt;&amp;gt; want&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; to send a very large amount that is much greater than the highest&lt;br/&gt;&amp;gt;&amp;gt; available&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; denomination, you’ll have to send a lot of private transactions, your&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; bitcoin transaction with so many OP_RETURNs will stand out, and their&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; number will roughly indicate the total amount.  This kind of privacy&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; leakage, however it applies to a small number of users, is easy to&lt;br/&gt;&amp;gt;&amp;gt; avoid by&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; using multiple addresses and storing a relatively small amount on each&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; address.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 3. Exchanges and large merchants will likely accumulate large coin&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; histories.  Although fragmented, far from complete, and likely&lt;br/&gt;&amp;gt;&amp;gt; outdated, it&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; is still something to bear in mind.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; No hard or soft fork is required, BBC is just a separate privacy&lt;br/&gt;&amp;gt;&amp;gt; preserving&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; currency on top of bitcoin blockchain, and the same private keys and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; addresses are used for both BBC and the base currency BTC.  Every BCC&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; transaction must be enclosed into by a small BTC transaction that stores&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the OP_RETURNs and pays for the fees.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Are there any flaws in this design?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Originally posted to BCT&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://bitcointalk.org/index.php?topic=1574508.0&#34;&gt;https://bitcointalk.org/index.php?topic=1574508.0&lt;/a&gt;,&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; but got no feedback so far, apparently everybody was consumed with&lt;br/&gt;&amp;gt;&amp;gt; bitfinex&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; drama and now mimblewimble.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;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;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Henning Kopp&lt;br/&gt;&amp;gt;&amp;gt; Institute of Distributed Systems&lt;br/&gt;&amp;gt;&amp;gt; Ulm University, Germany&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Office: O27 - 3402&lt;br/&gt;&amp;gt;&amp;gt; Phone: &#43;49 731 50-24138&lt;br/&gt;&amp;gt;&amp;gt; Web: &lt;a href=&#34;http://www.uni-ulm.de/in/vs/~kopp&#34;&gt;http://www.uni-ulm.de/in/vs/~kopp&lt;/a&gt;&lt;br/&gt;&amp;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;-------------- 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/20160808/0bfeb179/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160808/0bfeb179/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:25Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8zdaxde2kv6m5u5ut4t4hr80j3agfrzj4tp4dw9nm4k76x5xz2eszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsxuelma</id>
    
      <title type="html">📅 Original date posted:2016-08-03 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8zdaxde2kv6m5u5ut4t4hr80j3agfrzj4tp4dw9nm4k76x5xz2eszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsxuelma" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszhtaaqq530pujf6qpqndlc6wdn7vfwj6ht8epz9yfy36uw5xc3qshsy84f&#39;&gt;nevent1q…y84f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-03&lt;br/&gt;📝 Original message:&amp;gt; Most people?&lt;br/&gt;&lt;br/&gt;I&amp;#39;m talking about services that are built to handle multiple accounts, like&lt;br/&gt;exchanges and payment processors.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; You realize that you need to set up bitcoind to make an&lt;br/&gt;&amp;gt; external request on every reception of funds on any address in the whole&lt;br/&gt;&amp;gt; system.&lt;br/&gt;&amp;gt;&lt;br/&gt;No, you don&amp;#39;t. You can write a script that repeatedly asks bitcoind for the&lt;br/&gt;block height, and when it increments you know a new block has been&lt;br/&gt;confirmed. So then you request the transaction list from the latest block,&lt;br/&gt;and check each confirmed transaction against your database of receive/watch&lt;br/&gt;addresses. If there is a match, you record the transaction info in your&lt;br/&gt;database so you can use it as an input later to create a spend transaction.&lt;br/&gt;&lt;br/&gt;You could also use something like Bitpay&amp;#39;s Insight to make interfacing with&lt;br/&gt;bitcoind easier.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; It can&amp;#39;t possibly scale, also we don&amp;#39;t have the time to build an account&lt;br/&gt;&amp;gt; system for every bitcoind service. Imagine the loss of time, it&amp;#39;s huge and&lt;br/&gt;&amp;gt; grows exponentially with adoption, or rather there is no adoption!&lt;br/&gt;&amp;gt;&lt;br/&gt;What are you trying to build?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Also external systems are not be trusted, specially not bitgo, did you&lt;br/&gt;&amp;gt; read any news in the last 24 hours?&lt;br/&gt;&amp;gt;&lt;br/&gt;I prefer to wait until all facts are in before I pass judgement. I think&lt;br/&gt;BitGo is an excellent company with a great track record. If used properly,&lt;br/&gt;they are extremely secure. If you are worried about storing funds there&lt;br/&gt;long time, don&amp;#39;t--just use them to detect incoming payments and move your&lt;br/&gt;funds elsewhere for long term storage.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; /m&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Wed, 3 Aug 2016, James MacWhyte wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; From what I&amp;#39;ve seen, most people build their own account system&lt;br/&gt;&amp;gt; separately&lt;br/&gt;&amp;gt; &amp;gt; (including fee management) and just use bitcoind to send, receive, and&lt;br/&gt;&amp;gt; &amp;gt; verify transactions. It&amp;#39;s not meant to be a drop-in solution for running&lt;br/&gt;&amp;gt; an&lt;br/&gt;&amp;gt; &amp;gt; entire bitcoin deposit and withdrawal system, it just provides the bare&lt;br/&gt;&amp;gt; &amp;gt; tools required to build your own. If you need a pre-built solution, there&lt;br/&gt;&amp;gt; &amp;gt; are companies that provide those types of services as a platform (BitGo,&lt;br/&gt;&amp;gt; for&lt;br/&gt;&amp;gt; &amp;gt; example).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Wed, Aug 3, 2016, 11:25 Marc Larue via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;       Hi,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       I have 2 problems with bitcoind that separately are not a&lt;br/&gt;&amp;gt; &amp;gt;       problem but&lt;br/&gt;&amp;gt; &amp;gt;       together they make the platform unusable for many projects.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       If I have accounts I need to make sure the account holders do&lt;br/&gt;&amp;gt; &amp;gt;       not&lt;br/&gt;&amp;gt; &amp;gt;       overcharge their account. To do this I can now use&lt;br/&gt;&amp;gt; &amp;gt;       &amp;#34;createrawtransaction()&lt;br/&gt;&amp;gt; &amp;gt;       &#43; fundrawtransaction() &#43; signrawtransaction()&amp;#34; and then make&lt;br/&gt;&amp;gt; &amp;gt;       sure the&lt;br/&gt;&amp;gt; &amp;gt;       transaction can be paid by an account.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       But since you deprecated the accounts and there is no&lt;br/&gt;&amp;gt; &amp;gt;       sendrawtransactionfrom() method; I either have to build my own&lt;br/&gt;&amp;gt; &amp;gt;       account&lt;br/&gt;&amp;gt; &amp;gt;       system (this is no picknick btw, since you need to track all&lt;br/&gt;&amp;gt; &amp;gt;       incoming&lt;br/&gt;&amp;gt; &amp;gt;       funds to all addresses and having an integrated account system&lt;br/&gt;&amp;gt; &amp;gt;       in bitcoind&lt;br/&gt;&amp;gt; &amp;gt;       is 100% necessary to do this effectively).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       Or I might be able to go ahead and speculate that you will not&lt;br/&gt;&amp;gt; &amp;gt;       be able to&lt;br/&gt;&amp;gt; &amp;gt;       untangle the account code and hack my bitcoind to have a&lt;br/&gt;&amp;gt; &amp;gt;       sendfrom with a&lt;br/&gt;&amp;gt; &amp;gt;       fixed fee parameter that overrides the size multiplication and I&lt;br/&gt;&amp;gt; &amp;gt;       just do&lt;br/&gt;&amp;gt; &amp;gt;       the math before I send hoping that the transactions go through&lt;br/&gt;&amp;gt; &amp;gt;       (this is&lt;br/&gt;&amp;gt; &amp;gt;       bad but better than having accounts overcharge because they send&lt;br/&gt;&amp;gt; &amp;gt;       dust that&lt;br/&gt;&amp;gt; &amp;gt;       induce high fees).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       I understand the privacy problems with using accounts for&lt;br/&gt;&amp;gt; &amp;gt;       off-chain&lt;br/&gt;&amp;gt; &amp;gt;       microstransactions but currently it&amp;#39;s the best workable option.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       I hope you understand that I&amp;#39;m not trolling here, I have been&lt;br/&gt;&amp;gt; &amp;gt;       mining since&lt;br/&gt;&amp;gt; &amp;gt;       2011 on FPGAs and built bitcoinbankbook.com 2 years ago. When I&lt;br/&gt;&amp;gt; &amp;gt;       descovered&lt;br/&gt;&amp;gt; &amp;gt;       that once transactions will require fees (back then they didn&amp;#39;t)&lt;br/&gt;&amp;gt; &amp;gt;       and that&lt;br/&gt;&amp;gt; &amp;gt;       your system is not able to handle fees with accounts, I stopped&lt;br/&gt;&amp;gt; &amp;gt;       developing&lt;br/&gt;&amp;gt; &amp;gt;       everything related to bitcoin.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       There are probably 100s if not 1000s of developers in the same&lt;br/&gt;&amp;gt; &amp;gt;       situation.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       You can&amp;#39;t just deprecate accounts like that because nobody likes&lt;br/&gt;&amp;gt; &amp;gt;       the code.&lt;br/&gt;&amp;gt; &amp;gt;       Without accounts bitcoind is only a person-to-person manual&lt;br/&gt;&amp;gt; &amp;gt;       client.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       To build many-to-many automatic &amp;#34;organisations&amp;#34; on top of&lt;br/&gt;&amp;gt; &amp;gt;       bitcoind you&lt;br/&gt;&amp;gt; &amp;gt;       need accounts and you need fees that are predictable.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       Kind Regards,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;       /marc&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; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;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/20160804/f3ae45ea/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160804/f3ae45ea/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszhtaaqq530pujf6qpqndlc6wdn7vfwj6ht8epz9yfy36uw5xc3qszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js6llt9n</id>
    
      <title type="html">📅 Original date posted:2016-08-03 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszhtaaqq530pujf6qpqndlc6wdn7vfwj6ht8epz9yfy36uw5xc3qszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js6llt9n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyw7c3jmx9vlya0nsnhevyjea8vy6st6vvea4zln4w75n6s7t7tqqpkhkah&#39;&gt;nevent1q…hkah&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-03&lt;br/&gt;📝 Original message:&amp;gt;From what I&amp;#39;ve seen, most people build their own account system separately&lt;br/&gt;(including fee management) and just use bitcoind to send, receive, and&lt;br/&gt;verify transactions. It&amp;#39;s not meant to be a drop-in solution for running an&lt;br/&gt;entire bitcoin deposit and withdrawal system, it just provides the bare&lt;br/&gt;tools required to build your own. If you need a pre-built solution, there&lt;br/&gt;are companies that provide those types of services as a platform (BitGo,&lt;br/&gt;for example).&lt;br/&gt;&lt;br/&gt;On Wed, Aug 3, 2016, 11:25 Marc Larue via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I have 2 problems with bitcoind that separately are not a problem but&lt;br/&gt;&amp;gt; together they make the platform unusable for many projects.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If I have accounts I need to make sure the account holders do not&lt;br/&gt;&amp;gt; overcharge their account. To do this I can now use &amp;#34;createrawtransaction()&lt;br/&gt;&amp;gt; &#43; fundrawtransaction() &#43; signrawtransaction()&amp;#34; and then make sure the&lt;br/&gt;&amp;gt; transaction can be paid by an account.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But since you deprecated the accounts and there is no&lt;br/&gt;&amp;gt; sendrawtransactionfrom() method; I either have to build my own account&lt;br/&gt;&amp;gt; system (this is no picknick btw, since you need to track all incoming&lt;br/&gt;&amp;gt; funds to all addresses and having an integrated account system in bitcoind&lt;br/&gt;&amp;gt; is 100% necessary to do this effectively).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Or I might be able to go ahead and speculate that you will not be able to&lt;br/&gt;&amp;gt; untangle the account code and hack my bitcoind to have a sendfrom with a&lt;br/&gt;&amp;gt; fixed fee parameter that overrides the size multiplication and I just do&lt;br/&gt;&amp;gt; the math before I send hoping that the transactions go through (this is&lt;br/&gt;&amp;gt; bad but better than having accounts overcharge because they send dust that&lt;br/&gt;&amp;gt; induce high fees).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I understand the privacy problems with using accounts for off-chain&lt;br/&gt;&amp;gt; microstransactions but currently it&amp;#39;s the best workable option.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I hope you understand that I&amp;#39;m not trolling here, I have been mining since&lt;br/&gt;&amp;gt; 2011 on FPGAs and built bitcoinbankbook.com 2 years ago. When I descovered&lt;br/&gt;&amp;gt; that once transactions will require fees (back then they didn&amp;#39;t) and that&lt;br/&gt;&amp;gt; your system is not able to handle fees with accounts, I stopped developing&lt;br/&gt;&amp;gt; everything related to bitcoin.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are probably 100s if not 1000s of developers in the same situation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You can&amp;#39;t just deprecate accounts like that because nobody likes the code.&lt;br/&gt;&amp;gt; Without accounts bitcoind is only a person-to-person manual client.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To build many-to-many automatic &amp;#34;organisations&amp;#34; on top of bitcoind you&lt;br/&gt;&amp;gt; need accounts and you need fees that are predictable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Kind Regards,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; /marc&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;-------------- 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/20160803/dce3245a/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160803/dce3245a/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:52:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqkeen5gllycxtqaqrzx49tv8dftl5szt2rxgc5l6ws5als3f6r3czypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js0x6qfh</id>
    
      <title type="html">📅 Original date posted:2016-07-05 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqkeen5gllycxtqaqrzx49tv8dftl5szt2rxgc5l6ws5als3f6r3czypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js0x6qfh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq86sspjp0sus0kzaf0za7pg3xjahglwxys5x3ftlyhcm6h2msg5gwwak2w&#39;&gt;nevent1q…ak2w&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-07-05&lt;br/&gt;📝 Original message:I&amp;#39;m curious to hear the answers to the questions Luke asked earlier. I also&lt;br/&gt;read through the documentation and wasn&amp;#39;t convinced it was thought out well&lt;br/&gt;enough to actually build something on top of, but there&amp;#39;s no reason it&lt;br/&gt;can&amp;#39;t get a number as a work-in-progress.&lt;br/&gt;&lt;br/&gt;I hope it does continue to get worked on, though. The lack of response or&lt;br/&gt;discussion worries me that it might become an abandoned project.&lt;br/&gt;&lt;br/&gt;On Tue, Jul 5, 2016, 18:32 Luke Dashjr via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Tuesday, July 05, 2016 5:46:36 PM Peter Todd wrote:&lt;br/&gt;&amp;gt; &amp;gt; On Thu, May 26, 2016 at 03:53:04AM &#43;0000, Luke Dashjr via bitcoin-dev&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Thursday, May 26, 2016 2:50:26 AM Nicolas Dorier via bitcoin-dev&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;   Author: Flavien Charlon &amp;lt;flavien at charlon.net&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; What&amp;#39;s the status of this BIP? Will it be assigned?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I was waiting for clarification on the Author thing, but Nicholas hasn&amp;#39;t&lt;br/&gt;&amp;gt; responded yet. I am unaware of any reason NOT to assign it, and there&lt;br/&gt;&amp;gt; appear&lt;br/&gt;&amp;gt; to be no objections, so let&amp;#39;s call it BIP 160.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Luke&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;-------------- 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/20160706/bbb89dc6/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160706/bbb89dc6/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:51:54Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8ae9sgq4enrwtmdq3rty5je0q9k245lay039a5uv24dl0h79xqzqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js09mjj8</id>
    
      <title type="html">📅 Original date posted:2016-06-22 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8ae9sgq4enrwtmdq3rty5je0q9k245lay039a5uv24dl0h79xqzqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js09mjj8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzmc2y2xqpq68d6plp57fes2j2uehypg8m55khrhgsp8cregayhcf6vqht&#39;&gt;nevent1q…vqht&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-22&lt;br/&gt;📝 Original message:Thomas,&lt;br/&gt;&lt;br/&gt;I like your idea about expanding Bitcoin URI&amp;#39;s to include signatures. For&lt;br/&gt;BIP75 store and forward servers we are already thinking the DNS record&lt;br/&gt;would have the user&amp;#39;s public key as well as the URL of their store and&lt;br/&gt;forward endpoint, so as soon as that becomes a standard you could use it&lt;br/&gt;just for the public key part. Expanding the Bitcoin URI should be done as&lt;br/&gt;well, for people who want to go the simpler route and not rely on servers.&lt;br/&gt;&lt;br/&gt;Erik, Andy, everyone else,&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t understand why subscriptions would need to be built into the&lt;br/&gt;protocol. With BIP75 the merchant could automatically issue a&lt;br/&gt;PaymentRequest message every X amount of time, and the customer&amp;#39;s wallet&lt;br/&gt;would either display the request like normal or be set to pre-authorize&lt;br/&gt;requests from the merchant. If the merchant goes out of business, the&lt;br/&gt;requests would stop coming. This sounds like a UI issue and not a&lt;br/&gt;protocol-level requirement.&lt;br/&gt;&lt;br/&gt;If you think I&amp;#39;m wrong, please explain why :)&lt;br/&gt;&lt;br/&gt;On Wed, Jun 22, 2016 at 12:35 PM Erik Aronesty via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; - Payment channels seem clearly inappropriate for things like monthly&lt;br/&gt;&amp;gt; subscriptions, the use of nlocktime, etc.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Merchants cannot send requests to users for future payments, because&lt;br/&gt;&amp;gt; users don&amp;#39;t run servers that they can connect to.  That&amp;#39;s why BIP0070 works&lt;br/&gt;&amp;gt; the way it does.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Need to have an interval for subscriptions, at a minimum, and stored in&lt;br/&gt;&amp;gt; the wallet so next months payment can go out on time&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Support for varying currency conversion needs to be baked in to&lt;br/&gt;&amp;gt; wallets.   Fortunately, by adding advisory subscription info to the&lt;br/&gt;&amp;gt; paymentrequest, this is left up to the wallet to&lt;br/&gt;&amp;gt; secure/validate/repeat/convert/etc. as needed for each subscription.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - The UI you describe is nice - but not unique to the solution.&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; On Wed, Jun 22, 2016 at 12:20 PM, Andy Schroder &amp;lt;info at andyschroder.com&amp;gt;&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I understand the need for people to make repeated payments to individuals&lt;br/&gt;&amp;gt;&amp;gt; in real life that they know, without the payee every even taking the effort&lt;br/&gt;&amp;gt;&amp;gt; to make a formal payment request (say you&amp;#39;re just paying a family member of&lt;br/&gt;&amp;gt;&amp;gt; friend back for picking something up for you at the store, and you&amp;#39;ve&lt;br/&gt;&amp;gt;&amp;gt; already payed them many times before).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For a subscription, wouldn&amp;#39;t it be better to promote payment channels or&lt;br/&gt;&amp;gt;&amp;gt; just send another payment request? I&amp;#39;ve been brainstorming recently about a&lt;br/&gt;&amp;gt;&amp;gt; model where service providers could deliver invoices, receipts, and payment&lt;br/&gt;&amp;gt;&amp;gt; requests in a standardized and secure way. In addition to having a send,&lt;br/&gt;&amp;gt;&amp;gt; receive, and transaction history tab in your bitcoin wallet, you&amp;#39;d also&lt;br/&gt;&amp;gt;&amp;gt; have an open payment channels tab (which would include all applications on&lt;br/&gt;&amp;gt;&amp;gt; your computer that have an open real time payment channel, such as a wifi&lt;br/&gt;&amp;gt;&amp;gt; access point, web browser, voip provider, etc.), as well as a &amp;#34;bills to&lt;br/&gt;&amp;gt;&amp;gt; pay&amp;#34; tab. Since everything would be automated and consolidated locally, you&lt;br/&gt;&amp;gt;&amp;gt; wouldn&amp;#39;t have to deal with logging into a million different websites to get&lt;br/&gt;&amp;gt;&amp;gt; the bills and then pay them. If it were this easy, why would you ever want&lt;br/&gt;&amp;gt;&amp;gt; to do a recurring payment from a single payment request? I understand why&lt;br/&gt;&amp;gt;&amp;gt; you may think you want to given current work flows, but I&amp;#39;m wondering if it&lt;br/&gt;&amp;gt;&amp;gt; may be better to just skip over to a completely better way of doing things.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Andy Schroder&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On 06/22/2016 11:30 AM, Erik Aronesty wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; My conclusion at the bottom of that post was to keep BIP 75 the same,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; don&amp;#39;t change a bit, and stick any subscription information (future payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; schedule) in the PaymentACK.   Then the wallet then re-initiates an invoice&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (unattended or attended.. up to the user), after the subscription interval&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is passed. Subscriptions are pretty important for Bitcoin to be used as a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; real payment system.&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; _______________________________________________&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;-------------- 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/20160622/ebc7af2e/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160622/ebc7af2e/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:51:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsv7eelgqvmpwlf7hsqgpzhyhy89fgf9qrwgnx5s4n9uprk4wunvjszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnel5q3</id>
    
      <title type="html">📅 Original date posted:2016-06-24 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsv7eelgqvmpwlf7hsqgpzhyhy89fgf9qrwgnx5s4n9uprk4wunvjszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnel5q3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq0fspxjaa08j492hq2hv8z7myy08f6k96lf9yuz7e55z3cf3t3es0ynrrx&#39;&gt;nevent1q…nrrx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-24&lt;br/&gt;📝 Original message:&amp;gt; Clearly the primary purpose of BIP0075 is to enshrine a DNSSEC protocol&lt;br/&gt;&amp;gt; for giving wallet addresses memorable names.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;I can&amp;#39;t tell if you&amp;#39;re being sarcastic or not, but if you aren&amp;#39;t, I don&amp;#39;t&lt;br/&gt;think this is an accurate description at all. BIP75 is, at its most&lt;br/&gt;simplest, nothing more than an encrypted/encapsulated version of BIP70. All&lt;br/&gt;we did was make it safe for people to exchange BIP70 messages through an&lt;br/&gt;intermediary.&lt;br/&gt;&lt;br/&gt;The only identity information included in BIP75 is the pki_data field,&lt;br/&gt;which wasn&amp;#39;t even introduced in BIP75--it was already in BIP70. I&amp;#39;m&lt;br/&gt;guessing Peter would also have us remove BIP70 altogether?&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/20160624/4fda853a/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160624/4fda853a/attachment.html&amp;gt&lt;/a&gt;;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: PastedGraphic-1.tiff&lt;br/&gt;Type: image/tiff&lt;br/&gt;Size: 10972 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/20160624/4fda853a/attachment.tiff&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160624/4fda853a/attachment.tiff&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:51:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswghx9x0uyaklql5fjs4qk3cnjx5553u8qev4rlnwftgf298qwntczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsss73rm</id>
    
      <title type="html">📅 Original date posted:2016-06-21 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswghx9x0uyaklql5fjs4qk3cnjx5553u8qev4rlnwftgf298qwntczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsss73rm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyt2g2y37q48qzp2p9f2knd3tt0exclgq2cr6vk7um28ert56mvhcdma7k6&#39;&gt;nevent1q…a7k6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-21&lt;br/&gt;📝 Original message:&amp;gt; Note that &amp;#34;client supplied identification&amp;#34; is being pushed for AML/KYC&lt;br/&gt;&amp;gt; compliance, e.g. Netki&amp;#39;s AML/KYC compliance product:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://www.coindesk.com/blockchain-identity-company-netki-launch-ssl-certificate-blockchain/&#34;&gt;http://www.coindesk.com/blockchain-identity-company-netki-launch-ssl-certificate-blockchain/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is an extremely undesirable feature to be baking into standards given&lt;br/&gt;&amp;gt; it&amp;#39;s&lt;br/&gt;&amp;gt; negative impact on fungibility and privacy; we should not be adopting&lt;br/&gt;&amp;gt; standards&lt;br/&gt;&amp;gt; with AML/KYC support, for much the same reasons that the W3C should not be&lt;br/&gt;&amp;gt; standardizing DRM.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;KYC isn&amp;#39;t the only use case. There are other situations in which you would&lt;br/&gt;want to confirm who is sending you money. Making it *required* would of&lt;br/&gt;course be a horrible idea, but allowing people to identify themselves, in&lt;br/&gt;many cases with an online-only identity that isn&amp;#39;t tied to their real world&lt;br/&gt;identity, will be very useful to newly-developing use cases.&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/20160621/6984221f/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160621/6984221f/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:51:21Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgkqpwktpk5wk9rk777d7tf7t69vttu0par020qa4g95vphllmpdczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8ly80c</id>
    
      <title type="html">📅 Original date posted:2016-06-21 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgkqpwktpk5wk9rk777d7tf7t69vttu0par020qa4g95vphllmpdczypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8ly80c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2v0xduyppyugjtg4ef2z5my3htcxpvsetveppqzgnrr8rzq8pjcgmvnymc&#39;&gt;nevent1q…nymc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-21&lt;br/&gt;📝 Original message:Thanks for starting this discussion, Erik.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Should this be a new BIP?  I know netki&amp;#39;s BIP75 is out there - but I think&lt;br/&gt;&amp;gt; it&amp;#39;s too specific and too reliant on the domain name system.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;This is not quite accurate. BIP75 is designed to be independent of any name&lt;br/&gt;resolution system. You could use it with a static URL that you share, for&lt;br/&gt;example, or even use it to implement a mesh-network payment system over&lt;br/&gt;bluetooth. Netki&amp;#39;s wallet names do use DNS, but that isn&amp;#39;t related to this&lt;br/&gt;discussion.&lt;br/&gt;&lt;br/&gt;What BIP75 *does* do is provide a way for a client to get a new payment&lt;br/&gt;address for every payment. I personally think it is better than BIP47 for&lt;br/&gt;the uses you mentioned (subscriptions, etc).&lt;br/&gt;&lt;br/&gt;I&amp;#39;m glad you brought up identity methods other than x509. At breadwallet we&lt;br/&gt;are thinking about how to establish the most universal system, and letting&lt;br/&gt;users identify themselves with any of a selection of identity systems is&lt;br/&gt;ideal. I think the pki_data slot should be constantly expanded to allow new&lt;br/&gt;identity types, but they should be explained/standardized in the BIPs that&lt;br/&gt;add them and use universal names. &amp;#34;netki://&amp;#34; wouldn&amp;#39;t be appropriate, for&lt;br/&gt;example, if their method is open sourced and possibly used by others--it&lt;br/&gt;should instead be given a product name like &amp;#34;dnswallet://&amp;#34; or something&lt;br/&gt;more clever.&lt;br/&gt;&lt;br/&gt;James&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/20160621/316a6995/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160621/316a6995/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:51:20Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9q3lxwpwx22nnzx0cktkc069cvzjsrwe4sakfw7e0za2xkknz56gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszgmd6e</id>
    
      <title type="html">📅 Original date posted:2016-05-20 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9q3lxwpwx22nnzx0cktkc069cvzjsrwe4sakfw7e0za2xkknz56gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jszgmd6e" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx7eqrqcpzuvrl88yvaqy8hxf9t6x8nlc4ak2mlrjes39ndd47fsc4mmrkt&#39;&gt;nevent1q…mrkt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-20&lt;br/&gt;📝 Original message:Matthew,&lt;br/&gt;&lt;br/&gt;Other than gambling, do you have any specific examples of how this could be&lt;br/&gt;useful?&lt;br/&gt;&lt;br/&gt;On Fri, May 20, 2016, 20:34 Johnson Lau via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Using the hash of multiple blocks does not make it any safer. The miner of&lt;br/&gt;&amp;gt; the last block always determines the results, by knowing the hashes of all&lt;br/&gt;&amp;gt; previous blocks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; == Security&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Pay-to-script-hash can be used to protect the details of contracts that&lt;br/&gt;&amp;gt; use OP_PRANDOM from the prying eyes of miners. However, since there is also&lt;br/&gt;&amp;gt; a non-zero risk that a participant in a contract may attempt to bribe a&lt;br/&gt;&amp;gt; miner the inclusion of multiple block hashes as a source of randomness is a&lt;br/&gt;&amp;gt; must. Every miner would effectively need to be bribed to ensure control&lt;br/&gt;&amp;gt; over the results of the random numbers, which is already very unlikely. The&lt;br/&gt;&amp;gt; risk approaches zero as N goes up.&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;-------------- 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/20160520/5a5078fc/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160520/5a5078fc/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:50:55Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsv2ty5kzcq8p2yvtf8vkgmt6qlpwpffxnpf0d3q0t8l8vdgdzxp3qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsceer6w</id>
    
      <title type="html">📅 Original date posted:2016-05-06 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsv2ty5kzcq8p2yvtf8vkgmt6qlpwpffxnpf0d3q0t8l8vdgdzxp3qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsceer6w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs28tsc7vpgdemktee97fk9kasfm5xapvvmpxr732dcmylp98y969c7kxda0&#39;&gt;nevent1q…xda0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-05-06&lt;br/&gt;📝 Original message:Hi all,&lt;br/&gt;&lt;br/&gt;We&amp;#39;ve made some significant changes to BIP75 which we think simplify things&lt;br/&gt;greatly:&lt;br/&gt;&lt;br/&gt;Instead of introducing encrypted versions of all BIP70 messages&lt;br/&gt;(EncryptedPaymentRequest, EncryptedPayment, etc), we have defined a generic&lt;br/&gt;EncryptedProtocolMessage type which is essentially a wrapper that enables&lt;br/&gt;encryption for all existing BIP70 messages. This reduces the number of new&lt;br/&gt;messages we are defining and makes it easier to add new message types in&lt;br/&gt;the future.&lt;br/&gt;&lt;br/&gt;We&amp;#39;ve also decided to use AES-GCM instead of AES-CBC, which eliminates the&lt;br/&gt;need for the verification hash.&lt;br/&gt;&lt;br/&gt;A pull request has been submitted, which can be seen here:&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bips/pull/385&#34;&gt;https://github.com/bitcoin/bips/pull/385&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;All comments are welcome. Thank you!&lt;br/&gt;&lt;br/&gt;James&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/20160506/ff43d148/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160506/ff43d148/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:50:24Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsz2jwft6nfl2m0xanuhaxqqtw8ea677g85nv7z607slpznw73hduszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsx6es7g</id>
    
      <title type="html">📅 Original date posted:2016-03-27 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsz2jwft6nfl2m0xanuhaxqqtw8ea677g85nv7z607slpznw73hduszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsx6es7g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr4re92rz068hu7x27c9tcyxs3wg9a846dte3aerlc6j2h5ts20vcjvmytg&#39;&gt;nevent1q…mytg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-27&lt;br/&gt;📝 Original message:On Sun, Mar 27, 2016 at 5:49 AM Jonas Schnelli via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     I guess my question didn&amp;#39;t get across.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Why would you want to make your usecase do connections over the&lt;br/&gt;&amp;gt; &amp;gt;     peer2peer&lt;br/&gt;&amp;gt; &amp;gt;     (net.cpp) connection at all?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Mixing messages that are being sent to everyone and encrypted&lt;br/&gt;&amp;gt; &amp;gt;     messages is&lt;br/&gt;&amp;gt; &amp;gt;     asking for trouble.&lt;br/&gt;&amp;gt; &amp;gt;     Making your private connection out-of-band would work much better.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I agree doing it out-of-band is the easiest solution for people who need&lt;br/&gt;&amp;gt; &amp;gt; this privacy right now, but I do like the idea of adding this feature as&lt;br/&gt;&amp;gt; &amp;gt; the number of SPV wallets is going to increase. I think the best way to&lt;br/&gt;&amp;gt; &amp;gt; organize things would be to give encrypted messages their own port&lt;br/&gt;&amp;gt; &amp;gt; number, similar to how http vs. https works.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m not sure if different ports would make sense. I can&amp;#39;t see a benefit&lt;br/&gt;&amp;gt; (happy if someone can convince me).&lt;br/&gt;&amp;gt; How would this affect p2p address management (address relay)? Wouldn&amp;#39;t&lt;br/&gt;&amp;gt; this require to extend the current address message to support two port&lt;br/&gt;&amp;gt; numbers?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m assuming clients that connect with encryption don&amp;#39;t want to use&lt;br/&gt;unencrypted connections, and are only interested in other peers that&lt;br/&gt;support encryption. From their perspective, it is quite inefficient to get&lt;br/&gt;a generic list of peers and then have to connect to each one searching for&lt;br/&gt;those that accept encryption. If we use port numbers, we can assume any&lt;br/&gt;connection that comes on the encrypted port is only interested in encrypted&lt;br/&gt;communication, so a getaddr to an encrypted port would only return a list&lt;br/&gt;of other encryption-capable peers.&lt;br/&gt;&lt;br/&gt;This isn&amp;#39;t an issue if the plan is to require all peers to support&lt;br/&gt;encryption, and we assume the majority of the network will upgrade before&lt;br/&gt;too long.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; We don&amp;#39;t want two networks to develop, separated by which nodes support&lt;br/&gt;&amp;gt; &amp;gt; encryption and which don&amp;#39;t, so ideally nodes would rebroadcast messages&lt;br/&gt;&amp;gt; &amp;gt; they receive on both (encrypted and non-encrypted) channels. This would&lt;br/&gt;&amp;gt; &amp;gt; essentially double the required bandwidth of the network, which is&lt;br/&gt;&amp;gt; &amp;gt; something to think about.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It can be the same &amp;#34;p2p network&amp;#34;. The only difference would be, that&lt;br/&gt;&amp;gt; once two peers has negotiated encryption, the whole traffic between&lt;br/&gt;&amp;gt; _these two peers_, and _only_ these two pears, would be encrypted (would&lt;br/&gt;&amp;gt; _not_ affect traffic to/from other peers).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;You&amp;#39;re right, there would not be an increase in bandwidth. Please forget I&lt;br/&gt;said that :) But following the logic I wrote above, it would be possible&lt;br/&gt;for peers to become segregated (those who require encryption would only&lt;br/&gt;connect to each other). It wouldn&amp;#39;t be a problem as long as there are&lt;br/&gt;enough peers that provide both encrypted and non-encrypted connections; or,&lt;br/&gt;as I said above, if we can assume every peer will support it. Maybe the&lt;br/&gt;issues I&amp;#39;m thinking of are just growing pains that will be solved once the&lt;br/&gt;majority of people upgrade?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; A simplified example:&lt;br/&gt;&amp;gt; 1. Peer Alice connects to peer Bob&lt;br/&gt;&amp;gt; 2. Alice asks Bob: &amp;#34;lets do encrypted communication, here is my session&lt;br/&gt;&amp;gt; pubkey&amp;#34;&lt;br/&gt;&amp;gt; 3. Bob also supports encryption and answers &amp;#34;Yes, let&amp;#39;s do this, here is&lt;br/&gt;&amp;gt; my session pubkey&amp;#34;&lt;br/&gt;&amp;gt; 4. Alice tells Bob (encrypted now): &amp;#34;Perfect. Here I prove that I&amp;#39;m&lt;br/&gt;&amp;gt; Alice by signing the session ID with my identity pubkey&amp;#34;&lt;br/&gt;&amp;gt; 5. Bob checks his &amp;#34;authorized-peers&amp;#34; database and look-up Alices pubkey&lt;br/&gt;&amp;gt; and verifies the signatures.&lt;br/&gt;&amp;gt; 6. Bob tells Alice: &amp;#34;Good! I trust you now Alice, here is my identity&lt;br/&gt;&amp;gt; pubkey with a signature of our session-ID&amp;#34;&lt;br/&gt;&amp;gt; 7. Alice looks up Bobs pubkey in her &amp;#34;known-peers&amp;#34; database and verifies&lt;br/&gt;&amp;gt; the signature.&lt;br/&gt;&amp;gt; 8. Alice response to bob: &amp;#34;Perfect. Indeed, you are Bob!&amp;#34;&lt;br/&gt;&amp;gt; ---&lt;br/&gt;&amp;gt; At this point, the communication is encrypted and the identities has&lt;br/&gt;&amp;gt; been verified (MITM protection).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (simplified negotiation [only one-way, missing dh explanation, missing&lt;br/&gt;&amp;gt; KDF, session-ID, cipher suite nego., missing re-keying, etc.])&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;/jonas&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;-------------- 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/20160327/30bc800e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160327/30bc800e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:59Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsv4n67dwysumjctdp4a5ywtahgaczc8pl3nlfxlynzln9u02fjftszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsmp7gqs</id>
    
      <title type="html">📅 Original date posted:2016-03-26 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsv4n67dwysumjctdp4a5ywtahgaczc8pl3nlfxlynzln9u02fjftszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsmp7gqs" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2420ztqmh5fvh8yrww9027m9zqk8pazk0rddn88ucnssx4n9vf2qa0gk5g&#39;&gt;nevent1q…gk5g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-26&lt;br/&gt;📝 Original message:On Sat, Mar 26, 2016 at 1:34 AM Tom via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Friday 25 Mar 2016 19:43:00 Jonas Schnelli via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; An encrypted channel together with a trusted full node would finally&lt;br/&gt;&amp;gt; &amp;gt; allow to have a secure and save SPV communication.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I guess my question didn&amp;#39;t get across.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Why would you want to make your usecase do connections over the peer2peer&lt;br/&gt;&amp;gt; (net.cpp) connection at all?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Mixing messages that are being sent to everyone and encrypted messages is&lt;br/&gt;&amp;gt; asking for trouble.&lt;br/&gt;&amp;gt; Making your private connection out-of-band would work much better.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;I agree doing it out-of-band is the easiest solution for people who need&lt;br/&gt;this privacy right now, but I do like the idea of adding this feature as&lt;br/&gt;the number of SPV wallets is going to increase. I think the best way to&lt;br/&gt;organize things would be to give encrypted messages their own port number,&lt;br/&gt;similar to how http vs. https works.&lt;br/&gt;&lt;br/&gt;We don&amp;#39;t want two networks to develop, separated by which nodes support&lt;br/&gt;encryption and which don&amp;#39;t, so ideally nodes would rebroadcast messages&lt;br/&gt;they receive on both (encrypted and non-encrypted) channels. This would&lt;br/&gt;essentially double the required bandwidth of the network, which is&lt;br/&gt;something to think about.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Also, you didn&amp;#39;t actually address the attack-vector.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Which attack-vector?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The statistical attack I mentioned earlier.  Which comes from knowing which&lt;br/&gt;&amp;gt; plain text messages are being sent over the encrypted channel, So as long&lt;br/&gt;&amp;gt; as&lt;br/&gt;&amp;gt; you keep saying you want to encrypt data that identical copies of are being&lt;br/&gt;&amp;gt; sent to other nodes at practically the same time, you will keep being&lt;br/&gt;&amp;gt; vulnerable to that.&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;-------------- 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/20160326/e2a0f1f0/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160326/e2a0f1f0/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:58Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9pe90s0pwzw492p3cwnpwsgfp9pl9apgf83eja22alj9m6hq6a4gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsuwxfzy</id>
    
      <title type="html">📅 Original date posted:2016-03-16 📝 Original message:We ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9pe90s0pwzw492p3cwnpwsgfp9pl9apgf83eja22alj9m6hq6a4gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsuwxfzy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdsr9576g5wgptn2atpxf8t2qy3cfkdq828mxrpuckeh2j4vtsmvs9lq7d4&#39;&gt;nevent1q…q7d4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-16&lt;br/&gt;📝 Original message:We have removed the BIP70 field extensions from this BIP and will save that&lt;br/&gt;for another time. A PR to add our documentation to the main repo has been&lt;br/&gt;submitted.&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;On Sat, Mar 12, 2016 at 8:36 AM Andreas Schildbach via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Replying to the &amp;#34;fee&amp;#34; part of BIP75 (which as already noted should go to&lt;br/&gt;&amp;gt; a different BIP number imho):&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It makes to sense to let the payee define a fee *rate*. The payee&lt;br/&gt;&amp;gt; doesn&amp;#39;t know anything about how the payer&amp;#39;s wallet is structured. In&lt;br/&gt;&amp;gt; extreme cases, as a payer I would keep all my tiny UTXOs (which would be&lt;br/&gt;&amp;gt; unspendable in a economic way) for the one payee who is willing to pay a&lt;br/&gt;&amp;gt; high enough rate...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rather, I propose an absolute amount that the payee is willing to cover&lt;br/&gt;&amp;gt; should be declared.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Also, in order to avoid disputes I suggest the amount should be deducted&lt;br/&gt;&amp;gt; from the BIP70 payment message amount already. A wallet which&lt;br/&gt;&amp;gt; understands BIP75fee would add these two up for *display* puposes only.&lt;br/&gt;&amp;gt; The wallet should continue to use the existing fee policies. If it can&lt;br/&gt;&amp;gt; send the amount as specified by BIP70 and the fee is below the BIP75fee&lt;br/&gt;&amp;gt; amount, it would not mention any fees to the user. If it exceeds, it&lt;br/&gt;&amp;gt; would display just the exceeding amount.&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; On 03/11/2016 11:43 PM, Justin Newton via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; I think we would be open to either leaving them in, or doing a separate&lt;br/&gt;&amp;gt; &amp;gt; BIP.  What do others think?  I’d prefer to keep them together if the&lt;br/&gt;&amp;gt; &amp;gt; changes are non-controversial just to cut down on #of BIP’s, but thats&lt;br/&gt;&amp;gt; &amp;gt; not a strong preference.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Fri, Mar 11, 2016 at 3:54 AM, Andreas Schildbach via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     I think it&amp;#39;s a bad idea to pollute the original idea of this BIP with&lt;br/&gt;&amp;gt; &amp;gt;     other extensions. Other extensions should go to separate BIPs,&lt;br/&gt;&amp;gt; &amp;gt;     especially since methods to clarify the fee have nothing to do with&lt;br/&gt;&amp;gt; &amp;gt;     secure and authenticated bi-directional BIP70 communication.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     On 03/10/2016 10:43 PM, James MacWhyte via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; Hi everyone,&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; Our BIP (officially proposed on March 1) has tentatively been&lt;br/&gt;&amp;gt; assigned&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; number 75. Also, the title has been changed to &amp;#34;Out of Band Address&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; Exchange using Payment Protocol Encryption&amp;#34; to be more accurate.&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; We thought it would be good to take this opportunity to add some&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; optional fields to the BIP70 paymentDetails message. The new&lt;br/&gt;&amp;gt; &amp;gt;     fields are:&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; subtractable fee (give permission to the sender to use some of the&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; requested amount towards the transaction fee), fee per kb (the&lt;br/&gt;&amp;gt; minimum&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; fee required to be accepted as zeroconf), and replace by fee&lt;br/&gt;&amp;gt; &amp;gt;     (whether or&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; not a transaction with the RBF flag will be accepted with&lt;br/&gt;&amp;gt; zeroconf). I&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; know it doesn&amp;#39;t make much sense for merchants to accept RBF with&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; zeroconf, so that last one might be used more to explicitly refuse&lt;br/&gt;&amp;gt; RBF&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; transactions (and allow the automation of choosing a setting based&lt;br/&gt;&amp;gt; on&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; who you are transacting with).&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; I see BIP75 as a general modernization of BIP70, so I think it&lt;br/&gt;&amp;gt; &amp;gt;     should be&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; fine to include these extensions in the new BIP, even though these&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; fields are not specific to the features we are proposing. Please&lt;br/&gt;&amp;gt; &amp;gt;     take a&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; look at the relevant section and let me know if anyone has any&lt;br/&gt;&amp;gt; &amp;gt;     concerns:&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&#34;&gt;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; The BIP70 extensions page in our fork has also been updated.&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; Thanks!&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt; James&lt;br/&gt;&amp;gt; &amp;gt;     &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     &amp;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;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&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;     &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;     &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&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; &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;&lt;br/&gt;&amp;gt; &amp;gt; Justin W. Newton&lt;br/&gt;&amp;gt; &amp;gt; Founder/CEO&lt;br/&gt;&amp;gt; &amp;gt; Netki, Inc.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; justin at netki.com &amp;lt;mailto:justin at netki.com&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &#43;1.818.261.4248 &amp;lt;tel:&#43;1.818.261.4248&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; _______________________________________________&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; &amp;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;-------------- 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/20160317/240febd4/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160317/240febd4/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:52Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsy378avjpn9n9eyy3vlu9cs3wgcqxnjmp9a4sk70n23du2knykg5gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsy44cjy</id>
    
      <title type="html">📅 Original date posted:2016-03-11 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsy378avjpn9n9eyy3vlu9cs3wgcqxnjmp9a4sk70n23du2knykg5gzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsy44cjy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzhek9waepy7jx36hwdm2h5wz9mqreydqu999n5t9hzcvtl6h2pgh2jkvu&#39;&gt;nevent1q…jkvu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-11&lt;br/&gt;📝 Original message:That&amp;#39;s a valid point, and one we had thought of, which is why I wanted to&lt;br/&gt;get everyone&amp;#39;s opinion. I agree the proposed field extensions have nothing&lt;br/&gt;to do with encryption, but does it make sense to propose a completely&lt;br/&gt;separate BIP for such a small thing? If that is the accepted way to go, we&lt;br/&gt;can split it into two and make a separate proposal.&lt;br/&gt;&lt;br/&gt;On Fri, Mar 11, 2016 at 5:48 AM Andreas Schildbach via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I think it&amp;#39;s a bad idea to pollute the original idea of this BIP with&lt;br/&gt;&amp;gt; other extensions. Other extensions should go to separate BIPs,&lt;br/&gt;&amp;gt; especially since methods to clarify the fee have nothing to do with&lt;br/&gt;&amp;gt; secure and authenticated bi-directional BIP70 communication.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 03/10/2016 10:43 PM, James MacWhyte via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; Hi everyone,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Our BIP (officially proposed on March 1) has tentatively been assigned&lt;br/&gt;&amp;gt; &amp;gt; number 75. Also, the title has been changed to &amp;#34;Out of Band Address&lt;br/&gt;&amp;gt; &amp;gt; Exchange using Payment Protocol Encryption&amp;#34; to be more accurate.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; We thought it would be good to take this opportunity to add some&lt;br/&gt;&amp;gt; &amp;gt; optional fields to the BIP70 paymentDetails message. The new fields are:&lt;br/&gt;&amp;gt; &amp;gt; subtractable fee (give permission to the sender to use some of the&lt;br/&gt;&amp;gt; &amp;gt; requested amount towards the transaction fee), fee per kb (the minimum&lt;br/&gt;&amp;gt; &amp;gt; fee required to be accepted as zeroconf), and replace by fee (whether or&lt;br/&gt;&amp;gt; &amp;gt; not a transaction with the RBF flag will be accepted with zeroconf). I&lt;br/&gt;&amp;gt; &amp;gt; know it doesn&amp;#39;t make much sense for merchants to accept RBF with&lt;br/&gt;&amp;gt; &amp;gt; zeroconf, so that last one might be used more to explicitly refuse RBF&lt;br/&gt;&amp;gt; &amp;gt; transactions (and allow the automation of choosing a setting based on&lt;br/&gt;&amp;gt; &amp;gt; who you are transacting with).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I see BIP75 as a general modernization of BIP70, so I think it should be&lt;br/&gt;&amp;gt; &amp;gt; fine to include these extensions in the new BIP, even though these&lt;br/&gt;&amp;gt; &amp;gt; fields are not specific to the features we are proposing. Please take a&lt;br/&gt;&amp;gt; &amp;gt; look at the relevant section and let me know if anyone has any concerns:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&#34;&gt;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The BIP70 extensions page in our fork has also been updated.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thanks!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; James&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; &amp;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;-------------- 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/20160311/12e2977c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160311/12e2977c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfjsmue44ns4pjjz0jrqwx7sqvwwx68zz9rznmg8wn6cq6d5xr0wszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8ddgf8</id>
    
      <title type="html">📅 Original date posted:2016-03-10 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfjsmue44ns4pjjz0jrqwx7sqvwwx68zz9rznmg8wn6cq6d5xr0wszypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js8ddgf8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdzcsj86gnex2pwq28wn42ccp8gm2r9m00w8gz993afmaq6rxjygczxtp06&#39;&gt;nevent1q…tp06&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-10&lt;br/&gt;📝 Original message:Hi everyone,&lt;br/&gt;&lt;br/&gt;Our BIP (officially proposed on March 1) has tentatively been assigned&lt;br/&gt;number 75. Also, the title has been changed to &amp;#34;Out of Band Address&lt;br/&gt;Exchange using Payment Protocol Encryption&amp;#34; to be more accurate.&lt;br/&gt;&lt;br/&gt;We thought it would be good to take this opportunity to add some optional&lt;br/&gt;fields to the BIP70 paymentDetails message. The new fields are:&lt;br/&gt;subtractable fee (give permission to the sender to use some of the&lt;br/&gt;requested amount towards the transaction fee), fee per kb (the minimum fee&lt;br/&gt;required to be accepted as zeroconf), and replace by fee (whether or not a&lt;br/&gt;transaction with the RBF flag will be accepted with zeroconf). I know it&lt;br/&gt;doesn&amp;#39;t make much sense for merchants to accept RBF with zeroconf, so that&lt;br/&gt;last one might be used more to explicitly refuse RBF transactions (and&lt;br/&gt;allow the automation of choosing a setting based on who you are transacting&lt;br/&gt;with).&lt;br/&gt;&lt;br/&gt;I see BIP75 as a general modernization of BIP70, so I think it should be&lt;br/&gt;fine to include these extensions in the new BIP, even though these fields&lt;br/&gt;are not specific to the features we are proposing. Please take a look at&lt;br/&gt;the relevant section and let me know if anyone has any concerns:&lt;br/&gt;&lt;a href=&#34;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&#34;&gt;https://github.com/techguy613/bips/blob/master/bip-0075.mediawiki#Extending_BIP70_PaymentDetails&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The BIP70 extensions page in our fork has also been updated.&lt;br/&gt;&lt;br/&gt;Thanks!&lt;br/&gt;&lt;br/&gt;James&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/20160310/f5ce8ae6/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160310/f5ce8ae6/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2llw3gpqtcjj9ctp6fc65flqt98p6h2r5eka3ssgv3pfjqhhev9qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnzeph2</id>
    
      <title type="html">📅 Original date posted:2016-03-08 📝 Original message:Our ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2llw3gpqtcjj9ctp6fc65flqt98p6h2r5eka3ssgv3pfjqhhev9qzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5jsnzeph2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspa7dcddju7g02p7alwwsquk8fyt8v9levunc3mz0qlxjm8dkj97q6jn75r&#39;&gt;nevent1q…n75r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-08&lt;br/&gt;📝 Original message:Our BIP just defines protocol definitions, and doesn&amp;#39;t really dictate how&lt;br/&gt;people use them (we&amp;#39;re coming up with a new title for the BIP, by the way,&lt;br/&gt;to more accurately convey that). Using our definitions as building blocks,&lt;br/&gt;someone could definitely accomplish what you described. For example, Joe&lt;br/&gt;Mobile Wallet User&amp;#39;s wallet could upload a slew of generic PaymentRequest&lt;br/&gt;messages with signatures to prove his identity, and the server could then&lt;br/&gt;create encryptedPaymentRequest messages using the server&amp;#39;s key for&lt;br/&gt;encryption and communication with the other party. In this case the server&lt;br/&gt;would essentially be a proxy for the user without having actual access to&lt;br/&gt;the user&amp;#39;s private keys.&lt;br/&gt;&lt;br/&gt;My personal goal with the protocol was to keep it extremely flexible so&lt;br/&gt;developers could use it to build all different types of schemes while&lt;br/&gt;keeping standard messages that could be forwarded between services if&lt;br/&gt;needed. Does the above make sense?&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;On Tue, Mar 8, 2016 at 2:55 PM Luke Dashjr via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Is there a way for Joe Mobile Wallet User to upload a set of N&lt;br/&gt;&amp;gt; PaymentRequests&lt;br/&gt;&amp;gt; authenticated by his key to an untrusted server, which encrypts and passes&lt;br/&gt;&amp;gt; them on in response to InvoiceRequests? Or does this necessarily require&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; recipient to be online?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tuesday, March 01, 2016 6:58:16 PM Justin Newton via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; The following draft BIP proposes an update to the Payment Protocol.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Motivation:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The motivation for defining this extension to the BIP70 Payment Protocol&lt;br/&gt;&amp;gt; is&lt;br/&gt;&amp;gt; &amp;gt; to allow 2 parties to exchange payment information in a permissioned and&lt;br/&gt;&amp;gt; &amp;gt; encrypted way such that wallet address communication can become a more&lt;br/&gt;&amp;gt; &amp;gt; automated process. Additionally, this extension allows for the requestor&lt;br/&gt;&amp;gt; of&lt;br/&gt;&amp;gt; &amp;gt; a PaymentRequest to supply a certificate and signature in order to&lt;br/&gt;&amp;gt; &amp;gt; facilitate identification for address release. This also allows&lt;br/&gt;&amp;gt; &amp;gt; for automated creation of off blockchain transaction logs that are human&lt;br/&gt;&amp;gt; &amp;gt; readable, containing who you transacted with, in addition to the&lt;br/&gt;&amp;gt; &amp;gt; information that it contains today.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The motivation for this extension to BIP70 is threefold:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; 1. Ensure that the payment details can only be seen by the participants&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; &amp;gt; the transaction, and not by any third party.&lt;br/&gt;&amp;gt; &amp;gt; 2. Enhance the Payment Protocol to allow for store and forward servers in&lt;br/&gt;&amp;gt; &amp;gt; order to allow, for example, mobile wallets to sign and serve&lt;br/&gt;&amp;gt; &amp;gt; Payment Requests.&lt;br/&gt;&amp;gt; &amp;gt; 3. Allow a sender of funds the option of sharing their identity with the&lt;br/&gt;&amp;gt; &amp;gt; receiver. This information could then be used to:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;         * Make bitcoin logs more human readable&lt;br/&gt;&amp;gt; &amp;gt;         * Give the user the ability to decide who to release payment&lt;br/&gt;&amp;gt; &amp;gt; details to&lt;br/&gt;&amp;gt; &amp;gt;         * Allow an entity such as a political campaign to ensure donors&lt;br/&gt;&amp;gt; &amp;gt; match regulatory and legal requirements&lt;br/&gt;&amp;gt; &amp;gt;         * Allow for an open standards based way for regulated financial&lt;br/&gt;&amp;gt; &amp;gt; entities to meet regulatory requirements&lt;br/&gt;&amp;gt; &amp;gt;         * Automate the active exchange of payment addresses, so static&lt;br/&gt;&amp;gt; &amp;gt; addresses and BIP32 X-Pubs can be avoided to maintain privacy&lt;br/&gt;&amp;gt; &amp;gt; and convenience&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In short we wanted to make bitcoin more human, while at the same time&lt;br/&gt;&amp;gt; &amp;gt; improving transaction privacy.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Full proposal here:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/techguy613/bips/blob/master/bip-invoicerequest-extension&#34;&gt;https://github.com/techguy613/bips/blob/master/bip-invoicerequest-extension&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; .mediawiki&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; We look forward to your thoughts and feedback on this proposal!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Justin&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;-------------- 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/20160308/069639e0/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160308/069639e0/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxwjyzdhq4m62rpp7tax74xfwnvylrf4vj0e7xamj7ff30p3thvrqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js9sezy2</id>
    
      <title type="html">📅 Original date posted:2016-03-08 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxwjyzdhq4m62rpp7tax74xfwnvylrf4vj0e7xamj7ff30p3thvrqzypfwt5rydte75hxtd39axy3h6crgyk9prt8r43q0qfrx50ufxs5js9sezy2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2llw3gpqtcjj9ctp6fc65flqt98p6h2r5eka3ssgv3pfjqhhev9qp09prk&#39;&gt;nevent1q…9prk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-03-08&lt;br/&gt;📝 Original message:I accidentally replied to Luke off-list, and this was his reply to my last&lt;br/&gt;message:&lt;br/&gt;&lt;br/&gt;&amp;#34;But wouldn&amp;#39;t the server be a trusted third-party in this case?&lt;br/&gt;I&amp;#39;m thinking it&amp;#39;s very close to being possible for an untrusted server to do&lt;br/&gt;this...&amp;#34;&lt;br/&gt;&lt;br/&gt;If you are okay with anyone being able to view your PaymentRequest&lt;br/&gt;messages, then you wouldn&amp;#39;t need to encrypt them. Just upload them to the&lt;br/&gt;server and let it give them away--no trust needed as long as you include a&lt;br/&gt;signature. If you want only certain people to be able to see your messages,&lt;br/&gt;then you need to denote those people in some way. In this situation, you&lt;br/&gt;would do that by trading public keys and uploading encryptedPaymentRequest&lt;br/&gt;messages to the server that only those people could read.&lt;br/&gt;&lt;br/&gt;Using the encrypted method doesn&amp;#39;t require the devices to be online, but it&lt;br/&gt;does require at least one of the parties to know the other party&amp;#39;s public&lt;br/&gt;key. Do you have a specific use case in mind?&lt;br/&gt;&lt;br/&gt;James&lt;br/&gt;&lt;br/&gt;On Tue, Mar 8, 2016 at 3:07 PM James MacWhyte &amp;lt;macwhyte at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Our BIP just defines protocol definitions, and doesn&amp;#39;t really dictate how&lt;br/&gt;&amp;gt; people use them (we&amp;#39;re coming up with a new title for the BIP, by the way,&lt;br/&gt;&amp;gt; to more accurately convey that). Using our definitions as building blocks,&lt;br/&gt;&amp;gt; someone could definitely accomplish what you described. For example, Joe&lt;br/&gt;&amp;gt; Mobile Wallet User&amp;#39;s wallet could upload a slew of generic PaymentRequest&lt;br/&gt;&amp;gt; messages with signatures to prove his identity, and the server could then&lt;br/&gt;&amp;gt; create encryptedPaymentRequest messages using the server&amp;#39;s key for&lt;br/&gt;&amp;gt; encryption and communication with the other party. In this case the server&lt;br/&gt;&amp;gt; would essentially be a proxy for the user without having actual access to&lt;br/&gt;&amp;gt; the user&amp;#39;s private keys.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My personal goal with the protocol was to keep it extremely flexible so&lt;br/&gt;&amp;gt; developers could use it to build all different types of schemes while&lt;br/&gt;&amp;gt; keeping standard messages that could be forwarded between services if&lt;br/&gt;&amp;gt; needed. Does the above make sense?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; James&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Mar 8, 2016 at 2:55 PM Luke Dashjr 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; Is there a way for Joe Mobile Wallet User to upload a set of N&lt;br/&gt;&amp;gt;&amp;gt; PaymentRequests&lt;br/&gt;&amp;gt;&amp;gt; authenticated by his key to an untrusted server, which encrypts and passes&lt;br/&gt;&amp;gt;&amp;gt; them on in response to InvoiceRequests? Or does this necessarily require&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; recipient to be online?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tuesday, March 01, 2016 6:58:16 PM Justin Newton via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; The following draft BIP proposes an update to the Payment Protocol.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Motivation:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; The motivation for defining this extension to the BIP70 Payment&lt;br/&gt;&amp;gt;&amp;gt; Protocol is&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; to allow 2 parties to exchange payment information in a permissioned and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; encrypted way such that wallet address communication can become a more&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; automated process. Additionally, this extension allows for the&lt;br/&gt;&amp;gt;&amp;gt; requestor of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; a PaymentRequest to supply a certificate and signature in order to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; facilitate identification for address release. This also allows&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; for automated creation of off blockchain transaction logs that are human&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; readable, containing who you transacted with, in addition to the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; information that it contains today.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; The motivation for this extension to BIP70 is threefold:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 1. Ensure that the payment details can only be seen by the participants&lt;br/&gt;&amp;gt;&amp;gt; in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the transaction, and not by any third party.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 2. Enhance the Payment Protocol to allow for store and forward servers&lt;br/&gt;&amp;gt;&amp;gt; in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; order to allow, for example, mobile wallets to sign and serve&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Payment Requests.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; 3. Allow a sender of funds the option of sharing their identity with the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; receiver. This information could then be used to:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;         * Make bitcoin logs more human readable&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;         * Give the user the ability to decide who to release payment&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; details to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;         * Allow an entity such as a political campaign to ensure donors&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; match regulatory and legal requirements&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;         * Allow for an open standards based way for regulated financial&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; entities to meet regulatory requirements&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;         * Automate the active exchange of payment addresses, so static&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; addresses and BIP32 X-Pubs can be avoided to maintain privacy&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; and convenience&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; In short we wanted to make bitcoin more human, while at the same time&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; improving transaction privacy.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Full proposal here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://github.com/techguy613/bips/blob/master/bip-invoicerequest-extension&#34;&gt;https://github.com/techguy613/bips/blob/master/bip-invoicerequest-extension&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; .mediawiki&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; We look forward to your thoughts and feedback on this proposal!&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Justin&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;&amp;gt;&lt;br/&gt;&amp;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/20160309/bc71ef82/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160309/bc71ef82/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:49:26Z</updated>
  </entry>

</feed>