LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 互操作性 2.0 来了,开启 Web3.0 时代的第一把钥匙!

互操作性 2.0 来了,开启 Web3.0 时代的第一把钥匙!

2020-11-11 币圈小雪 来源:区块链网络

Web3.0要实现的是所有人对自己在数字世界的数据,身份,资产等所有个人价值的掌控权,最终实现价值互联网。

如果要对这种权利加上一个期限,希望是一万年;如果要对她的用户加上一个范围呢?当然是整个数字世界,不仅是区块链的世界,也包括互联网1.0,互联网2.0世界的人们。


我们在前面的文章中分析过了,区块链世界已经实现了用户对自己数据的所有权掌控,以公私钥进行数字签名的方式。而要让传统互联网也实现这个目标,还需要让区块链的协议慢慢渗透进互联网的世界,让区块链的信用层取代互联网的HTTP协议,如果不能取代也至少要成为Http一个最重要的补充协议。

虽然Web3.0的世界很美好,用户可以对自己的价值有更好地自主权,但是她的进入门槛却让很多人高不可攀,用过区块链入口(各种公链钱包)的同学应该都会有很深的记忆。没有使用过区块链的新用户要学会和理解这一套操作可以说难度真不小。

因此区块链协议要想实现这种替换或者补充应该是通过在底层的设计来实现,而不是让用户在表层的应用中有过多的操作,更不要改变用户对现有App或者其他互联网入口(比如浏览器,邮箱等)的使用习惯,最大限度地降低新用户的操作门槛,才能更好地将互联网用户无缝迎接进入Web3.0的世界。

开启Web3.0世界的第一把钥匙

于是这个问题就变成了区块链的协议如何能够更好地适应互联网现有的应用,或者说如何才能对新应用的开发更加友好。

要实现这个目标肯定会要求非常多的技术标准要跟互联网现有的技术标准进行适配,但是我们能够最直观感知到的可能就是,如何把互联网现有的用户账号直接接入到区块链的系统,让用户可以通过现有的入口,用现有的账号进入区块链中,去操作区块链上的应用。

比如用互联网的操作系统,浏览器,APP,邮箱,用自己熟悉的账号和密码在无明显感知的情况下就能登录区块链上的DEFI或者其他应用。而不是让他们去学习复杂难懂的区块链钱包操作和公私钥账号系统。

可见将传统互联网世界的用户账号系统无缝接入区块链的系统就成了开启Web3.0时代的第一把钥匙。

我们在之前的一篇文章《深度解读Nervos意图互联网几十亿用户的野心》中讲过,区块链验证和解锁一笔资产,核心是看能否识别和验证发起转账那条链上所使用的加密算法。

同样的道理,区块链对用户账号系统登陆的验证,最核心的难点也在于对加密算法的识别和验证。

那么区块链要实现来自互联网入口的登陆验证,最关键的问题也在于区块链的底层设施有没有可能去识别和验证互联网所使用的密码学算法。

所以要实现Web3.0的目标,第一把钥匙的关键是如何才能让区块链实现对互联网密码算法的识别和验证。

这种互操作性已经超越了区块链的范围,是一次与更大范围那个世界的握手。

可见,Web3.0要求的是一种通用的,既能识别和验证不同区块链的密码算法,又能识别互联网密码算法的互操作性。

这个目标看起来有点艰巨,已经超越了我们对跨链的理解,更超出了目前区块链跨链的现状。

那我们现在的跨链状况是怎样的?

其实我们已经实现了BTC与以太坊,BTC和ETH与其他一些链的资产跨链。现在跨到以太坊上面的BTC就有WBTC, HBTC,IMBTC, RENBTC, 等等多种形式,也有跨到EOS上的BTC,ETH,比如PBTC,PETH。

另外我们还有波卡, Cosmos等各种跨链项目,准备把比特币,以太坊,以及其他公链上的资产,甚至是生态跨到自己的链上去。

有没有发现,这些跨到其他链上的BTC, ETH,或者其他通证资产,都有这样几个特征。一是它们都有了新的名称标识,二是它们会有一个新的钱包地址,当然也对应着新的公私钥。比如跨到以太坊的BTC被称为WBTC, RENBTC等等,使用的是OX开头的ERC20地址,而跨到EOS上去又会使用12位自定义地址。。。

这种情况对应着的背后逻辑是,我们需要在原有链和目标链(跨入的新链)上都申请注册,分别拥有一套账号(钱包地址),并分别记录下对应的私钥和密码。如果我的比特币要跨入以太坊和EOS两个不同的链,我就需要重复操作两次基本上同样的过程,有可能还需要下载两个不同的钱包DAPP。


这一长串的操作如果要让你老爸老妈来弄,估计两下就被搞晕了。其实即使对长期呆在币圈的人来说,都有很高的门槛,包括信任成本。相信很多人并不愿意把自己的BTC通过这种方式跨到其他链上去。包括雪儿自己,到如今也不敢把BTC变成WBTC或其他任何形的BTC放到以太坊生态去玩。

最主要的原因还是没有安全感。

这是目前我们在跨链过程中碰到的尴尬之一:操作太复杂;还有另一种情况的尴尬。

我们可能都在期待波卡或者Cosmos把其他链的资产甚至包括生态都跨过来,因为它们是目前最被看好的两个跨链方案。

当然这些跨到波卡或者Cosmos上的BTC跟跨到以太坊或者其他链上的BTC,也具有相同的特征,或者说是问题。它们会有一个新的名称,比如PolkaBTC, 一个新的地址,需要一个新的账号系统和一对新的公私钥需要管理。


还有一个问题是,跨链的BTC并不能同时在两个链上使用,跨到波卡上之后,要想去Cosmos的生态,还得先从波卡链上赎回我的BTC,销毁掉,才能去Cosmos链上再铸造一次另一种格式的BTC。

目前的跨链方式都需要将原链上的资产锁定在新链上(放在智能合约或者新链的中心化运营商账号中),再按照1:1的比例在新链上铸造新链格式的BTC。

因为他们无法做到识别和验证异构链(不基于同一条公链)上的加密算法,无法用一条链的账号去操作另一条链上的应用,从而直接实现互操作性。

可见不同的异构链跨链生态之间也并不能实现顺畅的互相操作,他们之间的跨链还是需要在两条链上分别操作。

总结一下我们目前在跨链现状上遇到的一些问题: 一需要在跨链的两条链上管理两套账号系统(钱包,地址,公私钥等);二是异构链之间并没有真正实现互操作性,而是需要在两条链上分别进行操作。

这种跨链的本质是让其他链上资产使用自己制定出的标准(因为无法解读异构链的密码学原语而通过验证),比如把原生资产1:1锁定在自己指定的地址,获得一个带有新链标志的新名称,还有一个新地址和密钥对等等。

这种跨链模式,可以被称之为互操作性1.0时代。

我们现在使用的很多跨链功能和方案都是这样的模式。

而我们理想中的互操作性是不需要去适应其他链的标准,更不想去适应很多条链的标准,下载很多条链的钱包,注册很多套账号,拥有很多地址,还要记忆很多私钥和密码。

我们想要有一种能够主动适用于其他所有链,甚至包括传统互联网不同标准的通用型跨链解决方案。

不用改变其他链现有的基础设施,不需要换个马甲,更不想更改地址和账号就能进入新的链上生态去。

这是相较于互操作性1.0更高的一个层次,也是Web3.0时代需要的互操作性,可以理解为互操作性2.0。

互操作性2.0该如何实现?

这里面涉及两个问题,第一是对不同类型加密算法的识别和验证;第二是新账户涉及的公私钥和地址管理问题。

我们先来看一下现在的区块链为什么会出现难以识别异构链的加密算法,跨链需要管理不同链的账号系统这样的问题。

根源在于区块链底层设计上的限制。

第一是大多数区块链都将很多密码学原语的使用场景固化地写进了共识层,应用层无法进行改动。

很多公链都把公私钥签名,客户端验证,在区块生成的哈希,一些常用的加密算法等都镶嵌在共识层中。比如,以太坊的共识层就写入了这样一些密码学的使用场景

1.区块的加密签名

2.Merkle Tree的哈希

3.交易签名

4.客户端的签名


由于它把涉及用户操作的交易签名和客户端的签名都已经写进了底层的共识层,其结果就是实际使用过程中每一次验证都必须按照设定的加密算法和流程进行操作。 按照规定创建一个地址就必须要管理一组新的秘钥对, 验证资产就只能使用以太坊的密码算法。

带来的问题就是你老爸老妈操作起来就相当困难,学习成本高,进入摩擦大,对用户和开发者都有很大的障碍。

第二是很多区块链使用的虚拟机不支持灵活的密码学原语部署。

比如以太坊的虚拟机EVM就不能支持密码学原语的灵活变动,因为EVM受以太坊的性能限制很大,对于不在EVM上预置的密码学原语,即使做一个简单的运算,都需要消费巨量的Gas。如果以太坊想要实现虚拟机中密码学原语的改动,必须通过硬分叉的方式进行。

以太坊曾经提出过将BLAKE2的签名算法加入虚拟机中的提案EIP152,你猜用了多久时间。从2016提出到2019年底,历时整整3年,才在伊斯坦布尔升级中被加入进去。

以上两点说明,区块链在应用层上的很多不方便,其实都源于底层设计上的限制,因为区块链的去中心化特性,要做升级和迭代是相当困难的。

那这样的问题有没有解呢?

我们来看Nervos的做法

针对上面区块链设计中对应用层的限制,Nervos从底层设计上就做了优化,做到了最大限度的灵活性支持。我们从两个方面来分析。

1. 对密码学的开放性支持

2. CKB-VM虚拟机的灵活性

第一, CKB底层对密码学原语的开放支持

你可以在Nervos的底层CKB上把任何类型的加密算法统统都加进CKB的算法库中,比如以太坊的keccak256哈希算法,比特币的ECDSA数字签名算法,SIGHASH交易签名算法,以及SH256哈希算法,以及互联网的WebAuthn签名算法等等。

结果就是Nervos可以识别任何一条链上的地址,并用他们的地址来接收和传输资产。关于这一点的详细解读可以参考雪儿之前的文章《深度解读Nervos意图互联网几十亿用户的野心》。


第二, CKB-VM虚拟机对密码学原语的灵活支持

CKB能够做到对密码学原语的开放和灵活支持,是因为CKB 的底层并没有像其他公链一样,将大多数密码学原语在虚拟机上写死在共识层。 Nervos 的密码学设计中,只有区块中的交易排序验证,以及默克尔树决定区块排序的哈希验证过程被写进了共识层,除此之外,没有任何其他的硬编码的密码学原语。

资产所有权的验证,交易验证,客户端的验证,分片验证(比如ZK Rollup的交易汇总验证)等等都被设计在应用层,支持开发者的自定义。

CKB-VM虚拟机的灵活性,可以在不实行硬分叉的情况下支持加密算法的升级和新增,是Nervos能够实现对异构区块链密码学原语的验证很重要的一个原因。因此理论上任何加密算法都可以部署并运行在CKB的链上,任何加密算法都可以被Nervos识别和验证。

Nervos 如何让区块链拥有互联网的体验?

这种底层的灵活性设计,不仅仅意味着任何区块链的入口和地址都可能成为Nervos的入口,任何互联网的入口也可以都成为Nervos的入口,也意味着区块链也有可能实现互联网一样丝滑的用户体验。

前面提到的WebAuthn技术是2019年由W3C发布的一项Web标准,它是针对将非对称密码学用于对基于Web的应用程序和服务进行身份验证而制定的一项标准。这项技术可以实现什么样的效果呢?

就是我们现在使用互联网时候的各种丝滑体验:进行身份验证时无需填写密码,仅通过指纹,面部,虹膜,声音等的扫描就可以识别和验证,也可以通过USD连接,蓝牙连接,NFC连接等实体秘钥等方式快捷进入互联网的世界。


因为Nervos具有灵活支持任何密码学原语的虚拟机,互联网的签名算法WebAuthn同样也可以被编写成CKB-VM能够读取的形式,部署到链上。从而实现对各种互联网身份验证方式的支持,达到成熟互联网技术的使用体验。

另一方面,以这种方式登录区块链创建钱包,秘钥并不保存在网页端,而是保持在创建钱包的设备中,在一个叫做Secure Enclave的受保护的安全领域中。这种保存方法比我们平常使用的区块链秘钥管理方法还要安全,因为没有办法可以导出私钥而泄露用户资产。

它的结果就是让互联网用户可以不用了解和记忆助记词,公私钥,仅仅通过扫描指纹,扫脸,或者互联网常用的其他方式,照样能够在浏览器上创建区块链钱包,而且还能实现多端兼容,同时保证安全。

还可以想象一个场景,如果Facebook的Libra建成,那么Nervos可以怎么做?

它可以将Libra使用的密码学原语都部署到CKB上。于是Libra上面几十亿用户的地址都可以变成CKB的地址,他们可以通过Libra上的账号直接访问Nervos的生态,操作CKB上的资产。

Nervos带给我们的,是区块链对另外一个世界更友好的接入方式。

是一种主动去适应其他区块链和互联网标准的互操作性,她不需要其他区块链和互联网为自己做任何个性化的调适,而是将自己打造成能够适应所有标准的基础设施。她不需要用户去学习那些复杂的操作,管理那些不人性化的秘钥,让更多人以更多方式没有负担地进入。

这才是我们所需要的互操作性2.0。

互联网以无可比拟的性能带给我们极致的用户体验,区块链却以无可更改的凭证带给我们信任和安全,以去中心化带给我们公平和民主,以及对数据,资产等自我价值的自主权。

Web3.0需要的就是这种优势互补的结合,连接他们的是Nervos的互操作性2.0。

特别提醒: 本文是站在Web3.0时代需要的角度,对符合相关要求的项目就某一特性所做的相关分析,无关投资决策。

还要提醒的是Nervos属于提供区块链基础设施的公链项目,它的价值大规模被发现需要等到生态足够繁荣,应用足够丰富,生态上的价值形成之后会慢慢反哺到底层公链。与应用级别的项目能够快速看到投资效果的逻辑不一样,因此投资这个项目的同学需要做好等待价值被慢慢发现的心理准备。

—-

编译者/作者:币圈小雪

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

LOADING...
LOADING...