Transactions involving multiple blockchains are implemented by cross-chain protocols. These protocols are based on smart contracts, programs that run on blockchains, executed by a network of computers. Because smart contracts can automatically transfer ownership of cryptocurrencies, electronic securities, and other valuable assets among untrusting parties, verifying the runtime correctness of smart contracts is a problem of compelling practical interest. Such verification is challenging since smart contract execution is time-sensitive, and the clocks on different blockchains may not be perfectly synchronized. This paper describes a method for runtime monitoring of blockchain executions. First, we propose a generalized runtime verification technique for verifying partially synchronous distributed computations for the metric temporal logic (MTL) by exploiting bounded-skew clock synchronization. Second, we introduce a progression-based formula rewriting scheme for monitoring \MTL specifications which employ SMT solving techniques and report experimental results.
翻译:涉及多个链条的交易是通过跨链协议执行的。这些协议的基础是智能合同、由计算机网络执行的在链条上运行的程序。由于智能合同可以在不信任的各方之间自动转让加密所有权、电子证券和其他宝贵资产的所有权,核实智能合同的运行时间正确性是一个令人信服的实际问题。这种核查具有挑战性,因为智能合同的执行对时间敏感,而不同链条上的时钟可能不完全同步。本文描述了对链条处决的运行时间监测方法。首先,我们提出一种通用运行时间核查技术,通过利用约束式skew时钟同步来核实对标准时间逻辑(MTL)的部分同步分布计算。第二,我们采用基于进度的公式重写计划来监测采用SMT解决技术的\MTL规格,并报告实验结果。