Live data from Hacker News

Reweaving the web: A slew of startups is trying to decentralise the online world

economist.com

61–70 of 72 posts

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#61
post #38
post #35

> Then there is the question of how decentralised services will earn their keep. [...] More fundamentally, an internet that eschews control points may be one that affords firms less opportunity to build profits. To create a return that makes venture capitalists happy, the new tech firms will almost certainly come under pressure to get ever bigger. This seems to me the core problem and contradiction of the current ini…

>> I think it is the misunderstanding of how decentralized applications work. The seeds decide about nothing during runtime. In an ideal scenario the seeds execute the application without being able to make any decisions terms of the business logic. That's how the trust between seeds can be established by executing the common functions i.e. Bitcoin mining or performing the Ethereum smart contracts by executing the ap…

This is only relevant for global objects for which no node is the authority. Do you really need it for, say, threaded conversations?

Decentralization can be a achieved to a great degree by simply taking federation to its extreme.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#62
post #38
post #35

> Then there is the question of how decentralised services will earn their keep. [...] More fundamentally, an internet that eschews control points may be one that affords firms less opportunity to build profits. To create a return that makes venture capitalists happy, the new tech firms will almost certainly come under pressure to get ever bigger. This seems to me the core problem and contradiction of the current ini…

>> I think it is the misunderstanding of how decentralized applications work. The seeds decide about nothing during runtime. In an ideal scenario the seeds execute the application without being able to make any decisions terms of the business logic. That's how the trust between seeds can be established by executing the common functions i.e. Bitcoin mining or performing the Ethereum smart contracts by executing the ap…

That doesn't match with my observations of the few decentralized systems we had working so far (e.g. Bittorrent, IRC, federated messengers or the WWW seen as a whole.)

To take the WWW as an example, the W3C once tried to unilaterally update the system with XHTML2 and utterly failed, because none of the peers were adopting the change. But even the browser vendors don't have (or didn't have at least) the full control: they were bound by backwards compatibility of existing sites and by the threat of new browsers or forks emerging. Finally, the peers can change what they are executing by using extensions or forked browsers.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#63
post #48
post #44

Earlier quoted context omitted.

I don't think bootstrapping per se is a problem. You only have to do it on first install and this allows for a simple solution to distribute bootstrapping in time, i.e. changing hardcoded bootstrapping data every N minutes, so new users could bootstrap from different nodes, than the users before them and so on. A bigger problem is how software is developed. The development itself is centralized, but even worse, tradi…

I am sorry, but centralized network bootstrapping is a very well known issue and unsolved problem of decentralized networks. http://ryandoyle.net/assets/papers/Distributed_Bootstrapping... http://grothoff.org/christian/dasp2p.pdf http://www.net.in.tum.de/fileadmin/TUM/NET/NET-2014-08-1/NET... You say: "i.e. changing hardcoded bootstrapping data every N minutes, so new users could bootstrap from different nodes" The f…

Is a fallback to IP scanning a valid option to centralised bootstrapping? Lets say you have connected to 20peers during a session, u could use that list as a start for your scanning activities, because if there is one IP, there might be possibly more Ips close by that also provide the service?

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#64
post #53
post #51

Earlier quoted context omitted.

>> Well, I am not assuming anything. I am talking about a fundamental problem of decentralized networks: the current bootstrapping of networks is centralized. Please refer to the quoted papers and there are many other research papers as well which describe this existing problem. >> You are misunderstanding the problem. The point is a) we should never ever hard code the seed information into the application and conseq…

> we should have a protocol level solution No! This is a problem that solves itself once you solve a binary distribution problem. But none of the papers you refer to address the problem of the centralized binary distribution and jump right to the protocol level for some reason. It doesn't work like that.

I don't want to be condescending and I apologize if I sound like that, but I think you totally misunderstand what the problem is.

What difference it makes if you disseminate a fundamental design problem (i.e. the bootstrapping of the network is centralized) with a different type binary distribution? Whichever method you use for binary distribution, the distribution will deliver the very same existing problem. Again, please refer to the quoted papers to understand why the centralized network bootstrapping is an issue.

On the note of binary distribution, yes that is an issue as well and it would be nice to have a decentralized binary distribution, but again, that is an entirely different problem. BTW, I think our application Streembit can be used for decentralized binary distribution as well.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#65
post #53

Earlier quoted context omitted.

> we should have a protocol level solution No! This is a problem that solves itself once you solve a binary distribution problem. But none of the papers you refer to address the problem of the centralized binary distribution and jump right to the protocol level for some reason. It doesn't work like that.

Could you please explain why it doesn't work like that?

It's very common in distributed system to push problems between different levels and ignore them, instead of addressing them.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#66
post #64
post #53

Earlier quoted context omitted.

> we should have a protocol level solution No! This is a problem that solves itself once you solve a binary distribution problem. But none of the papers you refer to address the problem of the centralized binary distribution and jump right to the protocol level for some reason. It doesn't work like that.

I don't want to be condescending and I apologize if I sound like that, but I think you totally misunderstand what the problem is. What difference it makes if you disseminate a fundamental design problem (i.e. the bootstrapping of the network is centralized) with a different type binary distribution? Whichever method you use for binary distribution, the distribution will deliver the very same existing problem. Again,…

I think it's the other way around. You don't want to see that bootstrapping depends on the binary to be present on the node somehow and for some reason you think that solving bootstrapping makes sense even if it depends on another completely unsolved problem. It doesn't. You solve the first problem and only after that move on to the one that depends on this problem being solved.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#67
post #63
post #48

Earlier quoted context omitted.

I am sorry, but centralized network bootstrapping is a very well known issue and unsolved problem of decentralized networks. http://ryandoyle.net/assets/papers/Distributed_Bootstrapping... http://grothoff.org/christian/dasp2p.pdf http://www.net.in.tum.de/fileadmin/TUM/NET/NET-2014-08-1/NET... You say: "i.e. changing hardcoded bootstrapping data every N minutes, so new users could bootstrap from different nodes" The f…

Is a fallback to IP scanning a valid option to centralised bootstrapping? Lets say you have connected to 20peers during a session, u could use that list as a start for your scanning activities, because if there is one IP, there might be possibly more Ips close by that also provide the service?

What you suggest with regards to the 20 previous IP is called seed caching, and yes, that is what many, probably most P2P network do. While it works most of the time on large networks, but it is obviously not the solution, because it cannot be guaranteed that any of the previously active 20,50, 100 nodes is still listening in a later time. Also, such caching and scanning does not solve the fundamental problem of knowing the seed IPs at the very first connection, prior when you populated the cache the first time. The question is, how we solve this problem without having a hard coded list of IPs that usually P2P software ship in the source code.

Other techniques and several research papers suggest that scanning of a wide range of IP by guessing what could be a connected node is an option as well. In theory it certainly works, if you scan the whole internet then soon or later you will find a connected node and in theory it does solves the problem of centralized bootstrapping, but all these papers also agree that such scanning could be terribly inefficient.

What I mentioned, mDNS and UDP multicasting work fine on local networks, and we are experimenting with IPv6 anycast on global network to solve this problem.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#68
post #66
post #64

Earlier quoted context omitted.

I don't want to be condescending and I apologize if I sound like that, but I think you totally misunderstand what the problem is. What difference it makes if you disseminate a fundamental design problem (i.e. the bootstrapping of the network is centralized) with a different type binary distribution? Whichever method you use for binary distribution, the distribution will deliver the very same existing problem. Again,…

I think it's the other way around. You don't want to see that bootstrapping depends on the binary to be present on the node somehow and for some reason you think that solving bootstrapping makes sense even if it depends on another completely unsolved problem. It doesn't. You solve the first problem and only after that move on to the one that depends on this problem being solved.

>>

No. The problem of centralized bootstrapping that is an existing and real issue of decentralized networks (see the quoted papers and my above explanation) does not depend on the problem of "binary distribution". In fact it has nothing to do with "binary distribution". If a user builds the software from source - so the user avoids any "binary distribution" - then the user still have the problem of centralized network bootstrapping.

It seems you don't understand that the problem of centralized bootstrapping is a generic information technology problem of all users, regardless what was the method of "binary distribution" if any. That's fine, it was a good discussion, but I exit from this debate with you which is becoming meaningless now :-) Thanks for sharing your view" :-)

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#69
post #68
post #66

Earlier quoted context omitted.

I think it's the other way around. You don't want to see that bootstrapping depends on the binary to be present on the node somehow and for some reason you think that solving bootstrapping makes sense even if it depends on another completely unsolved problem. It doesn't. You solve the first problem and only after that move on to the one that depends on this problem being solved.

>> No. The problem of centralized bootstrapping that is an existing and real issue of decentralized networks (see the quoted papers and my above explanation) does not depend on the problem of "binary distribution". In fact it has nothing to do with "binary distribution". If a user builds the software from source - so the user avoids any "binary distribution" - then the user still have the problem of centralized netwo…

> If a user builds the software from source

Again, sources do not emerge out of thin air and have to be shipped to users somehow. No matter what you do, user must get the software first to bootstrap. And since bootstrapping always requires information from the sources it cannot be considered a separate problem until you solve the problem of shipping that information to users in a decentralized way.

All of the so called "decentralized" software is fundamentally broken at the moment.

Re: Reweaving the web: A slew of startups is trying to decentralise the online world

#70
post #69
post #68

Earlier quoted context omitted.

>> No. The problem of centralized bootstrapping that is an existing and real issue of decentralized networks (see the quoted papers and my above explanation) does not depend on the problem of "binary distribution". In fact it has nothing to do with "binary distribution". If a user builds the software from source - so the user avoids any "binary distribution" - then the user still have the problem of centralized netwo…

> If a user builds the software from source Again, sources do not emerge out of thin air and have to be shipped to users somehow. No matter what you do, user must get the software first to bootstrap. And since bootstrapping always requires information from the sources it cannot be considered a separate problem until you solve the problem of shipping that information to users in a decentralized way. All of the so call…

It seems, you are trying to decentralize the who world which I think is a) unrealistic b) doesn't make sense. On the other hand, we are trying to solve specific use cases with decentralized applications. For instance Bitcoin implements a decentralized payment network to address a specific use case and our application Streembit implements a decentralized communication framework for humans and machines.

I am perfectly comfortable with disseminating the source via the centralized Github, though it would be nice to have a decentralized source control system. Users trust me and get the source from my repository. Users who don't trust me can fork the software and modify or distribute for themselves from the repo of a trusted person. The source distribution is centralized, but so be it. Once the users have the source/binary via Github the application addresses several use cases in a decentralized manner. I don't see how the centralized source repository invalidates the runtime soundness and robustness of a decentralized payment or communication P2P app. At the sametime, the runtime soundness and robustness of decentralized payment or communication P2P applications seriously affected by the centralized bootstrapping.

>>

Quite true, but it is broken, because of the centralized bootstrapping, and not because of the source code is managed by a centralized repository application. I can drive with my car to your place and give the source code to you in person, which will be the ultimate decentralized source code distribution, but the issue I was talking about (centralized bootstrapping) will still exists once you run the software. I am talking about design and runtime problems of decentralized networks, and you have been talking about something different. Anyhow, thanks for the chat and all the best! :-)

Post reply on HN