以太坊创始人V神:如何理解区块链的“去中心化”
前言:以太坊创始人V神对区块链本质理解非常深入,去中心化是区块链的一个关键属性,V神从架构、控制权和逻辑三个层面来分析。他认为去中心化并不是目的,中心化和去中心化各有优势。而去中心化虽然在容错性、抗攻击性以及抗合谋性方面有其优势,但是也会面临诸多问题。V神不仅剖析了问题,还提出了解决问题的方法,可见他逻辑思维之强大,认识问题之深刻。本文源自Medium.com,由蓝狐笔记社群K.F翻译。
“去中心化”是加密经济学领域中使用频率最高的词汇之一,同时也是区块链中最为关键的特性,但是其定义一直模糊不清。
为了实现去中心化,迄今为止,人们已经花费数千小时的研究,投入了数十亿美元的哈希算力,持续投入以维持、提高去中心化的程度。辩论激烈时,协议(或协议扩展)支持者为了击倒对方,往往试图声称对方是“中心化”的。
人们对于“去中心化”的概念一直混淆不清,比方说,下面三张图虽然很常见,但是对概念的解释毫无帮助。
在Quora上有两个关于“分布式和去中心化之间的区别”答案,第一个表述的意思与上述图示几乎完全一致;而第二个观点完全不同:“分布式意味着不是所有的交易数据处理都在同一地方”,而“去中心化则意味着没有单一节点掌控所有处理。”
与此同时,在以太坊问答社区最靠前答案中有一个十分相似的图示,但是“分布式”和“去中心化”的标注互换了。显然,有必要对此概念进一步澄清。
去中心化的三种类型
当人们在讨论软件去中心化时,实际上他们是在讨论三个独立的维度,通常情况下三个维度相互独立,但是在某些情况下,也存在相互依赖关系。如下所示:
· 架构层面的去中心化:系统由几台物理计算机组成?系统最多可以承受几台计算机同时崩溃?
· 控制权层面的去中心化:有多少个体或者组织拥有系统的实际控制权?
· 逻辑层面的去中心化:系统呈现和维护的接口和数据结构看起来更像一个整体,还是非晶群?一个简单的启发是:如果将系统分为提供者和用户两部分,那么这两个部分是否作为独立单元继续正常运行。
三种维度可整合成如下图所示:
请注意,图中很多地方存在较大争议,但是我们可以简单看一下:
· 传统公司同时满足以上三个维度的中心化定义,控制权中心化(只有一个CEO),架构中心化(只有一个总部),逻辑中心化(公司主体无法切分成若干个子公司)。
· 民法的制定依赖于中心化的立法机构,而普通法则基于判决先例,通过法官不断积累形成。由于法官*裁量权的存在,一定程度上也赋予了民法架构层面去中心化的特性。
但是相比之下,普通法去中心化程度更高。相同点是两者都属于逻辑中心化。(“法律就是法律”)
· 语言是逻辑层面去中心化的一个实例。Alice跟Bob讲的英文与Charlie跟David讲的英文,无需相互认同。预言的存在无须中心化的基础设施,英文语法规则并不是由任何一个单一个体创建或控制。
· BitTorrent 和英语一样在逻辑上是去中心化的,内容传输网络是相似的,不过是由单个公司所控制。
· 区块链在控制权上是去中心化的,架构层面是去中心化的,没有单一节点能够完全控制,也没有系统架构上的故障引发点。但是逻辑上是中心化的(群体达成的共识状态与单一节点的行为无异)。
很多时候人们在谈论区块链的优点时,都会提到它拥有“一个中心化数据库”所带来的种种便利;这里的中心化是逻辑上的,在很多应用中也是好的(尽管IPFS 的Juan Benet也极力推动逻辑去中心化的发展,使得系统能够适应连接性更差的地区)。
架构层面的中心化经常导致控制权中心化,尽管不一定。在计算机化系统中,架构层面去中心化,而不是控制权层面的去中心化是可能发生的。如果有一个网上社区为了方便而使用集中式论坛,如果论坛的所有者有恶意行为,那么社区内的每个人都会转向其它不同的论坛。
逻辑中心化使架构去中心化变得更加困难,但并非不可能 –去中心化共识网络已经被证明其可行性,但比维护BitTorrent更困难。逻辑中心化使得控制权去中心化变得更加困难 - 在逻辑中心化的系统中,通过实行“相互宽容,互不干扰”原则来解决争端就更难了。
去中心化的三个原因
为什么去中心化是有用的?通常会有以下几种论点:
· 容错性——由于去中心化系统由独立的节点组成,因此在整体上不容易遭到破坏。
· 抗攻击性——由于去中心化系统不再具有敏感的中心枢纽,因此其攻击成本和难度大大提升,也更难遭到破坏和操纵。
· 防合谋性——组成去中心化系统中的任意个体很难通过合谋等方式为自己谋取更多的利益,而在现实公司和*机构中,为牟取私利而勾结相对容易地多。
以上观点虽然都是重要而且正确的,但是从不同方面解读可以得到不同的结论。下面逐一展开讨论。
关于容错性,很容易理解,一台电脑发生故障的几率高,还是十台电脑中五台同时发生故障的概率高?
这个答案毋庸置疑,这个原则也在现实生活中广泛应用,包括喷气式发动机,备用发电机,特别是在医院,军事基础设施,金融投资组合多样化以及计算机网络等领域。
然而,尽管这种去中心化很重要也十分有效,但是由于共模故障,也远不及数学模型认定的那般是万能药。四台喷气发动机发生故障的几率虽然比一台更低,但是如果这四台都是由同一制造商生产,那么也极有可能同时引入了某个故障隐患。
那么区块链能够防止共模故障吗?不一定,我们考虑以下情况:
· 区块链中所有节点运行同一个客户端软件,而这个客户端被发现有一个漏洞;
· 区块链中所有节点运行同一个客户端软件,而开发团队不可靠;
· 协议升级小组的研究人员不可靠;
· 在基于POW(工作量证明)的区块链中,假设70%的矿工在同一国家且该国*出于安全目的要求关闭所有矿场;
· 大多数挖矿硬件由同一家公司制造,而该公司受到贿赂或被强迫设置后门,允许该硬件随意关闭;
· 在基于POS(权益证明)的区块链中,70%的token储存在同一交易所中。
对去中心化的容错性分析会综合考虑以上方面,并思考如何将问题最小化,结论显而易见:
· 有多方竞争至关重要;
· 协议的制定必须足够*,因此更多的人会乐意参与到研究讨论当中并且会对不恰当的改动提出批评意见;
· 核心开发人员及研究人员应该隶属于不同公司或机构(也可以用很多的志愿者替代);
· 挖掘算法的设计应该尽量减少中心化的风险;
· 理想情况下,我们采用POS以完全摆脱硬件中心化带来的风险(尽管我们也应该谨慎POS带来的新风险)。
需要注意的是,容错性本身注重的是架构层面的去中心化,但是一旦开始考虑控制协议开发的社区容错能力,那么控制权层面的去中心化也很重要。
接下去分析一下抗攻击性,在一些纯粹的经济学模型中,去中心化有时候并不那么重要。假设你创建的协议中一旦发生了51%攻击,就会损失5000万美元,那么节点是由一家公司还是100家公司控制就不再重要。
事实上,深层次的博弈论表明中心化甚至可能最大限度地提高经济安全(现有区块链的交易模型反映了这个观点,因为通过矿工/区块提议者将交易纳入区块实际上也是一种流转的*做法)。
但是如果你采用的是更丰富的经济模型,特别是考虑到被胁迫的概率(又或者是轻微的DoS攻击),去中心化将变得更加重要。
举个例子,如果某人被胁迫且有生命危险,那么你会更愿意付出一大笔赎金,然而如果这笔钱分别由10个人分别保管,那么攻击方必须同时胁迫10个人才能拿到这笔钱,难度大大提升。
现实世界中很多情况下也是如此,攻击/防御的成本呈现不对称性,往往更有利于攻击者。例如一幢大楼的制造成本为1000万美元,但是摧毁只需要仅仅10万美元,两者变量往往呈亚线性关系。如果大楼的制造成本降低为100万美金,那么其摧毁成本也降低到3万美金,摧毁成本与制造成本的比率会随着制造成本的降低而逐渐升高。
这个推理可以得出以下几个结论:首先,由于计算机硬件更容易被探测,调动,攻击,而代币更容易被隐藏(POS也有一些抗攻击属性),因此POS比POW更好。
其次,是拥有一个来自不同地域的分布式开发团队。第三,在设计共识协议时应该把经济学模型和容错模型纳入到考虑范围之内。
最后,我们分析三种论点中最复杂的—抗合谋性,合谋很难界定,也许简单地说,我们可以把合谋当成“我们不欣赏的协作”。
现实生活中,每个人都能够相互配合协调是最理想的情况,但是群体中存在分裂*,部分个体配合,其他人不配合是存在危险的。
一个简单的例子是反垄断法,设置监管壁垒防止市场任意一方参与者相互勾结以谋取更多利益,并以牺牲市场剩余经营者以及社会福利为代价。另一个例子是禁止“超级政治行动委员会”和总统候选人存在任何联系,但是实施起来相当困难。
还有一个更小的例子,在象棋比赛规则中禁止两名玩家通过互相打很多比赛来刷分。在各个地方,可以说限制合谋作弊的机制无处不在。
在区块链协议方面,共识安全背后的数学和经济通常非常依赖于不协调的选择模型,或者假设游戏中的众多小玩家,各自拥有独立的决策权。如果其中任意一个玩家掌握了POW系统中超过1/3的算力,那么他就有能力获取超额的利润。
然而,我们真的可以说,当掌握比特币90%算力的矿工同时参加一个会议,这种不协调的选择模式是现实的吗?
区块链的倡导者还指出,正是因为规则不能随意更改,所以区块链平台才更安全。但是假如软件和协议的开发人员同属于一家公司,一个家庭或者在一个办公室工作,安全性就大大降低。
总而言之,不应效仿垄断者那般行事。事实证明也是如此,内部协调同化程度越低,区块链本身就越安全。
然而,这显示出一个新的悖论。包括以太坊在内的很多社区经常被称赞具有强大的社区精神,并能够在六天内快速协调实施,发布和**硬分叉以修复协议中的拒绝服务问题。
但是我们如何能够在改善这类协调能力的同时,防止矿工通过重复协调51%攻击危害到他人。
下面从三个方面回答这个问题:
· 应该加强协议构建来抵抗不良的协调,而不仅仅是削弱;
· 尝试找到一个合适的媒介允许足够的协调来促使协议优化,但不足以发起攻击;
· 区分有利协调和有害的协调,并降低前者门槛,同时提高后者门槛。
第一种方法构成了Casper设计理念的很大一部分,然而,它本身是不够的,因为仅仅依靠经济学并不能处理另外两类去中心化问题。第二个是很难明确的,特别是长期的,但它确实经常发生意外。
比如,比特币的核心开发者通常说英语,但矿工通常讲中文这一事实可以被看作是一个快乐的意外,因为它创造了一种“两院制”治理,使协调变得更加困难,同时减少共同模式失败的风险,因为英语和中文社区由于距离和交流困难而至少会有所分开,因此不太可能犯同样的错误。
第三是社会挑战,解决方案包括以下:
· 社交干预可以提高参与者对整个区块链社区的忠诚度,并尽可能阻止市场一方的参与者只在内部互相忠诚。
· 在同一背景下促进不同“市场双方”之间的沟通,以减少验证者或开发者或矿工开始将自己视为需要协调的“阶级”,以维护他们对其他阶级的利益。
· 设计协议的方式可以减少验证者/矿工参与一对一“特殊关系”的激励,集中式中继网络和其他类似的超级协议机制。
· 明确规范协议应具备的基本属性,以及不应该做什么类型的事情,或者至少应该在非常极端的情况下才能做到。
也许最好的方案就是依赖于去中心化程度很高的群体:协议的用户。
风险警示:蓝狐所有文章都不构成投资推荐,投资有风险,建议对项目进行深入考察,慎重做好自己的投资决策。
成为区块链高手,关注“蓝狐笔记”区块链公号:
(长按关注蓝狐笔记)