Blockchain Virtualization: Virtual Chains and Inherent Sharding?
Blockchain virtualization is one of the revolutionary elements of the Orbs infrastructure. Using virtualized blockchains, each dApp atop the Orbs Network can enjoy the security and decentralized block creation of the entire network while simultaneously enjoying the blockchain equivalent of dedicated hosting. It makes virtual machines standard to blockchain development.
What is Virtualization?
Virtualization is the creation of a virtual environment for a program, in place of an actual version of that program within a computer system. This is often done with platforms and storage. A common example is the creation of a virtual environment to host programs on one kind of operating system while the computer itself operates on another (imagine opening a program that runs on iOS, but your computer is a PC with Windows). Companies use server virtualization that apportions one larger server into different segments or virtual environments dedicated for different customers.
Orbs is translating this concept to blockchain virtual machines. In essence, every dApp (or decentralized app) on the Orbs Network will operate on its own independent blockchain, a virtual chain. These virtual blockchains can maintain an independent record for every dApp. The virtual machine also insulates each app from the others on the network, protecting every single one from excess traffic demand on other Orbs-based dApps.
The early days of the internet were dominated by shared hosting, when several websites shared servers. That created pressure on all those websites. Excessive traffic on one website might slow down others on the same server. The takeoff of dedicated hosting – sometimes called “private hosting” – allowed for the specific allocation of networking and storage resources for each website. There were suddenly no fees for taking up bandwidth on shared servers which had been designated only to be used by your ‘neighboring’ websites on those servers.
Of course, having an entire server all to yourself can get expensive. That necessitated a more cost-efficient solution. Enter virtualization: Virtual Private Servers (VPS).
This enabled the use of shared servers, but with virtually separated environments for each website. Any high traffic or security threats against another site on the server would only affect that site running in that particular virtual environment. Resources could also be better allocated, with different levels of computing power and storage made available to each virtual server on the network, akin to what AWS provides with cloud computing and storage.
Orbs ‘Virtual Private Servers’ vs. Ethereum ‘Shared Hosting’
Orbs utilizes this model to make for more efficient blockchain management. Up until now, blockchains have operated like the internet of old, on something akin to shared hosting.
In the Orbs architecture, virtual chains serve three primary roles: Intelligent Sharding (or “inherent sharding”) for speed, insulation for security, and customization for flexibility. Each dApp can subscribe to varying amounts of computing power and storage capacity, while remaining insulated from any security problems that impact another dApp on the Orbs Network (problems that will be contained on that other dApp’s virtual chain).
Virtual Chains: Intelligent Sharding
Virtual chains also provide another, de facto benefit. Unlike other sharding concepts, Orbs’ layout has built-in, inherent sharding. This can also be called intelligent sharding, as users are logically segmented by their likelihood to interact with each other – by dApp – rather than somewhat randomly. This operates in addition to any other sharding method that can still apply within a single virtual chain. The likelihood of transactions across apps is extremely low.
An essential tactic for large databases, sharding shatters the entire database’s collection of information into pieces – shards – that make that data’s processing quicker, smoother, and more efficient. In the case of blockchain, a shard would include only a portion of the nodes, users, and transactions on the network.
Sharding blockchain networks is a critical component to scalability according to current thinking. Ethereum is planning to implement it alongside a transition to proof-of-stake in order to make the network more efficient. Currently, Ethereum requires full nodes – every node on the network must be involved in processing every transaction. This is not time-, nor energy-efficient.
While this will make transaction processing far faster in some cases, it brings up another problem. Inevitably, transactions will occur between users on separate shards of the network. That requires cross-shard communication, where nodes in charge of different shards must exchange information in order to verify a transaction. Orbs limits the pressures of cross-shard communication by categorizing transactions according to app: Users on the same dApp – the same virtual chain as it were – are far more likely to interact with each other than users across two dApps.
By isolating activity within each dApp to its own virtual chain, the network can run even more efficiently.
Thanks to the incorporation of intelligent sharding via virtual chains, respective dApps also gain an extra layer of protection. In the event one app is attacked or is swarmed by heavy traffic, issues of speed and efficiency are contained by each virtualized shard. DApps remain insulated from each other.
And despite this sharding, all apps on Orbs retain the added security of the entire network of nodes. With randomized proof-of-stake, the network can efficiently forge blocks with smaller committees while having an entire network at its disposal.
Flexibility and Customization
Different apps have varying, ever-changing needs. But to change infrastructures whenever requirements evolve – especially with a token – is inefficient at best. Virtual chains provide the benefits of customization that right now seem reserved for private blockchains. Orbs allows each dApp a degree of autonomy.
In this case, each dApp has the autonomy to determine some parameters of the virtual chain it is running on – compliance features, security requirements, computing power, and storage capacity. Its governance parameters would be separate from that of the entire network.
That insulation allows a potentially viral dApp to grow without impacting the network. Put another way, the growth of another dApp on the network will not syphon off speed or efficiency from yours.