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




  <entry>
    <id>https://nostr.ae/nevent1qqst3f979rf6s9kulds5y8nza5vkf5hjqttgevyrvrrjk76qk46uatszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jzeynpy</id>
    
      <title type="html">📅 Original date posted:2022-03-20 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst3f979rf6s9kulds5y8nza5vkf5hjqttgevyrvrrjk76qk46uatszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jzeynpy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0x5svwre3zgfv7txmmedgpc5cmjl09k6sgzygxee9frdpl2uz2gs37x95w&#39;&gt;nevent1q…x95w&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-03-20&lt;br/&gt;📝 Original message:&lt;br/&gt;Good morning everyone,&lt;br/&gt;&lt;br/&gt;with regards to zerobasefee, I think that the argument that HTLCs are&lt;br/&gt;costly doesn&amp;#39;t quite hold up because they are always free to an&lt;br/&gt;attacker as it stands. However, I fully agree with Zmn&amp;#39;s opinion that&lt;br/&gt;it&amp;#39;s not necessary to bang our head against any opposition to this&lt;br/&gt;because we can simply follow his excellent method for overweighing&lt;br/&gt;base fee. I believe this is a very natural approach to let the market&lt;br/&gt;decide on the relative importance of optimized routing vs base fees.&lt;br/&gt;&lt;br/&gt;As to Martin&amp;#39;s approximation research, I have asked myself similar&lt;br/&gt;questions. Unfortunately, the paper you cite is paywalled and not&lt;br/&gt;available at sci-hub, so I haven&amp;#39;t read it. FWIW, I believe I have a&lt;br/&gt;simple proof that minimum cost flow preserves approximation FACTORS:&lt;br/&gt;&lt;br/&gt;Let O be the original problem and A the approximated problem such that&lt;br/&gt;every flow in O can be mapped 1:1 to a flow in A and vice versa. Let&lt;br/&gt;every edge e in O be represented by a set of edges in A whose total&lt;br/&gt;cost is within a factor (1&#43;epsilon) for every possible flow (could be&lt;br/&gt;over- or underestimating). Note that this means that every flow in O&lt;br/&gt;has cost within a factor (1&#43;epsilon) for the corresponding flow in A&lt;br/&gt;and vice versa.&lt;br/&gt;&lt;br/&gt;Now let f_a be the min cost flow in A and f_o the min cost flow in O.&lt;br/&gt;Assume that c(f_o)(1&#43;epsilon)&amp;lt;c(f_a). Then f_o corresponds to a flow&lt;br/&gt;in A that is cheaper than f_a, but that&amp;#39;s impossible because f_a is&lt;br/&gt;the min cost flow.&lt;br/&gt;QED.&lt;br/&gt;&lt;br/&gt;Problems might arise anyway because we represent probabilities only&lt;br/&gt;logarithmically in the cost, so that a factor of (1&#43;epsilon)&lt;br/&gt;corresponds to an exponent (1&#43;epsilon) for the probabilities. But René&lt;br/&gt;seems optimistic that the resulting flows look good enough in&lt;br/&gt;practice.&lt;br/&gt;&lt;br/&gt;I am still optimistic that exact solvers with something like the cost&lt;br/&gt;scaling approach might also be feasible (as long as they produce&lt;br/&gt;integer flows), but I am happy that this simple approximation approach&lt;br/&gt;seems good enough. This should save us a lot of work because there are&lt;br/&gt;many linear min cost solvers available that represent years of&lt;br/&gt;cumulative work in optimization research.&lt;br/&gt;&lt;br/&gt;Cheers&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;Am Sa., 19. März 2022 um 22:09 Uhr schrieb Martin via Lightning-dev&lt;br/&gt;&amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Dear Carsten, Rene and fellow lightning developers,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regarding the approximation quality of the minimum convex cost flow formulation for multi-part payments on the lightning network [1] and Carsten&amp;#39;s discussion points on Twitter [2] and on the mailing list:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; 8) Quality of Approximation&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; There are some problems in computer science that are hard/impossible to&lt;br/&gt;&amp;gt; &amp;gt; approximate, in the sense that any kind of deviation from the optimum&lt;br/&gt;&amp;gt; &amp;gt; could cause the computed results to be extremely bad. Do you have some&lt;br/&gt;&amp;gt; &amp;gt; idea (or proof) that your kind of approximation isn&amp;#39;t causing a major&lt;br/&gt;&amp;gt; &amp;gt; issue? I guess a piece-wise linearization with an infinite number of&lt;br/&gt;&amp;gt; &amp;gt; pieces corresponds to the optimal result. Given a finite number of&lt;br/&gt;&amp;gt; &amp;gt; pieces, how large is the difference to the optimum?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I did some literature research and came across an insightful paper [3] by Dorit Hochbaum from 1993, that proves proximity results for integer and continuous optimal solutions of the minimum convex cost flow as well as proximity results of the optimal solutions for a piecewise linear approximation and the original problem.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Admittedly theoretical results, however, it further underpins that a piecewise linear approximation is a reasonable approach to find optimal flows and even shows that searching for optimal solutions on the continuous domain (e.g. with descent methods from convex optimization) also gives near-optimal solutions on the integer domain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Martin&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://arxiv.org/abs/2107.05322&#34;&gt;https://arxiv.org/abs/2107.05322&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://twitter.com/renepickhardt/status/1502293438498234371&#34;&gt;https://twitter.com/renepickhardt/status/1502293438498234371&lt;/a&gt;&lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://www.worldscientific.com/doi/abs/10.1142/9789812798190_0005&#34;&gt;https://www.worldscientific.com/doi/abs/10.1142/9789812798190_0005&lt;/a&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;
    </content>
    <updated>2023-06-09T15:05:33&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs28r3w0arxltd425lx6als3anhstcszk6qhueq7v9w8dukhqdlvfqzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jcpjcl9</id>
    
      <title type="html">📅 Original date posted:2021-11-15 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs28r3w0arxltd425lx6als3anhstcszk6qhueq7v9w8dukhqdlvfqzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jcpjcl9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspy4e3khe6jln2r65rvumcalpn7vn595l5xr45wkyzv5sja6vg62gfcvt7y&#39;&gt;nevent1q…vt7y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-11-15&lt;br/&gt;📝 Original message:&lt;br/&gt;Actually, if you look into our paper, the theory tells us the following:&lt;br/&gt;&lt;br/&gt;1) A weighted sum of different cost aspects is attractive because it&lt;br/&gt;remains convex if all the aspects are convex themselves. This cannot be&lt;br/&gt;said of other methods like the harmonic mean, which kind of forces our hand&lt;br/&gt;if we aim to really calculate optimal flows.&lt;br/&gt;&lt;br/&gt;2) even in the single path case, finding a route that optimizes one goal&lt;br/&gt;(say, reliability) while ensuring that another cost aspect remains under&lt;br/&gt;some boundary, is a (weakly) NP hard problem. My interpretation of this&lt;br/&gt;fact is that while it is certainly possible to find suitable factors for&lt;br/&gt;the linear combination (by, say, gradient descent methods), we cannot&lt;br/&gt;expect a method that is simple and works for every conceivable graph every&lt;br/&gt;time. In practice, we have observed that the factor needs to be varied over&lt;br/&gt;multiple orders of magnitude to make a meaningful impact. Mapping this onto&lt;br/&gt;an easy user interface (e.g. your suggestion of a linearly feeling value&lt;br/&gt;between 0 and 1) will need some trial and error engineering, IMHO.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;    Stefan&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;René Pickhardt via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;schrieb am Mo., 15. Nov. 2021, 12:50:&lt;br/&gt;&lt;br/&gt;&amp;gt; Dear Joost,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; First I am happy that you also agree that reliability can and should be&lt;br/&gt;&amp;gt; expressed as a probability as discussed in [0].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The problem that you address is that of feature engineering[1]. Which&lt;br/&gt;&amp;gt; consists of two (or even more) steps:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1.) Feature selection: That means in payment delivery we will compute a&lt;br/&gt;&amp;gt; min cost flow [2] with a chosen cost function (historically people used&lt;br/&gt;&amp;gt; dijkstra seach for single paths with the cost function representing the&lt;br/&gt;&amp;gt; weights on the edges of the graph -which is what most folks currently still&lt;br/&gt;&amp;gt; do). While [2] and I personally agree with you that the cost function&lt;br/&gt;&amp;gt; should be a combination the two features fees and reliability (as in&lt;br/&gt;&amp;gt; successprobability) Matt Corallo righfully pointed out [3] that other&lt;br/&gt;&amp;gt; features might be chosen in the future to deliver more optimal results. For&lt;br/&gt;&amp;gt; example implementations currently often use CLTV as a feature (which I&lt;br/&gt;&amp;gt; honestly find horrible) and I am currently investigating if one could add&lt;br/&gt;&amp;gt; latency of channels or - for known IP addresses - either the geo distance&lt;br/&gt;&amp;gt; or IP distance.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2.) Combining features: This is the question that you are asking. Often&lt;br/&gt;&amp;gt; people use a linear weighted sum to combine features. This is what often&lt;br/&gt;&amp;gt; happens implicitly in neural networks. While this is often good enough and&lt;br/&gt;&amp;gt; while it is often practical to either learn the weights or give users a&lt;br/&gt;&amp;gt; choice there are many situation where the weighted linear sum does not work&lt;br/&gt;&amp;gt; well with the selected features. An example for the weighted sum is the&lt;br/&gt;&amp;gt; risk-factor in c-lightning that could have been used to decide if one&lt;br/&gt;&amp;gt; wanted the dijkstra seach to either optimize for CLTV delta or for paid&lt;br/&gt;&amp;gt; routing fees. Also in our paper [2] in which we discuss the same two&lt;br/&gt;&amp;gt; features that you mentioned we explain how a linear sum of two features can&lt;br/&gt;&amp;gt; be optimal due to the lagrangian bounding principle. However in practice&lt;br/&gt;&amp;gt; (of machine learning) it has been shown that using the harmonic mean [4]&lt;br/&gt;&amp;gt; between features often works very well without the necessity to learn a&lt;br/&gt;&amp;gt; weight / parameter. This has for example been done when c-lightnign&lt;br/&gt;&amp;gt; recently switched to probabilistic path finding [5]. In this thread you&lt;br/&gt;&amp;gt; find a long discussion and evaluation how the harmonic mean outperformed&lt;br/&gt;&amp;gt; the linear sum.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think the main issue that you address here is that there is no universal&lt;br/&gt;&amp;gt; truth for situations like this. In practice only tests and experience will&lt;br/&gt;&amp;gt; help us to make good decisions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; with kind Regards Rene&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0]:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-March/002984.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-March/002984.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [1]: &lt;a href=&#34;https://en.wikipedia.org/wiki/Feature_engineering&#34;&gt;https://en.wikipedia.org/wiki/Feature_engineering&lt;/a&gt;&lt;br/&gt;&amp;gt; [2]: &lt;a href=&#34;https://arxiv.org/abs/2107.05322&#34;&gt;https://arxiv.org/abs/2107.05322&lt;/a&gt;&lt;br/&gt;&amp;gt; [3]:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-September/003219.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-September/003219.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [4]:  &lt;a href=&#34;https://en.wikipedia.org/wiki/Harmonic_mean&#34;&gt;https://en.wikipedia.org/wiki/Harmonic_mean&lt;/a&gt;&lt;br/&gt;&amp;gt; [5]: &lt;a href=&#34;https://github.com/ElementsProject/lightning/pull/4771&#34;&gt;https://github.com/ElementsProject/lightning/pull/4771&lt;/a&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; On Mon, Nov 15, 2021 at 4:26 PM Joost Jager &amp;lt;joost.jager at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In Lightning pathfinding the two main variables to optimize for are&lt;br/&gt;&amp;gt;&amp;gt; routing fee and reliability. Routing fee is concrete. It is the sat amount&lt;br/&gt;&amp;gt;&amp;gt; that is paid when a payment succeeds. Reliability is a property of a route&lt;br/&gt;&amp;gt;&amp;gt; that can be expressed as a probability. The probability that a route will&lt;br/&gt;&amp;gt;&amp;gt; be successful.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; During pathfinding, route options are compared against each other. So for&lt;br/&gt;&amp;gt;&amp;gt; example:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Route A: fee 10 sat, success probability 50%&lt;br/&gt;&amp;gt;&amp;gt; Route B: fee 20 sat, success probability 80%&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Which one is the better route? That depends on user preference. A patient&lt;br/&gt;&amp;gt;&amp;gt; user will probably go for route A in the hope of saving on fees whereas for&lt;br/&gt;&amp;gt;&amp;gt; a time-sensitive payment route B looks better.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; It would be great to offer this trade-off to the user in a simple way.&lt;br/&gt;&amp;gt;&amp;gt; Preferably a single [0, 1] value that controls the selection process. At 0,&lt;br/&gt;&amp;gt;&amp;gt; the route is only optimized for fees and probabilities are ignored&lt;br/&gt;&amp;gt;&amp;gt; completely. At 1, the route is only optimized for reliability and fees are&lt;br/&gt;&amp;gt;&amp;gt; ignored completely.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; But how to choose between the routes A and B for a value somewhere in&lt;br/&gt;&amp;gt;&amp;gt; between 0 and 1? For example 0.5 - perfect balance between reliability and&lt;br/&gt;&amp;gt;&amp;gt; fee. But what does that mean exactly?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Anyone got an idea on how to approach this best? I am looking for a&lt;br/&gt;&amp;gt;&amp;gt; simple formula to decide between routes, preferably with a reasonably sound&lt;br/&gt;&amp;gt;&amp;gt; probability-theoretical basis (whatever that means).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Joost&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;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.rene-pickhardt.de&#34;&gt;https://www.rene-pickhardt.de&lt;/a&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;-------------- 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/20211115/42fe9021/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20211115/42fe9021/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:04:25&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstx5w5nu8arwt4a6e007nqd8sd8t6rhmwd54a0dxmtqavkhns2huszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j8y9c83</id>
    
      <title type="html">📅 Original date posted:2021-08-24 📝 Original message: Good ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstx5w5nu8arwt4a6e007nqd8sd8t6rhmwd54a0dxmtqavkhns2huszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j8y9c83" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9fy2v5jqcet2ys23jzcrnh3h9cyzcjwpf2use8yf6hx70rnesn3cluh3sy&#39;&gt;nevent1q…h3sy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-24&lt;br/&gt;📝 Original message:&lt;br/&gt;Good Morning Zmn!&lt;br/&gt;&lt;br/&gt;If you&amp;#39;d like to understand  the min-cost flow problem and algorithms&lt;br/&gt;better, I would really recommend the textbook we have been citing&lt;br/&gt;throughout the paper.&lt;br/&gt;&lt;br/&gt;The algorithm you have found has a few shortcomings. It&amp;#39;ll only work for&lt;br/&gt;the linear min-cost flow problem, and it is very slow. In reality, we need&lt;br/&gt;to deal with convex cost functions, and the algorithm we have used so far&lt;br/&gt;uses an approach called capacity scaling in order to be much faster. It is&lt;br/&gt;indeed complex enough that it has taken us about two months to understand&lt;br/&gt;and implement it, discovering a nice heuristic in the process of making&lt;br/&gt;mistakes.&lt;br/&gt;&lt;br/&gt;Separable in this context means that you can simply add up the costs of the&lt;br/&gt;edges to get the total costs. On second thought, your definition would&lt;br/&gt;probably work here , by redefining adding up.&lt;br/&gt;&lt;br/&gt;Convex here means that for any two amounts x, y, the cost function f in the&lt;br/&gt;interval x, y does not lie below the line connecting the two points (x,&lt;br/&gt;f(x)) and (y, f(y)). The intuition here is that a linear approximation&lt;br/&gt;never overestimates the real cost. I guess one would need a more involved&lt;br/&gt;definition for your more complex coordinates.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; schrieb am Di., 24. Aug. 2021, 01:06:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Stefan,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Hi Zmn! That is some amazing lateral thinking you have been applying&lt;br/&gt;&amp;gt; there. I&amp;#39;m quite certain I haven&amp;#39;t understood everything fully, but it has&lt;br/&gt;&amp;gt; been highly entertaining to read. Will have to give it a closer read when I&lt;br/&gt;&amp;gt; get some time.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; As a first impression, here are some preliminary observations: While I&lt;br/&gt;&amp;gt; highly like the Haskell-style datatype, and the algorithm we use does&lt;br/&gt;&amp;gt; mostly use Dijkstra pathfinding, I think what is really important in your&lt;br/&gt;&amp;gt; definition is the computeCost definition. This is what we would call the&lt;br/&gt;&amp;gt; cost function IIUC, and in order to be able to solve min-cost flow problems&lt;br/&gt;&amp;gt; it generally has to be separable and convex. I believe your datatype merely&lt;br/&gt;&amp;gt; hides the fact that it is neither.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Well, it really depends on what min flow cost algorithms actually assume&lt;br/&gt;&amp;gt; of the &amp;#34;numbers&amp;#34; being used.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For instance, it is well known that the Dijkstra-A\*-Greedy family of&lt;br/&gt;&amp;gt; algorithms do not handle &amp;#34;negative costs&amp;#34;.&lt;br/&gt;&amp;gt; What it really means is that the algorithms assume:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     a &#43; b &amp;gt;= a&lt;br/&gt;&amp;gt;     a &#43; b &amp;gt;= b&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This holds if `a` and `b` are naturals (0 or positive), but not if they&lt;br/&gt;&amp;gt; are integers.&lt;br/&gt;&amp;gt; 1 &#43; -1 = 0, and 0 &amp;gt;= 1 is not true, thus the type for costs in those&lt;br/&gt;&amp;gt; algorithms cannot be integer types, they have to be naturals.&lt;br/&gt;&amp;gt; However if you restrict the type to naturals,  `a &#43; b &amp;gt;= a` holds, and&lt;br/&gt;&amp;gt; thus Dijkstra and its family of algorithms work.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thus, if you are going to use Dijkstra-A\*-Greedy, you &amp;#34;only&amp;#34; need to have&lt;br/&gt;&amp;gt; the following &amp;#34;operations&amp;#34;:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     `&#43;` :: Cost -&amp;gt; Cost -&amp;gt; Cost&lt;br/&gt;&amp;gt;     `&amp;lt;` :: Cost -&amp;gt; Cost -&amp;gt; Bool&lt;br/&gt;&amp;gt;     zero :: Cost&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; With the following derived operations:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     a &amp;gt; b = b &amp;lt; a&lt;br/&gt;&amp;gt;     a &amp;gt;= b = not (a &amp;lt; b)&lt;br/&gt;&amp;gt;     a &amp;lt;= b = not (b &amp;lt; a)&lt;br/&gt;&amp;gt;     a == b = (a &amp;gt;= b) &amp;amp;&amp;amp; (a &amp;lt;= b)&lt;br/&gt;&amp;gt;     a /= b = (a &amp;lt; b) || (a &amp;gt; b)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And following the laws:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     forall (a :: Cost) =&amp;gt; a &#43; zero == a&lt;br/&gt;&amp;gt;     forall (a :: Cost) =&amp;gt; zero &#43; a == a&lt;br/&gt;&amp;gt;     forall (a :: Cost, b :: Cost) =&amp;gt; a &#43; b == b &#43; a&lt;br/&gt;&amp;gt;     forall (a :: Cost, b :: Cost, c :: Cost) =&amp;gt; (a &#43; b) &#43; c == a &#43; (b &#43; c)&lt;br/&gt;&amp;gt;     forall (a :: Cost, b :: Cost) =&amp;gt; a &#43; b &amp;gt;= a&lt;br/&gt;&amp;gt;     forall (a :: Cost, b :: Cost) =&amp;gt; a &#43; b &amp;gt;= b&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As a non-mathist I have no idea what &amp;#34;separable&amp;#34; and &amp;#34;convex&amp;#34; actually&lt;br/&gt;&amp;gt; mean.&lt;br/&gt;&amp;gt; Basic search for &amp;#34;convex&amp;#34; and &amp;#34;concave&amp;#34; tends to show up information in&lt;br/&gt;&amp;gt; geometry, which I think is not related (though it is possible there is some&lt;br/&gt;&amp;gt; extension of the geometric concept to pure number theory?).&lt;br/&gt;&amp;gt; And definitions on &amp;#34;separable&amp;#34; are not understandable by me, either.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What exactly are the operations involved, and what are the laws those&lt;br/&gt;&amp;gt; operations must follow, for the data type to be &amp;#34;separable&amp;#34; and &amp;#34;convex&amp;#34;&lt;br/&gt;&amp;gt; (vs.&amp;#34;concave&amp;#34;)?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I guess my problem as well is that I cannot find easy-to-understand&lt;br/&gt;&amp;gt; algorithms for min cost flow --- I can find discussions on the min cost&lt;br/&gt;&amp;gt; flow &amp;#34;problem&amp;#34;, and some allusions to solutions to that problem, but once I&lt;br/&gt;&amp;gt; try looking into algorithms it gets quite a bit more complicated.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Basically: do I need these operations?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     `*` :: Cost -&amp;gt; Cost -&amp;gt; Cost&lt;br/&gt;&amp;gt;     `/` :: Cost -&amp;gt; Cost -&amp;gt; Cost --- or Maybe Cost&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If not, then why cannot `type Cost = UnifiedCost`?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For example, this page:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.topcoder.com/thrive/articles/Minimum%20Cost%20Flow%20Part%20Two:%20Algorithms&#34;&gt;https://www.topcoder.com/thrive/articles/Minimum%20Cost%20Flow%20Part%20Two:%20Algorithms&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Includes this pseudocode:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;     Transform network G by adding source and sink&lt;br/&gt;&amp;gt;     Initial flow x is zero&lt;br/&gt;&amp;gt;     while ( Gx contains a path from s to t ) do&lt;br/&gt;&amp;gt;         Find any shortest path P from s to t&lt;br/&gt;&amp;gt;         Augment current flow x along P&lt;br/&gt;&amp;gt;         update Gx&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If &amp;#34;find any shortest path&amp;#34; is implemented using Dijkstra-A\*-Greedy, then&lt;br/&gt;&amp;gt; that does not require `Cost` to be an actual numeric type, they just&lt;br/&gt;&amp;gt; require a type that provides `&#43;`, `&amp;lt;`, and `zero`, all of which follow the&lt;br/&gt;&amp;gt; laws I pointed out, *and no more than those*.&lt;br/&gt;&amp;gt; `UnifiedCost` follows those laws (tough note that my definition of `zero`&lt;br/&gt;&amp;gt; has a bug, `successProbability` should be `1.0` not `0`).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In short --- the output of the cost function is a `UnifiedCost` structure&lt;br/&gt;&amp;gt; and ***not*** a number (in the traditional sense).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Basically, I am deconstructing numbers here and trying to figure out what&lt;br/&gt;&amp;gt; makes them tick, and seeing if I can use a different type to provide the&lt;br/&gt;&amp;gt; &amp;#34;tick&amp;#34;.&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;-------------- 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/20210824/75aad701/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210824/75aad701/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:03:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst49whmmugqs7kmzsqs6a9exkk57958p4snx08fvfdp28rudlaszszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340je8p78n</id>
    
      <title type="html">📅 Original date posted:2021-08-21 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst49whmmugqs7kmzsqs6a9exkk57958p4snx08fvfdp28rudlaszszyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340je8p78n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrts3k8qzwayvpnclga02a8elvkvkv26fjs59y0hafvdlp075ftlq96nxh3&#39;&gt;nevent1q…nxh3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-21&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Zmn! That is some amazing lateral thinking you have been applying there.&lt;br/&gt;I&amp;#39;m quite certain I haven&amp;#39;t understood everything fully, but it has been&lt;br/&gt;highly entertaining to read. Will have to give it a closer read when I get&lt;br/&gt;some time.&lt;br/&gt;&lt;br/&gt;As a first impression, here are some preliminary observations: While I&lt;br/&gt;highly like the Haskell-style datatype, and the algorithm we use does&lt;br/&gt;mostly use Dijkstra pathfinding, I think what is really important in your&lt;br/&gt;definition is the computeCost definition. This is what we would call the&lt;br/&gt;cost function IIUC, and in order to be able to solve min-cost flow problems&lt;br/&gt;it generally has to be separable and convex. I believe your datatype merely&lt;br/&gt;hides the fact that it is neither.&lt;br/&gt;&lt;br/&gt;Intuitively, I think that any cost function that implies a fixed cost (that&lt;br/&gt;is, independent of the amount, though it might be different for every edge)&lt;br/&gt;per edge is concave and in theory problematic for min-cost flow algorithms&lt;br/&gt;because you could reduce some kind of NP-hard selection problem to it. I&lt;br/&gt;believe that applies to most if not all of your ideas in the text. Again, I&lt;br/&gt;think we should think more about how much of a problem that is in practice,&lt;br/&gt;because we do have tools like approximation and parameterized algorithms,&lt;br/&gt;as well as heuristics, and I also believe that, say, a moderate base fee&lt;br/&gt;will not change the optimal flow much, because this will always prefer&lt;br/&gt;large Htlcs anyway in order to optimize probability.&lt;br/&gt;&lt;br/&gt;I am really grateful that you have been taking the time to read and&lt;br/&gt;understand our paper and have been thinking further in this fascinating&lt;br/&gt;way. I am certain good things will come of it in time.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; schrieb am Sa., 21. Aug. 2021, 03:49:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Alternative Pathfinding?&lt;br/&gt;&amp;gt; &amp;gt;     ========================&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Or to put this section more succinctly: Why should cost be a number?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What operations do the minimum cost flow algorithms demand of this thing&lt;br/&gt;&amp;gt; called &amp;#34;cost&amp;#34;, and can we provide those operations using something which is&lt;br/&gt;&amp;gt; not a number but is instead a different structure?&lt;br/&gt;&amp;gt; What is the minimal interface that the mincostflow algo demands of this&lt;br/&gt;&amp;gt; &amp;#34;cost&amp;#34; datatype?&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/20210821/02ef209c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210821/02ef209c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:03:33&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgwhpsluk0dz9xk0wf6wrha9xf8n00rpp4dst6l6j6m437395xa3czyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j6mscnq</id>
    
      <title type="html">📅 Original date posted:2021-08-16 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgwhpsluk0dz9xk0wf6wrha9xf8n00rpp4dst6l6j6m437395xa3czyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j6mscnq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdfj59k6zky3dvt34mfk9ysxltwmn8lddruhkh5qcn3x5pdvm5sjspxyk5h&#39;&gt;nevent1q…yk5h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-16&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Zmn et al.,&lt;br/&gt;&lt;br/&gt;&amp;gt;I propose that the algorithm be modified &amp;gt;as such, that is, it *ignore*&lt;br/&gt;the fee  scheme.&lt;br/&gt;&lt;br/&gt;We actually started out thinking like this in the event we couldn&amp;#39;t find a&lt;br/&gt;proper way to handle fees, and the real world experiments we&amp;#39;ve done so far&lt;br/&gt;have only involved probability costs, no fees at all.&lt;br/&gt;&lt;br/&gt;However, I think it is non-trivial to deal with the many cases in which too&lt;br/&gt;high fees could occur, and in the end the most systematic way of dealing&lt;br/&gt;with them is actually including them in the cost function.&lt;br/&gt;&lt;br/&gt;That said, I agree with Matt that more research needs to be done about the&lt;br/&gt;effect of  base fees on these computations. We do know they make the&lt;br/&gt;problem hard in general, but we might find a way to deal with them&lt;br/&gt;reasonably in practice.&lt;br/&gt;&lt;br/&gt;I tend to agree with AJ, that I don&amp;#39;t  believe the base fee is economically&lt;br/&gt;helpful, but I also think that the market will decide that rather than the&lt;br/&gt;devs (though I would argue for default Zerobasefee in the implementations).&lt;br/&gt;&lt;br/&gt;In my view, nobody is really earning any money with the base fee, so the&lt;br/&gt;discussion is kind of artificial. On the other hand, I would estimate our&lt;br/&gt;approach should lead to liquidity being priced correctly in the&lt;br/&gt;proportional fee instead of the price being undercut by hobbyists as is the&lt;br/&gt;case now. So in the long run I expect our routing method to make running a&lt;br/&gt;well-stocked LN router much more profitable.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;ZmnSCPxj via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;schrieb am Mo., 16. Aug. 2021, 05:15:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning matt and aj,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Let me cut in here.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; From my reading of the actual paper --- which could be a massive&lt;br/&gt;&amp;gt; misunderstanding, as I can barely understand half the notation, I am more a&lt;br/&gt;&amp;gt; dabbler in software engineering than a mathist --- it seems to me that it&lt;br/&gt;&amp;gt; would be possible to replace the cost function in the planning algorithm&lt;br/&gt;&amp;gt; with *only* the negative-log-probability, which I think is the key point of&lt;br/&gt;&amp;gt; the paper.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That is, the algorithm can be run in a mode where it *ignores* whatever&lt;br/&gt;&amp;gt; fee scheme forwarding nodes desire.&lt;br/&gt;&amp;gt; (@rene: correct me if I am wrong?)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, the algorithm then gets an extra step after getting a payment&lt;br/&gt;&amp;gt; plan (i.e. how to route multiple sub-payments).&lt;br/&gt;&amp;gt; It looks over the payment plan and if the fees involved are beyond some&lt;br/&gt;&amp;gt; user-defined limit (with, say, a default of 0.5% of the total amount, as&lt;br/&gt;&amp;gt; per the C-Lightning `pay` default), to look at the highest-fee channels in&lt;br/&gt;&amp;gt; the payment plan.&lt;br/&gt;&amp;gt; Then, it can rerun the flow algorithm, telling it to *disallow* the&lt;br/&gt;&amp;gt; highest-fee channels identified if the total fees exceed the fee budget.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems to me that this modification of the algorithm may be sufficient&lt;br/&gt;&amp;gt; to be resilient against any and all future fee scheme we may decide for&lt;br/&gt;&amp;gt; Lightning.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This still achieves &amp;#34;optimality&amp;#34; in the sense of the paper, in a way&lt;br/&gt;&amp;gt; similar to what is suggested in the paper.&lt;br/&gt;&amp;gt; The paper suggests to basically ignore gossiped channels with non-zero&lt;br/&gt;&amp;gt; basefee.&lt;br/&gt;&amp;gt; The approach I suggest allows us to *start* without ignoring non-zero&lt;br/&gt;&amp;gt; basefee, but to slowly degrade our view of the network by disallowing&lt;br/&gt;&amp;gt; high-fee (whether high basefee or high propfee) channels.&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; 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;-------------- 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/20210816/f60fa4a3/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210816/f60fa4a3/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:03:28&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9znc6ucmvl2x9luxd4aqjk7yxmuh9ruld3d84qs27j9ayftvcf6qzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j5zgsdz</id>
    
      <title type="html">📅 Original date posted:2021-08-21 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9znc6ucmvl2x9luxd4aqjk7yxmuh9ruld3d84qs27j9ayftvcf6qzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j5zgsdz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstg0ne2q0gkm89yx26fghdrs8cmkd340z4c9yravgwhty89wm64lsqdj4rw&#39;&gt;nevent1q…j4rw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-08-21&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Zmn! That is some amazing lateral thinking you have been applying there.&lt;br/&gt;I&amp;#39;m quite certain I haven&amp;#39;t understood everything fully, but it has been&lt;br/&gt;highly entertaining to read. Will have to give it a closer read when I get&lt;br/&gt;some time.&lt;br/&gt;&lt;br/&gt;As a first impression, here are some preliminary observations: While I&lt;br/&gt;highly like the Haskell-style datatype, and the algorithm we use does&lt;br/&gt;mostly use Dijkstra pathfinding, I think what is really important in your&lt;br/&gt;definition is the computeCost definition. This is what we would call the&lt;br/&gt;cost function IIUC, and in order to be able to solve min-cost flow problems&lt;br/&gt;it generally has to be separable and convex. I believe your datatype merely&lt;br/&gt;hides the fact that it is neither.&lt;br/&gt;&lt;br/&gt;Intuitively, I think that any cost function that implies a fixed cost (that&lt;br/&gt;is, independent of the amount, though it might be different for every edge)&lt;br/&gt;per edge is concave and in theory problematic for min-cost flow algorithms&lt;br/&gt;because you could reduce some kind of NP-hard selection problem to it. I&lt;br/&gt;believe that applies to most if not all of your ideas in the text. Again, I&lt;br/&gt;think we should think more about how much of a problem that is in practice,&lt;br/&gt;because we do have tools like approximation and parameterized algorithms,&lt;br/&gt;as well as heuristics, and I also believe that, say, a moderate base fee&lt;br/&gt;will not change the optimal flow much, because this will always prefer&lt;br/&gt;large Htlcs anyway in order to optimize probability.&lt;br/&gt;&lt;br/&gt;I am really grateful that you have been taking the time to read and&lt;br/&gt;understand our paper and have been thinking further in this fascinating&lt;br/&gt;way. I am certain good things will come of it in time.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; schrieb am Sa., 21. Aug. 2021, 03:49:&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Alternative Pathfinding?&lt;br/&gt;&amp;gt; &amp;gt;     ========================&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Or to put this section more succinctly: Why should cost be a number?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What operations do the minimum cost flow algorithms demand of this thing&lt;br/&gt;&amp;gt; called &amp;#34;cost&amp;#34;, and can we provide those operations using something which is&lt;br/&gt;&amp;gt; not a number but is instead a different structure?&lt;br/&gt;&amp;gt; What is the minimal interface that the mincostflow algo demands of this&lt;br/&gt;&amp;gt; &amp;#34;cost&amp;#34; datatype?&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/20210821/02ef209c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210821/02ef209c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:41:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyavuhgzj590pxjpsnqt8npjqcsvyd4a0wrngr75psnq7fs42k46czyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jxyjcuv</id>
    
      <title type="html">📅 Original date posted:2022-07-11 📝 Original message:I very ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyavuhgzj590pxjpsnqt8npjqcsvyd4a0wrngr75psnq7fs42k46czyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340jxyjcuv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9qf7nzrvgm46w6sa9vdj4ex53lfmjp7nf0wav422nmj5kjpq8f4gej0gsc&#39;&gt;nevent1q…0gsc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-11&lt;br/&gt;📝 Original message:I very much agree with AJ here. This is something I remember discussing on&lt;br/&gt;Bitcointalk back in 2011: I find it highly intuitive that the amount of&lt;br/&gt;lost coins is not a constant fraction of the supply, because people get&lt;br/&gt;better at keeping their coins with increasing value, distribution and&lt;br/&gt;technology/best practices. I also think that we have observed this effect&lt;br/&gt;in practice since then. The bulk of coins that are supposed to be lost (via&lt;br/&gt;onchain analysis) haven&amp;#39;t been moved since at least 2010. Of course, in&lt;br/&gt;most cases, we&amp;#39;ll never know, but the assumption of constant loss rate&lt;br/&gt;seems unreasonable.&lt;br/&gt;&lt;br/&gt;Cheers&lt;br/&gt;  Stefan&lt;br/&gt;&lt;br/&gt;Anthony Towns via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;schrieb am Mo., 11. Juli 2022, 04:32:&lt;br/&gt;&lt;br/&gt;&amp;gt; On Sat, Jul 09, 2022 at 08:46:47AM -0400, Peter Todd via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; title:  &amp;#34;Surprisingly, Tail Emission Is Not Inflationary&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Of course, this isn&amp;#39;t realistic as coins are constantly being lost due to&lt;br/&gt;&amp;gt; &amp;gt; deaths, forgotten passphrases, boating accidents, etc. These losses are&lt;br/&gt;&amp;gt; &amp;gt; independent:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This isn&amp;#39;t necessarily true: if the losses are due to a common cause,&lt;br/&gt;&amp;gt; then they&amp;#39;ll be heavily correlated rather than independent; for example&lt;br/&gt;&amp;gt; losses could be caused by a bug in a popular wallet/exchange software&lt;br/&gt;&amp;gt; that sends funds to invalid addresses, or by a war or natural disaster&lt;br/&gt;&amp;gt; that damages key storage hardware. They&amp;#39;re also not independent over&lt;br/&gt;&amp;gt; time -- people improve their key storage habits over time; eg switching&lt;br/&gt;&amp;gt; to less buggy wallets/exchanges, validating addresses before using them,&lt;br/&gt;&amp;gt; using distributed multisig to prevent a localised disaster from being&lt;br/&gt;&amp;gt; catastrophic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; the *rate* of coin loss at time $$t$$ is&lt;br/&gt;&amp;gt; &amp;gt; proportional to the total supply *at that moment* in time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is the key assumption that produces the claimed result.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you&amp;#39;re losing a constant fraction, x (Peter&amp;#39;s \lambda), of Bitcoins&lt;br/&gt;&amp;gt; each year, then as soon as the supply increases enough that the constant&lt;br/&gt;&amp;gt; reward, k, corresponds to the constant fraction, ie k = x*N(t), then&lt;br/&gt;&amp;gt; you&amp;#39;ve hit an equilibrium.  (Likewise if you&amp;#39;re losing more than you&amp;#39;re&lt;br/&gt;&amp;gt; increasing -- you just need to wait until N(t) decreases enough that you&lt;br/&gt;&amp;gt; reach the same equilibrium point) You don&amp;#39;t really need any fancy maths.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But that assumption doesn&amp;#39;t need to be true; coins could primarily be&lt;br/&gt;&amp;gt; lost in &amp;#34;black swan&amp;#34; events (due to bugs, wars or disasters) rather&lt;br/&gt;&amp;gt; than at a predictable rate -- with actions taken thereafter such that&lt;br/&gt;&amp;gt; the same event repeating is no longer the same level of catastrophe,&lt;br/&gt;&amp;gt; but instead another new black swan event is required to maintain the same&lt;br/&gt;&amp;gt; loss rate. If that&amp;#39;s the case, then the rate at which funds are lost will&lt;br/&gt;&amp;gt; vary chaotically, leading to &amp;#34;inflationary&amp;#34; periods in between events,&lt;br/&gt;&amp;gt; and comparatively strong deflationary shocks when these events occur.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alternatively, losses could be at a predictable rate that&amp;#39;s entirely&lt;br/&gt;&amp;gt; different to the one Peter assumes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One alternative predictable rate that seems plausible to me is if funds&lt;br/&gt;&amp;gt; are lost due to people not be careful about losing small amounts; even&lt;br/&gt;&amp;gt; though they are careful when amounts are larger. So when 10k BTC was&lt;br/&gt;&amp;gt; worth $40, maybe it doesn&amp;#39;t matter if you misplace a hard drive with&lt;br/&gt;&amp;gt; 7500 BTC on it since that&amp;#39;s only worth $30; but by the time 7500 BTC&lt;br/&gt;&amp;gt; is worth $150M, maybe you take a bit more care with that, but are still&lt;br/&gt;&amp;gt; not too worried if you lose 1.5mBTC, since that&amp;#39;s also only worth $30.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To mathematise that, perhaps there are K people holding Bitcoin, and with&lt;br/&gt;&amp;gt; probability p, each loses $100 (in constant 2009 dollars say, so that we&lt;br/&gt;&amp;gt; can ignore inflation) of that Bitcoin a year through carelessness. For&lt;br/&gt;&amp;gt; an equilibrium to occur in that case, you need:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   N(t) &#43; k - (100/P * Kp) = N(t)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; where P is the price of Bitcoin (again in constant 2009 dollars) and k&lt;br/&gt;&amp;gt; is Peter&amp;#39;s fixed tail subsidy. Simplifying gives:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;   P = K * 100p/k&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But k and p are constant by assumption in this scenario, so equilibrium&lt;br/&gt;&amp;gt; is reached only if price (P) is exactly proportional to number of&lt;br/&gt;&amp;gt; users (K). That requires you to have a non-inflationary currency&lt;br/&gt;&amp;gt; (supply is constant) with constant adoption (assume K doesn&amp;#39;t change)&lt;br/&gt;&amp;gt; that maintains a constant price (P=K*100p/k) in real terms even if the&lt;br/&gt;&amp;gt; economy is otherwise expanding or contracting.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; More importantly, just from a goals point of view, x is something we&lt;br/&gt;&amp;gt; should be finding ways to minimise it over time, not leave constant.&lt;br/&gt;&amp;gt; In fact, you could argue for an even stronger goal: &amp;#34;the real value held&lt;br/&gt;&amp;gt; in BTC lost each year should decrease&amp;#34;, that is, x should be decreasing&lt;br/&gt;&amp;gt; faster than 1/(N(t)*P).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; aj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220711/2289f5fd/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220711/2289f5fd/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:11:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0lrgc96dwngdcprzujcawgr3p45qrnjjxfnptexrfhtk02g40d3qzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j4gg28j</id>
    
      <title type="html">📅 Original date posted:2019-08-21 📝 Original message:Please ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0lrgc96dwngdcprzujcawgr3p45qrnjjxfnptexrfhtk02g40d3qzyq4x075usk24xc4el4g7hvpjqgrf8sy88uq9f0qe97z8mukn4340j4gg28j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfr856aumv0khrtvmme8apk9h4lpz4ql03q6w29g5yhruz4a3lqucuj8rtj&#39;&gt;nevent1q…8rtj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2019-08-21&lt;br/&gt;📝 Original message:Please see the github issues and the twitter discussion (e.g. here:&lt;br/&gt;&lt;a href=&#34;https://twitter.com/stefanwouldgo/status/1163801056423403520&#34;&gt;https://twitter.com/stefanwouldgo/status/1163801056423403520&lt;/a&gt;) for similar&lt;br/&gt;points other people including me have made. At this point I feel there are&lt;br/&gt;quite a few unclear points in the presentation and it is not clear to me if&lt;br/&gt;they can be salvaged.&lt;br/&gt;&lt;br/&gt;Am Mi., 21. Aug. 2019 um 09:32 Uhr schrieb ZmnSCPxj via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Maxim,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The Deaf Bob Attack&lt;br/&gt;&amp;gt; ===================&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems to me that Bob can promote the N3 problem to the N2 problem.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Suppose Alice contacts Bob to get the data.&lt;br/&gt;&amp;gt; However, Bob happens to have lost the data in a tragic boating accident.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now, supposedly what Alice does in this case would be to broadcast the&lt;br/&gt;&amp;gt; HTLC settlement transaction, whose signature was provided by Bob during&lt;br/&gt;&amp;gt; protocol setup.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But this seems unworkable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * If Bob managed to sign the HTLC settlement transaction, what `SIGHASH`&lt;br/&gt;&amp;gt; flags did Bob sign with?&lt;br/&gt;&amp;gt;   * If it was `SIGHASH_ALL` or `SIGHASH_SINGLE`, then Bob already selected&lt;br/&gt;&amp;gt; the decryption key at setup time.&lt;br/&gt;&amp;gt;   * If it was `SIGHASH_NONE`, then Alice could put any SCRIPT, including&lt;br/&gt;&amp;gt; `&amp;lt;Alice&amp;gt; OP_CHECKSIG`.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If Bob already selected the decryption key at setup time, then Bob can&lt;br/&gt;&amp;gt; ignore Alice.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * If Alice does not publish the HTLC settlement transaction, then Bob will&lt;br/&gt;&amp;gt; eventually enter the N2 state and get the stake&#43;reward.&lt;br/&gt;&amp;gt; * If Alice *does* publish the HTLC settlement transaction, without Bob&lt;br/&gt;&amp;gt; giving the encrypted data, then Bob can just use the hashlock and reveal&lt;br/&gt;&amp;gt; the decryption key.&lt;br/&gt;&amp;gt;   * The decryption key is useless without the encrypted data!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems this part is not workable?&lt;br/&gt;&amp;gt; As the decryption key is embedded in the HTLC, Alice cannot get a&lt;br/&gt;&amp;gt; signature from Bob without the decryption key already being selected by Bob&lt;br/&gt;&amp;gt; (and thus already claimable even without any data being returned by Bob).&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; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190821/25a4c8a0/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190821/25a4c8a0/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:20:21&#43;02:00</updated>
  </entry>

</feed>