http://www.7klian.com

Libra区块链是中心化的从代码傍边可以看出

关于Libra项目,市场上并不缺少深入的分析,包括长期和短期理论,媒体的报道也五花八门。然而,这些分析当中,很多都集中在项目的愿景(与Facebook的业绩相比),或者是针对Libra白皮书本身的研究。而对于Libra源代码中隐藏的内容,却鲜有人提起。本报告旨在通过窥视Libra项目的代码库,了解其代码是否反映了Facebook提出的逐步实现“去中心化”Libra项目的意图。

(注:原文作者是TD Research研究合伙人Raul Jordan,本文为译文)


基础知识

Libra项目是由一个大型团队以完全中心化的方式构建的,这个团队可能拥有“无限”的预算,使用Facebook最高的开发和项目管理标准。因此,Facebook的工程师们,从一张白纸开始,花了大量时间了解其他密码货币项目的发展前景,以及它们的权衡和设计决策。

他们的任务不是“我们如何构建Libra”,而是“什么是一流的技术,例如P2P网络包、编程语言和RPC通信库,Facebook应该使用这些技术构建Libra,,即使是牺牲了去中心化”。

与以太坊最大处理400万个验证者不同,Libra不需要在这个约束下运行。因此,Libra的代码必须设计成更像一个性能良好的服务器,而不是一个完全去中心化、拜占庭式的容错系统。为了填补这些空白,Libra还可以自由地开发其名为"Move"的智能合约编程语言,并构建自己的内部软件和工具来完成这项工作。


为什么这些决定很重要?

这些决策很重要,它们与其他密码货币项目的软件治理思想形成了鲜明对比。Facebook不需要一个社区或一组核心开发人员的共识来决定将什么技术融入到Libra中。Facebook在构建Libra时不需要在不相关的团队之间构建多客户端网络或一致性测试来构建相同的协议。如果Libra 项目经理达成共识,即必须实施某项功能,必须使用某些技术,他们肯定会让自己的工程师来建造。

而其他的密码货币项目则是在不同的约束下运行的,新一代的密码货币需要进行ICO,或进行种子轮融资,又或者仅仅是让社区自愿为项目进行贡献,而后者正遭受着公地悲剧的困扰。如果一个项目确实成功地通过了融资挑战,那么它现在必须迎合公共/私人投资者的群体,通过其网络,获得挖矿者/验证者群体的一部分,并在短时间内发布一个产品。对于已被构建为无需许可模型的项目,它们在进行软件改进时,通常会遇到协调困难问题,通常这需要不相关团队之间的很多讨论和协调来实现变更请求(RFC)。诚然,这种协调困难受益于无许可创新,任何工程师都可通过正确的论点和理由建议对协议进行改进,然后获得支持,并通过社区的共识将其纳入未来的硬分叉。如果Facebook真的决定走这条路,而Libra项目背后有一个更大的社区,它可能会面临其他密码项目所遇到的同样的治理难题。

考虑到协议的无许可改进承诺,包含基于优点和共识的特性,那为何一些一流的技术并没有被那些密码货币项目所采用呢?主要原因在于去中心化的项目,想要实现共识是非常困难的。一旦很多团队实现了一个协议,就很难创建让每个人都满意的结果,从而导致更多的治理痛苦。例如,在Go语言中实现和标准化通用序列化库,可能要比在Rust等可访问通用类型的语言中要困难得多。

考虑到Facebook只需维护一个客户端,并且已研究了一段时间的协议,它可以根据自己的协议设计,结合任意多的实现决策。结论是,以有效的方式构建真正去中心化的项目是非常困难的。与其他密码货币相比,不受此约束的Facebook,在为产品发布强大的代码库方面可能会占据优势。


验证者 vs 公共节点运行者

Libra协会的网站上提到:

“协会的一项任务是与社区合作,随时间的推移,使网络逐渐过渡到无许可模式。”
尽管这绝对应该是Libra项目的目标,但我们还是花时间去深入了解它的代码库,看看它的基础是否是为这个转换而建立,或者这是否需要从当前的实现中大幅度地脱离出来。

而第二件事,也许也是让我们对第一件事有最深入了解的一件事,就是特权验证者对网络的能见度,是否与普通节点用户的能见度不同。其中最关键的一点是,任何用户(不仅仅是特权验证者)是否能够自由下载和复制账本的整个状态,以独立地验证交易(译者注:这也是去中心化区块链全节点的功能)。

关于源代码之外的主题,我们能找到的最全面的信息是Libra的官方文档,它提供了该项目的鸟瞰图,以及关于如何运行和连接到运行中的测试网的说明。目前,Libra为用户提供了两个选项:

(1)运行连接至测试网验证者的本地客户端;

(2)运行一条本地链上的本地验证者节点;

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读