如何评判一个区块链项目的去中心化程度?
作者: Lane Rettig
来源:真本聪
这篇是“成为更好区块链的关键要素”系列文章的第二部分。尽管去中心化本身并不是目的,但它是达到许多目的的一种手段,包括抵抗审查,腐败和串通。多方参与的包容性机构; 以及财富,权力和影响力的公平分配。 去中心化由于效率低下和成本较高而不适用于大多数应用程序,但是对于那些需要去中心化的应用程序,底层平台比口头上的去中心化服务靠谱的多。
我们去中心了吗? 我想提醒的是,去中心化是多维的,远非二进制。 另一个关联紧密的主题是无许可授权,这部分也将在此进行讨论:允许任何地方的任何人为项目,平台或社区做出贡献是去中心化精神最重要的部分之一。
是否有多个客户端应用?
这里有两种思想流派。一个假设是,单一的规范客户端应用可以将有限的资源集中在一个项目上,并且一个开发团队可以更轻松地进行交流,这将最大程度地提高相对于其他平台的成功率和竞争力。此外,单个客户端应用可防止由于不同节点本地账本不一致导致的共识失败(至少只要每个节点都在硬分叉后升级其软件就可以解决)。另一派则认为,存在多种客户端会使网络更有可能幸免于攻击(一个客户端可能完全停止区块产出)或共识失败(一个或多个客户端无法正确运行协议,这可能导致产生错误区块或全停止区块产出)。
事实上,两者在以太坊中都发生了。但还有更微妙的原因。首先,多个客户端应用并行的降低了单个核心开发团队对网络的主导影响,这是比特币治理的最大问题之一(Zcash基金也会决定构建第二个Zcash客户端,以平衡 Electric Coin 公司的权力)。而且,不同的客户端可能会做出不同的架构决策并具有不同的优势(例如,挖矿,数据查找),并且使用不同的语言编写客户端可以使更多的开发人员可以参与核心开发。虽然并行应用,Beta应用等很不错,但真正可行主流的还是主网客户端:例如,比特币至少有15种客户端应用,但是97%的节点运行一个程序,即比特币核心。
采矿算力是由多少个组织控制的?
参与采矿的各方越多,就越难相互勾结,进行自私的采矿,或进行双花攻击(通常称为51%攻击,实际上的数学原理更为复杂)。这不是一个假设的风险,因为它已经发生在以太坊经典和比特币黄金等网络中。另外,更多的矿工意味着更公平地分配采矿奖励。尽管许多个体矿工可能会参与挖矿,但因为激励他们会聚集到少数几个矿池中,甚至看似去中心化的网络也可能依赖于少数几个实体进行挖矿:三个最大的以太坊矿池共同控制总算力的60%,而比特币矿池的前四名约占56%。
有多少个完整节点正在运行?虽然不进行挖矿,公共完整节点无法防范双花攻击,但可以帮助预防其他类型的攻击,例如eclipse attacks 或 routing attacks。如果运行一个完整的节点尽可能便宜和容易,并且理想情况下用户可以在消费级笔记本电脑(或类似Dappnode或Casa节点的设备)这样的商品硬件上运行一个节点,而不需要不合理的带宽要求,那么这会有极大帮助。
治理如何去中心化?
是否有许多独立的决策者负责协议,品牌,会议和活动,资源分配,社交媒体渠道,Github存代码库等,还是集中在少数富有、强大的实体手中?即使是逻辑上非常去中心化的协议也可能具有相对集中的决策或资源分配。 (更多信息,请参见“治理”部分。)
平台是否可以抵抗审查?
抗审查是区块链平台存在的主要理由之一。 抗审查是设置这些平台以及基于它们构建的应用程序的最重要功能之一,因为Web2 和社交媒体世界任意检查的现象已成为事实。 矿工和完整节点架构上的去中心化以及去中心化的治理,产生了抗审查的特性。 抗审查的能力与去中心化程度成正比。 一个只有几个或十几个区块生产者的网络不能称为比特币或以太坊规模的主权级别抗审查,但它可能是平台级别抗审查,这可能足以满足大多数应用程序。
每个人都有以您的品牌运营的自由吗?
是否有商标,如果有,如何使用? 它是由一个组织举办的吗? 强制执行吗? 是否有一方声称“代表”项目发声,品牌传播是否以更加去中心化的方式进行? 尽管公司可能倾向于在律师的建议下对品牌进行严格控制,但这样做可能会对区块链社区产生不利影响,因为它与去中心化和无需授权等核心原则相抵触。
所有代码是否都是开源的?
尽可能让您的平台贡献代码轻松方便,这不仅是一种廉价地提高开发质量和速度的好方法,也是一种招募各种有才华的贡献者、发现漏洞和利用漏洞、集思广益的方法,在你的社区里培养一种认同感和归属感。当今世界上许多优秀的开发人员只在开源软件上工作。用宽松的低门槛可使您的社区成员更有信心,如果他们不同意软件的设计或治理,他们可以很容易地分叉代码并将项目带到另一个方向。这样降低了退出成本,鼓励更多的贡献者加入。 请务必注意,仅开源代码是不够的。 积极管理开源项目需要做大量工作;可以参考GitHub上的优质项目。
分叉有多难?
分叉是去中心化,开源和区块链项目的超级机制,是使它们与原有世界政治区分开的机制。分叉有着许多重要的作用:它们使各方保持诚实,在出现分歧和争端时充当“解决方案”,是去中心化和无需授权的创新原则的最纯粹体现:任何地方任何人都可以随时自由地提出任何想法。一个害怕分叉的项目是缺乏领导力保障或治理不善的项目:换句话说,可能不是您想做的项目。除了很容易分叉代码外,分叉账簿也应该尽可能简单:链上ID和回滚保护之类的功能可以带来很大的帮助。为了便于治理分叉,应该将尽可能多的内容保存在Github等公共的、可分叉的开源代码存储库中,而不是保存在Wiki,YouTube等上。
进入的障碍是什么?
您需要为特定组织工作才能为项目做出贡献吗? 您是否需要签署劳动合同,提供证明或接受KYC / AML流程? 您需要购买一些代币吗? 正常情况下,在网络上进行交易或交易之前,您需要获得任何人的许可吗? 这些都与去中心化和无需授权的精神背道而驰,阻止了许多人的参与,因此会严重减少创新。