论文标题

资源:安全的语言抽象

Resources: A Safe Language Abstraction for Money

论文作者

Blackshear, Sam, Dill, David L., Qadeer, Shaz, Barrett, Clark W., Mitchell, John C., Padon, Oded, Zohar, Yoni

论文摘要

智能合约是在现代区块链平台上实施潜在复杂交易的计划。在快速发展的区块链环境中,智能合同编程语言必须允许用户编写管理和转移资产的表现力程序,但可以防止复杂的攻击。在满足这种需求时,我们在移动语言中提出了使用数字货币编程的灵活和可靠的抽象[Blackshear等。 2019]。 Move使用新颖的线性[Girard 1987]资源类型的语义借鉴C ++ 11 [Stroustrup 2013]和Rust [Matsakis and Klock 2014]:当将资源值分配给新的存储位置时,先前持有的位置必须无效。此外,资源类型只能通过其声明模块中的过程创建或破坏。我们提出了具有资源的可执行章程语言,并证明它享有资源安全,这是一种类似于物理世界中质量保护的程序价值的保护属性。

Smart contracts are programs that implement potentially sophisticated transactions on modern blockchain platforms. In the rapidly evolving blockchain environment, smart contract programming languages must allow users to write expressive programs that manage and transfer assets, yet provide strong protection against sophisticated attacks. Addressing this need, we present flexible and reliable abstractions for programming with digital currency in the Move language [Blackshear et al. 2019]. Move uses novel linear [Girard 1987] resource types with semantics drawing on C++11 [Stroustrup 2013] and Rust [Matsakis and Klock 2014]: when a resource value is assigned to a new memory location, the location previously holding it must be invalidated. In addition, a resource type can only be created or destroyed by procedures inside its declaring module. We present an executable bytecode language with resources and prove that it enjoys resource safety, a conservation property for program values that is analogous to conservation of mass in the physical world.

扫码加入交流群

加入微信交流群

微信交流群二维码

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