Fee negotiations in LightningThe cost of restarting a lightning channelCan Lightning Network be used for individual small transactions?lightning network dispute costsHow are fees determined in the Lightning Network?Lightning Network understandingOpening Lightning network channel: who is paying?BTC Lightning NetworkLightning - a lost transactionLightning: Is it possible to send lightning BTC outside of a lightning state channel?Why can’t lightning tx’s be signed with sighash single to allow for fee updates?

If a character has cast the Fly spell on themselves, can they "hand off" to the Levitate spell without interruption?

How do I write real-world stories separate from my country of origin?

Palindromic Pan digital Special Square wants you to reveal its Root

Adobe Illustrator: How can I change the profile of a dashed stroke?

What is the required burn to keep a satellite at a Lagrangian point?

How many wires should be in a new thermostat cable?

Is there a word for pant sleeves?

Negative impact of having the launch pad away from the Equator

Change to uppercase all tables data

Why is this integration method not valid?

Are clauses with "который" restrictive or non-restrictive by default?

Surface of the 3x3x3 cube as a graph

Way of refund if scammed?

Why is unzipped file smaller than zipped file

One word for 'the thing that attracts me'?

Team member is vehemently against code formatting

Ribbon Cable Cross Talk - Is there a fix after the fact?

Keeping the dodos out of the field

Is ideal gas incompressible?

Real Analysis: Proof of the equivalent definitions of the derivative.

Why A=2 and B=1 in the call signs for Spirit and Opportunity?

Is it OK to look at the list of played moves during the game to determine the status of the 50 move rule?

What spell do I need to be my own rock band?

Is it normal to "extract a paper" from a master thesis?



Fee negotiations in Lightning


The cost of restarting a lightning channelCan Lightning Network be used for individual small transactions?lightning network dispute costsHow are fees determined in the Lightning Network?Lightning Network understandingOpening Lightning network channel: who is paying?BTC Lightning NetworkLightning - a lost transactionLightning: Is it possible to send lightning BTC outside of a lightning state channel?Why can’t lightning tx’s be signed with sighash single to allow for fee updates?













2















How are fees negotiated in multi-hop payments in Lightning?



Imagine a four-hop payment: Alice -- Bob -- Charlie -- Dave. Bob and Charlie advertise fees of 100 sat each, Alice thinks it's reasonable and starts routing the payment through this route. Does Bob know which part of the expected payment is intended to be a fee? What is Bob forwards the payment to Charlie taking 120, 150, or 200 sat instead of 100 -- what does Charlie do?



Is there anything that prevents intermediary nodes from lying about their fees?










share|improve this question


























    2















    How are fees negotiated in multi-hop payments in Lightning?



    Imagine a four-hop payment: Alice -- Bob -- Charlie -- Dave. Bob and Charlie advertise fees of 100 sat each, Alice thinks it's reasonable and starts routing the payment through this route. Does Bob know which part of the expected payment is intended to be a fee? What is Bob forwards the payment to Charlie taking 120, 150, or 200 sat instead of 100 -- what does Charlie do?



    Is there anything that prevents intermediary nodes from lying about their fees?










    share|improve this question
























      2












      2








      2


      1






      How are fees negotiated in multi-hop payments in Lightning?



      Imagine a four-hop payment: Alice -- Bob -- Charlie -- Dave. Bob and Charlie advertise fees of 100 sat each, Alice thinks it's reasonable and starts routing the payment through this route. Does Bob know which part of the expected payment is intended to be a fee? What is Bob forwards the payment to Charlie taking 120, 150, or 200 sat instead of 100 -- what does Charlie do?



      Is there anything that prevents intermediary nodes from lying about their fees?










      share|improve this question














      How are fees negotiated in multi-hop payments in Lightning?



      Imagine a four-hop payment: Alice -- Bob -- Charlie -- Dave. Bob and Charlie advertise fees of 100 sat each, Alice thinks it's reasonable and starts routing the payment through this route. Does Bob know which part of the expected payment is intended to be a fee? What is Bob forwards the payment to Charlie taking 120, 150, or 200 sat instead of 100 -- what does Charlie do?



      Is there anything that prevents intermediary nodes from lying about their fees?







      transaction-fees lightning-network






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 8 at 13:53









      Sergei TikhomirovSergei Tikhomirov

      738315




      738315




















          2 Answers
          2






          active

          oldest

          votes


















          2














          Nodes advertise the fees for forwarding over a channel as part of a channel_update message. The update should be sent as soon as a channel_announcement is sent. Each party can decide its own fees for the channel.



          For private channels, nodes advertise the fees inside the r tagged field of the BOLT#11 invoice.



          When forwarding a payment, your node must calculate the required fee for each hop and add it to the payment requested in the invoice. When each intermediate hop receives an update_add_htlc message, they will unwrap one level of the onion packet, which contains an amt_to_forward. This is subtracted from the amount_msat in the update_add_htlc message, and the difference is the fee paid for this hop.



          If the hop determines that the fee is insufficient, they respond to the sender with fee_insufficient error as part of an update_fail_htlc message. This message also includes the most recent channel_update for this channel so that the payer can re-attempt the payment with new fees.



          There is always the possibility of a race condition where fees may have changed between the most recently received channel_update and the payment attempt. This is minimized by including the channel_update as part of the failure as above.



          If the payment at the last hop is too small, they will respond with a failure containing the incorrect_or_unknown_payment_details failure code.






          share|improve this answer

























          • We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

            – Rene Pickhardt
            May 8 at 14:42


















          3














          The situation you describe cannot happen / would lead to a routing failure. I have created an 11 minute video explaining how htlcs are used in onion routing. Parts of the video (rather at the end) explain how fees are encoded within the sent onion. I think watching that video is the quickest way to understand the fee model of the lightning network.



          A tl;dw (too long didn't watch) answer looks like that:



          If a node decides to maliciously collect a larger fee and forward the onion. The next hop will not be able to collect the fee as it advertised and will fail the routing process. In your setting this means charlie decrypts his onion and sees which amount to forward and sees from the incoming htlc that it would only receive a fee of 80 / 50 or 0 Satoshi instead of the advertised 100. As said charlie would fail the onion but not be able to blame Bob. Actually obs behavior would confuse Alice as she chose the correct fees. Alice could assume Bob was a bad routing node and elect a different part. However this mechanism is as far as I know not implemented yet.






          share|improve this answer























          • By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

            – Sergei Tikhomirov
            May 8 at 14:50







          • 1





            What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

            – Ugam Kamat
            May 8 at 14:50






          • 1





            Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

            – Rene Pickhardt
            May 8 at 14:59






          • 1





            What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

            – Sergei Tikhomirov
            May 8 at 15:11






          • 1





            Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

            – Rene Pickhardt
            May 8 at 17:00











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "308"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f87586%2ffee-negotiations-in-lightning%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          Nodes advertise the fees for forwarding over a channel as part of a channel_update message. The update should be sent as soon as a channel_announcement is sent. Each party can decide its own fees for the channel.



          For private channels, nodes advertise the fees inside the r tagged field of the BOLT#11 invoice.



          When forwarding a payment, your node must calculate the required fee for each hop and add it to the payment requested in the invoice. When each intermediate hop receives an update_add_htlc message, they will unwrap one level of the onion packet, which contains an amt_to_forward. This is subtracted from the amount_msat in the update_add_htlc message, and the difference is the fee paid for this hop.



          If the hop determines that the fee is insufficient, they respond to the sender with fee_insufficient error as part of an update_fail_htlc message. This message also includes the most recent channel_update for this channel so that the payer can re-attempt the payment with new fees.



          There is always the possibility of a race condition where fees may have changed between the most recently received channel_update and the payment attempt. This is minimized by including the channel_update as part of the failure as above.



          If the payment at the last hop is too small, they will respond with a failure containing the incorrect_or_unknown_payment_details failure code.






          share|improve this answer

























          • We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

            – Rene Pickhardt
            May 8 at 14:42















          2














          Nodes advertise the fees for forwarding over a channel as part of a channel_update message. The update should be sent as soon as a channel_announcement is sent. Each party can decide its own fees for the channel.



          For private channels, nodes advertise the fees inside the r tagged field of the BOLT#11 invoice.



          When forwarding a payment, your node must calculate the required fee for each hop and add it to the payment requested in the invoice. When each intermediate hop receives an update_add_htlc message, they will unwrap one level of the onion packet, which contains an amt_to_forward. This is subtracted from the amount_msat in the update_add_htlc message, and the difference is the fee paid for this hop.



          If the hop determines that the fee is insufficient, they respond to the sender with fee_insufficient error as part of an update_fail_htlc message. This message also includes the most recent channel_update for this channel so that the payer can re-attempt the payment with new fees.



          There is always the possibility of a race condition where fees may have changed between the most recently received channel_update and the payment attempt. This is minimized by including the channel_update as part of the failure as above.



          If the payment at the last hop is too small, they will respond with a failure containing the incorrect_or_unknown_payment_details failure code.






          share|improve this answer

























          • We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

            – Rene Pickhardt
            May 8 at 14:42













          2












          2








          2







          Nodes advertise the fees for forwarding over a channel as part of a channel_update message. The update should be sent as soon as a channel_announcement is sent. Each party can decide its own fees for the channel.



          For private channels, nodes advertise the fees inside the r tagged field of the BOLT#11 invoice.



          When forwarding a payment, your node must calculate the required fee for each hop and add it to the payment requested in the invoice. When each intermediate hop receives an update_add_htlc message, they will unwrap one level of the onion packet, which contains an amt_to_forward. This is subtracted from the amount_msat in the update_add_htlc message, and the difference is the fee paid for this hop.



          If the hop determines that the fee is insufficient, they respond to the sender with fee_insufficient error as part of an update_fail_htlc message. This message also includes the most recent channel_update for this channel so that the payer can re-attempt the payment with new fees.



          There is always the possibility of a race condition where fees may have changed between the most recently received channel_update and the payment attempt. This is minimized by including the channel_update as part of the failure as above.



          If the payment at the last hop is too small, they will respond with a failure containing the incorrect_or_unknown_payment_details failure code.






          share|improve this answer















          Nodes advertise the fees for forwarding over a channel as part of a channel_update message. The update should be sent as soon as a channel_announcement is sent. Each party can decide its own fees for the channel.



          For private channels, nodes advertise the fees inside the r tagged field of the BOLT#11 invoice.



          When forwarding a payment, your node must calculate the required fee for each hop and add it to the payment requested in the invoice. When each intermediate hop receives an update_add_htlc message, they will unwrap one level of the onion packet, which contains an amt_to_forward. This is subtracted from the amount_msat in the update_add_htlc message, and the difference is the fee paid for this hop.



          If the hop determines that the fee is insufficient, they respond to the sender with fee_insufficient error as part of an update_fail_htlc message. This message also includes the most recent channel_update for this channel so that the payer can re-attempt the payment with new fees.



          There is always the possibility of a race condition where fees may have changed between the most recently received channel_update and the payment attempt. This is minimized by including the channel_update as part of the failure as above.



          If the payment at the last hop is too small, they will respond with a failure containing the incorrect_or_unknown_payment_details failure code.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 8 at 14:42

























          answered May 8 at 14:37









          Mark HMark H

          1,35919




          1,35919












          • We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

            – Rene Pickhardt
            May 8 at 14:42

















          • We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

            – Rene Pickhardt
            May 8 at 14:42
















          We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

          – Rene Pickhardt
          May 8 at 14:42





          We need to coordinate in future (: I was typing on my mobile where putting all these links and syntax highlighting is annoying. Anyway plus 1 for nice onside explainations instead of referring to a tutorial video like I did.

          – Rene Pickhardt
          May 8 at 14:42











          3














          The situation you describe cannot happen / would lead to a routing failure. I have created an 11 minute video explaining how htlcs are used in onion routing. Parts of the video (rather at the end) explain how fees are encoded within the sent onion. I think watching that video is the quickest way to understand the fee model of the lightning network.



          A tl;dw (too long didn't watch) answer looks like that:



          If a node decides to maliciously collect a larger fee and forward the onion. The next hop will not be able to collect the fee as it advertised and will fail the routing process. In your setting this means charlie decrypts his onion and sees which amount to forward and sees from the incoming htlc that it would only receive a fee of 80 / 50 or 0 Satoshi instead of the advertised 100. As said charlie would fail the onion but not be able to blame Bob. Actually obs behavior would confuse Alice as she chose the correct fees. Alice could assume Bob was a bad routing node and elect a different part. However this mechanism is as far as I know not implemented yet.






          share|improve this answer























          • By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

            – Sergei Tikhomirov
            May 8 at 14:50







          • 1





            What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

            – Ugam Kamat
            May 8 at 14:50






          • 1





            Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

            – Rene Pickhardt
            May 8 at 14:59






          • 1





            What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

            – Sergei Tikhomirov
            May 8 at 15:11






          • 1





            Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

            – Rene Pickhardt
            May 8 at 17:00















          3














          The situation you describe cannot happen / would lead to a routing failure. I have created an 11 minute video explaining how htlcs are used in onion routing. Parts of the video (rather at the end) explain how fees are encoded within the sent onion. I think watching that video is the quickest way to understand the fee model of the lightning network.



          A tl;dw (too long didn't watch) answer looks like that:



          If a node decides to maliciously collect a larger fee and forward the onion. The next hop will not be able to collect the fee as it advertised and will fail the routing process. In your setting this means charlie decrypts his onion and sees which amount to forward and sees from the incoming htlc that it would only receive a fee of 80 / 50 or 0 Satoshi instead of the advertised 100. As said charlie would fail the onion but not be able to blame Bob. Actually obs behavior would confuse Alice as she chose the correct fees. Alice could assume Bob was a bad routing node and elect a different part. However this mechanism is as far as I know not implemented yet.






          share|improve this answer























          • By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

            – Sergei Tikhomirov
            May 8 at 14:50







          • 1





            What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

            – Ugam Kamat
            May 8 at 14:50






          • 1





            Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

            – Rene Pickhardt
            May 8 at 14:59






          • 1





            What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

            – Sergei Tikhomirov
            May 8 at 15:11






          • 1





            Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

            – Rene Pickhardt
            May 8 at 17:00













          3












          3








          3







          The situation you describe cannot happen / would lead to a routing failure. I have created an 11 minute video explaining how htlcs are used in onion routing. Parts of the video (rather at the end) explain how fees are encoded within the sent onion. I think watching that video is the quickest way to understand the fee model of the lightning network.



          A tl;dw (too long didn't watch) answer looks like that:



          If a node decides to maliciously collect a larger fee and forward the onion. The next hop will not be able to collect the fee as it advertised and will fail the routing process. In your setting this means charlie decrypts his onion and sees which amount to forward and sees from the incoming htlc that it would only receive a fee of 80 / 50 or 0 Satoshi instead of the advertised 100. As said charlie would fail the onion but not be able to blame Bob. Actually obs behavior would confuse Alice as she chose the correct fees. Alice could assume Bob was a bad routing node and elect a different part. However this mechanism is as far as I know not implemented yet.






          share|improve this answer













          The situation you describe cannot happen / would lead to a routing failure. I have created an 11 minute video explaining how htlcs are used in onion routing. Parts of the video (rather at the end) explain how fees are encoded within the sent onion. I think watching that video is the quickest way to understand the fee model of the lightning network.



          A tl;dw (too long didn't watch) answer looks like that:



          If a node decides to maliciously collect a larger fee and forward the onion. The next hop will not be able to collect the fee as it advertised and will fail the routing process. In your setting this means charlie decrypts his onion and sees which amount to forward and sees from the incoming htlc that it would only receive a fee of 80 / 50 or 0 Satoshi instead of the advertised 100. As said charlie would fail the onion but not be able to blame Bob. Actually obs behavior would confuse Alice as she chose the correct fees. Alice could assume Bob was a bad routing node and elect a different part. However this mechanism is as far as I know not implemented yet.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered May 8 at 14:34









          Rene PickhardtRene Pickhardt

          3,693218




          3,693218












          • By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

            – Sergei Tikhomirov
            May 8 at 14:50







          • 1





            What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

            – Ugam Kamat
            May 8 at 14:50






          • 1





            Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

            – Rene Pickhardt
            May 8 at 14:59






          • 1





            What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

            – Sergei Tikhomirov
            May 8 at 15:11






          • 1





            Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

            – Rene Pickhardt
            May 8 at 17:00

















          • By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

            – Sergei Tikhomirov
            May 8 at 14:50







          • 1





            What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

            – Ugam Kamat
            May 8 at 14:50






          • 1





            Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

            – Rene Pickhardt
            May 8 at 14:59






          • 1





            What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

            – Sergei Tikhomirov
            May 8 at 15:11






          • 1





            Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

            – Rene Pickhardt
            May 8 at 17:00
















          By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

          – Sergei Tikhomirov
          May 8 at 14:50






          By "this mechanism" in the last sentence do you mean Alice marking Bob as a bad node? (BTW, the tiny envelopes you use in the video are amazing, where did you even get those things :)

          – Sergei Tikhomirov
          May 8 at 14:50





          1




          1





          What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

          – Ugam Kamat
          May 8 at 14:50





          What if we extended this argument by one more party? Alice sending BTC to Eric via bob, charlie and dave. Assume charlie is the bad apple in the lot and consumes all the remaining fee in the hop. How would Alice know whether it is Bob or Charlie?

          – Ugam Kamat
          May 8 at 14:50




          1




          1





          Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

          – Rene Pickhardt
          May 8 at 14:59





          Since the fees are part of the onion noone in the chain knows what the payment amount is and how much fees are in the onion in total... On the other hand I hope to remember correctly that the node that can't forward the onion because the prev took too much fees and back an failure message of type 12 fee _insufficient cf: github.com/lightningnetwork/lightning-rfc/blob/master/…

          – Rene Pickhardt
          May 8 at 14:59




          1




          1





          What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

          – Sergei Tikhomirov
          May 8 at 15:11





          What I see here is a violation of the "don't explain to the attacker why the error happened" security principle, screaming for probing attacks similar to this one... ;)

          – Sergei Tikhomirov
          May 8 at 15:11




          1




          1





          Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

          – Rene Pickhardt
          May 8 at 17:00





          Yeah the probing attack is well known. I don't see a direct relation. The proving attack usually would use a circular onion and you yourself would fail the htlc / onion

          – Rene Pickhardt
          May 8 at 17:00

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Bitcoin Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f87586%2ffee-negotiations-in-lightning%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

          Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

          Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020