Thursday, July 17, 2014

Distributed Autonomous Corporations

A few months ago I came across the concept of Distributed Autonomous Corporations and I remember being completely fascinated by them. I do not fully comprehend what they are, how they would operate, how they would be implemented, but the concept has got me thinking about distributed programs. I’ll try to explain what’s in my head and maybe someone with more knowledge could come along and explain whether or not what I’m thinking about is a DAC or something else.


Currently, to my understanding, our software applications like games, Google drive, cloud storage, basically any software program with an internet connection are all taken care of from a centralized server. There is this single entity, perhaps Google, Microsoft, Apple, or some other corporate entity, and they have huge data centers, servers that they own and utilize. These centralized servers do the calculations and take care of our requests. This app, program, software, or whatever you want to call it, this digital service provider, is under the control of corporate entities. They are under the control of a collection of humans. If that particular group of humans wanted to shut the program down for some reason, they’d be free to shut it down. The program wouldn't be able to resist in any way. This is because it’s under control of one entity and it also has no “survival instinct”, if you will. The program doesn't care for it’s continued survival, it doesn't care about it’s ability to continue giving the services it gives to people.

Imagine a software program that doesn't reside on one single server controlled by one single dictator. Much like Bitcoin, and all the alt coins, and all the distributed applications that are popping up everywhere. Imagine a program that resides over multiple nodes. Say this program provides us users with a particular service. For example, let’s say this program will ask questions based on words you've given to the program. For it to process the input and output, for it to “survive” it looks like its going to need computing power, bandwidth, and storage space. These are it’s essentials, much like we humans need food, water, sleep, etc. Without these essentials it wouldn't be able to provide the service it’s programmed to provide. Where can the program obtain these essentials? From the users. From the nodes. Imagine a distributed autonomous program, a distributed autonomous service provider that provides you with it’s services in exchange for the essentials(computing power, bandwidth, and storage space) needed for it’s continued survival. If people like the service they will provide the program with the needed essentials and the program will thrive. If the service is not needed it will gradually disappear as the nodes start dropping. It sounds very much like Storj come to think of it. If that’s the case is Storj a DAC?

Have I just explained what a DAC is or have I explained something a bit different. Is this type of program even possible at the moment?

No comments:

Post a Comment