趁着Zircuit的 $ZRC 正式TGE,聊一个这个项目里关于排序器(sequencer)的有趣机制。
Zircuit拥有自己的L2,这个L2的特点就在于,它创造了一种名为“序列器级别安全性/SLS(Sequencer Level Security)”的解决方案。
我们都知道,目前L2的交易的进出口都是通过项目方的官方排序器。当然,由于ZK/挑战证明的存在,大体上我们也并不担心排序器作恶。
总体来说,排序器是一个中立阵营角色,它总是刚正不阿地执行每一笔交易。
那么,尽管排序器是中立,那么我们是否可以努努力,让它加入善良阵营呢?
于是,Zircuit启用了这个SLS机制,它的目的是用来隔离“恶意交易”。
正常来说,一笔L2交易是如何上链呢?很简单的四步走:
1. 用户发起交易并广播
2. 交易到内存池(mempool)等待
3. 排序器作为中立阵营,帮它打包到区块里
4. 交易上链
但是基于SLS机制,这个步骤变为了五步:
1. 用户发起交易并广播
2. 交易到内存池(mempool)等待
3. 排序器作为善良阵营,用一些工具检查交易是否有恶意
4. 如果没有恶意,帮它打包到区块里
5. 交易上链
但是如果有疑似恶意交易呢?从步骤四开始变化:
4. 如果疑似恶意,进入隔离池
5. 隔离池复核无误,排序器继续帮它打包
或是:
4. 如果疑似恶意,进入隔离池
5. 隔离池复核发现确实为恶意交易,那么就拒绝为它打包上链
这个SLS检查是否恶意的标准,可能会采用一些开源的库,并让AI辅助来判断。
未来有希望实现一些效果,例如:比如被盗的资产,可能永远无法转移或者跨回L1。对于现在恶劣的黑暗森林链上环境来说,还是很有意义的。
当然,既然是检查交易,免不了可能有些误伤。但是,我理解通过改善隔离池的算法,其实它可以尽可能地降低这样的问题。
这个是一把双刃剑,区块链强调permissionless,这个和SLS有轻微的违背。从正常用户角度来说,这样的L2确实要更安全一些。
不过总体而言,我觉得尽管小幅影响permissionless,但是换来安全性的提升,尤其是在保护没有经验的用户层面,还是比较值得的。
结尾附上:Zircuit的SLS机制论文原文:https://arxiv.org/html/2405.01819v1