LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > “要嫖就嫖个大的”,深度解读 Nervos 嫖向互联网几十亿用户的野心!

“要嫖就嫖个大的”,深度解读 Nervos 嫖向互联网几十亿用户的野心!

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

前几天发生了一件奇妙的事,雪儿收到了100个CKB。奇妙之处在于我并没有给对方CKB的地址,而且实际上到现在我也没有注册和开通CKB的钱包。

他是通过我的以太坊地址转过来的。也就是说我没有下载CKB的钱包,没有开通CKB的地址,但是我有ETH的地址,就可以接收CKB的资产。


可是接收到之后怎么查看呢?当然它是不会直接显示在ERC20的资产列表中,因为CKB是与以太坊平行的另外一条公链上的资产,这条公链叫做Nervos。Nervos是一个具有双层网络结构的公链,而CKB是其第一层网络上的原生代币。

因此CKB与ETH使用的是不同的主网。但是你可以通过ETH的地址接收CKB,并在支持ETH的钱包或者网页中(链接Metamask),进入CKB.PW的网址(在地址栏输入CKB.PW),进行查看。

雪儿确实被这件事惊奇到了,因为常识告诉我,不同公链的地址是不能混用来接收资产的。比如你把以太坊上面发行的资产转到EOS的地址上就没法接收,很可能币就丢了。

因为每一条公链都一套自己特殊的收款地址,比如ETH链上的地址是以OX开头,波场链的地址是以T开头,币安链的地址是以BNB开头。其实CKB链上也有自己的地址,是以CKB开头。

而且我们在转账的时候系统都会一次又一次地提醒:此地址只能接受自己公链上的资产,如果转账其他资产,会造成代币永久丢失。

一条公链的地址无法接收到自己链之外其他链的资产这一概念已经牢牢地烙印在我们脑海。


这是第一次真切地感受到用一条公链的地址去接收另一条公链资产的奇妙。雪儿发现它有着不一般的意义,因为它意味着不需要多下载一个公链的钱包,甚至都不用在IMtoken中创建CKB的钱包,不用去记录私钥,密码,就能实现用我已经有的ETH地址去接收来自另一个链上的资产。

这对用户来说可以减少多大的负担,又可以降低多高的门槛呢?据说,很快CKB还可以在EOS,波场等更多的公链上实现同样的事情。也就是使用EOS和波场的地址就可以接受CKB的资产。

那是不是意味着将来所有其他公链的地址都可以变成CKB的收款地址,任何一个链上的用户要用CKB来转账是不是都会非常容易了?


抽象一点来说,它的意义是让用户可以共用区块链的基础设施来实现不同区块链的某些功能。用户不用多下载和安装一次钱包,也不用花费脑细胞去创建账号,以及面对记录密码私钥这样让人头疼的事,就能实现一条新链资产的转移。

可能这只是第一步,实现转账之后呢?会不会意味着,这些通过其他公链地址转账的CKB,可以直接用到其他公链的生态上?这一点暂时还没有答案,不过既然有了第一步,就有继续往下探索的可能性了,对吧?

然而更奇妙的是,这一整个过程,都不需要跟以太坊做任何的交互,也不需要以太坊为CKB做任何的改动,甚至以太坊根本不知道这件事的发生。全程只是CKB自己的操作而已。


这种行为被Nervos团队的人称为“白嫖”。

非常好奇这样的“白嫖”是怎样实现的。

第一、CKB公链性能扩展得以实现的底层原因

通过研究才明白,它其实是由搭建在CKB公链上的一个叫做Portal Wallet的第三方钱包应用来实现的。

1.Portal Wallet能够实现这个功能是因为CKB公链特有的一些设计和能力,是因为CKB能够识别和验证以太坊的签名格式。

具体来说,是因为CKB在解锁一笔交易转账的资产过程中,在验证发送者对交易的签名时,能够识别被以太坊地址签名生成的数据,确切地说,是通过以太坊签名的加密算法运算出来的结果。

而其他公链不能接收别的链上资产,是因为他们不能识别通过别的链上地址签名生成出来的结果。

就比如,你在国外有一笔财产或者某项绝技要在国内得到承认,从国外开具的财产公证书或者技能认证,使用的是拉丁语或者阿拉伯语。而在国内验证的时候,验证人规定只能使用中文进行验证,那么你的财产和技能就无法得到承认,无法被接受。


但是如果验证的规定限制没有那么死,可以允许使用其他国家的语言进行验证,那么就可以通过翻译来实现验证,或者有懂这两门外语的验证人也可以实现。

这里用外语出具的凭证就可以理解为通过一种密码算法加密过的密文,当然了对其他语言来讲,中文凭证也可以理解为是另一种加密算法加密之后的密文。不同的密文能不能通过一条链的验证,关键就是看这条链对验证的规定是否支持不同的加密算法。

很显然,CKB支持,而其他公链则不支持。

2.这个特性用专业的术语来说,被称作“CKB底层对密码学原语的开放支持”!听起来是不是很晕眩!

说得通俗一些,应该就是指CKB在底层设计上能够支持各种不同的加密算法,比如以太坊的加密算法,EOS,波场,COSMOS,波卡等等不同公链所使用的加密算法,都可以部署在CKB上用来验证交易的签名。因此它就能够识别这些公链签名的数据,解锁对应的资产,从而能够用他们的地址来接收CKB的资产。

密码学原语有很多种类,说几个比较常见的,比如哈希函数,数字签名,单向函数,消息认证码,多方安全计算,基于身份的加密,等等。

而在区块链上一笔交易在确认的过程是否能够被验证和解锁,主要要看三个元素(密码学原语)是否能够被识别:签名算法,哈希算法,交易格式。今天我们不说得那么深入,就笼统地把他们理解为加密算法好了。

CKB对密码学原语的开放支持,更确切的理解应该是支持用户自定义加密算法。

举一个例子,CKB的哈希算法默认采用的是blake2b,而以太坊采用的是keccak256。显然用CKB默认的算法就解锁不了以太坊地址签名的资产,要是换了别的链,这样的解锁几乎就不可能实现了,除非来个硬分叉。

可是在CKB上你可以怎么做呢?

你可以把以太坊的keccak256哈希算法部署在CKB链上,把它添加到CKB的算法库中,并替代blake2b变成默认的哈希算法。而且你在用keccak256替换掉blake2b成为CKB上的默认哈希加密算法之后,keccak256能够享受跟之前的blake2b一样的权限。

因此可见,CKB的底层(虚拟机上)并没有像其他公链一样将密码学原语写死,因此理论上任何加密算法都可以部署并运行在CKB的链上。

也就是说所有区块链地址都可以作为CKB的地址来进行转账。

3.说了这么多,想表达的是Portal Wallet利用CKB公链在底层设计上的开放性和灵活性实现了对公链性能的极大扩展。

这里的开放性和灵活性是Nervos第一层网络(CKB)拥有的特性,而实现的性能扩展则是发生在第二层。因为Portal Wallet是基于CKB底层公链开发的二层应用。

而第二层能够实现性能的扩展以及很多的创新,是因为第一层的基础设施给第二层留够了发挥的空间和余地。

第二、Nervos的整体设计思路

通过这个应用的详细解读,我们可以总结一下Nervos这条公链的基本设计思路。

1.首先,它是一个分层设计的基础公链。

分层的目的当然也是为了解决当前区块链在性能和扩展性上的局限,解决区块链在安全性,性能和去中心化上不可能三角的难题。

它在分层的同时也实现了分工,第一层负责区块链最擅长的核心任务:保证整个网络的安全性,足够的去中心化,共识的顺畅达成,以及信任的传递;而第二层负责的是对区块链性能的提升。

说得具体一些,底层也就是第一层要做的是尽可能完善区块链的基础设施,成为链上交易的结算层+整个系统的仲裁机构;

而二层要做的是具体的应用层,开展各行各业的业务,在第一层提供的基础设施上最大限度的提升区块链的性能,提高业务的效率,并激发出更大的创新能力,创造更大的社会价值。

很明显,第一层要做的是尽可能地利用区块链的优势来为第二层的实际应用提供更好的支持和服务,提供更大的开放度和灵活性。并最大限度地激发出第二层的效率,自由度和创造性。


2.这是Nervos这条公链的另一个设计思路,被叫做解耦。

意思是把区块链要实现的功能拆分开来,根据其本身的特性和要求来分别处理和对待。由不同的层(实际上是不同的网络或者区块链)负责不同的任务。

这两个思路合起来叫做分层解耦。它是Nervos公链设计的最核心思路。

第三、Nervos的双层思路与以太坊二层思路的异同

1.表面上看,可能你会发现这个思路跟以太坊的二层网络Layer2的基本思路很相似。都是把需要进行大量计算的交易和事物拆分到第二层上去处理,让第一层只处理占用计算资源少的核心任务,从而提升交易处理的速度,实现处理更多交易的目的。


2.但是这两种分层的思路其实有着本质的区别。

①以太坊上的二层网络是后来在以太坊的第一层之上添加上去的,而以太坊第一层的很多设计和框架已经定死了,那么二层网络能够做的只能是在这个框架之下帮助以太坊来分担一些负载,而对框架本身的限制无法拓展也无法打破。因此它能够施展的空间很小,能够实现的功能也很有限。

还是拿前面那个例子来说,以太坊链上不可能接收其他链上的资产,是因为以太坊的底层设计限制了验证交易的哈希算法只能使用keccak256这一种格式。因此它的二层网络无论怎么努力,也不可能设计出一个在以太坊链上通过其他链地址接收资产的应用出来。

再说一种情况,在以太坊上面的Layer2可以通过把交易转移到二层上处理,从而让一层减少一些负担,使得在二层上的交易处理性能会比在一层时要强得多。比如在路印的交易所交易时就会感觉很快,手续费也很便宜。

但是二层上处理完的交易最终需要转移到以太坊一层去验证结果,并进行账目的清算,这个转移过程,以及在一层上的验证和清算过程还是会比较慢,手续费也还是贵。

其实还有一种情况,以太坊上面的二层网络有许多不同的解决方案,比如状态通道,零知识证明的交易汇总处理ZK rollup,乐观假设的交易汇总处理Optimistic rollup等等。那么如果使用ZK rollup的链要与使用Optimistic rollup的链之间进行合约调用或者转账,是不是同样也会感觉到问题仍然存在呢?


②也就是说,以太坊上的二层网络与第一层之间的衔接并非无缝衔接,当然二层与二层之间,不同方案的二层之间也是同样的道理。它的结果很可能就是以太坊上面的二层解决方案提供的扩展能力,适用范围可能只限于同一种方案的同一层上的同一条链。

根本原因就在于以太坊一层的设计框架本身已经固定,设计中并没有考虑二层上进行扩展或者相互衔接的可能性,因此没有留下进行这些更新和拓展的空间。

③而Nervos的设计从一开始就是分层思路,最初的设计就考虑好了L1和L2之间的对接,并从最优化的可能性上进行了任务的拆解和分工。

这应该是Nervos上的两层设计与以太坊目前的第二层思路的根本不同所在。

第四、Nervos这种设计具有怎样的优势及意义?

我们知道,在区块链要处理的所有任务中,最占用资源的是对计算量要求比较大的交易,智能合约调用,以及各种应用的运行。在Nervos的设计中,这些任务都放在第二层。

底层只用负责去中心化,安全,信任和各种基础设施保障,而这些又是区块链最擅长的任务。

因此Nervos的设计优势体现在

1.Nervos的设计能够让底层足够简单,而且专心于做区块链最擅长的事,为上层的发挥提供最大最好的舞台,完全不用去参与上层的具体业务;

2.而第二层则可以在第一层提供的巨大舞台上最大限度地自由发挥和创造,将区块链的技术优势带来的性能发挥到极致。

第五、两种不同设计思路的由来

以太坊和Nervos形成了两种不同的区块链设计思路,是因为他们对区块链的不同理解,以及各自在区块链中的不同定位所决定的。

1.我们都知道,以太坊在最开始对自己的定位是“世界计算机”。

通俗地理解,它表达的应该是要为世界所有交易提供计算资源和服务,负责处理所有交易的整个过程。

因此在以太坊的设计框架下,

1)所有的应用和各种应用产生的交易都放在了一条主链上;

2)把人们想在区块链上完成的所有任务都放在一起来处理;

3)所有的应用程序都对等地运行在全球所有节点的矿机上;

4)同时所有节点都对等地参与同样的任务;

结果就是

1)所有的节点都在处理交易收集,打包,确认,验证,广播等交易相关的事物;

2)所有交易处理的结果都存储在在一条主链上。

而为了应付在一条性能很差的链上完成这么多复杂的功能和任务,以太坊的设计中就设置了很多的限制来节约计算资源和空间资源。

比如验证签名的格式只能通过智能合约ECRECOVER函数来实现,什么新的逻辑都不允许加入;一个函数的临时变量只能有14个,否则就会爆炸;还有对GAS的限制性设置以保证区块大小和出块速度等等。

很明显,以太坊为了照顾不可能三角的方方面面,最后却牺牲了性能和扩展性。

2.其实以太坊的这种定位或者设计缺陷应该也是来源于早期人们在对区块链理解上的一些误差。那时的人们认为区块链应该做到大规模的商业处理和应用来实现对经济的改变。

这个理解本身没有问题,有问题的是对区块链特性与商业化应用之间的关系以及实现方式上的理解。

其实区块链本身并不擅长大规模应用的处理,原因在于区块链的去中心化和安全性特性要求节点范围足够分散,数量足够多,那么必然就会导致对交易处理和共识达成速度形成影响。

根据区块链的特性,能分析出区块链最擅长的应该是以分散化的节点网络和各种密码学技术来创造信任,提供安全性,以及利用通证经济激励机制实现的全球协作模式。

3.那么区块链到底能不能实现大规模的商业化,以及性能的极致提升呢?

根据Nervos对区块链的理解,答案是,能!

就如前面在对Nervos设计思路的分析,要将人们对区块链的期待和区块链本身擅长的优势区别对待,并将它们对应的不同功能进行分解,交给不同的链去实现。

也就是Nervos提出的分层解耦思路。底层只做区块链最擅长的事,而人们对区块链性能上更多的要求则交给上层去做。

其实对区块链的这种理解或许可以在比特币的身上找到答案,比特币的设计非常简单,并没有任何复杂的应用功能,但是它却能够提供最安全的网络,创造最值得信任的系统。让人们有足够的动力将自己的资产存储在BTC这个代表比特币整体价值的系统中。

很明显,人们后来对比特币所代表的区块链提出了很多超出它本身能力的要求,而这些沉甸甸的期待后来都被一股脑地塞进以太坊的区块链里面,以太坊在人们的殷切目光之中几次将近陷于崩溃。

4.今天人们终于意识到自己对区块链的误解,于是以太坊又为自己设计了一个新的定位:全球结算层。

这一次,以太坊决定只做区块链最擅长的事,为全球的商业应用提供安全和信任,从而实现交易的可靠结算。

只是,要把基于安全和信任之上的所有业务都搬到二层,或者分片上去,又何谈容易!

第六、Nervos带来的可能性

1.而Nervos为上层提供的灵活性和开放性,能够实现的可不仅仅是

1)将所有区块链地址都变成CKB的收款地址;

2)将所有的区块链钱包都变成CKB的钱包;

3)将CKB dAPPs运行在任何加密货币钱包之中;

4)也不仅仅意味着所有区块链项目的用户,最终都可能变成Nervos的用户。

2.它带来的扩展性更重要的意义在于

1)能够实现将互联网的各种资源变成Nervos的资源:

2)可以直接在互联网浏览器端通过刷指纹,扫脸等方法创建CKB的钱包;

3)可以通过NFC将护照变成CKB的硬件钱包;

4)可以直接通过邮箱传递CKB。。。。。。

Nervos企图的是互联网的广阔天地,从互联网创建流量入口,将互联网的用户无缝导入区块链的世界。

面对互联网几十亿用户规模的市场,难怪Portal Wallet的创始人自信满满:区块链才多少用户,就敢说网络效应,宣称格局已定?

Nervos的宣言是“要嫖就嫖个大的”,目标是“嫖”向全世界的互联网用户!

本文为雪儿学习项目分析的结果,不能作为任何人的投资依据!

下面是雪儿经常使用的交易所,推荐给需要注册的小伙伴。

币安交易所;(最大币种最齐全,交易深度最好,体验也不错)

火币交易所; (雪儿体验手续费稍微有点小贵,不过用起来还是挺顺手)

OKEX交易所;(比较老牌的交易所,合约有特色,活动也挺多)

酷币交易所;(雪儿购买AMPL的交易所,支持AMPL弹性调整)

抹茶交易所;(热门和趋势抓得比较好,上新币快准狠)

虎符交易所。(热门和趋势抓得比较好,上新币快准狠)

—-

编译者/作者:币圈小雪

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

LOADING...
LOADING...