Here is my proposal for the use of a portion of the DAO funds.
Research and find partners to develop a decentralized way to compute and manage the state of the world in real time.
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.
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.
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.”
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.
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.
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."