HelloZeroNet / ZeroNet

ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
https://zeronet.io
Other
18.27k stars 2.26k forks source link

Hardened Namecoin Peer Bootstrapping #518

Open up4 opened 8 years ago

up4 commented 8 years ago

More zeronet onion peers are needed in the Config.py "trackers" boostrap list. I would like to propose a solution that involves the "zeronet" entry in Namecoin support (in ZeroName, for which I do not have the source code) as such. Instead of being a map of subdomains --> ZeroNet site addresses, it would be an array of 2 elements, the first one being the current ZeroNet site map, and the second being an array of zeronet peer addresses, as such:

{ "zeronet": [ { "" : "1MZTSurvwBMiVGcMgRQTtM1tGnjBbQKA3z", "penis" : "17xzX33PL2o3GEjX8rNmWJBZgzQypoSA7G", "nouveauvloggeur" : "1AFFsmTYqeQMdPgfic2BGGHWgEy8R1i9Gu", "cherjournal" : "1HhZuTC1oN8fFzwyN4RytAPruhyyMEM8Pe", "tuetamere" : "1qyRZgfeRstryNAKPFQJnNtRdNaSY1n1B" }, [ "zero://boot3rdez4rzn36x.onion:15441", "zero://boot.zeronet.io#f36ca555bee6ba216b14d10f38c16f7769ff064e0e37d887603548cc2e64191d:15441", "udp://tracker.coppersurfer.tk:6969", "udp://tracker.leechers-paradise.org:6969", "udp://9.rarbg.com:2710", "http://tracker.aletorrenty.pl:2710/announce", "http://explodie.org:6969/announce", "http://torrent.gresille.org/announce" ] ]}

radfish commented 8 years ago

It makes sense to store the list of bootstrap nodes in namecoin chain, as long as namecoin mappings are easily and quickly updatable (in case a node gets compromized, for example).

But, how does ZeroNet access namecoin now? Does that itself not require bootstrapping of some sort? or it relies on some central API service?

up4 commented 8 years ago

There are many ways for ZeroNet to access Namecoins records:

  1. Via the ZeroName site cache (maintained by, I suppose, Tamas himself)
  2. Via a plugin that requires an accessible namecoind service (but I think it is broken)
  3. Via a new method that was recently introduced in the namecoin client that doesn't require the whole blockchain to work (but that hasn't been implemented in ZeroNet, but I'm sure it could and thus could remove the ZeroName site dependency)