信任模型

文章详细探讨了区块链应用中的信任模型,分析了不同信任模型的特点及其对系统稳定性和安全性的影响,并比较了几种区块链二层协议的信任模型。

信任模型

许多区块链应用程序的一个最有价值的特性是 无信任性:该应用程序在预期的方式下继续运行的能力,而不需要依赖于特定的参与者以特定的方式行动,即使他们的利益可能变化并促使他们在未来以某种不同而意想不到的方式行事。区块链应用程序从来都不是 完全 无信任的,但一些应用程序比其他应用程序更接近于无信任性。如果我们想在信任最小化方面做出实际的努力,我们希望能够比较不同程度的信任。

首先,我简单的一句话信任定义是:信任是对其他人行为的任何假设的使用。如果在疫情之前,你在街上走时没有确保与陌生人保持两米距离,以免他们突然拿出刀刺你,这是一种信任:双方都相信人们很少会完全疯狂,并且相信法律系统的管理者仍会提供强有力的激励来对抗这种行为。当你运行一个由其他人编写的代码时,你信任他们诚实地编写代码(可能是出于他们自身的体面感或出于维护声誉的经济利益),或者至少信任有足够多人检查代码,以便发现错误。不种植自己的食物是另一种信任:信任有足够的人意识到对他们而言,种植食物是有利可图的,以便他们能把食物卖给你。你可以信任不同规模的群体,且存在不同种类的信任。

在分析区块链协议的过程中,我倾向于将信任分解为四个维度:

  • 你需要多少人按你的预期行为?
  • 由多少人组成?
  • 那些人所需的动机是什么?他们需要无私,还是只需寻求利润?他们是否需要是无协调的
  • 如果违反假设,系统将多么严重地失败?

现在,让我们集中在前两个方面。我们可以绘制一个图表:

越绿色越好。让我们更详细地探索这些类别:

  • 1 of 1 : 只有一个参与者,系统能正常工作如果(且仅当)那个参与者按你的期望行事。这是传统的“中心化”模型,也是我们努力做得更好的方面。
  • N of N : “反乌托邦”的世界。你依赖于一大堆参与者,所有人都需要按预期行事,若其中任何一个失败则没有备份。
  • N/2 of N : 这是区块链的工作方式 - 如果大多数矿工(或PoS验证者)是诚实的,它们就会运作。注意,N/2 of N在N增大时显著更有价值;一个由少数矿工/验证者主导网络的区块链远不如一个其矿工/验证者广泛分布的区块链有趣。话虽如此,我们仍希望在此级别的安全性上有所改善,因此有关生存51%攻击的担忧
  • 1 of N : 有多个参与者,只要他们中至少一个按你期望的行事,系统就能正常工作。任何基于欺诈证明的系统都属于此类,可信设置也是如此,但在这种情况下,N通常较小。请注意,你希望N尽可能大!
  • Few of N : 有多个参与者,只要其中一些固定的小数量按你期望的方式行事,系统就能正常工作。数据可用性检查属于此类。
  • 0 of N : 系统在没有任何外部参与者的依赖的情况下按预期工作。通过自己检查来验证一个区块就属于此类。

除了“0 of N”,其他所有类型都可以视为“信任”,但它们之间的差异非常大!信任某个人(或组织)按预期工作,与信任任何地方的某个人会按你期望的方式行事是非常不同的。”1 of N”无疑比“0 of N”更接近于“1 of 1”而非“N/2 of N”。“1 of N”模型也许给人一种“1 of 1”的感觉,因为似乎是通过一个单一的参与者进行操作,但这两者的现实是 非常 不同的:在“1 of N”系统中,如果你现在正在合作的参与者消失或转坏,你可以切换到其他参与者,而在“1 of 1”系统中你就麻烦大了。

特别地,请注意你正在运行的软件的正确性通常依赖于“Few of N”信任模型,以确保如果代码中存在错误,有人会发现它。考虑到这个事实,在应用程序的其他方面试图很努力地从“1 of N”转变为“0 of N”往往就像是在你家制作一个加固的钢门时窗户保持敞开的状态。

另一个重要的区别是:如果你的信任假设被违反,系统是如何失败的?在区块链中,最常见的两种失败类型是 活跃性失败安全性失败。活跃性失败是你暂时无法做某事(例如提取币、获取交易被包含在区块中、从区块链读取信息)的事件。安全性失败是系统旨在防止的事件实际发生(例如,一个无效的区块被包含在区块链中)。

以下是几种区块链 Layer 2 协议的信任模型示例。我用“小 N”来指代 Layer 2 系统本身的参与者集,而用“大 N”指 blockchain 的参与者;假设总是 Layer 2 协议的社区比 blockchain 本身要小。我也将“活跃性失败”一词的使用限于币被困住很长时间的情况;再也无法使用该系统但可以近乎即时提款不算作活跃性失败。

  • 通道(包括状态通道,闪电网络):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 的安全性信任
  • 乐观汇总:小 N 的 1 of 1 或 N/2的活跃性信任(依赖于运营商类型),N/2 of 大 N 的安全性信任
  • ZK汇总:小 N 的 1 的活跃性信任(如果操作员未能包含你的交易,你可以提款,如果操作员未能立即包含你的提款,他们不能生成更多批次,你可以借助于任何全节点自行提款);无安全性失败的风险
  • ZK汇总(带有轻量提款增强):无活跃性失败的风险,无安全性失败的风险

最后,还有一个关于激励的问题:你所信任的参与者是否需要非常无私才会如预期行事,还是仅稍微无私,亦或是理性就足够?搜寻欺诈证明“默认”稍微带有无私性,但它有多无私取决于计算的复杂性(见验证者的困境),并且有方法修改游戏使其理性。

帮助他人从 ZK 汇总中提款是理性的,如果我们增加一种为服务进行小额支付的方式,因此确实没有多少理由担心你无法从具有任何重大用途的汇总中退出。与此同时,其他系统的更大风险可以通过我们作为一个社区的共识不接受51%攻击链,以防回退过远的历史或封锁区块的时间过长而减轻。

结论:当有人说一个系统“依赖于信任”时,更详细地询问他们所指的是什么!他们的意思是1 of 1,还是1 of N,或N/2 of N?他们是否要求这些参与者是无私的还是仅理性的?如果是无私的,这是一小笔开销还是一大笔开销?如果假设被违反了 - 你是否只需等待几个小时或几天,或者你是否有被永远困住的资产?根据答案,你对于是否愿意使用该系统的看法可能会完全不同。

  • 原文链接: vitalik.eth.limo/general...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Vitalik Buterin
Vitalik Buterin
https://vitalik.ca/