APP下载
报价宝  ›  科技  › 

在 Libra 刷屏的背后 你必须知道 TA _Move

报价宝 来源:baojiabao.com 发布时间:2019-10-19 13:55:00 09月11日更新
报价宝综合消息在 Libra 刷屏的背后 你必须知道 TA _Move

作者 | Second State

责编 | 乔治

出品 | 区块链大本营(blockchain_camp)

Libra 火了,火得一塌糊涂。

一个原因是其被争相讨论的“建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施”光荣使命。朋友圈刷屏、社群刷屏,线上线下专家 PK、xx 论剑,支援、质疑、反对,“Libra 太牛了”、“Libra 被吹得太牛了”。

另一个原因,伴随其出生的 Move 语言也是一大亮点。不管 Libra 的“光荣使命”是否可以实现,但在另一阵地,在 GitHub Trending 榜单上,基于 Rust 语言搭建却又释出 Move 语言的 Libra 确实是实实在在地火了,不知不觉就冲上了 GitHub 日活第2名......

图片来源:https://github.com/trending?since=daily

那么问题来了,你认为 Libra最大的亮点是什么?

可以说,Libra 也许是目前为止本年度区块链领域最受期待、最多讨论的新闻了。

根据 Libra 白皮书描述的“建立去中心化的全球货币”的目标,该专案有着非常野心勃勃的加密经济学设计管理规则,同时其联盟中的合作伙伴也非常重磅。

包括 VISA、ebay 和 Coinbase 在内的29个首批合作伙伴

Libra 区块链是一个去中心化的可程式设计的数据库,其被设计成用于支援一个波动性低的加密货币,它能作为有效的交换媒介服务世界上几十亿人。

— — Libra 白皮书

但作为技术人员,我们对于其运用区块链技术的方式最感兴趣。

为什么 Libra 专案要求有自己的一条区块链呢?对于应用程序开发者来说机会在哪里?对于企业以及传统的 IT 公司而言,从中可以得到哪些推断?我们将分三篇文章来讨论这几个问题。

1、Libra 应用程序开发方法;

2、深度解析 Libra 专案的核心应用;

3、如何基于 Libra 开发一款应用程序?

智慧合约先行

Libra 专案中最引人瞩目的设计功能之一,就是其智慧合约先行的策略。就算是像以太坊这样的智慧合约平台,智慧合约的执行仅仅是一种交易的型别。以太坊原生操作仍然是币(coin)的交易。而 Libra 不同。智慧合约是 Libra 上的一等公民。

通过 Libra Core 内部元件写智慧合约的流程

Libra 区块链本身是用 Rust 编写的,但是 Libra 上的应用程序是使用新的程式语言 Move 来编写。所有来自外部的区块链互动都由 Move 程式来处理,在 Libra 上,即便是一个币的转账,也是由 Move 程式来处理的。每一个 Libra 节点都会执行一个虚拟机器器。虚拟机器器执行程式,并且记录共识达成后的结果。笔者认为智慧合约先行的方式能够让 Libra 专案建立起一个功能多样的基础设施,这也能适用于未来的需要。

为什么使用 Move 程式语言

那么,为什么我们需要一种新的程式语言?是因为安全和效能的要求。Libra 要建造一条新的链,因为目前市场上的区块链解决方案没有办法满足其对效能和安全的要求。

Facebook 和 Libra 想要建立专注于支付和资产数字化的区块链,因此他们创造了 Move 程式语言,内建了对不可更改且不可复制的资产的支援。Move 程式语言是一个用于数字资产管理的 DSL(域名特定语言)。

比特币在加密方面成就非凡,能够在数字世界建立无法复制的东西,有着非常巨大的价值。

— — 艾里克斯米特,Google主席

Move 程式语言的名字来自于 Move 本身支援的基础操作器。Move 操作器负责移动资产。Move 消除了原本常见的两步操作:减掉前面一个账户的余额,然后加到另外一个账户。Move 语言将资产与资源放在一等公民的地位。当然,Move 语言也有其他重要的特性,使其在资产管理方面更加安全,更加健壮。

1publicdeposit(payee: address, to_deposit: Coin) {

2letto_deposit_value: u64 = Unpack(move(to_deposit));

3letcoin_ref: &mut Coin = BorrowGlobal(move(payee));

4letcoin_value_ref: &mut u64 = &mut move(coin_ref).value;

5letcoin_value: u64 = *move(coin_value_ref);

6*move(coin_value_ref) = move(coin_value) + move(to_deposit_value);

7}

Move 操作器,存款程式码

1publicwithdraw_from_sender(amount: u64): Coin {

2lettransaction_sender_address: address = GetTxnSenderAddress;

3letcoin_ref: &mut Coin = BorrowGlobal(move(transaction_sender_address));

4letcoin_value_ref: &mut u64 = &mut move(coin_ref).value;

5letcoin_value: u64 = *move(coin_value_ref);

6RejectUnless(copy(coin_value) >= copy(amount));

7*move(coin_value_ref) = move(coin_value) - copy(amount);

8letnew_coin: Coin = Pack(move(amount));

9returnmove(new_coin);

10}

Move 操作器,取款程式码

Move 程式语言是静态的,并且由编译器工具来发现错误和潜在的问题。

Move 源代码被编译为由虚拟机器器执行的静态的 IR (intermediate representation)程式码。IR 程式码由工具进行检查并验证是否正确。

1publicmain(payee: address, amount: u64) {

2letcoin: 0x0.Currency.Coin = 0x0.Currency.withdraw_from_sender(copy(amount));

30x0.Currency.deposit(copy(payee), move(coin));

4}

实际上,目前的 Libra 资料仅仅有 Move IR 程式码的案例。Move 源代码的细节,在撰写本文时还未公布。

Move 程式语言和虚拟机器器是 Libra 专案的关键创新之处,但是 Move 程式语言与传统的 Solidity 和 Vyper 智慧合约语言,以及 EVM(以太坊虚拟机器器)和 WebAssembly 区块链虚拟机器器相比,所做出的妥协有哪些呢?

大多数 DSL 特定语言系统都会就具体的任务进行优化,因此并不适用于广泛意义上的计算。Libra 并未直接表示 Move 程式语言是不是一个图灵完备的体系,但是,Move 专门针对金融交易进行优化,Move 系统可能并不适合用在开发加密货币游戏或博彩。

也就是说,Libra 软件对于大多数企业智慧合约用例来说并不合适。但还有其他的方面,Move 程式语言在很大程度上不是智慧合约。

Move 程式不是智慧合约

Move 程式必须进行编译,并且整合到一个 Libra 节点软件当中,对普通使用者来说才是可用的。Libra 区块链如果要支援新的 Move 程式,必须要暂停整条链,并且所有三分之二的验证人节点进行软件升级,才能够支援同样的 Move 程式,这在本质上意味着,每次要新增新的 Move 程式到区块链,都要进行硬分叉,期间伴随着区块链服务暂停。这不是智慧合约,而是 chaincode(链码)。

智慧合约的一个决定性的特点就是它有能力按照要求在区块链在并不需要暂停服务的情况下,通过共识,部署并且执行新程式码,这对于企业区块链或者是公链来说非常重要。

Libra 专案作为一个专注于金融交易的准入式区块链,它的最初的方案,是使用不可更改的 chaincode。这样能够让整个系统更加安全,而且更加稳定,因为所有的 Move 程式都会至少要得到100个验证人节点中的67位的检查和允许。但是 Libra 专案所声称的目标是在接下来五年当中,进化成一条公链。我们相信 Move 架构会与区块链共同进化。

写在最后

在本篇文章中,我们聚焦讨论了 Move 程式语言以及由其驱动的智慧合约。当然,Libra 还有其它很有意思的技术创新。比如以下值得关注的点:

在接下来的两篇文章中,我们将提供对 Move 程式的深度解读,并向读者展示 Move 语言具体是如何工作的。敬请期待。

作者简介:Second State 主要提供针对企业的区块链智慧合约解决方案,已获得一线VC投资,目前处于未公开阶段。Second State 正在为业内领先的开源专案做贡献,即将释出第一批产品。

2019以太坊技术及应用大会特邀以太坊创始人V神与众多海内外知名技术专家齐聚北京,聚焦区块链技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。

扫码或点选阅读原文,即享优惠购票!

点选阅读原文,即享优惠购票。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 电视机价格 小米手机价格 华为手机价格 红米手机价格 降噪耳机价格