来源|?ETH中文站
作者|VitalikButerin
大多区块链应用最有价值的属性之一就是“免信任”(trustlessness),即应用能够以预期的方式保持运行而无需依赖特定参与者以特定形式行事,即使他们将来的相关利益可能产生变化并使其做出意料之外的举动。区块链应用从来都不是完全的免信任化,但是某些应用确实比其他应用的免信任程度更高。如果我们想要朝着信任最小化的目标前进,就需要首先具备辨别信任程度的高低。
Vitalik Buterin:基于MPC的EOA钱包有根本缺陷,智能合约钱包是唯一选择:6月29日消息,以太坊创始Vitalik Buterin发推回应如何看待基于MPC(EOA)的钱包与智能合约钱包的优缺点时表示,基于MPC的EOA钱包存在根本缺陷,因为它们无法撤销密钥(重新共享不算在内;旧持有者仍然可以恢复密钥),智能合约钱包是唯一的选择。[2023/6/29 22:07:37]
首先,我个人对“信任”的简单定义是:信任就是对他人行为进行假设。在疫情爆发前,你走在街上不会因为防止有人突然捅你一刀而刻意跟他人保持两米的距离,这就是一种信任:一是信任人们很少会失心疯,二是法制系统的维护者有很强的动机约束这种行为。当你运行其他人写的一段代码时,你信任他们在编写代码时是诚实的(无论是出于他们自己的良知或是维持声誉的经济利益),或者至少存在足够多的人对代码进行检查以找到漏洞。不亲自种粮食也是另一种信任,相信会有足够多的人为了获取收益耕种粮食并出售给你。你可以信任不同规模的群体,信任的类型也不尽相同。
Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。
从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。
钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]
为了对区块链进行分析,我尝试将信任分解为以下几个维度:
VitalikButerin提议使用Flashbots系统实现“账户抽象”:3月11日消息,以太坊联合创始人 Vitalik Buterin 在研究机构 Flashbots 的 GitHub 仓库中提议利用 Flashbots 作为“账户抽象”的一种实现方式。“账户抽象”是以太坊社区中讨论的改进提案之一,以实现交易不需要从私钥控制的 EOA 账户发起,而是可以直接从智能合约发起,具体的用例包括智能合约钱包、Tornado.Cash 这类隐私保护工具等。Vitalik Buterin 认为 Flashbots 可以解决这个问题,通过搭建一个插件将其变成智能合约钱包的中继器以实现。他表示该方案不需要对以太坊底层协议进行很多改动。
Flashbots是由五位区块链行业人士发起成立的开放研究机构,旨在针对以太坊及各智能合约公链所面对的 MEV 问题进行研究,并实施解决方案。[2021/3/11 18:35:51]
你需要多少人按照你的预期行事?
OKEx将于5月26日19时暂停VITE充提:据官网公告,由于VITE主网升级 ,OKEx将于2020年5月26日19:00 暂停VITE的充提,待升级完成后开放。[2020/5/26]
人数总量多大?
人们需要什么动机?他们需要是利他主义者,还是唯利是图者?他们需要避免协作吗?
如果违反了这些假设,系统会受到多严重的影响?
现在,我们先关注前两点,下面有一个图表:
绿色越深,表示该模型越健康。让我们对这几个种类进行详细分析:
动态 | Vitalik Buterin在layer2解决方案中加入SNARK:上周,以太坊核心开发者Schoedon表示,以太坊网络已经超负荷,Dapp开发者应该在其他链上建设。Vitalik Buterin不同意这一观点,他认为大多数Dapps并不是针对Gas进行优化的,而且行业内的竞争将“推动”次优Dapps。他还强调了layer2解决方案的重要性和前景,并在Ethresear.ch上发布了一个潜在的使SNARK-utilizing分叉解决方案来支持他的论点。[2018/9/25]
1of1:整个系统只有一个参与者。如果这名参与者按照你预期的那样行事,系统就会(才会)正常运行。这就是传统的“中心化”模型,也是我们要超越的模型。
NofN:“反乌托邦”世界。系统中的所有参与者都要按照预期行事,系统才能正常运行,如果其中任何人失败,我们没有补救措施。
N/2ofN:这是区块链的运作方式,如果大部分矿工(或PoS验证者)是诚实的,区块链就能正常运作。要注意的是,N值越大,N/2就越有价值。相比只由少量矿工/验证者控制的区块链,矿工/验证者广泛分布的网络更有意义。尽管如此,由于51%攻击的可能性,我们还是想在这种程度的安全性上更进一步。
1ofN:有很多参与者,只要其中至少有一个按照预期行事,系统就能正常运作。任何基于欺诈证明的系统都属于这一类,信任设置也是如此,尽管在这种情况下N值通常较小。请注意,我们确实希望N值尽可能大!
极少数ofN:在众多参与者中,只要有固定数量的小部分参与者按照预期行事,系统就能正常运行。数据可用性检查就当属其中。
0ofN:系统无需依赖外部参与者即可正常运行。亲自验证区块就归为这一类。
尽管除“0ofN”之外的模型都有一定“信任”程度,但是这些模型之间存在巨大差异!相信特定的某个人(或组织)会按照预期行事,与相信随便一个人都会按照预期形式,是完全不同的情况。相比“N/2ofN”和“1of1”,“1ofN”与“0ofN”更相似。可能有人会觉得“1ofN”模型与“1of1”模型很像,因为这两种模型都依赖一名参与者,但实际上这两者十分迥异:在“1ofN”系统中,如果该名参与者突然消失或者黑化,大可以重新换一个参与者,但在“1of1”系统中我们别无他选。
尤其要注意即使是你所运行的软件,其正确性通常取决于“极少数ofN”信任模型,以确保代码出现漏洞时有人会进行纠查。明白这一点后,努力使应用中其他部分从“1ofN”模型切换到“0ofN”模型就像是为你家装上防盗门,但窗户是打开的。
另一个重要的区别在于,如果你的信任假设被打破,对系统的破坏有多大?在区块链上,最常见的两种故障类型是活性故障和安全性故障。活性故障就是你暂时无法进行操作。安全性故障就是出现了系统想要预防的情况。
以下列举了一些区块链layer2协议所采用的信任模型。我用“smallN”来指代layer2系统本身的参与者集合,“bigN”来指代区块链底层的参与者。我的假设是layer2的社区总是小于底层区块链。另外,我使用的“活性故障”一词特指代币长时间无法提出的情况。无法使用系统但是能够几乎即时提款的情况不算作活性故障。
“通道”方案(Channels,包括状态通道、闪电网络等):使用“1of1”信任模型来确保活性(你的对手方可以暂时冻结你的资金,不过你可以通过将资金分散在多个通道中减少风险),使用“N/2ofbigN”模型来确保安全性(有可能在51%攻击中失去资金)。
Plasma(中心化运营者):使用“1of1”信任模型来确保活性(运营者可以暂时冻结你的资金),“N/2ofbigN”模型来确保安全性(有可能在51%攻击中失去资金)。
Plasma:使用“N/2ofsmallN”信任模型来确保活性,“N/2ofbigN”模型来确保安全性。
Optimisticrollup:使用“1of1”或“N/2ofsmallN”信任模型来确保活性(取决于运营者的类型),“N/2ofbigN”模型来确保安全性。
ZKrollup:使用“1ofsmallN”信任模型来确保活性(如果运营者未能打包你的交易,你可以提款,如果运营者没有立即打包你的取款交易,就无法打包更多交易包,你可以在rollup系统中任何一个全节点的帮助下自行提款);不存在安全故障风险。
ZKrollup:不存在活性故障风险和安全故障风险。
最后就是“激励”的问题。要促使参与者遵循预期,你所信任的参与者需要非常利他主义、轻微利他主义,还是说足够理性?默认情况下,“欺诈证明”(fraudproofs)需要参与者具有轻微利他主义倾向,但其程度取决于计算的复杂性(详见“验证者困境”),并且存在很多方式改进过程,使其更加理性。
如果我们增加一种为服务支付费用的机制,那么帮助他人从ZKrollup中提款的行为就是理性的,因此几乎没必要担心无法退出rollup的问题。与此同时,如果社区都同意不接受51%攻击下的区块链(回滚很长的交易历史或是审查区块过久),那么其他系统所面临的风险可以被减轻。
结论:如果有人说某个系统“依赖于信任机制”,那我们可以刨根问底!他们的意思是“1of1”模型、“1ofN”模型还是“N/2ofN”模型?该系统需要参与者是利他主义还是理性主义?如果是利他主义,参与者的代价有多大?如果违反了假设,需要等待多久才能取回自己的资金?几个小时?几天?还是永远被冻结?明白这些问题后,我们可能对于是否采用该系统会有截然不同的答案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。