当前位置:首页区块链维塔利克:信任是对他人行为的一种假设

维塔利克:信任是对他人行为的一种假设

对于许多区块链应用,无信任是最重要的特性之一。所谓无信任,是指应用程序的正常工作并不是以特定的参与者以特定的方式行动为前提,即使他们将来会在利益驱动下做出意想不到的行为。区块链应用程序不可能完全不受信任,但有些应用程序比其他应用程序更无信任。如果我们想朝着最小化信任迈出坚实的一步,我们需要确定信任的级别。

首先,我个人对信任的定义很简单:信任是对他人行为的假设。在疫情爆发前,不要故意与他人保持2米的距离,以免被他人刺伤。这是一种信任:一方面是信任他人不要乱跑;另一方面是信任法律制度对违法犯罪行为的约束力。当你运行一段由他人编写的代码时,你相信他们是诚实的(无论是从道德操守还是从经济利益的角度来看),至少有足够多的人审核过代码,知道其中没有错误。不自己种菜也是一种信任:有足够的人生产粮食来赚钱。你可以信任不同的群体,信任有很多种类。

为了分析区块链协议,我将信任分解为四个维度:

你需要多少人按照你的期望去做?

参加者总数是多少?

你需要这些人做你期望的事的动机是什么?他们需要利他主义者还是雇佣兵?有必要避免它们之间的协同作用吗?

如果这些假设被打破,系统将受到多大的损害?

现在,让我们中心化讨论前两个问题。从下图中,我们可以更直观地看到:

维塔利克:信任是对他人行为的一种假设

绿色越深,越健康。下面我们详细分析一下以下几种情况:

1: 1:整个系统只有一个参与者。如果参与者真的如你所期望的那样,系统就会工作。这是传统的“中心化”模式,也是我们要超越的模式。

N: “反乌托邦”世界。为了使系统正常工作,系统中的所有参与者都必须按照您的期望行事。如果任何参与者失败,则没有备份解决方案。

N/2:N:这就是区块链的工作原理-如果大多数矿工(或POS验证者)诚实,区块链就会工作。需要注意的是,N越大,N/2越有价值。与仅由少数矿工/验证器控制的区块链相比,拥有广泛分布的矿工/验证器的网络更有趣。但是,我们仍然希望获得更高的安全性,因为仍然有51%的攻击问题。

1: n:在很多参与者中,只要有一个参与者按照您的预期行动,整个系统就会正常工作。任何基于欺诈证据的系统都属于这一类。对于受信任的设置也是如此,但是n在可信设置中通常较小。注意N越大越好!

极少数:n:在众多的参与者中,只要少数参与者达到一定数量,并按照您的预期行动,整个系统就会正常工作。数据可用性检查属于此类别。

0:n:系统可以正常运行,不依赖外部参与者。自验证块有效性属于这一类。

虽然除了“0:n”之外的所有模都是基于“信任”的,但是这些模之间存在着巨大的差异!相信某个特定的人(组织)会按照你的期望行事,和相信任何人都会按照你的期望行事,两者之间有很大的区别。与“n/2:n”和“1:1”相比,“1:n”更接近“0:n”有人可能会认为“1:n”模式与“1:1”模式非常相似,因为两个系统都依赖于一个参与者,但事实上,它们是完全不同的:在“1:n”系统中,如果参与者消失或作恶,你可以改变另一个参与者;如果是“1:1”系统,你什么也做不了。

特别是,即使您正在运行软件,其正确性通常取决于“极少数:n”信任模,以确保软件代码中的错误能够及时检测到。当你明白这一事实后,试图从“1:n”模式转变为“0:n”模式,就像在敞开的窗户房子里安装防盗门。

另一个重要的区别是,如果你的信任假设被打破,它会对系统造成多大的损害?在区块链上,两种最常见的故障类是活跃性故障和安全性故障。活动失败意味着您暂时无法操作(例如,取款、将交易打包成块以及读取链上的数据)。安全失败是系统希望防止的情况(例如,将无效块添加到区块链中)。

下面列出了一些区块链Layer2协议所采用的信任模。我用“小n”指的是Layer2系统本身的参与者集合,“大n”是指底层区块链中的参与者。我的假设是Layer2的社区总是比其底层区块链的社区小。另外,我所谓的“主动失败”是指代币长时间卡住的情况。未使用系统但立即退出不视为主动故障。

渠道类(包括州道、闪电网等):使用“1:1”信任模来确保活动(你的交易对手可以暂时冻结你的资金,但你可以将资金去中心化到多个渠道以减少负面影响),“n/2:big n”模式确保安全(攻击者可以通过51%的攻击窃取你的资金)。

Plaa(使用中心化式运营商):使用“1:1”模式确保活动(运营商可以暂时冻结您的资金),使用“n/2:big n”模式确保安全(攻击者可以通过51%的攻击窃取您的资金)。

Plaa(使用半中心化式操作符,如dpo):使用“n/2:all n”模来确保活动,使用“n/2:big n”模来确保安全性。

**汇总:使用“1:1”或“n/2:all n”模来确保活动(取决于操作员的类)和“n/2:big n”模以确保安全。

ZK rollup:使用“1:all n”模来确保活动(如果运营商未能打包您的交易,您可以提取您的资金;如果运营商没有立即打包您的取款交易,您就无法打包更多的交易,您可以在汇总系统中的任何一个节点的帮助下自行取款。)有无安全故障风险。

ZK rollup:不存在主动失效风险和安全失效风险。

**,还有一个动机的问题:为了达到预期的效果,你相信参与者需要非常利他主义,一般利他主义,还是理性主义?默认情况下,“欺诈证明”要求参与者具有利他主义,但多少取决于计算的复杂性(参见“验证者困境”),有很多方法可以修改规则,使其合理化。

如果我们增加一种支付服务费的方式,帮助他人从ZK rollup取钱是合理的,所以不必担心不能从rollup中取款。同时,如果整个社区都同意不接受通过51%攻击创建的区块链(将交易历史回滚到很久以前的区块,或审查很久以前的区块),那么对其他系统的风险就可以减轻。

结论:如果你听到有人说一个系统“依赖信任”,一定要问清楚!这个系统是“1:1”模式、“1:n”模式还是“n/2:n”模式?系统需要参与者是利他主义还是理性主义?如果是利他主义,参与者要花多少钱?如果假设被打破,你要等多久才能拿回你的钱?几个小时?多少天?或者它永远不会被取回?在你知道问题之前,你不能决定是否使用这个系统。

温馨提示:

文章标题:维塔利克:信任是对他人行为的一种假设

文章链接:https://www.btchangqing.cn/105909.html

更新时间:2020年09月19日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链

uniswap慷慨背后的意义

2020-9-19 0:21:22

区块链

德菲是无辜的。是无知和贪婪错了

2020-9-19 0:29:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索