HelloZeroNet / ZeroNet

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

Rebase ZeroNet infrastructure to IPFS or Dat #1669

Closed 0polar closed 5 years ago

0polar commented 5 years ago

ZeroTalk: http://127.0.0.1:43110/Talk.ZeroNetwork.bit/?Topic:1538407463_14ytAKDfNjArMTqGecTi7ginG3aZTsRAum/Rebase+ZeroNet+infrastructure+to+IPFS+or+Dat

Advantage: DHT, archiving system, bigger developer team & community, no repeated code… Also a chance to migrate to Python 3.

Before I start to write code, is there any suggestion for me?

0polar commented 5 years ago

I want ZeroNet focus on distributed web apps framework, and unite other distributed storage infrastructures together.

So finally network architecture will be like this:

And mature infrastructures have more code review & security audits. ZeroNet security is considered bad.

ghost commented 5 years ago

CJDNS requires IPv4/6 connectivity and regardless of the prefix composition MP-/BGP is going nowhere.

danimesq commented 5 years ago

CJDNS doesn't requires IPv6 to work, but ZeroNet needs IPv6 (already being implemented in a pull request) to run thought CJDNS

szh7379 commented 5 years ago

https://geti2p.net/en/blog/post/2018/10/23/application-development-basics

I think the i2p team do that for zeronet. it is python.

danimesq commented 5 years ago

IPFS uses too much system resources

0polar commented 5 years ago

IPFS seems too bloated and hard to use. Dat looks good.

danimesq commented 5 years ago

@0polar

DHT, archiving system, bigger developer team & community, no repeated code… Also a chance to migrate to Python 3.

Before I start to write code, is there any suggestion for me?

DHT is really need, and already used on IPFS and Dat. @HelloZeroNet @shortcutme could you cooperate with him on coding that? ZeroNet's network haves support to merging it with IPFS and Dat?

I want ZeroNet focus on distributed web apps framework, and unite other distributed storage infrastructures together.

So finally network architecture will be like this:

  • distributed web apps
  • ZeroNet (distributed web apps framework)
  • BitTorrent used by ZeroNet / Freenet / GNUnet / IPFS / Dat... (distributed storage)
  • I2P (anonymous overlay layer)
  • cjdns (replace IP/BGP)

I don't think ZeroNet is a framework for distributed web apps, but another network for that. Regarding i2P, Tamas Kocsis says it is hard to implement, but it isn't so: Vuze torrent already implemented that for both inbound and outbound connections. So ZeroMux was right that the ZeroNet creator is lazy to implement i2P (even the IPv6 pull request is yet open without a review). Regarding Python 3 planned to end year of 2018, I understand Tamas, as he haves no obligation to follow the roadmap, as the donations aren't even used.

And mature infrastructures have more code review & security audits. ZeroNet security is considered bad.

Now I understand Tamas. He is alone building a huge project, and isn't handling well the donations he received. The administration of he is really bad, but we shouldn't forget he is a human and probably with a good will. The only things we should blame he is about creating an organization to store ZeroNet-related repos, opening this organization and ZeroNet core repo for new maintainers, and distributing the ZeroNet donations to those maintainers and making a collaborative roadmap.

Regarding security, openned that issue: https://github.com/HelloZeroNet/ZeroNet/issues/1849

@szh7379

https://geti2p.net/en/blog/post/2018/10/23/application-development-basics

I think the i2p team do that for zeronet. it is python.

Strad tried to help implementing i2P to ZeroNet, but was ignored. Tamas keep saying that it is difficulty, but doesn't haves dedication to that. Vuze is the proof that BitTorrent networks (as ZeroNet) can support full i2P: https://wiki.vuze.com/w/I2PHelper_HowTo

IPFS seems too bloated and hard to use. Dat looks good.

Yes, but IPFS is pretty modular, which futerely will support to storing bytes on merkle tree instead of full files. On IPFS thats really bad to re-upload a whole file for just changing an comma. Dat seems to not work at this manner, being more lightweight. Both IPFS and Dat haves their purposes, while ZeroNet's purpose is to have some cool web features and built-in Tor. But as network, I think ZeroNet is just redundant, so it is better to use another network such as Dat or IPFS. ZeroNet should be a good interface than an network, to power decentralized sites with features as site clonning.

danimesq commented 5 years ago

Asking what those ZeroNet and other network's members thinks about that: ZeroNet: @imachug @april93 @krixano @anoadragon453 @trenta3 @rllola @tangdou1 @slrslr @Thunder33345 @blurHY @krzysztof113 i2P: @str4d Dat: @pfrazee @mafintosh

I've also suggested a translator plugin (https://github.com/HelloZeroNet/ZeroNet/issues/1835), to permit zites sending commands that are repassed to the main frame (like Cordova, Electron and Ethereum commands).

0polar commented 5 years ago

I am afraid ZeroNet API need blow up and rewrite, too.

danimesq commented 5 years ago

I am afraid ZeroNet API need blow up and rewrite, too.

I agree.