LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 金色观察|微众Wecross技术白皮书解读

金色观察|微众Wecross技术白皮书解读

2020-02-21 金色财经 月儿 来源:区块链网络

2月19日,微众银行开源区块链跨链协作平台WeCross。作为区块链跨链协作平台,WeCross致力于促进跨行业、机构和地域的跨区块链信任传递和商业合作。

同日,发布《WeCross技术白皮书》,详细介绍了整体架构、核心技术优势以及未来应用场景。这篇文章里我会用尽可能通俗易懂的说法进行解读,肯定不够严谨,但是希望有助于大家了解Wecross的设计思路。

其他推荐阅读:《金色观察 | 百度Xuperchain白皮书解读》

区块链解决的是“数据孤岛”的问题,将行业内或者行业与行业之间的数据都传输到区块链上,透明公开的数据和信息能够让事务处理进程更加便捷,但是这就出现一个新的难题:不同的区块链之间该如何打通?尤其是已经成熟但是结构各不相同的区块链之间如何交互?

Wecross的整体架构分为三个层级:数据层,交互层和事务层。

数据层

数据层的核心就是:将不同区块链中的内容,以统一的模板进行归纳总结,找出“最大公约数”,使跨链调用时方便查找。

白皮书中以两个区块链平台作为例子,Hyperledger Fabric,这是由信息技术巨头IBM公司推出的一款联盟链;FISCO BCOS,这是一个金融版区块链底层平台。

区块链上的内容无非两种:数据和智能合约。以我们比较熟悉的以太坊区块链系统为例,数据就是其中的ETH转账信息,智能合约就是可以自动执行的合同。比如我在以太坊上写了“2月21日上午八点,将我以太坊钱包中的一个ETH转给小美”的代码,那么一觉醒来,现在这个ETH应该已经躺在小美的钱包里了。

Hyperledger Fabric和FISCO BCOS的系统虽然有差别,但是他们俩在数据结构和智能合约调用中有很多的共同点,这就是二者能够形成统一范式的基础,统一后的内容被称为“资源”。

资源已经统一了,再宏观一点把视线移到由资源组成的区块,和由区块组成的链。为了能在对接时更加方便,Wecross方案干脆把不同的链都映射为统一格式,由此形成“抽象区块”和“抽象链”,这就是抽象的“区块链结构”。

Wecross还会记录每一个信息的地址,就像走方阵的时候确认一个人的位置,常用“第几方阵-第几行-从左往右数第几个”,现在在跨链中可以直接用[跨链分区].[业务链].[区块链资源]进行定位。

这是数据层中的另一个重要部分:寻址协议。按照刚才的模板套一下,在上图中通过[支付分区].[结算链].[结算资源]即可清楚找到资源位置。

资源、区块链结构和寻址协议,这就是数据层的基本组成部分。

交互层

跨链的核心就是交互层,我会向大家描述一个用户调取区块链中资源的过程。

先介绍两个概念:适配器和路由。适配器是区块链的一个接口,用户可以通过适配器访问区块链资源;路由是适配器的载体,一个路由可以配置多各区块链的适配器。

作为存证链A的用户-甲,我通过适配器接入到存证分区当中,使用上述讲过的寻址协议[存证分区].[存证链A].[资产存证资源],查到了所需数据。

作为存证链A的用户-甲,我现在需要跨链访问存证链B中的结算存证资源,就需要路由之间通过 P2P 网络协议相连,然后自动同步交换各自的区块链适配器和资源信息,随后进入存证分区按照寻址协议,查找到区块链B中的资源。

作为存证链A的用户-甲,我需要跨链访问结算分区中,区块链C的资源。这是复杂业务场景中多种业务,流程与上边的第二步大致相同,只是至此不是进存证分区,而是进入结算分区当中找到区块链C。

这个过程虽然看着轻松,但是如何在各家区块链平台的内部架构、网络模型和共识逻辑都有差异的情况下,实现不同的适配器之间能够同步信息,能够适配对接,这是一项技术活。

Wecross目前能做到的就是只需要获取“资源”和“信息”两个接口,就能在不对原有区块链做渗透修改的基础上接入。

“资源”就是我们上述所讲的统一的内容,“信息”是区块和区块高度等区块链关键信息。

还有重要的一点是验证对方信息真实与否,这是为后边的事务层做铺垫,如果对方伪造信息,在具体执行事务的时候,我方会因为受骗遭受财产损失。

方法是默克尔树。

在每一个区块的区块头上,都记录这这个区块的默克尔根。

内容A的哈希值是H_A,B的哈希值是H_B,H_A和H_B的哈希值就是H_AB。区块链的所有数据都是像这样形成一棵默克尔树,不断往上计算哈希值,直到最后形成一个默克尔根。

鉴于我是要跨链调用某一个数据,另一个区块链不会把自己所有的信息都展示给我,这个时候我无需查看所有的数据,如果我想要知道A是不是真的在这个区块链上,只需要知道H_CD、H_B、默克尔根和A,通过自己一步步哈希计算,算出最后默克尔树的结果与给定的默克尔根一样就可以了。

如果我不能确认A在对方的区块链里,万一对方伪造资产骗我钱财,岂不可怕?

事务层

这一层的核心是:在具体场景中跨链调用信息或处理事务时,保障双方同时成功/失败。

在具体场景中,一旦跨链出现问题就是真金白银的损失,作为信任的机器,区块链用共识机制维系着自己的权威,那么作为信任机器的网络,跨链机制应该通过技术手段,保障过程可靠。

区块链上的交易不要有间隔,要做就一起做,不做大家就都不做。常用的是哈希时间锁定合约和两阶段提交协议。

哈希时间锁定合约是一种十分保险的方法,但是通过下图大家也能看出来,流程较复杂冗长,所以大多数情况下,人们还是偏爱两阶段提交协议。

两阶段提交协议就是有一个协调者,向全体参与事务的资源发起请求,任何一个资源返回失败,这次事务就取消。

过程确实非常简单,但是大家可能也注意到一个敏感点“协调者”。一旦区块链系统中出现协调者这个角色,往往给人的第一反应:中心化,作恶,危险等。确实如果在事务中协调者受到攻击,接下来的进程就会受到阻碍。

Wecross建立了一条治理链,在连接段事务过程中,事务的状态都记录在治理链上,如果协调者出现问题,那么其他的协调者就会从治理链中知晓事务的状态,继续处理。

这个治理链,妙就妙在治理链可以跨越各个分区,然后自己形成一个治理分区。每个分区里的用户权限、机构准入、监管机构监管等,都可以在治理链上进行设定。

尾声:白皮书才刚刚出来,所以具体的应用实例需要等一段时间才会有。

Wecross走出了和百度Xuperchain不同的路子。我曾近担心所有的巨头会不会都一股脑去做BAAS,搭建可插拔的区块链开发者系统,不仅会导致同质化严重,而且也忽视了其他方面的进展,现在看来,是我眼光狭窄了。

—-

编译者/作者:金色财经 月儿

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...