Hacker News new | past | comments | ask | show | jobs | submit login
ZeroNet: Decentralized websites using Bitcoin crypto and the BitTorrent network (zeronet.io)
303 points by csantini on Oct 2, 2017 | hide | past | web | favorite | 74 comments

Does anyone else see it as an issue that the decentralized website solution to databases is to create a copy of a SQLite database on every user's machine?

I agree. This is the biggest technological issue for zeronet imo.

Every time there's a change to the db you need to download a whole new copy afaik.

Ideally you'd use a log based store. To do this you need to fundamentally change your idea for how a website works.

With a distributed log store chances are you won't have the same data as another person.

See Dat.

> The two systems also have a number of differences. Dat keeps a secure version log of changes to a dataset over time which allows Dat to act as a version control tool. The type of Merkle tree used by Dat lets peers compare which pieces of a specific version of a dataset they each have and efficiently exchange the deltas to complete a full sync. It is not possible to synchronize or version a dataset in this way in IPFS without implementing such functionality yourself, as IPFS provides a CDN and/or filesystem interface but not a synchronization mechanism.

Above quote is from "How is Dat different than IPFS?" https://docs.datproject.org/faq

The Dat web can be browsed on Desktop with Beaker Browser https://beakerbrowser.com or on Android with Bunsen Browser https://github.com/bunsenbrowser/bunsen.

* Disclaimer: I'm helping out with the development of Bunsen. You should too!

Just a minor correction: if you provide a stable API for querying the database, you can ignore the technological details on the caller side, the website.

WHat's stopping governments to just kill access to the api?

See Dat / Beaker Browser for Desktop / Bunsen Browser for Android. Dat hosted websites can be distributed online or offline. A write up on how that works: https://github.com/bunsenbrowser/bunsen#millions-of-people-u...

https://docs.datproject.org/faq - https://beakerbrowser.com/ - https://github.com/bunsenbrowser/bunsen

What do you mean kill access to the api. The api is provided by the client.

On ZeroNet you only have to download the data once, after that you only going to receive the diffs/changed parts for the database.

PouchDB is the correct solution here.

PouchDB is great! But it doesn't offer a discovery mechanism. Dat is solution that offers this but uses a similar log based system for distributing changes.

Thanks for pointing that out

Do you mean a Blockchain like Ethereum? :)

Are there any discussions on this about ethereum? As more and more smart contracts are deployed the space needed to hold the blockchain will grow way faster than bitcoin.

Yeah, but memory space increases every year and gets cheaper. So this shouldn't be too much of a problem, right?

consumer network speeds aren't increasing much every year.

Moore's Law

AFAIK Moore's law is dead in the water

I'm following the developement of zeronet for the past 3 years. I'm not convinced that it is the final solution to the decentralized internet. A main thing that bothers me is the insane lookup-time for site with a low distribution. The same problem occurs with ipfs btw. It takes up to one minute to find a the correct node when only one node hast the content-hash.

I need to read the IPFS paper but surely there's some kind of DHT to find data?

Right, and finding rare content in that DHT is going to take a while.

Finding "interesting" content would be a more accurate description of the problem.

DHTs are not fast (or secure, but that’s another story).

Show HN: TorrentPeek – Distributed search engines using BitTorrent and SQLite | https://news.ycombinator.com/item?id=14130280 (Apr 2017, 33 comments)

By putting an SQLite database file (.db) inside a torrent, we can query its content -- by prioritizing pieces based on the SQL query -- and quickly peek at the content of the database without downloading it entirely.

Is the content I would host visible to me? How could I avoid to host child pornography? I'm eligible for hosting such a content im not aware of? That's the questions I would like to get answered.

Yes, you host only the pieces that you've downloaded on a specific website and you can delete them if you want.

They say

"You start serving sites as soon as you visit them"

I'm not comfortable with that at all. Distributing content has very different legal implications than just viewing it, especially when it comes to pirated content.

But there's also optional files, which are not downloaded when you visit the site, only when you request the files. These are used for images, videos, etc. Many sites use these now, especially the ones that have porn or illegal content. If you visit a site and find that you don't want it on your hard drive, you can simply delete it.

>If you visit a site and find that you don't want it on your hard drive, you can simply delete it.

But that's only after I have already started serving that content to others, is it not?

In related news, another similar technology (Blockstack):



Last time I used that project I was trying to migrate my wordpress to zeroNet and I failed because my wp-content/images is over 3Gb and ZeroNet website is (was?) limited to 100Mb. Has this changed, are they tools that migrate images to separate addresses and link them correctly in html files?

ZeroNet is better at dealing with such sites now but it's still problematic when a site grows past a threshold where requestors need to be prompted to increase the size. Nodes that are just seeding don't automatically seed the changed site since they don't respond to the size change request.

One way of dealing with it is to make the images "Optional content". This means they are not sent to requestors of the site immediately - they are requested only when specifically wanted. Users can choose to seed optional files - in which case they'll mirror them all - or they only seed the ones they've looked at. Optional files don't count towards site size limits.

Shouldn't they combine it with IPFS for static content storage then? Or does IPFS have the same limitation?

There's no such limitation in IPFS -- currently the largest known dataset is about 3.8 TB, a mirror of https://cdn.media.ccc.de

I think IPFS would make a good backing store for ZeroNet. Rather than storing files on the filesystem of the user they could be stored in IPFS.

No, and the default limit is 10mb. Your site can request more though and or you can use zerocdn?

Interest in decentralized web solutions seem to be on the rise. I wonder why and if they have any real world benefits for me as a publisher?

All the stated benefits are non-issues for me:

* Uncensored

I never been censored.

* No hosting costs

I serve hundreds of thousands of users per month for something like $20.

* Always accessible

Just like hosting costs, my downtime is negligible.

> I never been censored

Have you never self-censored?

That would be a benefit to him as a publisher you are proposing he give up, in that context.

Other people's freedom valuable to us.

You might never have been censored, but then you likely never said much that would upset powerful people. But you live in a society that is rich and (mostly) free because others have done so.

Control is democratized instead of in a single corporations hand

If you are interested in this, you might be interested in Archain (https://www.archain.org/) - a different solution to a decentralised sister internet.

I can bet my 0.1000 bitcoins that news headlines will pop up soon as follows: "China bans ZeroNet" :) Wait & see...

I don't know whether it is banned there or not, but when you join ZeroMe (zeronet's decentralized twitter) you quickly realized how it's populated with chinese sites and profiles

There are other solutions being pushed in Hong Kong, called BlockStack. It looks very similar to ZeroNet


I believe it is 100% feasible to create a decentralised, secure network for static content - i.e. static sites. Combined with powerful (and secure) client-side APIs we are on a good track to success. I am not sure what this is but I am sure going to give it a try.

Curious about using Tor for anonymity. Tor explicitly asks users not to use it for bittorrent for many reasons. So if I have a ZeroNet site serving a nice big video over bittorrent, does my visitors' using Tor for anonymity go against their best practices?

As soon as you add an anonymity layer you've basically reinvented Freenet

ZeroNet doesn't use bittorrent for file transfers. The bittorrent network is only used for the DHT to map site addresses to IP addresses (or TOR hidden service names).

File transfer is done over a service that ZeroNet runs on a particular port with its own protocol.

Sorry I have not investigated deeper myself, but does this service still preserve sender/receiver anonymity? A link about it would be just fine, thanks.

DHTs are not fast (or secure, but that’s another story).


A distributed web site using a blockchain is what I'd proposed as a solution the the DCMA ad block debacle.


What happened to IPFS and Filecoin?

IPFS still looking very strong

How do you account for content unavailability when a node shuts down/ runs slow?

All sites that viewed an existing site contain a copy of it and share the data. There is a "thundering herd" problem of multiple requesters for the site initially being distributed but once that's done then multiple nodes will have it and can seed it. The original site shutting down is no problem at that point.

IPFS shares the same problem and knowing when it's safe to shut down a node in both IPFS and ZeroNet is difficult.

Freenet solves this by having an insert of data sent directly to peers immediately. The site isn't stored on the inserting node. Once the insert is done it's safe to close the node and the content is still available.

I like how it's an eye candy.

I guess there's a lot of opaquenets already, and it's not the feature richest, but this one you can have running in under five minutes.

I was actually using it for some torrents but currently ZeroTV is down :(

You should be investing in Namecoin if you believe in a decentralized web structure.

This is very similar to maidsafe. Except maidsafe pays you for hosting. Does this?

ZeroNet does not pay you for hosting. Maidsafe is more file storage, ZeroNet is more about distributed site sharing. ZeroNet could be implemented on top of Maidsafe but not vice versa. There's also the fact that ZeroNet works today, has been working for a year or two, whereas Maidsafe is still in test stages.

Why does ZeroNet not host their website on ZeroNet and uses a .bit domain?

Downloading the client for the first time would be a tad inconvenient...

oh man, i hate those software that automatically try to guess the user language! even more annoying when it chooses the wrong language for you. in my case PT (Portugal) instead of PT-BR.


How is this different than FreeNet?

FreeNet is a distributed key/value store. It can be used to store files by storing the contents of the file under a key that is the hash of the file content. Generally you operate on Freenet at the level of keys and values.

ZeroNet operates at the level of sites. Sites contain multiple files. Seeding of data happens at the site level.

You could implement ZeroNet on top of Freenet but implementing Freenet on top of ZeroNet wouldn't make much sense.

When inserting new data, Freenet pushes data out to nodes. ZeroNet pulls data from requestors. With Zeronet you can't disconnect your node until other nodes have a complete copy if you want the data to remain available. It is difficult to tell when it is safe to do this. With Freenet the data isn't stored on your own node, it is pushed out to other nodes when first inserting. When the insert completes you know you can safely turn off your node. The data remains available.


Is anyone else concerned that this will enable hate groups to more easily collaborate and grow?

I'm much more concerned about hate groups being silenced.

There is a challenge of balance which exists between the two extremes of reliable and censorship resistant infrastructure and responsible and balanced control of the information published on it, as it relates to the health of a group of citizens. For good or bad, the censorship resistant infrastructure piece is coming at us like a freight train in a variety of ways. What is currently needed is a balance in the way we implement the infrastructure such that some information may be segregated from the greater population using variable value assessment.

The logic goes, if some information is more valuable shared privately, then the infrastructure should make it harder to access. Conversely, if some information is more valuable shared publicly, the infrastructure should make it easier to access.

To do this effectively/efficiently, information must become a market commodity and have a means by which the value to access it is governed by the consensus of the viewers. This is made difficult given information may be easily copied by individuals and the current state of affairs with sharing things over social media and the problems with group think.

I would note that "hate groups" are groups who focus on removing choice for others by way of introducing thoughts and ideas which act in a viral manner in the population. Double binds are one form of passive coercion which have made a reappearance within the (cheap) available social media offerings.

It's a possible problem sure but the same issue exists in anything that protects privacy and aims to prevent state censorship. E2E encryption protects activists but can also be used by criminals. Tor provides routes around censorship in repressive countries but there's some really nasty stuff hosted on it's anonymous web. There's no way to design a tool like this that can distinguish between 'good' and 'bad' uses of itself.

Do you believe hate has ever been truly silenced at any point in history? Would you prefer to not know it exists and what it is saying to other people?

I think substratum has a better approach: https://substratum.net/technology/

All these blockchain/decentralized projects remind me of my childhood. Everytime there was a new technology I built cool things just for the sake of doing something with this shiny new tech without actually having any real-world use case.

I think it has very real real-world usecase. The question is if it is good solution.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact