-
Notifications
You must be signed in to change notification settings - Fork 6
blockchain and VMs
The blockchain is changing the software stack. How will it effect Virtual Machine and Container vendors and the virtualization in general?
##Blockchain in the Enterprise Blockchain is a new data structure designed to work in the wild, constantly under attack. It resilience, immutability, key-less security and other unique attributes offer a radical upgrade for IT infrastructure of any Enterprise, including VM vendors. I wrote separate posts on this subject, see Enterprise and Identity.
##VM Vendors already optimize for DB performance If Blockchain as a data structure is as important as databases, and we think it is, then similar optimizations will be required as well.
##Blockchain for VM/Container Orchestration Blockchain can be used as a a more secure, reliable and auditable Registry for identities, devices, services and other enterprise resources and as a persistent wire (as described in #1). In case of VM orchestration the blockchain can be used as a registry of VM/container images, job queue, for inter-VM communications, as a scheduler, decentralized configuration management, alerts log and other components. In addition, token-based economic incentives can help optimize VM orchestration. Today VM orchestration is already employing consensus algorithms, but they are not Byzantine consensus algorithms, like the blockchain, i.e. they are not designed to work in the presence of bad actors.
##Explosion in a number of VMs Today bitcoin and Ethereum contracts are executed on-chain (by miner nodes), but it looks like it will be even more common to execute contracts off-chain. This is due to privacy, anonymity, computational complexity, storage needs and other factors. Note the trend in this direction - Counterparty cloning the Ethereum EVM, and Eris's Decentral VM. The number of VMs will grow as the number of nodes connecting to the blockchain increases, i.e. each app will run a VM.
##Deterministic execution of contracts Bitcoin and Ethereum contracts/scripts must be executed deterministically to achieve consensus. Ethereum EVM and ZeroVM are designed for deterministic execution.
##Resource metering Cost of executing contracts/scripts by the blockchain nodes must be metered with high granularity and scripts exceeding resource reservation must be terminated. Ethereum EVM achieves both goals, other VMs seem to be behind. This feature also protects the host from malicious contracts/scripts. VMs and containers, like Docker need to acquire precise resource measurements and sandboxing to support cooperative distributed networks monetized via new token/coin based micropayment schemes.
##Secure code execution Scalability of executing the same contract/script on every blockchain node, as it is done now, is limited. Secure code execution provides a proof that code was executed faithfully, even on an untrusted host. This will allow to change the topology of the blockchain to achieve high scalability. This will also assure malware free operations, intruder protection, etc. for the most critical Enterprise functions, like forms of governance, rights allocation, software updates, etc. New methods like zk-snarks and others are appearing, and will soon become practical, and they usually rely on a special type of VM. This type of VM will also allow to trust the results of contracts/scripts executed inside apps on mobiles, BYOD devices, IoT devices, etc.
##Conclusion The blockchain is a new IT building block, blockchain affects existing market for VMs and is creating a new VM market with potential growth to billions of units.
###Software
###Front end