Practical Runtime Verification of Cross-Organizational Smart Contracts
Smart contracts in blockchains often implement critical functionality; consequently, their development-time software fault detection, removal, and avoidance have been the target of intensive research. However, the applicability of runtime dependability mechanisms to smart contracts has not been explored systematically, mainly due to the transaction pricing models of public blockchains. In this paper, we propose a novel and practical runtime verification approach for Hyperledger Fabric, the leading cross-organizational blockchain platform, as an error detection facility for fault tolerance mechanisms; building on the proposition that, in contrast to the public setting, cross-organizational blockchains have ample computational headroom for their systematic use. We introduce a smart contract entity framework architecture with reusable domain models and encapsulated runtime verification. We demonstrate and evaluate the approach on a Fabric implementation of the TPC-C benchmark.