意图抽象 vs 链抽象:如何平衡用户体验与系统扩展性?
作者:@knwang
翻译:白话区块链
1、链抽象(CA)、意图和意图抽象(IA)
链抽象和以意图为中心的解决方案是两种旨在解决相同基本问题的架构方法:在异构信任域之间实现自动化的异步互操作性。
这两种方法都引入了“交易方”和“跨链证明”的概念来解决这个问题,但它们在构建这些元素的方式上存在显著差异:
1)链抽象:
链为中心的视角:在这种方法中,单一的区块链充当用户的“去中心化事件交易方”。
用户交互:用户与同一个对手方——链抽象区块链进行交互。
义务:区块链及其“协议内的链外组件”负责为用户产生所需的结果。
证明流程:跨链证明的方向始终从链抽象区块链流向目标链。在目标链上,通过证明检查来强制执行,这允许在目标链上铸造或花费资源。
用户抽象:面向用户的抽象通常表现为对目标链上计算或交易的请求。
扩展性:扩展此系统通常需要一个通用的证明系统,可以在各种目标链上进行链上验证——可能使用MPC解决方案。
延迟:延迟由通用证明系统强制执行的确认规则决定,并且不因请求而变化。
2)以意图为中心的解决方案:
状态为中心的视角:在这种模型中,一个开放的求解者网络充当用户的“分布式状态交易方”。
用户交互:用户与运行时选择的对手方互动,通常根据哪个对手方能为用户带来最佳结果进行选择。
义务:无论通过信誉系统还是承诺系统,所选对手方都有义务为用户交付期望的结果。
证明流程:跨链证明的方向被颠倒,从目标链流向用户的主链。在主链上,通过证明检查来强制执行,这允许在主链上使用用户的资源。
用户抽象:面向用户的抽象呈现为对目标链上账户状态的证明义务。
扩展性:扩展性依赖于一个可编程的证明检查系统,支持针对每个目标链的异构证明方法,最有可能是“资源锁定”系统。
延迟:延迟由求解者自行感知的确认规则决定,使其能够作为对手方选择的一部分进行优化。
2、意图抽象
如果说链抽象为用户提供了一个异构域执行抽象,那么意图抽象则为求解者提供了一个异构的证明义务抽象。
正如开发者在跨域计算执行中需要为用户组合、编排和引导计算流程以实现链抽象一样,在意图抽象的背景下,他们也需要为求解者组合、编排和引导证明流程。
3、小结
“链抽象”这一概念仍在不断发展,涵盖了从“链为中心”到“状态为中心”的各种方法。为简化讨论和便于比较,我在这里将“链抽象”定义为“链为中心”,这与部分最初的链抽象倡导者的架构更为一致。
然而,实际上,许多较新的架构结合了“纯链为中心”和“纯状态为中心”模型的元素。
我的观点:我认为以意图为中心的方法提供了更好的架构方向。它为用户提供基于结果的保障,通过交易方选择优化结果状态和延迟,并且在定制化目标链方面更具扩展性。
然而,要实现这一点,需要颠倒证明流程,并将证明义务放在求解者网络上。换句话说,虽然目标链的复杂性和异构性并不会消失,但集成负担从链上计算组合的预设枢纽,转移到了处理证明组合的链外求解者分布式网络上。