一美金的重大缺陷
很多朋友都知道我是“黑人”,我也从来不否认。我黑过的项目无数,被人踢出社群的经历也数不胜数。直到我在Polkadot生态扎下根,成为名副其实的“波黑”。
对于波卡生态开发者的折服,以及波卡理事会的开明,让我在这个生态里找到了自己的位置。那就是作为一名社区建设者,为Kusama和Polkadot服务。
作为一名坚定的生态支持者,同时也是一名生态探索者,我的注意力平常都集中在生态中最有潜力的技术和最有卖点的功能。因此,作为Polkadot最最核心的XCM,我一直在不间断的学习以及测试。
虽然我非常喜爱XCM这项技术,我认为它具备改变世界的潜力,可以让所有的加密应用拥抱世界。但是在它尚未成熟的阶段,我不得不指出它面临的问题。一个在金融应用领域缺失的环节,或者叫重大缺陷。
事情还要从两个月前讲起。当时XCM v2刚刚推出不久,因为Karura上XCM功能开通的较多,我认为对于测试来说非常适合,因此我频繁的在Karura平台对各个项目做跨链转账。
这是我针对XCM的第一次多方位多角度的测试,但是其中一次跨链转账却出现了问题。
这次操作的全过程如下:
1.在Karura买进3000 PHA
2.通过XCM跨链将3000 PHA转账到PHALA链上
3.提示交易成功,手续费扣除成功
4.交易未到帐
5.考虑是否网络卡顿,等待一小时仍未到帐
6.怀疑是否XCM故障,再次购进1 PHA
7.通过XCM跨链转账至PHALA链上
8.提示交易成功,手续费扣除成功
9.等待一小时以上,交易仍然未到帐
10.与开发人员沟通,确认故障为Karura对PHALA发起的XCM指令BUG
本次操作有完整截图、有完整链上记录。这使我第一次对XCM产生顾虑,我认为在这一转账过程中存在两项重大缺陷—-状态确认和失败返还。
从事过网络工作的朋友应该都知道,在双方通信的过程中,会有“握手”这一环节,确认双方是否能够正常接收信息。在确认双方状态正常后,才可以相互发送消息。
我知道XCM也有“握手”类似的功能,但是有可能是细微的错误导致它无法察觉,也可能是“握手”出现了某些问题,总之,这笔跨链始终没有到帐,也没有返回任何信息。因此我决定将此问题记录下来,等待日后再行测试确认。
几天前,我终于找到了机会。QUARTZ发起提案要求更新网络,但是这个提案还未通过。我详细查询了UNQUE链上的情况,可能是停止出块了(提案里解释是网络卡住了)。
这里它的状态是否正常并不重要,重要的是我可以借这个机会测试XCM的“握手”是否可靠。
结果是,又出现了两个月前相同的问题,我通过XCM转账的QTZ始终无法到帐,也没有任何提示,1美金的资产凭空消失了。
由此,我得出结论,XCM的状态确认功能存在重大缺陷。而状态确认的失效,又会直接导致失败返还的失效,这将带来一系列隐患。
以上就是我今天要讲的内容,如果文中有错误的地方敬请指出,我必当虚心求教,感谢阅读。
注:写这篇文章实际上是想完善wood博士在2022波卡年会的演讲,当时只稍稍提了关于“吃钱”的问题。这个问题实际上有关XCM的未来发展,也关乎跨链交易的未来。在wood博士看来,本文所述的问题应当归结为链与链相互之间的信任问题,详情解决办法请关注spree协议。
4 comments