6 DON交易执行框架 (DON-TEF)
DON将为L2解决方案提供预言机和分散式资源支持,我们称之为分散式预言机网络事务执行框架 (DONTEF) 或简称TEF。
今天,DeFi合约的更新频率受到主链延迟的限制,例如以太坊中10-15秒的平均区块间隔[104],以及在链上推送大量数据的成本和有限的计算/tx吞吐量——激励扩展方法,例如分片[148、158、232]和L2执行[5、12、121、141、169、186、187]。即使是具有更快交易时间的区块链,例如[120],也提出了涉及链下计算的扩展策略[168]。
TEF旨在充当任何此类L1/MAINCHAIN系统的L2资源。
使用TEF,DON可以支持MAINCHAIN合约中更快的更新,同时保留主链提供的关键信任保证。TEF可以支持许多L2执行技术和范式中的任何一种,包括汇总、乐观汇总、Validium等,以及DON节点执行交易的阈值信任模型。
TEF是FSS的补充,旨在支持它。换句话说,任何在TEF中运行的应用程序都可以使用FSS。
6.1 TEF概述
TEF是一种用于构建和执行高性能混合智能合约SC的设计模式。
根据混合智能合约背后的主要思想,TEF涉及将SC分解为两部分:(1)我们在TEF context中称为MAINCHAIN上的锚定合约SCaSC_a和(2)DON逻辑期望我们称为TEF可执行文件.我们这里用SC来表示由SCaSC_a和exect组合实现的逻辑契约。 (如上所述,我们希望开发编译器工具来将合约SC自动分解为这些组件。)
TEF可执行文件是处理用户在SC中的交易的引擎。它可以以高性能方式执行,因为它在DON上运行。它有几个功能:
- 交易摄取:exect接收或获取用户的交易。它可以直接这样做,即通过DON上的交易提交,或使用MS通过MAINCHAIN内存池。
- 快速交易执行:execute处理涉及SC内资产的交易。它在本地进行,即在DON上。
- 快速、低成本的预言机/适配器访问:exec 可以本地访问预言机报告和其他适配器数据,从而比 MAINCHAIN 执行更快、更便宜和更准确的资产定价。此外,链下预言机访问通过避免昂贵的链上存储,降低了预言机的运营成本,从而降低了使用系统的成本。
- 同步:execect定期将更新从DON推送到MAINCHAIN,更新SCaSC_a。
锚定合约是SC的MAINCHAIN前端。作为SC的较高信任组件,它有几个用途:
- 资产托管:用户的资金存入、持有和提取SCaSC_a。
- 同步验证:SCaSC_a可以在执行同步时验证状态更新的正确性,例如附加到汇总的SNARK。
- 护栏:SCaSC_a可能包括防止执行中的损坏或故障的规定。 (详见第7节。)
在TEF中,用户的资金托管在MAINCHAIN上,这意味着DON本身是非托管的。根据同步机制的选择(见下文),用户可能只需要信任DON才能获得准确的预言报告并及时与MAINCHAIN同步。由此产生的信任模型与基于订单簿的DEX的模型非常相似,例如 [2],它现在通常包括一个用于订单匹配的链下组件和一个用于清算和结算的链上组件。
使用支付系统的词汇,人们可能会认为exect是负责结算的SC的组成部分,而SCaSC_a负责结算。TEF的示意图见图13。

图13:TEF示意图。在这个例子中,交易通过MAINCHAIN的内存池通过MS到达DON。
TEF优势:TEF 具有三个主要优势:
- 高性能:SC继承了DON在交易和预言机报告方面比MAINCHAIN高得多的吞吐量。此外,与仅在MAINCHAIN上实施相比,exect可以更快地处理交易并更及时地响应预言机报告。
- 更低的费用:同步过程的时间敏感性不如交易处理,交易可以从DON批量发送到MAINCHAIN。因此,与仅在 MAINCHAIN 上运行的合约相比,使用这种方法的每笔交易链上费用(例如gas成本)要低得多。
- 机密性:DON的机密性机制可以对SC产生影响。
TEF限制:TEF的一个限制是它不支持即时提款,因为它们仅发生在MAINCHAIN上:向SCaSC_a发送提款请求后,用户可能需要等待exect执行包含提款交易的状态更新它可以被批准。然而,我们将在第6.2节中讨论一些部分补救措施。
TEF的另一个限制是它不支持MAINCHAIN上DeFi合约的原子组合,特别是在单个交易中通过多个DeFi合约路由资产的能力。但是,TEF可以支持在同一DON上运行的DeFi合约之间的这种原子性。我们还在6.2节讨论了一些解决这个问题的方法。
6.2 交易路由
SC的交易可以由用户直接发送到DON,也可以通过MAINCHAIN中的内存池路由(通过FSS)。有四种不同的交易类型,每一种都需要不同的处理方式:
合约内交易:因为它回避了气体动力学的复杂性,TEF为SC提供了比L1合约更灵活的交易处理方式。例如,虽然以太坊中的内存池交易可以被具有更高gas价格的新交易覆盖,但SC可以将在SC内的资产上运行的交易视为具有权威性,只要它在内存池中可见。因此,SC无需等待交易在一个区块内得到确认,从而大大减少了延迟。
代理:用户可能希望通过钱包合约或MAINCHAIN上的其他合约向SC发送交易ττ。DON 可以在 MAINCHAIN 上模拟ττ的执行,以确定它是否会导致对SC的后续交易。如果是这样,ττ可以与SC的其他交易进行排序。DON如何识别此类交易有几种可能性:(1)DON 可以模拟内存池中的所有交易(一种昂贵的方法); (2) 某些合约或合约类型,例如钱包,可以被DON列出来监控;或 (3) 用户可以对交易进行注释以供 DON 检查。
当单个交易与两个合约SC1SC_1和SC2SC_2交互时,事情变得更加复杂,这两个合约都使用公平排序服务并且具有不兼容的排序策略。例如,DON可能会在与两者兼容的最晚时间对ττ进行排序。
存款:将MAINCHAIN资产存入SC的交易在SC认为有效之前需要在块中进行确认。当它检测到将资产(例如以太)发送到SCa的交易挖掘时,exect可以立即确认存款。例如,它可以将当前甲骨文报告的DON价格应用于资产。
提款:如上所述,TEF的一个限制是不能总是立即执行提款。在汇总类型的执行模型中,为了安全地处理,撤回请求必须与其他交易(即汇总)一起排序。然而,对于这个限制,有一些部分的补救办法。
如果DON可以快速计算到提款事务的汇总有效性证明,那么在内存池期望中观察用户的交易ττ可以以更高的油价发送状态更新交易τ′τ^{\prime}为ττ,这是一种有益的超前运行。如果ττ在τ′τ^{\prime}到达混合池之前没有开采,τ′τ^{\prime}将先于ττ,ττ将实现批准的撤出。
在依赖于DON计算状态更新的TEF变体中(参见下面的阈值签名变体) ,DON可以选择确定在执行时给定SC的状态时ττ是否应该被批准。然后,DON可以发送一个批准撤回ττー的交易τ′τ^{\prime},而不会影响完整的状态更新。
如果这种方法不可行,或者在没有成功的情况下,DON启动的交易τ′τ^{\prime}可以向用户发送响应ττ的资金,这样用户就不需要启动额外的交易。
6.3 同步
TEF可执行程序定期将更新从DON推送到MAINCHAIN,在我们称为同步的过程中更新 SCa 的状态。同步可以被认为是将L2交易传播到L1,因此TEF可以为此目的利用许多现有技术中的任何一种,包括汇总 [5、12、16、69]、乐观汇总 [10、 11、141]、Validium [201] 或基本阈值签名,例如阈值BLS、Schnorr或ECDSA [24、54、116、202]。原则上,受信任的执行环境还可以证明状态更改的正确性,为汇总提供性能更高的替代方案,但具有依赖于硬件的信任模型。 (参见,例如,[80]。)
下面我们将这些同步选项与TEF中的三个关键属性进行比较:
- 数据可用性:SC的状态存储在哪里?TEF中至少有三个选项可用:在MAINCHAIN上、在DON上或由一些第三方存储提供商(例如 IPFS)提供。它们实现了不同的安全保证、可用性级别和性能配置文件。简而言之,将状态存储在 MAINCHAIN 上可以实现链上可审计性,并消除对任何一方的状态可用性的依赖;另一方面,在链下存储状态可以降低存储成本并提高吞吐量,但要以信任存储提供商(DON或第三方)的数据可用性为代价。当然,结合这些选项的灵活模型也是可能的。我们在表1中指出了所需的数据可用性形式
- 正确性保证:SCaSC_a如何确定exect推送的更新的正确性?这会影响 exect 和SCaSC_a的计算负载以及同步延迟(见下文)。
- 延迟:同步延迟有三个影响因素: (1) 执行生成同步交易所需的时间τsync; (2) τsync在MAINCHAIN上得到确认的时间; (3) τsync对SCa生效的时间。在TEF中,延迟对于提款尤其重要(但对于合约内交易而言则不太重要),因为提款必然需要(至少部分)状态同步。

表1:TEF中的各种同步选项及其属性。
表1总结了TEF中五个主要同步选项中的这些属性。(注意,我们并不打算将这些技术作为独立的L2缩放解决方案进行比较。因此,我们把读者引用为,例如,[121]。)
现在我们讨论每个同步选项。
汇总:汇总[69]是一个协议,其中由一批交易实现的状态转换是脱链计算的。然后将状态更改传播到MAINCHAIN。
为了实现汇总,锚智能契约SCaSC_a存储实际状态的紧凑表示Rstate (例如,Merkle根)。为了同步,exect将τsync=(T,Rstate′)τ_{sync}=\left(T,R^{\prime}_{state}\right) 发送到SCaSC_a,其中T是自上次同步以来处理的交易的集合,而R′R^{\prime}状态是通过将T中的交易应用到前一个状态 Rstate 而计算出的新状态的紧凑表示。
有两种流行的变体在SCaSC_a如何验证τsync中的状态更新方面有所不同。
第一个,(zk-)rollups,附加一个简洁的正确性论证,有时称为有效性证明,用于转换Rstate→R′R_{state}→R^{\prime}状态。为了实现这个变体,exect计算并提交有效性证明(例如,zk-SNARK证明)以及 τsync,证明R′R^{\prime}状态是将 T 应用于SCaSC_a的当前状态的结果。锚合约只有在验证了证明后才接受状态更新。
乐观汇总不包括正确性的论点,但具有促进状态转换的分布式验证的质押和质询程序。对于这个汇总变体,SCaSC_a暂时接受τsyncτ_{sync}假设它是正确的(因此是乐观的),但τsyncτ_{sync}直到挑战期之后才生效,在此期间任何监控 MAINCHAIN 的一方都可以识别错误的状态更新并通知SCaSC_a采取必要的行动(例如,回滚状态并对执行施加惩罚。)两种汇总变体都实现了链上数据可用性,因为交易发布在链上,可以从中构建完整状态。 zk-rollups的延迟主要取决于生成有效性证明所需的时间,这在现有系统中通常为几分钟 [16],并且随着时间的推移可能会有所改善。
另一方面,乐观汇总具有更高的延迟(例如,几天或几周),因为挑战期需要足够长才能使欺诈证明起作用。缓慢确认的含义是微妙的,有时是特定于方案的,因此彻底的分析超出了范围。例如,某些方案在确认状态更新之前将支付交易视为“无信任的最终”[109],因为普通用户可以比MAINCHAIN更快地验证汇总。
Validium:Validium是(zk-)rollup的一种形式,它使数据仅在链下可用,并且不维护MAINCHAIN上的所有数据。具体来说,exect只向SCa发送新状态和证明,但不发送交易。使用 Validium 风格的同步,exec和执行它的DON是唯一存储完整状态和执行交易的。与zk-rollups一样,同步延迟受有效性证明生成时间的支配。然而,与zk-rollups不同的是,Validium风格的同步降低了存储成本并提高了吞吐量。
DON的阈值签名:假设DON节点的阈值是诚实的,一个简单且快速的同步选项是让DON节点集体签署新状态。这种方法可以同时支持链上和链下数据可用性。请注意,如果用户信任DON进行预言机更新,则他们不需要更多地信任它来接受状态更新,因为他们已经处于阈值信任模型中。阈值签名的另一个好处是低延迟。支持EIP-2938 [70]中提出的新交易签名格式并称为帐户抽象,将使阈值签名更容易实现,因为它将消除对阈值ECDSA的需要,后者涉及相当复杂的协议(例如,[116 , 117, 118])而不是阈值Schnorr [202] 或BLS [55]签名等替代方案。
可信执行环境 (TEE):TEE是隔离的执行环境(通常由硬件实现),旨在为内部运行的程序提供强大的安全保护。一些TEE(例如,英特尔 SGX[84])可以生成证明(称为证明),证明输出是由特定程序针对特定输入正确计算。可以通过使用[80]中的技术将(zk-)rollups或Validium中的证明替换为TEE证明来实现基于TEE的TEF同步变体。
与汇总和Validium中使用的零知识证明相比,TEE的性能要高得多。与阈值签名相比,TEE消除了生成阈值ECDSA签名的复杂性,因为原则上只需要涉及一个TEE。然而,使用TEE确实会引入额外的依赖于硬件的信任作为假设。人们还可以将TEE与阈值签名相结合,以创建抵御一小部分TEE实例受损的弹性,尽管这种保护措施重新引入了生成阈值ECDSA签名的复杂性。
额外的灵活性:可以通过以下方式改进这些同步选项以提供更大的灵活性。
- 灵活触发:TEF 应用程序可以确定触发同步的条件。例如,同步可以是基于批次的,例如,在每N个交易之后发生,基于时间的,例如,每10个块,或基于事件,例如,每当目标资产价格大幅波动时发生。
- 部分同步:有可能并且在某些情况下是可取的(例如,使用汇总,部分同步可以减少延迟)例如提供少量状态的快速同步,可能仅定期执行完全同步。例如,exect可以通过更新用户在SCa中的余额来批准提款请求,而无需更新MAINCHAIN状态。
6.4 重组
由网络不稳定甚至51%攻击导致的区块链重组可能对主链的完整性构成威胁。在实践中,对手已经使用它们来发起双花攻击 [34]。虽然对主要链的此类攻击难以实施,但它们对于某些链仍然可行[88]。
因为它独立于MAINCHAIN运行,所以DON提供了一种有趣的可能性,可以观察并提供一些保护,以防止与攻击相关的重组。
例如,DON可以向 MAINCHAIN 上的依赖合约SC报告存在某个阈值长度ττ的竞争分叉。DON还可以在PoW或PoS设置中提供这种分叉存在的证据。合约SC可以实施适当的防御措施,例如暂停进一步的交易执行一段时间(例如,允许交易所将双花资产列入黑名单)。请注意,尽管发起51%攻击的对手可以寻求审查来自DON的报告,但SC中的对策是要求DON定期报告以处理交易(即心跳)或要求新的报告验证高价值交易。
虽然此类分叉警报原则上是DON可以为多种目的提供的一般服务,但我们的计划是将它们与TEF合并。
原文链接:https://chain.link/whitepaper
---煤油灯科技victorlamp.com翻译整理---