Right, but there are approaches that are not as susceptible - an
obvious, albeit somewhat naive, approach would be to define a fixed and
proportional max fee, and pick a random (with some privacy properties eg
biasing towards old or good-reputation nodes, routing across nodes
hosted on different ISPs/Tor/across continents, etc) route that pays no
more than those fees unless no such route is available. You could
imagine hard-coding such fees to "fees that are generally available on
the network as observed in the real world".

Matt

On 1/27/20 3:55 PM, ZmnSCPxj wrote:
> Good morning Matt,
> 
> Thread-hijack...
> 
>> route-hijacks (aka someone providing routing for a lower fee
>> and users happily taking it)
> 
> I observe that this is something of a catch-22.
> 
> If users *notice* lower fees and go to lower-fee channels, then 
> route-hijacking is possible and surveillors can pay (via sacrificed fees) for 
> better surveillance.
> If users *ignore* lower fees, then forwarding nodes will jack up their prices 
> to 21 million Bitcoin `fee_base`, because users are going to go through their 
> nodes with equal probability as lower-priced nodes.
> 
> In many ways, traits that make one a good forwarding node (large number of 
> channels, cheap fees, central location, high uptime, low latency...) also 
> makes one a good surveillance node, sigh.
> Fortunately this second-layer Lightning network remains censorship-resistant 
> (censorship leads to loss of profit from fees, same as on the blockchain 
> layer, and censors can be evicted by jacking up your willingness to pay fees 
> (including onchain fees to move your channels away from the censoring node 
> and towards the node you want to pay to, which again is an eviction of the 
> censor), just as effectively as on the blockchain layer).
> 
> Regards,
> ZmnSCPxj
> 
>> in the routing DB today. The issue of
>> anti-DoS is somewhat different - we do have reasonable protection from
>> someone OOM'ing every node on the network by opening a billion channels.
>> Anti-DoS could reasonably be accomplished with simple equivalent proofs,
>> though of course they would be somewhat more expensive to create/validate.
>>
>> Matt
>>
>> On 1/27/20 3:19 PM, ZmnSCPxj wrote:
>>
>>> Good morning Subhra,
>>>
>>>> So introducing proof of knowledge of fund locked instead of revealing the 
>>>> amount of fund locked by counterparties will introduce added complexity 
>>>> while routing but how effective is this going to be against handling 
>>>> attacks like hijacking of routes and channel exhaustion ?
>>>
>>> The added complexity is spam-prevention, as mentioned, and not routing in 
>>> particular.
>>> Pathfinding algorithms can just use the lower limit of the rangeproof to 
>>> filter out channels too small to pass a particular payment through, 
>>> C-Lightning (and probably other implementations) already does this, using 
>>> the known channel capacity as the limit (knowledge of the exact channel 
>>> capacity is a rangeproof whose lower limit equals the upper limit, yes?).
>>> Now, since the proofs involved are likely to be larger than just a simple 
>>> 64-bit integer that indicates the location of the funding transaction on 
>>> the blockchain (24-bit blockheight, 24-bit transaction index within block, 
>>> 16-bit output index), the spam-prevention might end up requiring more data 
>>> than the spam it stops, so ---
>>> (Though if Matt has some ideas here I would be greatly interested --- we do 
>>> have to change the encodings of short-channel-ids at some point, if only to 
>>> support channel factories....)
>>> Regards,
>>> ZmnSCPxj
>>>
>>>> On Mon, Jan 27, 2020, 20:12 Matt Corallo lf-li...@mattcorallo.com wrote:
>>>>
>>>>> Note that there's no real reason lightning nodes have to have
>>>>> confidence in that - if a node routes your payment to the next hop, how
>>>>> they do it doesn't really matter. Allowing things like non-lightning
>>>>> "channels" (eg just a contractual agreement to settle up later between
>>>>> two mutually-trusting parties) would actually be quite compelling.
>>>>> The reason lightning nodes today require proof-of-funds-locked is
>>>>> largely for DoS resistance, effectively rate-limiting flooding the
>>>>> global routing table with garbage, but such rate-limiting could be
>>>>> accomplished (albeit with a ton more complexity) via other means.
>>>>> Matt
>>>>> On 1/27/20 7:50 AM, Ugam Kamat wrote:
>>>>>
>>>>>> Hey Subhra – In order to have faith that the channel announced by the
>>>>>> nodes is actually locked on the Bitcoin mainchain we need to have the
>>>>>> outpoint (`txid` and `vout`) of the funding transaction. If we do not
>>>>>> verify that the funding transaction has been confirmed, nodes can cheat
>>>>>> us that a particular transaction is confirmed when it is not the case.
>>>>>> As a result we require that nodes announce this information along with
>>>>>> the public keys and the signatures of the public keys that was used to
>>>>>> lock the funding transaction.
>>>>>>
>>>>>> This information is broadcasted in the `channel_announcement` message in
>>>>>> the `short_channel_id` field which includes the block number,
>>>>>> transaction number and vout. Since Bitcoin does not allow confidential
>>>>>> transactions, we can query the blockchain and find out the channel
>>>>>> capacity even when the amounts are never explicitly mentioned.
>>>>>>
>>>>>> Ugam
>>>>>>
>>>>>> From: Lightning-dev lightning-dev-boun...@lists.linuxfoundation.org
>>>>>> *On Behalf Of *Subhra Mazumdar
>>>>>> Sent: Monday, January 27, 2020 12:45 PM
>>>>>> To: lightning-dev@lists.linuxfoundation.org
>>>>>> Subject: [Lightning-dev] Not revealing the channel capacity during
>>>>>> opening of channel in lightning network
>>>>>>
>>>>>> Dear All,
>>>>>> What can be the potential problem if a channel is opened
>>>>>> whereby the channel capacity is not revealed publicly but just a range
>>>>>> proof of the attribute (capacity >0 and capacity < value) is provided ?
>>>>>> Will it pose a problem during routing of transaction ? What are the pros
>>>>>> and cons ?
>>>>>> I think that revealing channel capacity make the channels susceptible to
>>>>>> channel exhaustion attack or a particular node might be targeted for
>>>>>> node isolation attack ?
>>>>>> --
>>>>>> Yours sincerely,
>>>>>> Subhra Mazumdar.
>>>>>>
>>>>>> Lightning-dev mailing list
>>>>>> Lightning-dev@lists.linuxfoundation.org
>>>>>> https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev
> 
> 
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Reply via email to