区块链作为当下最热门话题,不能否定区块链是一个杰作,但是并不完美。所以说区块链也会存在诸多问题,其中区块链之间互通性极大程度的限制了区块链的应用空间。
区块链跨链技术
不论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。
目前主流的跨链技术包括:
- 公证人机制(Notary schemes);
- 侧链/中继(Sidechains/relays);
- 哈希锁定(Hash-locking);
- 分布式私钥控制(Distributed private key control)。
早期跨链技术包括以瑞波和BTC Relay为代表,它们更多关注的是资产转移;
现有跨链技术以Polkadot和Cosmos为代表更多关注的是跨链基础设施;
新出现的FUSION实现了多币种智能合约,是一种很有应用价值的公有链,在其上可以产生丰富的的跨链金融应用。
当前两个区块链的货币之间的兑换有两种方式,一种是采用线下的方式,找到一个可信的有相反需求的其他买家,甲把A货币转给乙,乙把对应的B货币转给甲。
这样的办法比较低效,找到一个可信的对家很难,执行的风险也很大。
另外一种方式就是普遍采用的中心化的交易所,大家把各自的货币充值到交易所,交易所在它的系统里面记录每个人的余额,然后兑换就在交易所的平台上面进行,直到买家从交易所取出相应的货币。
中心化的交易平台的问题显而易见。在监管缺失的情况下,中心化交易所可能存在内幕交易,伪造交易,资金挪用等等。而且中心化的交易所很容易受到主权机构的控制。
这里通过公布,同时解锁两个交易,实现跨链交易最重要的原子性问题。
但是这个解决方案有几个问题:
- 需要跨链的每个链都支持闪电网络,也就是需要哈希锁和时间锁的功能。现有的链如果没有这个功能的话,需要进行硬分叉,很多情况下并不现实。
- 整个交易的过程是个交互手动的过程。用户乙必须等待甲的公布,之后要确保在对方网络中递交合适的信息。如果需要实现自动化的话,会比较麻烦,需要额外的基础设施支持,比如类似Cosmos的拜占庭容错hub支持。
墨客MOAC跨链解决方案
墨客采用系统特有的系统定时触发功能和子链的功能,完美解决了上述两个问题。
系统定时触发功能是设置在指定的未来区块位置执行某个交易。这个设置是100%会被执行。
墨客具体的跨链这样实现:
- 找到匹配交易:在墨客网甲从Am地址发送m个 MOAC:Am -> Bm : m, 另外一区块链网(例如以太坊)中乙从地址Be发n个Eth 到地址Ae,表示为( Am ->Bm : m ^ Be -> Ae : n )。
- 在墨客网络,甲创建一个哈希锁的系统定时触发交易T:Am ->Bm : m on Block#k。甲同时会把m MOAC发送到系统合约作为预备金。计算Hash(T)。
- 这个系统定时触发交易将在k block后执行这个交易。如果成功,Bm获得m MOAC,否则退回给Am。成功与否依赖于哈希锁是否被解锁:是否有可验证的以太坊交易Be->Ae : n eth,以及Hash(T) 标识。
- 乙看到系统定时触发交易T后,知道在k block后100%会执行,所以他可以很放心的发送交易Be->Ae : n eth, 同时将Hash(T)放入数据段。
- 乙在以太坊的交易确认后,监控子链将以太坊的交易信息作为参数调用系统合约,解开hash锁。
- 到k block之后,系统合约自动执行,完成Am->Bm : m。
这里,墨客区块链通过其他区块链的确认交易信息解锁墨客交易,实现原子操作。但是这里的巨大优越性在于,对其他区块链没有新的要求,只需要交易能附加数据信息,这个功能每个区块链都有。
因此,墨客跨链机制可以实现与所有的区块链的跨链操作,目前墨客系统通过子链来实现拜占庭容错的快速消息传递。
价值互联网如何能够称为“网”,而不是一组平行线,就需要各种跨链技术。
跨链交易只是对跨链最粗浅的要求,然而墨客采用系统特有的系统定时触发功能和子链的功能,完美解决跨链中存在问题,这是跨链技术的未来方向。