|
因为这种方式的系统是不可信的,如果Alice被押在一个方块上,并且她知道通往那个方块的路径是真实的,那么Alice就可以确定自己所在的方块最终会被确认。对于Alice来说,那条路径就如同最终的一样。
即使你没有被押在一条路上,如果你看到有好几个人被押在这条路上,而且你相信这些人中至少有一个人是诚实的,那么你可以肯定那条路最终会被确认--就你而言,那条路就是最终的路。
去信任最终性的好处
为什么说结果的去信任性是有价值的?经典的例子来自于之前对其他rollup协议的讨论。假设一个虚拟机要向Alice进行支付。支付事件是在诚实的路径上,但要在链上确认支付发生的方块,还需要一段时间。
去信任性的结果就是给Alice提供了一个马上拿到钱的方法。如果Bob有立即支付的钱,他可以马上把钱给Alice,作为交换,Alice把未来尚未确认的付款转让给Bob(加上支付给Bob的最低费用)。Bob只有在他能确定付款会真正发生的情况下才会想这么做。Bob可以通过押注诚实的结果来确定这一点--那么他就会对付款最终会发生充满信任的信心。不仅仅是Bob能做到这一点,任何有资金的人都可以借给他。任何有资金的人都可以用同样的方式把资金借给Alice和其他像她一样的人。这些人可以通过提供更低的费用来相互竞争,促使Alice马上获得资金的成本降低。
关键的一点是,这种市场机制的可行性取决于去信任的结果。如果 "每个人 "都已经知道这件事最终会被确认,那么一件事在链上确认的延迟就不会有那么多不便。
不仅对于支付是如此,对于虚拟机做的其他事情也是如此。如果虚拟机要发出一个日志项,宣布某件事情已经发生,那么去信任的结果意味着任何人都可以肯定地行动,该日志项将在链上得到确认。
延迟攻击
因为这个系统是有去信任性的,所以坏人不能强行制造错误的结果。他们可以尝试做的是减缓进展。这样做需要他们牺牲利害关系,如果利害关系的金额很大,那么代价就会很高。
让我们想象一下,有人有动机发动延迟攻击,而且他们愿意牺牲利害关系。他们能造成的最坏的损失是什么?以太坊钱包
首先要注意的是,坏人无法阻止诚实的当事人继续建立出诚实的路径。而且他们也无法阻止诚实方在最终确认诚实分支的过程中获得去信任的信心。
攻击者能做的就是在假分支上staking,以延迟诚实路径的链上确认。他们每放一个stake,就会对诚实方多产生一次纠纷,在这种情况下,诚实方就会拿走攻击者的一大块stake。一旦攻击者的所有stake都被拿下,链上进度将继续进行。
如果攻击者将多个赌注放在虚假的结果上呢?那么这些赌注就必须在纠纷中逐一拿下。如果有多人押注在诚实的结果上,这些人都可以对攻击者进入纠纷,同时努力拿下攻击者的赌注。而且注意,大家都会很清楚发生了什么事,很多人都会想参与进来,押注在真实的结果上,这样他们就可以加入到利用纠纷抢夺攻击者股权的喂养狂潮中。如果有K人在诚实的一方下注,那么攻击者将花费K个赌注来购买一个争端期的延迟。如果攻击者下更多的赌注,那很可能会吸引更多的老实人赌注。这对攻击者来说是个不好的动态。
优化
可以进行各种优化,以减少操作协议所需的链上记账量,降低链上气体成本,并使针对延迟攻击者的有益喂养狂潮更容易上演。我不会在这里钻研这些优化,这篇文章已经够长了。
前进的道路
我们正在Offchain实验室构建这个协议。预计这个Arbitrum Rollup协议将很快被推送到我们的开源代码库中 |
|