From rusty at rustcorp.com.au Tue Oct 20 06:25:04 2015 From: rusty at rustcorp.com.au (Rusty Russell) Date: Tue, 20 Oct 2015 16:55:04 +1030 Subject: [Lightning-dev] Preventing MITM - Providing new nodes with real pubkeys In-Reply-To: References: <20151016230141.GA22262@navy> <20151019014100.GA19146@navy> Message-ID: <871tcqgipr.fsf@rustcorp.com.au> Mats Jerratsch writes: > Think about an attacker who is able to MITM your internet connection, > like the hotspot you connect to at a Cafe (or your ISP if hijacked). > They can build locally a gigantic network, all pointing to the same > node. You can't tell, and they don't have to necessarily just block > your payments. (see above) > > I am mainly concerned over those. Especially since there is not really > anything we can do about dishonest nodes joining our network, but it's > encouraging to see your math. Since everything security-wise so far > stands only with knowing pubkeys of nodes actually connected to the > network, this should be the first thing to tackle. (that is, making it > expensive to attack it this way) Well, bitcoin protects from this using checkpoints, which are centralized. Because AFAICT there's no really good way of doing it. If we use beacons, this does become a bit easier: beacons indicate the size of the network (statistically), so you can embed that estimate in how large you expect the network to be. > Only nuisance is that it requires either SPV or full node to check the > anchor, but I kinda like the idea of having all (or a good amount) of > lightning nodes be full bitcoin nodes as well. We're going to need to support both, but for the moment I expect they'll be full nodes. Cheers, Rusty.