把整个现实社会都搬到一个区块链上是不现实的,现实社会本身也是分产业分经济公主鞋进行价值创造的,通过市场实现不同产业和不同经济领域的价值交换。每一个独立区块链维护了自己独立的价值经济体系,跨链区块链是连接独立区块链的中枢,承载了不同价值体系区块链价值交换的功能,商品要能实现交互,需要有价格,价格来源于商品自身的价值,取决于供求关系,而供求关系是靠市场搭建的,所以,为了实现不同区块链『商品』的价值交换,在跨链区块链上会出现各种价值交易市场,跨链区块链上每一个价值交易市场就是一个跨链合约服务。价值不会凭空产生也不会凭空消失,跨链设计也必须遵从人类自古以来的经济规律。跨链的本质是价值的交换,任何违背这个基本原则的设计最终都会失败。
区块链跨链架构模型所有独立区块链如果需要支持跨链价值转移或交换,就需要存在外链合约服务,外链合约服务同普通 的合约服务没有本质的区别,也是一种合约服务规约,不同之处在于合约的制定者会提供一组公开声明的跨链交易公钥地址,需要进行跨链交易的主体可以把自己拥有的一定数量的价值体转移到跨链合约服务指定的公钥地址上,并指定跨链交易内容,如希望交换另一个区块链上一定数量的价值体,并把交换后的价值体转到自己在另一个区块链上公钥地址上。
这里假定存在两个独立区块链 A 和 B, 存在主体 X 和主体 Y,他们都拥有两个链上的私钥地址,主体 X 是区块链 A 上的价值生产者,如农民生产粮食,主体 Y 是区块链 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)会不断同步区块链 A 的区块头,其对于区块链 A 上的外链合约服务公开的公钥地址敏感,一旦发现存在在公钥地址的交易,就认为存在在跨链交易请求。
由链适配代码将区块链 A 上的主体 X 指定的跨链交易请求内容(用链 A 上一定数量的价值体兑换链 B 上一定数量的价值体到指定公钥地址上)生成一个子链交易,并且打包子链区块。
- 入 ③ 提供子链存在跨链交易证明,发起主链跨链服务调用
链适配代码基于 Merkle 树给出一个跨链交易请求在子链上的存在性证明,并按照跨链协议,封装出发往主链的跨链服务调用。
主链的跨链服务总线,验证交易 在子链上的存在性证明,分析主体 X 的跨链交易请求内容,将跨链服务调用路由给具体的跨链价值交换合约。同样过程主体 Y 的跨链交易请求(用链 B 上还不一定数量的价值体到指定公钥地址上)也被发往相同的跨链何人交换合约。
跨链价值交换合约的代码实现,会进行所有的 A <-> B 交易匹配,形成一个 A 链价值体同 B 链价值体的买卖市场深度,一旦可以匹配上主体 X 和主体 Y 的交易请求,就形成一个匹配交易,用以封装 A 链和 B 链价值体在主体 X 和 Y 之间达成交换的结果。跨链价值交换合约本质上就是一个场内交易所。
- 出 ① 子链路由,提供主链存在跨链交易 证明,向适配子链发起外链合约服务调用
跨链价值交换合约实现代码,会提供一个交易主体 X 和 Y 的跨链匹配交易在主链上的存在性证明,分别向链 A 和链 B 的适配器子链发送转账指令交易 ,一个指示往 A 链 Y 主体指定的公钥地址转移一定数量的价值体,一个指示往 B 链的 X 主体指定的公钥地址转移一定数量的价值体。
这两个适配子链分别将各自的转账指令交易记录日志,并抢红包进各自的子链区块。
链适配代码向各自对应的独立区块链上的外链合约服务发起转账指令交易。 A 链的适配子链会向 A 链的外链合约服务发送一个转账交易 , A 链的适配子链会向 A 链的外链合约服务发送一个转账交易。 A 链的适配子链会向 A 链的外链合约服务发送一个转账交易 ,指示从合约的公开地址上往 Y 主体指定的公钥地址转移一定数量的价值体。B 链的适配子链也会向 B 链的外链合约服务发送一个转账交易, 指示从合约的公开地址上往 X 主体指定的公钥地址转移一定数量的价值体。
A 链的外链合约服务会执行合约代码,生成交易,把由合约控制的,转账指令要求的一定数量的价值体转移给 Y 主体指定的公钥地址。 B 链的外链合约服务会执行合约代码,生成交易,把由合约控制 的转账指令要求的一定数量的价值体转移给 X 主体指定的公钥地址。
一旦交易被打包进区块,按照链的交易确认特性,最终主体 X 获得了 B 链的价值控制权,主体 Y 获得了 A 链的价值体控制权。
跨链区块链也会提供用户 UI 界面和 API 接口,用户所有在跨链区块链合约服务上执行的交易都可以通过跨链用户界面和 API 接口获得当前的执行状态,即查看用户在交易所挂单状态和交易市场的买卖深度,甚至可以让用户基于私钥按照市场供求关系重新挂单。跨链区块链可以提供基于独立区块链上的外链合约服务的抵押机制,在对应的适配子链上,以换取相同数量的抵押区块链 的价值体幻象或筹码,业务主体拿抵押的子链上的价值体幻象参与主链的业务合约流程,这种跨链的生产关系,基于各个主体抵押的各自区块链上的价值体(也可以是现实世界价值锚定),配置生产资料,开展合约生产,最后分配生产产品价值。跨链区块链如果有自己内生的代币,也可以基于交易市场(合约)完成到内生的代币的价值兑换,主体拿着跨链代币加入跨链合约流程或跨链合约服务的虚拟生产关系进行生产和价值交换。