许多区块链应用程序最有价值的属性之一就是去信任:应用程序能够以预期的方式继续操作,而不需要依赖特定的参与者以特定的方式进行操作。
即使他们的利益可能会改变,并推动他们在未来以一些不同的意想不到的方式行事。
区块链应用程序从来不是完全去信任的,但是有些应用程序比其他应用程序更接近去信任。如果我们想使信任最小化变成现实,我们需要有能力去比较不同程度的信任。
首先,我对信任的简单一句话的定义:信任是对他人行为的任何假设的使用。
当我们运行一段别人写的代码,是我们相信他们诚实的写了代码,或者至少存在足够多的人检查了这段代码。
为了分析区块链协议,我倾向于将信任分为四个维度:
我们需要多少人按照我们的期望行事?
vitalik.eth地址已将3000枚ETH转移到Vb 2标记地址:金色财经报道,据PeckShield监测发现,vitalik.eth标签地址已将3000枚ETH(约495万美元)转移到Vb 2标记地址。[2023/8/28 13:00:59]
其中的多少个?
这些人的行为需要什么样的动机?他们需要利他主义,还是仅仅追求利益?
如果违背这些假设,系统会有多糟糕?
现在,让我们关注前两个。我们可以画一个图:
越绿越好。让我们更详细地探讨这些类别:
动态 | Vitalik提出加速合并以太坊1.0及2.0的替代方案,1.0系统将成为执行环境:以太坊联合创始人Vitalik Buterin发布了一项在向以太坊2.0过渡中的合并以太坊1.0和2.0的替代方案。Vitalik表示,该方案旨在将整个PoW区块链加速移向以太坊2.0的信标链,但该方案需要无状态客户端 (stateless clients) ,无需无状态矿工和Webassembly语言,所以将减少需要完成过渡的配置。该方案的条件包括需要一个能够实现支持验证、见证区块以及生成见证区块功能的无状态客户端软件。该方案的运营方式为,以太坊1.0系统将成为以太坊2.0的执行环境之一,但在最初可以成为以太坊2.0的分片之一。在该方案中,参与以太坊1.0系统的验证人可以注册为以太坊1.0的友好验证人,将维护除了其信标节点外一个完整的以太坊1.0完整节点。[2019/12/26]
1-of-1:只有一个参与者,当(且仅当)一个参与者执行我们所期望的操作时,系统才会工作。这是传统的“中心化”模式,也是我们努力做得更好的地方。
动态 | EOS 的Activity指数为42,115,791 排名第一:据IMEOS报道,截止12月05号03点,blocktivity.info上显示,排名第一的 EOS 的Activity指数为42,115,791 ,排名第二、第三分别为 TLOS 和 KIN 。Acitivity指数为最近24小时内在区块链上执行的操作数量。[2019/12/5]
N-of-N:“反乌托邦”世界。我们依赖于一大堆参与者,所有参与者都需要按照预期的方式工作,以便使一切正常运行,如果其中有任何一个失败,则没有兜底。
N/2-of-N:这就是区块链的工作方式——如果大多数矿工(或PoS验证者)是诚实的,它们就会工作。注意N/2-of-N的值会随着N的增大而变大;一个由少数矿工/验证者控制其网络的区块链比一个由广泛分布的矿工/验证者控制的区块链有趣得多。也就是说,我们想要提高这一级别的安全,就需要担心如何在51%攻击中幸存下来。
动态 | 区块链公司SimplyVital Health获得美国国家科学基金会22.5万美元赠款:根据在10月10日发布的新闻稿,总部位于新英格兰的区块链公司SimplyVital Health已从美国国家科学基金会(NSF)获得225,000美元的赠款,用于研究其协议Nexus与Graphene协议的集成。NSF将该赠款作为其小型企业计划的一部分,该计划每年向创新型初创企业和小型企业捐款2亿美元。[2019/10/11]
1-of-N:存在许多参与者,只要其中至少有一个人按照我们的期望行事,系统就会正常运行。任何基于欺诈证明的系统都属于这一类,可信设置也是如此,尽管在这种情况下,N通常更小。请注意,我们确实希望N尽可能大!
N中的少数:有很多参与者,只要他们中至少有一小部分人按照我们的期望去做,系统就会正常工作。数据可用性检查属于这一类。
动态 | Stellar发布公告提醒用户警惕欺诈性空投活动Stellar-Activity:Stellar官方Reddit发布公告,提醒用户警惕欺诈性空投活动。最初是StellarShade然后变成Stellar Dolphin Fork,现在叫Stellar-Activity(XLA)。此类局使用相同的运作模板进行——先是在bitcointalk.org发帖称将在某一特定日期进行大空投,然后开始发放赠品,推行营销策略以在社交媒体上吸引不知情的粉丝来传播这一消息,粉丝们在不知情的情况下间接地进行二次传播,致使更多的人上当。子们声称将会以2:1的比例给你提供XLA(每持有1XLM就给予2XLA),然后诱使你在他们的账户查看器里输入私钥,之后盗取你所有的账户存款。[2018/12/2]
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(包括statechannels,闪电网络):活性方面是1-of-1的信任模式。
Plasma:活性方面是1-of-1的信任模式(运营商可以暂时冻结我们的资金),安全方面是N/2-of-大N的信任模式(区块链51%攻击)。
Plasma:活性方面是N/2-of-小N的信任模式,N/2-of-大N的信任模式。
Optimisticrollup:活性方面是1-of-1或N/2-of-小N的信任模式,N/2-of-大N的信任模式。
ZKrollup:活性方面是1-of-小N的信任模式(如果运营商没有包含我们的交易,我们也可以提现,如果运营商没有立即包含我们的提现,他们不能生产更多批次,我们可以借助rollup系统的任何全节点自行提现);无安全故障风险。
ZKrollup(具有light-withdrawalenhancement功能):无活性故障风险,无安全故障风险。
最后,还有激励的问题:我们所信任的参与者需要非常利他才能像预期那样行事,但是是稍微利他一点,还是需要足够理性?
如果我们添加一种小额支付的方式,那么帮助他人从ZKrollup中提款是合理的,因此,真的没有理由担心我们无法在任何重要的使用中退出rollup。
与此同时,如果我们作为一个社区同意不接受51%的攻击链,那么可以减轻其他系统的风险。
总结
当有人说一个系统“依赖于信任”时,需要更详细地问他们是什么意思!是指1-of-1,还是1-of-N,还是N/2-of-N??他们要求这些参与者是无私的还是理性的?如果是利他主义,到底是小花费还是一个巨大花费?
如果这个假设被违背了——我们是只需要等几个小时或几天,还是我们的资产会永远被卡住了?根据不同的答案,我们自己是否想要使用该系统的答案可能会非常不同。
Source:https://hackernoon.com/do-trust-models-deserve-their-title
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。