Cochain: Architectural Support Mechanism for Blockchain-Based Task Scheduling
摘要
Blockchain-based distributed computing systems are proposed to solve many problems such as single point of failure; however, multiple crucial operations such as task scheduling and executing are still conducted off-the-chain for performance issues, making the operations untrusted. The previous works lack architectural design for supporting robust and high-performance distributed computing upon blockchain. In this paper, we present Cochain, a novel architectural support mechanism for blockchain-based task scheduling. The core idea of Cochain is providing architectural support for on-chain task scheduling and execution to realize a system trusted and transparent with high performance. In Cochain, we creatively organize the blockchain nodes by scheduling domains and realize cross-domain scheduling to reduce search space and ease storage burden. Cochain enables parallel support for task scheduling to improve the task processing capability and provide a novel mechanism for fast block generation. Cochain is evaluated in the mainstream blockchain client, Geth, by comparing Cochain with six benchmarks. Results show that Cochain reduces the ledger size by 97.5%, compared with Geth. Cochain achieves 18.5 \(\times \) speedups for task processing. Cochain brings a new sight for fast and robust distributed computing.