|
August 11, 2021, 02:01:20 PM |
|
I think I have a unique idea: Distributed and connected apps. Blockchains are big interconnected networks, and information is distributed to all nodes. But it is not used for useful communication, besides transferring the transactions of the blockchain. For example a multiplayer game could connect multiple users in realtime, or the network could be used for a chat application like Discord or Slack.
I would define an API on top of a blockchain, to send messages to one node, or a group of nodes in realtime. This would allow someone to write a server, which manages multiple nodes, and a client software which interacts with the API, for P2P or multiuser applications.
Additionally I would implement a way to start programs in a secure environment. For example someone writes a chat application. A user who wants to use the chat can then install the client part of the application on their computer, and on some other computer is the server installed. In general there would be a distributed computing concept: If someone wants to sell their CPU power, they can offer to run other programs on their computers, for a fee.
The blockchain Golem and iExec implements already such a distributed computing system. But it is heavy and needs a lot of resources. Both systems are using Docker containers as the environment where the applications are executed. So basically this needs to install and run a full virtual Linux system for each task. iExec even recommends to run the whole system inside a Oracle or Virtual Box virtual machine for security reasons (but interestingly, their manual includes steps to import the private keys of an Ethereum wallet inside the virtual machine for the billing process, nothing can go wrong with this). And I don't see an easy way for Golem or iExec to interconnect with other systems, as my system would allow it.
My system would implement a lightweight concept: Instead of emulating a full Linux system, it would be a limited custom virtual machine (VM), with high level custom services for accessing the blockchain communication and for local storage, maybe similar to the Java VM. A user can configure the amount of RAM, storage, and CPU usage they would give the VM. And everything built in one easy to use program with a web interface, which can be installed without problems on Windows, Linux and Mac (iExec and Golem recommend Linux and need WSL for Windows, because of Docker, and the setup is not easy).
Same as with Golem, I would allow to use long running services, or batch process tasks. A game server would be a long running service, but for example calculating a 3D rendering would be a batch process which ends after the calculation.
There could also be a fee to create an account for a multiuser game, or a monthly fee. Someone could implement a massive multiplayer online role-playing game with my system (if the network communication is fast enough for realtime playing), and trading of the items or characters could be integrated in the system. For efficiency and for the 3D graphics output, the game application would run as a native app in this case on the user's system. There would be libraries, or maybe a microservice to the node application, to communicate with the network.
There would be global high level services like a naming registry integrated in the system. This can be used for a messaging system. A user can register their name, and then someone can send them messages by name. But because it is integrated with the blockchain, there could be a fee involved to send a message. This would implement an eMail system where spam is unlikely, because it would be too expensive. Or a celebrity can set a high fee, and only fans who want to pay the fee can contact them.
Or a webserver could run at a named node. There could be a low fee to view the pages, which would give the author of the webpages a revenue for the content without ads.
|