论文作者:
Ilya Sergey1and Aquinas Hobor2
1 University College London, United Kingdomi.sergey@ucl.ac.uk
2 Yale-NUS College and School of Computing, National University of Singaporehobor@comp.nus.edu.sg
翻译:渡鸦
「让国内外的区块链技术没有时差」。
写在【新栏目】前面:
翻译论文无比痛苦。
但是我们的目标是「让国内外的区块链技术没有时差」。
带给大家更多区块链技术干货。
能力有限,还请各路大神多多监督、指教。
欢迎投稿、中英文均可。
摘要:
在本文中,我们探讨了诸如Ethereum等智能合约的多事务行为与共享内存并发的经典问题之间的显着相似之处。我们从Ethereum区块链中检查两个真实世界的例子,并分析它们是如何容易受到与传统并发程序中经常出现的错误的影响。然后,我们详细阐述可观察的合约行为与已深入研究的并发主题之间的关系,如原子性,干扰,同步和资源所有权。描述的并发对象类似的类比可以更深入地了解智能合约的潜在威胁,指导实践,并使用现有的最先进的形式验证技术。
1、介绍:
智能合约是存储在区块链上,拜占庭容错数据库的程序。智能合约可以通过区块链交易触发,并在其块上读取和写入数据[38] 。虽然智能合约以分布式方式运行和验证,但是尽管存在许多复杂的交互模式,包括例如重入和递归调用,但它们的语义表明可以将它们视为顺序程序。这种心理模型简化了关于合约的正式和非正式推理,使得可以立即重用现有的通用框架来进行程序验证[5,16,31,32] ,可用于验证例如写入的智能合约。固化[15] 只有微小的调整。
虽然区块上的所有计算都是确定的[1],但由于交易本身之间的竞争(如为某个给定的区