最后更新:2020-09-05 10:24:33 手机定位技术交流文章

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
小编:记得关注哦
来源:以太坊爱好者

作者:Vitalik
翻译&校对:闵敏 & 阿剑
对于许多区块链应用来说,免信任性 都是最重要的特征之一。所谓的免信任性,就是应用的正常工作不以特定参与者按特定方式行事为前提,即使他们将来会在利益的驱使下做出意料之外的举动(也不能使应用的工作状况脱离预期)。区块链应用永远不可能实现完全免信任,但是有一些应用在免信任程度上远远高于另一些项目。如果我们想要朝着信任最小化迈出坚实的步伐,就得先辨别出信任程度的高低。
首先,我个人对信任的定义很简单:信任就是对其他人行为的假设。在疫情爆发前,你不会因为害怕别人突然捅你一刀而与刻意跟他人保持两米的距离。这就是一种信任:一方面是信任他人不会暴走,另一方面是信任法律制度对违法犯罪行为的约束力。当你运行其他人写的一段代码时,你相信他们是诚实的(不管是从人品的角度,还是从经济利益的角度),至少有足够多的人对这段代码进行过审计,知道里面没有 bug 。不自己种菜也是一种信任:相信会有足够多的人为了赚钱而生产粮食。你可以信任不同群体,信任的类型也多种多样。
为了分析区块链协议,我会将信任拆解成四个维度:
现在,先让我们聚焦于前两个问题。通过下图,我们可以更加直观地看出:

绿色越深表示越健康。让我们详细分析以下几种情况:
尽管除 “0 : N” 之外的模型都是建立在 “信任” 基础上的,但是这些模型之间存在巨大差异!相信某个特定的人(组织)会如你所预期的那样行事,和相信任何一个人都会如你所预期的那样行事,二者之间有着天壤之别。相比 “N/2 : N” 和 “1 : 1”,“1 : N” 与 “0 : N” 更为接近。或许有人会觉得 “1 : N” 模型与 “1 : 1” 模型很像,因为这两种系统都依赖一名参与者,但实际上它们之间迥然不同:在 “1 : N” 系统中,如果这名参与者消失或作恶,换一名参与者即可;如果是 “1 : 1” 系统,你就只能束手无策。
尤其要注意的是,即使是你正在运行的软件,其正确性通常也取决于 “极少数 : N” 信任模型,以此确保软件代码出现 bug 时,会有人及时发现。在了解这一事实后,你就会发现,努力从 “1 : N” 模型转向 “0 : N” 模型如同为敞开窗户的房子安装防盗门。
另一个重要的区别在于,如果你的信任假设被打破,对系统的破坏有多大?在区块链上,最常见的两种故障类型是活性故障(liveness failure) 和 安全性故障(safety failure)。活性故障就是你暂时无法进行操作(例如,提币、将交易打包进区块、读取链上数据)。安全性故障就是出现了系统想要预防的情况(例如,无效块被添加到区块链上)。
以下列举了一些区块链 Layer 2 协议所采用的信任模型。我使用 “small N” 来指代 layer 2 系统本身的参与者集合,“big N” 来指代底层区块链的参与者。我的假设是 Layer 2 的社区总是小于其底层区块链的社区。另外,我所谓的 “活性故障” 特指代币长时间卡住的情况。无法使用系统但能即时提款的情况不算作活性故障。
最后是关于激励的问题:为了达到预期的效果,你所信任的参与者需要非常利他主义,一般利他主义,还是理性主义?默认情况下,“欺诈证明” 需要参与者是利他主义的,但是程度如何取决于计算的复杂性(详见 “验证者困境” ),而且有很多方法可以修改规则,使之变得理性。
如果我们增加一种方式来支付服务费,那么帮助他人从 ZK rollup 上取款的行为就是理性的,因此没必要担心无法退出 rollup 的问题。与此同时,如果整个社区都同意 不接受通过 51% 攻击创建的区块链(将交易历史回滚到很久之前,或审查很久之前的区块),就可以减轻其它系统的风险。
结论:如果你听到有人说某个系统 “依赖于信任”,一定要问清楚!这个系统是 “1 : 1” 模型、“1 : N” 模型还是 “N/2 : N” 模型?这个系统需要参与者是利他主义还是理性主义?如果是利他主义,参与者需要付出多大代价?如果假设被打破,那么你需要等待多久才能取回自己的资金?几个小时?几天?还是永远无法取回?搞清楚了这些问题,你才能决定要不要使用这个系统。
本文由 在线网速测试 整理编辑,转载请注明出处。