本文简要分析Bittorrent bridge的跨链原理
先说结论
- Bittorrent bridge是Polygon Pos bridge的fork。二者工作原理一致
- Bittorrent bridge目前支持TRON, ETH和BSC三条链跨链
- ERC20跨链的币种需要提前向官方申请mapping,地址:https://app.bt.io/mapping
用户视角
首先我们从用户视角观察BitTorrent Bridge的跨链流程。以TRON跨链到BSC为例,整个过程一共三条链参与:
- TRON链。from链
- BSC链。to链
- BTTC链(BitTorrent Chain)。中转链
整体token转移流程为:
TRON链->BTTC链->BSC链
一共需要发送三个独立的交易:
- 在TRON链上发送交易1,把token从TRON链转移到BTTC链
- 在BTTC链上发送交易2,把token从BTTC链转移到BSC链
- 在BSC链上发送交易3,在BSC链上领取token
对应跨链流程,BTTC Bridge提供了三种跨链模式:
- Classic Mode。在这种模式下,用户手工执行三个独立交易
- Fast Mod。在这种模式下,用户手工执行交易1和交易2。交易3由一个去中心化的Relayer服务执行,需要从用户的token中扣除对应的手续费。比如跨1000个TRON到BSC链,扣除Relayer的手续费后在BSC链上得到997个TRON
- Fast Mode + Gas Top-up。这种模式和Fast Mod基本一致。不同点在于,本模式下跨1000个TRON到BSC链,用户会在BSC链上得到996个TRON+1个BSC。即本模式会自动把用户的token转化一小部分为目标链的原生Token,便利用户后续使用(比如交gas费等)
跨链时间
Bittorrent bridge跨链时间比较久,按照官方文档,从ETH转入资产到BTTC得16~18分钟左右,从TRON,BSC到BTTC得7~8分钟左右
从BTTC转出到其他链得更久,按照官方文档转出一共有两个耗时:
- 45分钟~3个小时左右,从BTTC转出到目标链
- 5~30分钟,在目标链上领取对应Token。
大致总结为:
- 转入BTTC花费10~20分钟左右
- 转出BTTC花费1~4小时左右
实现原理
整体实现基本还是lock up & mint思路。
比如从BTTC跨到ETH,在BTTC上先锁定BTT_e代币,然后在ETH上mint对应的BTT代币(区别于BTT_e)。BTTC目前支持三条链互通:TRON, ETH和BSC,在BTTC上分别对应的后缀为:
with _t, _e and _b representing TRON, Ethereum and BSC respectively.
Bittorrent bridge整体实现是Polygon Pos bridge的fork。
BTTC Pos的三层架构(https://doc.bt.io/docs/basics/bttc-basics/bttc-pos-architecture):
- Staking smart contracts on TRON
- Delivery (Proof of Stake layer)
- Bttc (Block producer layer)
对应Polygon Pos的三层架构(https://wiki.polygon.technology/docs/pos/bor/):
- Staking smart contrancts on ETH
- Heimdall(Proof-of-Stake Verifier layer)
- Bor(Block Producer layer)
BTTC的代码仓库为:https://github.com/bttcprotocol。
以智能合约代码举例,明显看出BTTC是Polygon Pos bridge的fork:
BTTC bridge合约: https://github.com/bttcprotocol/contracts/tree/stake/contracts

Polygon Pos bridge合约: https://github.com/maticnetwork/contracts/tree/main/contracts

Ref
回复 agodelo 取消回复