最近有个朋友问我有没有写过跨链的文章,我想了想,好像经常听到跨链这个词,也大概知道是什么意思,但是还真没有写过,所以今天跟大家白话一下到底什么是跨链。
大家都知道的嘛,天宇经常去日本,说是去找朋友,然后每次回来还带回来一些光盘。虽然员外不知道他究竟做什么去了,但是有一件事肯定是知道的,那就是他去了日本,如果要消费的话,是一定要用日元的。那么他是需要把人民币兑换成日元的,然后才能自由的在日本消费,享受各种服务。
在这里,人民币是中国发行的货币,在中国可以无障碍流通,在其他国家就不一样了。同理,日元也是日本发行的货币,在其他国家更难流通。因此日元无法直接变成人民币,人民币也无法直接变成日元。如果天宇想用人民币换成日元,那么就需要有人愿意把手中的日元兑换成人民币,然后天宇才能成功的兑换到日元,去日本潇洒。
这个过程就是人民币与日元相互兑换的过程,就是一个跨链的过程。如果天宇找死柯侠想兑换10000人民币的日元,那么拆分到每一个步骤,会是这样:
天宇在中国银行账户中有10000元人民币,死柯侠有0元人民币;
死柯侠在日本银行账户中有166589日元,天宇有0日元;
然后天宇给死柯侠中国银行账户中转了10000人民币;
同时死柯侠也给天宇的日本银行账户转了166589日元;
这时死柯侠的中国银行账户上就多了10000人民币;
天宇的日本银行账户上也多了166589日元;
到这儿就完成了两个账户的交易。
上面这个例子中,两种不同的货币账户对应着两条公链,两种货币对应着两种公链上面发行的代币,这两条链之间是没有关联的,所以这两种货币是无法直接在这两条链上面同时流通的。但是用户可以像天宇和死柯侠那样,用这条链上的资产兑换等值的另一种资产。
但是在现实生活中,用户不可能只跟熟悉的人来做交易,所以这就会出现两种可能的问题:
用户怎么能方便的找出那个愿意跟自己兑换代币的人;
交易肯定是无法保证当面交易的,那么就存在信任的问题,我给你转了代币,你不给我转我应得的代币,我该怎么办?
如果你想用自己的BTC换一部分ETH,你会怎么做?没错,去交易所做币币交易。在交易所的交易流程是这样的:
你把自己的BTC交给交易所;
另一方把自己的ETH也交给交易所;
交易所充当一个中间方;
当你与另一方的报价相匹配时,交易所会自动撮合这笔交易;
你的账户中会收到相应ETH的转入;
另一方的账户中也会收到相应BTC的转入;
该笔币币交易完成。
但是这样的模式,难免会有人不放心,如果我的资产比较少,交易所还不会黑我的钱,如果是巨额交易呢?这个谁能保证交易所不动心呢?再说了,近年来交易所被黑客攻击的事情也是一桩接着一桩,就算我相信交易所,我也会担心藏在黑暗深处的黑客呀。猛地一个突然袭击,我就可能回到解放前了。
所以基于以上这些原因,一种可以让多个公链来控制同一个用户账户的跨链技术被提了出来。那么问题又来了,这个技术怎么实现的!
员外脑仁疼,下篇再聊吧!