When the BitShares devs get a little uppity, I love to remind them that what they are doing is not exactly rocket science.
But, while trying to find a way to communicate the architecture of BitShares to folks on other forums, I've stumbled on the following description, drawing on my past experience with continuously reconfiguring fault-tolerant flight control systems
. (Yes I wrote a technical report with that title back before there was an Internet or even a word processor.) See if you buy this way of describing the BitShares architecture:
We tend to get three different attributes mixed up causing endless confusion even among men of good will.
Throughput Scalability and Fault Tolerance and Decentralized ControlFault Tolerance.
are three different concepts.
We are saying 101 highly-reliable, tested and proven, hand-picked parts dispersed across the globe and selected by the entire owner population is sufficient redundancy
to achieve reliable fault tolerance
. The only thing those parts can do is -- do their job to spec. We can observe their performance and swap them out in ten seconds if they don't perform to spec. So, really, they are just interchangeable slave machines. Producing the blocks is a mindless task.
Selecting which parts make up the machine is where the power lies.Decentralized Control.
The total decentralized population of the all owners participate in selecting the most reliable machines to run the network. Those 101 parts have no power over the owners. 101 dispersed redundant parts is a decentralization red herring!
That's not where control lies. Those 101 chosen nodes can be completely reconfigured or replaced by the fully decentralized participating owners in 10 seconds.
We have decentralized p2p controlThroughput Scalability
of a distributed, fault-tolerant computer
implementing an autonomous unmanned company
running a decentralized crypto currency exchange
which produces stable smart-coin products.
is also entirely different. Any of the 101 nodes can scale up by adding parallel machines, side chains, and a thousand inventions we haven't dreamed of. When we get to a billion owners and need a thousand machines per node, we can do that. It will still be decentralized enough to ensure that the 101 (now bigger) parts that make up the distributed, fault-tolerant machine will perform their mindless slave jobs reliability - from positions scattered across 24 time zones.
Those million decentralized owners do not want to have to think about managing more than 101 redundant parts to their machine. 101 is plenty, maybe too many, for the average owner to keep track of how they are performing. Adding more parts reduces
the degree to which each part can be vetted and therefore reduces
the system's reliability. Total reliability is a combination of node redundancy and node reliability via reputation-based vetting.
In BitShares, absolute control is fully decentralized
down to the votes of every single atomic BTS satoshi. You can't get more decentralized than that.