首页 资讯 正文

Hardcore | Libra手册:理解Facebook的加密货币

Maxwell 2019年09月22日 00:14

金色财经近期推出Hardcore栏目,为读者提供流行项目介绍或者深度解读。本期文章为ConsenSys Academy的Coogan Brennan撰写的Libra手册。

《Libra手册:理解Facebook的加密货币》包括以下十五部分:

一、前言

二、Libra生态系统地图

三、Libra协会

四、Libra网络

五、Calibra

六、Libra协会和Libra储备

七、Libra代币发行

八、Libra储备未解决的问题

九、来自中央银行的监管反应

十、来自各国政府的监管反应

十一、来自美国的监管反应

十二、技术部分

十三、Libra BFT

十四、Move编程语言

十五、结论

一、前言

无论人们如何看待Facebook,它宣布发行Libra都立即把区块链的宏大思想带向更大人群。Facebook不仅拥有20亿用户,而且从来没有一家公司能像Facebook一样影响人们的日常生活(可能除了google)。

ConsenSys相信利用我们在加密货币领域的专业知识和经验来让这些专业知识进入公众讨论视野,这也是我们的责任。

我们同时认为,了解Libra的后续发展,对ConsenSys以及更广泛的以太坊社区来说,也是一个巨大的机会。

Libra已经对他未来的愿景提出了很多设想,同时它们也要求世界接受Libra。这是一个棘手的任务,我们决定专注于他们提出的最低限度可行产品(MVP)。

我们会尽可能地限制猜测,当我们在基于非Libra材料上推测时,会申明清楚。

请注意,我们不会讨论无授权的POS网络如何工作,我们不会过多讨论Libra代币分配的社会影响。我们将研究黄铜税(brass tax),这一说法来自Facebook,Libra和Calibra的技术文档和公开声明。

二、Libra生态系统地图

utdpnFJbIqCAx9xILczXk7BGfO8yh6w0gAKgDumZ.png

三、Libra协会

Libra协会是最顶层的组织机构,主要有三个职能:

1. 治理

管理“创始成员”,Libra协会的合伙机构被称为创始成员。这是新闻提到最多的部分,因为它不仅有Facebook,还包括其他27家机构,包括Visa,MasterCard和PayPal。但是,据纽约时报Nathaniel Popper报道,该协议没有约束力,也还没有资金转入。

2. LIBRA储备管理

这是支持Libra代币的储备,也是人们称之为“稳定币”的原因,“稳定币”是一个区块链术语。这些储备来自Libra验证节点支付的1000万美元会员费,以及消费者“买入”Libra生态系统使用的法币。

3. LIBRA CORE的管理

这可能有点令人困惑,但Libra Core是Libra协议(Libra Protocol)的软件实现。Libra区块链的每个参与者都必须和Libra Core软件交互。Libra协会充当Libra Core的守门人,实施Libra Core软件更新并确保它不违反创始成员的服务条款。

可以把Libra协会视为一个必须处理国际监管和储备的大型商业组织。

四、Libra网络

“Libra网络从以太坊和其他区块链项目借鉴了很多。”

Libra网络是由Facebook提出的需要许可的联盟链。出于安全和监管原因,所有流量在网络中被引导至一组验证节点,这些验证节点最初将是由创始成员组成。创始成员都使用Libra Core,并在网络中“质押”1000万美元会员费以保护网络安全。Libra网络从以太坊和其他区块链项目借鉴了很多,这将在指南后面的技术部分进行讨论。

五、CALIBRA

Calibra是Facebook的数字钱包平台,这将是消费者向Libra网络提交交易的“开关”通道。目前Calibra或Facebook披露的关于Calibra的技术细节较少,除了它将嵌入Facebook的所有数字产品中,因此可供Facebook所有用户使用。从销售角度看,消费者层面的问题仍有待进一步澄清,也没有马上成为听证会的焦点。

六、Libra协会和Libra储备

因为几乎所有的Libra项目都还是提议,所以对Libra协会和它对Linra储备的管理目前都是猜测性的。在Libra文档的前几行是这么概述Libra协会的:

“这个提议[Libra协会白皮书]将作为协会成员间讨论的基础,以修改和制定章程”[“Libra协会”,“概述:协会与理事会”]

这意味着在Libra协会白皮书中列出的细节本身需要理事会成员的辩论和投票,很可能需要所有利益相关者的三分之二绝对多数通过。(创始成员看上一节)。

在交易中尝试使用加密货币目前面临的挑战之一是二级市场价格的波动,例如对美元或日元的价格。区块链社区提出了一个解决此问题的方案:稳定币。这些稳定币或者a)由算法调节以维持特定的价格(如DAI,MakerDAO代币)或者 b)由资产1:1支持(如GeminiUSD)。Facebook决定在Libra中使用后者来使Libra保持稳定。

Libra协会从每个会员那里收取1000万美元,打包所有收入并放入Libra储备。“Libra储备由[Libra]协会管理,目标是价值保存”[Libra协会1.C]。意思是它们把这笔资金投资到一些随时间相对稳定的东西,而不是依赖于一个政府。

因此,它的投资策略是:

“实际资产将主要由低波动性资产组成,包括银行存款和稳健、有声誉央行国家的政府公债。协会只会投资于政局稳定政府的债务,它们具有低违约概率,也不太可能经历高通胀。[...]在流动性方面,协会计划依靠这些政府发行的短期证券,它们市场流动很高,每天市场交易量都有几百甚至几千亿美元。这允许Libra储备很容易随着Libra代币流通的数量变化而调整。”

稳定币&Libra储备

•关注价格稳定性

•1:1资产支持,最初来自投资者

•“一篮子法币”

•Libra代币由Reserve资产支持

•还未解决的问题

•发行......

七、Libra代币的发行(Creation)

Libra组织将把资金(基本上是一个篮子债券)存储在一些稳定的银行里,这样在理论上随着时间的推移Libra会保持相对稳定的价格。所以会有一个稳定的价格机制,Libra代币将依靠Libra储备的资产发行。

Libra代币将采取两种方式分配:

第一种方式,人们可能比较熟悉,基于创始成员缴纳的1000万美元会员费分配Libra代币。创始成员转身在Libra网络(我们将在后面讨论Libra网络)中“质押”这些代币,来保证网络安全,防止失去这笔投资的风险。

第二种方式,人们不是很熟悉,是个人消费者用货币来购买代币从而进入Libra网络。

铸造发行给用户的新Libra代币将1:1相当于“转移至Libra储备的法币。”

这个问题还没有得到太多讨论,但却是Libra网络的关键要素,它引发了许多悬而未决的问题。

它导向我们将在Libra储备中讨论的最后一个角色:授权经销商(Authorized Ressellers)

Libra Reserve白皮书中说道:

“用户不会直接与Libra储备打交道。相反,为了更高的效率,授权经销商将是Libra协会唯一授权的实体,进行法币和Libra之间大量的交易,从而进入和赎回Libra储备。”

为了隔离KYC/AML和各地监管,Libra在Libra储备和用户之间创建一类称之为“授权经销商”的Libra网络参与者。在Laura Shin的一期Unconfirmirmed播客中,Libara通讯和政策主管建议,Libra应该推动与Libra Reserve合作的授权经销商遵守当地监管法规,遵守目前国际金融机构要遵守的国际反洗钱法律。

因此,授权经销商将是数字钱包接触客户的承接口。它们接收数字钱包用户的当地货币并返给用户Libra代币。从交易上看,授权经销商将要么用当地货币购买大量的Libra代币,要么将以某种方式获得大量的Libra代币分发给他们的用户。

八、Libra储备悬而未决的问题

Libra的愿景是帮助那些没有银行账户的人。然而,支持Libra代币的Linra储备,只有收到用户的法币,才能授予他Libra代币。但是没有银行账户的人使用什么法币来购买Libra代币进入Libra系统?如果需要用当地货币以某种方式将其转换为稳定的票据(Libra代币),又如何为无银行账户的人群提供服务?

如果有人在美国用Libra汇款给菲律宾的家人,菲律宾的家人能将其兑回当地货币吗?或者他们必须留在Libra网络使用Libra代币?

什么样的硅谷投资者会投资以获得Libra储备需要维持的“稳定回报”?

如果某人被国家认定为有不当行为,中国的社会信用评分已被用于不允许他乘坐某些火车或购买某些产品。如果Calibra成为主流支付模式,Facebook会不会使用社会信用评分“禁止”人们使用他们的金融服务?

经济规模较小或无银行账户人口较多的国家通常拥有严格的货币管制,以防止其货币集中在该国以外的组织手中。如果授权经销商必须把钱给予Facebook,如何在不违反这些管制的情况下大规模发生?

显然,Libra部署之前还有许多物流,财务和道德问题的细节需要进一步说明。

九、来自中央银行的监管反应

• 美联储;国际清算银行;积极:马克·卡尼和英格兰银行;不太积极: G7

• 美联储: 鲍威尔表示美联储正在调查Facebook的Libra加密货币,表示“严重关切”

•“金融时报”报道:央行的央行,国际结算银行(BIS)行长Agustín Carstens告诉金融时报,BIS支持各国央行发行法定数字货币的努力。“许多中央银行正在这方面努力; 我们也在努力支持他们”Carstens说。

• 金融时报: “中央银行计划发行数字货币获得支持“ (2019年6月30日)

•马克·卡尼相对比较积极,他表示,Libra可以大幅降低成本并增加金融普惠性,但需要监管。在一个独立决策中,英格兰银行宣布将成为第一家计划向新的支付提供商开放资产负债表访问权限的央行,新的支付提供商包括支付服务的公司和用户。

十、来自政府的监管反应

•基于监管限制,Facebook表示将不会在印度推出其数字钱包服务。

•中国正在推出自己的加密货币:南华早报:“据中国央行官员,Facebook的Libra迫使中国加速自己的加密货币计划”(2019年7月8日)

•“据政府高级官员,德国财政部在一份内部报告中表示,德国政府应该研究如何防止Libra成为欧元的完全替代品” - 华尔街日报

十一、美国监管部门的反应

•国家安全问题、隐私和数据问题、钱包互操作性讨论

我们可以预料到的。

“Facebook已经成功地成为一个放大镜而不是聚光镜,专注分裂人们的看法和操纵人们情绪。现在更想要进入人们的银行账户和货币政策——我们如何能够相信它能负责任地做到这一点?”

到目前为止,美国关于Libra的听证会一直是报告性的。许多政客们表示他们希望在保持创新和增长的同时保持疑虑,担心Facebook可能会控制Libra协会。关于Libra,Facebook以及各种尚未解决的问题,可能会有更多的会议信息和国会听证会。

十二、技术部分

与ETHEREUM 1.X的相似之处

•用Rust编写的Libra Core、基于Merkle树的验证数据库、存储膨胀问题、节点发现方法、Gas计量、交易......

我们现在更多转向Libra的技术方面。Libra白皮书多次提到以太坊1.x社区也正在讨论的问题,例如:

•提到因为速度和安全许多区块链项目研究过Rust语言。

•意识到存储问题,并在调节网络内存方面讨论租金问题。

•Libra的节点发现(peer discovery)和gossip方法看起来类似于Ethereum当前网络的DEVP2P协议。

•Libra使用gas计量来防止图灵完全错误或DoS错误。

•下面是Libra网络中的交易图像:

WM1QDejkrJx3EcE4dg2L8CwbrODGd2hHpFmvY2AT.png这与以太坊的交易非常相似!但是,在以太坊中地址和公钥是组合协议。另一个值得注意的区别在“程序”部分,在以太坊中是数据域并持有智能合约部署代码,函数参数等。

Libra还提到了类似于以太坊2.0新的生态系统已确认的一部分。这包括:

•PoS共识中的轮值领导,类似于以太坊2.0已提出的机制。Libra讨论slashing作为一种惩罚机制来节制验证者节点的不当行为。

•“两个网络都在寻找最小化选举领导者影响的方法,提出不同方案来处理伪或偏置随机数。”

•Libra称其网络协议受到libp2p的“启发”,以太坊2.0最近也决定使用libp2p:

•Libp2p。“网络层的设计是通用目的,从libp2p项目获得灵感。”[LibraBFT白皮书]第6节

•在Libra Core代码库中,有一个名为“Nextgen crypto”的文件夹,其中有BLS12-381曲线,Ethereum 2.0也使用了相同的曲线。

十三、LibraBFT

“Libra协会的创始成员既是Libra区块链的守门人,也是Libra区块链信息的维护者。”

Libra协会的创始成员加入网络需要缴纳1000万美元。在Libra网络中,它们是验证节点,意思是它们都既是Libra区块链的守门人,也是Libra区块链信息的维护者。作为验证节点,它们遵守某些我们称之为共识的规则。该共识模型为LibraBFT。

LibraBFT是一个由投票决定的领导者来领导的共识模型,这意味着创始成员将轮流授权交易进入区块链网络。它使用区块链领域人们熟悉的加密功能例如数字签名,hash函数和公钥—私钥加密。

wSJvTkgayhLv4zFWNJTr36attn7bxgg1xvqmtH80.png

对Libra网络的所有调用都通过一个API,即一个名为Admission control的端点(endpoit)。非验证节点可以执行两种类型的调用:查询以及提交交易。

它是对网络流量的严格控制,这意味着对验证节点的需求会很高。这是一个更中心化的模型,这是Libra为速度和安全考虑做出的权衡。

这对联盟链来说并不罕见,这绝对不同于以太坊或比特币。在以太坊或比特币上,理论上讲任何人都可以提交交易或运行挖矿节点。这些方面存在着挑战。

这里的要点是,用户可以使用验证节点的单个API端点,验证节点充当了网络内部密室的保护盾牌。

网络内部发生了什么?如果上图你向右看,可以看到网络处理发生在分开的几个阶段。这使它增加了处理交易的能力:文档显示没有CPU限制。

十四、Move编程语言

这种共识,执行和存储的分离是有趣的一面,把我们带向Libra网络最后一个技术特征。请记住,Libra的节点数量有限,而且在自己的行业中都受到高度监管,要能够以标准化且无需信任的方式共享数据。当我们讨论Facebook提出的区块链编程语言Move时,这是很重要的。

以太坊只有“一种”以太坊虚拟机能理解的语言,那就是EVM字节码。Solidity,Vyper,LLL等必须编译成它。Libra也采取同样的方式,必须是Move字节码。随着Libra走向成熟,我们可能会看到其他语言编译为Move字节码。现在,我们只有Move IR,它使用类似Rust的语法。

Move使用First-Class资源以编程的方式引入网络所有权的想法,但是仅适用于你想保持严格安全的某些变量。例如,Libra代币是网络中First-Class的资源,但代表Libra代币地址的寄存器并不是。

First Class资源通常用密码学的变量来保证安全,也在程序级别上提供更多安全性。

Move目前实行的是和类似Rust的语法。与Solidity类似于Javascript一样,Move看起来像Rust。Rust被许多区块链研究人员研究,因为它非常快且拥有独特的所有权。根据维基百科,“Rust的所有权制度,所有值都有自己独特的所有者。”

“Move的关键特征是能自定义资源类型,语义受线性逻辑的启发:资源永远不会被复制或隐式丢弃,只在程序的储存地点间移动。“[同上]第3.1节:First-Class资源”

下面言论来自Calibra的技术负责人几个星期前在Rust subreddit上:“因为安全是本项目主要关注点,所以Rust的类型安全和内存安全非常有吸引力。”

以太坊中经常出现的一个错误是智能合约程序员错误处理变量,这被Move语言设计引以为鉴。Rust通过捕捉人们不想或意外删除的一些通用方式,创造一定程度的安全.

本质上,Rust(或者更确切地说,Rust编译器)在运行时强制执行所有权规则“创建一个轻量级的验证工具来捕获用户错误并防止某些错误。”

wgap3VMgMoJWFUPCMOfCWNHCoFziWKg0isM5ApHO.png

上面是发生这种情况的简单示例:注意是用move()而不是copy()用于发送(这也是Move得名的原因!)

我相信这种语言被称为Move的原因是,因为move是区块链虚拟机内极端重要的操作,因为它专门来处理这些所谓的First-Class资源。

智能合约在此网络中称为模块,并用Move语言编写。它们不会接受第三方模块(这里没有应用程序商店),你一旦了解了First-Class资源的重要性,也就知道了原因:模块本身不具有状态,但它们具有在网络中创建First-Class资源的特权。这些资源继承了独特所有权额外的安全性。

Libra代币Libra Coin代表着“系统资源”,并且每次只分配到某个帐户。它以系统状态表示,是目前系统中唯一的模块,这很有意义,因为Facebook和Libra目前是主要的基础设施支持者。

“Move的关键特征是能自定义资源类型,语义受线性逻辑的启发:资源永远不会被复制或隐式丢弃,只在程序的储存地点间移动。“[同上]第3.1节:First-Class资源”

不在这上面描述太多细节了,但我们可以在这里讨论验证节点(Validators),例如,如果它们是MasterCard,已经可以访问大量信息比如客户的资产。Move,和需要许可的网络结合,在技术上给予了一种更有效的方法,特别是在传输数据方面。

十五、结论

我们今天只是粗浅地探讨了一下。但是,我们认为我们已经对Libra系统做了一个很好的综述,包括Libra的一些设计决策。

最大化的去中心化系统是最安全的,Libra不是最大化的去中心化系统。系统越去中心化,对恶意行为者(黑客)它就越安全。Libra联合体只是在网络验证节点数量方面去中心化,目前由29个验证节点组成,包括了一些世界上最大的企业和金融机构,这使之看起来进一步中心化。相比之下,比特币和以太坊区块链有数千个节点维护着它们全球的网络。在这么短时间内,不可能断称Libra是否会取得成功,但在将区块链技术逐步引入主流世界中,它将会是一个重要事件。