Hacker News new | past | comments | ask | show | jobs | submit login
Distributed web not ready for Runet cutoff from the Internet (ctrl.blog)
85 points by agentofuser on Feb 15, 2019 | hide | past | favorite | 45 comments



One of them that will, or at least should be able to continue, is scuttlebutt. Scuttlebutt clients on an isolated LAN can share messages with each other. To go beyond the LAN, you point at a "pub server", which anyone can host anywhere. Yes, only russian-based pub servers will be available, and that assumes they are using russian based DNS to point to them (or have a known static IP). However, for the test of communicating within your region, scuttlebutt will hold up.

The protocol, clients, and pub servers (which are really just automated clients) are designed with an offline-first approach, then local, then regional, then global. Messages are copied between clients as they come into contact with each other. One way to visualize it is by picturing islands of people gossiping locally, and then having ships carry that scuttlebutt from island to island.

https://www.scuttlebutt.nz/


Isn't the design motivated in part because one (or more) of the key contributors actually are/were sailors?

https://www.theatlantic.com/technology/archive/2017/05/meet-...


Yes, and that's why it's called "scuttlebutt".


> To go beyond the LAN, you point at a "pub server", which anyone can host anywhere.

You could also get messages into and out of Russia by physically moving a laptop or phone with a Scuttlebutt client.

Forgive my ignorance here but, supposing there was a mesh network spanning across the block, would Tor, cjdns, Hyperboria or Yggdrasil be low-level enough to get around a block like this?


Yes, any network link to an outside pub would eventually sync that pub to the rest of the network. This makes Secure Scuttlebutt a [delay tolerant network](https://en.wikipedia.org/wiki/Delay-tolerant_networking).


Both IPFS and Dat will also have working peer-discovery on an isolated LAN as well.


Are there any Russia-based pub servers for Scuttlebutt? Are clients configured to use these by default? Do they rely on any outside infrastructure (e.g. an authoritative DNS server located outside of Russia)?


Scuttlebutt does not come with any bootstrap nodes. You have to either get a pub invite or talk over mdns. Manyverse (a mobile client) also let's you coordinate connections with friends over the kademlia DHT. Most pubs do use DNS for their addresses.


The sad reality of modern "decentralized" software is that organizations, people behind it don't even have any intentions to make it decentralized, to give up control, like BitTorrent did. Nobody cares about the main thing that decentralization is all about - making rule/law enforcement on others practically impossible.

There was a great series of posts about decentralization from BitTorrent people recently:

https://medium.com/@simonhmorris/why-bittorrent-mattered-bit...

https://medium.com/@simonhmorris/if-youre-not-breaking-rules...

https://medium.com/@simonhmorris/intent-complexity-and-the-g...

https://medium.com/@simonhmorris/decentralized-disruption-wh...


> the main thing that decentralization is all about - making rule/law enforcement on others practically impossible

Citation needed.

As far as I am aware, the main aim for dweb stuff is decentralisation, i.e. removing single points of failure, providing a more democratised means for people to store and distribute materials, and lofty-but-perhaps-unrealistic-ideas (if this article is accurate) about community networks separate from the "main internet".

Nowhere on DATs or IPFSs sites for example have I seen anything at all about evading the law? Please can you share your sources for this as it is news to me.


If rules are enforceable on users of the system, you have too much authority in it, it cannot realistically be called a decentralized system. It's irrelevant if it happens to be a peer-to-peer system without a single point of failure on some level.


What are you talking about?


> ...organizations, people behind it don't even have any intentions to make it decentralized, to give up control, like BitTorrent did

Huh? Where is this coming from? Can the IPFS or DAT community leaders reign anything in? There are bootstrap nodes but I'm pretty sure these are just practical stopgaps for now, not a means of control.


> The sad reality of modern "decentralized" software is that organizations, people behind it don't even have any intentions to make it decentralized, to give up control

All the examples of decentralized software mentioned in the article are fully open source. They don't need to "give up control", because they are not necessarily in control.

It is of course true that they run the most used implementation of the software, and that the project is centralized around that. That's mostly a result of these projects being run as meritocracies; any person or group who wishes could aid in removing that initial organizational centralization. The original authors also simply know the most about running their own software in production.


Those people have to put a lot of work to make sure decentralization actually happens, to incentivize others to make and promote other implementations, etc. But they don't even want to talk about it. They want everyone to use the thing they control. There is no decentralization here at all.


> But they don't even want to talk about it.

I think that's a broad generalization, perhaps of your own experiences. There are enough people on the cutting edge that you can constructively talk with.

But remember it's still a meritocracy: 'they' might listen to you, but will only take you seriously if you present your own work to them.


That was an interesting read, thank you.


Bitcoin?


Per sgeisler's comment[1] there's the ability of any individual inside Russia that uses Blockstream's Satellite (free) to essential link Runet with the rest-of-the-world Bitcoin network and maintain global consencus even if there isn't direct internet link between the "two internets". I hope someone takes advantage of that and keep logs.

[1]: https://news.ycombinator.com/item?id=19176785


While in theory Bitcoin is decentralized, in practice roughly half of the coins in existence are from a single mining company and 74% of global mining power currently resides in China, belonging to a handful of owners.

https://bitcoinmagazine.com/articles/report-links-74-bitcoin...


Yet no one can prevent you from using Bitcoin or take away your coins. Seems the protocol design has been highly successful at keeping the functionality itself decentralized.


I can attest that the blog post is accurate, at least for the Dat protocol. We used the BitTorrent mainnet DHT for a while, but results were so bad that we retired it and fell back to our tracker. We're working on the Hyperswarm DHT now to get things more resilient. We're taking up Daniel's other action points as well.


I'm curious, what's wrong with the BitTorrent DHT that you can improve in your own?


Hm, I had thought that go-ipfs saved some swarm peers between sessions, but reading over the docs now I see no evidence of this.


There is no implementation of this in their code either.


Oh lord, what’s this going to do to the blockchains?


At least bitcoin will be mostly unaffected since you can receive blocks via satellite [1] and if even one satellite connected node is inside Runet then you can at least keep up with the blockchain. Sending transactions can be done via sms [2]. The main problem would be mining in Russia, but if miners know about the shutdown in advance and it's economically feasible then they can get satellite internet to upload found blocks.

[1] https://blockstream.com/satellite/

[2] https://twitter.com/SamouraiWallet/status/954271930365947904


is anyone actually using this?


One person is enough. If one person inside Runet receives blocks from the wider internet (via satellite or other means), their client will automatically forward the blocks to all clients they are connected to, quickly spreading them accross Russia. And because Bitcoin follows the chain of blocks that took the most work to create, latency isn't an issue.

Mining (and making a profit while doing so) is more latency sensitive, but should be able to tollerate a satelite uplink. And again, one person having a satelite uplink is enough to give all Russian miners a chance.


Is there even much mining in Russia? My understanding is the overwhelming majority of bitcoin mining is in China.


Mining is mostly a game of getting cheap electricity, and it's hard to beat China (where infrastructure construction is often about creating jobs and projecting power instead of classic profitability).

It seems like electricity prices in Russia are similar to the US. The legal position of bitcoin seems to be worse in Russia though, so you would expect less mining than in the US, and a lot less than in China.


Putting on my conspiracy hat, blocking the global web from within Russia would also make it easier to have huge sweeping "purges" toward targeted groups, without Western interference.


The last time I checked IPFS is a joke. There are only two implementations of IPFS protocol and both come from the same group of developers.

On the other hand, there are so many BitTorrent protocol implementations from totally independent group of developers.

Also, the namespace system of IPFS is just beyond stupid. They openly recommend relying the traditional central DNS to resolve the human readable name to hash.

I didn't bother to examine the Dat, but it looks like worse than IPFS.


There is a version of libp2p written in rust, developed by parity.io: https://github.com/libp2p/rust-libp2p .

IPFS is much younger than bittorrent, so it is not surprising that there are not as many implementations. I am not sure why that makes it "a joke".

All that is needed for IPFS to function in a russia-only internet are a few russian bootstrap nodes. Bootstrap nodes are not in any way special, so any node can serve as a bootstrap node.


Is server side JS a joke because there is basically one implementation, Node? Number of independent implementations is a mostly useless metric in the FOSS world.

* it is not useless for proprietary software since then reliance on a single vendor is a much more serious issue.


> namespace system of IPFS

Namespace companion of IPFS is called IPNS.


> Russia is preparing a nation-wide experiment where the whole country temporarily disconnects from the global Internet to see if the country can rely on Runet alone

I think this is lie, fake news and misinformation. I tried to find the source of it. Lots of site quote RBC website (more or less respectful news agency in Russia). The closest article on this subject is this:

https://www.rbc.ru/technology_and_media/08/02/2019/5c5c51069...

It discusses this topic but doesn’t mention experiments or temporary disconnect. Could be redacted though.


I don't think you are being honest in your attempt to search. It takes no time to find reliable sources for this. Here is for example article from Tass:

https://tass.ru/obschestvo/5914675


This article doesn’t say about “nation-wide experiment where the whole country temporarily disconnects from the global Internet” either.


Why, it does mention them.

> Therefore, they came to the conclusion that market participants need to organize exercises or something similar in order to understand how all this can be implemented in practice.

Edit:

also this

https://www.rbc.ru/technology_and_media/15/02/2019/5c666af39...


There’s huge difference between some experiments on network equipment which doesn’t affect network connectivity and “nation-wide experiment where the whole country temporarily disconnects from the global Internet”.



There is a source for this from Newsweek at the bottom of the original article. It’s been reported by the BBC as well.


https://www.bbc.co.uk/news/technology-47198426

This BBC article. It makes that statement I the first paragraph in bold and then in the second paragraph they explain that they meant the opposite. But who reads past the second paragraph, rights?

I’m so disappointed at BBC. They spread lie and misinformation.

Russia is an authoritarian state, but it doesn’t automatically make all the junk they write about Russia true.


I’m sorry for BBC and Newsweek for spreading misinformation.

Newsweek doesn’t provide the source of information they don’t mention which official told them so so I believe they found it on some other news website and added own comments.

I cannot find BBC article but I recall some BBC article was referencing RBC news.




Consider applying for YC's first-ever Fall batch! Applications are open till Aug 27.

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

Search: