1. 搜链财经首页
  2. 新闻

从 Move 语言的设计看 Facebook 的开放式金融(WIP)

Facebook 如约上线了 FBCoin 的 官网 和 白皮书(中译),官宣 里还放了几个钱包的截图,可谓吊足了人们的胃口。坊间已经有了非常充分的讨论1,这里强烈推荐 Binance Research 的调研报告。除此之外,…

Facebook 如约上线了 FBCoin 的 官网 和 白皮书(中译),官宣 里还放了几个钱包的截图,可谓吊足了人们的胃口。坊间已经有了非常充分的讨论1,这里强烈推荐 Binance Research 的调研报告

除此之外,这一次同时上线的还有一个开发者网站,里面有三篇 Technical Papers,分别是:

之前就在想 FBCoin 的诞生如果要给开放式金融提供新的可能,就一定要看 FBCoin 赋予了开发者哪些权限,会不会推出自己的智能合约语言。这个想法现在得到了证实,这个语言直接被命名为 Move,如同 Facebook 的格言 Move Fast and Break Things,同时 Move 也表示智能合约的本质就是对用户资产的转移(Move)进行编程,还真是一语双关呢。

初看 FBCoin 的白皮书和官网,特别是首页的那个宣传视频,里面反复的在各种普通人的生活日常中快速的切换着 —— 大多是还是来自我们这些第三世界国家 —— 这让我产生了一种非常不真实的穿越感,看来币圈还真的是一个有时间膨胀效应的地方。无论如何,我们都要在这种不真实感中寻找真实。这三篇 Technical Papers 包含比我预想的还要多的 Good Stuff(怎么那么多 Author?),总之我吃的很饱。

 

Move 语言的必要性

 

李笑来:Facebook 又犯傻,用得着专门设计个 Move 语言吗?
—— 巴比特,对于 Facebook 发币,行业大咖如此点评

“If you’re writing a program that has to work very closely with a program written in a certain language, it might be a good idea to write the new program in the same language.”
——  Paul Graham

FBCoin 会推出自己的智能合约语言并不令人意外,毕竟上个月 Durov 在 TON 的 Channel 里就已经丢出了一份 Fift 的文档了2。不出一个新语言,感觉扎克伯格在面子上也挂不住。另外 FBCoin 要处理的 Context 和我们目前所遇到的 Blockchain 都不一样3,在 Move 的 Technical Paper 中这些诉求被归结为以下四点:
– First-class assets
– Flexibility
– Safety
– Verifiability

安全性 Safety

 

先说安全性。和其他拥有自己的智能合约语言的区块链项目一样4,Move 设计之初的一个核心诉求就是安全性,你能想象 Billions of People 因为一个智能合约的漏洞就被黑客黑的倾家荡产吗? —— 虽然我实际上相信 FBCoin 是可以回滚的 …

In particular, transferring Ether to a smart contract involves dynamic dispatch, which has led to a new class of bugs known as re-entrancy vulnerabilities [16]. High-profile exploits, such as the DAO attack [17] and the Parity Wallet hack [18], have allowed attackers to steal millions of dollars worth of cryptocurrency.
—— Move: A Language With Programmable Resources

这里 Move 喜闻乐见的又把 Ethereum 上的这几个 Case 拿出来批判了一番。Move 提到,要解决安全性要么在编译期,要么在执行期。Move 看起来则是在执行期之前,加了一个 Bytecode Verifier,类似 JVM 中的设计。

可验证性 Verifiability

但是 Bytecode Verifier 这一层理论上只能检查一下类型不匹配、内存溢出这样的简单 Bug,要检查出所有逻辑上的 Bug 无异说要解决 停机问题(Halting Problem),而且这部分时间复杂度也会被加到共识算法的 Critical Path 上。Move 的方法是,只将一些时间复杂度最低,同时有最关键的一些检查放在 Bytecode Verifier 上,其他则寄希望于链下的静态检查工具。

为了简化这些静态检查工具的设计,Move 在语言层面的功能上进行了一些必要的牺牲,而这一切都是为了将来做形式化验证做铺垫。

No dynamic dispatch

The target of each call site can be statically determined. This makes
it easy for verification tools to reason precisely about the effects of a procedure call without
performing a complex call graph construction analysis.

Limited mutability

Every mutation to a Move value occurs through a reference. References
are temporary values that must be created and destroyed within the confines of a single transaction script. Move’s bytecode verifier uses a “borrow checking” scheme similar to Rust to ensure that at most one mutable reference to a value exists at any point in time. In addition, the language ensures that global storage is always a tree instead of an arbitrary graph. This allows verification tools to modularize reasoning about the effects of a write operation.

Modularity

Move modules enforce data abstraction and localize critical operations on resources. The encapsulation enabled by a module combined with the protections enforced by the Move type system ensures that the properties established for a module’s types cannot be violated by code outside the module. We expect this design to enable exhaustive functional verification of important module invariants by looking at a module in isolation without considering its clients.

总之,Move 语言的 Technical Paper 简直给我们提供了批判 Ethereum 的范文 …

(TBD)

一等公民 First-class assets

(TBD)

开放式金融的边界

(TBD)

FBCoin 眼中的区块链

A blockchain is a replicated state machine [4][5]. Replicators in the system are known as validators.
Users of the system send transactions to validators. Each validator understands how to execute a
transaction to transition its internal state machine from the current state to a new state.

就是对 Bitcoin、Ethereum 的分析理解,留精弃粗的产物。

只是大家对什么是精华,什么是糟粕的
但是 FBCoin 所舍弃的糟粕,恰恰是我们所认为的精华…

重要的是 Open Mind, &()……

    • https://t.me/Tgram/170
    • https://fossbytes.com/telegram-launches-fift-programming-language-for-ton-blockchain-network/
    • https://cointelegraph.com/news/telegram-introduces-new-programming-language-for-ton-network
  1. 用 FBCoin 自己的话说就是:The Libra mission is to enable a simple global currency and financial infrastructure that empowers billions of people。
  2.  

来源:仙女座科技

风险提示:请谨防ICO、变相ICO 等非法集资行为; 搜链财经所发表资讯不代表本公司任何投资暗示。
发布者:巴比特,如有侵权或者违规,请邮件tousu@searchain.net,欢迎举报。本文链接:https://www.searchain.net/news/202230.html

发表评论

登录后才能评论

联系我们

176-9654-3888

在线咨询:点击这里给我发消息

邮件:80164590@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code