1. Hi区块链首页
  2. 资讯
  3. 技术指南

本体技术视点 | 如何在跨链中轻松实现多链管理?

详细分析多链管理合约的主要功能和具体实现。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

题记:区块链作为一种分布式账本技术,可以被应用在金融、健康医疗、供应链、资产管理等诸多领域,但是受吞吐量、网络孤立性、伸缩性等因素的制约,目前的区块链项目并不能很好地服务于商业应用。在区块链所面临的诸多问题中,网络孤立性阻碍了不同区块链之间的协同操作,极大程度的限制了区块链的发挥空间。

一、引言

上次我们讲到了实现本体跨链的六个主要模块,分别为:多链管理合约、区块头同步合约、跨链管理合约、ONG(x) 合约、dApp 合约和信息状态同步者 Relayer。

今天为大家详细分析多链管理合约的主要功能和具体实现。

二、多链管理合约

多链管理合约负责管理所有侧链,包括侧链索引、资金状态和验证人质押状态等信息。主要实现以下功能:

 2.1 侧链注册 

侧链注册到主链需要使用 ONT ID 完成 KYC 认证,并提交创世块信息等基本信息到主链。同时,侧链需要在主链上抵押一定的 ONG 作为保证金。该保证金由侧链初始验证人共同抵押,侧链验证人各自抵押的 ONG 量由侧链验证人协商确定。在提交注册信息前,若抵押量不足,则会导致注册失败。若侧链存在恶意行为(例如,侧链验证人恶意增发侧链上的 ONGx 资产),则会扣除保证金作为惩罚。主链治理委员会审核侧链提交的基本信息,并在审核通过后根据保证金数量为侧链分配一个资金池,用于管理该链与其它链交互所用的资产。

可以看到,侧链的 ONGx 资产总量取决于其在主链中资金池的大小。某个侧链一旦作恶,那么该链在主链上质押的保证金可以用来偿付用户。因此,通常情况下,为了保证足够的安全性,侧链资金池的容量应该小于等于其抵押的保证金。

 2.2 验证人信息变更

若某条侧链的验证人信息发生变更,那么需要新的验证人在变更前先去主链先抵押足够的 ONG,并要求其抵押量不能低于旧的验证人。当信息状态同步程序 Relayer  将包含新的共识周期验证人区块头提交到主链时,主链会验证新验证人总抵押是否足够。若不足,则该区块头同步将会被拒绝。

旧的侧链验证人抵押的 ONG 将会在接下来两次验证人信息变更后被解锁。

 2.3 跨链资产兑换 

侧链注册完成后,用户可以将其在主链上的 ONG 锁定在某条侧链注册在主链的资金池中,换取该侧链上相应的资产。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

图:跨链资产兑换

用户在某条侧链注册在主链上的资金池中锁定ONG 后,主链会生成相应 IOU 信息,若主链资金池被充满则锁定失败。若主链锁定成功,Relayer 或用户可基于主链生成的 IOU 信息在侧链释放对应比例的ONGx。反之,用户在侧链中销毁 ONGx,可根据侧链生成的 IOU 信息在主链资金池中释放对应的 ONG。

2.4 侧链资产动态管理

若侧链想扩大在主链中的资金池容量,则侧链可增加自己在主链中的保证金,并向主链提交申请。若审核通过,侧链在主链上的资金池容量会被扩大,侧链的资产供应量后续也会相应的增加。

类似的情况是,侧链想减小在主链中的资金池容量,则侧链需要先向子链提交申请。若审核通过,侧链在主链上的资金池容量会减少,侧链的资产容量也会相应减少。值得注意的是,侧链的资金池容量不得大于侧链验证人的保证金总量,并且不允许小于当前所有用户锁定的 ONG 总量。

 2.5 侧链注销 

若侧链需要注销退出,则需要向主链提交注销申请,并等待一段时间的挑战期。在挑战期内,用户可自主地将侧链资产兑回主链。挑战期结束后,若该侧链上还有没被兑回的 ONGx,则这部分的 ONGx 后续不能再被转回主链。

三、后记

在以后的本体技术视点文章中,我们将为大家带来更多关于本体跨链设计的具体细节。目前,本体跨链测试网已经上线,也提供了详细的跨链使用教程和多链开发手册,希望广大技术爱好者来体验本体跨链测试网络。

多链开发手册

https://github.com/siovanus/documentation/blob/master/multichain/Testnet_Dev_Manual.md

跨链使用教程:

https://github.com/siovanus/documentation/blob/master/multichain/Tutorial_Case.md

声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。