区块链作为一种分布式账本技术,可以被应用在金融、健康医疗、供应链、资产管理等诸多领域,但是受吞吐量、网络孤立性、伸缩性等因素的制约,目前的区块链项目并不能很好的服务于商业应用。在区块链所面临的诸多问题中,网络孤立性阻碍了不同区块链之间的协同 *** 作,极大程度的限制了区块链的发挥空间。
一、引言在前面的技术视点文章中,我们详细介绍了了本体跨链的核心模块,区块头同步合约和跨链管理合约。本体通过这两个模块实现跨链交易的验证。今天主要介绍一下应用跨链技术的 ONG(x) 合约、dApp 合约,以及信息状态同步者 Relayer。ONG(x) 合约和 dApp 合约都是实现跨链业务的应用合约,而 Relayer 则负责跨链信息的同步,并收取一定的矿工费。
其中,任何人无需注册都可以成为 Relayer,只要部署运行状态信息同步服务程序,并进行相关同步工作即可。
二、ONG(x)合约和 dApp 合约ONG(x)合约
ONG(x)合约是可以实现跨链资产转移的 ONG 资产合约。在原有 ONG 合约的基础上,为了实现跨链业务,ONG(x)合约新增了 Lock 和 Unlock 接口:
1. Lock 接口
在链上锁定资产。该接口调用跨链管理合约,该锁定资产的交易被跨链管理合约放入 merkle tree 中。
2. Unlock 接口
在链上解锁资产。该接口被跨链管理合约调用,跨链管理合约将通过验证的交易参数传给该接口,接口按照参数进行资产解锁。
dApp 合约
dApp 合约是用户自行实现的跨链应用合约,除了用户自己的业务逻辑外,需要跨链的业务需要若干组类似 Lock 和 Unlock 的接口对,通过跨链管理合约实现接口对的相互调用。
三、状态信息同步者 Relayer任何人无需注册都可以成为 Relayer,只要部署运行状态信息同步服务程序,持续监听跨链合约的跨链请求和周期切换区块,并进行跨链交易或者区块头的同步工作。同一笔跨链交易或者区块头只有一个 Relayer 能够成功提交。Relayer 成功提交跨链交易后,即可获取矿工费激励。Relayer 无需抵押押金,通过设置矿工费的阈值来决定是否同步矿工费比较低的交易。
Relayer 在跨链交互过程中需要同步两类关键信息:关键区块头和跨链交易。跨链交易的费用由用户支付给搬运数据的Relayer,关键区块头中有可能不包含跨链交易,所以有可能没有人支付搬运关键区块头的费用。但关键区块头对整个周期的跨链交易都产生影响,如果没有人同步关键区块头信息,则这个关键区块头后的整个周期的跨链交易也没有办法完成。因此,会从整个周期的跨链交易的费用中抽取一部分用于激励搬运关键区块头的 Relayer。
跨链交易的用户可以自己提交跨链交易信息,也可以在跨链交易中包含一笔矿工费用,用来委托Relayer 进行跨链交易同步。具体来说,当用户在源链上进行跨链交易时需要额外锁定一部分 ONG 或销毁一部分的 ONGx 作为矿工费,Relayer 在监听到这笔跨链请求后,会根据该矿工费用是否高于自己设定的阈值,来决定是否提交这笔跨链交易。
当高于自己设定的矿工费阈值时,Relayer 会提交该笔跨链交易到目标链,在跨链交易执行成功后,会在目标链上的释放对应 ONG 或增发对应的 ONGx 作为矿工费用,这笔ONG 或ONGx 会转给提交这笔跨链交易成功的 Relayer,用于激励 Relayer。
四、后记在以后的本体技术视点文章中,我们将给大家带来更多关于本体跨链设计的具体细节。目前,本体跨链测试网已经上线,也提供了详细的跨链使用教程和多链开发手册,希望广大技术爱好者来体验本体跨链测试网络。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)