LibraSwap介绍

上篇文章介绍Libra区块链后,本文我们将介绍LibraSwap,这是个实验性质的专案,旨在实作MVP来实现Libra与ETH之间的Swap互换。挑选这个专案的原因,一方面是为了学习Libra区块链,另一方面是我们对于以太坊区块链较为熟悉,但是考量目前Libra测试链上仅能收送交易,尚无法部署合约交易功能,所以这个专案我们将会实作单方向的Swap互换。
本专案将基于LoiLuu的文章—"BringingBitcointoEthereum",实现Libra与ETH的互换,想法是有人手上有Libra,但想透过他人来交换其手上的ETH。
假设Libra:ETH=1:1
A有1Libra
B有1ETH
A与B要做链上的atomicswapAB
最终:
A会拿到1ETH
B会拿到1Libra
技术上,我们可以透过两个支援智能合约的区块链来实现代币间的原子交换(AtomicSwap)。但由于目前在Libra上还无法部署合约交易,所以在实作上会有些简化。
正常的流程如下:
标准流程
但由于Libra目前尚不能在链上与合约互动,因此我们修改了流程,我们将步骤3–5简化成,当A执行Libra交易到B的地址后,再由B将秘密交给A领取ETH
以下demo的原始码均有opensource—"Libraswap"
步骤一
部署智能合约。
1.deploycontract
步骤二
B产生一组密码及密码锁。
步骤三
B初始化swap智能合约,指定收款方为A,并且将1ETH存入合约当中。
步骤四
A传送1个LIBtoken给B。
步骤五
B验证Libra交易。如果验证成功,B将密码私底下交给A。
步骤六
A透过B的密码至合约取款。
在上述的文章中,我们实现了一个LibraSwapMVP功能,透过简化Libra锁定交易的流程,以及在Ethereum上的HashTimeLockedContract合约。但事实上,这样的交易对于A是有风险的,因为他必须信任B会在A转帐后,并给予秘密,在这样的场景中,B更像是一个Trustedcustodian。
为了实现使用者与无需信任的监护人(TrustlessCustodian)之间的代币交换,我们需要智能合约来验证Libra上的交易,我们将在下篇文章介绍TrustlessCustodian的设计。

相关文章
