Smart contracts are crucial elements of decentralized technologies, but they face significant obstacles to trustworthiness due to security bugs and trapdoors. To address the core issue, we propose a technology that enables programmers to focus on design-level properties rather than specific low-level attack patterns. Our proposed technology, called Theorem-Carrying-Transaction (TCT), combines the benefits of runtime checking and symbolic proof. Under the TCT protocol, every transaction must carry a theorem that proves its adherence to the safety properties in the invoked contracts, and the blockchain checks the proof before executing the transaction. The unique design of TCT ensures that the theorems are provable and checkable in an efficient manner. We believe that TCT holds a great promise for enabling provably secure smart contracts in the future. As such, we call for collaboration toward this vision.
翻译:智能合约是分散技术的重要元素,但它们面临由于安全漏洞和陷阱而导致的显着障碍。为了解决核心问题,我们提出了一项技术,使得程序员可以专注于设计级属性而不是特定的低级攻击模式。我们提出的技术称为定理携带交易(TCT),将运行时检查和符号证明的优点结合起来。在TCT协议下,每个交易都必须携带一个定理,证明它遵守所调用智能合约的安全性质。区块链在执行交易之前检查证明。TCT的独特设计确保定理可以以有效的方式被证明和检查。我们相信TCT为未来实现可证明安全的智能合约提供了很大的希望,因此呼吁大家合作投入到这个愿景中。