解禁排序器的「超能力」,Zircuit给L2找了条出路
时间:2024-06-18 来源:区块链网络 作者:区块律动BlockBeat
在今年初的再质押热潮中,Zircuit 这个名字首次出现在了大家的视野里,这个由 Dragonfly 和 Pantera 背书的 ZK L2 成了不少 LRT 代币的最终目的地,并在上线后 TVL 迅速攀升。不过除了收益和积分,大多数人对 Zircuit 的印象都停留在「又一个 L2」上。 最近,在与 Zircuit 联创 Martin 的一次深入交流后,我开始对这个新 L2 的未来充满期望。在 L2「对齐以太坊」的大背景下,Zircuit 坚定地选择了实用主义,不仅在排序器上「玩出了花」,也给陷入困境的 L2 们找到了一条新的出路。 「正统性」不再适合 L2 每一个加密从业者都是分布式账簿的超级支持者,追求绝对的公开性和不可篡改性,直到被盗事件发生在自己身上。 如果你经历过黑客攻击,眼看协议资产被洗劫一空,你一定想过:「如果交易能回滚就好了」。当然,无论是从技术层面还是意识形态层面,这在加密领域都是不被允许发生的「政治正确」问题。在分布式账簿的世界,共识即上帝,一旦共识形成,就具有绝对的权威,个人正义在集体公平面前必须做出牺牲。 有意思的是,这个行业似乎过于注重共识建立的过程,以至于这种意识形态延展到了没有那么「讲究」的角落。 对以太坊生态来说,Layer2 就是这样的一个角落。L2 作为提升以太坊扩容性的解决方案,从第一天起就被视为未来以太坊肌体的一部分,铐上了「以太坊对齐」(Ethereum Alignment)的要求。很长一段时间,大家讨论的都是 L2 如何实现 EVM 兼容、Rollup 如何从 OP 过度到 ZK 等等,甚至 Vitalik 作为以太坊的核心人物,其观点言论也在这种「对齐」的意识形态下变成了「圣旨」。 但技术的进步不以个人意志为转移,随着 Celestia 的出现,模块化叙事为加密技术堆栈的演进提供了新的思路与方向,也给以太坊的「正统性」思想带来了严重的冲击。RaaS、模块化 DA、主权 Rollup 等等模块化技术和概念,直接挑战着 Arbitrum、zkSync、Scroll 等「以太坊对齐」L2 的存在意义。Rollup 该秉持什么意识形态、该长什么样?似乎有了更多自主权。 但有自主权并不意味着增长,相反,如果不能提供差异化价值,你就是在和以太坊争饭碗。而就现在来看,大部分 L2 仍旧没有开发出自己的差异化价值。所谓差异化价值,不是「我的 Gas 比以太坊低」,因为所有 L2 或者其他 L1 也可以这么说,同时也不是「我是一条专注 meme/DeFi 的 L2」,因为当前的加密行业垂类竞争没有护城河,比如 Base 与 Solana 都能发生「meme 季」。 那真正的差异化价值在哪里?在认识并与 Zircuit 团队交流后,我认为这种价值将主要体现在意识形态方面,并通过排序器的技术栈具体表现出来。 打个比方,在以太坊主网的意识形态中,「审查交易」是不允许发生的情况,因为这直接威胁到了整个网络的共识,但一条主权 L2 却可以,不仅是技术层面的可执行性,更因为它不受主网意识形态的限制。只要你将资产迁移到这条 L2 上,就代表你认可了它的特定运行法则,在这个情况下,「链上审查」就成了共识允许的事件,而对于有这一特殊需求的群体而言,该 L2 就有了差异化价值。 Zircuit 的「链上警察」 想在被黑客攻击后冻结即将被转走的资产吗?以太坊或许不行,但 Zircuit 可以帮你做到。通过在排序器中加入预言机模型,Zircuit 的排序器可以识别或者提前预判出网络中的恶意交易,比如黑客攻击,并及时阻止这些交易的发生,从而保障用户的资金安全。Zircuit 团队称其为「SLS」,即排序器层级安全(Sequencer Level Security)。 这听上去似乎有些玄乎,但 L2 最大的优势恰恰就在于饱受中心化诟病的排序器。因为不需要考虑共识机制设计,L2 可以在排序器上做很多文章,从而使自己获得更多「政治不正确的超能力」。 在解释 Zircuit 排序器的交易审查原理前,我们先回顾一下当前 L2 普遍的运行方式。一般来说,当 L2 上出现交易时,比如账户之间的资产转移、部署和调用合约等,他们都将交由一个由排序器、执行引擎和批量处理器组成的 Rollup 节点处理。 排序器指导执行引擎哪些交易应被囊括到下一个区块中,批量处理器将 L2 交易打包上传 L1 以便用户获得数据可用性,而执行引擎批量处理交易并产生新的 L2 状态。当然,这里 OP 和 ZK Rollup 会有证明时间上的差距,在这篇文章中就不再赘述。 所以普通 L2 的运行流程是:产生交易,排序器处理并生成 L2 区块,验证区块(乐观欺诈证明 or 零知识证明),上传 L1 结算(如下图)。 而相较普通排序器,Zircuit 的排序器外加了一个交易预言机,它与 ChainLink 这类价格预言机不同,用于监控和预测 L2 上的恶意交易。该预言机通过监控 L2 网络的内存池,识别或预测其中的恶意交易,并将认定为有恶意企图的交易送入「隔离区」(Quarantine)。 进入隔离区的交易将不再被纳入下一个区块,如果黑客攻击了某个借贷协议或通过钓鱼网站获得了钱包授权,想要把资产转移,Zircuit 排序器在甄别出这笔交易后就会将其隔离,从而保障了用户资金的安全。 所以 Zircuit 的运行流程是:产生交易,排序器识别并隔离恶意交易,排序器处理并生成 L2 区块,验证区块(乐观欺诈证明 or 零知识证明),上传 L1 结算。 具体到排序器当中,Zircuit 基于 Geth 实现,构建区块时分为拟队列(Queue)和待处理队列(Pending Queue)两个步骤。当一笔交易产生后,无论最终是否能打包进区块都会被纳入拟队列中。在这个环节,ZK Rollup 的验证者会对交易生成 ZK 证明,而 Zircuit 则在此基础上进一步进行交易审核,将没有问题的交易纳入待处理队列,并将有恶意企图的交易送进隔离区,而进入待处理队列的交易则最终打包上传至 L1。 通过这种方式,Zircuit 在等同于 L1 公链的共识级别嵌入了一套安全系统,同时防止了硬分叉和区块区块回滚等情况的出现。 谁说了算? 既然是在类共识层的机制创新,那「谁说了算」以及「怎么说了算」就一定是最重要的问题。排序器是 L2 的「上帝」,当他的各种超能力被解禁时,就必须依靠机制层面的公开透明加以约束。那么 Zircuit 的排序器是怎么决定一笔交易可能有恶意企图呢? AI 模型在这时似乎提供了一个很好的解决方案。Zircuit 交易预言机的训练原理主要是用附在区块末端的交易(即最长链的最终状态)作为数据进行模拟,这个跟踪数据将包含链上所有智能合约存储槽的信息,以及在执行此交易期间进行的智能合约到智能合约的调用。在此基础上,团队还会加入一些链下的元数据历史,比如账户发送者(Account Sender)的此前是否经常活跃、是否是一个新近注资的账户等。通过这种「链上+链下」的方式,团队归集了 22 条 EVM 链上超 45 亿笔交易的历史数据,并把这些信息提供给机器学习模型进行训练。 所以一定程度上,Zircuit 的预言机能知道你是一个什么样的链上消费者,并在必要的时候帮你阻止可疑交易。举个例子,在经过数据训练后,预言机了解到你的特定钱包地址 7 年来从未向外转出超总资产 10% 的资金,那么当这个地址突然连续发起数笔资金转移或将全部资产转出时,预言机就有可能会将这些交易放入隔离区。当然,Zircuit 预言机不会干涉绝大多数纯粹的转账,这种链上监控主要还是用于预防协议攻击。 但除了自己训练预测模型外,Zircuit 团队解决问题的主要方法,其实是创建模型集成。当前市场上,已有不少核心业务是提供智能主动链上监控模型的团队,Zircuit 与他们均保持有密切的合作伙伴关系,并会持续与市场上所有可访问的交易预测模型或者检测工具结合。 这也给予了市场很多潜在的商业机会,比如你可以专注训练一个针对特定协议的预言机,它甚至都不需要是一个 AI 模型。在与 Zircuit 联创 Martin 交流时,他给我举了一个例子:Compound 这类老牌 DeFi 有较长时间的流量历史(Traffic History),基于这些历史数据,你可以分析哪些交易通常会转到 Compound、它们通常用什么样的 Gas 条件等等,你会发现 99% 的流量记录其实都有非常相似的特征。因此你可以基于这个数据做流量异常检测,如果某笔交易超出了 95% 的间隔异常值,则有理由将其拦截。 总而言之,Zircuit 团队希望安全研究社区,就如何审查交易以及安全性等议题提出他们自己的想法。Martin 告诉我:「如果社区能用 Zircuit 或者其他 EVM 区块链的交易数据来训练他们自己的模型,我会非常高兴」。Zircuit 团队非常乐意给予他们所需数据的访问权限,一旦有发现结果优良的预言机成品,就可以立即在 Zircuit 的现有模型集成中实现。 在排序器层面,多预言机协调的最终执行逻辑会是:排序器询问当前可用的所有预言机,如果每个预言机都认为交易没问题,那么排序器就会直接将其包括在区块内;如果有一个或多个预言机认为交易有问题,排序器就会根据多数原则、表现评级等简单且透明的逻辑作出是否放入隔离区的决定。 当然,光靠模型和预言机说了算是绝对不够的,可以预见的是,除了一些基本的安全标准外,Zircuit 上的每个应用都可能有定制化的安全需求,比如「交易金额不低于/不超过」「单日内交易次数不得超过」等。Zircuit 专门针对这种潜在的需求开发了一套声明性语言 API(Declarative Language),来帮助应用定义交易在执行时不能违反的一些不变量。 另外,Zircuit 也给被放进隔离区的交易提供了多个「申诉通道」,如果一笔交易符合特定要求,就可以离开隔离区并重新被纳入区块。目前这些「申诉通道」主要包括: 1、时间判据,比如一笔交易达到了规定的隔离时长。 2、替代判据,比如用户不想等待,可以直接取消交易。 3、失效判据,比如一笔交易已经失败,因此无法再伤害到任何地址。 4、经济判据,比如用户可以质押与交易所涉资金等量的抵押物,来抵消预言机所预测的资金损失。 5、管理判据,社区一致决定该交易是良性的。 有意思的是,在这一套模块化区块生产逻辑下,Zircuit 的证明器(Prover)技术也得到了改进。Zircuit 在证明器上也采用了模块化思路,团队将此称为并行证明(Parallelized Prover)。Zircuit 的每个证明都有自己特定的角色,比如一个用于证明交易被正确执行,另一个则用来证明相关的 Keccak 操作被正确执行,然后第三个证明则用来证明前两个证明所执行操作的聚合等,通过这种方式实现更高的效率和更低的运营成本。 「SL+」能成为 L2 的新叙事吗? 在 Martin 和 Zircuit 团队看来,SLS 的潜力完全不止链上监控,它还为开发者打开了一篇合约编程新世界。 目前区块链安全审计工作的本质还是基于已有的区块状态,确保智能合约的逻辑在未来不会产生新的意外状态。但排序器级别安全却允许开发者采用额外的措施来确保这些意外状态永远不会出现,Zircuit 团队将其称为「不变编码」(Invariant Coding)。简单说,就是通过声明性语言告诉预言机某些规则永远不应该被违反,比如协议金库转出资金永远不得超过总额 50% 等,并在一笔交易违反这一不变量时将其放进隔离区。 或者,开发者可以使用声明性语言去解决智能合约中调用函数的所有权以及它的转移问题。这么做的一大好处,就是消除了智能合约中一些不变量编码的工程,并得到一个更小的智能合约字节码,以降低合约的主网部署成本。 但我认为,SLS 或者说「SL+」的模式,对 L2 而言或许是一个更大的叙事。 在最近一篇关于 EF 基金会的文章中,我曾提到 L2 因过度强调「以太坊对齐」过度同质化的问题,而 Zircuit 的出现无疑给 L2 的多样化提供了新的思路。在 Martin 看来,L2 并不应该考虑「政治正确」的问题,他的哲学是:「只要你周围的人都知道你要做什么,那么你做任何想做的事都是可以的。」在这个逻辑下,L2 就像一个有同意条款的应用,用户可以选择同意并开始使用,也可以选择拒绝并离开。对 L2 来说,这意味着它将不再受到意识形态的束缚,可以通过排序器做出各式各样的「定制超能力」,并下沉到各自的细分场景中去。 今天的市场环境,在「一件发链」的技术背景下竞争日渐惨烈。Solana 有资本共识,Base 有 Coinbase 金主爸爸,而 TON 则有 Telegram 的流量入口,相比之下,L2 们还剩下什么?或许,答案就在排序器这个「出块上帝」身上。 |