来源:以太坊爱好者
导语
近几个月以来,越来越多关注的目光放到了OptimisticRollup(OR)这个基于错误性证明的拓展框架上。我们StarkWare则采用有效性证明,因为它比错误性证明更安全。本文将在安全性讨论之外,列举一些VP较OR的额外优势,同时纠正大众对有效性证明的常见误解,最后介绍StarkEx——StarkWare开发、基于STARK和有效性证明的拓展引擎。
在此特别说明,和OR比较,VP具有以下优势:
从根本上更安全撤款时的资本效率高1000倍可拓展性更强在计算方面,至少能达到相同的效率
安全性
在上一篇分析中,我们比较了VP和OR,前者只会在某状态转换被严格证明有效的情况下执行该状态转换,而后者则允许任意的状态转换,参与方可以针对无效的状态转换提交错误性证明。我们的上一篇文章聚焦安全性分析,明确指出了一种能在OR中实施、且会导致OR中所有资金被盗的攻击手段。区块链上的基础架构解决方案必须足够健壮,要能支撑来自金融世界、每天万亿级别的资金交互负载。VP和OR分别怎样胜任?由于在OR中窃取资金的成本和收益大小无关,所以一旦系统承载了足够多的资本,使得破坏系统变得有利可图,那理性的参与者肯定会想方设法通过攻击牟利。与OR相反,VP不会转换到任何无效的状态,使得无论承载多少资金都不会被盗。对于大规模的金融系统,VP更健壮,而OR更脆弱。
观点:随着各地法币贬值,政府可能被迫开始将比特币纳入外汇储备:宏观投资者、Real Vision联合创始人Raoul Pal在接受采访时表示,他认为禁止比特币的这种尝试是徒劳的。1933年,美国前总统富兰克林·罗斯福试图禁止囤积金币、金条和黄金证书,许多人以此作为可能禁止比特币的先例,Raoul Pal指出,这一努力完全适得其反,导致人们寻找其他途径获得黄金。他表示,不仅各国政府将很难禁止比特币,而且随着世界各地的法定货币继续面临贬值,政府甚至可能被迫开始将比特币纳入自己的外汇储备。(The Daily Hodl)[2020/11/15 20:50:40]
也可以站在数据集一旦遗失的角度分析系统的安全性。和VP相比,OR中的数据更为敏感。一旦数据遗失,OR中的资金就可能被盗——也正因如此,目前的设计方案都集中在链上数据可用性挑战上。而对于VP,由于采用了链上数据,资金就跟存在Layer-1中一样安全。至于VP的链下数据部分,资金最多被冻结,而不会失窃。
观点:DeFi市场由跌转涨是“高成交量”形成的结果:数据显示,过去24小时DeFi市场普遍上涨。在经历昨天的下跌之后,主要代币Uniswap(UNI)、Aave(AAVE)、Compound(COMP)、Synthetix Network Token(SNX)、Yearn.finance(YFI)在过去的一天里已经反弹10%-30%。DeFiance Capital创始人Arthur Cheong表示,这种逆转是DeFi市场“高成交量”形成的结果。他分享的一张图表显示,他个人以28美元买入了一些AAVE。目前,其价格约为38美元。(CryptoSlate)[2020/11/7 11:57:12]
资金效率
数字货币世界中流动性的一大痛点在于资金取款时的延迟。在OR中,标准取款窗口期大约为1周时间——这是给提交错误性证明的有效窗口时间。在VP中,标准取款窗口大约为10分钟——这是针对上一次计算结果来生成有效性证明的时间。因此OR的标准取款窗口时间要比VP长1000倍。使用OR就要承受这样1000倍的不便,这不仅是时间上的延迟,也是资金效率的降低。
观点:DeFi市场被100-1000个“以太坊巨鲸”控制:DeFi 用户数量一直保持相对较个不争的事实,,而且在DeFi平台上操作交易的大多数用户其实都是拥有大量“闲钱”实体。Multicoin Capital 联合创始人兼合伙人 Kyle Samani指出了这一现象,他表示目前DeFi交易大多由一个很小的圈子完成,基本上大约有 100-1000 个‘以太坊巨鲸’控制着这个市场,他们操作的交易量占到所有 DeFi 协议交易量的90-95%。[2020/9/6]
我们先前描述过一个免信任的快速提款机制:想要立刻提款的用户需要给流动性提供商打一份链下资产的欠条,即签名了的条件支付交易,然后流动性提供商从自己的“存钱罐”智能合约中垫付这笔资金,在链上把欠条金额上的资金转给提款用户,整套操作需要的时间和区块链网络的转账时间差不多。流动性提供商会定期把累积的链下资产转移到链上的“存钱罐”中。
VP和OR都能应用快速取款机制。但在OR系统中,流动性提供商需要在“存钱罐”中准备1000倍的资金,因为他们收到链下资产等待的时间窗口要长1000倍。这个1000倍的比例和“存钱罐”流动性算法中的各种假设都无关:无论是基于取款金额期望值,或提款-存款差额,再或者是峰值流动性需求、平均撤款金额等等,OR需要的储备金数量都是VP的1000倍。
观点:基于比特币构建DeFi很困难,或因其安全性以及缺乏生态系统:比特币被当作金融系统替代品,但Atomic Loans CTO Matthew Black称,其大部分活动依赖去中心化交易所和中心化借贷平台。他指出,对这些加密银行的依赖使得其用户和其他人一样面临托管风险。
以太坊也被称为无银行货币系统,通过MakerDAO和Compound等DeFi项目超越中心化加密银行。DeFi获得巨大增长,成为以太坊生态系统最重要贡献者之一。但在比特币上很难实现同样目标。Black认为,部分原因与比特币的安全构建方式有关,无需担心以太坊上那样的智能合约黑客。这使得在比特币基础上进行构建的任务变得困难,而缺乏在BTC上构建金融应用程序的生态系统,使其变得麻烦。“如果没有MetaMask或Web3生态系统,构建比特币和DeFi的门户就更难了。”有人尝试在Bitcoin DeFi进行原子互换交易,但因UI/UX问题无法获得足够吸引力。尽管代币化BTC已是很好的应用,交易量也在增加,但系统并不完美。
在BTC基础上建设很困难,但社区期待比特币生态系统能使其更独立。目前很难实现仅基于BTC的DeFi,但如果有庞大的生态系统,可能会更容易。(AMBCrypto)[2020/7/25]
然而,有时根本无法使用快速撤款。对于非同质化资产就没法使用:
俄罗斯企业司库协会与央行共同试行政府运营的区块链平台:据coindesk报道,俄罗斯企业司库协会加入央行,试行政府运营的Masterchain区块链平台。Masterchain平台由俄罗斯金融科技协会与俄罗斯14家最大的银行合作创建。根据Masterchain的白皮书,该协会正在测试Masterchain以促进国家银行体系内的沟通。系统将包括负责合同注册和市场监管的俄罗斯银行和政府机构。 金融科技协会声称在处理抵押合同时,Masterchain可以将运营成本降低五倍,并且交易将仅花费几分钟时间。此外,该项目还将产生基于数字身份的KYC机制。正如此前报道,Masterchain的最终目标仍然是取代SWIFT。[2018/6/15]
非同质Token:正如早先由Vitalik介绍那样,如果一只名叫Mitzi的名贵CryptoKitty存在了链下,他的所有者没法要求在链上再收到一只Mitzi,因为世界上有且只有这一只叫Mitzi的CryptoKitty。
隐蔽交易:Zerocash风格的承诺在某种程度上也是非同质化的。要想把隐蔽交易中的资金快速提到主链,用户必须要向流动性提供商揭露承诺中的数据,破坏隐蔽性。
在这种快速撤款机制无法应用的场景下,用户只能选择等待标准撤款窗口结束,VP则要比OR快1000倍。
可拓展性
在这一部分我们将对比不同的rollup系统,由于同类事物间的比较才有意义,因此我们只比较提供链上数据可用性的rollup系统,即:ORvs.STARKZK-Rollup。虽然我们不想,但是所有在链上存储数据的rollup系统都将随着rollup交易的增多而线性增大消耗的资源量。链上数据包含一些状态以及见证数据。OR和StR的区别在于随着交易量的增加,前者的见证数据线性增长,而后者把这些见证替换成了一个证明,这个证明的大小只会多项式对数级别增长。划重点,对于足够大、足够多的批量交易,StR的链上数据指纹要比OR小很多...
从细节出发:在StR中,见证数据能核实rollup运营者所进行的查验,因此一批计算只需要一则见证,而不需要在每一份交易后面都附一份证明。更优秀的是,在现代zkp系统中,这个证明的大小是固定的。因此随着批量交易的增大,分摊到每一条交易头上的资源消耗反而减少。在OR中,每一条交易都必须附上一则见证,使验证人能核实交易的正确性。因此对于大批量的交易,并没有均摊减少的优势。更重要的是。OR中的见证要比交易本身大很多:比方说OR见证需要包含所有用户的签名1,而VP不需要。在单纯的支付中,见证要比支付的数据量大3到5倍;而对于复杂的应用场景,见证通常会比状态的数据大10倍以上,有时甚至更多。
总的来说,OR明显要消耗更多的链上资源,也因此比StR更快地顶到拓展性天花板。
通用计算开支
人们常常拿VP和OR的通用计算开支做对比:即对于一个给定的链下计算任务,两种不同的系统额外需要做哪些工作?下文我们将围绕StarkWare的STARK展开,因为这是我们目前应用的VP框架。
OR:由于100个验证者互相监督基本上能够保证整个计算的正确性,因此当提到OR,验证者的数量都数以百计。到了验证阶段,每一个验证人都需要进行一遍计算任务,因此在OR中做通用计算的开支是原任务的100倍。
有必要说明,验证人集合越小或者越多预先指派的情况,验证人就越容易互相勾结,或者受到外界的贿赂、攻击。
STARK:由于验证过程的计算开支微不足道,它只需要一个实体——证明者——进行大量的计算。验证的计算开支有多微不足道呢?现在我们甚至可以用一台简单的智能手机对一大批计算结果做验证,因此可以忽略验证的计算消耗。人们常说证明者的计算开支是原有任务的10000倍,因为证明需要消耗大量的计算来生成。但实际上StR需要的计算开支仅仅是100倍,因此额外的计算开支和OR大致相当。之所以说StR的计算开支仅有100倍,是基于以下理由:
对于算数/几何运算操作,我们已经达到了少于100倍的计算开支。目前应用的Pedersen哈希函数仅仅比原来的操作增加了20倍计算消耗:即用STARK来证明一个Pedersen哈希值的正确性仅仅比直接计算Pedersen慢20倍。
对于那些像SHA-256那样众所周知计算开支很大的操作,我们正试着把那些函数换成对STARK友好的操作。我们目前受以太坊基金会的资助来进行这些研究,而且在2020年第一季度,许多密码学大牛会提交给我们他们的替代方案建议。估计对STARK友好的哈希函数在证明时仅比某些高效的哈希算法的直接计算慢100倍。
最后,很多人之所以称道OR是因为它能用到通用计算中,并且将支持EVM代码,而VP不具备这一特性。对于将STARK用到通用计算中,我们持乐观的态度。
感谢DanRobinson,JohnAdler以及VitalikButerin对本文的反馈。
BLS通常被认为是一种高效的聚合签名机制。我们相信BLS不会只应用在这个用例中,因为它是整合多个签名到一则消息中的最佳方式。在OR的用例中,许多消息都需要由交易收/发方签名;而BLS签名的验证耗时10ms/签名,这不仅是验证人的负担,主链在判别欺诈时也需要处理这种消耗。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。