IPC是Filecoin的consensuslab研究的一种区块链扩容解决方案。号称可以无限扩容,无限套娃式的增加子网,rootnet->L2->L3->L4等一套下去。每个parent-net和child-net之间只要部署一个IGA和ISA的智能合约就可以了。这个IGA和ISA其实就是
IPC是Filecoin的consensus lab研究的一种区块链扩容解决方案。号称可以无限扩容,无限套娃式的增加子网,rootnet -> L2 -> L3->L4等一套下去。每个parent-net和child-net之间只要部署一个IGA和ISA的智能合约就可以了。这个IGA和ISA其实就是IPC协议的实现,现在是用solidity语言写的,可以直接部署在EVM上就可以了。
L2如何依赖L1的安全性呐?也很简单,和所有的L2方案差不多,就是每隔一段长度,Replayer把L2的checkpoint放到parent L1即可。这里的checkpoint也很简单,虽然IPC说是state,其实就是最新 block的hash而已。如何验证blockhash是否正确呐,IPC的方案也很简单,就是传hash的时候,要把validatorset的签名也一起发过来,验证validator的签名即可,这里其实有一个假设,那就是subnet的共识机制是基于签名的方案,如果是类似于BTC pow的方案,就无法找到这类的签名了。
所有的L2方案绕不开的一点就是:原始交易数据如何存储的问题?也就是需要解决如果L2集体辞职的情况下,L2上面的交易从哪里获取。这一点看IPC文档上面没有给出解释。
同时,IPC也说自己提供无需bridge的cross-net transaction能力。既然是跨链,那就绕不开以下几个核心问题:
如上7个问题,是所有跨链交易都无法回避的难题,IPC现在只解决了交易路由问题,剩下的难题,还需要进一步研究和设计。
根据web2中的分布式一致性的研究很容易知道,如果底层不充分考虑redo和rollback的问题的话,就需要对业务逻辑代码进行侵入式的改造,增加redo和rollback类的方法,并且引入2PC(两阶段)类的协议来解决一致性问题。这对业务设计是不友好的,增加业务复杂度。
同时,因为gas的问题,让跨链交易,比起web2中分布式一致性问题更加难以解决。
所以,当然的解决方案,基本上都是放弃一致性的一些特性,比如:假设gas费足够的情况下,交易一定可以在目标网络和源网络中执行成功,gas不足失败的时候,由上层用户增加负责等等方式,来减少协议层面的复杂度。嗯🤔,这类的解决方案,很现实,也很无奈。
当下的跨链,基本上也都是token类的transfer,基本上也不怎么牵涉到跨服务调用。因为跨网络的服务调用,更加困难,因为其异常情况更加多样。
当然咯,这样也导致了一个情况的发生,那就是,多个链的其实是无法互动的,或是说,多链间只能把相互的token进行lock->mint类的transfer,还无法像同一个EVM智能合约间的可组合性一样,实现链间智能合约的可组合性。
总而言之,跨链的路还长着呐。。。。。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!