BlockCloud is an upcoming ‘blockchain based TCP/IP architecture’ that brings together blockchain technology with service-centric networking to support Internet of Things (IoT) oriented solutions. Developed by a group of Chinese academicians, it aims to focus on creating highly mobile blockchain solutions that are not restricted by heavy blockchain platforms. It can also operate as a layered solution to solve all sorts of scalability issues faced by almost every blockchain platform these days.
According to a white paper by the BlockCloud team, more than 22 million IoT devices will be connected to the Internet by the year 2022. The influence of IoT will be seen across multiple sectors like healthcare, augmented reality, autonomous vehicles, smart cities, grids, etc. However, along with this will come the problem of poor IoT architecture. To address this challenge, BlockCloud teams aim to solve issues like connectivity failure, scalability, trust and privacy, security and flexibility.
BlockCloud technology is considered an extension of the current Internet to transform it into the next generation Internet. It combines blockchain technology and next-generation Internet technology to build an underlying network protocol in terms of ‘building blocks’, to support seamless connectivity for dynamic networks and the interconnection of upper layer applications in a secure and efficient manner.
BlockCloud introduces service-centric networking (SCN), through which the service access layer (SAL), control plane and service plane are separated. Without any use of complex IP addresses, the upper application layer can connect to the service using the service name, leading to improvement in mobility and scalability. In addition, SCN networks improve the security level via blockchain technology.
A proof of service (PoS) mechanism verifies all services, designs the distributed peer-to-peer network to save service information, and implements a truthful continuous double auction (TCDA) mechanism to distribute services. In addition, the CoDAG (compacted directed acyclic graph) structure effectively records the transactions. The hybrid consensus protocol combines both permission and permissionless protocols to achieve outstanding results.
Focusing on a new PoS consensus, BlockCloud tries to resolve blockchain transactions simply by having the relevant devices share information between themselves. This allows for a clean verification environment, with unsavoury participants being penalised and restricted from using the network.
As a multi-layered solution, BlockCloud introduces a few new concepts.
Edge computing: This enhances current connectivity levels between different computing devices
Internet of Vehicles: A communications solution for smart vehicles
Smart home: Blockchain-enabled functionality to power smart homes of the future
Smart health: A system for improved delivery of various health-oriented services using IoT devices
Sharing economy: A decentralised, trustless, ecosystem powered by BlockCloud
BlockCloud architecture
BlockCloud provides new and enhanced functionalities on top of blockchains by providing new operations that are usually not supported by them. It has four layers — two under the control plane and two under the service plane. The transaction chain layer and service chain layer belong to the control plane, while the routing layer and service layer belong to the service plane. Figure 1 highlights the BlockCloud architecture.
Transaction chain layer: This is a lower tier layer. All the operations are encoded in transactions on the underlying transaction chain. This layer stores all the network transactions as a global ledger. Due to IoT, the transaction chain layer should be elastic, scalable, cost-effective and secure. BlockCloud uses CoDAG for dynamic IoT networks, for best connectivity and low latency.
Service chain layer: The service chain layer defines new operations without making any significant changes to the blockchain. All BlockCloud operations are defined in the service chain layer and encoded in valid blockchain transactions as additional metadata. This layer gives the best support for processing BlockCloud operations. The rules for accepting or rejecting BlockCloud operations are also defined in the service chain. Accepted operations are processed by the service chain to construct a database that stores information on the global state of the system, along with state changes at any given blockchain block. Service chains can be used to build a variety of state machines. Currently, BlockCloud defines two state machines — a global service management system, and a service matching and pricing system.
Routing layer: The most significant characteristic of the blockchain is to separate the task of discovering routing requests from that of providing services. This reduces the need of the system to adopt any management service from the onset, and allows multiple service providers to exist — both for commercial and peer-to-peer systems. Service chain binds names to the respective hash (service file) and stores these bindings in the control plane, whereas the service files themselves are stored in the routing layer. Users do not need to trust the routing layer because the integrity of service files can be verified by checking the hash (zone file) in the control plane.
Service layer: The topmost layer of BlockCloud is the service layer, the main aim of which is to provide services to the network. By providing services outside the transaction chain, BlockCloud allows arbitrary IoT services that are provided by a variety of IoT devices. Users do not need to trust the service provider because they can verify the authenticity of the service by proof of service in the control plane. At the core of BlockCloud is a new SAL that sits between the transport and network layers. The SAL maps service names in packets to network addresses, based on rules in its service table managed by the blockchain. The SAL can be programmed through a user space control plane, acting on service-level events triggered by active sockets (e.g., a service instance automatically registers on binding a socket). This gives network programmers hooks for ensuring service resolution systems are up-to-date.
A BlockCloud token is the network’s native token and is used to enable an incentive-driven marketplace for IoT services. There are four main participants in the network:
- Service providers publish services to the marketplace and are rewarded with BLOC tokens based on their level of contribution.
- Service users subscribe to services from the marketplace and will pay BLOC tokens to consume various IoT services.
- Service miners maintain the ledger and protect the network from attacks by utilising a CoDAG ledger framework to achieve consensus. The miner that generates a stable block will be rewarded with BLOC tokens. Mining rewards will be released at an annual rate of 5 per cent over six years.
- Verifiers ensure the quality of services provided and help the system decide whether to reward or penalise a service provider. They are rewarded with BLOC tokens for verifying services.
BlockCloud will leverage various mechanisms such as PoS to verify services and truthful continuous double auction (TCDA) to distribute services fairly.
CloudPoS (proof of stake)
CloudPoS (proof of stake) is a type of consensus algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus. In CloudPoS based cryptocurrencies, the creator of the next block is chosen by various combinations of random selection and wealth or age (i.e., the stake). In contrast, the algorithm of proof of work based cryptocurrencies, such as bitcoin, uses mining — that is, the solving of computationally intensive puzzles to validate transactions and create new blocks.
The CloudPoS consensus initially requires the validators to decide what amount of resources they want to stake towards the consensus process, which is driven by the fact that the chances of becoming a leader in the epoch increase as the amount of resources staked are increased.
Without loss of generality, we model a stake functionf(.) for a validator i that is dependent on its total allocated resource Ri, implicit greediness parameter γi, and current resource utilisation vector (Rui). The function results in the stake vector Xi=<Xci,Xsi,Xdi> for validator i, based on which this amount of resources is sliced off from the total allocated resources. Then the leader gets elected stochastically based on the individual stakes [X]={Xi:i=1,•••N}.
If the leader is unavailable or unreachable, then a new leader is elected. After a leader is successfully selected, its block is propagated to perform a consistency-check on the transactions and match the Merkle root of the block to ensure that the leader’s working chain aligns with other validators’ chains. Finally, the leader collects its reward that was allocated for that particular epoch. CloudPoS consensus is executed in several phases during a particular epoch to finalise a block of transactions to be included in the mainstream blockchain. The same steps are iterated after the length of the blockchain increments by one block.
The five phases that constitute one epoch of the consensus are:
- Stake determination
- Resource staking and confirmation
- Leader election
- Block replication and verification
- Reward distribution
Advantages of the BlockCloud platform
- Cloud data provenance: User operations are monitored in real-time to collect provenance data, to support access control policy enforcement and intrusion detection.
- Proof of stake validation: As opposed to the proof of work based provenance model, the consensus process of BlockCloud is driven by the staked resources of virtual machines (VMs) housed in a federated cloud computing environment. The presence of validating VMs provides supervisory control over the consensus process.
- Tamper-proof environment: The data provenance record is collected and then published to the blockchain network, which protects the provenance data. All data on the blockchain is shared among blockchain network nodes. BlockCloud builds a public time-stamped log of all user operations on cloud data without the need for a trusted third party. Every provenance entry is assigned a blockchain receipt for future validation.
- Provenance data validation: The data provenance record is published globally on the blockchain network, where a number of blockchain nodes provide confirmation for every block. ProvChain uses blockchain receipt to validate every provenance data entry.
BlockCloud and IoT solution implementation
For large enterprises, it is very important for IoT solutions to have proper connectivity, security and reliability during network communication. Since most of the IoT based services work on real-time data processing, this is an important aspect. BlockCloud provides facilities such as service-centric networking (SCN), which guarantees security and reliability of data communication.
A service-centric networking provides a mechanism for deploying replicated services, such as instances in a cloud platform with a highly distributed architecture. Here, the client requests are routed to the nearest instance to provide efficient network and infrastructure usage and improved Quality of Service (QoS). This is very useful in an IoT service based solution due to guaranteed service delivery and reliability in communication.
On the other hand, a blockchain offers decentralised network communication in order to provide reliable network transactions with the highest standard of security, where tampering of records is impossible.
Combining these two is the integrated solution offered by the BlockCloud platform, which helps a decentralised network with better network communication using SCN. Blockchain provides the highest level of security in data transmission and management in a decentralised fashion, as data transaction is controlled by multi-node communication and a shared ledger copy using smart contract management in the decentralised network service nodes.
BlockCloud with SCN for IoT solution has four major layers of implementation, as explained below.
Private edge node: This is a set of node instances that contains the instances to be used for edge caching for the encompassed services. When a service request comes to the service connector, it picks the nearest edge node for servicing the request in order to reduce the latency in network transmission.
IoT edge node: This is a group of node instances, which caches the IoT service feed in order to collect the IoT data transmission across networks. This helps to aggregate the data feeds in the IoT connector to be used for processing the request, when it comes from the service connector.
Security layer: This layer has the smart contracts defined for secured data transmission and data processing including application security, data security and interfacing security policies. This helps to ensure the complete network architecture is secured and that role based access control is implemented.
API service layer: This is the layer that exposes API services to the external world in order to access the service interface for request handling, monitoring requests, health-check requests, to name a few.
Some common use cases of BlockCloud
BlockCloud is commonly used in architecture where distributed network communication in a decentralised fashion can be combined in a service-centric networking, which requires higher security to be enforced in the network transmission along with a policy driven security framework using blockchain principles.
It is widely used in the entertainment industry for media transmission and streaming services, including workflow processing in media encoding, approval and stream processing using a cloud based large storage for media storage, and encoding and transmission across the media broadcasting service.
Last year, KardiaChain, which is a decentralised interoperable and self-optimised blockchain system, announced it was using BlockCloud in its platform for data sharing and interchain communication in government projects like Internet of Vehicles (IoV), smart healthcare and smart homes.
With this joint partnership, blockchain use cases can be expected to reach new heights. As an example, a payment channel for mobile payments can be set up across a country, reducing debit/credit card based transactions by using decentralised blockchain based payment transactions.
To define the security policies and business logic for decentralised communication, KardiaChain uses KardiaChain smart contract language (KSCL). It can be used to develop cross-chain smart contracts easily to process transactions between Kardia ledgers seamlessly without compromising security standards. It also uses SCN communication for better network transmission, even when the user load increases, by using IoT edge nodes and private edge nodes for service interoperability.