Resources: A Safe Language Abstraction for Money

arxiv(2020)

引用 0|浏览88
暂无评分
摘要
Smart contracts are programs that implement transactions on modern blockchain platforms. In this rapidly evolving environment, smart-contract programming languages must allow users to write programs that flexibly manage and transfer assets, while providing strong protection against sophisticated attacks. Addressing this need, we present flexible and reliable abstractions for programming with digital currency in the Move language. Move uses novel linear resource types with C++11/Rust-style move semantics as an explicit representation to represent assets such as money. When a resource variable is assigned to a new variable, the variable previously holding it must be invalidated. When combined with other abstraction features of Move, linearity ensures resource conservation: assets represented by resources can only be created or deleted by authorized parties, and cannot be duplicated or lost by others possessing them. We present an executable bytecode language with move semantics and show that it satisfies a set of resource safety guarantees.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要