跨链互操作性有利于Web3不同生态的集成,同时对于连接现有Web2基础设施和Web3服务有至关重要的作用。通过启用跨链智能合约,跨链互操作性解决方案减少了生态系统的碎片化,并释放了更高的资本效率和更好的流动性条件。
DeFi的无需许可的可组合性催生了越来越复杂的应用程序,这些应用程序允许开发人员将不同的dApp组合成一个结构,该结构可以实现的效果超过其各部分的总和。然而,数百个不同网络的可组合性受到显着阻碍,因为智能合约只能与同一网络上的其他合约本地组合。如果一个应用程序想要跟随用户并在快速变化的多链环境中保持竞争力,它必须部署在多个平台上,导致流动性碎片化和用户体验下降。此外,单个dApp部署会占用宝贵的开发资源,否则这些资源可能会用于提升应用程序的业务逻辑。
在多链环境中,每个dApp实例都是一组孤立的智能合约,与其他区块链没有连接。
跨链互操作性使开发人员能够构建一个原生的跨链应用程序,其中一个统一的dApp可以部署在多个不同区块链上,而不必在不同的网络上部署多个单独的版本。
跨链智能合约由部署在多个网络中的多个智能合约组成,创建一个统一的dApp。
跨链技术的原理是什么?
跨链解决方案通常涉及验证源区块链的状态并将后续交易中继到目标区块链。这两个功能都是完成大多数跨链交互所必需的。
基础设施的一个关键部分是跨链桥,它使通证能够从源区块链转移到目标区块链。跨链桥通常涉及通过智能合约在源链上锁定或销毁通证,并通过目标链上的另一个智能合约解锁或铸造它们。实际上,跨链桥是一种跨链消息传递协议,适用于非常狭窄的用例——在不同区块链之间传输通证。因此,跨链桥通常是两个区块链之间的特定于某个应用程序的服务。
跨链桥只是一个提供跨链功能的简单应用程序。可编程的通证桥支持更复杂的跨链交互,例如在执行跨链函数的交易中交换、借出、抵押或存入通证,而任意数据消息传递协议提供更通用的跨链功能,它可以支持创建更复杂的dApp,例如跨链去中心化交易所(DEX)、跨链货币市场、跨链NFT、跨链游戏等等。
绕过源链上代币的锁定过程,却获得了代币的锁定证明,进而在目标链铸造资产
deposit()用于ERC20代币的存款,depositETH()用于WETH/WBNB代币的存款。
Bridge合约提供了两种方法:deposit()和depositETH()用于上述两种代币的存款,但是deposit()并没有阻止WETH/WBNB的存款交易,并且存在有着缺陷的逻辑判断。
当tokenAddress不为_wtokenAddress地址时进行ERC20代币的销毁或锁定,若为_wtokenAddress则直接跳过该部分处理.
跨链桥合约中的depositETH函数会将链平台币转为wToken后转至depositHandler地址,所以在depositHandler执行deposit逻辑时,已处理过代币转移,故跳过代币处理逻辑
但跨链桥合约的deposit函数中并没有处理代币转移及校验,在转由deposiHandler执行deposit时,若data数据构造成满足tokenAddress==_wtokenAddress即可绕过处理