From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 54D5EC07FF; Thu, 7 May 2020 04:07:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 4383986C76; Thu, 7 May 2020 04:07:26 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qvj9OUfyNEos; Thu, 7 May 2020 04:07:23 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 29DEA86C6D; Thu, 7 May 2020 04:07:23 +0000 (UTC) Received: by mail-ed1-f53.google.com with SMTP id r7so4120653edo.11; Wed, 06 May 2020 21:07:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kIjCyXDsy/Qjt3TeGzEqYc9XwyrK0ecyyso5kSDEk7M=; b=u2CWYY8E+IUZwlq3jKAeB+znx5wjLXV/yGH4hCcbgHAj7LinlhkkpZgxppQeVo9qhI qtRiEgOz1xDKtHc9gn4kF3A3kEsbBZZhKM7jbQ3tuObgqvms/Yxcaub8vfU2ZkiKXZxd AsRhMYwc7cZcwqn2tIFzZf7IY/BZcISAq3H0W9EUuzVOqXuAtSCoZN28enwKv7WP64LV 1r8l9dcB03Gnc1tNYZ0U5uf0EgJak7iXyI4GXwXcCezhmYwn+XpnsFBJrypPir9vxw1+ DeTsv1PzIk4M2WqCS5XhNaIScGSEv4nfBPpXnUn/u1M+6OYsEmQ/ne4+EkShz0zKOCrt mCIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kIjCyXDsy/Qjt3TeGzEqYc9XwyrK0ecyyso5kSDEk7M=; b=RImv9Y3licKl9EANU3KuoTnQjlZiGGZvMlwZjsUbrUaK18JWFamyJ/f9MacsnpvlON Zpm4BZhDnmQ6b9EMJOnOnodUooiU0boJiylFZ1K4TFwydLvJ5V1x45S3E6C3rD47Nn+O tTCidqPRp/N0+5kHJX0oWktB0Dn8xLPeLMQ/Wah8I5clt87t3yDlU6pMWZig9Ddt+3NN QBFzp2baMp83Z6yRUKnOdwP5yjLE2RPe7y6heUG8IsB/lV6Rp32MXkquKPHGF39FprfB /KcypWEPrRHZmiqBN7AbhQiplfi7jP6owft6BM4jozRWCOaqEpNzn0FHFcn37ORAMB1b 1HWA== X-Gm-Message-State: AGi0Pub6jsvspTbS1roZNpy3fI7h6pD7D/fH15Aibi1DUZaeuEcMpO5R +vbHy+Z7Zg63naz8DixvCk5r5JY2N1tKP2tKeRg= X-Google-Smtp-Source: APiQypIrjoeqaY+8Msm/ZfvM+nJGTLaHXdVVj49yTaK842Huymsd3jo47DFboWpkhLf9iFKhACAOprOY6ngFKdoJ2m8= X-Received: by 2002:aa7:d311:: with SMTP id p17mr10025045edq.73.1588824441584; Wed, 06 May 2020 21:07:21 -0700 (PDT) MIME-Version: 1.0 References: <202005051300.38836.luke@dashjr.org> In-Reply-To: From: Keagan McClelland Date: Wed, 6 May 2020 22:07:09 -0600 Message-ID: To: Antoine Riard Content-Type: multipart/alternative; boundary="0000000000007381ac05a5070403" X-Mailman-Approved-At: Thu, 07 May 2020 08:04:42 +0000 Cc: Bitcoin Protocol Discussion , "lightning-dev\\\\@lists.linuxfoundation.org" Subject: Re: [bitcoin-dev] [Lightning-dev] On the scalability issues of onboarding millions of LN mobile clients X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 May 2020 04:07:26 -0000 --0000000000007381ac05a5070403 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I think that one of the solutions here is to have light clients choose their full node tethers explicitly. Even if you think it is unrealistic to have everyone run their own node (fwiw, I don=E2=80=99t), there is still a = trust model where you can pick your trusted source. This way you could have many light clients working off of a family node, and the peer services could be limited to some sort of =E2=80=9Cauthenticat= ed=E2=80=9D peers. Perhaps this is better accomplished over the RPC interface in Core, but the idea is to have some sort of peer service model between =E2=80=9Cfu= ll public=E2=80=9D and =E2=80=9Cowner only=E2=80=9D. This limits the amount of= costs that can be properly externalized, without exposing risk of consensus capture by economically weighty institutions. Keagan On Wed, May 6, 2020 at 9:56 PM Antoine Riard wrote: > What I'm thinking more is if the costs of security are being too much > externalized from the light clients onto full nodes, nodes operators are > just going to stop servicing light clients `peercfilters=3Dfalse`. The > backbone p2p network is going to be fine. But the massive LN light client= s > network built on top is going to rely on centralized services for its cha= in > access and now you may have consensus capture by those.. > > Le mer. 6 mai 2020 =C3=A0 12:00, Keagan McClelland > a =C3=A9crit : > >> Hi Antoine, >> >> Consensus capture by miners isn't the only concern here. Consensus >> capture by any subset of users whose interests diverge from the overall >> consensus is equally damaging. The scenario I can imagine here is that t= he >> more light clients outpace full nodes, the more the costs of security ar= e >> being externalized from the light clients onto the full nodes. In this >> situation, it can make full nodes harder to run. If they are harder to r= un >> it will price out some marginal set of full node operators, which causes= a >> net new increase in light clients (as the disaffected full nodes convert= ), >> AND a redistribution of load onto a smaller surface area. This is a >> naturally unstable process. It is safe to say that as node counts drop, = the >> set of node operators will increasingly represent economic actors with >> extreme weight. The more this process unfolds, the more likely their >> interests will diverge from the population at large, and also the more >> likely they can be coerced into behavior they otherwise wouldn't. After = all >> it is easier to find agents who carry lots of economic weight. This is t= rue >> independent of their mining status, we should be just as wary of consens= us >> capture by exchanges or HNWI's as we are about miners. >> >> Keagan >> >> On Wed, May 6, 2020 at 3:06 AM Antoine Riard >> wrote: >> >>> I do see the consensus capture argument by miners but in reality isn't >>> this attack scenario have a lot of assumptions on topology an deploymen= t ? >>> >>> For such attack to succeed you need miners nodes to be connected to >>> clients to feed directly the invalid headers and if these ones are >>> connected to headers/filters gateways, themselves doing full-nodes >>> validation invalid chain is going to be sanitized out ? >>> >>> Sure now you trust these gateways, but if you have multiple connections >>> to them and can guarantee they aren't run by the same entity, that mayb= e an >>> acceptable security model, depending of staked amount and your >>> expectations. I more concerned of having a lot of them and being >>> diversified enough to avoid collusion between gateways/chain access >>> providers/miners. >>> >>> But even if you light clients is directly connected to the backbone >>> network and may be reached by miners you can implement fork anomalies >>> detection and from then you may have multiples options: >>> * halt the wallet, wait for human intervention >>> * fallback connection to a trusted server, authoritative on your chain >>> view >>> * invalidity proofs? >>> >>> Now I agree you need a wide-enough, sane backbone network to build on >>> top, and we should foster node adoption as much as we can. >>> >>> Le mar. 5 mai 2020 =C3=A0 09:01, Luke Dashjr a =C3=A9= crit : >>> >>>> On Tuesday 05 May 2020 10:17:37 Antoine Riard via bitcoin-dev wrote: >>>> > Trust-minimization of Bitcoin security model has always relied first >>>> and >>>> > above on running a full-node. This current paradigm may be shifted b= y >>>> LN >>>> > where fast, affordable, confidential, censorship-resistant payment >>>> services >>>> > may attract a lot of adoption without users running a full-node. >>>> >>>> No, it cannot be shifted. This would compromise Bitcoin itself, which >>>> for >>>> security depends on the assumption that a supermajority of the economy >>>> is >>>> verifying their incoming transactions using their own full node. >>>> >>>> The past few years has seen severe regressions in this area, to the >>>> point >>>> where Bitcoin's future seems quite bleak. Without serious improvements >>>> to the >>>> full node ratio, Bitcoin is likely to fail. >>>> >>>> Therefore, all efforts to improve the "full node-less" experience are >>>> harmful, >>>> and should be actively avoided. BIP 157 improves privacy of fn-less >>>> usage, >>>> while providing no real benefits to full node users (compared to more >>>> efficient protocols like Stratum/Electrum). >>>> >>>> For this reason, myself and a few others oppose merging support for BI= P >>>> 157 in >>>> Core. >>>> >>>> > Assuming a user adoption path where a full-node is required to >>>> benefit for >>>> > LN may deprive a lot of users, especially those who are already >>>> denied a >>>> > real financial infrastructure access. >>>> >>>> If Bitcoin can't do it, then Bitcoin can't do it. >>>> Bitcoin can't solve *any* problem if it becomes insecure itself. >>>> >>>> Luke >>>> >>>> P.S. See also >>>> >>>> https://medium.com/@nicolasdorier/why-i-dont-celebrate-neutrino-206baf= a5fda0 >>>> >>>> https://medium.com/@nicolasdorier/neutrino-is-dangerous-for-my-self-so= vereignty-18fac5bcdc25 >>>> >>> _______________________________________________ >>> Lightning-dev mailing list >>> Lightning-dev@lists.linuxfoundation.org >>> https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev >>> >> --0000000000007381ac05a5070403 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I think that one of the solutions here is to have li= ght clients choose their full node tethers explicitly. Even if you think it= is unrealistic to have everyone run their own node (fwiw, I don=E2=80=99t)= , there is still a trust model where you can pick your trusted source.=C2= =A0

This way you could h= ave many light clients working off of a family node, and the peer services = could be limited to some sort of =E2=80=9Cauthenticated=E2=80=9D peers. Per= haps this is better accomplished over the RPC interface in Core, but the id= ea is to have some sort of peer service model between =E2=80=9Cfull public= =E2=80=9D and =E2=80=9Cowner only=E2=80=9D. This limits the amount of costs= that can be properly externalized, without exposing risk of consensus capt= ure by economically weighty institutions.

=
Keagan

On Wed, May 6, 2020 at 9:56 PM Antoine R= iard <antoine.riard@gmail.com= > wrote:
What I'm thinking more is if the costs of security are being too muc= h externalized from the light clients onto full nodes, nodes operators are = just going to stop servicing light clients `peercfilters=3Dfalse`. The back= bone p2p network is going to be fine. But the massive LN light clients netw= ork built on top is going to rely on centralized services for its chain acc= ess and now you may have consensus capture by those..

Le=C2=A0mer.= 6 mai 2020 =C3=A0=C2=A012:00, Keagan McClelland <keagan.mcclelland@gmail.com&= gt; a =C3=A9crit=C2=A0:
Hi Antoine,

Consensu= s capture by miners isn't the only concern here. Consensus capture by a= ny subset of users whose interests diverge from the overall consensus is eq= ually damaging. The scenario I can imagine here is that the more light clie= nts outpace full nodes, the more the costs of security are being externaliz= ed from the light clients onto the full nodes. In this situation, it can ma= ke full nodes harder to run. If they are harder to run it will price out so= me marginal set of full node operators, which causes a net new increase in = light clients (as the disaffected full nodes convert), AND a redistribution= of load onto a smaller surface area. This is a naturally unstable process.= It is safe to say that as node counts drop, the set of node operators will= increasingly represent economic actors with extreme weight. The more this = process unfolds, the more likely their interests will diverge from the popu= lation at large, and also the more likely they can be coerced into behavior= they otherwise wouldn't. After all it is easier to find agents who car= ry lots of economic weight. This is true independent of their mining status= , we should be just as wary of consensus capture by exchanges or HNWI's= as we are about miners.

Keagan
On Wed, M= ay 6, 2020 at 3:06 AM Antoine Riard <antoine.riard@gmail.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
I do= see the consensus capture argument by miners but in reality isn't this= attack scenario have a lot of assumptions on topology an deployment ?
<= br>
For such attack to succeed you need miners nodes to be connec= ted to clients to feed directly the invalid headers and if these ones are c= onnected to headers/filters gateways, themselves doing full-nodes validatio= n invalid chain is going to be sanitized out ?

Sure now y= ou trust these gateways, but if you have multiple connections to them and c= an guarantee they aren't run by the same entity, that maybe an acceptab= le security model, depending of staked amount and your expectations. I more= concerned of having a lot of them and being diversified enough to avoid co= llusion between gateways/chain access providers/miners.

B= ut even if you light clients is directly connected to the backbone network = and may be reached by miners you can implement fork anomalies detection and= from then you may have multiples options:
* halt the wallet,= wait for human intervention
* fallback connection to a trust= ed server, authoritative on your chain view
* invalidity proo= fs?

Now I agree you need a wide-enough, sane backbone net= work to build on top, and we should foster node adoption as much as we can.=

Le=C2=A0mar. 5 mai 2020 =C3=A0=C2=A009:01, Luke Dashjr <luke@dashjr.org> a = =C3=A9crit=C2=A0:
https://medium.com/@nico= lasdorier/why-i-dont-celebrate-neutrino-206bafa5fda0
https://= medium.com/@nicolasdorier/neutrino-is-dangerous-for-my-self-sovereignty-18f= ac5bcdc25
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/ma= ilman/listinfo/lightning-dev
--0000000000007381ac05a5070403--