Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
One problem of p2p is bootstrapping.
When a p2p application starts the first time it needs to know how to contact the first peer. After that the first peer can give addresses of more peers. But how can the p2p application get the address of the first peer?
A solution would be a central server that maintains a list of peers. But this is not p2p. After all the point of p2p is that it doesn't need central servers.
https://github.com/dennis-tra/pcp#how-does-it-work uses IPFS to contact the first peer. OK.
However in the quest how to boostrap p2p I feel somewhat cheated. IPFS also needs to bootstrap. It's sort of kicking the can down the road.
I thought about a hardcoded algorithmically series of addresses. Let's say a repeatable random generator. An example: the first address is jec6r5bz.io, then 0ueasze6.ch, etc., the project would register the first few addresses and if they are blocked, register more addresses on that series. This way the application can bootstrap independent of a specific central server because it can try the next address if it doesn't work.
Having a distributed search engine is far from easy (there's the main issue of trust in the index). It's possible to do it the other way around, thanks to DHT scraping being allowed: everyone can scrape the peers and build an index at home, with tools like magnetico (https://github.com/boramalper/magnetico) for example