Vitalik对“信任模型”的思考
许多区块链应用程序最有价值的属性之一就是去信任:应用程序能够以预期的方式继续操作,而不需要依赖特定的参与者以特定的方式进行操作。
即使他们的利益可能会改变,并推动他们在未来以一些不同的意想不到的方式行事。
区块链应用程序从来不是完全去信任的,但是有些应用程序比其他应用程序更接近去信任。如果我们想使信任最小化变成现实,我们需要有能力去比较不同程度的信任。
首先,我对信任的简单一句话的定义:信任是对他人行为的任何假设的使用。
当我们运行一段别人写的代码,是我们相信他们诚实的写了代码,或者至少存在足够多的人检查了这段代码。
为了分析区块链协议,我倾向于将信任分为四个维度:
-
我们需要多少人按照我们的期望行事?
-
其中的多少个?
-
这些人的行为需要什么样的动机?他们需要利他主义,还是仅仅追求利益?
-
如果违背这些假设,系统会有多糟糕?
现在,让我们关注前两个。我们可以画一个图:
越绿越好。让我们更详细地探讨这些类别:
1-of-1:只有一个参与者,当(且仅当)一个参与者执行我们所期望的操作时,系统才会工作。这是传统的“中心化”模式,也是我们努力做得更好的地方。
N-of-N:“反乌托邦”世界。我们依赖于一大堆参与者,所有参与者都需要按照预期的方式工作,以便使一切正常运行,如果其中有任何一个失败,则没有兜底。
N/2-of-N:这就是区块链的工作方式——如果大多数矿工(或PoS验证者)是诚实的,它们就会工作。注意N/2-of-N的值会随着N的增大而变大;一个由少数矿工/验证者控制其网络的区块链比一个由广泛分布的矿工/验证者控制的区块链有趣得多。也就是说,我们想要提高这一级别的安全,就需要担心如何在51%攻击中幸存下来。
1-of-N :存在许多参与者,只要其中至少有一个人按照我们的期望行事,系统就会正常运行。任何基于欺诈证明的系统都属于这一类,可信设置也是如此,尽管在这种情况下,N通常更小。请注意,我们确实希望N尽可能大!
N中的少数:有很多参与者,只要他们中至少有一小部分人按照我们的期望去做,系统就会正常工作。数据可用性检查属于这一类。
0-of-N:系统按照预期工作,不依赖任何外部参与者。通过自己检查来验证一个区块就属于这一类。
上面这些类别彼此之间是非常不同的。
相信某个特定的人(或组织)会按照预期的方式工作,与相信某个地方的某个人会按我们的期望去做是非常不同的。
1-of-N 可以说更接近于0-of-N ,而不是N/2-of-N或1-of-1。1-of-N模型可能很像是1-of-1模型,但这两个非常不同:在1-of-N系统中,如果我们参与者此刻突然消失或变邪恶,我们可以切换到另一个,而在1-of-1系统就完蛋了。
特别要注意的是,就算正在运行的软件的正确性是依赖于“N中的少数”这个信任模型,也要去确保代码中是否有会被别人找出的bug。
另一个重要的区别是:如果我们的信任假设被违背了,系统将如何失败?在区块链中,两种最常见的故障类型是活性故障和安全故障。
活性故障是指我们暂时无法做我们想做的事情。例如,提币,获得包含在区块中的交易,从区块链读取信息。
安全故障是指系统本想要阻止但却主动发生了的事件。例如,无效区块被包含在区块链中。
下面是几个区块链L2协议的信任模型示例。我用“小N”表示第二层系统本身的参与者集合,用“大N”表示区块链的参与者;通常假设第2层协议的社区比区块链本身更小。
我还将“活性故障”一词的使用限制在币被长时间卡住的情况;不再能够使用系统,但能够近乎即时地提币并不算活性故障。
-
Channels (包括state channels,闪电网络):活性方面是1-of-1的信任模式(我们的对手可以暂时冻结我们的资金,但如果我们在多个对手之间分币,这种伤害可以减轻),安全方面是N/2-of-大N的信任模式(区块链的51%攻击可以窃取我们币)。
-
Plasma(假设是中心化运营商):活性方面是1-of-1的信任模式(运营商可以暂时冻结我们的资金),安全方面是N/2-of-大N的信任模式(区块链51%攻击)。
-
Plasma(假设是半去中心化运营商,例如DPOS):活性方面是 N/2-of-小N的信任模式,N/2-of-大N的信任模式。
-
Optimistic rollup:活性方面是1-of-1或 N/2-of-小N 的信任模式(取决于运营商类型),N/2-of-大N的信任模式。
-
ZK rollup:活性方面是1-of-小N的信任模式(如果运营商没有包含我们的交易,我们也可以提现,如果运营商没有立即包含我们的提现,他们不能生产更多批次,我们可以借助rollup系统的任何全节点自行提现);无安全故障风险。
-
ZK rollup(具有light- withdrawal enhancement功能):无活性故障风险,无安全故障风险。
最后,还有激励的问题:我们所信任的参与者需要非常利他才能像预期那样行事,但是是稍微利他一点,还是需要足够理性?
如果我们添加一种小额支付的方式,那么帮助他人从ZK rollup中提款是合理的,因此,真的没有理由担心我们无法在任何重要的使用中退出rollup。
与此同时,如果我们作为一个社区同意不接受51%的攻击链(这些攻击链在历史上恢复的时间很长,或审查区块的时间很长),那么可以减轻其他系统的风险。
总结
当有人说一个系统“依赖于信任”时,需要更详细地问他们是什么意思! 是指1-of-1,还是1-of-N,还是N/2-of-N? 他们要求这些参与者是无私的还是理性的? 如果是利他主义,到底是小花费还是一个巨大花费?
如果这个假设被违背了——我们是只需要等几个小时或几天,还是我们的资产会永远被卡住了?根据不同的答案,我们自己是否想要使用该系统的答案可能会非常不同。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum