HelloZeroNet / ZeroNet

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

URL Reverse and human readable. #23

Closed ArKam closed 9 years ago

ArKam commented 9 years ago

Hi team! First of all kudos for you project! It's a great tool!

Now I would like to ring a bell about the way we have to use it to browse and found existing site.

I deeply think that if we want decentralized services to be adopted by most of people and not just skilled ones (We work for freedom and liberties for every internet user after all), we should implement some sort of decentralized search/discovery service and human readable URLs.

Search/Discovery service are made to ease the spread and retrieval of informations online during a solo browsing.

Human readable URLs are made to ease sharing and references of a previous browsing session.

Two main features that our browsers commonly implements (Of course it perform such a thing using other system services) and that need to be implement to ease the adoption of your project.

I'm not a professional of bitcoin but I know that bittorrent protocol implement resources discovery and advertising.

HelloZeroNet commented 9 years ago

Thanks! Namecoin (.bit domains) support is planned, but its not priority yet, since ZeroNet is not ready for mass adoption yet. Could you be more specific about your Search/Discovery idea?

ArKam commented 9 years ago

Thanks a lot for your answer, here is a little more advanced explanation of my previous requests.

About the Addresses resolution topic: Even if the addresses resolution feature was explain by the masses/users point of view on my previous post, I deeply think that it is (with advertising and discovery feature) a building block for decentralized services. As you said it, you're not addressing the masses adoption topic right now, but think of this feature as a building block of website articulation and/or as an compatibility feature for the already existing, working and well established internet standards.

For example: As an enthusiast web developer looking for cool tools and plateform, I want to be able to use them by learning how they're working and how they address some of my issues, but I would certainly not us this cool tools if I dramatically have to change the way I'm developing my website.

The keypoint of this feature is not only masses adoption by a simplification of the user experience but rather the adoption by every targeted categories including devs by providing a great and simple learning curve.

I'm not such a great example as my project are quite intricate projects but I'll take it anyway to illustrate my proposal.

As a web developer mainly focused on B2B customers, I have to build almost all of my applications using a URLs routing gateway which will be in charge of routing the requests to the correct resources. On this specific topic and without URLs resolution, I'll have to generate a UID for each of the targeted resources, then modify my routing gatewat to hardlink them on it.

I can assure you that because of the payload of my gateway, I'll have to change about a 100 of routing rules just to be able to test if ZeroNet is working correctly using automated tests.

In my case addresses resolution would literally save me a bunch of hours if not days depending on the way your platform/tool works and react on crash or life-cycle (Start/Stop/Restart/Reload/etc procedures).

Regarding the discovery / advertising capability:

On some bittorrent network's clients, your client is able to discover and advertise peers about its configurations and services, as mention on this request: http://www.bittorrent.org/beps/bep_0026.html

For example, it would be cool to have a way to request for a list of nearest peers ables to provide a set of resources (Website on your specific project) and then use Bitcoin crypto capabilities to check if it's not a MITM style attack etc.

This discovery/advertising feature could allow us to rapidly find a specific resource using the nearest/fastest path and then create sort a sort of decentralized search engine.

In the case of a unique node would be available during the discovery this node would be use IF and ONLY IF it is the original publisher of the content as we need to guaranty the user that it's not a malicious node.

For this last rule, a more complex one would be to keep in a bitcoin blockchain (or something similar) the history of the propagation of the resources and their signature to avoid any malicious modification.

Anyway, I've got a loooooottt of idea regarding peer to peer and decentralized software / tools / infrastructure so don't take my example and arguments as formal request for feature but rather like reminders of what kind of cool features we (the community) and you (the core dev-team) would be able to implement.

BTW: I'm sorry for my extensive answer, but I had to explain my previous ideas a little more as I'm on my PC today :D and can easily write way more detailed examples.

HelloZeroNet commented 9 years ago

Thanks for explaining. :) Sounds interesting, later I will check it even deeper.

ArKam commented 9 years ago

No problems thanks a lot for your effort with ZeroProjects and to have take time to read my request.

Just to add a final example about p2p website decentralized services, try to read some of the comments regarding the Bittorrent Maelstrom Browser project to avoid kinda ugly design.

Especially on the Static vs Dynamic serving systems and Security/Privacy regarding the way the software share the served pages and retrieve them to the users:

http://blog.bittorrent.com/2014/12/10/project-maelstrom-the-internet-we-build-next/ && http://blog.bittorrent.com/2014/12/10/project-maelstrom-the-internet-we-build-next/#comment-1736424276

I'll closely follow your updates on all the zero's projects ;-) way more interesting technology in here than everything I heard of on the Internet for now :D

HelloZeroNet commented 9 years ago

I have tried the BitTorrent Maelstorm about 1 month ago (found on a russian forum :) ) and I was not impressed. Its basically a torrent client embedded into a browser. I had the Zeronet idea for a while in my mind, but tried to convince myself its not a good idea/not going to work. Then I seen the BitTorrent guys working on similar idea and throughout: If they thinks its a good idea maybe it is. (Written first lines of codes exactly 1 month from now)

ArKam commented 9 years ago

Yep, their implementation of the p2p web is not the right one I think. I deeply think that p2p is the right solution to build a bright new decentralized Internet as the global bandwidth increase every day and in the same time more and more company like Virgin / Google / Facebook etc try to build grid and outer-space networks to avoid the current ISP Controlled one.

I'm working on p2p projects too so, when a friend of me linked me your work, I was really impressed by how it has been done so far and how far you are on it.

Keep going on, this is a good, interesting and rewarding project.

HelloZeroNet commented 9 years ago

Namecoin .bit domain support added in 0.2.8: b122f471003e3c293513671d7d53f63c7c6d5753