论文标题

部分可观测时空混沌系统的无模型预测

Translation Certification for Smart Contracts

论文作者

Krijnen, Jacco O. G., Chakravarty, Manuel M. T., Keller, Gabriele, Swierstra, Wouter

论文摘要

编译器的正确性是一个古老的问题,但是随着智能合约的出现,该区块链的问题以新的方式呈现出来。智能合约是在对抗性环境中控制资产的独立软件,通常具有高财务价值,并且一旦致力于区块链,就无法更改它们。智能合约通常以高级合同语言开发,并在承诺到区块链之前将其编译为低级虚拟机码。为了使智能合约用户在区块链上信任给定的低级代码,他们必须说服自己(a)他们拥有匹配的源代码,以及(b)编译器忠实地翻译了源代码的语义。 编译器正确性的经典方法可以解决第二点。我们认为翻译认证也解决了第一个。我们描述了在COQ中实施的新型翻译认证框架的证明体系结构,用于功能性智能合同语言。我们证明,我们可以将编译管道建模为一系列翻译关系,以促进模块化证明方法,并且在面对不断发展的编译器实施时具有鲁棒性。

Compiler correctness is an old problem, but with the emergence of smart contracts on blockchains that problem presents itself in a new light. Smart contracts are self-contained pieces of software that control assets, which are often of high financial value, in an adversarial environment and, once committed to the blockchain, they cannot be changed anymore. Smart contracts are typically developed in a high-level contract language and compiled to low-level virtual machine code before being committed to the blockchain. For a smart contract user to trust a given piece of low-level code on the blockchain, they must convince themselves that (a) they are in possession of the matching source code and (b) that the compiler faithfully translated the source code's semantics. Classic approaches to compiler correctness tackle the second point. We argue that translation certification also addresses the first. We describe the proof architecture of a novel translation certification framework, implemented in Coq, for a functional smart contract language. We demonstrate that we can model the compilation pipeline as a sequence of translation relations that facilitate a modular proof approach and are robust in the face of an evolving compiler implementation.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源