找回密码
 立即注册

扫一扫,登录网站

首页 百科 查看内容
  • 10550
  • 0
  • 分享到

OFGP:开源网关协议实现跨链价值流通

2018-11-1 10:26

来源: 蓝狐笔记

OFGP的基本跨链流程


要想理解OFGP的跨链协议,首先来看它的跨链基本流程。
 
OFGP协议负责主链和侧链之间的协议通信。它要实现把主链资产转移到侧链,在侧链上发币;也要实现把侧链资产回兑到主链。另外,还有很重要的一点就是,在双向锚定过程中保证资产安全和汇率合理。
 
OFGP开放联盟网关协议有两个关键角色:Signer、Watcher。
 
Signer主要负责资产从侧链转回主链的回兑交易签名,还有网关的共识协议,是开放式联盟网关的核心角色。Watcher则主要负责网关和链之间的交互,监听链上的交易信息,同时适配不同的主链和侧链。
 
具体流程来说,用户要完成一笔跨链交易,首先用户把主链资产发送到主链上的特定地址。该特定地址是多重签名地址,由去中心化网关生成。多重签名地址的好处是,可以保证资产被安全的锁定在该地址上。因为只有某一个或几个网关成员无法完成这笔资产的转账,根据多签算法而定,需要达到一定比例的相关成员签名才能解锁该资产。
 
一旦用户把主链资产发送到特定地址后,监听链上交易信息的watcher就会监控到该主链交易,然后它会把这笔交易的信息发送给Signer,信息包括了主链交易的tid、特定地址的address、交易金额、侧链相应的充值地址。
 
在收到信息之后,signer会通过tid来验证交易的真实性和准确性,一旦确定交易不会被撤销,signer会在联盟链上保存这笔跨链交易的信息。此外,signer还会向侧链发起请求,要求发币。这样完成了资产从主链向侧链转移的过程。
 
举个例子,代币从BCH转移到ETH的基本流程:首先BCH链上向特定的多签地址转入一定数量的BCH,然后相应的网关会到ETH链上的合约里面给特定账户进行充值一定数量的代币。仔细来说,leader(Braft算法的角色,后面会提及)创建ETH的交易输入,广播给网络中的所有节点,节点收到签名请求,对交易内容进行校验。如校验通过,则会调用合约接口,发起充值交易。节点签名后去ETH链上监听交易是否完成,如完成,则创建一笔网关内部交易,记录两条公链的交易信息。
 
那么,如果用户想把自己的资产从侧链转移到主链呢?用户首先需要在侧链发起回兑请求。发起回兑请求之后,会在侧链上完成燃烧代币的交易。这个时候watcher把监控到的信息发送给signer,signer会在侧链验证该交易是否真实和准确,在确定交易不会被撤销后,通过Braft共识算法来达成共识。如果共识达成,则signer会发起主链交易,解锁用户的部分代币。同时,Signer会在链上保存相关信息。
 
举个例子,从ETH把代币回兑到BCH的基本操作:首先在ETH合约上进行代币燃烧,相应的网关会在BCH上发起一笔从多签地址到用户地址的交易。具体来说,leader创建一个待签名的BCH交易,广播给网络中的其他节点,节点收到签名请求,对交易内容进行校验,如校验通过,则签名并把签名广播给网络中的其他节点。一旦,签名数达到要求,则发送交易到BCH链。同时,节点还从链上监听交易是否最终被确认,一旦交易确认,会创建一笔网关内部交易,记录两条公链的交易信息。
 
OFGP协议要求主链能够支持多重签名的地址或合约。比如btc、BCH等链是原生支持的,ETH等通过智能合约也可以实现多签的合约支持。对侧链的要求是,Signer能够控制发币和销毁代币的操作,为了保证资产安全,也需要加入多重签名的验证。

 (整体流程图)
 
总的来说,就是在主链上锁定一定数量的代币,然后根据锁定代币在侧链发行新的代币。反过来,就是侧链上进行回兑,销毁一定数量代币后,在主链上解锁相应数量的代币。这里涉及到的汇率,不管是从主链到侧链的发币,还是侧链回主链的回兑的汇率都会由去中心化的网关来确定。主链和侧链通过去中心化网关实现双向锚定。

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部