Parent categories: Distributed computing.

Decentralisation with P2P software

How can we use Peer 2 peer software to accomplish distribution

YAML Interest

Centralisation maximizes the chance people will use your software. The problem is that it's brittle and not really fair for the people who have to maintain it on servers they pay for or maintain by themselves.

We could have a federated platform for distribution of processing and data storage. This category is to cover ideas related to decentralisation.

I recommend the decentralise community redecentralize for ideas on decentralisation

Vote (Optional) (suppress notifications) (Optional)
Please, log in.

Yeah, this is definitely an important category, and a link. Will have to describe a few ideas here, that are on other places or within the mind.

I think the ideas of Kademlia are still relevant today.

A distributed key value store can be the basis of a storage backend such as a SQL database. I have demonstrated use of keyvalue storage as SQL backend on

I don't want to use this to share big files like copyrighted music and films but as a backend for apps like or DAOs.

One problem of Kademlia or distribution is security. We have a problem of bad actors and spammers. So we need some sort of web of trust system so your app isn't overloaded with spam. We can achieve this by verifying hosts by marking them as trusted and then we see their content. This way nobody can force you to store spam. If you see spam, you unverify the server and your view goes back to nonspam. Everybody hosts their own information.

    :  -- 
    : Mindey
    :  -- 


Security, precisely. There's no way to run a community module safely. The only way to ensure security is a system of peer review. The traditional security model is a system of proprietary boundaries. Alla's, those proprietors proven not to be trustworthy, for the scheme lacks transparency. I'll start a separate thread on the subject and would really appreciate to hear from others, but I see the solution in developing a bc economy where reviewers are paid for their services and part of the economy, ensuring quality of code. Of course, there's an issue of quality of reviewers and their reviews, and on and on.

Running untrustworthy code is a different problem from querying untrusted sources of data. One is easy to verify - just mark the source of bad data as untrustworthy and do not include it in calculations. You could have a button next to every piece of data to indicate the data's source. So you can easily block or filter out a server's data with one click.

I suspect some form of virtual machine can be created to limit the primitives of data processing for arbitrary code execution. If you had a simple language that can do mathematical operations and call out to a limited runtime. Read-only SQL queries can be safe to run. Write queries such as delete and insert should go to the app host server. You would have communication partners be limited in the runtime so arbitrary traffic cannot be produced. You may want to tie loop execution to data queries so arbitrary busy loops cannot run.

Have added a link to dfinity the internet computer which has its own runtime and language.