Live data from Hacker News

Decentralize All the Things

techcrunch.com

21–30 of 68 posts

Re: Decentralize All the Things

#21
post #9

I have been playing with an idea to decentralize search (or, more generally, information processing). I would consist of - a publicly available hierarchical type system (similar to how classes look like in an OOP language with multiple inheritance). For example, URL is a type, or set of search terms is a type. - any number of nodes on the net. Each of them would provide a mapping from a set of input data to a set of…

Very interesting. How about creating a github project for this? Would like to follow.

Blockchain based DNS systems already exist. Web search mostly builds on links and DNS. If one thinks about it TLD names are pretty much fixed, where as in Namecoin they are subject to consensus. What one can do, and that's one example out of many, is create unique hashes for any content to create indestructible information.

Re: Decentralize All the Things

#22
post #2

Uhhh, either I don't get what they are trying to say or the article doesn't really say anything at all? They state the example that a bitcoin like blockchain isn't the right solution for distributed email? Well no shit? A few paragraphs before that they even say "blockchain is a distributed database", well you don't want a distributed database to deliver messages to individuals. And yes, torrent doesn't need a databa…

Did I miss the message they were trying to convey? Nope, you had it in your first sentience, the article doesn't really say anything at all. I've recently started considering TC's coverage "tech-adjacent", a poorly-formed idea that their target audience is people who work in or with tech-heavy fields, but would never be called on to design or implement systems themselves. TC can talk tech-adjacent stuff to techies, o…

Agree. I liked the concept of the article if not the title. From there, I was quickly disappointed. Mainly what happens to me is I look for evidence to support (or refute) an idea I'm mulling. This piece fell short in that I couldn't easily refer others to the article and expect them to come away with any increased understanding.

If anyone knows of a good treatment of centralized/distributed at the service or team levels, please do share.

Re: Decentralize All the Things

#24
I agree with the premise of the article but there's more to consider than just the blockchain. There are three issues that must be dealt with when trying to make it easy for developers to create decentralised systems that can withstand the test of time. There are a number of (open-source) things I'm working on that could help so I'll describe in terms of the problems they're solving.

First is the issue of how one creates, deploys and manages the whole lifetime of an application. The current stacks are not up to the task given the huge complexity, footprints and vulnerabilities we see. All the tools we currently see are stopgaps that attempt to paper over the cracks. This will become even more important (and visible) as the Internet of things becomes a reality. IMHO this is where unikernels such as Mirage OS can be very impactful [1].

Second is the issue of how data is synced and pushed around. As indicated in the article, the blockchain is not appropriate for this. Bit-torrent may provide some of the answer but not all of it. We needs systems that can track provenance that can be composed in the way most appropriate for a given application. The Irmin datastore, which is based on the principles of Git, is one approach to this [2].

Third is the dual problem of identity and how to form secure end-to-end connections over the modern Internet (with all the middleboxes and NATs we now have). This is clearly something all the central providers want to control by being your One True Identity - but as we already know from the pseudonym problems, humans are not that simple. A nascent project called Signpost aims to tackle this [3].

One of the use-cases I'm working towards is to make it trivially simple for users to run their own core infrastructure of Mail, Contacts and Calendars [4]. Building things on top of this infrastructure then becomes more compelling and it's just as applicable to business as it is to individuals.

Even though I've listed the tools that I think will alleviate the issues, the fact remains that all these problems needs to resolved somehow - otherwise we'll be back to centralised systems regardless. In addition, I've only mentioned the technical challenges — the business model challenges are another thing entirely.

[1] http://openmirage.org/wiki/overview-of-mirage

[2] http://openmirage.org/blog/introducing-irmin

[3] http://nymote.org/docs/2013-foci-signposts.pdf

[4] http://nymote.org/blog/2013/introducing-nymote/

Re: Decentralize All the Things

#25
post #9

I have been playing with an idea to decentralize search (or, more generally, information processing). I would consist of - a publicly available hierarchical type system (similar to how classes look like in an OOP language with multiple inheritance). For example, URL is a type, or set of search terms is a type. - any number of nodes on the net. Each of them would provide a mapping from a set of input data to a set of…

How would you guarantee the trustworthiness of a node? How do you guarantee that a node is actually doing what it is supposed to and not inserting malware into its results? Reputation systems can be gamed (and will be if there's money at stake). I like the notion of trustworthy, general-purpose, publicly distributed computing: http://unenumerated.blogspot.com/2014/12/the-dawn-of-trustwo...

I don't know, maybe you cannot guarantee it -- similarly, you cannot guarantee the trustworthyness of Google, or Verisign, etc. They have good reputation in general (let aside the recent NSA stuff), therefore you trust them when you use them. Current systems can be broken as well (starting from DNS poisoning to hacking the actual service, etc.). The idea is not to fix all the problems once -- I'm mostly concerned with a) distributing responsibility, data and therefore power across more parties b) lowering barriers to entry into complex information processing, and as a result, increase innovation. A bit like a cathedral vs. bazaar approach.

Again, I don't consider myself a computer wizard who could implement every aspect of this stuff; I am mostly interested in the algo that selects/evolves processing routes based on queries. But then there's the security, payment, service discovery, etc.

Re: Decentralize All the Things

#26
post #9

I have been playing with an idea to decentralize search (or, more generally, information processing). I would consist of - a publicly available hierarchical type system (similar to how classes look like in an OOP language with multiple inheritance). For example, URL is a type, or set of search terms is a type. - any number of nodes on the net. Each of them would provide a mapping from a set of input data to a set of…

Very interesting. How about creating a github project for this? Would like to follow. Blockchain based DNS systems already exist. Web search mostly builds on links and DNS. If one thinks about it TLD names are pretty much fixed, where as in Namecoin they are subject to consensus. What one can do, and that's one example out of many, is create unique hashes for any content to create indestructible information.

Maybe in the near future I'll create some kind of skeleton, but I have to write this down properly, not just in a HN comment.

Blockchain is not something that I'd use for these kind of stuff as it trades computational power for trust. As it came up somewhere else: the whole Bitcoin accounting could be run on a Raspberry Pi if we trusted the guy who owns the RPi -- but people who want to use BC don't trust anybody that much. Current DNS systems are based on trust and they work reasonably well, and I think while the blockchain paradigm is fashionable and fascinating, it does not need to be applied to every single kind of problem in distributed computing.

Re: Decentralize All the Things

#27
I sometimes think network programming is a little hairy and makes p2p apps pretty difficult to make. I wonder what can make it a little easier, like some networked filesystem or protocol... I guess there isn't anything really relevant.

I wonder if something like bittorrent or libtorrent, which seems to be a state machine, could be integrated as a kernel module so it can offer a more diverse set of network programming tools. For example I can easily find a CSS, JS, php or ruby framework, but there's nothing like a reliable DHT library.

There's not enough demand for it though, but I wish there was.

Re: Decentralize All the Things

#28
post #9

I have been playing with an idea to decentralize search (or, more generally, information processing). I would consist of - a publicly available hierarchical type system (similar to how classes look like in an OOP language with multiple inheritance). For example, URL is a type, or set of search terms is a type. - any number of nodes on the net. Each of them would provide a mapping from a set of input data to a set of…

It already exists and it is called Ethereum.

https://www.ethereum.org/

Re: Decentralize All the Things

#29
post #27

I sometimes think network programming is a little hairy and makes p2p apps pretty difficult to make. I wonder what can make it a little easier, like some networked filesystem or protocol... I guess there isn't anything really relevant. I wonder if something like bittorrent or libtorrent, which seems to be a state machine, could be integrated as a kernel module so it can offer a more diverse set of network programming…

The only things that make p2p programming hard are firewalls.

Re: Decentralize All the Things

#30
post #9

I have been playing with an idea to decentralize search (or, more generally, information processing). I would consist of - a publicly available hierarchical type system (similar to how classes look like in an OOP language with multiple inheritance). For example, URL is a type, or set of search terms is a type. - any number of nodes on the net. Each of them would provide a mapping from a set of input data to a set of…

Check http://yacy.net/
Post reply on HN