了解一种新类型的应用程序。不是我们需要的计算,而是我们应得的计算。
由于以太坊的处理能力有限,去中心化应用程序在执行复杂的链上计算时受到限制。因此,我们看到许多 DeFi 协议将订单簿和风险系统等组件移至链下。这表明需要针对特定任务定制计算环境。
我们已经见证了许多部署在链上的 defi 应用程序正在缓慢但逐渐发生转变,以管理其系统的部分链下内容。Dydx V4 将使其订单簿保持在链外,也可能将其保证金系统保持在链外。 Blur 将部分交易保持在链外,以实现流畅的用户体验。期权交易所 Aevo 将其订单簿和风险引擎保持在链外。它们这样做最简单的原因是,它们难以以可扩展的方式高效地在链上维护这些以性能为中心的系统。
链下组件的迁移指向了更广泛的需求——针对特定任务定制的定制(和高性能)计算环境。但这还不是全部。在这个管理体制下,现状运转良好。当协议运行链下系统时,对于您(用户)而言,对于链下系统是否按照其所说的那样运行,它最终是不透明的。可验证计算消除了信任假设,允许协议在不引入信任因素的情况下进行链下计算。这是协处理器将为以太坊实现的。在讨论以太坊中的协处理器模型之前,让我们简要回顾一下这个概念的起源。
协处理器一种增强性能的技术,此概念起源于计算机体系结构。传统计算机依靠单个中央处理单元 (CPU) 来处理所有计算。然而,随着工作负载变得更加复杂,CPU 变得过载。
协处理器是专用于特定任务的专用处理器,它的引入是为了提供帮助。例如,帮助图形处理单元 (GPU) 处理 3D 渲染时所需的大量并行计算。这使得主CPU能够专注于通用处理。其他常见的协处理器包括用于加密/解密的密码加速器、用于多媒体的信号处理器以及用于科学计算的数学协处理器。每个协处理器都具有简化的架构,可以有效地执行其特定的工作负载。 (尽管你可以说其中大部分已经被并行编程,包括GPUs)
CPU 和协处理器之间的这种分工提高了性能的数量级。协处理器模型使计算机能够承担越来越复杂的工作负载,而使用单独的通用 CPU 是无法实现的。
以太坊也可以被认为是一种通用的 CPU 虚拟机,并且不具备执行繁重计算的能力,这仅仅是因为人们必须为其在链上运行而支付障碍成本,这限制了各种协议的部署,甚至迫使设计人员在 EVM 的限制内想出一些新的东西。简而言之,对于复杂的应用程序来说,成本太有限。这也使各种协议将其部分协议保留在链外,因此部署的每个链下模型都带来了一定的风险概念。中心化风险和单纯信任风险;你相信该协议不是恶意的,这在某种程度上违背了去中心化应用程序的精神。
Zk 协处理器
Axiom 和 RiscZero 等协处理器最近允许智能合约卸载繁重的计算,开辟了链上应用程序的新维度。该系统提供了代码以任何人都可以验证的方式执行的证据。
Bonsai 和 Axiom 是类似的解决方案,因为它们允许访问链上状态的任意计算在链外运行,并提供执行计算的“收据”。
Axiom
Axiom 使以太坊智能合约能够访问更多历史链上数据并执行复杂的计算,同时保持网络的去中心化和安全性。目前,合约只能访问当前区块中非常有限的数据,这限制了可以构建的应用程序类型。同时,允许合约访问完整的历史档案数据将需要所有网络节点存储完整的档案,由于存储成本,这是不可行的,并且会对去中心化产生负面影响。
为了解决这个问题,Axiom正在开发“ZK协处理器”系统。它允许合约查询历史区块链数据并通过 Axiom 网络执行链下计算。 Axiom 节点访问请求的链上数据并执行指定的计算。关键是生成一个零知识证明,证明结果是根据有效的链上数据正确计算出来的。该证明在链上进行验证,以确保结果可以被合约信任。
这种方法允许合约访问链历史中更多的数据,并能够在不增加基础层节点负担的情况下对其执行复杂的计算。Axiom 相信,这将实现新类别的应用程序,它们依赖于对历史区块链活动的可证明、客观分析。他们已经推出了用于基本数据读取的主网功能,并计划在不久的将来扩展到完整的存档数据访问和合约视图功能的 ZK 验证。他们的长期愿景是,超越 EVM 功能的更先进的 ZK 计算。
通过生成正确的链下执行的证明,Axiom 开启了区块链应用程序的新类别。
Risc Zero Bonsai
Risc Zero 开发了一种通用零知识虚拟机(zkVM),支持在零知识证明技术下使用 Rust、C/C++ 和 Go 等语言编写的任意程序。
zkVM 允许开发人员以零知识证明任意 Rust 代码,而无需设计自定义回路。目标是让零知识应用程序开发变得更容易。zkVM 生成一个证明收据,证明程序已正确执行,而不会泄露私人输入或逻辑。这使得高算力需求可以在链外进行,并通过证据收据验证链上的正确执行。 Rust crate 在这个 zkVM 中工作,但系统调用存在一些限制。称为延续的功能允许将大型计算分成可以独立证明的片段。这使得并行证明成为可能,从而消除了计算大小的限制,并允许暂停/恢复 zkVM 程序。延续性已经启用了新的用例,例如 zkVM 中的完全同态加密、EVM 和 WASM等。
Bonsai 是 Risc Zero 开发的一项链外零知识证明服务,旨在支持将其通用 zkVM 用于以太坊和区块链应用程序。它在 zkVM 中的链上智能合约和链下计算之间具有桥接作用。
Bonsai启用的工作流程如下:
开发人员编写了一个智能合约,调用 Bonsai 的中继合约来请求链下计算
Bonsai 监视这些链上请求并执行用 Rust 编写的相应 zkVM 程序
zkVM 程序在 Bonsai 的基础设施中运行,在链下执行大量的或私有计算,然后生成其正确执行的证明。
证明结果称为“收据”,由 Bonsai 通过中继合约发布回链上。
开发者的智能合约在回调函数中接收结果
这允许大量计算或敏感逻辑在链外发生,同时仍然通过链上的 zk 证明来验证正确的执行。智能合约只需要处理请求计算和使用结果。
Bonsai 抽象了将 Rust 代码编译为 zkVM 字节码、上传程序、在 VM 中执行以及返回证明的复杂性。开发人员可以专注于编写自己的程序逻辑。因此,该基础设施可以在链外运行通用计算,同时保持敏感数据和逻辑的私密性。
Bonsai 使开发人员能够直接使用链外计算构建区块链应用程序,而无需了解底层 zkVM 密码学和基础设施的专业知识。简而言之,Bonsai 使开发人员能够轻松集成链下计算,而无需 zk 专业知识。
替代解决方案
ZK 协处理器是实现可验证的链下计算的唯一方法吗?还有哪些其他应用程序可以以去信任且安全的方式卸载计算?尽管人们对安全属性、效率和实施的看法不同,但它们正在加密货币的各个区域进行探索,并将慢慢带来最前沿的技术。
MPC 和 TEE 等替代方案提供了可验证的链外计算的其他方法。MPC 允许对敏感数据进行联合计算,而 TEE 则提供基于硬件保护的安全飞地。两者都存在权衡,但都可以作为 ZK 协处理器的替代方案。
MPC(多方计算)
安全多方计算 (MPC) 允许多方联合计算其输入的函数,同时保持这些输入的私密性。它支持对敏感数据进行协作,从而维护所有参与者的隐私。然而,如果大多数参与方不诚实,那么在 MPC 中实现公平(要么所有参与方都了解输出,要么都不知道)是不可能的。换句话说,当所有节点都损坏时,隐私和诚实性保证就会消失。区块链技术有助于使 MPC 协议更加公平。
假如三个朋友想要知道他们的平均工资而不向对方透露他们的工资,那么他们可以使用安全 MPC 来实现此目的
假设这三个朋友是 Alice、Bob 和 Eve:
Alice 持有其工资,为其添加一个随机数,然后将结果告诉 Bob。
Bob将他的工资和另一个随机数添加到他从Alice那里收到的数字中,然后将结果告诉Eve。
Eve 将她的工资添加到 Bob 的数字中,然后减去之前添加的所有随机数字,并将结果除以3,从而得出平均值。
最终的数字是他们工资的平均数,但没有人知道另一方的薪水。这里需要注意的一个细微差别是,虽然没有人知道对方的确切工资,但如果平均工资低于 Eve 的工资,那么 Eve 可以推断出另外两人之一的工资低于她的工资。
区块链提供了一个防篡改的公共分类账,允许各方发布信息。通过使用见证加密,各方可以多不公平 MPC 协议的输出进行加密。他们将代币发布到分类账中,以允许提取解密密钥。由于账本是公开的,所有各方都可以同时访问解密密钥。这让公平的解密协议得以实现,其中所有各方都解密输出,或者都不解密。
在“MPC 作为区块链机密层”中,Andrew Miller 讨论了 MPC 如何帮助私有数据进行计算。尽管节点全部损坏,可公开审计的 MPC 使用零知识证明来保持诚实性。客户将提交输入以证明有效性。MPC 节点生成正确计算的证明。最终,验证者将检查输入、输出和证明是否匹配。除了标准 MPC 成本之外,此审核所产生的开销极小。使用具有通用设置的 SNARK 进行简洁的证明。然而,与性能优化、编程模型和实际部署相关的问题仍然存在。
安全飞地/TEE
个人信息、财务数据等敏感数据在存储、传输以及使用和计算时必须受到保护。传统的加密方法可以保护静态和传输中的数据,但不能保护正在使用的数据。这是一个问题,因为在处理数据时,它通常是未加密的形式,因而容易受到攻击。
可信执行环境(或安全飞地)是隔离的环境,其中数据可以加密,但仍然可以对其执行计算。关键想法是隔离数据和计算,这样即使是特权系统进程也无法访问它。可信执行环境 (TEE) 是处理器内的安全区域,提供基于硬件的安全功能来保护敏感数据和代码。它们将特定软件与系统的其余部分隔离,确保 TEE 中的数据不能被篡改,即使是操作系统或设备上运行的其他软件也是如此。
TEE 允许敏感数据即使在使用时仍然受到保护。这使得隐私保护社交网络、金融服务、医疗保健等应用程序得以实现。效率和信任假设存在一些限制,但飞地是一项强大的技术,具有许多潜在用途,特别是在与区块链网络结合以构建强大的、不可审查的系统时。对于许多需要强大数据隐私的商业和非营利应用程序来说,围绕信任的权衡将是能接受的。
可信执行环境 (TEE) 允许您将计算外包给不受信任的第三方云提供商,同时保持数据机密性和操作防篡改。对于希望在不牺牲隐私或控制的情况下利用云的便利性和成本节约优势的去中心化应用程序和组织而言,这一技术非常有用。但 TEE 并不是神奇的技术,能解决所有问题;相反,在大多数开发人员要想轻松使用它们,仍然需要先解决一些实际挑战。
它们是一个强大的构建块,但仍然需要经过全面的系统研究,以解决它们在上述问题以及供应商中心化、扩展性和容错方面的局限性。
Intel SGX 和 AWS Nitro Enclaves 等可信执行环境 (TEE) 提供了用于运行敏感计算和存储机密数据的隔离环境。TEE 确保即使是特权系统进程也无法访问或篡改 TEE 内的代码和数据。这允许去中心化的应用程序和组织将计算外包给不受信任的第三方云主机,而无需担心泄漏隐私或破坏信任性的问题。
解决这些挑战将极大地扩展 TEE 对于需要强大诚实性、保密性和抗审查性的去中心化应用程序的适用性,同时将计算和存储外包给不可信的云。 TEE 是一个强大的原语,但仍然需要全面考虑的系统协同设计来解决其局限性。
简要比较
在评估协处理器时,需要考虑的一个重要因素是不同类型计算所需的安全模型和保证级别。某些敏感计算(例如匹配订单)需要最大程度的安全性和最小程度的信任假设。对于这些,使用零知识证明(如 zk 协处理器)的协处理器提供了强有力的保证,因为可以在不信任操作员的情况下验证结果。
然而,zk 协处理器可能在效率和灵活性方面存在缺陷。对于分析或风险建模等不太敏感的计算来说,可权衡接受的可能是诸如 MPC 或可信硬件之类的其他方法。虽然它们提供的保证较弱,但它们能更有效地实现更广泛的计算。所需的安全级别则取决于应用程序的风险承受能力。团队应分析所面临的价值,并评估未经验证但高效的协处理器是否是某些非关键计算的合理的工程折衷方案。
总体而言,协处理器涵盖了一系列安全模型,团队应将解决方案与特定任务的安全要求相匹配。该生态系统仍处于初期阶段,因此在可扩展可验证计算方面的进一步进展将带来更大的可能性。
应用程序
借贷协议的动态控制
在博文《反馈控制作为 Defi 的新原语》(Feedback Control as a new primitive for Defi)中,作者提到,随着计算和存储变得丰富,Defi 机制的控制机制可能会慢慢从一端升级到另一端,从而使用强化学习(RL)和 DRL。虽然强化学习可能仍然十分困难,但由于可验证的计算,机器学习应用程序仍是有可能实现的。
去年,由于在缺乏流动性的熊市中借出的代币参数过于激进可能会导致坏账,因此借贷协议在过去一年受到了严格审查。可以访问链上流动性并为资产创建流动性概况的模型可能会动态改变参数。
例如,借贷协议可以受益于基于实时链上数据的动态控制利率。反馈控制系统可以根据当前利用率和流动性因素通过算法调整利率,而不是依赖预设的利率模型。
例如,当借贷资产的需求很高,从而推高利用率时,控制者可以迅速提高利率以刺激供应并稳定利用率。相反,当利用率较低时,可以降低利率以刺激借贷。可以调整控制器参数以优化目标,例如最大化协议收入或最小化波动性。
该协议需要访问实时链上数据,例如借入总额、可用流动性和其他利用率指标来实现这一点。然后控制器逻辑处理该数据以计算最佳利率调整。费率更新可以通过 DAO 进行链上管理,也可以通过证明验证进行链下管理。
该协议需要访问实时链上数据,例如借入总额、可用流动性和其他利用率指标来实现这一点。然后控制器逻辑处理该数据以计算最佳利率调整。费率更新可以通过 DAO 进行链上管理,也可以通过证明验证进行链下管理。尽管 Chitra 等人最近的文章“动态 Defi 利率曲线的攻击”已表明动态贷款模型会产生更多的 MEV。因此,需要仔细考虑这些协议的设计。
机器学习应用程序
对区块链数据的大量访问使我们自然得出以这种方式使用机器学习应用程序的结论。虽然证明机器学习应用程序的计算可能会稍微困难一些,但可验证的机器学习计算本身就是一个巨大的市场。这些也可以用于链上应用程序,特别是在一些安全应用程序中。
区块链数据包含有价值的信号,机器学习模型可以使用这些信号来检测可疑活动或电力风险管理系统。然而,由于Gas成本和隐私问题,目前在链上运行机器学习是不可行的。这可能看起来像用于检测可疑的提款或转账的智能合约、钱包或投资组合管理器的链上监控系统。在安全方面,有大量的分析数据可用于获取各种信号,例如“Ruggers”、“Hacks”和其他恶意攻击。它还可用于 defi 应用程序,根据贷方和借款人的链上历史记录分析信用度和风险。
面临的挑战包括数据质量、概念漂移和证明系统的性能限制。但通过将机器学习与可验证的链下计算相结合,协处理器为区块链分析和风险管理开辟了许多新的机会。
永续掉期和期权
对于中心化甚至是去中心化交易所来说,永续合约的保证金制度一直对用户是隐藏的。从传统上来说,永续掉期和期权等衍生品的保证金制度传统上是由中心化交易所控制的不透明黑匣子。
协处理器提供了为去中心化交易实施透明且可验证的保证金逻辑的机会。致力于通过验证的方式来实施自动去杠杆系统的计划为用户提供了更高的可信度,并且这立即使他们与中心化同行与众不同。
保证金系统可以监控永续掉期的指数价格供给和头寸价值,在保证金余额变为负数之前清算头寸。所有风险参数,如维持保证金比率、资金费率和清算罚款都可以在链上进行管理。
然而,用于计算保证金余额、未实现盈亏、清算金额等的大量计算可以卸载到协处理器。它将在机密环境中执行保证金引擎逻辑,并生成证明计算正确的证明。
协处理器方法的优点包括透明度、可验证性和隐私性。保证金引擎逻辑不再是专有的黑匣子。计算发生在链外,但用户可以信任正确执行的证明。对于期权也可以实现同样的效果。
它面临挑战包括高效生成大量保证金计算的证明。但总体而言,协处理器通过将隐私与可验证性相结合,释放了去中心化衍生品平台的新潜力。
总结
在不影响去中心化的情况下,协处理器极大地扩展了区块链应用的可能性。随着尖端项目在这一领域的不断创新,以太坊及其他平台上可验证的链下计算的具有一片光明的前景。
在后续的文章中,我将深入探讨这些解决方案需要考虑的安全因素、与rollup的比较、它们如何适应更广泛的以太坊应用程序环境,以及它们是否是解决扩展问题的万能方法。
声明:本网站所有相关资料如有侵权请联系站长删除,资料仅供用户学习及研究之用,不构成任何投资建议!