对于许多区块链应用来说,免信任性 都是最重要的特征之一。所谓的免信任性,就是应用的正常工作不以特定参与者按特定方式行事为前提,即使他们将来会在利益的驱使下做出意料之外的举动(也不能使应用的工作状况脱离预期)。区块链应用永远不可能实现完全免信任,但是有一些应用在免信任程度上远远高于另一些项目。如果我们想要朝着信任最小化迈出坚实的步伐,就得先辨别出信任程度的高低。 首先,我个人对信任的定义很简单:信任就是对其他人行为的假设。在疫情爆发前,你不会因为害怕别人突然捅你一刀而与刻意跟他人保持两米的距离。这就是一种信任:一方面是信任他人不会暴走,另一方面是信任法律制度对违法犯罪行为的约束力。当你运行其他人写的一段代码时,你相信他们是诚实的(不管是从人品的角度,还是从经济利益的角度),至少有足够多的人对这段代码进行过审计,知道里面没有 bug 。不自己种菜也是一种信任:相信会有足够多的人为了赚钱而生产粮食。你可以信任不同群体,信任的类型也多种多样。 为了分析区块链协议,我会将信任拆解成四个维度: 你需要多少人如你预期的那样行事? 总参与人数有多少? 需要这些人出于什么动机如你预期的那样行事?需要他们是利他主义者,还是唯利是图者?是否需要避免他们之间产生协同? 如果这些假设被打破了,对系统的破坏有多大? 现在,先让我们聚焦于前两个问题。通过下图,我们可以更加直观地看出: 绿色越深表示越健康。让我们详细分析以下几种情况: 1 : 1:整个系统只有一个参与者。如果这名参与者确实如你预期的那样行事,系统就会正常运行。这就是传统的 “中心化” 模型,也是我们所要超越的模型。 N : N:“反乌托邦” 世界。系统中的所有参与者都要如你预期的那样行事,系统才能正常运行,如果有任意参与者失败,那也没有备份方案。 N/2 : N:这是区块链的运作方式 —— 如果大部分矿工(或 PoS 验证者)是诚实的,区块链就能正常运作。要注意的是,N 越大,N/2 就越有价值。相比只由少量矿工/验证者控制的区块链,矿工/验证者广泛分布的网络有趣得多。尽管如此,我们依然想要获得更高的安全性,因为还有 51% 攻击的问题存在。 1 : N:在众多参与者中,只要有一名参与者如你预期的那样行事,整个系统就能正常运行。任何基于欺诈证明的系统都属于这一类。可信设置也是如此,不过在可信设置中,N 通常较小。要注意的是,N 越大越好! 极少数 : N:在众多参与者中,只要有达到固定人数的小部分参与者如你预期的那样行事,整个系统就能正常运行。数据可用性检查(data availability check)就属于这一类。 (责任编辑:admin) |