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