  Blockchain technologies can enable secure computing environments among
mistrusting parties. Permissioned blockchains are particularly enlightened by
companies, enterprises, and government agencies due to their efficiency,
customizability, and governance-friendly features. Obviously, seamlessly fusing
blockchain and cloud computing can significantly benefit permissioned
blockchains; nevertheless, most blockchains implemented on clouds are
originally designed for loosely-coupled networks where nodes communicate
asynchronously, failing to take advantages of the closely-coupled nature of
cloud servers. In this paper, we propose an innovative cloud-oriented
blockchain -- CloudChain, which is a modularized three-layer system composed of
the network layer, consensus layer, and blockchain layer. CloudChain is based
on a shared-memory model where nodes communicate synchronously by direct memory
accesses. We realize the shared-memory model with the Remote Direct Memory
Access technology, based on which we propose a shared-memory consensus
algorithm to ensure presistence and liveness, the two crucial blockchain
security properties countering Byzantine nodes. We also implement a CloudChain
prototype based on a RoCEv2-based testbed to experimentally validate our
design, and the results verify the feasibility and efficiency of CloudChain.
