如今公链各显神通,建立了一个生态,也成为了一个个孤岛,为了实现资产顺利的使用流通,跨链就成为了一个必要的业务。
我们可以看到为了让链间资产互转,出现了非常多的跨链桥,以及跨链方案、协议等等。这些项目一般自带一个桥以及一个swap功能。
很有趣,这是最简单的功能,却因为业务需求的庞大快速发展。
今天我们就简单的讲述一套以桥、中继链的思路做跨链,最简单的跨链原理。了解了这个原理,大部分的跨链项目都可以以此分析。
异构链跨链解决方案中以中继链或者是桥为中心,其他区块链都可以加入,通过部署,具备智能合约的链之间可实现了跨链调用合约和资产互转,而无智能合约的链能实现资产互转。
金色财经行情播报 | BTC重回高位持续震荡整理:据火币行情显示,比特币本周五在美国公布非农业人口7月就业数据后,比特币出现了快速的回调行情,从11,750USDT一线快速下探至最低11,322.1USDT。周六上午在11,600USDT横盘整理后重新拉回上方11,750USDT一线。周末币价持续窄幅震荡,震荡区间在11,500-11,800USDT。日线级别行情窄幅震荡行情已经持续7天,上升形态趋势并没有减弱的迹象。截至10:00,火币平台的主流币的具体表现如下。[2020/8/10]
这一条中继链或桥的角色要求加入的链具备一些能力:
金色午报 | 6月11日午间重要动态一览:7:00-12:00关键词:BM、山西省、Facebook、比特大陆
1. 贵阳将分两期建成主权区块链基础设施示范工程项目
2. 媒体:詹克团再次对外发布一系列人事任免;
3. 山西省委书记:推动区块链等技术同步应用 提升和促进山西转型发展;
4. Facebook并未放松其加密政策 仍坚持屏蔽加密广告;
5. 百慕大交易所涉嫌大量侵吞用户资金疑似跑路;
6. 比特大陆:微信公众号6月10日发布内容虚假 重申从未刻制新公章;
7. 比特币者利用SpaceX视频已取价值近15万美元比特币;
8. 安全公司:2016年Bitfinex被黑地址多为社区网友推演分析;
9. BM回应EOSIO吞吐量过低质疑 称EOSIO规模化能力与使用方式无关。[2020/6/11]
实现一系列的接口,这些接口既可以用智能合约的方式来实现,也可以在底层直接实现。
分析 | 金色盘面:ETH短线承压 注意风控:金色盘面分析:ETH在日线发出底背离信号的同时,2小时出现顶背离现象,目前看形成顶背离的机会较大,而日线也在中轨承压,在这种周期不协调的情况下,我们建议投资者注意规避短线的调整压力,等待趋势明确后在择机进场。市场有风险,投资需谨慎。[2018/9/15]
链需要提交区块头格式,序列化、反序列化方式、签名验证方式,便于中继链可以解析并验证其区块头。
提交其账本或交易梅克尔树的构造和验证方式,使中继链可以验证其链上发生的真实交易。
要实现跨链,以以太坊举例,需要实现以下两个合约:区块头同步合约和跨链管理合约。
分析 | 金色盘面:BTC/USD2小时背离反弹中:金色盘面综合分析:BTC/USD2小时K线图,长阳之后回踩了支撑位6200,现在受到MA12的支撑,多头没有站稳6400,所以现在形势稍显被动,但背离反弹尚未结束,短线多空持平,再次放量会是方向性选择。压力位在6400附近,支撑位是MA12,跌破可以止盈。[2018/8/12]
区块头同步合约会在该链维护中继链的区块头,用于验证跨链交易。每条链上有且仅有一本跨链管理合约,它负责构造跨链交易,在该链的所有跨链业务合约都需要和管理合约交互,比如在以太坊上,区块头同步合约和管理合约都通过以太智能合约实现。
以下介绍每个合约需要实现的接口及其功能。
合约1:区块头同步合约:
SyncGenesisHeader接口:同步中继链的创世区块头,在合约初始化时被调用,只能被调用一次。存储并解析创世区块,取得中继链此时的共识节点列表。可以参考相关代码。
SyncBlockHeader接口:持续同步中继链的区块头,主要包括周期切换的关键区块头和跨链交易发生的区块头。relayer通过该接口同步中继链区块头。存储并解析区块头,如果发现共识节点变更,则存储中继链此时的共识节点列表。可以参考相关代码。
合约2:跨链管理合约:
CreateCrossChainTx接口:创建跨链交易,该接口主要用于业务智能合约在需要跨链功能时调用。构造一笔跨链交易,此交易具有唯一的自增ID,并将交易参数写入merkletree。
ProcessCrossChainTx接口:处理跨链交易,该接口用于该链接受来自其他链的跨链交易,由relayer同步跨链交易的merkleproof时调用。接口按照高度找到该跨链交易的merkleroot,验证该跨链交易的真实性,验证通过则解析跨链参数,调用目标链上的业务合约。
假设从A链跨链到链B,用户在链A发起跨链请求,调用了DApp的跨链接口,最终会在B链的DApp合约得到用户想要的结果。A链和B链实现了上文的两本合约及其接口,任何人都可以围绕跨链管理合约建立稳定可用的跨链DApp,分别在A链和B链部署业务合约,这些合约会组成一个完整的跨链DApp。
用户调用A链的业务合约,合约会进一步调用跨链管理合约,传递用户的跨链参数,跨链管理合约会创建跨链交易,随着A链出块,交易落账;
由于链与链之间是不会主动交换信息的,所以需要一个Relayer去传递信息,Relayer会把A链的区块头同步到中继链的区块头同步合约,然后从A链的存储中取出跨链管理合约返回的事件,其中包含用户的跨链参数,再获取跨链交易的MerkleProof,一并转发给中继链的跨链管理合约;
中继链的跨链管理合约会读取A链的区块头,验证跨链参数的Proof是否正确,验证通过后,会将B链需要的跨链信息以事件的形式返回;
B链的Relayer会将中继链区块头同步到B链的区块头同步合约,然后从中继链的账本中获取到B链的跨链参数和其MerkleProof,提交到B链的跨链管理合约;
链B的跨链管理合约验证跨链信息的正确性,然后调用信息里的目标合约,完成跨链合约的调用;
其中共有两个MerkleProof,第一个证明了来自A链跨链信息确实存在于A链,第二个则证明了跨链信息确实存在于中继链,如此便建立了跨链的信任机制。这就是跨链DApp的运行流程,所有的侧链仅需和中继链生态交互即可。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。