<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1r375vdaydp5nnnytff6ee2kwzxak8whmwkmnkm6h67agr7dadfkqxn6ccq.rss" />
  <link href="https://nostr.ae/npub1r375vdaydp5nnnytff6ee2kwzxak8whmwkmnkm6h67agr7dadfkqxn6ccq" />
  <id>https://nostr.ae/npub1r375vdaydp5nnnytff6ee2kwzxak8whmwkmnkm6h67agr7dadfkqxn6ccq</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqs93tjfx5zmu66anpzy7x6hxge7wfuaklxragdsyerksv2ql9f467gzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcahg59s</id>
    
      <title type="html">📅 Original date posted:2018-03-10 📝 Original message: Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs93tjfx5zmu66anpzy7x6hxge7wfuaklxragdsyerksv2ql9f467gzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcahg59s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyyah2zm4j0vrttlfkwmy0fueq8al073zm0gw2lu8cc7h0qd3wnhc0hgnzf&#39;&gt;nevent1q…gnzf&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-03-10&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello Corné,&lt;br/&gt;&lt;br/&gt;I&amp;#39;m glad to see that someone getting this kind of idea started.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m still new to some of these topics, but I have a few comments.&lt;br/&gt;Hopefully I&amp;#39;m not wasting your time if they are too rudimentary!&lt;br/&gt;&lt;br/&gt; 1. You mention that the payee gives a URL where the payer can then&lt;br/&gt;    connect to to request invoices. You mention that this can be a tor&lt;br/&gt;    hidden service if the payee needs to remain private. You also&lt;br/&gt;    suggest that the payee can remain private by &amp;#34;payee can send an&lt;br/&gt;    invoice to payer which has a partial onion route as destination&lt;br/&gt;    instead of a node ID&amp;#34;. I was reading about tor hidden services&lt;br/&gt;    (&lt;a href=&#34;https://www.torproject.org/docs/onion-services.html.en&#34;&gt;https://www.torproject.org/docs/onion-services.html.en&lt;/a&gt;), and they&lt;br/&gt;    require an introduction point, and a rendezvous point. Do we not&lt;br/&gt;    need this two step process for the payment route, because we already&lt;br/&gt;    have communication initiated over the anonymous communication&lt;br/&gt;    channel, and the beginning of the partial onion route is not&lt;br/&gt;    publicly available information, and can change with every invoice?&lt;br/&gt; 2. What happens if the capacity of the partial onion route is no longer&lt;br/&gt;    sufficient when the payer is ready to pay? Is there a way to provide&lt;br/&gt;    a few routes just in case? Or, in the case where no amount is&lt;br/&gt;    specified, how is the partial onion route possible if we don&amp;#39;t even&lt;br/&gt;    know how much capacity may be needed?&lt;br/&gt; 3. You say the refund should invalidate the proof of payment of the&lt;br/&gt;    initial transaction. What about partial refunds? I think there are a&lt;br/&gt;    lot of applications where there would be a partial refund.&lt;br/&gt; 4. You say &amp;#34;this BOLT specifies a protocol where payee gives a URL to&lt;br/&gt;    one or more potential payers&amp;#34;. How does the payer identify itself to&lt;br/&gt;    the payee so that the payee knows what goods or services that they&lt;br/&gt;    want an invoice for? Do they send this after making the connection,&lt;br/&gt;    or is it part of the URL?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 03/08/2018 10:19 AM, Corné Plooy via Lightning-dev wrote:&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I was thinking of how to use Lightning for various types of payments,&lt;br/&gt;&amp;gt; and I think it&amp;#39;s currently fine for customer/(web)shop type&lt;br/&gt;&amp;gt; interactions, but it seems a bit inconvenient for other use cases, e.g.&lt;br/&gt;&amp;gt; salary payments or direct pay-out of cryptocurrency bought on an&lt;br/&gt;&amp;gt; exchange. I came up with an idea that addresses some of these issues and&lt;br/&gt;&amp;gt; more (e.g. payee anonymity) by having a direct line of communication&lt;br/&gt;&amp;gt; between payer and payee instead of BOLT11-style interaction. It&amp;#39;s still&lt;br/&gt;&amp;gt; a bit half-baked, with many details not worked out yet, but you can read&lt;br/&gt;&amp;gt; it here, and see if you like where this is going:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitonic-cjp/lightning-rfc/blob/payment-protocol/12-payment-protocol.md&#34;&gt;https://github.com/bitonic-cjp/lightning-rfc/blob/payment-protocol/12-payment-protocol.md&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In true permissionless fashion, I have been so bolD to register bolT #12&lt;br/&gt;&amp;gt; for my idea.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Please let me know what you think.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; kind regards,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CJP&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; Lightning-dev mailing list&lt;br/&gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&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/lightning-dev/attachments/20180310/b0f5979c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180310/b0f5979c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:49:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqncsu5ak3g88s33p26at3pxvqh37nhd8ndxavgdpkmln4a9r7epgzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcwr63eq</id>
    
      <title type="html">📅 Original date posted:2017-12-29 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqncsu5ak3g88s33p26at3pxvqh37nhd8ndxavgdpkmln4a9r7epgzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcwr63eq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8fgmpcrccj6g4q7jyt2m9ey34zk4qp0axdxqzw4kph84slzkxclcvhayvs&#39;&gt;nevent1q…ayvs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-12-29&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello,&lt;br/&gt;&lt;br/&gt;Thanks for all of the discussion on this topic. In general, I don&amp;#39;t have &lt;br/&gt;a solid opinion formed yet, but I understand all of the points that &lt;br/&gt;everyone has made. I think the bottom line is that a limit doesn&amp;#39;t hurt &lt;br/&gt;right now unless the purchasing power of bitcoin dramatically declines. &lt;br/&gt;This limit is like the block size limit in that it is conservative and &lt;br/&gt;we need to have some experience in order to determine whether the limit &lt;br/&gt;is needed at all. It proved to be very clear over time that a block size &lt;br/&gt;limit was needed as one force against centralization. Maybe a limit is &lt;br/&gt;needed for lightning channels, maybe it isn&amp;#39;t, but we need to first see &lt;br/&gt;how the network starts to evolve. My main concern long term is that a &lt;br/&gt;large business couldn&amp;#39;t operate using lightning, because the channel &lt;br/&gt;sizes and payment sizes are too small. What if you&amp;#39;re buying an oil rig, &lt;br/&gt;a locomotive, a gas turbine, a load of coal, or a herd of cattle. Should &lt;br/&gt;a blockchain transaction be used for everyone in the world for these &lt;br/&gt;types of purchases? But then again, maybe different types of users will &lt;br/&gt;use different kinds of lightning networks.&lt;br/&gt;&lt;br/&gt;Another reason against accepting large incoming channels yourself would &lt;br/&gt;be that you may not want to encourage people paying you to route through &lt;br/&gt;one of the super nodes. Super nodes are likely spies or targets of spies &lt;br/&gt;and users won&amp;#39;t naturally want to deal with those types of actors.&lt;br/&gt;&lt;br/&gt;Also, the Eclair implementation supports push_msat too.&lt;br/&gt;&lt;br/&gt;Other than as &amp;#34;training wheels&amp;#34;, I&amp;#39;m still not sure why we need a &lt;br/&gt;payment limit if we have a channel limit. It seems as though the channel &lt;br/&gt;limit puts an implicit payment limit in place.&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 12/27/2017 03:13 PM, ZmnSCPxj wrote:&lt;br/&gt;&amp;gt; Good morning Daniel,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; -------- Original Message --------&lt;br/&gt;&amp;gt;&amp;gt; Subject: Re: [Lightning-dev] General questions about channels&lt;br/&gt;&amp;gt;&amp;gt; Local Time: December 27, 2017 10:30 PM&lt;br/&gt;&amp;gt;&amp;gt; UTC Time: December 27, 2017 2:30 PM&lt;br/&gt;&amp;gt;&amp;gt; From: therealsangaman at gmail.com&lt;br/&gt;&amp;gt;&amp;gt; To: ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Andy Schroder &amp;lt;info at andyschroder.com&amp;gt;, &lt;br/&gt;&amp;gt;&amp;gt; lightning-dev at lists.linuxfoundation.org &lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve only really been getting my hands into LN the past few weeks but&lt;br/&gt;&amp;gt;&amp;gt; I thought I&amp;#39;d share my thoughts here.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj via Lightning-dev lightning-dev at lists.linuxfoundation.org &lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;mailto:lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;     Perhaps some day, in the LONG TERM, the limits may be increased&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I was always under the impression that the channel and payment limits&lt;br/&gt;&amp;gt;&amp;gt; were intended to be training wheels, this is the first I&amp;#39;ve heard of&lt;br/&gt;&amp;gt;&amp;gt; them intended to stick around long term. I find the channel limit to&lt;br/&gt;&amp;gt;&amp;gt; be particularly restrictive, as it hinders some use cases I&amp;#39;d envision&lt;br/&gt;&amp;gt;&amp;gt; where large payment channels between two parties are useful and can&lt;br/&gt;&amp;gt;&amp;gt; also be used for routing LN payments. Large payments afaik can be&lt;br/&gt;&amp;gt;&amp;gt; broken up into smaller ones without incurring too much cost or&lt;br/&gt;&amp;gt;&amp;gt; trouble,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Splitting up large payments would require multiple invoices at least &lt;br/&gt;&amp;gt; for now (whether this is troublesome or not may be a matter of &lt;br/&gt;&amp;gt; opinion, bit I suspect juggling more than a few invoices would be &lt;br/&gt;&amp;gt; painful as a user experience). Routing larger payments over multiple &lt;br/&gt;&amp;gt; routes automatically while using a single invoice, is harder as &lt;br/&gt;&amp;gt; multiple routes need to be set up, and each route must have different &lt;br/&gt;&amp;gt; preimages: further it is likely you want the entire large payment to &lt;br/&gt;&amp;gt; be done atomically, which would be harder to arrange.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; but that&amp;#39;s not the case for creating channels. As the channel&lt;br/&gt;&amp;gt;&amp;gt; itself involves only two parties - and in sticking to my general&lt;br/&gt;&amp;gt;&amp;gt; political/philosophical mantra - there is really no justification for&lt;br/&gt;&amp;gt;&amp;gt; limits to be imposed on this. Which brings me to my next point.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Perhaps our definition of &amp;#34;long term&amp;#34; is askew. A year after mainnet &lt;br/&gt;&amp;gt; release, I doubt anyone would feel safe implementing removal of the &lt;br/&gt;&amp;gt; limit; this is my &amp;#34;long term&amp;#34;.  Five years, I imagine quite a few will &lt;br/&gt;&amp;gt; use the nonlimited version and may form a subnetwork among &lt;br/&gt;&amp;gt; themselves.  But possibly by then it would be unlikely that most &lt;br/&gt;&amp;gt; people using Bitcoin at all would evem be capable of putting 150 mBTC &lt;br/&gt;&amp;gt; in spending money on a hot wallet, in which case whether there is a &lt;br/&gt;&amp;gt; 167 mBTC limit per channel or not is largely a moot point. Or perhaps &lt;br/&gt;&amp;gt; I simply imagine hyperbitcoinization by then, with people putting &lt;br/&gt;&amp;gt; entire bitcoins into hot wallets equivalent to people putting &lt;br/&gt;&amp;gt; thousands of USD today in their back pockets as invitation to be attacked.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;     There is also again the wisdom, that one should keep most of the&lt;br/&gt;&amp;gt;&amp;gt;     funds in&lt;br/&gt;&amp;gt;&amp;gt;     cold storage, and only a small amount for spending in hot wallets&lt;br/&gt;&amp;gt;&amp;gt;     like&lt;br/&gt;&amp;gt;&amp;gt;     Lightning nodes&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think this is a top-down way of thinking that runs counter to the&lt;br/&gt;&amp;gt;&amp;gt; spirit of bitcoin. The &amp;#34;wisest&amp;#34; thing to do in fact may be to simply&lt;br/&gt;&amp;gt;&amp;gt; buy inflation-adjusted treasury bonds and not mess with bitcoin at&lt;br/&gt;&amp;gt;&amp;gt; all, much less the experimental lightning network. As advice this is&lt;br/&gt;&amp;gt;&amp;gt; perfectly fine to share with others for them to follow on a voluntary&lt;br/&gt;&amp;gt;&amp;gt; basis, but I don&amp;#39;t see why this ought to be enforced as a rule on a&lt;br/&gt;&amp;gt;&amp;gt; protocol level.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Possibly.  At the protocol level, a limit encourages the growth of the &lt;br/&gt;&amp;gt; network towards a mesh network rather than more central forms, &lt;br/&gt;&amp;gt; however.  I merely put this since it is unlikely that most people &lt;br/&gt;&amp;gt; following this &amp;#34;wisdom&amp;#34; would have an incentive to even run software &lt;br/&gt;&amp;gt; with the limit removed: that is, by the time Lightning becomes fully &lt;br/&gt;&amp;gt; deployed the limit may not even be reached in practice.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Also, I personally can&amp;#39;t see a reason why a node would reject a large&lt;br/&gt;&amp;gt;&amp;gt; channel being made with it, where is the downside or risk? The party&lt;br/&gt;&amp;gt;&amp;gt; committing funds to the channel is the one risking loss or delay of&lt;br/&gt;&amp;gt;&amp;gt; funds.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But the party committing funds to the channel is known via node &lt;br/&gt;&amp;gt; gossip, and it is known also who the other end of the channel is. If &lt;br/&gt;&amp;gt; you were to propose opening for example a 5BTC channel to me with the &lt;br/&gt;&amp;gt; funds coming from you, I would consider the possibility that I might &lt;br/&gt;&amp;gt; get attacked in order to get to your funds (and I might not have the &lt;br/&gt;&amp;gt; resources to protect against such an attack on my end, even if you &lt;br/&gt;&amp;gt; might). Further, putting 5BTC implies that at some point there is the &lt;br/&gt;&amp;gt; future possibility, due to routing and so on, that the channel will &lt;br/&gt;&amp;gt; have around 5BTC belonging to me, and at some point before you can &lt;br/&gt;&amp;gt; spend the entire 5BTC I would want to close the channel and commit the &lt;br/&gt;&amp;gt; funds that I now own into cold storage (so that the ability to channel &lt;br/&gt;&amp;gt; 5BTC from you to me is a moot point).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&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/lightning-dev/attachments/20171229/b0cc58a4/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171229/b0cc58a4/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:48:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp3sqd2n8gcac4chepjda7ans4suwfe6j5mh9r34e8sr6glldgkjszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc79n4hj</id>
    
      <title type="html">📅 Original date posted:2017-12-27 📝 Original message: Andy ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp3sqd2n8gcac4chepjda7ans4suwfe6j5mh9r34e8sr6glldgkjszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc79n4hj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs06kmwl4tlavezg8anr8cfhtsgyfv34sr62s9khu5ltjsl8h0efcgk3t9ja&#39;&gt;nevent1q…t9ja&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-12-27&lt;br/&gt;📝 Original message:&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 12/27/2017 01:06 AM, ZmnSCPxj wrote:&lt;br/&gt;&amp;gt; Good morning Andy,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Andy Schroder&lt;br/&gt;&amp;gt;&amp;gt; On 12/27/2017 12:18 AM, Andy Schroder wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Channel closing&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; costs dwarf the gains to be made from cheating, however.&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;&amp;gt; Since millisatoshis is used, is there a maximum channel funding size?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Yes, the upper 32 bits must be zero, from BOLT #2:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;    - for channels with `chain_hash` identifying the Bitcoin &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; blockchain:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;      - MUST set the four most significant bytes of `amount_msat` to 0.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This gives a maximum HTLC value of .04294967295 BTC, which, back when&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; we started, was about $10.&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; What&amp;#39;s the point of wasting the upper 32 bits? Seems like this is a &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; waste of data?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you have the lower 32 bits of data to use, and &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2^32=4,294,967,296, then you have 4,294,967,296 milli satoshis. 1 &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; BTC=10^11 milli satoshis, so 4,294,967,296 milli satoshis/((10^11 &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; milli satoshis)/1BTC) = 0.04294967296 BTC. That is off by 1 milli &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; satoshi from what you say above. Why is this?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Regardless of the discrepancy of 1 milli satoshi, it still seems &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; like 0.04294967296 BTC is kind of a low maximum channel size for a &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; lot of business applications. Why do you want to limit this when you &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; have those extra 4 bytes set to zero? You think any more is too much &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; to safely have in a hot wallet? You felt keeping it low will &lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; encourage decentralization? Something else?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, I believe Rusty did indeed consider 42mBTC as a reasonable amount &lt;br/&gt;&amp;gt; to transfer on Lightning.  So that in case of trouble on Lightning, &lt;br/&gt;&amp;gt; not a lot of money gets lost.  At the time he decided this 42mBTC &lt;br/&gt;&amp;gt; limit, it was about 10 USD only, so Rusty could always just buy you a &lt;br/&gt;&amp;gt; drink if he somehow causes c-lightning to lose that much.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course, 42mBTC today is much larger.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For myself, I think the channel limit of 167mBTC is good as it &lt;br/&gt;&amp;gt; encourages decentralization by encouraging people to make many small &lt;br/&gt;&amp;gt; channels than one large channel. Many small channels helps in keeping &lt;br/&gt;&amp;gt; your funds resilient against temporary outages of your fellow nodes.&lt;br/&gt;&lt;br/&gt;I understand what you are saying about decentralization, but is this &lt;br/&gt;really something that will be enforceable? Seems like people will just &lt;br/&gt;make an alt-lightning network layer with different limits to get around &lt;br/&gt;this, since there isn&amp;#39;t really a consensus rule set like on the block &lt;br/&gt;chain to motivate them.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Is the max HTLC value the same as the maximum channel size?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Okay, so I may have discovered part of this answer to this question &lt;br/&gt;&amp;gt;&amp;gt; in BOLT 2 where it says: &amp;#34;MUST set|funding_satoshis| to less than &lt;br/&gt;&amp;gt;&amp;gt; 2^24 satoshi&amp;#34;. However, I still don&amp;#39;t understand the rational of why &lt;br/&gt;&amp;gt;&amp;gt; |max ||funding_satoshis doesn&amp;#39;t equal max |amount_msat, or where the &lt;br/&gt;&amp;gt;&amp;gt; values of (2^24)*10^3 and 2^32 milli satoshis came from. Also, why &lt;br/&gt;&amp;gt;&amp;gt; don&amp;#39;t you use units of millisatoshis everywhere in the spec? &lt;br/&gt;&amp;gt;&amp;gt; Sometimes it&amp;#39;s satoshis and sometimes it&amp;#39;s milli satoshis.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is actually very simple. Everything that touches the chain &lt;br/&gt;&amp;gt; (opening and closing) uses satoshis. Everything that does not, uses &lt;br/&gt;&amp;gt; millisatoshis.  This is because the chain uses satoshis as the &lt;br/&gt;&amp;gt; smallest amount.  Offchain, we can use millisatoshis, and it is used &lt;br/&gt;&amp;gt; everywhere offchain.&lt;br/&gt;&lt;br/&gt;Okay, the unit choices now make sense!&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&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/lightning-dev/attachments/20171227/51e762f0/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171227/51e762f0/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:48:10&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy8zqukxm7rhl92hvqks6lv6u28qykeaz4ce8ytews6lmphnsx05szyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xckdmnqm</id>
    
      <title type="html">📅 Original date posted:2017-12-27 📝 Original message: Andy ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy8zqukxm7rhl92hvqks6lv6u28qykeaz4ce8ytews6lmphnsx05szyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xckdmnqm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgc9emg4635e7x2yzd54vaz2zdqxkrg54yt58t0e43p3wx9ejfxsc6sh32r&#39;&gt;nevent1q…h32r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-12-27&lt;br/&gt;📝 Original message:&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 12/27/2017 12:56 AM, ZmnSCPxj wrote:&lt;br/&gt;&amp;gt; Good morning Andy,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;     Channel closing&lt;br/&gt;&amp;gt;&amp;gt;     costs dwarf the gains to be made from cheating, however.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;         Since millisatoshis is used, is there a maximum channel&lt;br/&gt;&amp;gt;&amp;gt;         funding size?&lt;br/&gt;&amp;gt;&amp;gt;         Yes, the upper 32 bits must be zero, from BOLT #2:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;      *&lt;br/&gt;&amp;gt;&amp;gt;         for channels with |chain_hash| identifying the Bitcoin&lt;br/&gt;&amp;gt;&amp;gt;         blockchain:&lt;br/&gt;&amp;gt;&amp;gt;           o MUST set the four most significant bytes of |amount_msat|&lt;br/&gt;&amp;gt;&amp;gt;             to 0.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;     This gives a maximum HTLC value of .04294967295 BTC, which, back when&lt;br/&gt;&amp;gt;&amp;gt;     we started, was about $10.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; What&amp;#39;s the point of wasting the upper 32 bits? Seems like this is a&lt;br/&gt;&amp;gt;&amp;gt; waste of data?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The specs are intended to eventually support other similar &lt;br/&gt;&amp;gt; cryptocurrencies, such as Litecoin.  For those currencies, payments of &lt;br/&gt;&amp;gt; hundreds of whole coins may be practical, and thus the 0.042 limit is &lt;br/&gt;&amp;gt; not imposed.  For Bitcoin only, the limit is applied.  This simplifies &lt;br/&gt;&amp;gt; the design of software by only imposing a limit to a large field under &lt;br/&gt;&amp;gt; certain conditions (i.e. for Bitcoin) while retaining the same format &lt;br/&gt;&amp;gt; for all coins. Other cryptocurrencies may have different imposed &lt;br/&gt;&amp;gt; limits when Lightning gets around to those.&lt;br/&gt;&lt;br/&gt;It seems like you are making assumptions about the purchasing power of &lt;br/&gt;certain cryptocurrencies. Why even bother doing this? You have no idea &lt;br/&gt;what the future holds. Why set a limit for any cryptocurrency that might &lt;br/&gt;use lightning?&lt;br/&gt;&lt;br/&gt;Even if you are right about the purchasing power of a particular &lt;br/&gt;cryptocurrency, why is a limit needed at all? If I have an high, bi &lt;br/&gt;weekly paid salary, and I have a low budget lifestyle, let&amp;#39;s say I save &lt;br/&gt;90% of my income. It seems like your assumed limits could require &lt;br/&gt;multiple payments and multiple open channels for each bi weekly payment. &lt;br/&gt;What if I want to buy a boat, do you expect me to make payments from a &lt;br/&gt;lot of different channels? I was kind of under the assumption that the &lt;br/&gt;long term goal of lightning was only to have a few on chain payments per &lt;br/&gt;human per year.&lt;br/&gt;&lt;br/&gt;Or, are you just worried right now because lightning isn&amp;#39;t well tested?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If you have the lower 32 bits of data to use, and 2^32=4,294,967,296,&lt;br/&gt;&amp;gt;&amp;gt; then you have 4,294,967,296 milli satoshis. 1 BTC=10^11 milli satoshis,&lt;br/&gt;&amp;gt;&amp;gt; so 4,294,967,296 milli satoshis/((10^11 milli satoshis)/1BTC) =&lt;br/&gt;&amp;gt;&amp;gt; 0.04294967296 BTC. That is off by 1 milli satoshi from what you say&lt;br/&gt;&amp;gt;&amp;gt; above. Why is this?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You have an off-by-one error.  The largest number representable by 32 &lt;br/&gt;&amp;gt; bits is 2^32 - 1, not 2^32.&lt;br/&gt;&lt;br/&gt;Okay, thanks for the clarification.&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regardless of the discrepancy of 1 milli satoshi, it still seems like&lt;br/&gt;&amp;gt;&amp;gt; 0.04294967296 BTC is kind of a low maximum channel size for a lot of&lt;br/&gt;&amp;gt;&amp;gt; business applications. Why do you want to limit this when you have those&lt;br/&gt;&amp;gt;&amp;gt; extra 4 bytes set to zero? You think any more is too much to safely have&lt;br/&gt;&amp;gt;&amp;gt; in a hot wallet? You felt keeping it low will encourage&lt;br/&gt;&amp;gt;&amp;gt; decentralization? Something else?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is not the channel size.  This is the payment size limit.  The &lt;br/&gt;&amp;gt; channel size limit is 0.16777215 BTC, or 16777215 satoshi (2^24 - 1).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A single payment can be up to 0.04294967295, but a channel is up to &lt;br/&gt;&amp;gt; 0.16777215.&lt;br/&gt;&lt;br/&gt;Okay, so why bother making these two amounts different?&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Is the max HTLC value the same as the maximum channel size?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; No&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;         Is the optional initial push of millisatoshis during the channel&lt;br/&gt;&amp;gt;&amp;gt;         creation there in order to motivate the other party to be&lt;br/&gt;&amp;gt;&amp;gt;         willing to&lt;br/&gt;&amp;gt;&amp;gt;         waste their time with the channel creation in the first&lt;br/&gt;&amp;gt;&amp;gt;         place? If not,&lt;br/&gt;&amp;gt;&amp;gt;         what&amp;#39;s it for?&lt;br/&gt;&amp;gt;&amp;gt;         It&amp;#39;s for the common case where you want to connect to someone and&lt;br/&gt;&amp;gt;&amp;gt;         make a payment immediately. I&amp;#39;m not sure how widely it will&lt;br/&gt;&amp;gt;&amp;gt;         be used,&lt;br/&gt;&amp;gt;&amp;gt;         though. It&amp;#39;s also the only mechanism for the payer to have&lt;br/&gt;&amp;gt;&amp;gt;         /zero/ funds&lt;br/&gt;&amp;gt;&amp;gt;         in channel (ie. below reserve).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Why would you ever want to start up a channel and immediately have zero&lt;br/&gt;&amp;gt;&amp;gt; funds in reserve? If you are doing that, why not just make a blockchain&lt;br/&gt;&amp;gt;&amp;gt; transaction?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An exchange might support this.  You buy for example 100USD worth of &lt;br/&gt;&amp;gt; BTC and indicate a desire to open a new channel between your node to &lt;br/&gt;&amp;gt; the exchange&amp;#39;s.  The exchange opens the channel with your node and &lt;br/&gt;&amp;gt; specifies the push_msat equivalent of 100USD minus fees to your node.  &lt;br/&gt;&amp;gt; The exchange will want to do this because your new channel goes &lt;br/&gt;&amp;gt; directly to the exchange and it can earn routing fees from your &lt;br/&gt;&amp;gt; spending.  Presumably you want to do this so that you can spend your &lt;br/&gt;&amp;gt; 100USD on Lightning for things within a short time frame.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The alternative is to send the money from the exchange onchain to you, &lt;br/&gt;&amp;gt; then for your node to open a new channel (not necessarily to the &lt;br/&gt;&amp;gt; exchange, too, so the exchange loses the routing fees) with the &lt;br/&gt;&amp;gt; onchain funds.  This is two onchain transactions (from exchange to &lt;br/&gt;&amp;gt; you, and from your node to a Lightning channel), unlike the case where &lt;br/&gt;&amp;gt; the exchange does a single open and reassigns the funds to you via &lt;br/&gt;&amp;gt; push_msat.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Both you and the exchange would want to do this: the exchange wants &lt;br/&gt;&amp;gt; this so it can capture your routing fees, you want this so that you do &lt;br/&gt;&amp;gt; not even touch the chain at all and start out in Lightning in the &lt;br/&gt;&amp;gt; first place.&lt;br/&gt;&lt;br/&gt;Okay, so all this feature is doing is saving the extra step of making an &lt;br/&gt;initial payment? Just saving a little time, and not a monumental or &lt;br/&gt;required feature?&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&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/lightning-dev/attachments/20171227/8e8c3749/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171227/8e8c3749/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:48:08&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz7dcqufgefg6tzhnrj7ndtczxvckfqw7c9d3j7a60s3z27veehcczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xct40fxy</id>
    
      <title type="html">📅 Original date posted:2017-12-27 📝 Original message: Andy ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz7dcqufgefg6tzhnrj7ndtczxvckfqw7c9d3j7a60s3z27veehcczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xct40fxy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs86ggrcyanhgd6zwtzmcgxt3z3uczsetj9j4qspk9dm0hvp87gxygfhrlf6&#39;&gt;nevent1q…rlf6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-12-27&lt;br/&gt;📝 Original message:&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 12/18/2017 01:40 PM, Rusty Russell wrote:&lt;br/&gt;&amp;gt; Andy Schroder &amp;lt;info at AndySchroder.com&amp;gt; writes:&lt;br/&gt;&amp;gt;&amp;gt; What&amp;#39;s the rational for using millisatoshis as the units for lightning&lt;br/&gt;&amp;gt;&amp;gt; channels? Aren&amp;#39;t you going to loose up to 1/2 of a satoshi when the&lt;br/&gt;&amp;gt;&amp;gt; channel is closed?&lt;br/&gt;&amp;gt; You can lose up to 0.999 satoshi per in-progress payment, yes.  BOLT #3:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;      The amounts for each output MUST be rounded down to whole satoshis.&lt;br/&gt;&lt;br/&gt;Okay, round down, not regular rounding!&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Is this because it doesn&amp;#39;t hurt and you might as well&lt;br/&gt;&amp;gt;&amp;gt; be open to the opportunity for these sub satoshi transactions, because&lt;br/&gt;&amp;gt;&amp;gt; if you aren&amp;#39;t, you are giving up the opportunity to get accumulated&lt;br/&gt;&amp;gt;&amp;gt; revenue from many of those small transactions, that could end up being&lt;br/&gt;&amp;gt;&amp;gt; greater than 1/2 of a satoshi?&lt;br/&gt;&amp;gt; In practice, payments of less than a few thousand satoshi are&lt;br/&gt;&amp;gt; impractical, as they cost more than that to spend.&lt;br/&gt;&lt;br/&gt;They are impractical even on the lightning network?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Channel closing&lt;br/&gt;&amp;gt; costs dwarf the gains to be made from cheating, however.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Since millisatoshis is used, is there a maximum channel funding size?&lt;br/&gt;&amp;gt; Yes, the upper 32 bits must be zero, from BOLT #2:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    - for channels with `chain_hash` identifying the Bitcoin blockchain:&lt;br/&gt;&amp;gt;      - MUST set the four most significant bytes of `amount_msat` to 0.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This gives a maximum HTLC value of .04294967295 BTC, which, back when&lt;br/&gt;&amp;gt; we started, was about $10.&lt;br/&gt;&lt;br/&gt;What&amp;#39;s the point of wasting the upper 32 bits? Seems like this is a &lt;br/&gt;waste of data?&lt;br/&gt;&lt;br/&gt;If you have the lower 32 bits of data to use, and 2^32=4,294,967,296, &lt;br/&gt;then you have 4,294,967,296 milli satoshis. 1 BTC=10^11 milli satoshis, &lt;br/&gt;so 4,294,967,296 milli satoshis/((10^11 milli satoshis)/1BTC) = &lt;br/&gt;0.04294967296 BTC. That is off by 1 milli satoshi from what you say &lt;br/&gt;above. Why is this?&lt;br/&gt;&lt;br/&gt;Regardless of the discrepancy of 1 milli satoshi, it still seems like &lt;br/&gt;0.04294967296 BTC is kind of a low maximum channel size for a lot of &lt;br/&gt;business applications. Why do you want to limit this when you have those &lt;br/&gt;extra 4 bytes set to zero? You think any more is too much to safely have &lt;br/&gt;in a hot wallet? You felt keeping it low will encourage &lt;br/&gt;decentralization? Something else?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Is the max HTLC value the same as the maximum channel size?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Is the optional initial push of millisatoshis during the channel&lt;br/&gt;&amp;gt;&amp;gt; creation there in order to motivate the other party to be willing to&lt;br/&gt;&amp;gt;&amp;gt; waste their time with the channel creation in the first place? If not,&lt;br/&gt;&amp;gt;&amp;gt; what&amp;#39;s it for?&lt;br/&gt;&amp;gt; It&amp;#39;s for the common case where you want to connect to someone and&lt;br/&gt;&amp;gt; make a payment immediately.  I&amp;#39;m not sure how widely it will be used,&lt;br/&gt;&amp;gt; though.  It&amp;#39;s also the only mechanism for the payer to have *zero* funds&lt;br/&gt;&amp;gt; in channel (ie. below reserve).&lt;br/&gt;&lt;br/&gt;Why would you ever want to start up a channel and immediately have zero &lt;br/&gt;funds in reserve? If you are doing that, why not just make a blockchain &lt;br/&gt;transaction?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In all of the clients that I&amp;#39;ve looked at, I can&amp;#39;t seem to find out how&lt;br/&gt;&amp;gt;&amp;gt; to define the timeout closing out a channel when someone does not&lt;br/&gt;&amp;gt;&amp;gt; cooperate. Is there a fixed value for this as part of the protocol? Or&lt;br/&gt;&amp;gt;&amp;gt; do most clients have a default that they enforce over all channels that&lt;br/&gt;&amp;gt;&amp;gt; they create?&lt;br/&gt;&amp;gt; If there&amp;#39;s no in-progress payment, there&amp;#39;s no reason to close a channel&lt;br/&gt;&amp;gt; to an unreachable peer, unless you want to abandon the channel and get&lt;br/&gt;&amp;gt; the funds back.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If there is, BOLT #2 has you covered:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;          &lt;a href=&#34;https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#requirements-8&#34;&gt;https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#requirements-8&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Okay, so every time you get a new HTLC, your client can change the &lt;br/&gt;timeout that you require for closing the channel, which will control how &lt;br/&gt;long it takes you to abandon the channel and get your funds back when &lt;br/&gt;the peer is unreachable? Or is that set during initial channel creation &lt;br/&gt;only?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Hope that helps,&lt;br/&gt;&amp;gt; Rusty.&lt;br/&gt;&amp;gt;
    </content>
    <updated>2023-06-09T14:48:08&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgu5npv4r9wnn3y4vh2tjvtwzy2ccvkx7euszcv855k4w582v0ucczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcjfvgse</id>
    
      <title type="html">📅 Original date posted:2017-12-17 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgu5npv4r9wnn3y4vh2tjvtwzy2ccvkx7euszcv855k4w582v0ucczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcjfvgse" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw7uvesqzthv7d8qnhfz8km4elm0pemyt3q97ggpf553ctry6sxscudq3pu&#39;&gt;nevent1q…q3pu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-12-17&lt;br/&gt;📝 Original message:&lt;br/&gt;What&amp;#39;s the rational for using millisatoshis as the units for lightning &lt;br/&gt;channels? Aren&amp;#39;t you going to loose up to 1/2 of a satoshi when the &lt;br/&gt;channel is closed? Is this because it doesn&amp;#39;t hurt and you might as well &lt;br/&gt;be open to the opportunity for these sub satoshi transactions, because &lt;br/&gt;if you aren&amp;#39;t, you are giving up the opportunity to get accumulated &lt;br/&gt;revenue from many of those small transactions, that could end up being &lt;br/&gt;greater than 1/2 of a satoshi?&lt;br/&gt;&lt;br/&gt;Since millisatoshis is used, is there a maximum channel funding size?&lt;br/&gt;&lt;br/&gt;Is the optional initial push of millisatoshis during the channel &lt;br/&gt;creation there in order to motivate the other party to be willing to &lt;br/&gt;waste their time with the channel creation in the first place? If not, &lt;br/&gt;what&amp;#39;s it for?&lt;br/&gt;&lt;br/&gt;In all of the clients that I&amp;#39;ve looked at, I can&amp;#39;t seem to find out how &lt;br/&gt;to define the timeout closing out a channel when someone does not &lt;br/&gt;cooperate. Is there a fixed value for this as part of the protocol? Or &lt;br/&gt;do most clients have a default that they enforce over all channels that &lt;br/&gt;they create?&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Andy Schroder
    </content>
    <updated>2023-06-09T14:48:07&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswucqc0zn8xshle4skwanj2zc7aygagl5rey6ymfx7grh8rzv4xsczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc8y6vc3</id>
    
      <title type="html">📅 Original date posted:2016-08-08 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswucqc0zn8xshle4skwanj2zc7aygagl5rey6ymfx7grh8rzv4xsczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc8y6vc3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs09lw5lxq46amugscfq9huwug0qf3ye6jwwscd29t2ka4ajfaaphqjuvkkn&#39;&gt;nevent1q…vkkn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-08-08&lt;br/&gt;📝 Original message:On 08/08/2016 11:00 AM, Jonas Schnelli via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; # ___known-peers___ contains known identity-public-keys together with a&lt;br/&gt;&amp;gt; network identifier (IP &amp;amp; port), similar to the &amp;#34;known-host&amp;#34; file&lt;br/&gt;&amp;gt; supported by openssh.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I have mixed feelings about strictly tying the identity-public-keys with &lt;br/&gt;a network identifier. I think the purpose of this is to detect if &lt;br/&gt;someone has physically stolen and compromised my bitcoin node and placed &lt;br/&gt;it on another network under control of an attacker. This seems to be a &lt;br/&gt;bit of a benefit, however, an attacker could always spoof the original &lt;br/&gt;network identifier anyway.&lt;br/&gt;&lt;br/&gt;I run my bitcoin node on an internet connection that does not guarantee &lt;br/&gt;a static IP address (although it usually stays the same for several &lt;br/&gt;weeks or months at a time). I&amp;#39;d like to be able to make secure &lt;br/&gt;connections back to my own node, even if I know the IP address may &lt;br/&gt;change from time to time. There are several reasons for wanting to this &lt;br/&gt;with a changing IP. The first is because the bandwidth on my internet &lt;br/&gt;connection with a guaranteed static IP address is considerably more &lt;br/&gt;expensive than my internet connection without a guaranteed static IP &lt;br/&gt;address. The second reason is because the DNS PTR record for my static &lt;br/&gt;IP address is personally identifiable based on other reasons/services. &lt;br/&gt;The internet connection that my bitcoin node is using without a &lt;br/&gt;guaranteed static IP address just has a PTR record that basically &lt;br/&gt;includes my IP address and ISP name. This isn&amp;#39;t much use to the general &lt;br/&gt;public (although my ISP obviously knows who I am). The third reason is &lt;br/&gt;that I consider it a good thing from a privacy perspective if my IP &lt;br/&gt;address changes every once and a while.&lt;br/&gt;&lt;br/&gt;Maybe a strict check option where the identity-public-keys must &lt;br/&gt;optionally match a specific network identifier would be a compromise? &lt;br/&gt;Maybe this is up to the client implementation to decide, so it should &lt;br/&gt;just be suggested in the BIP rather than required?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; # ___authorized-peers___ contains authorized identity-public-keys&lt;br/&gt;&lt;br/&gt;Is there an option for a wildcard here? Couldn&amp;#39;t there be a case where &lt;br/&gt;the client wants to authenticate, but the bitcoin node does not care who &lt;br/&gt;it&amp;#39;s clients are? This would be similar to many of the http based &lt;br/&gt;bitcoin block explorer API services that are out there. The API &lt;br/&gt;operators have built up some reputation, so people use them, but they &lt;br/&gt;don&amp;#39;t necessarily care about who their users are.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; === Local identity key management ===&lt;br/&gt;&amp;gt; Each peer can configure one identity-key (ECC, 32 bytes) per listening&lt;br/&gt;&amp;gt; network interface (IPv4, IPv6, tor).&lt;br/&gt;&lt;br/&gt;What if I have bitcoind listening on multiple IPv4 interfaces? Can I &lt;br/&gt;have a different identity-key for each IPv4 interface?&lt;br/&gt;&lt;br/&gt;Also, would it be possible to only allow this authentication on specific &lt;br/&gt;interfaces? In my example above where I have two internet connections, &lt;br/&gt;if you don&amp;#39;t agree to loosening the tie between the network identifier &lt;br/&gt;and the identity-public-keys, maybe I would just connect my bitcoin node &lt;br/&gt;to both internet connections, but only allow a few authorized-peers on &lt;br/&gt;the static IP (which would be low bandwidth), and then not authenticate &lt;br/&gt;on the internet connection with the changing IP at all&lt;br/&gt;&lt;br/&gt;If you don&amp;#39;t want to increase complexity by adding these options, one &lt;br/&gt;could always accomplish the same thing by runing two instances of &lt;br/&gt;bitcoind and pairing the two over a local network, it would just be a &lt;br/&gt;waste of resources.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; == Disadvantages ==&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The protocol may be slow if a peer has a large authorized-peers database&lt;br/&gt;&amp;gt; due to the requirement of iterating and hashing over all available&lt;br/&gt;&amp;gt; authorized peers identity-public-keys.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Does openssh have this same problem?&lt;br/&gt;&lt;br/&gt;I&amp;#39;m assuming this could be parallelized very easily, so it is not a huge &lt;br/&gt;problem?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 490 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160808/819a2eb5/attachment-0001.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160808/819a2eb5/attachment-0001.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:52:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0xuxstlsaufp4uklz33cpyekgjxcymmghdkpvuas75j6rhtk8seszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xclwsxcl</id>
    
      <title type="html">📅 Original date posted:2016-06-22 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0xuxstlsaufp4uklz33cpyekgjxcymmghdkpvuas75j6rhtk8seszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xclwsxcl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdyvn588u5pfamgyf6nmcutp0c5q0axtrnw0fanegn07dpmzqm4ys38g6pv&#39;&gt;nevent1q…g6pv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-22&lt;br/&gt;📝 Original message:&amp;gt;&lt;br/&gt;&amp;gt;     Only large merchants are able to maintain such an infrastructure;&lt;br/&gt;&amp;gt;     (even&lt;br/&gt;&amp;gt;     Coinbase recently failed at it, they forgot to update their&lt;br/&gt;&amp;gt;     certificate). For end users that is completely unpractical.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Payment protocol is for when you buy stuff from purse.io &lt;br/&gt;&amp;gt; &amp;lt;&lt;a href=&#34;http://purse.io&amp;gt&#34;&gt;http://purse.io&amp;gt&lt;/a&gt;;, not really needed for face-to face transfers, end &lt;br/&gt;&amp;gt; users, IMO.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I disagree with your statements. There are many face to face use cases &lt;br/&gt;where the payment protocol is essential. Pretty much anything where the &lt;br/&gt;payee&amp;#39;s hardware device that the payer interacts with is automated in &lt;br/&gt;public and/or operated or accessible by untrusted employees. In any of &lt;br/&gt;those cases the software on the payee&amp;#39;s hardware device can be modified. &lt;br/&gt;Providing a signed payment request gives the payer additional confidence &lt;br/&gt;that they are paying the correct person.&lt;br/&gt;&lt;br/&gt;See some examples here: &lt;a href=&#34;http://andyschroder.com/BitcoinFluidDispenser/2.3/&#34;&gt;http://andyschroder.com/BitcoinFluidDispenser/2.3/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;There was a secure bluetooth protocol that Andreas Schildbach and Eric &lt;br/&gt;Voskuil and I were working on, but we never pulled it all the way &lt;br/&gt;together. This would also need a two way exchange for a face to face &lt;br/&gt;payment. This could be used without using some sort of key/certificate &lt;br/&gt;verification service if being done between two humans who are the direct &lt;br/&gt;senders and receivers of the payment and are using hardware that they &lt;br/&gt;personally own (not necessarily the case of untrusted employees or &lt;br/&gt;public vulnerable machines).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;     The same benefit can be achieved without the complexity of BIP70, by&lt;br/&gt;&amp;gt;     extending the Bitcoin URI scheme. The requestor is authenticated using&lt;br/&gt;&amp;gt;     DNSSEC, and the payment request is signed using an EC private key. A&lt;br/&gt;&amp;gt;     domain name and an EC signature are short enough to fit in a&lt;br/&gt;&amp;gt;     Bitcoin URI&lt;br/&gt;&amp;gt;     and to be shared by QR code or SMS text.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;      bitcoin:address?amount=xx&amp;amp;message=yyy&amp;amp;name=john.example.com&lt;br/&gt;&amp;gt;     &amp;lt;&lt;a href=&#34;http://john.example.com&amp;gt;&amp;amp;sig=zzz&#34;&gt;http://john.example.com&amp;gt;&amp;amp;sig=zzz&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I agree.  A TXT record at that name could contain the pubkey.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Did you not see my previous message about the size of the bitcoin: URI &lt;br/&gt;getting too big for NFC and QR codes? Do you not care about giving the &lt;br/&gt;payer the option of using multiple destination payment addresses? This &lt;br/&gt;is important for many reasons.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;     That extension is sufficient to provide authenticated requests,&lt;br/&gt;&amp;gt;     without&lt;br/&gt;&amp;gt;     requiring a https server. The signed data can be serialized from the&lt;br/&gt;&amp;gt;     URI, and DNSSEC verification succeeds without requesting extra&lt;br/&gt;&amp;gt;     data from&lt;br/&gt;&amp;gt;     the requestor. The only assumption is that the verifier is able to&lt;br/&gt;&amp;gt;     make&lt;br/&gt;&amp;gt;     DNS requests.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The problem is that there&amp;#39;s no way for a merchant to /refuse /a &lt;br/&gt;&amp;gt; payment without a direct communication with the merchant&amp;#39;s server.    &lt;br/&gt;&amp;gt; Verify first / clear later is the rule.   Check stock, ensure you can &lt;br/&gt;&amp;gt; deliver, and clear the payment on the way out the door.&lt;br/&gt;&lt;br/&gt;So, are you saying first the payer should send an unsigned transaction &lt;br/&gt;for review, and then once the payee has agreed it&amp;#39;s good, they can send &lt;br/&gt;an ACK message back and then wait for the signed version? I don&amp;#39;t think &lt;br/&gt;this is a bad option to have. Many wallets simultaneously broadcast a &lt;br/&gt;signed transaction to their peers and and also back to the payee via &lt;br/&gt;https or bluetooth. So, you&amp;#39;d have to add another step to do the &lt;br/&gt;unsigned transaction review in order to avoid a transaction being &lt;br/&gt;accidentally broadcast that both parties don&amp;#39;t like.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Also, as a merchant processing monthly subscriptions, you don&amp;#39;t want &lt;br/&gt;&amp;gt; the first time you hear about a user&amp;#39;s payment to be /after /it hits &lt;br/&gt;&amp;gt; the blockchain.  You could add a refund address to deal with it after &lt;br/&gt;&amp;gt; the fact... stuff a refund address int OP_RETURN somehow?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; bitcoin:address?amount=xx&amp;amp;currency=ccc&amp;amp;message=yyy&amp;amp;name=john.example.com &lt;br/&gt;&amp;gt; &amp;lt;&lt;a href=&#34;http://john.example.com&amp;gt;&amp;amp;offset=3d&amp;amp;interval=1m&amp;amp;sig=zzz&#34;&gt;http://john.example.com&amp;gt;&amp;amp;offset=3d&amp;amp;interval=1m&amp;amp;sig=zzz&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Again, my comments above about issues with using bitcoin: URI for &lt;br/&gt;everything. Also, why do you want to bloat the blockchain with &lt;br/&gt;unnecessary refund transaction data?&lt;br/&gt;&lt;br/&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/9ae17eed/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160622/9ae17eed/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: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 490 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160622/9ae17eed/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160622/9ae17eed/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:51:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0djvceje58ahkjz7pqy8zznuvamfyyh8tn58hr04m0yxtkgtk6ygzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcur6r6w</id>
    
      <title type="html">📅 Original date posted:2016-06-21 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0djvceje58ahkjz7pqy8zznuvamfyyh8tn58hr04m0yxtkgtk6ygzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcur6r6w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx2w8sce3vw27yhqn58ttvaym7xj23u9wk2ktnhpp3uq0ey5agktcckdgqt&#39;&gt;nevent1q…dgqt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2016-06-21&lt;br/&gt;📝 Original message:Bluetooth exchange of payment requests already has a noticeable lag with &lt;br/&gt;protocol buffers, so that would be another reason to argue against JSON, &lt;br/&gt;because JSON is less efficient size wise, correct? I will say that &lt;br/&gt;although protocol buffers have good platform support, I don&amp;#39;t know that &lt;br/&gt;the documentation for each platform is very good. This is the main &lt;br/&gt;drawback I see with them. One additional advantage of protocol buffers &lt;br/&gt;is that the .proto file is a specification, whereas with JSON, you&amp;#39;d &lt;br/&gt;just have an example file, right?&lt;br/&gt;&lt;br/&gt;Isn&amp;#39;t keybase a centralized infrastructure? Are you against a blockchain &lt;br/&gt;based identification? There are a few out there. There is some confusion &lt;br/&gt;because onename&amp;#39;s efforts are breaking away from namecoin though.&lt;br/&gt;&lt;br/&gt;I like the idea of PGP signatures of payment requests. This allows for &lt;br/&gt;manual verification (in my mind, the highest quality) of key &lt;br/&gt;authenticity (or, with PGP you also have the option to opt into some &lt;br/&gt;centralized service for key verification). This can be useful when &lt;br/&gt;dealing with semi-manually issued invoices for goods and services. The &lt;br/&gt;local bitcoin wallet could just interact with the local PGP keyring. &lt;br/&gt;Although, one can already just send the payment request in a PGP signed &lt;br/&gt;e-mail, so I&amp;#39;m not sure if PGP signing is really needed if you&amp;#39;re using &lt;br/&gt;PGP email. The main benefit may just be consolidating/itemizing into &lt;br/&gt;your bitcoin wallet&amp;#39;s transaction history whether the payment &lt;br/&gt;destination/request was securely received or not. It may also be useful &lt;br/&gt;for someone to be able to extract a signed payment request from a signed &lt;br/&gt;PGP e-mail and send it to someone else to make a payment for you (maybe &lt;br/&gt;you don&amp;#39;t want your accounting person to need your entire e-mail &lt;br/&gt;correspondence with a supplier to be able to just verify the payment &lt;br/&gt;request and make a payment for your company).&lt;br/&gt;&lt;br/&gt;I&amp;#39;m concerned about extending the URI scheme too much. Isn&amp;#39;t this going &lt;br/&gt;to reach the practical size limit of NFC and QR codes pretty quickly?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 06/21/2016 05:43 AM, Andreas Schildbach via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; Protobuf vs. JSON was a deliberate decision. Afaik Protobuf was chosen&lt;br/&gt;&amp;gt; because of its strong types, less vulnerability to malleability and very&lt;br/&gt;&amp;gt; good platform support. Having coded both, I can say Protobuf is not more&lt;br/&gt;&amp;gt; difficult than JSON. (Actually the entire Bitcoin P2P protocol should be&lt;br/&gt;&amp;gt; based on Protobuf, but that&amp;#39;s another story.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, all extensions to BIP70 should go into new BIPs. Note the plural&lt;br/&gt;&amp;gt; here: if you have orthogonal ideas I strongly suggest one BIP per idea&lt;br/&gt;&amp;gt; so they can be discussed and implemented (or rejected) separately.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 06/20/2016 07:33 PM, Erik Aronesty via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt; BIP 0070 has been a a moderate success, however, IMO:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - protocol buffers are inappropriate since ease of use and extensibility&lt;br/&gt;&amp;gt;&amp;gt; is desired over the minor gains of efficiency in this protocol.  Not too&lt;br/&gt;&amp;gt;&amp;gt; late to support JSON messages as the standard going forward&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - problematic reliance on merchant-supplied https (X509) as the sole&lt;br/&gt;&amp;gt;&amp;gt; form of mechant identification.   alternate schemes (dnssec/netki), pgp&lt;br/&gt;&amp;gt;&amp;gt; and possibly keybase seem like good ideas.   personally, i like keybase,&lt;br/&gt;&amp;gt;&amp;gt; since there is no reliance on the existing domain-name system (you can&lt;br/&gt;&amp;gt;&amp;gt; sell with a github id, for example)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - missing an optional client supplied identification&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - lack of basic subscription support&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; /Proposed for subscriptions:/&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - BIP0047 payment codes are recommended instead of wallet addresses when&lt;br/&gt;&amp;gt;&amp;gt; establishing subscriptions.  Or, merchants can specify replacement&lt;br/&gt;&amp;gt;&amp;gt; addresses in ACK/NACK responses.   UI confirms are /required /when there&lt;br/&gt;&amp;gt;&amp;gt; are no replacement addresses or payment codes used.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Wallets must confirm and store subscriptions, and are responsible for&lt;br/&gt;&amp;gt;&amp;gt; initiating them at the specified interval.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Intervals can /only /be from a preset list: weekly, biweekly, or 1,&lt;br/&gt;&amp;gt;&amp;gt; 2,3,4,6 or 12 months.   Intervals missed by more than 3 days cause&lt;br/&gt;&amp;gt;&amp;gt; suspension until the user re-verifies.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Wallets /may /optionally ask the user whether they want to be notified&lt;br/&gt;&amp;gt;&amp;gt; and confirm every interval - or not.   Wallets that do not ask /must&lt;br/&gt;&amp;gt;&amp;gt; /notify before initiating each payment.   Interval confirmations should&lt;br/&gt;&amp;gt;&amp;gt; begin at /least /1 day in advance of the next payment.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; /Proposed in general:&lt;br/&gt;&amp;gt;&amp;gt; /&lt;br/&gt;&amp;gt;&amp;gt; - JSON should be used instead of protocol buffers going forward.  Easier&lt;br/&gt;&amp;gt;&amp;gt; to use, explain extend.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - &amp;#34;Extendible&amp;#34; URI-like scheme to support multi-mode identity mechanisms&lt;br/&gt;&amp;gt;&amp;gt; on both payment and subscription requests.   Support for keybase://,&lt;br/&gt;&amp;gt;&amp;gt; netki:// and others as alternates to https://.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Support for client as well as merchant multi-mode verification&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Ideally, the identity verification URI scheme is somewhat&lt;br/&gt;&amp;gt;&amp;gt; orthogonal/independent of the payment request itself&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Question:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Should this be a new BIP?  I know netki&amp;#39;s BIP75 is out there - but I&lt;br/&gt;&amp;gt;&amp;gt; think it&amp;#39;s too specific and too reliant on the domain name system.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Maybe an identity-protocol-agnostic BIP &#43; solid implementation of a&lt;br/&gt;&amp;gt;&amp;gt; couple major protocols without any mention of payment URI&amp;#39;s ... just a&lt;br/&gt;&amp;gt;&amp;gt; way of sending and receiving identity verified messages in general?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I would be happy to implement plugins for identity protocols, if anyone&lt;br/&gt;&amp;gt;&amp;gt; thinks this is a good idea.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Does anyone think https:// or keybase, or PGP or netki all by&lt;br/&gt;&amp;gt;&amp;gt; themselves, is enough - or is it always better to have an extensible&lt;br/&gt;&amp;gt;&amp;gt; protocol?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Erik Aronesty&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;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 490 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160621/6970aa58/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160621/6970aa58/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T19:51:17&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs93z2vvcackw8r0wjxw8fh2knfxlp6cmnefrlrzur3s0wvtghktqqzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc3x5xau</id>
    
      <title type="html">📅 Original date posted:2015-06-28 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs93z2vvcackw8r0wjxw8fh2knfxlp6cmnefrlrzur3s0wvtghktqqzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc3x5xau" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgme0pyfs2qrja99k8vsl5myjraj7ne6mk92l9ufuy0uusnkwdcecxy7lcn&#39;&gt;nevent1q…7lcn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-06-28&lt;br/&gt;📝 Original message:Regarding privacy and the lightening network. Has this been well &lt;br/&gt;addressed? I haven&amp;#39;t seen much that leads me to believe there is. Only &lt;br/&gt;options I see are to have many open payment channels, but that is still &lt;br/&gt;limiting and inefficient, or require an extensive number of hops in your &lt;br/&gt;payment route, but this is also limiting.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 06/28/2015 06:07 PM, Adam Back wrote:&lt;br/&gt;&amp;gt; On 28 June 2015 at 23:05, Gavin Andresen &amp;lt;gavinandresen at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; On Sun, Jun 28, 2015 at 2:58 PM, Adam Back &amp;lt;adam at cypherspace.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; This is probably going to sound impolite, but I think it&amp;#39;s pertinent.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Gavin, on dwelling on the the fact that you appear to not understand&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the basics of the lightning network, I am a little alarmed about this&lt;br/&gt;&amp;gt;&amp;gt; If I don&amp;#39;t see how switching from using the thousands of fully-validating&lt;br/&gt;&amp;gt;&amp;gt; bitcoin nodes with (tens? hundreds?) of Lightning Network hubs is better in&lt;br/&gt;&amp;gt;&amp;gt; terms of decentralization (or security, in terms of Sybil/DoS attacks),&lt;br/&gt;&amp;gt; Its a source routed network, not a broadcast network.  Fees are&lt;br/&gt;&amp;gt; charged on channels so&lt;br/&gt;&amp;gt; DoS is just a way to pay people a multiple of bandwidth cost.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; in terms of trustlessness Andrew Lapp explained it pretty well:&lt;br/&gt;&amp;gt;&amp;gt; I don&amp;#39;t mind a set of central authorities being part of an option IF the central authority&lt;br/&gt;&amp;gt;&amp;gt; doesn&amp;#39;t need to be trusted. On the blockchain, the larger miner is, the more you have&lt;br/&gt;&amp;gt;&amp;gt; to trust them to not collude with anyone to reverse your payments or destroy the trust&lt;br/&gt;&amp;gt;&amp;gt; in the system in some attack. On the Lightning network, a large hub can&amp;#39;t steal my&lt;br/&gt;&amp;gt;&amp;gt; money.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think most people share the sentiment that trustlessness is what matters and&lt;br/&gt;&amp;gt;&amp;gt; decentralization is just a synonym for trustlessness when talking about the blockchain&lt;br/&gt;&amp;gt;&amp;gt; and mining, however decentralization isn&amp;#39;t necessarily synonymous with trustlessness&lt;br/&gt;&amp;gt;&amp;gt; nor is centralization synonymous with trust-requiring when you&amp;#39;re talking about&lt;br/&gt;&amp;gt;&amp;gt; something else.&lt;br/&gt;&amp;gt; Gavin wrote:&lt;br/&gt;&amp;gt;&amp;gt; then I doubt other people do, either. You need to do a better job of explaining it.&lt;br/&gt;&amp;gt; I gave it a go a couple of posts up.  I didnt realise people here&lt;br/&gt;&amp;gt; proposing mega-blocks were not paying attention to the whole lightning&lt;br/&gt;&amp;gt; concept and detail.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; People said lots of things about how it&amp;#39;s better to work on lightning,&lt;br/&gt;&amp;gt; to scale algorithmically, rather than increasing block-size to&lt;br/&gt;&amp;gt; dangerously centralising proportions.&lt;br/&gt;&amp;gt; Did you think we were Gish Galloping you?  We were completely serious.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The paper is on &lt;a href=&#34;http://lightning.network&#34;&gt;http://lightning.network&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; though it is not so clearly explained there, however Joseph is working&lt;br/&gt;&amp;gt; on improving the paper as I understand it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rusty wrote a high-level blog explainer: &lt;a href=&#34;http://rusty.ozlabs.org/?p=450&#34;&gt;http://rusty.ozlabs.org/?p=450&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; though I don&amp;#39;t recall that he got into recirculation, negative fees&lt;br/&gt;&amp;gt; etc.  A good question&lt;br/&gt;&amp;gt; for the lightning-dev mailing list maybe.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are a couple of recorded presentation videos / podcasts from Joseph Poon.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; sf bitcoin dev presentation:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=2QH5EV_Io0E&#34;&gt;https://www.youtube.com/watch?v=2QH5EV_Io0E&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; epicenter bitcoin:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=fBS_ieDwQ9k&#34;&gt;https://www.youtube.com/watch?v=fBS_ieDwQ9k&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There&amp;#39;s a related paper from Christian Decker &amp;#34;Duplex Micropayment Channels&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://www.tik.ee.ethz.ch/file/716b955c130e6c703fac336ea17b1670/duplex-micropayment-channels.pdf&#34;&gt;http://www.tik.ee.ethz.ch/file/716b955c130e6c703fac336ea17b1670/duplex-micropayment-channels.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; But even if you could convince me that it WAS better from a&lt;br/&gt;&amp;gt;&amp;gt; security/decentralization point of view:&lt;br/&gt;&amp;gt; We don&amp;#39;t need to convince people, we just have to code it and&lt;br/&gt;&amp;gt; demonstrate it, which people are working on.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But Lightning does need a decentralised and secure Bitcoin network for&lt;br/&gt;&amp;gt; anchor and reclaim transactions, so take it easy with the mega-blocks&lt;br/&gt;&amp;gt; in the mean-time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; a) Lightning Network is nothing but a whitepaper right now. We are a long&lt;br/&gt;&amp;gt;&amp;gt; way from a practical implementation supported by even one wallet.&lt;br/&gt;&amp;gt; maybe you want to check in on&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/ElementsProject/lightning&#34;&gt;https://github.com/ElementsProject/lightning&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; and help code it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I expect we can get something running inside a year.  Which kind of&lt;br/&gt;&amp;gt; obviates the burning &amp;#34;need&amp;#34; for a schedule into the far future rising&lt;br/&gt;&amp;gt; to 8GB with unrealistic bandwidth growth assumptions that will surely&lt;br/&gt;&amp;gt; cause centralisation problems.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For block-size I think it would be better to have a 2-4 year or one&lt;br/&gt;&amp;gt; off size bump with policy limits and then re-evaluate after we&amp;#39;ve seen&lt;br/&gt;&amp;gt; what lightning can do.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I have been saying the same thing ad-nauseam for weeks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; b) The Lightning Network paper itself says bigger blocks will be needed even&lt;br/&gt;&amp;gt;&amp;gt; if (especially if!) Lightning is wildly successful.&lt;br/&gt;&amp;gt; Not nearly as big as if you tried to put the transactions it would&lt;br/&gt;&amp;gt; enable on the chain, that&amp;#39;s for sure!  We dont know what that limit is&lt;br/&gt;&amp;gt; but people have been imagining 1,000 or 10,000 transactions per anchor&lt;br/&gt;&amp;gt; transaction.  If micro-payments get popular many more.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Basically users would park Bitcoins a on a hub channel instead of the&lt;br/&gt;&amp;gt; blockchain.  The channel can stay up indefinitely, and the user has&lt;br/&gt;&amp;gt; assurances analogous to greenaddress time-lock mechanism&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Flexcap maybe a better solution because that allows bursting&lt;br/&gt;&amp;gt; block-size when economically rational.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that the time-locks with lightning are assumed to be relative&lt;br/&gt;&amp;gt; CTLV eg using the mechanism as Mark Friedenbach described in a post&lt;br/&gt;&amp;gt; here, and as implemented in the elements sidechain, so there is not a&lt;br/&gt;&amp;gt; huge rush to reclaim funds.  They can be spread out in time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you want to scale Bitcoin - like really scale it - work on&lt;br/&gt;&amp;gt; lightning.  Lightning &#43; a decentralised and secure Bitcoin, scales&lt;br/&gt;&amp;gt; further and is more trustless than Bitcoin forced into centralisation&lt;br/&gt;&amp;gt; via premature mega-blocks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To my mind a shorter, more conservative block-size increase to give a&lt;br/&gt;&amp;gt; few years room is enough for now.  We&amp;#39;ll be in a better position to&lt;br/&gt;&amp;gt; know what the right next step is after lightning is running.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Something to mention is you can elide transactions before reclaiming.&lt;br/&gt;&amp;gt; So long as the balancing transaction is correct, someone online can&lt;br/&gt;&amp;gt; swap it for you with an equal balance one with less hops of&lt;br/&gt;&amp;gt; intermediate payment flows.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s pretty interesting what you can do already.  I&amp;#39;m fairly confident&lt;br/&gt;&amp;gt; we&amp;#39;re not finished algorithmically optimising it either.  It&amp;#39;s&lt;br/&gt;&amp;gt; surprising how much new territory there is just sitting there&lt;br/&gt;&amp;gt; unexplored.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Adam&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150628/5a17cd68/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150628/5a17cd68/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:40:59&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst7xe94hug0869h6f0ljagegdv4l6ynrse60q9vu6zg4x0gqdndygzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcezm3gc</id>
    
      <title type="html">📅 Original date posted:2015-02-24 📝 Original message:Andy ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst7xe94hug0869h6f0ljagegdv4l6ynrse60q9vu6zg4x0gqdndygzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xcezm3gc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgeykuw7tm4ns8n7x0lxlzc4ssaj2w9mvnkm9rhue2quve8ewuweskwyjsd&#39;&gt;nevent1q…yjsd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-02-24&lt;br/&gt;📝 Original message:Andy Schroder&lt;br/&gt;&lt;br/&gt;On 02/23/2015 10:09 AM, Jan Vornberger wrote:&lt;br/&gt;&amp;gt; Hey!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sun, Feb 22, 2015 at 05:37:16PM -0500, Andy Schroder wrote:&lt;br/&gt;&amp;gt;&amp;gt; It&amp;#39;s maybe not a bad idea for the wallet to try all payment_url&lt;br/&gt;&amp;gt;&amp;gt; mechanisms in parallel. Should we add this as a recommendation to&lt;br/&gt;&amp;gt;&amp;gt; wallets in TBIP75?&lt;br/&gt;&amp;gt; It doesn&amp;#39;t need to be a recommendation I think, but maybe it would be&lt;br/&gt;&amp;gt; good to mention that a wallet may do that, if it wants.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I actually also happen to be using nfcpy. I am having some&lt;br/&gt;&amp;gt;&amp;gt; reliability issues as well with it. What exactly are your problems?&lt;br/&gt;&amp;gt; Aw, interesting. Sometimes transfers seem to start and then not complete&lt;br/&gt;&amp;gt; in some way and occasionally the NFC dongle is then totally &amp;#39;stuck&amp;#39; in some&lt;br/&gt;&amp;gt; way afterwards, that even after restarting the Python script or&lt;br/&gt;&amp;gt; reloading the driver nothing works anymore. I have to actually unplug&lt;br/&gt;&amp;gt; the dongle and plug it in again. Obviously not exactly production ready.&lt;br/&gt;&amp;gt; I had the same problems with the command line tools based on libnfc, so&lt;br/&gt;&amp;gt; it might be a problem lower down the stack. I&amp;#39;m not sure I have the&lt;br/&gt;&amp;gt; expertise to troubleshoot that.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve had similar issues where the NFC device has to be disconnected and &lt;br/&gt;reconnected. I&amp;#39;ve got lots of error checking in my code on the NFC &lt;br/&gt;device, which helps, but still has problems sometimes. I&amp;#39;ve found if I &lt;br/&gt;limit how quickly a new connection can be made, that reduces the &lt;br/&gt;problem. Have you tried this?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;What command line tool are you using with libnfc?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I have seen your video before. I guess I&amp;#39;m wondering how your&lt;br/&gt;&amp;gt;&amp;gt; prototype works with bitpay and bluetooth. Doesn&amp;#39;t bitpay sign the&lt;br/&gt;&amp;gt;&amp;gt; payment request for you with an https based payment_url? If so, how&lt;br/&gt;&amp;gt;&amp;gt; do you add the bluetooth payment_url while keeping their signature&lt;br/&gt;&amp;gt;&amp;gt; valid?&lt;br/&gt;&amp;gt; Good point, I&amp;#39;m currently simply removing the signature, so that I can&lt;br/&gt;&amp;gt; modify the payment request. I haven&amp;#39;t spoken with BitPay yet, but I hope&lt;br/&gt;&amp;gt; that they will extend their API at some point to set additional&lt;br/&gt;&amp;gt; payment_urls or provide a Bluetooth MAC and then I can do it properly&lt;br/&gt;&amp;gt; with signed requests.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;This sounds weird to me. Why are you even using bitpay at all if you are &lt;br/&gt;already going through the effort to remove a signature and change the &lt;br/&gt;memo field? Wouldn&amp;#39;t it be better to just manage everything yourself?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In your video it looks like the phone still has cellular and&lt;br/&gt;&amp;gt;&amp;gt; wifi reception (it is not offline).&lt;br/&gt;&amp;gt; You are right, I forgot to actually disable wifi and cellular data when&lt;br/&gt;&amp;gt; recording the video. But as you know it would work the same way offline.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regarding the NFC data formats. I would like to clarify that the&lt;br/&gt;&amp;gt;&amp;gt; wallets are having those events dispatched by the android OS. The&lt;br/&gt;&amp;gt;&amp;gt; &amp;#34;URI&amp;#34; and &amp;#34;mime type&amp;#34; events are sent to the application in the same&lt;br/&gt;&amp;gt;&amp;gt; way as from other sources such as a web browser, e-mail, stand alone&lt;br/&gt;&amp;gt;&amp;gt; QR code scanner app, etc.. So, I don&amp;#39;t think the wallet actually&lt;br/&gt;&amp;gt;&amp;gt; knows it is receiving the event from NFC. That is one reason why so&lt;br/&gt;&amp;gt;&amp;gt; many existing wallets happen to support BIP21 payment request via&lt;br/&gt;&amp;gt;&amp;gt; NFC. Andreas can correct me if I am wrong on these statements. I&amp;#39;m a&lt;br/&gt;&amp;gt;&amp;gt; little weary sending the &amp;#34;mime type&amp;#34; based format over NFC because&lt;br/&gt;&amp;gt;&amp;gt; of backwards compatibility and because of the long certificate chain&lt;br/&gt;&amp;gt;&amp;gt; that needs to be transferred. You want that tap to be as robust and&lt;br/&gt;&amp;gt;&amp;gt; fast as possible. A bluetooth connection can have a retry without&lt;br/&gt;&amp;gt;&amp;gt; any user interaction.&lt;br/&gt;&amp;gt; There is a specific NFC intent that you have to list in your Android&lt;br/&gt;&amp;gt; manifest, but you are right that if you already support BIP21 URIs then&lt;br/&gt;&amp;gt; it is often fairly easy and quick to also support them via NFC.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Whereas the mime type approach means that you necessarily need to be&lt;br/&gt;&amp;gt; able to actually understand BIP70, which a lot of wallet don&amp;#39;t yet. But&lt;br/&gt;&amp;gt; personally that wouldn&amp;#39;t hold me back using the mime type if I feel it&amp;#39;s&lt;br/&gt;&amp;gt; the better experience. Those wallets simply have to fall back on&lt;br/&gt;&amp;gt; scanning the QR code in the meantime and then get up to speed on their&lt;br/&gt;&amp;gt; NFC and BIP70 support.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m still concerned that the fact, that Bluetooth is often disabled, is a&lt;br/&gt;&amp;gt; problem for the UX. And it&amp;#39;s not just a one-time thing as with NFC,&lt;br/&gt;&amp;gt; which is - in my experience - also often disabled, but then people turn&lt;br/&gt;&amp;gt; it on and leave it on. But with Bluetooth the Android system is geared&lt;br/&gt;&amp;gt; much more towards turning it off after use and people have this general&lt;br/&gt;&amp;gt; idea of &amp;#39;it uses energy, so I should disable it&amp;#39; and sometimes also&lt;br/&gt;&amp;gt; &amp;#39;Bluetooth is insecure and if I leave it on I will get hacked&amp;#39;. So&lt;br/&gt;&amp;gt; chances are, Bluetooth will be off most of the time, which means&lt;br/&gt;&amp;gt; everytime you pay the dialog &amp;#39;Turn on Bluetooth?&amp;#39; will pop up, which&lt;br/&gt;&amp;gt; isn&amp;#39;t exactly streamlined.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m personally not to annoyed by the enable bluetooth popup. I do know &lt;br/&gt;what you mean about the &amp;#34;bluetooth is insecure, I should disable it&amp;#34; &lt;br/&gt;attitude. I used to have this same concern.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So the advantage of transmitting the whole BIP70 payment request via NFC&lt;br/&gt;&amp;gt; I see is, that you don&amp;#39;t need Bluetooth to get the payment request and&lt;br/&gt;&amp;gt; for sending the transaction back the wallet can then make an intelligent&lt;br/&gt;&amp;gt; decision and first try via HTTP and only after that fails, say something&lt;br/&gt;&amp;gt; like: &amp;#34;You are currently offline, turn on and transmit via Bluetooth&lt;br/&gt;&amp;gt; instead?&amp;#34;. Much less confusing to the user, in my opinion.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Well, with the multiple r parameters, they should also be able to do &lt;br/&gt;this on the payment request too.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Another idea could be to request the permission BLUETOOTH_ADMIN which,&lt;br/&gt;&amp;gt; as far as I know, allows you to programmatically turn on Bluetooth&lt;br/&gt;&amp;gt; without user interaction. The wallet could then have a setting somewhere&lt;br/&gt;&amp;gt; that says &amp;#39;automatically turn on Bluetooth during payments&amp;#39; which would&lt;br/&gt;&amp;gt; enable and then disable (if it was off before) Bluetooth during the&lt;br/&gt;&amp;gt; payment process. That should also be a decent compromise, at the cost of&lt;br/&gt;&amp;gt; another permission.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m personally very weary of more permissions. Have you checked out how &lt;br/&gt;many unnecessary permissions a lot of bitcoin wallets have? Many of them &lt;br/&gt;are ridiculous. Although this one may be somewhat warranted, I wouldn&amp;#39;t &lt;br/&gt;encourage it if they can just fall back to cellular if they don&amp;#39;t want &lt;br/&gt;to use bluetooth. If they don&amp;#39;t have cellular reception, they can go &lt;br/&gt;through the effort of pressing the enable button that pops up.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; There is also the &amp;#34;ack&amp;#34; memo that I mentioned in reference [2]. I&lt;br/&gt;&amp;gt;&amp;gt; think we can improve upon this really. Can we make a new status&lt;br/&gt;&amp;gt;&amp;gt; field or different bluetooth message header? I know Andreas didn&amp;#39;t&lt;br/&gt;&amp;gt;&amp;gt; want to change it because that is how his app already works, but I&lt;br/&gt;&amp;gt;&amp;gt; don&amp;#39;t think the way it is is ideal.&lt;br/&gt;&amp;gt; I&amp;#39;m fine with doing changes here - I don&amp;#39;t think there is all that much&lt;br/&gt;&amp;gt; stuff out there yet which would break from it. At the moment I&amp;#39;m also&lt;br/&gt;&amp;gt; modifying BitPay&amp;#39;s memo field to contain &amp;#39;ack&amp;#39;, as Andreas&amp;#39; wallet&lt;br/&gt;&amp;gt; otherwise reports a failure if I transmit the original via Bluetooth. :-)&lt;br/&gt;&amp;gt; But I was assuming that was temporary anyway (?).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Jan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150224/10953415/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150224/10953415/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:31:09&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv7wzxnwgv5xqxmnafdlxuvmpuv4lmlferr24ppj8309duqusjqmgzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xce0u600</id>
    
      <title type="html">📅 Original date posted:2015-02-24 📝 Original message:I was ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv7wzxnwgv5xqxmnafdlxuvmpuv4lmlferr24ppj8309duqusjqmgzyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xce0u600" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq7tyw0xxk5el83ehdmsqrj4g72hwqh02tfwzqjm5ecplfwzlc7msnrgu4r&#39;&gt;nevent1q…gu4r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-02-24&lt;br/&gt;📝 Original message:I was saying provide a public key via NFC (or a public key fingerprint &lt;br/&gt;and then send the full public key over bluetooth). Instead of providing &lt;br/&gt;a new public key on each tap, why can&amp;#39;t the payee just stop accepting &lt;br/&gt;connections from new parties on that &amp;#34;resource&amp;#34; after a session key has &lt;br/&gt;been received from the first person? If the person decides to have there &lt;br/&gt;friend or family pay for them instead and cancel the payment, they could &lt;br/&gt;just hit cancel on the POS or something (on my fuel pump I have a switch &lt;br/&gt;that needs to be turned, the purpose of this is to avoid wasting too &lt;br/&gt;many addresses) and/or do another NFC tap (if you&amp;#39;re providing QR codes &lt;br/&gt;you&amp;#39;d still need a button of some kind though so it knows to refresh &lt;br/&gt;it), or the POS can just provide a completely new payment request to any &lt;br/&gt;new connections on that same &amp;#34;resource&amp;#34; which use a different session key.&lt;br/&gt;&lt;br/&gt;I feel like the authentication of the payer to the payee in any future &lt;br/&gt;connections after they receive the session key from them (which was &lt;br/&gt;encrypted with the payees public key), comes from the fact that they are &lt;br/&gt;sending responses back that are encrypted using the session key they &lt;br/&gt;gave to the payee. The way I am seeing it is that the NFC tap or QR code &lt;br/&gt;scan is acting in addition to the visual name check on the signature &lt;br/&gt;verification in the wallet. If the certificate used isn&amp;#39;t signed by a CA &lt;br/&gt;(self signed), it may be fine as long as you heard about it via NFC or &lt;br/&gt;QR code. I don&amp;#39;t think it will require PKI and should still work &lt;br/&gt;wallet-to-wallet.&lt;br/&gt;&lt;br/&gt;It sounds like you are saying I&amp;#39;m proposing the customer is going to &lt;br/&gt;need a certificate signed by CA? If so, why? I don&amp;#39;t need this for any &lt;br/&gt;https website I visit. It&amp;#39;s not like the payee is sending anything to &lt;br/&gt;the payer that is private. The payment request only becomes private if &lt;br/&gt;something is actually received to it, otherwise, it is just discarded &lt;br/&gt;and it doesn&amp;#39;t matter. Those bitcoin addresses are never used. It&amp;#39;s just &lt;br/&gt;like a shopping cart on a website where someone aborts payment and &lt;br/&gt;cancels the order.&lt;br/&gt;&lt;br/&gt;At one point I was thinking we could do something similar to Mike &lt;br/&gt;Hearn&amp;#39;s suggestion in another recent e-mail where we re-use some &lt;br/&gt;existing part of the bitcoin URI to bootstrap some trust in a public key &lt;br/&gt;that the payee next sends via bluetooth after the NFC connection. Now &lt;br/&gt;that I&amp;#39;m reviewing my notes though, I can&amp;#39;t see how this will work with &lt;br/&gt;a watching only wallet or if no backwards compatible (to BIP21) bitcoin &lt;br/&gt;address is presented in the URI (as Mike said).&lt;br/&gt;&lt;br/&gt;What I was saying above about how you can stop accepting connections on &lt;br/&gt;that &amp;#34;resource&amp;#34; after a session key has been received by the first &lt;br/&gt;person could be problematic though. An evil person could just start &lt;br/&gt;making connections to every device they can, just to be mean, which &lt;br/&gt;would not allow the POS operator to receive payments from their real &lt;br/&gt;customers. If you do the other option I proposed, which is to just keep &lt;br/&gt;giving out new payment requests, you have other problems (on top of &lt;br/&gt;wasting addresses), which are that you can still have mean people giving &lt;br/&gt;you a denial of service attach on your hardware, or you could have an &lt;br/&gt;unusual situation where two people pay (don&amp;#39;t know why they would do &lt;br/&gt;this though), so that is why I&amp;#39;m suggesting a manual tap or button press &lt;br/&gt;or switch turn being required.&lt;br/&gt;&lt;br/&gt;I guess as more of a abuse filter, a new &amp;#34;resource&amp;#34; could be given &lt;br/&gt;instead with each tap, and the POS would just ignore all requests to an &lt;br/&gt;inactive resource. You may say, why not send a new public key (as you &lt;br/&gt;suggested) instead of a new &amp;#34;resource&amp;#34; with each tap (or button press if &lt;br/&gt;using QR codes), and then you can skip the sending of a static public &lt;br/&gt;key (or public key fingerprint), and ignore any data that is not &lt;br/&gt;encrypted with that public key. Maybe that is a better idea because it &lt;br/&gt;will shorten the bitcoin URI. However, I don&amp;#39;t think its required from a &lt;br/&gt;privacy standpoint, it primarily just aids in combining the public key &lt;br/&gt;fingerprint with the changing &amp;#34;resource&amp;#34; name used to filter abuse. Or, &lt;br/&gt;am I missing something?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;So, after thinking through the abuse scenarios I mentioned above, I &lt;br/&gt;think I am agreeing with you, but the reason I&amp;#39;m writing all this is to &lt;br/&gt;hopefully just get some feedback on my logic to learn something from &lt;br/&gt;this discussion. I do think sending a unique public key over NFC has to &lt;br/&gt;be better than a unique session key. It adds one more step, but seems to &lt;br/&gt;help. If we do this, can we then safely get rid of the h= parameter? &lt;br/&gt;That should make Mike Hearn happy, and also may alleviate the base64url &lt;br/&gt;debate?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 02/23/2015 09:55 PM, Eric Voskuil wrote:&lt;br/&gt;&amp;gt; Andy, adding to my previous post below:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 02/23/2015 01:40 AM, Eric Voskuil wrote:&lt;br/&gt;&amp;gt;&amp;gt; On 02/22/2015 11:36 PM, Andy Schroder wrote:&lt;br/&gt;&amp;gt; ...&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; It&amp;#39;s possible a really sophisticated modification could be done where&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the attacker encrypts and decrypts the communication and then relays to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; each party (without them knowing or any glitches detected), but I guess&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;m not sure how easy that would be on such a close proximity device?&lt;br/&gt;&amp;gt;&amp;gt; If the NFC tap is sufficiently private, privacy is easy to achieve for&lt;br/&gt;&amp;gt;&amp;gt; the subsequent communication. If it is not, privacy can be completely&lt;br/&gt;&amp;gt;&amp;gt; compromised. The question is only how much more difficult is the attack.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; With the public cert tap, the level of difficulty is much lower for&lt;br/&gt;&amp;gt;&amp;gt; capturing selected payment requests. The interloper no longer needs to&lt;br/&gt;&amp;gt;&amp;gt; invade the space of the NFC terminal and can instead impersonate the&lt;br/&gt;&amp;gt;&amp;gt; payer from a safe distance. Nobody gets paid, but privacy is compromised.&lt;br/&gt;&amp;gt; This problem in the preceding paragraph can be resolved by sending a&lt;br/&gt;&amp;gt; unique public key on each NFC tap. In that case an attacker would need&lt;br/&gt;&amp;gt; to monitor the NFC communication.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The talk of wrapping the connection in SSL led me to believe you were&lt;br/&gt;&amp;gt; talking about a static public certificate. However that&amp;#39;s not a&lt;br/&gt;&amp;gt; necessary assumption here and may not be what you intended.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The level of difficulty in the case where the interloper wants to taint&lt;br/&gt;&amp;gt;&amp;gt; transactions may appear lower, but it is not:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; With the session key tap the interloper must compromise the NFC location&lt;br/&gt;&amp;gt;&amp;gt; and then monitor the BT traffic. Monitoring BT traffic without being&lt;br/&gt;&amp;gt;&amp;gt; party to the connection is presumably not rocket surgery, but not&lt;br/&gt;&amp;gt;&amp;gt; standard BT design either.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; With the public cert tap the interloper must also compromise the NFC&lt;br/&gt;&amp;gt;&amp;gt; location and communicate over BT. Therefore the hardware and physical&lt;br/&gt;&amp;gt;&amp;gt; attack requirements are similar. The only added difficulty is that the&lt;br/&gt;&amp;gt;&amp;gt; attack on the NFC terminal attack is active (modifying the MAC address&lt;br/&gt;&amp;gt;&amp;gt; directing the payer to the BT service).&lt;br/&gt;&amp;gt; I believe your central claim was that the difference in the two&lt;br/&gt;&amp;gt; bootstrapping approaches (public key vs. session key) is that by using a&lt;br/&gt;&amp;gt; unique public key per tap, the attack requires an active vs. passive&lt;br/&gt;&amp;gt; attack on the NFC terminal. I just wanted to make clear here that I&lt;br/&gt;&amp;gt; agree with that assessment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The symmetric key approach is based on the idea that these attacks are&lt;br/&gt;&amp;gt; comparable in difficulty and otherwise identical in privacy loss.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, the difference in implementation amounts to about &#43;23&lt;br/&gt;&amp;gt; additional encoded characters for the BT/LE URL, assuming use of the&lt;br/&gt;&amp;gt; secp256k1 curve for DHE. This is really not a material issue in the case&lt;br/&gt;&amp;gt; of the NFC tap. The entire URI&#43;URL could be as small as:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; bitcoin:?r=bt:12rAs9mM/79bq48xJaMgqR9YNxnWhqHHM1JB52nxn6VFXBHTP2zrP&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In comparison to a symmetric key:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; bitcoin:?r=bt:12rAs9mM/12drXXUifSrRnXLGbXg8E&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It also does not change the protocol design or complexity at all - it&lt;br/&gt;&amp;gt; would just swap out an AES key for a secp256k1 public key.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; bitcoin:[address]?bt:&amp;lt;mac&amp;gt;/&amp;lt;key&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If that gets us aligned I&amp;#39;m all for it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; However impersonating the payer is just a matter of software - no more&lt;br/&gt;&amp;gt;&amp;gt; difficult than the session key attack. In fact it may be much easier to&lt;br/&gt;&amp;gt;&amp;gt; implement, as the attack can use supported BT features because the&lt;br/&gt;&amp;gt;&amp;gt; attacker has directed the payer to connect to him and is connecting to&lt;br/&gt;&amp;gt;&amp;gt; the receiver as if he was a payer.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; But it gets worse for the public cert tap, since a more sophisticated&lt;br/&gt;&amp;gt;&amp;gt; attacker can set himself up in the same position without subverting the&lt;br/&gt;&amp;gt;&amp;gt; NFC terminal at all. By broadcasting a more powerful BT service on the&lt;br/&gt;&amp;gt;&amp;gt; same advertised MAC address, the attacker can capture traffic and relay&lt;br/&gt;&amp;gt;&amp;gt; it to the intended service.&lt;br/&gt;&amp;gt; I&amp;#39;m retracting the last paragraph, since the interloper, without&lt;br/&gt;&amp;gt; invading the NFC connection (by substituting the public cert), could not&lt;br/&gt;&amp;gt; read the relayed traffic. It was getting late :/&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; So in sum, reliance on a public cert makes the communication less&lt;br/&gt;&amp;gt;&amp;gt; private under the same physical set of constraints. The difference&lt;br/&gt;&amp;gt;&amp;gt; results from the receiver allowing non-proximate payers to impersonate&lt;br/&gt;&amp;gt;&amp;gt; proximate payers from a distance by generating their own session keys&lt;br/&gt;&amp;gt;&amp;gt; and submitting them over BT.&lt;br/&gt;&amp;gt; e&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150224/79085253/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150224/79085253/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:31:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0rur63qt5vpr8sv6jtgn0436vk2vfhsgmnnrmtgamz787wzs9kdszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc59lsmw</id>
    
      <title type="html">📅 Original date posted:2015-02-23 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0rur63qt5vpr8sv6jtgn0436vk2vfhsgmnnrmtgamz787wzs9kdszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc59lsmw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvag6tzwrfhr0qe8lckaz0k7lzhlvqd4arummsxwn9ahaeffuy6pqvtn5fv&#39;&gt;nevent1q…n5fv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-02-23&lt;br/&gt;📝 Original message:I agree that NFC is the best we have as far as a trust anchor that you &lt;br/&gt;are paying the right person. The thing I am worried about is the privacy &lt;br/&gt;loss that could happen if there is someone passively monitoring the &lt;br/&gt;connection. So, in response to some of your comments below and also in &lt;br/&gt;response to some of Eric Voskuil&amp;#39;s comments in another recent e-mail:&lt;br/&gt;&lt;br/&gt;Consider some cases:&lt;br/&gt;&lt;br/&gt;If NFC is assumed private, then sending the session key over the NFC &lt;br/&gt;connection gives the payer and the payee assumed confidence that that a &lt;br/&gt;private bluetooth connection can be created.&lt;br/&gt;&lt;br/&gt;If the NFC actually isn&amp;#39;t private, then by sending the session key over &lt;br/&gt;it means the bluetooth connection is not private. An eavesdropper can &lt;br/&gt;listen to all communication and possibly modify the communication, but &lt;br/&gt;the payer and payee won&amp;#39;t necessarily know if eavesdropping occurs &lt;br/&gt;unless communication is also modified (which could be difficult to do &lt;br/&gt;for a really low range communication).&lt;br/&gt;&lt;br/&gt;If we send a public key of the payee over the NFC connection (in place &lt;br/&gt;of a session key) and the NFC connection is assumed trusted (and is &lt;br/&gt;unmodified but actually monitored by an eavesdropper) and use that &lt;br/&gt;public key received via NFC to encrypt a session key and send it back &lt;br/&gt;via bluetooth, to then initiate an encrypted bluetooth connection using &lt;br/&gt;that session key for the remaining communication, then the payee still &lt;br/&gt;receives payment as expected and the payer sends the payment they &lt;br/&gt;expected, and the eavesdropper doesn&amp;#39;t see anything.&lt;br/&gt;&lt;br/&gt;If we send a public key of the payee over the NFC connection (in place &lt;br/&gt;of a session key) and the NFC connection is assumed trusted (and is &lt;br/&gt;actually modified by an eavesdropper) and use that public key received &lt;br/&gt;via NFC to encrypt a session key and send it back via bluetooth, to then &lt;br/&gt;initiate an encrypted bluetooth connection using that session key for &lt;br/&gt;the remaining communication, then the payee receives no payment and the &lt;br/&gt;attack is quickly identified because the customer receives no product &lt;br/&gt;for their payment and they notify the payee, and hopefully the problem &lt;br/&gt;remedied and no further customers are affected. The privacy loss will be &lt;br/&gt;significantly reduced and the motive for such attacks will be reduced. &lt;br/&gt;It&amp;#39;s possible a really sophisticated modification could be done where &lt;br/&gt;the attacker encrypts and decrypts the communication and then relays to &lt;br/&gt;each party (without them knowing or any glitches detected), but I guess &lt;br/&gt;I&amp;#39;m not sure how easy that would be on such a close proximity device?&lt;br/&gt;&lt;br/&gt;Erick Voskuil mentioned this same problem would even occur if you had a &lt;br/&gt;hardwired connection to the payment terminal and those wires were &lt;br/&gt;compromised. I guess I still think what I am saying would be better in &lt;br/&gt;that case. There is also more obvious physical tampering required to &lt;br/&gt;mess with wires.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure if there is any trust anchor required of the payer by the &lt;br/&gt;payee, is there? Eric also mentioned a need for this. Why does the payer &lt;br/&gt;care who they are as long as they get a payment received? Just to avoid &lt;br/&gt;a sophisticated modification&amp;#34; that I mention above? I can see how this &lt;br/&gt;could be the case for a longer range communication (like over the &lt;br/&gt;internet), but I&amp;#39;m not convinced it will be easy on really short ranges? &lt;br/&gt;It&amp;#39;s almost like the attacker would be better off to just replace the &lt;br/&gt;entire POS internals than mess with an attack like that, in which case &lt;br/&gt;everything we could do locally (other than the payment request signing &lt;br/&gt;using PKI), is useless.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not a cryptography expert so I apologize if there is something &lt;br/&gt;rudimentary that I am missing here.&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 02/22/2015 08:02 PM, Andreas Schildbach wrote:&lt;br/&gt;&amp;gt; On 02/23/2015 12:32 AM, Andy Schroder wrote:&lt;br/&gt;&amp;gt;&amp;gt; I guess we need to decide whether we want to consider NFC communication&lt;br/&gt;&amp;gt;&amp;gt; private or not. I don&amp;#39;t know that I think it can be. An eavesdropper can&lt;br/&gt;&amp;gt;&amp;gt; place a tiny snooping device near and read the communication. If it is&lt;br/&gt;&amp;gt;&amp;gt; just passive, then the merchant/operator won&amp;#39;t realize it&amp;#39;s there. So, I&lt;br/&gt;&amp;gt;&amp;gt; don&amp;#39;t know if I like your idea (mentioned in your other reply) of&lt;br/&gt;&amp;gt;&amp;gt; putting the session key in the URL is a good idea?&lt;br/&gt;&amp;gt; I think the &amp;#34;trust by proximity&amp;#34; is the best we&amp;#39;ve got. If we don&amp;#39;t&lt;br/&gt;&amp;gt; trust the NFC link (or the QR code scan), what other options have we&lt;br/&gt;&amp;gt; got? Speaking the session key by voice? Bad UX, and can be eavesdropped&lt;br/&gt;&amp;gt; as well of course.&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; Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server&lt;br/&gt;&amp;gt; from Actuate! Instantly Supercharge Your Business Reports and Dashboards&lt;br/&gt;&amp;gt; with Interactivity, Sharing, Native Excel Exports, App Integration &amp;amp; more&lt;br/&gt;&amp;gt; Get technology previously reserved for billion-dollar corporations, FREE&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&#34;&gt;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150223/90498cd6/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150223/90498cd6/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:31:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszyg5fhxcklf4uw7dv6vc4ps5362lyz0gq06nnmm220e8mrxtdurczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xctzdnmw</id>
    
      <title type="html">📅 Original date posted:2015-02-22 📝 Original message:Andy ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszyg5fhxcklf4uw7dv6vc4ps5362lyz0gq06nnmm220e8mrxtdurczyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xctzdnmw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdtdkqwc8fxud7aj2xdrh5x4zv8qewfpxyeswg4jvrfusjcrqu4ls8q65gr&#39;&gt;nevent1q…65gr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-02-22&lt;br/&gt;📝 Original message:Andy Schroder&lt;br/&gt;&lt;br/&gt;On 02/22/2015 06:06 PM, Eric Voskuil wrote:&lt;br/&gt;&amp;gt; On 02/22/2015 02:37 PM, Andy Schroder wrote:&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;d like to see some discussion too about securing the bluetooth&lt;br/&gt;&amp;gt;&amp;gt; connection. Right now it is possible for an eavesdropper to monitor the&lt;br/&gt;&amp;gt;&amp;gt; data transferred.&lt;br/&gt;&amp;gt; Yes, this should be a prerequisite issue to all others.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;d personally like to see if wrapping the current&lt;br/&gt;&amp;gt;&amp;gt; connection with SSL works or if we can run https over a bluetooth&lt;br/&gt;&amp;gt;&amp;gt; socket.&lt;br/&gt;&amp;gt; There is no reason to add this significant complexity. The purpose of&lt;br/&gt;&amp;gt; SSL/TLS is to establish privacy over a *public* channel. But to do so&lt;br/&gt;&amp;gt; requires verification by the user of the merchant&amp;#39;s public certificate.&lt;br/&gt;&amp;gt; Once we rely on the channel being *private*, the entire SSL process is&lt;br/&gt;&amp;gt; unnecessary.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I guess we need to decide whether we want to consider NFC communication &lt;br/&gt;private or not. I don&amp;#39;t know that I think it can be. An eavesdropper can &lt;br/&gt;place a tiny snooping device near and read the communication. If it is &lt;br/&gt;just passive, then the merchant/operator won&amp;#39;t realize it&amp;#39;s there. So, I &lt;br/&gt;don&amp;#39;t know if I like your idea (mentioned in your other reply) of &lt;br/&gt;putting the session key in the URL is a good idea?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Presumably we would not want to require PKI for privacy, since that&amp;#39;s a&lt;br/&gt;&amp;gt; bit of a contradiction. But if one wants to do this NFC is not required,&lt;br/&gt;&amp;gt; since the private session can be established over the public (Bluetooth)&lt;br/&gt;&amp;gt; network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; There was some criticism of this, but I don&amp;#39;t think it has been&lt;br/&gt;&amp;gt;&amp;gt; tested to know if it is really a problem or not. If we just run https&lt;br/&gt;&amp;gt;&amp;gt; over bluetooth, then a lot of my concerns about the message header&lt;br/&gt;&amp;gt;&amp;gt; inconsistencies will go away and the connection will also be secure. We&lt;br/&gt;&amp;gt;&amp;gt; don&amp;#39;t have to reinvent anything.&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; Andy Schroder&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On 02/22/2015 02:08 PM, Jan Vornberger 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; I am working on a Bitcoin point of sale terminal based on a Raspberry&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Pi, which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; displays QR codes, but also provides payment requests via NFC. It can&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; optionally&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; receive the sender&amp;#39;s transaction via Bluetooth, so if the sender wallet&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; supports it, the sender can be completely offline. Only the terminal&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; needs an&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; internet connection.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Typical scenario envisioned: Customer taps their smartphone (or maybe&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; smartwatch&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; in the future) on the NFC pad, confirms the transaction on their phone&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (or smartwatch) and the transaction completes via Bluetooth and/or the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; phone&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; internet connection.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; You can see a prototype in action here:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;     &lt;a href=&#34;https://www.youtube.com/watch?v=P7vKHMoapr8&#34;&gt;https://www.youtube.com/watch?v=P7vKHMoapr8&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The above demo uses a release version of Schildbach&amp;#39;s Bitcoin Wallet,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; so it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; works as shown today. However, some parts - especially the Bluetooth&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; stuff - are&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; custom extensions of Schildbach&amp;#39;s wallet which are not yet standard.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;m writing this post to document my experience implementing NFC and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; offline&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; payments and hope to move the discussion forward around standardizing&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; some of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; this stuff. Andy Schroder&amp;#39;s work around his Bitcoin Fluid Dispenser [1,2]&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; follows along the same lines, so his proposed TBIP74 [3] and TBIP75&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [4] are&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; relevant here as well.&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; ## NFC vs Bluetooth vs NFC&#43;Bluetooth ##&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Before I get into the implementation details, a few words for why I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; decided to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; go with the combination of NFC and Bluetooth:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Doing everything via NFC is an interesting option to keep things&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; simple, but the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; issue is, that one usually can&amp;#39;t maintain the connection while the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; user confirms&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the transaction (as they take the device back to press a button or&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; maybe enter a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; PIN). So there are three options:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. Do a &amp;#34;double tap&amp;#34;: User taps, takes the device back, confirms, then&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; taps&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; again to transmit the transaction. (I think Google Wallet does&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; something like&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; this.)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. Confirm beforehand: User confirms, then taps and everything can&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; happen in one&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; go. The disadvantage is, that you confirm the transaction before you&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; have seen&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the details. (I believe Google Wallet can also work this way.)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3. Tap the phone, then establish a Bluetooth connection which allows&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you to do&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; all necessary communication even if the user takes the device back.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I feel that option 3 is the nicest UX, so that is what I am focusing&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; on right&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; now, but there are pros and cons to all options. One disadvantage of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; option 3 in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; practice is, that many users - in my experience - have Bluetooth&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; turned off, so&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; it can result in additional UI dialogs popping up, asking the user to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; turn on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bluetooth.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Regarding doing everything via Bluetooth or maybe BLE: I have been&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; following the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; work that Airbitz has done around that, but personally I prefer the NFC&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; interaction of &amp;#34;I touch what I want to pay&amp;#34; rather than &amp;#34;a payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; request comes&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; to me through the air and I figure out whether it is meant for me/is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; legitimate&amp;#34;.&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; ## NFC data formats ##&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A bit of background for those who are not that familiar with NFC: Most&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; wallets with NFC support make use of NDEF (NFC Data Exchange Format)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; as far as I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; am aware (with CoinBlesk being an exception, which uses host-based card&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; emulation, if I understand it correctly). NDEF defines a number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; record types,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; among them &amp;#39;URI&amp;#39; and &amp;#39;Mime Type&amp;#39;.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A common way of using NFC with Bitcoin is to create a URI record that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; contains a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bitcoin URI. Beyond that Schildbach&amp;#39;s wallet (and maybe others?) also&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; support&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the mime type record, which is then set to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#39;application/bitcoin-paymentrequest&amp;#39;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; and the rest of the NFC data is a complete BIP70 payment request.&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; ## Implementation ##&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; To structure the discussion a little bit, I have listed a number of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; scenarios to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; consider below. Not every possible combination is listed, but it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; should cover a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bit of everything.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Scenarios:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1) Scan QR code, transmit transaction via Bitcoin network&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example QR code: bitcoin:1asdf...?amount=42&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2) Touch NFC pad, transmit transaction via Bitcoin network&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example NFC URI: bitcoin:1asdf...?amount=42&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3) Scan QR code, fetch BIP70 details via HTTP, post transaction via HTTP&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example QR code:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70paymentrequest&#34;&gt;https://example.org/bip70paymentrequest&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 4) Touch NFC pad, fetch BIP70 details via HTTP, post transaction via HTTP&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example NFC URI:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70paymentrequest&#34;&gt;https://example.org/bip70paymentrequest&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 5) Touch NFC pad, receive BIP70 details directly, post transaction via&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; HTTP&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example NFC MIME record: application/bitcoin-paymentrequest &#43;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; BIP70 payment request&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 6) Scan QR code, fetch BIP70 details via Bluetooth, post transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; via Bluetooth&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example QR code: bitcoin:1asdf...?amount=42&amp;amp;bt=1234567890AB&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Payment request has &amp;#39;payment_url&amp;#39; set to &amp;#39;bt:1234567890AB&amp;#39;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 7) Touch NFC pad, fetch BIP70 details via Bluetooth, post transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; via Bluetooth&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Example NFC URI: bitcoin:1asdf...?amount=42&amp;amp;bt=1234567890AB&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;      Payment request has &amp;#39;payment_url&amp;#39; set to &amp;#39;bt:1234567890AB&amp;#39;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Scenarios 1 and 2 are basically the &amp;#39;legacy&amp;#39;/pre-BIP70 approach and I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; am just&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; listing them here for comparison. Scenario 3 is what is often in use&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; now, for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; example when using a checkout screen by BitPay or Coinbase.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I played around with both scenarios 4 and 5, trying to decide whether&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I should&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; use an NFC URI record or already provide the complete BIP70 payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; request via&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; NFC.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; My experience here has been, that the latter was fairly fragile in my&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; setup&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (Raspberry Pi, NFC dongle from a company called Sensor ID, using&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; nfcpy). I tried&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; with signed payment requests that were around 4k to 5k and the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transfer would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; often not complete if I didn&amp;#39;t hold the phone perfectly in place. So I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; quickly&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; switched to using the NFC URI record instead and have the phone fetch&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the BIP70&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; payment request via Bluetooth afterwards. Using this approach the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; amount of data&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is small enough that it&amp;#39;s usually &amp;#39;all or nothing&amp;#39; and that seems more&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; robust to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; me.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; That said, I continue to have problems with the NFC stack that I&amp;#39;m&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; using, so it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; might just be my NFC setup that is causing these problems. I will&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; probably give&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the NXP NFC library a try next (which I believe is also the stack that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is used&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; by Android). Maybe I have more luck with that approach and could then&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; switch to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; scenario 5.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Scenarios 6 and 7 is what the terminal is doing right now. The &amp;#39;bt&amp;#39;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; parameter is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the non-standard extension of Andreas&amp;#39; wallet that I was mentioning.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; TBIP75&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; proposes to change &amp;#39;bt&amp;#39; into &amp;#39;r1&amp;#39; as part of a more generic approach of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; numbering different sources for the BIP70 payment request. I think&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that is a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; good idea and would express my vote for this proposal. So the QR code&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; or NFC URI&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; would then look something like this:&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:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70&amp;amp;r1=bt:1234567890AB/resource&#34;&gt;https://example.org/bip70&amp;amp;r1=bt:1234567890AB/resource&lt;/a&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; In addition the payment request would need to list additional&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#39;payment_url&amp;#39;s. My&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; proposal would be to do something like this:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;       message PaymentDetails {&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;           ...&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;           optional string payment_url = 6;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;           optional bytes merchant_data = 7;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;           repeated string additional_payment_urls = 8;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;             // ^-- new; to hold things like &amp;#39;bt:1234567890AB&amp;#39;&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; TBIP75 proposes to just change &amp;#39;optional string payment_url&amp;#39; into&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#39;repeated&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; string payment_url&amp;#39;. If this isn&amp;#39;t causing any problems (and hopefully&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; not too&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; much confusion?) I guess that would be fine too.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; In my opinion a wallet should then actually attempt all or multiple of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; provided mechanisms in parallel (e.g. try to fetch the BIP70 payment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; request via&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; both HTTP and Bluetooth) and go with whatever completes first. But&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that is of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; course up to each wallet to decide how to handle.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; TBIP75 furthermore proposes to include an additional &amp;#39;h&amp;#39; parameter&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; which would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; be a hash of the BIP70 payment request, preventing a MITM attack on the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bluetooth channel even if the BIP70 payment request isn&amp;#39;t signed. This&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; have also been my suggestion, although I know that Mike Hearn has raised&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; concerns about this approach. One being, that one needs to finalize&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the BIP70&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; payment request at the time the QR code and NFC URI is generated.&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; ## Questions ##&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; My questions to the list:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1) Do you prefer changing &amp;#39;optional string payment_url&amp;#39; into &amp;#39;repeated&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; string&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; payment_url&amp;#39; or would you rather introduce a new field&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#39;additional_payment_urls&amp;#39;?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2) @Andreas: Is the r, r1, r2 mechanism already implemented in Bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Wallet?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3) Are there other comments regarding &amp;#39;h&amp;#39; parameter as per TBIP75?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 4) General comments, advice, feedback?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I appreciate your input! :-)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Jan&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1] &lt;a href=&#34;http://andyschroder.com/BitcoinFluidDispenser/&#34;&gt;http://andyschroder.com/BitcoinFluidDispenser/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [2]&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg06354.html&#34;&gt;https://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg06354.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [3] &lt;a href=&#34;https://github.com/AndySchroder/bips/blob/master/tbip-0074.mediawiki&#34;&gt;https://github.com/AndySchroder/bips/blob/master/tbip-0074.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [4] &lt;a href=&#34;https://github.com/AndySchroder/bips/blob/master/tbip-0075.mediawiki&#34;&gt;https://github.com/AndySchroder/bips/blob/master/tbip-0075.mediawiki&lt;/a&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;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; from Actuate! Instantly Supercharge Your Business Reports and Dashboards&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; with Interactivity, Sharing, Native Excel Exports, App Integration &amp;amp; more&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Get technology previously reserved for billion-dollar corporations, FREE&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&#34;&gt;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&lt;/a&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-development mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&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;&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; Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server&lt;br/&gt;&amp;gt;&amp;gt; from Actuate! Instantly Supercharge Your Business Reports and Dashboards&lt;br/&gt;&amp;gt;&amp;gt; with Interactivity, Sharing, Native Excel Exports, App Integration &amp;amp; more&lt;br/&gt;&amp;gt;&amp;gt; Get technology previously reserved for billion-dollar corporations, FREE&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&#34;&gt;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&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; Bitcoin-development mailing list&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150222/38815d05/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150222/38815d05/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:30:59&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs88jjkhlndqg54ujwm7lhj99kc7phmvg9u92qrk6ks66uvgtmv9xszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc6ugq49</id>
    
      <title type="html">📅 Original date posted:2015-02-22 📝 Original message:Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs88jjkhlndqg54ujwm7lhj99kc7phmvg9u92qrk6ks66uvgtmv9xszyqw8633h535xjwwv3d98t892ecgmkca6ld6mwwm02ltm4q0eh44xc6ugq49" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxh25s58ramwe57g6y993kj58dj8kn4j5t5k3k3qlu932cqv5dhgqw4xpt0&#39;&gt;nevent1q…xpt0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-02-22&lt;br/&gt;📝 Original message:Hello Jan,&lt;br/&gt;&lt;br/&gt;Regarding a few of your questions:&lt;br/&gt;&lt;br/&gt;Andreas and I had a number of private discussions regarding the &lt;br/&gt;payment_url parameter. I had suggested a &amp;#34;additional_payment_urls&amp;#34; &lt;br/&gt;repeated parameter, but he didn&amp;#39;t seem to like that idea and I &lt;br/&gt;personally am indifferent, so that is why we decided to just change &lt;br/&gt;payment_url to a repeated field. The spec is simpler without the &lt;br/&gt;&amp;#34;additional_payment_urls&amp;#34;, but the wallets have to be a little bit &lt;br/&gt;smarter finding the right url they want to use in the list. It&amp;#39;s maybe &lt;br/&gt;not a bad idea for the wallet to try all payment_url mechanisms in &lt;br/&gt;parallel. Should we add this as a recommendation to wallets in TBIP75?&lt;br/&gt;&lt;br/&gt;I had heard from Andreas a few weeks ago that the multiple r parameters &lt;br/&gt;was not yet implemented. Maybe your interest can motivate him to do so!&lt;br/&gt;&lt;br/&gt;I actually also happen to be using nfcpy. I am having some reliability &lt;br/&gt;issues as well with it. What exactly are your problems?&lt;br/&gt;&lt;br/&gt;I have seen your video before. I guess I&amp;#39;m wondering how your prototype &lt;br/&gt;works with bitpay and bluetooth. Doesn&amp;#39;t bitpay sign the payment request &lt;br/&gt;for you with an https based payment_url? If so, how do you add the &lt;br/&gt;bluetooth payment_url while keeping their signature valid? In your video &lt;br/&gt;it looks like the phone still has cellular and wifi reception (it is not &lt;br/&gt;offline).&lt;br/&gt;&lt;br/&gt;You mention workflow options 1,2,3. You forgot to mention that options &lt;br/&gt;1,2 are not backwards compatible with older wallets.&lt;br/&gt;&lt;br/&gt;Regarding the NFC data formats. I would like to clarify that the wallets &lt;br/&gt;are having those events dispatched by the android OS. The &amp;#34;URI&amp;#34; and &lt;br/&gt;&amp;#34;mime type&amp;#34; events are sent to the application in the same way as from &lt;br/&gt;other sources such as a web browser, e-mail, stand alone QR code scanner &lt;br/&gt;app, etc.. So, I don&amp;#39;t think the wallet actually knows it is receiving &lt;br/&gt;the event from NFC. That is one reason why so many existing wallets &lt;br/&gt;happen to support BIP21 payment request via NFC. Andreas can correct me &lt;br/&gt;if I am wrong on these statements. I&amp;#39;m a little weary sending the &amp;#34;mime &lt;br/&gt;type&amp;#34; based format over NFC because of backwards compatibility and &lt;br/&gt;because of the long certificate chain that needs to be transferred. You &lt;br/&gt;want that tap to be as robust and fast as possible. A bluetooth &lt;br/&gt;connection can have a retry without any user interaction.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t really understand why Mike Hearn has the objections to the h &lt;br/&gt;parameter. It seems like you should already be ready to produce the &lt;br/&gt;BIP70 payment request at the time when the URI is generated. I&amp;#39;d also &lt;br/&gt;like to clarify that the h parameter is for more than just unsigned &lt;br/&gt;payment requests. You can have a signed payment request with the wrong &lt;br/&gt;signer. There is way to much brainpower required to verify that the &lt;br/&gt;signer is actually the merchant you are doing business with. Just think &lt;br/&gt;how many times you shop at a store that you don&amp;#39;t even know the name of. &lt;br/&gt;Also, the store may contract their payment processing out to another &lt;br/&gt;party, or they may have multiple store names but use the same payment &lt;br/&gt;processing system for all their stores, and the parent company has a &lt;br/&gt;different name. It&amp;#39;s good to have both the h parameter AND the signed &lt;br/&gt;payment request.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t really like the Airbitz proposal. Figuring out if your selecting &lt;br/&gt;is the right one is a real nuisance. The idea is neat in a few &lt;br/&gt;applications, but I just don&amp;#39;t think it is going to work for people as &lt;br/&gt;the most efficient and trouble free option day to day. I realize they &lt;br/&gt;are probably doing it to work with Apple&amp;#39;s limited functionality phones &lt;br/&gt;(and BLE is a new buzz word). However, I don&amp;#39;t think we should base &lt;br/&gt;bitcoin around what Apple wants us to do. They&amp;#39;ve already had their war &lt;br/&gt;on bitcoin. They are going to do whatever they can to protect their NFC &lt;br/&gt;based payment system. We need to make their platform the the less &lt;br/&gt;desirable one if they are going to play the game that way. If that means &lt;br/&gt;an Airbitz like proposal is implemented as a fallback, maybe that is &lt;br/&gt;fine and POS systems need to support both, but I just don&amp;#39;t think we &lt;br/&gt;should limit what we can do because of Apple&amp;#39;s products capabilities.&lt;br/&gt;&lt;br/&gt;There is also the &amp;#34;ack&amp;#34; memo that I mentioned in reference [2]. I think &lt;br/&gt;we can improve upon this really. Can we make a new status field or &lt;br/&gt;different bluetooth message header? I know Andreas didn&amp;#39;t want to change &lt;br/&gt;it because that is how his app already works, but I don&amp;#39;t think the way &lt;br/&gt;it is is ideal.&lt;br/&gt;&lt;br/&gt;I&amp;#39;d like to see some discussion too about securing the bluetooth &lt;br/&gt;connection. Right now it is possible for an eavesdropper to monitor the &lt;br/&gt;data transferred. I&amp;#39;d personally like to see if wrapping the current &lt;br/&gt;connection with SSL works or if we can run https over a bluetooth &lt;br/&gt;socket. There was some criticism of this, but I don&amp;#39;t think it has been &lt;br/&gt;tested to know if it is really a problem or not. If we just run https &lt;br/&gt;over bluetooth, then a lot of my concerns about the message header &lt;br/&gt;inconsistencies will go away and the connection will also be secure. We &lt;br/&gt;don&amp;#39;t have to reinvent anything.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Andy Schroder&lt;br/&gt;&lt;br/&gt;On 02/22/2015 02:08 PM, Jan Vornberger wrote:&lt;br/&gt;&amp;gt; Hi everyone,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I am working on a Bitcoin point of sale terminal based on a Raspberry Pi, which&lt;br/&gt;&amp;gt; displays QR codes, but also provides payment requests via NFC. It can optionally&lt;br/&gt;&amp;gt; receive the sender&amp;#39;s transaction via Bluetooth, so if the sender wallet&lt;br/&gt;&amp;gt; supports it, the sender can be completely offline. Only the terminal needs an&lt;br/&gt;&amp;gt; internet connection.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Typical scenario envisioned: Customer taps their smartphone (or maybe smartwatch&lt;br/&gt;&amp;gt; in the future) on the NFC pad, confirms the transaction on their phone&lt;br/&gt;&amp;gt; (or smartwatch) and the transaction completes via Bluetooth and/or the phone&amp;#39;s&lt;br/&gt;&amp;gt; internet connection.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You can see a prototype in action here:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    &lt;a href=&#34;https://www.youtube.com/watch?v=P7vKHMoapr8&#34;&gt;https://www.youtube.com/watch?v=P7vKHMoapr8&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The above demo uses a release version of Schildbach&amp;#39;s Bitcoin Wallet, so it&lt;br/&gt;&amp;gt; works as shown today. However, some parts - especially the Bluetooth stuff - are&lt;br/&gt;&amp;gt; custom extensions of Schildbach&amp;#39;s wallet which are not yet standard.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m writing this post to document my experience implementing NFC and offline&lt;br/&gt;&amp;gt; payments and hope to move the discussion forward around standardizing some of&lt;br/&gt;&amp;gt; this stuff. Andy Schroder&amp;#39;s work around his Bitcoin Fluid Dispenser [1,2]&lt;br/&gt;&amp;gt; follows along the same lines, so his proposed TBIP74 [3] and TBIP75 [4] are&lt;br/&gt;&amp;gt; relevant here as well.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## NFC vs Bluetooth vs NFC&#43;Bluetooth ##&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Before I get into the implementation details, a few words for why I decided to&lt;br/&gt;&amp;gt; go with the combination of NFC and Bluetooth:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Doing everything via NFC is an interesting option to keep things simple, but the&lt;br/&gt;&amp;gt; issue is, that one usually can&amp;#39;t maintain the connection while the user confirms&lt;br/&gt;&amp;gt; the transaction (as they take the device back to press a button or maybe enter a&lt;br/&gt;&amp;gt; PIN). So there are three options:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. Do a &amp;#34;double tap&amp;#34;: User taps, takes the device back, confirms, then taps&lt;br/&gt;&amp;gt; again to transmit the transaction. (I think Google Wallet does something like&lt;br/&gt;&amp;gt; this.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2. Confirm beforehand: User confirms, then taps and everything can happen in one&lt;br/&gt;&amp;gt; go. The disadvantage is, that you confirm the transaction before you have seen&lt;br/&gt;&amp;gt; the details. (I believe Google Wallet can also work this way.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 3. Tap the phone, then establish a Bluetooth connection which allows you to do&lt;br/&gt;&amp;gt; all necessary communication even if the user takes the device back.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I feel that option 3 is the nicest UX, so that is what I am focusing on right&lt;br/&gt;&amp;gt; now, but there are pros and cons to all options. One disadvantage of option 3 in&lt;br/&gt;&amp;gt; practice is, that many users - in my experience - have Bluetooth turned off, so&lt;br/&gt;&amp;gt; it can result in additional UI dialogs popping up, asking the user to turn on&lt;br/&gt;&amp;gt; Bluetooth.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regarding doing everything via Bluetooth or maybe BLE: I have been following the&lt;br/&gt;&amp;gt; work that Airbitz has done around that, but personally I prefer the NFC&lt;br/&gt;&amp;gt; interaction of &amp;#34;I touch what I want to pay&amp;#34; rather than &amp;#34;a payment request comes&lt;br/&gt;&amp;gt; to me through the air and I figure out whether it is meant for me/is legitimate&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## NFC data formats ##&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A bit of background for those who are not that familiar with NFC: Most Bitcoin&lt;br/&gt;&amp;gt; wallets with NFC support make use of NDEF (NFC Data Exchange Format) as far as I&lt;br/&gt;&amp;gt; am aware (with CoinBlesk being an exception, which uses host-based card&lt;br/&gt;&amp;gt; emulation, if I understand it correctly). NDEF defines a number of record types,&lt;br/&gt;&amp;gt; among them &amp;#39;URI&amp;#39; and &amp;#39;Mime Type&amp;#39;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A common way of using NFC with Bitcoin is to create a URI record that contains a&lt;br/&gt;&amp;gt; Bitcoin URI. Beyond that Schildbach&amp;#39;s wallet (and maybe others?) also support&lt;br/&gt;&amp;gt; the mime type record, which is then set to &amp;#39;application/bitcoin-paymentrequest&amp;#39;&lt;br/&gt;&amp;gt; and the rest of the NFC data is a complete BIP70 payment request.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Implementation ##&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To structure the discussion a little bit, I have listed a number of scenarios to&lt;br/&gt;&amp;gt; consider below. Not every possible combination is listed, but it should cover a&lt;br/&gt;&amp;gt; bit of everything.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Scenarios:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) Scan QR code, transmit transaction via Bitcoin network&lt;br/&gt;&amp;gt;     Example QR code: bitcoin:1asdf...?amount=42&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2) Touch NFC pad, transmit transaction via Bitcoin network&lt;br/&gt;&amp;gt;     Example NFC URI: bitcoin:1asdf...?amount=42&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 3) Scan QR code, fetch BIP70 details via HTTP, post transaction via HTTP&lt;br/&gt;&amp;gt;     Example QR code: bitcoin:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70paymentrequest&#34;&gt;https://example.org/bip70paymentrequest&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 4) Touch NFC pad, fetch BIP70 details via HTTP, post transaction via HTTP&lt;br/&gt;&amp;gt;     Example NFC URI: bitcoin:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70paymentrequest&#34;&gt;https://example.org/bip70paymentrequest&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 5) Touch NFC pad, receive BIP70 details directly, post transaction via HTTP&lt;br/&gt;&amp;gt;     Example NFC MIME record: application/bitcoin-paymentrequest &#43; BIP70 payment request&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 6) Scan QR code, fetch BIP70 details via Bluetooth, post transaction via Bluetooth&lt;br/&gt;&amp;gt;     Example QR code: bitcoin:1asdf...?amount=42&amp;amp;bt=1234567890AB&lt;br/&gt;&amp;gt;     Payment request has &amp;#39;payment_url&amp;#39; set to &amp;#39;bt:1234567890AB&amp;#39;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 7) Touch NFC pad, fetch BIP70 details via Bluetooth, post transaction via Bluetooth&lt;br/&gt;&amp;gt;     Example NFC URI: bitcoin:1asdf...?amount=42&amp;amp;bt=1234567890AB&lt;br/&gt;&amp;gt;     Payment request has &amp;#39;payment_url&amp;#39; set to &amp;#39;bt:1234567890AB&amp;#39;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Scenarios 1 and 2 are basically the &amp;#39;legacy&amp;#39;/pre-BIP70 approach and I am just&lt;br/&gt;&amp;gt; listing them here for comparison. Scenario 3 is what is often in use now, for&lt;br/&gt;&amp;gt; example when using a checkout screen by BitPay or Coinbase.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I played around with both scenarios 4 and 5, trying to decide whether I should&lt;br/&gt;&amp;gt; use an NFC URI record or already provide the complete BIP70 payment request via&lt;br/&gt;&amp;gt; NFC.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My experience here has been, that the latter was fairly fragile in my setup&lt;br/&gt;&amp;gt; (Raspberry Pi, NFC dongle from a company called Sensor ID, using nfcpy). I tried&lt;br/&gt;&amp;gt; with signed payment requests that were around 4k to 5k and the transfer would&lt;br/&gt;&amp;gt; often not complete if I didn&amp;#39;t hold the phone perfectly in place. So I quickly&lt;br/&gt;&amp;gt; switched to using the NFC URI record instead and have the phone fetch the BIP70&lt;br/&gt;&amp;gt; payment request via Bluetooth afterwards. Using this approach the amount of data&lt;br/&gt;&amp;gt; is small enough that it&amp;#39;s usually &amp;#39;all or nothing&amp;#39; and that seems more robust to&lt;br/&gt;&amp;gt; me.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That said, I continue to have problems with the NFC stack that I&amp;#39;m using, so it&lt;br/&gt;&amp;gt; might just be my NFC setup that is causing these problems. I will probably give&lt;br/&gt;&amp;gt; the NXP NFC library a try next (which I believe is also the stack that is used&lt;br/&gt;&amp;gt; by Android). Maybe I have more luck with that approach and could then switch to&lt;br/&gt;&amp;gt; scenario 5.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Scenarios 6 and 7 is what the terminal is doing right now. The &amp;#39;bt&amp;#39; parameter is&lt;br/&gt;&amp;gt; the non-standard extension of Andreas&amp;#39; wallet that I was mentioning. TBIP75&lt;br/&gt;&amp;gt; proposes to change &amp;#39;bt&amp;#39; into &amp;#39;r1&amp;#39; as part of a more generic approach of&lt;br/&gt;&amp;gt; numbering different sources for the BIP70 payment request. I think that is a&lt;br/&gt;&amp;gt; good idea and would express my vote for this proposal. So the QR code or NFC URI&lt;br/&gt;&amp;gt; would then look something like this:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;    bitcoin:1asdf...?amount=42&amp;amp;r=&lt;a href=&#34;https://example.org/bip70&amp;amp;r1=bt:1234567890AB/resource&#34;&gt;https://example.org/bip70&amp;amp;r1=bt:1234567890AB/resource&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In addition the payment request would need to list additional &amp;#39;payment_url&amp;#39;s. My&lt;br/&gt;&amp;gt; proposal would be to do something like this:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;      message PaymentDetails {&lt;br/&gt;&amp;gt;          ...&lt;br/&gt;&amp;gt;          optional string payment_url = 6;&lt;br/&gt;&amp;gt;          optional bytes merchant_data = 7;&lt;br/&gt;&amp;gt;          repeated string additional_payment_urls = 8;&lt;br/&gt;&amp;gt;            // ^-- new; to hold things like &amp;#39;bt:1234567890AB&amp;#39;&lt;br/&gt;&amp;gt;      }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TBIP75 proposes to just change &amp;#39;optional string payment_url&amp;#39; into &amp;#39;repeated&lt;br/&gt;&amp;gt; string payment_url&amp;#39;. If this isn&amp;#39;t causing any problems (and hopefully not too&lt;br/&gt;&amp;gt; much confusion?) I guess that would be fine too.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In my opinion a wallet should then actually attempt all or multiple of the&lt;br/&gt;&amp;gt; provided mechanisms in parallel (e.g. try to fetch the BIP70 payment request via&lt;br/&gt;&amp;gt; both HTTP and Bluetooth) and go with whatever completes first. But that is of&lt;br/&gt;&amp;gt; course up to each wallet to decide how to handle.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TBIP75 furthermore proposes to include an additional &amp;#39;h&amp;#39; parameter which would&lt;br/&gt;&amp;gt; be a hash of the BIP70 payment request, preventing a MITM attack on the&lt;br/&gt;&amp;gt; Bluetooth channel even if the BIP70 payment request isn&amp;#39;t signed. This would&lt;br/&gt;&amp;gt; have also been my suggestion, although I know that Mike Hearn has raised&lt;br/&gt;&amp;gt; concerns about this approach. One being, that one needs to finalize the BIP70&lt;br/&gt;&amp;gt; payment request at the time the QR code and NFC URI is generated.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Questions ##&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My questions to the list:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) Do you prefer changing &amp;#39;optional string payment_url&amp;#39; into &amp;#39;repeated string&lt;br/&gt;&amp;gt; payment_url&amp;#39; or would you rather introduce a new field &amp;#39;additional_payment_urls&amp;#39;?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2) @Andreas: Is the r, r1, r2 mechanism already implemented in Bitcoin Wallet?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 3) Are there other comments regarding &amp;#39;h&amp;#39; parameter as per TBIP75?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 4) General comments, advice, feedback?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I appreciate your input! :-)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Jan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;http://andyschroder.com/BitcoinFluidDispenser/&#34;&gt;http://andyschroder.com/BitcoinFluidDispenser/&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg06354.html&#34;&gt;https://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg06354.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://github.com/AndySchroder/bips/blob/master/tbip-0074.mediawiki&#34;&gt;https://github.com/AndySchroder/bips/blob/master/tbip-0074.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [4] &lt;a href=&#34;https://github.com/AndySchroder/bips/blob/master/tbip-0075.mediawiki&#34;&gt;https://github.com/AndySchroder/bips/blob/master/tbip-0075.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ------------------------------------------------------------------------------&lt;br/&gt;&amp;gt; Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server&lt;br/&gt;&amp;gt; from Actuate! Instantly Supercharge Your Business Reports and Dashboards&lt;br/&gt;&amp;gt; with Interactivity, Sharing, Native Excel Exports, App Integration &amp;amp; more&lt;br/&gt;&amp;gt; Get technology previously reserved for billion-dollar corporations, FREE&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&#34;&gt;http://pubads.g.doubleclick.net/gampad/clk?id=190641631&amp;amp;iu=/4140/ostg.clktrk&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Bitcoin-development mailing list&lt;br/&gt;&amp;gt; Bitcoin-development at lists.sourceforge.net&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#34;&gt;https://lists.sourceforge.net/lists/listinfo/bitcoin-development&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: 0x2D44186B.asc&lt;br/&gt;Type: application/pgp-keys&lt;br/&gt;Size: 1739 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/20150222/230a5e33/attachment.bin&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150222/230a5e33/attachment.bin&amp;gt&lt;/a&gt;;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;A non-text attachment was scrubbed...&lt;br/&gt;Name: signature.asc&lt;br/&gt;Type: application/pgp-signature&lt;br/&gt;Size: 555 bytes&lt;br/&gt;Desc: OpenPGP digital signature&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150222/230a5e33/attachment.sig&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150222/230a5e33/attachment.sig&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:30:58&#43;02:00</updated>
  </entry>

</feed>