-
nonie
true
-
gingeropolous
i remember finding a link to some work regarding brute forcing IP space to find peers without a peer list
-
gingeropolous
i think it was posted in here
-
gingeropolous
i really think we should do this
-
smooth
the last time i thought about the numbers i didn't think it would work very well. would need the number of accessible nodes to be higher
-
gingeropolous
-
gingeropolous
the science is done. good to go.
-
smooth
the networks they use in that paper are much bigger
-
smooth
top of page 3
-
smooth
80k-377k nodes
-
smooth
its a good idea, but for monero in practice it is a very hard needle in a haystack problem
-
gingeropolous
i wonder how it scales with size of the network
-
gingeropolous
also reminds me to keep thinking about the interpeer system
-
gingeropolous
when a new peer connects to an interpeer protocol enabled node, the new peer says "hi, i'm looking for monero nodes". another new peer could connect and ask for bitcoin nodes.
-
gingeropolous
the old peer goes "sure, i've got a list of nodes for monero, here you go"
-
gingeropolous
but that old peer could be a peer of any given p2p network
-
gingeropolous
i guess peer network identity could be a problem / attack point
-
gingeropolous
i.e., how would a peer thats not a monero node know that a peer is giving it a valid peer list
-
gingeropolous
intranetwork, its easy to test the validity of your peer list because you connect with them and talk about the same protocol.
-
gingeropolous
but not every node in every network is gonna run other networks node software to confirm peer lists
-
gingeropolous
... so an adversary could just connect to the overarching interpeer network and say "these are monero nodes", so that new peers get connected to this adversary list of fake nodes or dead nodes
-
gingeropolous
but the worst that could happen is that you spend monero on an adversaries chain... or your not able to sync
-
gingeropolous
of course, the easier solution is to just use trust. Perhaps we should change the default behavior of monerod to require user input for a seed node on first startup.
-
gingeropolous
then services in the ecosystem start publishing / providing IP addresses or urls for seed nodes
-
gingeropolous
like, if you use poloniex, you could put --seed-node www.poloniex.com:18080
-
gingeropolous
because they are already running nodes
-
smooth
it scales with the size of the network according to the binomial distribution where n is the number of attempts and p is the size of the network divided by the size of the IP space
-
smooth
when p is moderate the binomial distribution is pretty favorable (doesn't require too many attempts for at least 1 success) but when p is very small it isn't great
-
gingeropolous
right, so if the entirety of p2p network peer lists was somehow aggregated into 1 mega p2p-net, p would be pretty big
-
smooth
you mean all p2p networks put together. yes I would agree
-
hyc
you need a centralized registry of network IDs so that each node can publish and request the peerlist for their own network of interest
-
hyc
that's probably not too onerous, but you need to be aware of it as a poit of centralization