[Short general description]: Blockcloud is a Blockchain-based advanced TCP/IP. It utilizes blockchain to systematically solve the trust and incentive problems in service-centric networking, enabling each individual to participate in this great revolution of network production relations. Blockcloud is designed with loose decoupled hierarchical layers, with each layer independently built and self-evolve. Combining with distributed storage, computing, and service & pricing, Blockcloud promotes the entire network as a “consensus machine”, establishing a marketplace for suppliers and users of network resources by an approach similar to “building blocks”. It encourages network service providers to give more and earn more. Blockcloud enhances the stability, security, mobility and scalability of network service, making it possible for massive heterogeneous devices (especially IoT devices) to be accessed in Future Internet.
[Main problems tackled]:
1) Improving Mobility: The mobility of devices is inherently supported by adopting a service-based communication paradigm introduced by Serval. The centerpiece of Serval architecture is a new Service Access Layer (SAL) that sits above an unmodified network layer, and enables IoT devices to communicate directly on service names. The SAL provides a clean service-level control/data plane split, enabling policy, control, and in-stack name-based routing that connects clients to services. From the service subscriber’s perspective, service is provided by the network and she does not need to manage the direct communication with the exact end-point who provides the service. In such a manner, end-points can seamlessly change network addresses, migrate flows across interfaces, or establish additional flows for efficient and uninterrupted service access.
2) Enhancing Scalability: The distributed nature of services with peer-to-peer technology makes scalability possible. Service registration and discovery become the key features of Blockcloud, which can be easily achieved from the adoption of a Distributed Hash Table (DHT) network.
3) Getting Trust: Devices form a blockchain network where the system runs in a fully decentralized manner. We propose a novel Proof of Service (PoS) consensus mechanism to solve problems about guaranteeing truthful service. The facticity of services provided to the network is automatically checked and guaranteed by the PoS consensus. Cheating providers will be punished or even kicked out from the system. Successful decentralization of the IoT, however, will lie not just in being peer-to-peer, but also in being trustless: an environment in which there is no need for participants to be trusted and no centralized, single point of failure.
4) Protecting Security: The blockchain system and a peer-to-peer network known as Coral form the secure backbone of the Blockcloud network. Communication operations between devices are embedded in the blockchain and service information is stored in Coral, routed by peer nodes (called service miners) and guaranteed by the Proof-of-Service consensus. The system therefore has no central point which is exposed to attackers and security is guaranteed by the consensus mechanism of distributed miners who are economically motivated to be honest.
5) Achieving Fairness: Services are published/subscribed to/from the network. Service providers and subscribers are atomically matched by Blockcloud. The matching process is performed by a smart contract which cannot be controlled any end-point or a centralized party. The smart contract runs a Truthful Continuous Double Auction (TCDA) that prevents cheating and maximizes social welfare of the entire community. TCDA is mathematically strategy-proof, where there is no incentive for any of the traders to lie about or hide their private information from the other traders.
6) Strengthening Incentive: By identifying and matching supply and demand for services in real-time, Blockcloud will create new marketplaces. These complex, real-time digital marketplaces will build upon the foundation established by IoT devices and blockchain networks to expand the reach of this transformation very quickly. They will enable new peerto-peer economic models and foster sharing economies. In the end, the IoT is expected to make the physical world every bit as easy to search, utilize and engage with as the virtual world.
[Main contribution proposal]:
1) Internet of Vehicles: Internet of Vehicles is a typical application of IoT in the field of transportation. It has the characteristics of high-speed fast and unpredictable node movements and multiple nodes participating in scheduling collaboration, which are directly related to personal and property security. Blockcloud combines the advantages of Service-centric Networking (SCN) and Blockchain with stable connectivity and well mobility support in the underlying physical network. It also provides decentralized trust, security, fairness and economic incentive, which can well adapt to the features of the Internet of Vehicles.
2) Smart Health: Blockcloud helps to establish an open, truthful, fair and incentive IoT health data system, ensuring that health data can be securely distributed in legally authorized nodes and the value of data can be truly enjoyed by the owners.
3) Smart Home: Smart devices today rely too much on home gateways, with all intructions processed and transmitted by the gateway. Once the gateway is paralyzed or broken into, all connected devices will be affected. Blockcloud allows smart devices to access the decentralized blockchain network securely and truthfully. It also breaks the “home” boundary and enables smart devices between houses to communicate and collaborate directly, which achieves a real "smart" home.
4) Edge Computing: The advantages of Blockcloud in connectivity, mobility, and computational model can perfectly cope with the problems of extremely unstable nodes in edge computing, ensuring that all nodes can allocate appropriate service resources and obtain proper income. In addition, Blockcloud can verify the authenticity and effectiveness of the node service at a very low cost, thus perfectly solving the problem of low computational nodes and high security verification costs in the edge computing, enabling the entire edge computing service to be secure and reliable.
5) Sharing Economy: Blockcloud provides a completely decentralized system for the sharing economy, which solves the problem of excessive power of the platform and heavy burdens and risks to the participating parties. Blockcloud ensures that the credit information of both parties is truthful, the authorization who shares resources is reliable, and fees are settled quickly and securely.
[Innovation]: Blockcloud has four layers, with two layers (transactionchain layer and servicechain layer) in the control plane and two layers (routing layer and service layer) in the service plane.
1) Transactionchain Layer: The transactionchain occupies the lowest tier. Blockcloud operations are encoded in transactions on the underlying transactionchain. The transactionchain stores the transactions of the network as a global ledger and. While Blockcloud holds an evolving concept that provides the feasibility and compatibility of different underling blockchain technologies, due to the characteristic of IoT, the chosen technology for the transactionchain layer must be elastic, efficient, secure, scalable and cost-effective. Currently, the Blockcloud team proposes to use Compacted Directed Acyclic Graph (CoDAG), which can be mathematically proved to be efficient for large-scale and dynamic IoT scenarios. CoDAG improves the traditional DAG structure to guarantee fast confirmation time and liveness property.
2) Servicechain Layer: Above Layer 1 is a servicechain, which defines new operations without requiring changes to the underlying blockchain. Only Blockcloud nodes are aware of this layer and underlying blockchain nodes are agnostic to it. Blockcloud operations are defined in the servicechain layer and are encoded in valid blockchain transactions as additional metadata. Blockchain nodes do see the raw transactions, but the logic to process Blockcloud operations only exists at the servicechain level. The rules for accepting or rejecting Blockcloud operations are also defined in the servicechain. Accepted operations are processed by the servicechain to construct a database that stores information on the global state of the system along with state changes at any given blockchain block. Servicechains 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.
3) Routing Layer: Blockcloud separates the task of routing requests (i.e., how to discover service) from the actual providing of service. This avoids the need for the system to adopt any particular management service from the onset, and instead allows multiple service providers to coexist, including both commercial entity and peer-to-peer systems. Blockcloud uses service files for storing routing information, which are similar to DNS zone files in their format. The servicechain binds names to 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.
4) Service Layer: The top-most layer is the service layer, which serves the actual services for the network. All service names are signed by the key of the respective owner of a service. By providing services outside of the transactionchain, Blockcloud allows arbitrary IoT services that a 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.