[DAO proposal] Decentralized computing of world's state

Status: DRAFT

Hi!
Here is my proposal for the use of a portion of the DAO funds.

Summary

Research and find partners to develop a decentralized way to compute and manage the state of the world in real time.

Abstract

We need to find a way for the scenes to run all the necessary code in a decentralized manner, either on the client or using decentralized servers.

The blockchain is, in fact, exactly that: a decentralized computing platform. It is not just a database, it is also a massive CPU.
We pay gas so other people help us perform computations and store the results on the blockchain.

Motivation

Right now the world is mostly static, it can be modified by the code on the scene that runs on the Web Client.

To allow more complex interactions (multiplayer) developers are forced to use centralized servers. This is efficient, but undermines the decentralized nature of Decentraland.

The more interesting scenes can stop working at any time if the code in the “server side” becomes unavailable.

Specification

New techniques like Proof of Stake and the use of Validators could help. Current systems can be used as a reference.
Ton (not endorsing it) for example aims to become “a huge distributed supercomputer, or rather a huge “superserver”, intended to host and provide a variety of services.”

Open questions

  • How much money should be allocated to this task?
  • Who will do the research?
1 Like

Some ideas:

  • Could use Java Virtual Machines
  • Could allow services to make transactions using multi signature across many validators
  • The amount of validation needed for a services could be configurable, some services need real time performance, others need precision.
  • Rolling back and recalculation is not big deal, happens all the time, like in multiplayer games.
  • How clients and services keep secrets?

Maybe I should start a project to enable this if none exists? :laughing:

Definitely a very interesting proposal!

It will be really difficult and challenging to find a good balance between verificable, and performant. Scenes that requiere real-time will probably want to avoid validators all together, since they will only add more delays.

One possibility could be to add this new state service to the Catalyst servers, and maybe we could use the DAO could start funding for better community servers.

PD: just adding a little video that explains really well a possible way to build multiplayer experiences. It is fully centralised, but it could work as an inspiration.

1 Like

Amazing talk, really clarifies a lot of things about ECS for me and shows the challenges associated to maintaining and updating the state.

Maybe DCL could start without validation, as a service in the Catalyst servers like you say, just trusting that the correct code will be run in a similar way that now we trust that the correct code (scenes) will be sent to the client.

That would serve as a test to later implement some kind of validation.

1 Like

Found this interesting project with the goal of creating decentralized serverless games, they are active and BattleRacers is a partner.

Its technique apparently is to create private PoW blockchains.

Some interesting projects to look for decentralized computing and database management:

They all use some kind of Workers and Validators

A company promising “persistent, unsharded, real-time platform with infinite scalability”. might worth follow they work.

"The RP1 Platform provides the foundational layer upon which the Metaverse will be built. We have created an infinitely scalable platform that can synchronously connect hundreds of millions of users to one another in a real-time, persistent virtual world, without the need for sharding. This capability solves the fundamental obstacle currently standing in the way of achieving a true Metaverse.

The RP1 Platform’s architecture allows for 100% linear scalability of CPU, threading, memory utilization, and bandwidth. RP1 will synchronously host 100M concurrent users on less than 5,000 servers."