我邻居开了个小超市,收银台旁边装了个摄像头,对着收银区。他说装摄像头不是不信员工,是万一出了账目问题有个记录可以查。但有个老员工跟他说,摄像头对着收银台可以,别对着我的脸,我工作的时候不想被一直盯着。我邻居想了想,把摄像头角度调了一下,对着收银机,不对着人。两个人都觉得这样合理。
@MidnightNetwork 的验证者隐私设计,解决的就是这个摄像头对着哪里的问题。
区块链的验证者,也就是负责打包交易、出块的节点,天然能看到一些信息,这是它们工作的前提,没有这个能力就没办法验证交易是否合法。但能看到交易存在和能看到交易内容是两件不同的事。在以太坊上这两件事是合并的,验证者打包交易的时候,交易里的所有数据对它们都是可见的,谁发的、发给谁、金额多少,一清二楚,这也是MEV问题的根源,验证者可以利用这些信息在打包顺序上做手脚,抢跑用户的交易。
Midnight的设计把这两件事拆开了。验证者,也就是$NIGHT 里的block producer,负责打包交易和维护公共状态,但私有状态的内容对它们是不可见的,它们只能看到ZK证明是否成立,看不到证明背后的私有数据是什么。就像我邻居把摄像头对着收银机,员工的操作结果是可见的,但操作过程里的细节不在镜头里。这个设计从根本上切断了验证者利用私有数据做MEV的可能,因为它们根本看不到可以利用的信息。
但我邻居后来跟我说了一件事,让我觉得这个故事不是那么简单。他说摄像头装好之后,有段时间收银台的交易笔数突然少了,他去查才发现是收银员在高峰期故意放慢速度,因为她知道摄像头只看结果不看过程,慢一点也不会被发现。验证者看不到私有内容这件事,同样存在类似的问题,验证者虽然看不到交易内容,但它们依然可以选择性地打包或者延迟某些交易。
Midnight把验证者能看到的信息边界划得比以太坊清晰,这是真实的进步,MEV问题在设计层面被认真对待了。但验证者的行为激励和惩罚机制,也是需要明确的。
我邻居最后的解法是在收银台加了一个实时销售数据的显示屏,员工自己也能看到当天的交易笔数,透明是双向的,不只是老板看员工,员工也知道数据在那里。Midnight的验证者机制如果能做到类似的双向透明,验证者的行为边界才算真正划清楚了。 #night 