区块链跨链的本质
把整个现实社会都搬到一个区块链上是不现实的,现实社会本身也是分产业分经济领域进行价值创造的,通过市场实现不同产业和不同经济领域的价值交换。每一个独立区块链维护了自己独立的价值经济体系,跨链区块链是连接独立区块链的中枢,承载了不同价值体系区块链价值交换的功能,商品要能实现交互,需要有价格,价格来源于商品自身的价值,取决于供求关系,而供求关系是靠市场搭建的,所以,为了实现不同区块链“商品”的价值交换,在跨链区块链上会出现各种价值交易市场,跨链区块链上每一个价值交易市场就是一个跨链合约服务。
价值不会凭空产生也不会凭空消失,跨链设计也必须遵从人类自古以来的经济规律。跨链的本质是价值等价交换,任何违背这个基本原则的设计最终都会失败。
区块链跨链架构模型
图2中独立区块链的架构模型已经在上文中说明了,所有独立区块链如果需要支持跨链价值转移或交换,就需要存在外链合约服务,外链合约服务同普通的合约服务没有本质的区别,也是一种合约服务规约,不同之处在于合约的制定者会提供一组公开声明的跨链交易公钥地址,需要进行跨链交易的主体可以把自己拥有的一定数量的价值体转移到跨链合约服务指定的公钥地址上,并指定跨链交易内容,如希望交换另一个区块链上一定数量的价值体,并把交换后的价值体转到自己在另一个区块链上的公钥地址上。
区块链跨链架构模型
这里假定存在两个独立区块链A和B,存在一个主体X和主体Y,他们都拥有两个链上的私钥地址,主体X是区块链A上的价值生产者,如农民生产粮食,主体Y是区块链B上的价值生产者,如工厂生产工业品,主体X希望购买区块链B上的产品或服务,如工业品,主体Y希望购买区块链A上的产品或服务,如粮食。
跨链区块链主要有两种类型的链组成,一种是主链,跨链主链只有一个,一种是适配子链,适配子链至少存在2个,由跨链主链连接各个适配子链,各个子链之间没有信任关系,而是通过主链进行信任的传递。适配子链和主链按照设定的协议进行交互,以达到信任传递和交易传递的目的。
跨链区块链本身也需要有同独立区块链一样的区块链平台服务,如合约合规、安全控制、链上共识、链服务管理、链上链外治理、开发运维,这些在上图都做了省略。对于链上共识,主链和子链需要采用比PoW更加高效的算法实现跨链交易交互,如采用BFT共识算法,目前两个跨链平台(Cosmos和Polkadot)设计都是采用PoS+BFT的混合共识算法。
跨链区块链本身也是个区块链,所以独立区块链所具有的业务合约能力也应具有,但基于跨链区块链构建的业务合约会支持更复杂的业务,实现同不同价值区块链的连接,进行价值交换。每一个跨链业务合约都会形成一个交易市场,不同区块链的不同价值体系在这个交易市场上获得各自的定价,并进行交易,极有可能会形成基于主链代币或者主权加密通货的各种区块链价值体的统一报价和交易市场。
更高级地通过跨链合约流程,可以实现所有区块链虚拟社会生产关系的组合,假设每个独立区块链是一个独立的经济领域,跨链合约流程就可以串接起独立的经济领域成为一个完整的产业链条。跨链区块链本身也是可以互联的,通过跨链区块链的连接,就串接起了工业、农业、服务业等各行各业,从而构成了整个社会的生产关系。
生产生活都关联到区块链虚拟社会上,基于区块链提供的合约服务以及基于区块链提供的机器驱动业务流程,结合IoT和人工智能,价值生产、转移和流通会更加快速便捷,人类的生产关系也会更加优化协调,生产力由此可以得到进一步解放。区块链和跨链将整个人类对等地关联在一起,去除了任何的信息不对称性和现实社会的各种屏障,体现了公平公正,个人主体是虚拟社会关系的参与者也是维护者也是受益者。
跨链价值等价交换过程
结合上节的跨链架构,我们对跨链价值交换过程进行说明。这里仅以物物交换市场为例,主体X是区块链A上的价值生产者,主体Y是区块链B上的价值生产者,主体X如果要获得区块链B上的价值体,就需要拿区块链A上的价值体通过跨链价值交换合约服务同主体Y实现等价的物物交换。
首先主体X需要加入A链上的外链合约服务,接受合约服务规定的合约规则和法律条款,主体X还需要加入某个跨链合约服务,如可以实现A↔B交易匹配的一个跨链合约服务,接收跨链交易市场的合约规则和法律条款。然后主体X需按照A链上的外链合约服务的合约规则,把自己拥有的一定数量的A链的价值体转移到外链合约服务指定的公钥地址上,并指定跨链交易内容,如希望交换另一个区块链B上设定数量的价值体,并把交换后的价值体转到自己在另一个区块链上的公钥地址。后续的交易过程如下:
入①基于LCV的外链交易感知
适配子链的轻客户端验证(LCV)会不断同步区块链A的区块头,其对于区块链A上的外链合约服务公开的公钥地址敏感,一旦发现存在公钥地址的交易,就认为存在跨链交易请求。
入②生成和打包跨链交易
由链适配代码将区块链A上主体X指定的跨链交易请求内容(用链A上一定数量的价值体兑换链B上一定数量的价值体到指定公钥地址上)生成一个子链交易,并且打包进子链区块。
入③提供子链存在跨链交易证明,发起主链跨链服务调用
链适配代码基于Merkle树给出一个跨链交易请求在子链上的存在性证明,并按照跨链协议,封装出发往主链的跨链服务调用。
入④执行主链跨链交易代码
主链的跨链服务总线,验证交易在子链上的存在性证明,分析主体X的跨链交易请求内容,将跨链服务调用路由给具体的跨链价值交换合约。同样过程,主体Y的跨链交易请求(用链B上一定数量的价值体兑换链A上一定数量的价值体到指定公钥地址上)也被发往相同的跨链价值交换合约。
入⑤产生交易日志,更新账本状态
跨链价值交换合约的代码实现,会进行所有的A↔B交易匹配,形成一个A链价值体同B链价值体的买卖市场深度,一旦可以匹配上主体X和主体Y的交易请求,就形成一个匹配交易,用以封装A链和B链价值体在主体X和Y之间达成交换的结果。跨链价值交换合约本质上就是一个场内交易所。
出①子链路由,提供主链存在跨链交易证明,向适配子链发起外链合约服务调用跨链价值交换合约实现代码,会提供一个交易主体X和Y的跨链匹配交易在主链上的存在性证明,分别向链A和链B的适配器子链发送转账指令交易,一个指示往A链Y主体指定的公钥地址转移一定数量的价值体,一个指示往B链的X主体指定的公钥地址转移一定数量的价值体。
出②生成和打包跨链交易
这两个适配子链分别将各自的转账指令交易记录日志,并打包进各自的子链区块。
出③发起外链合约服务调用
链适配代码向各自对应的独立区块链上的外链合约服务发起转账指令交易。A链的适配子链会向A链的外链合约服务发送一个转账交易,指示从合约的公开地址上往Y主体指定的公钥地址转移一定数量的价值体。B链的适配子链也会向B链的外链合约服务发送一个转账交易,指示从合约的公开地址上往X主体指定的公钥地址转移一定数量的价值体。
出④执行外链合约代码
A链的外链合约服务会执行合约代码,生成交易,把由合约控制的,转账指令要求的一定数量的价值体转移给Y主体指定的公钥地址。B链的外链合约服务会执行合约代码,生成交易,把由合约控制的转账指令要求的一定数量的价值体转移给X主体指定的公钥地址。
出⑤生成交易日志,更新账本状态
一旦交易被打包进区块,按照链的交易确认特性,最终主体X获得了B链的价值体控制权,主体Y获得了A链的价值体控制权。
跨链区块链也会提供用户UI界面和API接口,用户所有在跨链区块链合约服务上执行的交易都可以通过跨链用户界面和API接口获得当前的执行状态,即查看用户在交易所挂单状态和交易市场的买卖深度,甚至可以让用户基于私钥按照市场供求关系重新挂单。
跨链区块链可以提供基于独立区块链上的外链合约服务的抵押机制,在对应的适配子链上,以换取相同数量的抵押区块链的价值体幻象或筹码,业务主体拿抵押的子链上的价值体幻象参与主链的业务合约流程,这种跨链的生产关系,基于各个主体抵押的各自区块链上的价值体(也可以是现实世界价值锚定),配置生产资料,开展合约生产,最后分配生产产品价值。跨链区块链如果有自己内生的代币,也可以基于交易市场(合约)完成到内生代币的价值兑换,主体拿着跨链代币加入跨链合约流程或跨链合约服务的虚拟生产关系进行生产和价值交换。