这次要分享的文章是发表于 TIFS’21上的关于Blockchain间实现跨链交易的方法。作者是来自University of Science and Technology of China的Hangyu Tian
Enabling Cross-Chain Transactions: A Decentralized Cryptocurrency Exchange Protocol
Model framework
假设Litecoin中的Alice希望发送y个Bitcoin给在Bitcoin中的Bob。A首先在Litecoin上发送x个Litecoin给中间人C1。中间人C1在收到Litecoin后在Ethereum上发送等价值的ETH给中间人C2。在这时候,中间人C2在Bitcoin上发送y个Bitcoin给Bob。由此,作者实现了以Etherem作为桥梁在不同区块链间转移加密货币。为了激励用户参与跨链交易,中间人可以收取手续费。
由于发生在Bitcoin和Litecoin间的转账无法直接通过Ethereum中的智能合约进行验证。因此,为了在Ethereum上验证在其他区块链上的交易,作者提出了一种基于Proof of Work的委员会。委员会成员由未参与跨链的中间人通过解决在Ethereum上的智能合约提出的PoW问题选出。委员会成员负责监视其他区块链上发生的跨链转账交易,并将结果发送至Ethereum上的智能合约。
根据协议状态转换图,其跨链交易流程如下:
-
中间人C1,C2存储ETH在Ethereum的合约中。 -
A向中间人C1在Litecoin中的账户发送LTC。 -
委员会成员验证在Litecoin上A向C1的交易,并在Ethereum的合约中提交验证证明。 -
中间人C2向B在Bitcoin中发送BTC。 -
委员会成员验证在Bitcoin上C2向B的交易,并在Ethereum的合约中提交验证证明。 -
Ethereum上的合约将中间人C1存储的ETH发送给C2。
Evaluation
作者验证了其跨链交易验证时间随着委员会人数增长的变化。由图可见,随着委员会人数增长到100,其两笔交易的验证时间大约在1秒左右,远小于Ethereum的平均15秒出块时间。
作者又验证了当增加参与交易的用户数量时,每个额外用户的每个额外交易增加的合约的运行成本。红色条表示每个付款人与同一个收款人进行交易的情况,其中交易的数量等于参与者的数量。蓝色条表示每个付款人与每个收款人进行交易,其中交易数量是参与者数量的两倍。从图中得出,两种情况在误差范围内两种方法的时间成本一致。其验证时间仅受参与的用户数量影响,无论每个用户的交易数量如何。作者认为,每个参与用户所涉及的交易是合并的,因此其解决方案在大量交易存在的情况下保持高吞吐量。
Summary
-
作者实现了在基于现有区块链的条件下,实现跨越不同区块链进行转账。 -
所有的跨链交易行为都被记录在Ethereum之上。
原文始发于微信公众号(COMPASS Lab):[论文分享] A Decentralized Cryptocurrency Exchange Protocol