不在同一频道?以太坊和Libra对比分析
摘要:Libra受以太坊的影响有多大?根据白皮书中提供的内容,让我们找出答案。
如果将Libra与现有的加密货币进行对比,以太坊无疑是最好的选择。
两者都允许分别处理加密货币(ETH和Libra coin)、共同过渡到POS、以及运行用户定义的智能合约:自定义脚本,可以读取和操作区块链状态。
相似之处到此为止了吗?Libra受以太坊的影响有多大?根据白皮书中提供的内容,让我们找出答案。
是谁掌权
Libra和以太坊(以及比特币)之间的第一个主要区别是,Libra是一个被许可的区块链,而以太坊是没有许可的。
在以太坊中,每个人或多或少都是平等的。没有什么能阻止你购买一台功能强大的机器,并以矿工的身份加入网络,潜在地赚取采矿费,并参与智能合约的执行。没有任何党派比其他党派享有更多的特权;没有权限系统,它规定谁可以确认新的事务和部署新的智能合约。
反观Libra,Libra将选择大约100个创始成员(验证器)组成一个组。用户必须信任这些成员,并且只允许这100个创始成员确认新事务。本质上,Libra将由创始成员国管理。只有它们才具有管理区块链所需的权限。
这类似于私有区块链,比如Hyperledger,它可以用来在各方之间建立一个共享的分类帐,因此没有一个节点必须是完全可信的。
你可能会想,这是否比“传统的”、完全集中的体系好?在这种体系中,交易由央行或金融机构操作。是的,这可能会更好——正如在这个方案中,我们得到了部分分权。虽然这远非以太坊的完全分散化,但至少Libra对网络的控制分散在100个组织中,而不是一个。你只需要相信他们中的大多数人就能放心你的资金是安全的,而不是一个实体或一个国家。
值得一提的是,Libra协会计划过渡到一个没有许可的系统。然而,这取决于一些技术和组织问题,这些问题仍然需要解决。何时、以及是否能解决这些问题,就目前来看,都是一个悬而未决的问题。
这真的是区块链吗?
现在我们来看一个更专业的问题。在以太坊中,块的概念是系统的核心。每个矿工接受多个事务,形成一个块,并试图通过猜测一个数字将该块附加到区块链中,从而使某个数学方程成立(这种猜测需要很大的计算能力,称为工作证明)。每个块引用前一个块,因此形成一个经过身份验证的链。
这个系统的安全性依赖于这样一个事实:它需要大量的计算能力来创建具有双重开销事务的块。我们得到了安全,但代价是高能源消耗。以太坊计划过渡到另一个系统,这个系统称为股权证明(POS),POS没有POW面临的问题,但这仍在积极研究中。
在Libra中,核心数据结构不包含块。因此,我们可以说它并不是真正的区块链。这可能也是为什么该系统被描述为分散的、可编程的数据库。Libra的核心数据结构是什么?事务。它们仍然形成一个序列(用不断增长的整数编号),并且增量地存储在Merkle树中。
此树的根包含一个authenticator值,它类似于从以太坊中的块或事务散列。事务i 1的身份验证器取决于事务i的身份验证器。然后我们可能会说Libra毕竟是一个区块链,不过块的大小非常小,都是1。
即使块不以数据存储在系统中的方式出现,但是验证器在确认事务时使用它们。作为一种优化,为了减少网络流量和提高性能,验证器节点以块的形式提出并提交事务。
Libra区块链的安全依赖于大多数创始成员可以被信任这一事实(准确地说,至少2/3。这也被称为权威证明POA),因此它更节能。Libra也有向POS过渡的计划,但其也会面对与以太坊相同的问题。
区块链中有什么
Libra采用基于账户的模式来追随以太坊。也就是说,区块链存储一个数据库,其中包含从帐户地址到帐户价值的映射。每个帐户对应一个私钥/公钥对(私钥可以循环,它不是1-1对应)。
为帐户存储的价值可以包含Libra Coin(ETH),也可以部署智能合约。
这与使用UTXO模型的比特币不同。
费用
当考虑一个金融体系时,一个主要的问题是——转账要花多少钱?有转会费吗?
对于这两种系统,答案都是肯定的,而且它们处理费用的方式非常相似。他们甚至被称为一样。每次传输,更一般地说,每次调用智能合约都要消耗大量的精力。多少gas,取决于脚本执行多少操作。脚本越复杂,执行成本就越高。这样,您就为验证器借给您的计算能力付出了代价。
然后,根据gas价格,将gas使用量转换为本地加密货币(ETH或Libra)。价格可能会波动,这取决于现有的需求。
一个重要的区别可能是,目前在以太坊上进行交易非常昂贵。对于一个简单的转账,它大约是0.02美元,但是当运行较大的合约时,它可能会变得更加昂贵。
Libra承诺“低收费”,这当然是相当模糊的。然而,考虑到其志在成为一种全球货币的雄心,我们可能预计,这一比例确实会很低。
事务
在这两个系统中,事务的结构大致相同。它包括:
发送方地址,调用事务的帐户,以及将为事务付款的帐户
发送者可以用ETH/Libra Coin支付调用时所使用的单个gas费用
调用可以使用的最大gas量
每个帐户的序列号,防止重播攻击
要调用的代码,以及参数(如果有的话)
使用发送方的私钥创建的签名
性能
现有的区块链技术速度不快。你甚至可以说,它们很慢。比特币每秒可以处理3-7笔交易,而以太坊每秒处理15笔交易。但Libra承诺1000笔/秒。
答案在于Libra有限的验证器集,它允许节点更快地达成共识。
共识是每个区块链的核心组成部分。它是挖矿者或验证者就数据库中包含哪些事务达成一致意见的过程。这不是一项简单的任务——它涉及到节点之间的大量网络通信。事情会变得更加复杂,因为一些节点可能是rogue(拜占庭)。
以太坊是完全开放的,每个人都可以加入,每个人都可以成为一个矿工(这对应于Libra中的验证器)。该网络比Libra最初的100个验证器节点要大得多:在编写本文时,大约有8000个操作节点。但这是以性能为代价的,这会导致网络的吞吐量有限。
Libra没有这个问题,并限制验证器节点的数量。验证器节点也有最低的硬件需求。这意味着网络流量更少,延迟更可预测。
编程语言
以太坊和Libra都定义了自己的编程语言来为他们的网络创建智能合约。它们都具有高级的、人类可读的组件——在以太坊中是Solidity,在Libra中是Move——并且都编译为字节码,然后由虚拟机解释。
然而,相似之处到此为止。虽然Libra白皮书将Move和object-oriented语言进行了比较,但它实际上是一种不同的语言。
Move遵循函数式语言的模型,如Haskell和OCaml,它们严格分离代码和数据。
另一方面,以太坊object-oriented语言,如Java或c#。这里,数据与代码一起存储。
作为一个例子,让我们看看如何在两个平台上实现一个令牌。也许对于ICO来说,在两个平台上都是如此。在以太坊上,要创建令牌,您需要部署一个智能合约,其中包括:
用户地址和他们拥有的令牌数量之间的映射
用于传输和管理令牌的代码
要将令牌传递给另一个用户,我们需要调用给定的智能合约。然后合约中的代码更新其内部状态(映射)。如果令牌是流动的,这个内部状态可能会增长得非常大——因为所有数据都包含在合约中。
在Move中,我们将同时部署一个新的资源类型(新的数据类型)—对应于我们的令牌—和代码,这将允许对令牌进行操作。这两个概念是分开的。要传输令牌,我们将再次调用智能合约。但是,它不会更新其内部状态(因为合约没有与之关联的任何状态),而是将资源从一个帐户移动到另一个帐户。数据属于用户的帐户,不属于合约。
Move虚拟机包含安全机制,可以防止代码复制或修改现有资源。这就保证了代币被表示为一种资源——不能被随意操纵,只能由控制代码定义。
原生代币
以太坊的原生代币是ETH,Libra的原生代币是Libra Coin。那么这两种代币与各自的系统的融合程度是怎样的?
在以太坊中,ETH的概念直接构建在区块链软件本身。这是一个一流的概念,与系统有着内在的联系。以太虚拟机有专门的指令来处理以太网的传输。
Libra的情况则完全不同。Libra Coin作为智能合约的实现,它不是直接嵌入到区块链软件。而有一个特殊的genesis事务,它创建了“system”智能合约。这使得设计更加普遍,也为创造其他代币打开了可能性。
事实上,这个系统中已经有了另一种代币——Libra的投资令牌。此代币用于表示验证器在关联中的利害关系。
Libra的代币在一个方面有特殊的地位——它被用来支付交易费用。这和以太坊是一样的。在这两种情况下,您用于调用智能合约的gas费都会从您的帐户中扣除。
Libra试图将尽可能多的逻辑转移到智能合约平台上,而这并不会因为原生代币的实现而停止。选择当前验证器集的过程也被定义为一个智能合约——并且依赖于基于已经提到的Libra投资令牌所授予的投票。
Libra Coin的价值
一个重要的区别是Libra Coin被设计成稳定币。它将得到法定货币储备的支持(当然是大量美元,其他货币也可能)。这意味着它的价值不会波动那么大,但另一方面,它也不会是一种开放和独立的货币。
新的Libra Coin将被铸造,多余的将被烧毁,这取决于Libra 相关储备成员的钱的数量。这也意味着代币的价值将与全球经济状况紧密相连。然而,如果创始成员国足够多样化,它可能独立于单一国家或单一法定货币的经济状况。
另一方面,ETH是完全开放和独立的。它不与任何传统货币挂钩,也没有任何内在的“现实世界”价值(假设法定货币在某些方面是“真实的”)。
资金管理
区块链是一回事,但如何管理资金呢?如何获得加密货币?
除了Libra的声明,Facebook还宣布了另一个消息——Facebook将创建Calibra钱包,由Facebook旗下同名公司运营。Calibra将是一个托管钱包——这意味着你将不必(或能够)自己管理密码密钥,而且你可以选择找回丢失的密码,从而找回丢失的资金。
大多数人预计,Calibra将成为公众与区块链互动的主要方式。
Calibra也是获得Libra Coin的一种方式。它将要求向公司提供政府颁发的ID,从而实施KYC(了解客户)和AML(反洗钱)程序。
这意味着,虽然Libra区块链本身的数据将是假名,但也会通过Calibra钱包来绑定你的身份与你使用的钥匙。
在以太坊中,有各种各样的钱包和交易所,你可以在上面获得ETH;交易所的用户通常还需要政府签发的身份证。然而,ETH加密货币也可以通过成为一名矿工获得——因此完全匿名。
身份验证读取
Libra对区块链技术当前状态的改进之一是验证读取并证明某个事务确实是区块链的一部分。
在以太坊中,为了确保某个事务发生在区块链上,需要重播整个历史记录,从一个受信任的块开始,一直重播到给定的事务。
Libra包含一种经过身份验证的读取机制,使用这种机制可以获得相对较短的证明(也基于Merkle树),证明某个事务确实已提交到区块链的数据库。
总结
Libra从以太坊和其他区块链中汲取了很多灵感,但它也添加了一些独特的功能和选择。
它有一个被许可的、封闭的模型,一方面它没有提供以太坊的完全分散化和开放性,但另一方面它提供了更高的事务吞吐量和更低的费用。
受函数式编程的启发,它有一个有趣的数据和智能合约编程模型。Libra Coin和验证器集的管理并没有包含在区块链中,而是被定义为智能合约,这一事实非常优雅。
最后,Libra还处于早期阶段。许多实现细节还没有完善,包括高级的Move语言表示。此外,最初开发人员将无法发布他们自己的智能合约——只允许由Libra协会管理的预定义合约集。
Libra是一个有趣的折衷方案,介于完全分散化的区块链网络和集中化的银行体系之间。许多技术挑战都被推迟了一段时间,而在监管合规、建立储备和管理组织方面,挑战甚至更多。
但是考虑到Libra的商业支持和有趣的技术设计,它的发展绝对值得密切关注。
作者:Adam Warski
编译:共享财经 Neo