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




  <entry>
    <id>https://nostr.ae/nevent1qqstq54l8xv6qaeklxwx9dzrg30ncjlw3uj28vvhj2rx06wvtkxf60czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzd0ww36</id>
    
      <title type="html">📅 Original date posted:2018-05-08 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstq54l8xv6qaeklxwx9dzrg30ncjlw3uj28vvhj2rx06wvtkxf60czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzd0ww36" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyvyp807ytuncw9tmfn4wtacvrvh2zrqungvlapgd4l6p355h8nqqrchrpz&#39;&gt;nevent1q…hrpz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-05-08&lt;br/&gt;📝 Original message:&lt;br/&gt;Sorry, I do not wish to spam the list, but I need to correct a rather&lt;br/&gt;serious error in my last email. We must never call something&lt;br/&gt;&amp;#34;post-quantum&amp;#34;, absent mathematical proof. (And good luck with that.) I&lt;br/&gt;apologise for my mistake in doing so myself.&lt;br/&gt;&lt;br/&gt;I should not even refer to lattice based cryptography as a post-quantum&lt;br/&gt;algorithm, I should at best call it a Shor&amp;#39;s algorithm-resistant scheme. At&lt;br/&gt;least, it is not (yet) known how Shor&amp;#39;s algorithm could be used to break&lt;br/&gt;it. Not in public circles, anyhow.&lt;br/&gt;&lt;br/&gt;A cursory glance at the history of cryptanalysis shows that primitives&lt;br/&gt;generally have finite life, which makes it odd that systems seldom use&lt;br/&gt;redundant primitives, and seldom provide for their rapid and safe swap. A&lt;br/&gt;system whose entire security rests on nothing but cryptography, ought to&lt;br/&gt;take particular care! The spectre of quantum computers may render the&lt;br/&gt;finite life of certain primitives more salient than others, but we must not&lt;br/&gt;suppose that, absent Shor&amp;#39;s algorithm, there would be no need to plan for&lt;br/&gt;cryptographic failures. The question is not if, but when, Bitcoin and&lt;br/&gt;lightning will contend with broken primitives, whether due to classical or&lt;br/&gt;quantum cryptanalysis. Likely, both will come into play at various times,&lt;br/&gt;and one must plan accordingly.&lt;br/&gt;&lt;br/&gt;On Tue, May 8, 2018, 9:09 AM Benjamin Mord &amp;lt;ben at mord.io&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That would be awesome. Do you have a reference?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As pertains to the whole of asymmetric cryptography, I believe there are&lt;br/&gt;&amp;gt; not a variety of post quantum schemes, there is only one*: lattice-based&lt;br/&gt;&amp;gt; cryptography. (Which scares me, because it is not all that different from&lt;br/&gt;&amp;gt; the others.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (* Actually, in contexts where time can be used for asymmetry, as in&lt;br/&gt;&amp;gt; TESLA, we can then use hash functions to create something like asymmetric&lt;br/&gt;&amp;gt; signatures as well. But the functional context has to be compatible with&lt;br/&gt;&amp;gt; delayed verification.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (But I do not mean to focus exclusively on Schor&amp;#39;s algorithm, the history&lt;br/&gt;&amp;gt; of even pre-quantum cryptanalysis shows that primitives tend to have finite&lt;br/&gt;&amp;gt; lifespan. Redundancy of any sort of good, even when not focused&lt;br/&gt;&amp;gt; specifically on quantum risks.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, May 8, 2018, 8:58 AM Greg Sanders &amp;lt;gsanders87 at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; From what I understand talking to folks, the linear properties of these&lt;br/&gt;&amp;gt;&amp;gt; signature tricks are maintained under a number of post-quantum schemes.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tue, May 8, 2018 at 8:44 AM, Benjamin Mord &amp;lt;ben at mord.family&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If I&amp;#39;m not mistaken, the scriptless scripts concept (as currently&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; formulated) falls to Schor&amp;#39;s algorithm, and at present there is no&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; alternative implementation of the concept to fall back on. Correct? Lest we&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; build a house of cards, I&amp;#39;d strongly urge everyone to not depend on&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; functional concepts whose underlying cryptographic primitives cannot be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; swapped in an emergency.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Sure, we use ecdsa for example (which is also vulnerable to Schor&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; algorithm), but in contrast to scriptless scripts we have a variety of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; backup primitives at our disposal that fulfill the same functional&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; objective.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If scriptless scripts are found possible under lattice-based&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; cryptography for example, that would be something I suppose. The functional&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; concept of scriptless scripts is indeed very awesome - we just need to add&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; some cryptographic conservatism before we build on it.&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; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;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;&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;-------------- 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/20180508/664c63d0/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180508/664c63d0/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:41&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst7a2l6jpeahy0upyhmpzq7a5cvcaql33vhfrme42937c9kcmf2xgzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzw5yl0m</id>
    
      <title type="html">📅 Original date posted:2018-05-08 📝 Original message: If ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst7a2l6jpeahy0upyhmpzq7a5cvcaql33vhfrme42937c9kcmf2xgzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzw5yl0m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs29fjc6gqre758hqwt3p44f4qvafstdz3uxh3ncggvaas5fptjpksr5dy24&#39;&gt;nevent1q…dy24&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-05-08&lt;br/&gt;📝 Original message:&lt;br/&gt;If I&amp;#39;m not mistaken, the scriptless scripts concept (as currently&lt;br/&gt;formulated) falls to Schor&amp;#39;s algorithm, and at present there is no&lt;br/&gt;alternative implementation of the concept to fall back on. Correct? Lest we&lt;br/&gt;build a house of cards, I&amp;#39;d strongly urge everyone to not depend on&lt;br/&gt;functional concepts whose underlying cryptographic primitives cannot be&lt;br/&gt;swapped in an emergency.&lt;br/&gt;&lt;br/&gt;Sure, we use ecdsa for example (which is also vulnerable to Schor&amp;#39;s&lt;br/&gt;algorithm), but in contrast to scriptless scripts we have a variety of&lt;br/&gt;backup primitives at our disposal that fulfill the same functional&lt;br/&gt;objective.&lt;br/&gt;&lt;br/&gt;If scriptless scripts are found possible under lattice-based cryptography&lt;br/&gt;for example, that would be something I suppose. The functional concept of&lt;br/&gt;scriptless scripts is indeed very awesome - we just need to add some&lt;br/&gt;cryptographic conservatism before we build on it.&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/20180508/e565d776/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180508/e565d776/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyvyp807ytuncw9tmfn4wtacvrvh2zrqungvlapgd4l6p355h8nqqzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz7h6zav</id>
    
      <title type="html">📅 Original date posted:2018-05-08 📝 Original message: That ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyvyp807ytuncw9tmfn4wtacvrvh2zrqungvlapgd4l6p355h8nqqzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz7h6zav" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswskez7v6ncgzxucz06m0dwn2lsrtqlnrstj3gr99azl858d7su7qahzpvw&#39;&gt;nevent1q…zpvw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-05-08&lt;br/&gt;📝 Original message:&lt;br/&gt;That would be awesome. Do you have a reference?&lt;br/&gt;&lt;br/&gt;As pertains to the whole of asymmetric cryptography, I believe there are&lt;br/&gt;not a variety of post quantum schemes, there is only one*: lattice-based&lt;br/&gt;cryptography. (Which scares me, because it is not all that different from&lt;br/&gt;the others.)&lt;br/&gt;&lt;br/&gt;(* Actually, in contexts where time can be used for asymmetry, as in TESLA,&lt;br/&gt;we can then use hash functions to create something like asymmetric&lt;br/&gt;signatures as well. But the functional context has to be compatible with&lt;br/&gt;delayed verification.)&lt;br/&gt;&lt;br/&gt;(But I do not mean to focus exclusively on Schor&amp;#39;s algorithm, the history&lt;br/&gt;of even pre-quantum cryptanalysis shows that primitives tend to have finite&lt;br/&gt;lifespan. Redundancy of any sort of good, even when not focused&lt;br/&gt;specifically on quantum risks.)&lt;br/&gt;&lt;br/&gt;On Tue, May 8, 2018, 8:58 AM Greg Sanders &amp;lt;gsanders87 at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; From what I understand talking to folks, the linear properties of these&lt;br/&gt;&amp;gt; signature tricks are maintained under a number of post-quantum schemes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, May 8, 2018 at 8:44 AM, Benjamin Mord &amp;lt;ben at mord.family&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If I&amp;#39;m not mistaken, the scriptless scripts concept (as currently&lt;br/&gt;&amp;gt;&amp;gt; formulated) falls to Schor&amp;#39;s algorithm, and at present there is no&lt;br/&gt;&amp;gt;&amp;gt; alternative implementation of the concept to fall back on. Correct? Lest we&lt;br/&gt;&amp;gt;&amp;gt; build a house of cards, I&amp;#39;d strongly urge everyone to not depend on&lt;br/&gt;&amp;gt;&amp;gt; functional concepts whose underlying cryptographic primitives cannot be&lt;br/&gt;&amp;gt;&amp;gt; swapped in an emergency.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sure, we use ecdsa for example (which is also vulnerable to Schor&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt; algorithm), but in contrast to scriptless scripts we have a variety of&lt;br/&gt;&amp;gt;&amp;gt; backup primitives at our disposal that fulfill the same functional&lt;br/&gt;&amp;gt;&amp;gt; objective.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If scriptless scripts are found possible under lattice-based cryptography&lt;br/&gt;&amp;gt;&amp;gt; for example, that would be something I suppose. The functional concept of&lt;br/&gt;&amp;gt;&amp;gt; scriptless scripts is indeed very awesome - we just need to add some&lt;br/&gt;&amp;gt;&amp;gt; cryptographic conservatism before we build on it.&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; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;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;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180508/45b1c742/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180508/45b1c742/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdwcky6emju3a92s3aum9wyqwr2pnxkrvq0uxcryx6335q0wz590gzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz5ccydc</id>
    
      <title type="html">📅 Original date posted:2018-04-20 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdwcky6emju3a92s3aum9wyqwr2pnxkrvq0uxcryx6335q0wz590gzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz5ccydc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0v36asuzmdwsunq0v9edunqysdrctum082rzrd9xm3d3j5f3shgsnamygk&#39;&gt;nevent1q…mygk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-20&lt;br/&gt;📝 Original message:&lt;br/&gt;Good afternoon ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;&amp;#34;I do not see a bloom filter?&amp;#34;&lt;br/&gt;&lt;br/&gt;Well, if you look at it kinda sideways, you are using a bloom filter in&lt;br/&gt;your March 23rd proposal. As originally defined, I think the &amp;#34;false&lt;br/&gt;positives&amp;#34; in bloom filtering were the unfortunate cost of performance. In&lt;br/&gt;BIP 37, the false positives become desirable, although still are &amp;#39;false&amp;#39; in&lt;br/&gt;that their only function is to serve as red herrings. But (omitting i for&lt;br/&gt;clarity), your proposal takes BIP 37&amp;#39;s spin on bloom filters one step&lt;br/&gt;further to actually take the &amp;#39;false positives&amp;#39; as the very definition of&lt;br/&gt;our desired set, since what you are &amp;#34;searching for&amp;#34; is just your own public&lt;br/&gt;key, which ends up being the least interesting result within that set.&lt;br/&gt;&lt;br/&gt;&amp;#34; Regarding 24 vs 23, the condition for 23 allows a 3 members of a 5-member&lt;br/&gt;neighborhood to think they form a single 3-member neighborhood, while the&lt;br/&gt;remaining 2 members think they are in a 5-member neighborhood that includes&lt;br/&gt;the other 3 members who have formed a 3-member neighborhood.&amp;#34;&lt;br/&gt;&lt;br/&gt;Oh, I see. But the reason that occurs is because different nodes are&lt;br/&gt;considering different numbers of high-order bits. If everyone used the same&lt;br/&gt;number of high-order bits, then it would become an equivalence&lt;br/&gt;relationship, with which we can partition the network. This is because&lt;br/&gt;then, a=b, would imply b=a, and also a=b and b=c, would imply a=c.&lt;br/&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Equivalence_relation#Partition&#34;&gt;https://en.wikipedia.org/wiki/Equivalence_relation#Partition&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I think algorithm from March 24 is broken actually, on second look, but I&lt;br/&gt;understand now what you are trying to achieve. You want to allow local&lt;br/&gt;judgement over best local cell size, and yet somehow end up with precise&lt;br/&gt;uniform agreement on who is in which cells, because cycles require such&lt;br/&gt;precision. But if you throw in that the network is dynamic, knowledge is&lt;br/&gt;imperfect, and malicious behavior may occur, then I think strict&lt;br/&gt;equivalence relationships and cycles become brittle. Perhaps we should&lt;br/&gt;generalize the equivalence relationship into a distance function, so that&lt;br/&gt;we can start thinking of this as a metric space which we want to fill with&lt;br/&gt;some sort of structure. Perhaps then we can design efficient yet robustly&lt;br/&gt;&amp;#34;fuzzy&amp;#34; structures. Perhaps we want a fuzzy fractal of some sort. Hmm...&lt;br/&gt;&lt;br/&gt;&amp;#34;Intermediate nodes already know two hops?  The incoming and outgoing hop?&lt;br/&gt;Or do you need more information?&amp;#34;&lt;br/&gt;&lt;br/&gt;Yes, nodes would need to know one hope more, since the idea would be to&lt;br/&gt;attract competition to the high-usage yet high-fee links.&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Ben&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Thu, Apr 19, 2018 at 11:24 PM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Benjamin,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think there are two distinct concepts here. The first is the&lt;br/&gt;&amp;gt; identification of a &amp;#39;neighborhood&amp;#39;, and the second is the establishment of&lt;br/&gt;&amp;gt; an order within that neighborhood for purpose of cycle formation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Your use of bloom filters to define a neighborhood, is I think the most&lt;br/&gt;&amp;gt; valuable contribution. Formation of neighborhoods with high connectivity,&lt;br/&gt;&amp;gt; with sparse but redundant connections among these neighborhoods, does seem&lt;br/&gt;&amp;gt; like an economically efficient approach to maintaining useful competition&lt;br/&gt;&amp;gt; and redundancy. If there are any graph theorists or category theorists on&lt;br/&gt;&amp;gt; the list, perhaps they could offer some formal validation or optimization.&lt;br/&gt;&amp;gt; For this, I prefer your March 23 proposal over March 24, I&amp;#39;m curious what&lt;br/&gt;&amp;gt; improvement is intended in March 24 vs 23?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I do not see a bloom filter? But then I am not a mathematician so it is&lt;br/&gt;&amp;gt; possible I fail to see how the Bloom filter arises from the algorithm I&lt;br/&gt;&amp;gt; described.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regarding 24 vs 23, the condition for 23 allows a 3 members of a 5-member&lt;br/&gt;&amp;gt; neighborhood to think they form a single 3-member neighborhood, while the&lt;br/&gt;&amp;gt; remaining 2 members think they are in a 5-member neighborhood that includes&lt;br/&gt;&amp;gt; the other 3 members who have formed a 3-member neighborhood.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The emergent definition and maintenance of a unique ordering for cycle&lt;br/&gt;&amp;gt; establishment within a neighborhood is, I think, a much more ambitious&lt;br/&gt;&amp;gt; undertaking. I&amp;#39;m not sure how we efficiently make that robust in a dynamic&lt;br/&gt;&amp;gt; context, except perhaps with interactive coordination among the members&lt;br/&gt;&amp;gt; operating off something other than just static global data. Otherwise&lt;br/&gt;&amp;gt; different members would have different ideas about cycle order, depending&lt;br/&gt;&amp;gt; on when they first joined. I also don&amp;#39;t see how cycles recover when someone&lt;br/&gt;&amp;gt; leaves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As people come and go, cycles will break. As the lightning network grows&lt;br/&gt;&amp;gt; overall, neighborhoods identified by one setting of the bloom filter will&lt;br/&gt;&amp;gt; become undesirably large. Perhaps a less ambitious but more robust&lt;br/&gt;&amp;gt; heuristic would be one where probability of establishing a channel is&lt;br/&gt;&amp;gt; proportional to the number of bits in common in the pubkey hash, normalized&lt;br/&gt;&amp;gt; by the number of nodes currently observed?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe that is what the algorithm already does? It dynamically sizes&lt;br/&gt;&amp;gt; neighborhoods to be small, with high probability of neighborhoods to be&lt;br/&gt;&amp;gt; 3-&amp;gt;5 members.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This heuristic would automatically adjust granularity over time as&lt;br/&gt;&amp;gt; lightning membership grows and shrinks. Nodes could periodically reevaluate&lt;br/&gt;&amp;gt; their channel allocations as the overall network grows or shrinks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The algorithm does not consider what happens when we have a cycle already&lt;br/&gt;&amp;gt; existing, and a new member joins or an existing one wishes to leave.  There&lt;br/&gt;&amp;gt; is no way to inform this.  My expectation is that people will just close&lt;br/&gt;&amp;gt; channels that they no longer  find useful; this makes funds available&lt;br/&gt;&amp;gt; onchain.  Then a process notices there are onchain funds, and calls this&lt;br/&gt;&amp;gt; algorithm to get a proposed channel; this adapts to whatever the topology&lt;br/&gt;&amp;gt; is right now.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It is not clear when we should close channels.  For one, gossip requires&lt;br/&gt;&amp;gt; that a node first open a channel to somebody, before its existence is&lt;br/&gt;&amp;gt; acknowledged and gossiped across the network: this is intended to prevent&lt;br/&gt;&amp;gt; spammers from spinning up nodes without actually intending to join the&lt;br/&gt;&amp;gt; network.  Similarly, to leave the network, we assume that nodes will at&lt;br/&gt;&amp;gt; least get all their channels closed: channel closure is an onchain event&lt;br/&gt;&amp;gt; visible to everyone monitoring the the blockchain (which is what all LN&lt;br/&gt;&amp;gt; nodes SHOULD do), and once all channels of a node have closed, we MAY drop&lt;br/&gt;&amp;gt; them from the network view (c-lightning implements this, but I do not know&lt;br/&gt;&amp;gt; if other implementations do).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So at least for *leaving* LN permanently, the leaving node SHOULD close&lt;br/&gt;&amp;gt; all its channels (or at least their peers SHOULD close it for them in&lt;br/&gt;&amp;gt; unilateral closes if the peer just does not respond at all anymore).  This&lt;br/&gt;&amp;gt; updates the network view of everybody (assuming they follow the&lt;br/&gt;&amp;gt; recommendation that they MAY drop nodes from the network view, if that node&lt;br/&gt;&amp;gt; has all its channels closed).  The closing will also put the channel funds&lt;br/&gt;&amp;gt; onchain, and presumably the autopilots of its neighbors will notice the&lt;br/&gt;&amp;gt; onchain funds, calls the algorithm to get a peer to channel to, which&lt;br/&gt;&amp;gt; computes (hopefully) using the updated network view that has the leaving&lt;br/&gt;&amp;gt; node removed already (this may not be true: the leaving node might not be&lt;br/&gt;&amp;gt; able to close all channels simultaneously, and may misbehave and expect its&lt;br/&gt;&amp;gt; neighbors to close the channels for it), and adapts correctly to the node&lt;br/&gt;&amp;gt; leaving the network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However for a new node entering the network, there is problem.  This&lt;br/&gt;&amp;gt; requires existing nodes to close existing channels and open new ones to the&lt;br/&gt;&amp;gt; new node: as this costs onchain fees, there is no real incentive for them&lt;br/&gt;&amp;gt; to do so.  I can only fall back on the informal argument: that people will&lt;br/&gt;&amp;gt; at first experiment with the Lightning Network and commit a tiny amount of&lt;br/&gt;&amp;gt; funds, then later they will put in more funds and thus open new channels,&lt;br/&gt;&amp;gt; hopefully using this algorithm so that other people who come in later will&lt;br/&gt;&amp;gt; also get new channels to them: the first channels people make will&lt;br/&gt;&amp;gt; (eventually) not be in the neighborhood later on, but since they will open&lt;br/&gt;&amp;gt; new channels later those will adapt to new neighborhoods of the larger&lt;br/&gt;&amp;gt; network graph.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe the main benefit of the algorithm I describe is that it flattens&lt;br/&gt;&amp;gt; the number of channels a node will have and reduces centralization&lt;br/&gt;&amp;gt; (although I believe roasbeef argues that centralization at the LN layer is&lt;br/&gt;&amp;gt; relatively unimportant?).  If each node opens two channels to two different&lt;br/&gt;&amp;gt; nodes, pure random selection will by chance award a few lucky nodes with 3&lt;br/&gt;&amp;gt; or 4 or 5 or more incoming channels while about 1/4 of nodes will have no&lt;br/&gt;&amp;gt; channels incoming, but this algorithm will force all nodes to have exactly&lt;br/&gt;&amp;gt; two incoming and two outgoing channels, while having similar reachability&lt;br/&gt;&amp;gt; as random selection.  Of course, that assumes everyone already knows the&lt;br/&gt;&amp;gt; entire network beforehand, and the issue of new nodes coming in is absent.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Were it not for the privacy goals, dynamic optimization based on actual&lt;br/&gt;&amp;gt; usage would be possible. Nodes could track the routes of payments that flow&lt;br/&gt;&amp;gt; through their channels and could spot fees that seem both large and&lt;br/&gt;&amp;gt; popular, and could use this information to identify under-served nodes to&lt;br/&gt;&amp;gt; which a direct channel might be in order. If we allowed nodes to see two&lt;br/&gt;&amp;gt; hops of the route instead of just the one, then such optimization would&lt;br/&gt;&amp;gt; become possible, although this compromise would require longer minimum&lt;br/&gt;&amp;gt; routes for a given level of privacy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Intermediate nodes already know two hops?  The incoming and outgoing hop?&lt;br/&gt;&amp;gt; Or do you need more information?&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;-------------- 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/20180420/ab47485a/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180420/ab47485a/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:15&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8fl92vjfzcg9vz4dvmrnusajuk8qu6nysw35nzuw60dj69g4w4cczyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzt8psqc</id>
    
      <title type="html">📅 Original date posted:2018-04-19 📝 Original message: Hello ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8fl92vjfzcg9vz4dvmrnusajuk8qu6nysw35nzuw60dj69g4w4cczyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzt8psqc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspkgd964aq50sdgrctm2rll9u2y594hk6305fn8zmvajydsslnyccf6jgj2&#39;&gt;nevent1q…jgj2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-19&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;I think there are two distinct concepts here. The first is the&lt;br/&gt;identification of a &amp;#39;neighborhood&amp;#39;, and the second is the establishment of&lt;br/&gt;an order within that neighborhood for purpose of cycle formation.&lt;br/&gt;&lt;br/&gt;Your use of bloom filters to define a neighborhood, is I think the most&lt;br/&gt;valuable contribution. Formation of neighborhoods with high connectivity,&lt;br/&gt;with sparse but redundant connections among these neighborhoods, does seem&lt;br/&gt;like an economically efficient approach to maintaining useful competition&lt;br/&gt;and redundancy. If there are any graph theorists or category theorists on&lt;br/&gt;the list, perhaps they could offer some formal validation or optimization.&lt;br/&gt;For this, I prefer your March 23 proposal over March 24, I&amp;#39;m curious what&lt;br/&gt;improvement is intended in March 24 vs 23?&lt;br/&gt;&lt;br/&gt;The emergent definition and maintenance of a unique ordering for cycle&lt;br/&gt;establishment within a neighborhood is, I think, a much more ambitious&lt;br/&gt;undertaking. I&amp;#39;m not sure how we efficiently make that robust in a dynamic&lt;br/&gt;context, except perhaps with interactive coordination among the members&lt;br/&gt;operating off something other than just static global data. Otherwise&lt;br/&gt;different members would have different ideas about cycle order, depending&lt;br/&gt;on when they first joined. I also don&amp;#39;t see how cycles recover when someone&lt;br/&gt;leaves.&lt;br/&gt;&lt;br/&gt;As people come and go, cycles will break. As the lightning network grows&lt;br/&gt;overall, neighborhoods identified by one setting of the bloom filter will&lt;br/&gt;become undesirably large. Perhaps a less ambitious but more robust&lt;br/&gt;heuristic would be one where probability of establishing a channel is&lt;br/&gt;proportional to the number of bits in common in the pubkey hash, normalized&lt;br/&gt;by the number of nodes currently observed? This heuristic would&lt;br/&gt;automatically adjust granularity over time as lightning membership grows&lt;br/&gt;and shrinks. Nodes could periodically reevaluate their channel allocations&lt;br/&gt;as the overall network grows or shrinks.&lt;br/&gt;&lt;br/&gt;Were it not for the privacy goals, dynamic optimization based on actual&lt;br/&gt;usage would be possible. Nodes could track the routes of payments that flow&lt;br/&gt;through their channels and could spot fees that seem both large and&lt;br/&gt;popular, and could use this information to identify under-served nodes to&lt;br/&gt;which a direct channel might be in order. If we allowed nodes to see two&lt;br/&gt;hops of the route instead of just the one, then such optimization would&lt;br/&gt;become possible, although this compromise would require longer minimum&lt;br/&gt;routes for a given level of privacy.&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Ben&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Wed, Apr 18, 2018 at 10:04 PM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Benjamin,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rusty simulated an older version of my idea here; C code near the end of&lt;br/&gt;&amp;gt; the message: &lt;a href=&#34;https://lists.ozlabs.org/pipermail/c-lightning/2018-&#34;&gt;https://lists.ozlabs.org/pipermail/c-lightning/2018-&lt;/a&gt;&lt;br/&gt;&amp;gt; April/000029.html&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However this has a bug: I specify that:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;If the candidate already has a channel with us, or has no address info and&lt;br/&gt;&amp;gt; &amp;gt;cannot be found by DNS seed or so on, or cannot be contacted, or refuses&lt;br/&gt;&amp;gt; &amp;gt;incoming channels or some other error, then increment i and try finding again.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The code there does not implement the check &amp;#34;if the candidate has a&lt;br/&gt;&amp;gt; channel with us&amp;#34;, leading to smaller reachability since nodes who could&lt;br/&gt;&amp;gt; afford to create multiple channels will create multiple channels to the&lt;br/&gt;&amp;gt; same peer in the simulation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A naive analysis suggests that if only one node in the entire network uses&lt;br/&gt;&amp;gt; the algorithm I described, it should be indistinguishable from a random&lt;br/&gt;&amp;gt; connection policy, so a naive analysis suggests that something has gone&lt;br/&gt;&amp;gt; wrong if the reachability of this algorithm is significantly less than the&lt;br/&gt;&amp;gt; reachability of a random connection algorithm.  The simulation also does&lt;br/&gt;&amp;gt; not consider that existing nodes may break old channels or make new&lt;br/&gt;&amp;gt; channels themselves; it is not certain how often that happens on the real&lt;br/&gt;&amp;gt; network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; On April 19, 2018 7:56 AM, Benjamin Mord &amp;lt;ben at mord.family&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Elegant idea.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there a simulation platform yet for experimenting with ideas such as&lt;br/&gt;&amp;gt; this? I imagine it may sometimes be useful to empirically test aggregate&lt;br/&gt;&amp;gt; effects of different routing heuristics, however naive or artificial the&lt;br/&gt;&amp;gt; underlying assumptions may need to be.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there an API, perhaps implementation agnostic, to separate such&lt;br/&gt;&amp;gt; strategies from the protocol itself?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there a place yet to specify such heuristics where tight coordination&lt;br/&gt;&amp;gt; on details are of mutual benefit, such as a bolt?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sat, Mar 24, 2018, 8:08 AM ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;&amp;gt; lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I have decided on a better termination condition for searching for a&lt;br/&gt;&amp;gt;&amp;gt; cyclic superhub.  I re-describe below the algorithm:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Start with `i` = 0 and a set of known nodes, including our own node.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Iterate over `i`:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Compute hash = H(i || pubkey) for each node. H = RIPEMD160 . SHA256,&lt;br/&gt;&amp;gt;&amp;gt; serialize `i` as a big-endian 32-bit number.  Also compute our_hash = H(i&lt;br/&gt;&amp;gt;&amp;gt; || our_pubkey) for our self.  Put this in a working set.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Iterate over bits (start with the 7th bit (128) of the first byte):&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - - Split the working set into two sets, the matching set and the&lt;br/&gt;&amp;gt;&amp;gt; non-matching set, where the bit in the hash matches the bit in our_hash.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - - If the non-matching set is empty, skip to the next bit.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - - If the matching set is 1 or 2 members, or the non-matching set is 1&lt;br/&gt;&amp;gt;&amp;gt; or 2 members, merge the two sets together into the working set and exit&lt;br/&gt;&amp;gt;&amp;gt; this loop: we have found a cyclic superhub.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - - else set the working set to the matching set.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Sort the set according to the hash (treat the hash as a 160-bit&lt;br/&gt;&amp;gt;&amp;gt; big-endian number).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - We should open a channel to the node after us in the sorted list; if we&lt;br/&gt;&amp;gt;&amp;gt; are the last, wrap around to the first node in the list.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt;&amp;gt; On March 23, 2018 11:29 PM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Igor Cota has started implementing my idea: &lt;a href=&#34;https://github.com/icota/&#34;&gt;https://github.com/icota/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; presto/commit/3311785e660d840f0ac8f2e333d0f0097aec980e&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This forced me to actually start thinking more deeply about the algorithm&lt;br/&gt;&amp;gt;&amp;gt; I gave.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1.  We should use a well-used hash algorithm, such as RIPEMD160(SHA256(x))&lt;br/&gt;&amp;gt;&amp;gt; 2.  We should specify the size of `i` - 32-bits, 4 bytes - and indicate&lt;br/&gt;&amp;gt;&amp;gt; its endianness.  Let us use big-endian, as is typical for the rest of&lt;br/&gt;&amp;gt;&amp;gt; Lightning and for network order.&lt;br/&gt;&amp;gt;&amp;gt; 3.  My original algorithm had a significant probability of diverging.  So&lt;br/&gt;&amp;gt;&amp;gt; I respecify the termination condition later.&lt;br/&gt;&amp;gt;&amp;gt; 4.  Our own node should be part of the original working set.&lt;br/&gt;&amp;gt;&amp;gt; 5.  In the decimation loop, start with the highest bit.  This is the&lt;br/&gt;&amp;gt;&amp;gt; 7-index bit (1 &amp;lt;&amp;lt; 7) of the first byte in the 20-byte hash (we treat the&lt;br/&gt;&amp;gt;&amp;gt; hash as a big-endian 160-bit number).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The modified termination condition for the decimation loop is below:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; * If the working set is 7 nodes or more, decimate (i.e. match the next&lt;br/&gt;&amp;gt;&amp;gt; bit in the hashes and remove those that do not match our own hash in that&lt;br/&gt;&amp;gt;&amp;gt; bit.).&lt;br/&gt;&amp;gt;&amp;gt; * If the working set is 3 to 6 nodes, stop, that is now the members of&lt;br/&gt;&amp;gt;&amp;gt; the superhub and we then sort them by hash and decide our position in the&lt;br/&gt;&amp;gt;&amp;gt; superhub (who will channel to us and who we will channel to).&lt;br/&gt;&amp;gt;&amp;gt; * If the working set is 1 or 2 nodes, fail to form a superhub.  Increment&lt;br/&gt;&amp;gt;&amp;gt; `i` and restart.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt;&amp;gt; On March 20, 2018 11:19 AM, ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As my award-winning and supremely notable and talked-about-by-the-man-on-the-street&lt;br/&gt;&amp;gt;&amp;gt; article &amp;#34;Cyclic Superhubs as Solution Towards Reasonable Lightning Network&lt;br/&gt;&amp;gt;&amp;gt; Topography&amp;#34; points out, cycles are a good way to organize the LN in order&lt;br/&gt;&amp;gt;&amp;gt; to allow easier accessibility to the network for all participants of all&lt;br/&gt;&amp;gt;&amp;gt; kinds.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; An issue here is the need for coordination in order to set up cyclic&lt;br/&gt;&amp;gt;&amp;gt; superhubs.  A node acting by itself cannot form cyclic superhubs.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; However, one can consider that coordination is needed only to identify&lt;br/&gt;&amp;gt;&amp;gt; peers with which one forms superhubs.  But we already have a system that&lt;br/&gt;&amp;gt;&amp;gt; identifies peers: the node gossip.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; So let us assume: All nodes have similar-enough views of the&lt;br/&gt;&amp;gt;&amp;gt; publicly-visible peers on the node graph, as built by node gossip.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I now present an algorithm, which given a set of nodes extracted from&lt;br/&gt;&amp;gt;&amp;gt; node gossip, returns a peer to try connecting and funding a channel to.&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; First, start with a 32-bit number i = 0.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For each node, get hash = H(i || pubkey), where H is some standard hash&lt;br/&gt;&amp;gt;&amp;gt; algorithm, and pubkey is the public key of the node.  Also get our_hash =&lt;br/&gt;&amp;gt;&amp;gt; H(i || our_pubkey)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Perform successive filtering.  While the set is larger than 2 nodes,&lt;br/&gt;&amp;gt;&amp;gt; successively compare high bits.  If the highest bit of hash does not match&lt;br/&gt;&amp;gt;&amp;gt; the highest bit of our_hash, remove it from the set.  If the resulting set&lt;br/&gt;&amp;gt;&amp;gt; is still larger than 2, match the next bit.  When the set is now 2 or 1&lt;br/&gt;&amp;gt;&amp;gt; node, back off by one bit and add back the most recently removed nodes.&lt;br/&gt;&amp;gt;&amp;gt; This yields a set that is at least 3 or more nodes.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sort the nodes according to hash.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Identify where our node is in the sorted list.  Then our candidate is the&lt;br/&gt;&amp;gt;&amp;gt; next node in the list, or if we are the last node, then the first node in&lt;br/&gt;&amp;gt;&amp;gt; the list.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If the candidate already has a channel with us, or has no address info&lt;br/&gt;&amp;gt;&amp;gt; and cannot be found by DNS seed or so on, or cannot be contacted, or&lt;br/&gt;&amp;gt;&amp;gt; refuses incoming channels or some other error, then increment i and try&lt;br/&gt;&amp;gt;&amp;gt; finding again.&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; Even if nodes have some divergence in their own local maps of the&lt;br/&gt;&amp;gt;&amp;gt; network, there is the chance that the difference will be filtered away and&lt;br/&gt;&amp;gt;&amp;gt; the nodes that are &amp;#34;destined&amp;#34; to form a superhub can still find each other&lt;br/&gt;&amp;gt;&amp;gt; in the same superhub.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Assuming all nodes have the same routemap, then all nodes will form their&lt;br/&gt;&amp;gt;&amp;gt; own, non-overlapping superhubs for each i.  However if some nodes get to&lt;br/&gt;&amp;gt;&amp;gt; increment i, hopefully because it already has a channel with its destined&lt;br/&gt;&amp;gt;&amp;gt; candidate peer at one value of i, it can then potentially form superhubs&lt;br/&gt;&amp;gt;&amp;gt; with other nodes that have also reached higher i.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;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;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180419/a12578c3/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180419/a12578c3/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:14&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqucsemzq6apklqq7rvppez2a7t6wy8kyktl29t4dfg5w9gs7fy7qzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzv330vl</id>
    
      <title type="html">📅 Original date posted:2018-04-18 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqucsemzq6apklqq7rvppez2a7t6wy8kyktl29t4dfg5w9gs7fy7qzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzv330vl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv3hnj8aj0vy5j8hd5e6ldun7wnruwjes73jjxlwuefz6j49738dqmuy2mc&#39;&gt;nevent1q…y2mc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-18&lt;br/&gt;📝 Original message:&lt;br/&gt;Elegant idea.&lt;br/&gt;&lt;br/&gt;Is there a simulation platform yet for experimenting with ideas such as&lt;br/&gt;this? I imagine it may sometimes be useful to empirically test aggregate&lt;br/&gt;effects of different routing heuristics, however naive or artificial the&lt;br/&gt;underlying assumptions may need to be.&lt;br/&gt;&lt;br/&gt;Is there an API, perhaps implementation agnostic, to separate such&lt;br/&gt;strategies from the protocol itself?&lt;br/&gt;&lt;br/&gt;Is there a place yet to specify such heuristics where tight coordination on&lt;br/&gt;details are of mutual benefit, such as a bolt?&lt;br/&gt;&lt;br/&gt;On Sat, Mar 24, 2018, 8:08 AM ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I have decided on a better termination condition for searching for a&lt;br/&gt;&amp;gt; cyclic superhub.  I re-describe below the algorithm:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Start with `i` = 0 and a set of known nodes, including our own node.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Iterate over `i`:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Compute hash = H(i || pubkey) for each node. H = RIPEMD160 . SHA256,&lt;br/&gt;&amp;gt; serialize `i` as a big-endian 32-bit number.  Also compute our_hash = H(i&lt;br/&gt;&amp;gt; || our_pubkey) for our self.  Put this in a working set.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Iterate over bits (start with the 7th bit (128) of the first byte):&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - - Split the working set into two sets, the matching set and the&lt;br/&gt;&amp;gt; non-matching set, where the bit in the hash matches the bit in our_hash.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - - If the non-matching set is empty, skip to the next bit.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - - If the matching set is 1 or 2 members, or the non-matching set is 1 or&lt;br/&gt;&amp;gt; 2 members, merge the two sets together into the working set and exit this&lt;br/&gt;&amp;gt; loop: we have found a cyclic superhub.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - - else set the working set to the matching set.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Sort the set according to the hash (treat the hash as a 160-bit&lt;br/&gt;&amp;gt; big-endian number).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - We should open a channel to the node after us in the sorted list; if we&lt;br/&gt;&amp;gt; are the last, wrap around to the first node in the list.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; On March 23, 2018 11:29 PM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Igor Cota has started implementing my idea:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/icota/presto/commit/3311785e660d840f0ac8f2e333d0f0097aec980e&#34;&gt;https://github.com/icota/presto/commit/3311785e660d840f0ac8f2e333d0f0097aec980e&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This forced me to actually start thinking more deeply about the algorithm&lt;br/&gt;&amp;gt; I gave.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1.  We should use a well-used hash algorithm, such as RIPEMD160(SHA256(x))&lt;br/&gt;&amp;gt; 2.  We should specify the size of `i` - 32-bits, 4 bytes - and indicate&lt;br/&gt;&amp;gt; its endianness.  Let us use big-endian, as is typical for the rest of&lt;br/&gt;&amp;gt; Lightning and for network order.&lt;br/&gt;&amp;gt; 3.  My original algorithm had a significant probability of diverging.  So&lt;br/&gt;&amp;gt; I respecify the termination condition later.&lt;br/&gt;&amp;gt; 4.  Our own node should be part of the original working set.&lt;br/&gt;&amp;gt; 5.  In the decimation loop, start with the highest bit.  This is the&lt;br/&gt;&amp;gt; 7-index bit (1 &amp;lt;&amp;lt; 7) of the first byte in the 20-byte hash (we treat the&lt;br/&gt;&amp;gt; hash as a big-endian 160-bit number).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The modified termination condition for the decimation loop is below:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * If the working set is 7 nodes or more, decimate (i.e. match the next bit&lt;br/&gt;&amp;gt; in the hashes and remove those that do not match our own hash in that bit.).&lt;br/&gt;&amp;gt; * If the working set is 3 to 6 nodes, stop, that is now the members of the&lt;br/&gt;&amp;gt; superhub and we then sort them by hash and decide our position in the&lt;br/&gt;&amp;gt; superhub (who will channel to us and who we will channel to).&lt;br/&gt;&amp;gt; * If the working set is 1 or 2 nodes, fail to form a superhub.  Increment&lt;br/&gt;&amp;gt; `i` and restart.&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; On March 20, 2018 11:19 AM, ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;&amp;gt; lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As my award-winning and supremely notable and&lt;br/&gt;&amp;gt; talked-about-by-the-man-on-the-street article &amp;#34;Cyclic Superhubs as Solution&lt;br/&gt;&amp;gt; Towards Reasonable Lightning Network Topography&amp;#34; points out, cycles are a&lt;br/&gt;&amp;gt; good way to organize the LN in order to allow easier accessibility to the&lt;br/&gt;&amp;gt; network for all participants of all kinds.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An issue here is the need for coordination in order to set up cyclic&lt;br/&gt;&amp;gt; superhubs.  A node acting by itself cannot form cyclic superhubs.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, one can consider that coordination is needed only to identify&lt;br/&gt;&amp;gt; peers with which one forms superhubs.  But we already have a system that&lt;br/&gt;&amp;gt; identifies peers: the node gossip.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So let us assume: All nodes have similar-enough views of the&lt;br/&gt;&amp;gt; publicly-visible peers on the node graph, as built by node gossip.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I now present an algorithm, which given a set of nodes extracted from node&lt;br/&gt;&amp;gt; gossip, returns a peer to try connecting and funding a channel to.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; First, start with a 32-bit number i = 0.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For each node, get hash = H(i || pubkey), where H is some standard hash&lt;br/&gt;&amp;gt; algorithm, and pubkey is the public key of the node.  Also get our_hash =&lt;br/&gt;&amp;gt; H(i || our_pubkey)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Perform successive filtering.  While the set is larger than 2 nodes,&lt;br/&gt;&amp;gt; successively compare high bits.  If the highest bit of hash does not match&lt;br/&gt;&amp;gt; the highest bit of our_hash, remove it from the set.  If the resulting set&lt;br/&gt;&amp;gt; is still larger than 2, match the next bit.  When the set is now 2 or 1&lt;br/&gt;&amp;gt; node, back off by one bit and add back the most recently removed nodes.&lt;br/&gt;&amp;gt; This yields a set that is at least 3 or more nodes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sort the nodes according to hash.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Identify where our node is in the sorted list.  Then our candidate is the&lt;br/&gt;&amp;gt; next node in the list, or if we are the last node, then the first node in&lt;br/&gt;&amp;gt; the list.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If the candidate already has a channel with us, or has no address info and&lt;br/&gt;&amp;gt; cannot be found by DNS seed or so on, or cannot be contacted, or refuses&lt;br/&gt;&amp;gt; incoming channels or some other error, then increment i and try finding&lt;br/&gt;&amp;gt; again.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ---&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Even if nodes have some divergence in their own local maps of the network,&lt;br/&gt;&amp;gt; there is the chance that the difference will be filtered away and the nodes&lt;br/&gt;&amp;gt; that are &amp;#34;destined&amp;#34; to form a superhub can still find each other in the&lt;br/&gt;&amp;gt; same superhub.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Assuming all nodes have the same routemap, then all nodes will form their&lt;br/&gt;&amp;gt; own, non-overlapping superhubs for each i.  However if some nodes get to&lt;br/&gt;&amp;gt; increment i, hopefully because it already has a channel with its destined&lt;br/&gt;&amp;gt; candidate peer at one value of i, it can then potentially form superhubs&lt;br/&gt;&amp;gt; with other nodes that have also reached higher i.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180418/067b809c/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180418/067b809c/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdruf40u8x0ejz6ppzm90sf6auqv7xrrjj2qn2hng73ahzccfyc0czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz3v37m5</id>
    
      <title type="html">📅 Original date posted:2018-04-13 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdruf40u8x0ejz6ppzm90sf6auqv7xrrjj2qn2hng73ahzccfyc0czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz3v37m5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyj23f3tj7cwstmq5wgzt7hkxq3f0aq0cecy8h3at2zfuf3ax8g0cxhqa77&#39;&gt;nevent1q…qa77&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-13&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;As a skeptic of discrete logarithm&amp;#39;s long-term security, I view scriptless&lt;br/&gt;scripts as dangerously seductive. (But wow, are they cool! Almost cool&lt;br/&gt;enough to wish we could uninvent quantum computing. I wonder if R-LWE can&lt;br/&gt;be used instead as foundation? Not that I expect R-LWE to hold long-term&lt;br/&gt;either...) But I digress.&lt;br/&gt;&lt;br/&gt;As I listen to all the work starting up in the legacy financial markets to&lt;br/&gt;mitigate the likely future failure of LIBOR, given how little thought went&lt;br/&gt;into that possibility in the writing of currently-traded derivative&lt;br/&gt;contracts, I&amp;#39;m reminded of how important and also how possible it is to&lt;br/&gt;think about short and long-term goals simultaneously as we build systems.&lt;br/&gt;It is far easier now than it will soon be to add expressiveness into the&lt;br/&gt;core protocol, such as negative fees and optional exponential component.&lt;br/&gt;Just because we pragmatically ignore negative fees and exponents in routing&lt;br/&gt;decisions today, does not mean we will not feel enormous need for them in&lt;br/&gt;the future - and having the ability to express such fee structures now will&lt;br/&gt;enable efficiency improvements in the future, as simple implementation&lt;br/&gt;(rather than protocol) upgrades.&lt;br/&gt;&lt;br/&gt;I recognize AMP (at least as you proposed) is a long way out, but it seems&lt;br/&gt;like something we&amp;#39;ll inevitably want and will surely add. It is therefore&lt;br/&gt;worth assuming now, as we think strategically about how fee dynamics will&lt;br/&gt;improve efficiency over time. Who knows, my skepticism of discrete&lt;br/&gt;logarithm hardness may prove misplaced, or else we&amp;#39;ll find other ways to&lt;br/&gt;achieve AMP. (I have not read roasbeef&amp;#39;s proposal, but I shall.) The&lt;br/&gt;protocol does not presently allow an exponential component, but it would be&lt;br/&gt;trivial to add (even if, at first, defaulted to 1).&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Ben&lt;br/&gt;&lt;br/&gt;On Fri, Apr 13, 2018 at 9:26 AM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Benjamin,&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; Sent with ProtonMail &amp;lt;&lt;a href=&#34;https://protonmail.com&amp;gt&#34;&gt;https://protonmail.com&amp;gt&lt;/a&gt;; Secure Email.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐&lt;br/&gt;&amp;gt; On April 13, 2018 4:37 AM, Benjamin Mord &amp;lt;ben at mord.io&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thank you, ZmnSCPxj.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;#34;... by adjusting the on-Lightning `fee_base_msat` and&lt;br/&gt;&amp;gt; `fee_proportional_millionths` of channels.&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, I agree these prices are a critical signaling mechanism that can have&lt;br/&gt;&amp;gt; substantial impact on expected channel lifetime and thus economic&lt;br/&gt;&amp;gt; efficiency of lightning operation overall. (As you may recall, I believe we&lt;br/&gt;&amp;gt; should allow negative prices - even if present day routing algorithms&lt;br/&gt;&amp;gt; choose to treat negative fees as zero for temporary simplicity.) You make&lt;br/&gt;&amp;gt; a good point it can also improve routing efficiency by hinting at capacity,&lt;br/&gt;&amp;gt; but for now they are unfortunately linear.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The following paper did not account for the improved efficiency that price&lt;br/&gt;&amp;gt; adjustment in response to channel state will likely enable, but one thing&lt;br/&gt;&amp;gt; which may be relevant here is the underlying power law assumption of&lt;br/&gt;&amp;gt; transaction size distribution (which is apparently drawn from actual data),&lt;br/&gt;&amp;gt; and the more general approach to estimating channel lifespan. In lieu of&lt;br/&gt;&amp;gt; advertising max capacity, perhaps we should instead permit a price exponent&lt;br/&gt;&amp;gt; which may optionally be set to something larger than 1. The cost to channel&lt;br/&gt;&amp;gt; operator of processing a transaction is largely the impact to expected&lt;br/&gt;&amp;gt; channel lifespan, which in turn is nonlinear with respect to transaction&lt;br/&gt;&amp;gt; size - and dramatically so as transaction size approaches (or exceeds)&lt;br/&gt;&amp;gt; remaining capacity.&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://arxiv.org/pdf/1712.10222.pdf&#34;&gt;https://arxiv.org/pdf/1712.10222.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Larger payments also have a much lower chance of successfully propagating&lt;br/&gt;&amp;gt; through the network, as every channel in its route needs to have the&lt;br/&gt;&amp;gt; requisite capacity, so I think it somewhat balances out (maybe).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Adding a nonlinear component would be difficult to add on to the protocol&lt;br/&gt;&amp;gt; currently, as I think there is no provision for it in the protocol.  But&lt;br/&gt;&amp;gt; maybe I am incorrect..?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If we combine nonlinear pricing with your March 19 AMP proposal, I expect&lt;br/&gt;&amp;gt; economic efficiency could be greatly improved.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My AMP proposal cannot work soon.  It requires at minimum for&lt;br/&gt;&amp;gt; Bellare-Neven/MuSig/Schnorr (I get confused, which is the proper name for&lt;br/&gt;&amp;gt; this) signatures to be added to Bitcoin to get HD&#43;SS.  Then we need to&lt;br/&gt;&amp;gt; switch over all implementations to using scriptless script contingent&lt;br/&gt;&amp;gt; payments rather than hashlocked contingent payments (and convince all&lt;br/&gt;&amp;gt; network node operators to upgrade); we will be unable to use an&lt;br/&gt;&amp;gt; intermediate node that does not understand SS contingent payments for my&lt;br/&gt;&amp;gt; style of AMP.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The earlier AMP proposal by roasbeef is back-compatible (uses the same&lt;br/&gt;&amp;gt; hashlocked contingent payments we already use now), but does not support a&lt;br/&gt;&amp;gt; proof-of-payment compatible with ZKCP protocols (although possibly I am&lt;br/&gt;&amp;gt; wrong, I think roasbeef has mentioned before that it is ZKCP compatible).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks again,&lt;br/&gt;&amp;gt; Benjamin Mord&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Apr 12, 2018 at 12:49 AM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt;&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning Benjamin,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Do (should) channels have the option of publicizing their balances, so as&lt;br/&gt;&amp;gt;&amp;gt; to improve routing performance / scalability in a large network, and for&lt;br/&gt;&amp;gt;&amp;gt; competitive differentiation among competing routes? This would allow&lt;br/&gt;&amp;gt;&amp;gt; channel owners to balance privacy with efficiency, and where the incentive&lt;br/&gt;&amp;gt;&amp;gt; to publish would go up in proportion to network scalability requirements.&lt;br/&gt;&amp;gt;&amp;gt; Brute force trial &amp;amp; error seems expensive at scale, and also reduces&lt;br/&gt;&amp;gt;&amp;gt; privacy of the sender - so it seems a useful hedge to leave this decision&lt;br/&gt;&amp;gt;&amp;gt; to the market (if technically practical).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think brute-force scales well enough, but perhaps we should see the&lt;br/&gt;&amp;gt;&amp;gt; network in action more.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; To an extent, it is possible to hint the suitability of a channel for&lt;br/&gt;&amp;gt;&amp;gt; routing in a particular direction, without completely leaking your balance&lt;br/&gt;&amp;gt;&amp;gt; in detail, by adjusting the on-Lightning `fee_base_msat` and&lt;br/&gt;&amp;gt;&amp;gt; `fee_proportional_millionths` of channels.  If you have a high balance on a&lt;br/&gt;&amp;gt;&amp;gt; channel, you reduce your side of the fee for that channel (i.e. the&lt;br/&gt;&amp;gt;&amp;gt; direction where you are the source for payments on that channel) to&lt;br/&gt;&amp;gt;&amp;gt; encourage others to use it and hopefully pay you on a depleted channel.  If&lt;br/&gt;&amp;gt;&amp;gt; you have a low balance, you increase your fee.  These fees are already&lt;br/&gt;&amp;gt;&amp;gt; propagated using `channel_update`.  No current node software implements&lt;br/&gt;&amp;gt;&amp;gt; this yet, however.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180413/c35af87b/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180413/c35af87b/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszp47uzvturxquzs0pwhs0gwej4unn6jlsd8ap99lwaqynp8rkk8qzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwztfeg4j</id>
    
      <title type="html">📅 Original date posted:2018-04-12 📝 Original message: Thank ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszp47uzvturxquzs0pwhs0gwej4unn6jlsd8ap99lwaqynp8rkk8qzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwztfeg4j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8na8jxxe3mcftlpsyjp5vaufefm5hf73qpvyczp908tzpjh7euaggnk28v&#39;&gt;nevent1q…k28v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-12&lt;br/&gt;📝 Original message:&lt;br/&gt;Thank you, ZmnSCPxj.&lt;br/&gt;&lt;br/&gt;&amp;#34;... by adjusting the on-Lightning `fee_base_msat` and&lt;br/&gt;`fee_proportional_millionths` of channels.&amp;#34;&lt;br/&gt;&lt;br/&gt;Yes, I agree these prices are a critical signaling mechanism that can have&lt;br/&gt;substantial impact on expected channel lifetime and thus economic&lt;br/&gt;efficiency of lightning operation overall. (As you may recall, I believe we&lt;br/&gt;should allow negative prices - even if present day routing algorithms&lt;br/&gt;choose to treat negative fees as zero for temporary simplicity.) You make a&lt;br/&gt;good point it can also improve routing efficiency by hinting at capacity,&lt;br/&gt;but for now they are unfortunately linear.&lt;br/&gt;&lt;br/&gt;The following paper did not account for the improved efficiency that price&lt;br/&gt;adjustment in response to channel state will likely enable, but one thing&lt;br/&gt;which may be relevant here is the underlying power law assumption of&lt;br/&gt;transaction size distribution (which is apparently drawn from actual data),&lt;br/&gt;and the more general approach to estimating channel lifespan. In lieu of&lt;br/&gt;advertising max capacity, perhaps we should instead permit a price exponent&lt;br/&gt;which may optionally be set to something larger than 1. The cost to channel&lt;br/&gt;operator of processing a transaction is largely the impact to expected&lt;br/&gt;channel lifespan, which in turn is nonlinear with respect to transaction&lt;br/&gt;size - and dramatically so as transaction size approaches (or exceeds)&lt;br/&gt;remaining capacity.&lt;br/&gt;&lt;a href=&#34;https://arxiv.org/pdf/1712.10222.pdf&#34;&gt;https://arxiv.org/pdf/1712.10222.pdf&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;If we combine nonlinear pricing with your March 19 AMP proposal, I expect&lt;br/&gt;economic efficiency could be greatly improved.&lt;br/&gt;&lt;br/&gt;Thanks again,&lt;br/&gt;Benjamin Mord&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Thu, Apr 12, 2018 at 12:49 AM, ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Benjamin,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Do (should) channels have the option of publicizing their balances, so as&lt;br/&gt;&amp;gt; to improve routing performance / scalability in a large network, and for&lt;br/&gt;&amp;gt; competitive differentiation among competing routes? This would allow&lt;br/&gt;&amp;gt; channel owners to balance privacy with efficiency, and where the incentive&lt;br/&gt;&amp;gt; to publish would go up in proportion to network scalability requirements.&lt;br/&gt;&amp;gt; Brute force trial &amp;amp; error seems expensive at scale, and also reduces&lt;br/&gt;&amp;gt; privacy of the sender - so it seems a useful hedge to leave this decision&lt;br/&gt;&amp;gt; to the market (if technically practical).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think brute-force scales well enough, but perhaps we should see the&lt;br/&gt;&amp;gt; network in action more.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To an extent, it is possible to hint the suitability of a channel for&lt;br/&gt;&amp;gt; routing in a particular direction, without completely leaking your balance&lt;br/&gt;&amp;gt; in detail, by adjusting the on-Lightning `fee_base_msat` and&lt;br/&gt;&amp;gt; `fee_proportional_millionths` of channels.  If you have a high balance on a&lt;br/&gt;&amp;gt; channel, you reduce your side of the fee for that channel (i.e. the&lt;br/&gt;&amp;gt; direction where you are the source for payments on that channel) to&lt;br/&gt;&amp;gt; encourage others to use it and hopefully pay you on a depleted channel.  If&lt;br/&gt;&amp;gt; you have a low balance, you increase your fee.  These fees are already&lt;br/&gt;&amp;gt; propagated using `channel_update`.  No current node software implements&lt;br/&gt;&amp;gt; this yet, however.&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;-------------- 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/20180412/d4d4baee/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180412/d4d4baee/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:50:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxh4sjmz4lchwd0wlmrpfzya78x67j75scyrdcg7de7cty2kxa4zgzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz5ddf27</id>
    
      <title type="html">📅 Original date posted:2018-04-11 📝 Original message: Do ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxh4sjmz4lchwd0wlmrpfzya78x67j75scyrdcg7de7cty2kxa4zgzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwz5ddf27" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs99q29jpmwlmq80kx6xuzp46tetu9xxpg7m6he8nprhqjdttulahcnegejr&#39;&gt;nevent1q…gejr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-04-11&lt;br/&gt;📝 Original message:&lt;br/&gt;Do (should) channels have the option of publicizing their balances, so as&lt;br/&gt;to improve routing performance / scalability in a large network, and for&lt;br/&gt;competitive differentiation among competing routes? This would allow&lt;br/&gt;channel owners to balance privacy with efficiency, and where the incentive&lt;br/&gt;to publish would go up in proportion to network scalability requirements.&lt;br/&gt;Brute force trial &amp;amp; error seems expensive at scale, and also reduces&lt;br/&gt;privacy of the sender - so it seems a useful hedge to leave this decision&lt;br/&gt;to the market (if technically practical).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Wed, Apr 11, 2018 at 5:17 AM, ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Alejandro,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; No, channel balance of each peer on the channel is not revealed on node&lt;br/&gt;&amp;gt; gossip.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Logically, invert the question: do you want to report how much you&lt;br/&gt;&amp;gt; spend/receive on each of your channels to the network? Do you want to&lt;br/&gt;&amp;gt; report how much you own on Lightning to be reported to everyone on&lt;br/&gt;&amp;gt; Lightning?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Since the balance on each peer is effectively the amount of money each&lt;br/&gt;&amp;gt; peer owns on that channel, and each change to that balance represents a&lt;br/&gt;&amp;gt; send/receive on that channel, you will not want to report your balance, and&lt;br/&gt;&amp;gt; any changes in that balance, to the entire network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Logically you can then expect not to receive such updates from anybody&lt;br/&gt;&amp;gt; else, either.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; How do real-life implementations like c-lightning get your payment routes&lt;br/&gt;&amp;gt; then?  By brute-force trial-and-error&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If payment routes are discovered by brute-force trial-and-error, and&lt;br/&gt;&amp;gt; actually the sender can interrupt any payment by simply not revealing the&lt;br/&gt;&amp;gt; secret, isn&amp;#39;t it possible for any sender to simply start probing&lt;br/&gt;&amp;gt; to discover the capacities in each path?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes.  Although now the sender risks its funds: if a node along the route&lt;br/&gt;&amp;gt; it selects stalls, then the sender risks having its money locked for some&lt;br/&gt;&amp;gt; blocks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Also, the sender only gets one bit of information to the question: Is the&lt;br/&gt;&amp;gt; channel balance in this direction greater than X?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Finally, the exact failure TEMPORARY_CHANNEL_FAILURE can mean that the&lt;br/&gt;&amp;gt; other node is currently down rather than the channel not having enough&lt;br/&gt;&amp;gt; capacity in that direction, or if there are too many HTLCs in-flight on&lt;br/&gt;&amp;gt; that channel, or so on (the most likely currently seems to be the node is&lt;br/&gt;&amp;gt; currently down rather than the channel balance being insufficient, since it&lt;br/&gt;&amp;gt; seems many people do not leave their nodes running 24/7).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So it is always less desirable than getting the exact channel balances at&lt;br/&gt;&amp;gt; each balance update.  You get degraded privacy, but not a full loss of&lt;br/&gt;&amp;gt; privacy compared to broadcasting all balance updates.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (in particular, if the channel balance changes, you would have to re-query&lt;br/&gt;&amp;gt; the channel again to learn this)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (your technique is flawed in the detail that the sender simply selects a&lt;br/&gt;&amp;gt; destination randomly and a random payment hash, which has negligible&lt;br/&gt;&amp;gt; probability of the randomly-selected destination knowing its preimage, but&lt;br/&gt;&amp;gt; is otherwise sound in its broad strokes)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180411/5d786b71/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180411/5d786b71/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:49:59&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2ndn3xq2ae5spxy2jf347d0juh73v9ayhf2zr4j5a2zhfsezv29czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzmjj67v</id>
    
      <title type="html">📅 Original date posted:2018-01-16 📝 Original message: It ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2ndn3xq2ae5spxy2jf347d0juh73v9ayhf2zr4j5a2zhfsezv29czyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzmjj67v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy4ty5uffq6hv9yj0y08pwy3t59ky3n834eq4gnr4f8z40pg7q5xc07sja9&#39;&gt;nevent1q…sja9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-16&lt;br/&gt;📝 Original message:&lt;br/&gt;It isn&amp;#39;t obvious to me from the BOLTs if fees can be negative, and I&amp;#39;m&lt;br/&gt;finding uint in the go source code - which suggests not. In scenarios where&lt;br/&gt;the funding of a payment channel has been fully committed in one direction,&lt;br/&gt;why not allow negative fees to incent unwinding, in scenarios where nodes&lt;br/&gt;consider that cheaper than on-chain rebalancing?&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/20180116/e91b10db/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180116/e91b10db/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:48:35&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs86yl8u9w9z9dq8fcegl89cudylnjflf99gqu04y3yftdsr9xf7mczyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzt0734z</id>
    
      <title type="html">📅 Original date posted:2018-01-16 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs86yl8u9w9z9dq8fcegl89cudylnjflf99gqu04y3yftdsr9xf7mczyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzt0734z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgdatdp0lkwymd5a7lhpyvp8gf9sc6lurad2makm52jndzytwe04gh2xrhx&#39;&gt;nevent1q…xrhx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-01-16&lt;br/&gt;📝 Original message:&lt;br/&gt;Thanks. It sounds like it was dropped due to difficulty in the routing&lt;br/&gt;protocol. Is that difficulty documented somewhere I can review? If so, I&lt;br/&gt;might take a crack at a solution to it. But regardless I suggest the&lt;br/&gt;protocol should support negative fees, even if an individual routing&lt;br/&gt;implementation prefers to treat as 0 for simplicity. That should be up to&lt;br/&gt;the implementation I think, and not a protocol constraint.&lt;br/&gt;&lt;br/&gt;On Tue, Jan 16, 2018 at 2:58 PM, William Casarin &amp;lt;jb55 at jb55.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Benjamin Mord &amp;lt;ben at mord.io&amp;gt; writes:&lt;br/&gt;&amp;gt; &amp;gt; [..]&lt;br/&gt;&amp;gt; &amp;gt; why not allow negative fees to incent unwinding, in scenarios where nodes&lt;br/&gt;&amp;gt; &amp;gt; consider that cheaper than on-chain rebalancing?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This was brought up before here [1]:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rusty Russell &amp;lt;rusty at rustcorp.com.au&amp;gt; writes:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Edward Marynarz &amp;lt;edziumarynarz at gmail.com&amp;gt; writes:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Another trivial question: can the fee be negative? It might help with&lt;br/&gt;&amp;gt; some&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; channel rebalancing.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;In my original implementation, they could be.  However, that turns out&lt;br/&gt;&amp;gt; &amp;gt;to be a very strange idea, and complicates routing.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/&lt;/a&gt;&lt;br/&gt;&amp;gt; 2017-December/000827.html&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://jb55.com&#34;&gt;https://jb55.com&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180116/79b12b13/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180116/79b12b13/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:48:35&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvp6y6kdak05rxn39h4gwkkjxtag2c6nfxeq35va8skdkt4fj7rnqzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzldfxzl</id>
    
      <title type="html">📅 Original date posted:2017-11-16 📝 Original message: Ivan, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvp6y6kdak05rxn39h4gwkkjxtag2c6nfxeq35va8skdkt4fj7rnqzyrgnphwu6jrpwx78mpejf9yll8cruyke7dzpwsvjjdtf2tfzmxqwzldfxzl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxd7ywg3rxluzkzegf96scyqr9t2hsps07j4pvzpyt8mefdnuh5zq9rvest&#39;&gt;nevent1q…vest&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2017-11-16&lt;br/&gt;📝 Original message:&lt;br/&gt;Ivan,&lt;br/&gt;&lt;br/&gt;That is mostly false, but with bits of truth sprinkled in. Contact me at&lt;br/&gt;ben at mord.io for further discussion so we tread lightly on the lists&amp;#39; email&lt;br/&gt;inboxes. But briefly: scale-capable routing protocols are possible as&lt;br/&gt;demonstrated by IP and thus by the internet itself. As for centralizing&lt;br/&gt;flow through small number of liquidity providers, yes that does seem&lt;br/&gt;economically probable, at least unless / until off-chain channel&lt;br/&gt;rebalancing mechanism (like the recently proposed &amp;#34;revive&amp;#34; protocol) come&lt;br/&gt;about. Bitcoin script is not currently revive-capable but Ethereum is, so&lt;br/&gt;either Bitcoin revive could be enabled via two-way pegged sidechain&lt;br/&gt;protocol with Ethereum, or even better, by a purpose-built (yet still not&lt;br/&gt;Turing-complete) extension to Bitcoin script itself in the future. In&lt;br/&gt;either case the lightning network seems a key first step, and even were&lt;br/&gt;off-chain payment rebalancing not possible for some odd reason, the&lt;br/&gt;lightning network seems extremely valuable and scaleable - regardless&lt;br/&gt;because the centralization you speak is not one that affects safety of the&lt;br/&gt;money supply itself, and these centralized hubs would be more dispensable /&lt;br/&gt;swappable versus the mining centralization risk that people more often talk&lt;br/&gt;about in Bitcoin. Lightning network centralization, even if it persisted&lt;br/&gt;somehow despite revive and future concepts, would not be an existential&lt;br/&gt;risk. As for transaction fees, the idea is only channel setup / tear down&lt;br/&gt;are required greatly reducing fees. Yes if txin fees were millions of&lt;br/&gt;dollars then people could not practically penalize fraud, but that is&lt;br/&gt;unlikely. Even if txin fees made fraud claims marginally unprofitable (yet&lt;br/&gt;practical) that would still be ok - the judicial systems of most countries&lt;br/&gt;prove that people go beyond self-interest when sufficiently ticked, a fact&lt;br/&gt;of human psychology which in turn creates the incentives that support&lt;br/&gt;honest business. (Also please be aware I&amp;#39;m not a lightning code&lt;br/&gt;contributor, so that team might also be doing more to address already than&lt;br/&gt;I thought to mention above.)&lt;br/&gt;&lt;br/&gt;I&amp;#39;ll post more about this on &lt;a href=&#34;http://ben.mord.io&#34;&gt;http://ben.mord.io&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Ben&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Thu, Nov 16, 2017 at 9:26 AM, Ivan Raszl &amp;lt;iraszl at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I came across a thread discussing lightning network on reddit. A comment&lt;br/&gt;&amp;gt; was stating there is an unresolvable issue with the concept of lightning&lt;br/&gt;&amp;gt; network, related to routing. Quoting the comment:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;#34;The problem is, actually scaling and preventing decentralization requires&lt;br/&gt;&amp;gt; far more than a nice UX that lets you shoot tx from alpha-tester-A to&lt;br/&gt;&amp;gt; alpha-tester-B, and Lightning currently utterly fails at both of them. It&lt;br/&gt;&amp;gt; can&amp;#39;t scale to 100,000 users due to routing difficulties; nor does it has&lt;br/&gt;&amp;gt; any plan of bootstrapping to &amp;#34;everyone using it&amp;#34; without the hubs&lt;br/&gt;&amp;gt; hypercentralizing to a few &amp;#34;liquidity providers&amp;#34; (read:banks); nor does it&lt;br/&gt;&amp;gt; have any plans to have actual security on a congested blockchain with high&lt;br/&gt;&amp;gt; fees. As a scaling solution, Lightning is a lot worse than the blockchain&lt;br/&gt;&amp;gt; itself right now.&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Can somebody comment on this? Thanks!&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;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171116/d24b925d/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20171116/d24b925d/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:47:42&#43;02:00</updated>
  </entry>

</feed>