On our journey towards a decentralized social network, it soon became clear that Synereo’s needs surpass what the industry has to offer in terms of decentralized computation and storage technologies. Contemporary Blockchain solutions are still slow, wasteful and impossible to scale, and overall unsuited to support a social network, operating at the scale of Facebook or Twitter + Visa or Mastercard.
Facing this reality, the Synereo team understood that we had to develop our own infrastructure, capable of fulfilling the requirements of Synereo’s social network. In point of fact, all the major players who have made significant progress in the decentralization space have come to the same conclusion. Whether we are talking about Ethereum or Steemit, each has decided that the only supportable architectural choice is one where they design and own the Blockchain technology at the basis of their stack. In this sense, Synereo was the conservative hold out.
But we could hold out no longer. And so, in the spring of 2016, we finally set out on that mission. The result is the first prototype of the long-anticipated decentralized “World Computer”, as initially foretold by the Ethereum pioneers.
On our quest for the perfect decentralized social network, we’re building a virtual machine, capable of running decentralized applications (dApps), designed for massive use at blazing speeds. The full Synereo Tech-Stack, in development for over 5 years and initially built to support a social network, matured into a generic decentralized computation and storage platform, where the users of the network provide the resources and call all the shots, without the need for server farms or centralized points of control.
The core-element of the Synereo’s evolved Tech-Stack is RChain, Synereo’s Blockchain 2.0 prototype. RChain is capable of solving well known problems of classical Blockchains, troubling the entire industry for years, while enabling Blockchain based systems to be much faster, infinitely scalable and cheaper to maintain.
All standard Blockchains share one fundamental flaw: in order for the Blockchain to stay reliable and coherent, its entire history has to be replicated on all devices maintaining it. The Bitcoin Blockchain, for example, which records each and every Bitcoin transaction ever performed, and which currently weighs approximately 80 gigabytes, is replicated on the local storage of every node sustaining the network, and there are thousands of them. This is not just unbelievably wasteful and unsustainable, but makes any more complicated use of the system sound utterly ridiculous.
This state of affairs is also true for turing-complete Blockchains like Ethereum or Lisk. Every node (device running the network) has to process each and every action performed on the entire system. This has been a concern for a long time, since turing-complete Blockchains are supposed to function as decentralized computers, maintaining applications and facilitating complicated network activity. The need to massively replicate all activity on the system automatically limits how much it can scale, constraining its potential for growth.
In order to cope with this reality, Synereo developed the world’s first concurrent, compositional blockchain called RChain. While Ethereum’s – and others’ – proposed solutions are for two-level sharded chains (i.e., chains of chains), RChain compositional nature allows a subdivision of the Blockchain into infinitely composable parts (chains of chains of chains of … all the way down), which interlock to a unified whole, and that do not need to be computed all at once. Concurrent means that this subdivision enables different processes to run in parallel, without interfering with each other.
As a result of this architecture, not every node in the network has to see and validate the whole state of the blockchain, which means that the work of building the blockchain can proceed at much faster rates, since it is being done in parallel. Instead of mandating storage of the whole network at any given moment, on any given device, each node only holds the shards directly relevant to its specific needs. This divides the work up so that different nodes can focus on different sets of problems at the same time. These small shards can then be joined together into bigger shards, and those into bigger shards, just-in-time. This way, Synereo’s Blockchain is truly decentralized and distributed rather than simply being massively replicated across the network.
At this point we’re just going to break character and voice and speak the plain and simple truth. You knew this truth when you were a child of six or seven and somehow you forgot it. You pick up the leaf and look at the veins of the leaf and hold it up to the tree and you see the tree in the leaf and the leaf in the tree and you know that this is the way the real world works. This is how things scale up to the miraculous complexity of the natural order. Now you’re here and you’re starting to see that technology has to work like that to achieve the same kind of scalability and resilience. That’s what RChain does. That’s what’s at the core of its architecture and the core of the community growing around it. Now back to our regularly scheduled shpiel, but don’t tell anyone about this little glitch in the matrix, ok? This will be our secret.
Proof of Stake
Every Blockchain has a consensus protocol which ensures that the nodes maintaining it don’t have the opportunity to corrupt or exploit it. All nodes compare their results, so to speak, and make sure that only entries everybody agrees upon are recorded on the Blockchain. There are several ways to do that; the classic Bitcoin method is called Proof of Work (PoW) and makes attacks very costly by forcing nodes to conduct arduous, and otherwise useless, computations in order to participate in the game.
This is very wasteful, both in terms of energy consumption and time. Essentially, millions of devices are performing non-functional operations for the sole purpose of rendering attacks on the network expensive. This may be sufficient for Bitcoin, but a ‘world computer’ needs all the resources it can get, and can’t allow itself to invest its computing power in superficially complicated operations.
In contrast, RChain’s consensus protocol is based on the ‘Casper’ Proof of Stake design, developed in cooperation amongst all the key players in the blockchain space: Vitalik Buterin and Vlad Zamfir of Ethereum, Greg Meredith, Synereo’s CTO, Ethan Buchman of Tendermint, Rick Dudley of Eris Industries, Aron Fisher of Colony, and many others. Casper provides a model where consensus is as cheap as possible for everyone, except for adversaries while they are conducting an attack.
Each node has to deposit a stake into a central pool in order to participate in the validation process. If a node produces anything that protocol considers “invalid”, their deposits are forfeited along with the privilege of participating in the consensus process. The use of security deposits addresses the “nothing at stake” problem; meaning that bad behaviour doesn’t come with a price tag attached. Synereo’s Casper implementation ensures that there is something at stake, and bonded nodes who misbehave in an objectively verifiable manner will lose it. This scheme allows Casper to make much more economical use of scarce computing resources, without compromising security.
In contrast to Ethereum’s Casper, however, RChain nodes are not actually proposing and verifying blocks, but whole sets of blocks, or logical propositions, described by properties they communicate to each other during the consensus resolution phase of the protocol. A proposition is a set of statements about the blockchain. For example: which transactions must be included, in which order, which transactions should not be included, and so on.
When the validators have come to consensus, they have come to consensus on a maximally consistent subset of properties, or the largest set of blocks they can all agree is valid. As a result of this design, with concurrency enabled by the sharding of the Blockchain – and with Synereo’s unique, process calculus-based approach – consensus can be reached for a huge number of transactions at a time. transaction rates are dramatically increased, while confirmation times are dramatically lowered.
Finally, the Synereo team believes that Blockchain technology is so central to our goal of a public, economic compute infrastructure that belongs to everyone, that we’re formally verifying all of our specs and implementations. Not only will they all be open source, but the formal verification of our stack will be available for anyone to check. This reduces the trust anyone has to place in our development team. Thus, unlike the Blockchains existing today, where there is a significant trust bottleneck with the developers of the Blockchain, anyone skilled in the art can audit our code with theorem provers and model-checkers and be satisfied that our code does what we claim it does.
Synereo’s existing technology already allows fully decentralized and distributed applications to be created – its social network is one such application, and Synereo’s other partners are using it as well. The next evolution of our architecture will allow Synereo-powered dApps to match high-end industry requirements and be competitive with centralized computing platforms. With RChain, the dream of the decentralization movement to challenge the role of centralized server farms can become a reality.
If you want to learn more about the components of Synereo’s Tech Stack, please stay tuned for our upcoming posts on Rholang – Synereo’s smart contracting language, and Special-K – Synereo’s distributed storage protocol. Regard yourself as invited to be part of our development effort, and get involved in the Synereo community. There’re AMP bounties up for open tasks, and you’re always encouraged to submit your own proposal.
We appreciate your attention,
The Synereo Team.