从区块链应用的架构看跨链

随着区块链行业逐渐在各行各业落地,区块链的应用百花齐放。伴随着区块链应用生态的壮大,越来越多的应用出现了和其他区块链应用实现交互、建立关联的需求。“多链成网”已经成为区块链行业发展的一个趋势,随之而来跨链技术成为区块链行业新的技术爆发点,各大区块链厂商都推出了各自的跨链解决方案或跨链产品。
但是对于区块链应用,尤其是联盟链的区块链应用,跨链并不是一个即开即用的基础产品。对于不同类型的区块链应用来说,想要实现跨链必须具体情况具体分析。
我们首先看一下公有链领域的情况,在公有链领域中,目前最主要的应用就是各种代币。公有链领域的跨链,绝大多数情况下,做的都是“价值”的流动。在公有链中,跨链往往提供的是各条链的基础代币的兑换服务。一条区块链就是一个独立的账本,两条不同的链,就是两个不同的独立的账本,两个账本是没有关联的。本质上价值是没有办法在账本间转移的,但是对于具体的某个用户,用户在一条区块链上存储的价值,是能够变成另一条链上的价值,这就是价值的流通。
具体做法类似于我们现实世界上的换汇:人民币是一个独立的货币,美元是另一个独立的货币,人民币无法直接变成美元,美元也无法直接变成人民币。因此,美元无法直接进入人民币账本,人民币也无法直接进入美元账本。需要有人愿意买入人民币/美元,卖出美元/人民币,才能完成货币的兑换,实现价值的跨账本流动。
举个具体的例子:Alice有100美元,但现在她来到了中国,需要使用人民币进行交易。于是她必须找到愿意和她兑换外币的人,例如Bob,Alice将100美元卖给Bob,Bob收到了Alice给他的100美元,给了Alice 698人民币。
从账本上看,整个外币兑换的过程是这样子的。首先Alice在美元的账本上有100美元,Bob在美元的账本上有0美元;Alice在人民币账本上有0元,Bob在人民币账本上有698元。然后Alice在美元的账本上转账给Bob 100美元,Bob在人民币的账本上转账给Alice 698元人民币。于是,Alice原本在美元账本上的账户中的100美元的价值就转移到了Alice在人民币账本上的账户中,体现为698元人民币。在这个过程中,Bob在人民币账本上的698元人民币的价值就转移到了Bob在美元账本上的账户中,体现为了100美元。整个兑换过程中,在两个账本上同时发生了转账交易。

在整个兑换的过程中,人民币账本上的人民币总数没有变化,仍是698元;美元账本上的美元总数也没有变化,仍是100美元。变化的是两个账本上货币的持有人。

公有链上的基本代币跨链,本质上和货币兑换是一样的。跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。
那么,上述过程中,跨链技术提供了什么呢?跨链技术除了提供一个能够同时操作两条链的基础通讯平台外(基础设施层),还提供了一系列技术上的保障,能够帮助用户确保在兑换过程不会出现风险(具体应用层)。
我们从应用架构的角度来看这个过程,就会发现,跨链能够在公有链基础代币领域,做到即开即用,是因为公有链代币应用的所有业务逻辑都是运行在区块链上的。
对于联盟链上的区块链应用,情况却有很大的不同。大多数基于联盟链的区块链应用,业务逻辑往往是分离的,上层应用系统和底层区块链系统共同构成了整个区块链应用。在这种情况下,跨链仅仅能解决基础设施层的互通,很难解决上层业务逻辑的交互。我们需要针对具体的区块链应用,设计不同的跨链方案,来解决业务逻辑的交互问题。
举个具体的例子:应收账款流转是目前基于区块链的供应链金融领域常见的一种应用,基于区块链的资产证券化(ABS)也是一种常见的融资手段。那么,能否把应收账款流转链上面的资产——应收账款——跨链到资产证券化的链上,实现应收账款的ABS融资呢?
应收账款链上,通常会把一笔应收账款看做是一个Token(通证),利用Token模型,让其在链上流转。资产证券化的链上,也同样是采用Token模型来做。从技术角度,把应收账款链上的Token锁定到ABS链上某个资产发行方(证券公司)在应收账款链上的账户上,然后让该资产发行方在ABS链上发行一个资产进行证券化,是一个很容易的事情。
但是问题在于,Token对应的价值进行了跨链,这个业务就能够做起来了吗?显然不行。在ABS链上发行证券,本质上是发行方利用其自身的信用对资产进行背书的。所以,仅仅把Token对应的价值转移到发行方,发行方是不敢直接发行证券的,他必须对这个资产进行审核,确保其符合进入资产池的要求,才能去发行证券。
从这个例子上,我们可以看出,技术上,跨链能够解决价值的流动(基础设施层),然而业务上,却需要额外的很多信息,才能把这个应收账款进行证券化(具体应用层)。这种情况下需要的信息,往往并不是应收账款链上已有的信息。还需要很多链外的信息,比如应收账款链上的很多参与方提供大量的额外的财务数据、信用数据等数据类信息和承兑保证等证明类信息。
从这个例子上,我们还可以得到另一个结论:依托中继链或者其他技术的多主体背书跨链方式,并不一定比单主体背书跨链方式更可信。在本例中,实际上我们只需要发行方从应收账款链上把Token锁定,然后在ABS链上发行一个新的Token就可以了。因为业务上,完全是他自己的信用在起作用,增加更多的跨链背书方,并不能提升业务上的可信程度。
所以,在跨链时,选择哪种技术,也是要结合应用具体问题具体分析。