如何交互?潜在机会有哪些?

    前期问题集中于互操作成本上,后期问题集中于安全性上,权衡两者以做出更好的互操作方案,是一个潜在的发展方向。这篇文章是Dfinity创始人DominicWilliams5月28日Medium《InternetComputer<>EthereumIntegrationExplained》的笔记,解答了我几个疑惑:ICP和ETH的定位和关系?ICP目前是如何与ETH交互的?面临哪些问题?ICP和ETH的互操作性将带来哪些机会?ICP与ETH的定位和关系ICP与ETH设计初衷不同,定位不同,是相互补充的关系。ICP的结构是由独立节点构成的不同子网,其计算资源由各地计算中心提供,计算中心所使用的的硬件设备经过特殊的定制。是一个由计算中心-神经元(子网)-容器(canisters)构成的双层结构。

    以太坊与其相比,计算的底层开放度更大,任何人都能提供计算。其结构是矿工(计算)-智能合约(smartcontract)的单层结构。不同的结构设计使得功能侧重不同,ICP倾向于终端用户的应用层,而ETH则倾向高价值资产的金融结算层。随着ETH网络被越来越多的人接受,GAS费快速抬升,计算资源非常紧张,1GB的智能合约将耗费价值1亿USD的ETH(最新数据),而在ICP运行这类应用的花费将低于5USD的Cycle。未来人们很可能在ICP上使用消费级应用,而沉淀后的数据资产经过打包,交易,形成金融资产。这部分金融资产则很可能被传送到ETH上进行金融相关的操作。利用ICP容器的运算存储性能,用户可以获得更丰富的web3.0服务;而利用ETH智能合约的原子性和不可篡改性,用户的高价值资产得以获得更大的安全性。此外,ICP的ChainKey特性可以使得用户直接通过数字身份(FaceID,指纹,YubiKeys)连接以太坊,而不必管理复杂的钱包。

    这些特征都将大大丰富两者的生态。ICP与ETH互操作的原理wewillintroducesupportforathresholdvariantofECDSA.Inessence,thiswillenablesmartcontractsontheInternetComputertocreateBitcoinandEthereumtransactionspertainingtopublickeysonthosechains,withoutholdingcorrespondingprivatekeys(whichwillnotevenexist,andinsteadtaketheformofprivatekeysharessecurelydistributedacrossindependentnodes).ICP用的也是椭圆曲线数字签名算法(ECDSA),对于ICP用户而言,可以在没有私钥的情况下创建链上的交易。具体实现方式,就是通过子网多签私钥,再由公钥验证,从而实现整个交易。也就是说,ICP到ETH网络的互操作性,是通过ICP上子网多签来实现的,先由子网多签发起交易,再由子网在ICP内部交易。简单说,BLS门限签名的作用就相当于一个私钥了。解决完了如果从ICP到ETH链,那么如何从ETH返回执行的结果呢?阶段一:由于目前的ETH具有原子性,因此每一个地址的状态都会经由PoW的方式来验证并且同步。因此当我们在ICP上需要获取ETH状态时,我们可以检测ETH区块的状态,每当区块被验证时(要在一定区块之后,这样正确率才能有保证),ETH上的智能合约就能从区块所有数据中读取我们想要的状态,并传输给ICP上的智能合约。

    当ICP智能合约运算完成以后,可以直接通过预言机将信息和数据传回给ETH。从而形成一个ICP与ETH的操作闭环。由于从ETH向ICP需要智能合约的功能,这一切运转在ETH上,这意味着这类操作是非常昂贵的。当ICP大量需要ETH传输信息的时候,高昂的成本将限制ICP和ETH之间的整合与协作。阶段二:为了节省ETH智能合约功能的成本,我们会同步ETH节点状态到ICP的智能合约。这个合约不仅会扫描以太坊的区块,同时也会更新以太坊的全部数据。一旦这个工作完成,意味着查询以太坊状态的同时不会影响以太坊的状态(主要由于EIP1559以后,智能合约的运转会燃烧ETH,全网状态会因此改变。),并且调用智能合约的成本也将几乎为0。

    一方面ICP将运转ETH的一个节点,另一方面ETH的实时状态也将同步在ICP网络之上。潜在的机会进入第二阶段,意味着ICP对ETH调取合约,获取状态的成本会降低到很低的位置。但与此同时,另一个问题浮出水面。由于ICP全网对于ETH状态的获取,依赖ICP网络运营的ETH节点。一旦结点出现问题,那么就会带来巨大的安全隐患。那么我们是否能构建,节点/智能合约双互操作体系来逐步过渡和渐进?渐进地取舍效率与安全,才能配合ICP的发展水平。总结ICP到ETH,主要通过子网多签创建智能合约的方式。第一阶段:ETH返回ICP数据,利用ETH智能合约获取ETH区块具体状态,然后返回。第二阶段:ETH返回ICP数据,在ICP创立Canister同步ETH结点的完整信息,从第一阶段:向ETH上智能合约了解信息(互操作),进化到第二阶段:向ICP上同步ETH结点的智能合约了解信息(互操作)。前期问题集中于互操作的成本上,后期问题集中于安全性上,如何在成本和安全性上取舍做出更好的互操作方案,是一个潜在的发展方向。