Poly Network攻击案圆满结束带来的反思,“清凉”男孩的降尘,粉红矿池走向远方的新动作
【《坛经》记载:“时有风吹幡动。一僧曰风动,一僧曰幡动。议论不已。惠能进曰:‘非风动,非幡动,仁者心动。”】
大家好,我是残云戏香雪,请多多指教。欢迎来到我的世界——我写我所想的,看你所看的。
Poly Network黑客攻击案这几天可以说是在业内造成了轰动效应,如今虽然黑客已归还所有资金,但给DeFi世界带来的影响或将长期存在。
神鱼大佬为此事貌似专门在微博发了一封感谢信。
对于此案,大佬jolestar从专业角度上分析了Poly Network被攻击的原因。
【看了慢雾关于 Poly Network 的分析,又 GitHub 上看了一下源码,我尝试通俗的解释一下这次攻击的原因。
Poly Network 的白皮书中设想的场景非常宏大,它不仅仅是想做资产的跨链,还想设计一种通用的跨链合约调用,因为任何跨链,本质上都是先在 A 链上执行一个交易,然后在 B 链上执行另外一个交易。并且这种需求现在其实越来越强烈了,比如同一个 借贷 DApp,部署到不同链上,那是不是可以通过跨链方式互通呢?比如在用户 A 链上抵押,在 B 链上借款。
所以 Poly 的实现思路是提供一种通用的跨链执行交易的方式,一个跨链应用的交易在 A 链上执行交易后同时告诉跨链桥,还要在 B 链上要执行什么方法,以及执行方法的参数。跨链桥调用自己在 B 链上的合约,传递执行交易的请求,以及进行代理调用。
跨链合约如何校验跨链执行交易的请求是合法的呢?跨链桥实际上是一个 PoS 的链,有多个验证节点(keeper)同时监听 A,B 链上的跨链请求,并进行确认签名,跨链合约会校验请求是否满足多签的阈值要求。但为了能新增或者减少验证节点,跨链合约也提供了更新 keeper 公钥的机制,这样验证节点变化时,多个节点一起可以发起交易进行更新公钥。
到这里,好像这个方案也没有什么大问题。问题就出在两个结合在一起。攻击者在 A 链上构造了一个跨链交易,要调用 B 链的跨链合约的更新 keeper 公钥的方法,参数是自己的公钥。因为跨链交易是通用的,keeper 并不审核交易的具体内容,于是这个交易被多个 keeper 确认并同步到 B 链上,B 链的跨链合约代理执行该请求,执行后 keeper 就变成攻击者了。
本来攻击者是没有执行该方法的权限的,直接执行肯定会报错。但跨链合约自己是有权限的,这样相当于跨链合约代用户执行了一个只有自己有权限执行的“私有”方法。攻击者有点像狐假虎威里的那只狡猾的狐狸。
如果有合约提供了类似的任意代理调用的机制,其实都可能隐藏类似的安全隐患。动态调用像是一个魔法,DeFi 世界的可组合性很大程度上就是靠动态代理来实现的,但带来但安全风险也不可低估。】
到目前为止,虽然随着黑客将攻击资金全部归还而圆满结束,但带给我们的却是整个DeFi参与者的警示。或许,就像这位黑客所说,在DeFi世界里,可以相信的只有代码和自己。但是,推动整个行业的安全发展,真的需要我们每个人的参与!
昨天残云还说了娱乐圈真的“愚乐”,热点不断。前天霍同学的手抄信上热搜,昨天其朋友圈大火。
C姐调侃:
胖妮甚至还以为霍同学是gay,令人大汗。
不过,不管怎么说,一个“清凉”男孩子算是被成功降尘,在这里,需要感谢强大的“愚乐”圈!
粉红矿池继pink上所之后的大动作来了,这个动作,或将为粉红矿池走向远方奠定坚实的基础。
日前,创始人的构思以文字和脑图的形式反应在纸面上:
【关于pkdao的所有解释和感悟我皆以文字和脑图的形式表达出来了!pink作为一个自发的区块链项目在所有人认真对待的情况下不可能成为一个归零币,但停滞不前或一飞冲天是可能的!这取决于所有参与者的信心和决心!古语有云,一鼓作气再而竭三而衰!等待是等不出好结果的,为此从明天起即2021年8月11日pkdao开始全社区正式质押置换,质押10000pink+10usdt即可参与置换,30枚以上可用8000pink替代10usdt质押!pkdao作为全社区的股权证明,总量10000枚永不增发,最终通缩成5000枚!需要质押置换的粉笔请质押币到唯一官方账户:eos链mykeyvippink,火币生态链: 0x4Ae25d8449B2061ef2CFe6d2eB1Ec919C525bD86.置换时间到2021年8月20日晚8点截止!】
经过社区成员的共同讨论,该构思获得全票通过。
目前,pkdao正在火热认购中……期待粉红矿池走向诗和远方!
本文不构成任何投资建议。强烈提示:
投资有风险,入市需谨慎。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!