章鱼网络刘毅 | 多链网络在区块链世界的位置
BeWater
2021-10-16 16:38
订阅此专栏
收藏此文章

9 月 4 日的 BeWater DevCon 2021 全球开发者大会上,章鱼网络创始人刘毅,分享了《多链网络在区块链世界的位置》。

分享内容概况如下:

1)Web3 应用需要高安全性、低费用、高性能、易用、可升级的链,需要更快速的确认真相,所以一定不用 POW。

2)Polkadot 最大的问题在于可支持平行链的数量。

3)智能合约难治理,所以如果是 DeFi 外的 Web3 应用,可以考虑应用链。

4) 分片存在复杂与跨片互锁等问题,通过跨链协议连接的多链网络是未来,各个链可以各司其职。

下面,我们就来听听刘毅老师的具体分享。

我们讲反共识,我们说谁是共识,大家相信的最多的、最广泛的,我这次打算吐槽的东西,包括 PoW,包括以太坊,包括以太坊 2.0,包括 Polkadot,包括分片,分片里头包括我们的老东家 NEAR,还有多链网络,也就是喷我们自己。

为什么大家很少听到行内人去说另外一个项目的问题,或者不好?这是博弈决定的。

我们现在给开发者讲,其实是基础设施的开发者给应用的开发者去讲,讲的目的其实是为了希望应用开发者选择我们这个基础设施。

你做了基础设施,不管是 Layer1 的链还是 Layer2 的链,你上了之后要吸引开发者,要宣传。你看市面上大家宣传的平均水分是多少呢?你有一个选择,你可以不注水,你有一说一,这样你肯定在宣传上是吃亏的,你怎么办呢?你觉得不公平,你可以怼所有注水的项目,这样注水的项目可以怼你,最后死的就是你。

我们很少能听到说我们这些业内人士,包括任博士是研究者,但是毕竟也是唯链的高级研究员,所以我们说这个话总是好像在代表我们这个项目去攻击别的项目。

刚才讲了一下,我决定还是换个顺序,应用开发者你要做区块链开发,我这里面区块链全说的是公链,我们不说联盟链。你要在公链领域做应用开发,三个问题特别重要:第一个是你做什么?第二个是你选择哪个技术?第三个是你做完了之后在哪个生态里面发展?

我希望我今天的讲话能够对大家思考这三个问题有所帮助。

一、你选择做什么?

我们刚才说公链或 Layer2,一定是牺牲了一些属性获得另外一些属性的。这个取舍怎么做?

做基础设施的团队、核心的研究者,他们决定这个链要支持什么?不支持或者不主要支持的东西,会适当的放弃,把力量集中在支持的应用方向上,所以不会有一个链适合于所有应用。

第一个问题:做什么应用?不管你做什么应用,你应该知道 Web3.0 到底是什么。我们说下一代互联网的应用,其实它还是平台,跟现在的互联网是一样的。平台是撮合不同的经济参与方,通过他们的交易交互创造价值的经济形式。

Web3.0 跟 Web2.0的区别是什么?

我们用去中心化的协议,来代替原来公司形式的运营平台。这个去中心化的协议,其实记录了在这个系统里权益/权利是如何分配的。Web3.0 的应用还是 Web 应用,但是要把账本放到去中心化账本上去,而不是放到公司控制的数据库里。

要做出好的 Web3.0 应用,我们希望这个区块链基础设施具备一些属性:安全性高、费用低、高性能、钱包易用和可升级。这个账本本身的规则可升级,如果记账规则不可升级,它很难适应需求的变化和社区的发展。

哪个应用方向 Web3.0 最有潜力?

那些被传统平台或 Web2.0 平台垄断最严重的领域,就是你创业的最佳机会。

前两天 A16z 发的一个推文,非常重要,Web3.0 的创业格言是什么?

“你的抽成就是我的机会。” 哪个平台抽成多,这就是你的创业机会。

我们举两个例子,第一个是最大的金融行业。整个社会一半的利润被金融行业拿走了,中国几千家上市公司里,金融类的上市公司占了一半。全世界前十最赚钱的公司里,中国四大国有商业银行全部上榜。金融机构就是金融中介,他们对整个社会的抽成是很可怕的,所以 DeFi 能起来。

再举个例子,音乐行业。一个音乐创造人创作了一首歌,他最后只能拿到平均版税收入的 10%,90% 被互联网公司和唱片公司拿了。你用一个去中心化的协议取代唱片公司,取代互联网发行平台,比如说把收入的三成返给创作者,三成让利给消费者,三成留在国库里面发展你的协议,如此,消费者降低了成本,音乐人的收入提升了四倍,协议拿中间三成绝对够养活自己。

我们特别关注一个 Web3.0 应用叫 Audius,这个应用已经达到了月活 500 万的用户,它就是在音乐领域做去中心化的。

这是第一个问题:做什么?

二、你选择哪个技术?

智能合约不是唯一的 Web3.0 应用开发的技术,另外一种技术叫应用链,后面再讲为什么叫应用链。

你选择了智能合约或选择了应用链,下一步考虑的就是在哪个生态里面去做。

这个 PoW 指的是 PoW 以太坊。有些人认为只有比特币、超主权和加密存储,Web3.0 跟这些人没有关系了。现在以太坊要转向 PoS,PoW为什么不行?

保障去中心化账本记账安全,我们叫结算保障。也就是说,这笔账记下来后要多少钱才能逆转这笔账?随着时间的推移,你的结算保障可以涨得非常快,但就算是最强的 PoW 的链比特币,10 分钟一个块,现在出 6.25 个比特币,你想想它每十分钟提供的结算保障是多少?一条普通的 PoS 链可能就有一亿美金的 Staking,可以在几秒钟内获得跟比特币相当的结算保障。

我们做 Web3.0 不能再忍受一笔交易等一个小时。我们需要快速的确定,敲定了就定了,如果这个东西出问题,那就是上亿美元被 flash,你只要发现他 finality 这笔交易就完成了,你就可以做下一步,我们才能在这上面做 DeFi,做去中心化音乐,做去中心化游戏。别再扯 PoW 链了,特别可惜的就是中国非常好的技术团队,新生的公链,这就不点名了,还选择 PoW。

PoS 之上还有四个方面:超级 layer1、分层、分片、多链网络。

超级 layer1,就是说我不分片,我就是一条链,我通过共识优化可以做得非常快,代表项目就是 Solana、Avalanche。我先不说它们,它们每个都不一样,要喷得一个个喷,咱们喷大的。

以前共识最大的是分片,现在共识最大的是分层,待会再说。还有就是多链网络,一个链干一个事,通过跨链接起来。

第一个正式喷的项目是 Polkadot。为什么大家听不到关于 Polkadot 的这个问题?除了有利益纠葛以外,还有一个,每个基础设施都非常复杂,你要从头讲到尾,等你开始说到这个问题的时候,40 分钟已经过去了。所以你听 Polkadot 都是从头开始讲,讲到半小时结束了,你听不到它的问题。所以前面那些问题就跳过去了,如果有些同学对背景没了解,最后就听个结论,半信半疑就完了。

Polkadot 怎么搞呢?它怎么分片呢?每个链都有一组 Collator,它去出块,它去把交易收集起来之后做成块,做成块之后它会分配给它这条平行链的那一组验证人,这 10 个验证人能验证它这个块。

这个很神奇,为什么这个链里面有一千个验证人,随机分了十个人就能验证这个块呢?这是因为他采用了无状态客户端。无状态客户端是什么呢?原来是验证人有世界状态,交易来了之后一笔一笔执行,就能够验证;无状态客户端是验证人我不存世界状态,但是我有世界状态的根,你这个块来的时候你不但要把交易放在块里,你还要对世界状态访问的输入放在块里,也就是说你告诉我交易是什么,告诉我输入是什么,我这儿只有验证逻辑,所以我这儿没有数据,我也能验证你这个块。

Collator 把 PoA 的块,其实就是无状态客户端的块交给了这组验证人。这组验证人验证通过之后,为了实现 Data Validators 是因为大家在分片网络里面都要依赖,因为不管是信标链,还是 Relay Chain,还是说这个分片以外其他的链看到的都是头,它并不能再去验证了,这个时候就得有人去 challenge。在了解这个分片的人里面只要有一个诚实的人他就可以举报,说这十个人里面他们九个人或者八个人是坏人,他们联合起来骗大家,我是这十个人里面唯一诚实的人。我提交一个证明,提到法庭上面去,这个东西是可以被验证的。

但是这种机制本身也是很脆弱的,更重要的就是坏人可以藏块,那八个坏人或者那九个坏人,做了一个坏的块之后他故意不告诉这个好人,块提上去了之后,这个分片已经形成共识了。那个好人没法证明说你们是故意不告诉我,还是我自己的网络出问题了。他没法证明是那几个坏人是故意不告诉他,这就是数据可用性问题。数据可用性问题是分片领域的两大难题之一。

在 Polkadot 里面怎么解决数据可用性问题?就是用纠删码,把这个块给他编码做了冗余,做了冗余之后切成片,然后每人发一片,积累到一定程度,比如说 2f+1 的人都收到一片之后,这些人联合起来已经可以重建整个块了,也就是说这个问题已经解决了。相当于提供了一个证明,说这个数据确实在链上可用。

这个问题也是现在 Polkadot 最大的一个难题,就是 PoV 的块,无状态客户端的块比正常的块是要大的,为什么呢?因为除了交易还有交易输入的数据,它这个状态里面相当于抽取了一个小数据库。这个块会比正常普通的块大多少呢?正常是大几十倍,可能 10–100 倍。这根据交易类型不一样,大个几十倍,用纠删码编码之后又大了两三倍。

也就是说需要在网络上面传的数据变多了,一百倍或者接近一百倍,这意味着什么呢?这意味着现在一百个分片,我们做了一百个 Parachain,至少在网络这个层面没有实现分片的收益,也就是说你这 100 个 Parachain 并不是说只有十个 Validators 接受了这 1% 的数据,而是我这里面每一个人都接收了几乎跟不分片一样的数据,所以至少在网络的层面没有实现分片的收益。

但是网络恰恰是最慢的,Relay Chain要做到一分钟出块,Parachain 要做上去,还有要PoV块的生成,CPU 利用率也很高,也是在为分片付代价,在计算上也没有实现完全的分片收益。状态还好,状态确实实现分片了。

这边是一百个平行链,这边是一千个验证人,就在多对多的在传纠删码数据的片段,这是多对多的,而且这俩之间的比例是一定的,一定是十分之一的关系,因为他是十个验证人一组,多对多的关系,他的传输量也是指数扩张的,所以 Polkadot 最大的问题就是它到底能够支持多少平行链,白皮书里面写的是支持一百条,我觉得能够支持一百条是一个奇迹,但要支持200条或更多我认为是不可能的,这是我认为 Polkadot 最大的难题。

我们回来吐槽分片,分片是一种并行化的思想。就是说我们一个大的链不够,我们就把它分成多个小链。但是这些小链不能是独立的,因为如果是独立的话,它就相当于安全性降低了,线性的降低了。你分成一百条链,它们之间没有共同的共识,相当于攻击的成本就下降了一百倍。所以分片又希望能够并行,同时又不降低安全性,这是分片的一个出发点。

但是我们这些老 IT 工程师,其实非常熟悉数据库分片。数据库分片我做过的,我那时候在惠普给中国移动做的第一个项目,就是一个全网的信息储备。很简单,我们把数据库按照省进行分片,根据是哪个省就路由到对应的分片数据库里去,30 路几乎完全并发了。

为什么能做到线性扩容呢?是因为它们之间的交易都是没关系的,它的交易请求来了我确定它是来自北京的还是来自于广东的,北京的数据在北京那台服务器,广东在广东那台服务器,这种系统我们管它叫share nothing architecture,不分享任何东西的架构,这种架构能实现线性扩容或者准线性扩容,也就是说扩容的潜力主要不是取决于用什么技术,而是取决于这个业务本身能不能并行。

这里面有一个安达尔定律,安达尔定律就是说你计算任务扩容的潜力是由你计算任务里面不能并行的那部分占比来决定的。如果一个 CPU 跑,它需要十个小时,其中有一部分,比如 10% 是不能并行的,那也就意味着你不管给它多少 CPU 也不可能用一个小时的时间完成计算任务。

区块链到底能不能并行处理,我认为它恰恰是一个不太能并行的业务形态。如果在以太坊上面做了 64 个分片,或者在 NEAR 做了 100 个分片。张三给李四转了一笔账,张三跟李四这两个人是随机选的,他们俩恰好在一个片里面的概率是多大呢?是1/64,所以大概率他们是在两个片上,在两个片上你就要先在张三的片上做交易,然后你发个交易给李四,李四那个片做了交易这个事才能做成,李四那片如果因为什么原因没做成还得告诉张三那个片退回来,所以分片的收益绝对不是想的那么好。

NEAR 的夜影协议是非常复杂的分片,它面临两大问题。在一个轮换开始的时候,这一组的人要去下载那一片的状态,未来如果真的这么做,会不会像 Java 的garbage collection一样,一做就要停掉 5 秒钟,僵死了,它没法去处理下一轮交易,这是一个问题。

第二个,当交易量非常大的时候,各种类型的交易都很多。刚才说的大量的交易会是跨片的,就是几乎很少有交易能够只在一个片上完成,它会出现很多互锁的情况,因为你李四没做成回退张三,张三因为给李四钱了所以他要被锁住,张三被锁住又导致王五的交易做不成,这就会出现互锁甚至死锁的情况。

两年以前我们就认为分片是有问题的,那时候因为是以太坊2.0是扩容的正朔,没有人愿意公开的 diss 分片。

以太坊合并的事大家好好看,我觉得今年肯定不会发生,明年有可能,也有可能是后年。这个事情会是继 DAO Hack和 BTC/BCH分叉之后对区块链行业影响最大的事情,被称之为大合并。

大合并到底能不能行?我给大家大胆提个预测,我认为以太坊基金会很有可能最后会放弃合并。而且我说这个合并不是分叉,现在以太坊 1.0 跟以太坊 2.0 就是两条链,不管大合并成功还是不成功,做完之后一定还是两条链。

这个是什么呢?其实应该叫Spoon,这个词也是Vitalik发明的。当年Cosmos说我要把以太坊的状态全倒在Ethermint上,V神就起了Spoon这个名字。大合并是把以太坊 1.0 的状态,拿个大勺子舀到 2.0 上去,舀完了之后各自运行。

有多少人会跑到以太坊 2.0 上去,不知道,最差的情况就是有人过去有人不过去,因为现在的 DeFi 协议全是纠结在一起的,如果 MakerDAO 过去了,USDC 没过去你想想会出现什么情况?反过来也一样,这会造成巨大的混乱。其实大合并令以太坊在在经济上和在法律监管上都有巨大的风险,具体我们不说了。

智能合约最大的问题是不可演进,因为它没有合法性升级的办法,智能合约作为链上程序是不可治理的。我们认为智能合约的优势是可组合性。我们建议,如果大家不开发 DeFi,开发其他的 Web3.0 应用,比如说去中心化音乐、预测市场,大家可以考虑用应用链,做一个专门的链去做你的应用。

我们章鱼网络是用来快速启动应用链的,是个侧链网络。我们的侧链网络的问题就是没有实现经典的数据可用性。我们的方案叫数据可用性置疑,如果好人没收到块,你虽然不能证明什么,但是可以提出质疑。

一两个人置疑不说明什么,但是如果置疑的人多了,网络会发一个挑战,说你们签过块的人,抱歉请你们出示一个合法的块来证明你的块是对的,你们如果不出示说明你真的藏块了,如果你出示不出来合法的说明你们造假了,就罚你。但是这个东西没有人搞过,我们也刚开始。

还有一种方式,未来如果像专用的数据可用性层发展起来了,例如 lazyledger,他们专门做数据可用性,成本可以降低,我们也考虑使用他们的网络来解决这个问题。

我们的目的是要形成多链网络,多链网络就是说这些链各自做自己擅长的事,但是全都用跨链协议,好的跨链协议把它联结在一起。

这里面很重要的是 IBC 协议,我们这个团队受到Cosmos资助开发Substrate IBC。等Cosmos、Polkadot、NEAR 这些链都支持了IBC,大家就可以用统一的协议链接起来。所以我们认为未来的区块链世界是区块链互联网.

谢谢大家。

历史文章:

1、雪崩联合 2021 年的区块链基础设施将是什么?

2、路印 CTO Steve Guo | 真实的二层网络真实的未来?

3、Jolestar | 智能合约编程语⾔,还可能有哪些创新点?

4、VeChain 任之劼 | 权威证明 2.0

5、3Box Joel | 去中心化数字身份与数据,未来在何方?

6、以太坊核心开发者 Austin | 如何在以太坊上构建应用程序?(实操分享)

7、章鱼网络刘毅 | 多链网络在区块链世界的位置

8、BMAN:如何理解 Loot ?

9、BeWater 大会纪实|属于开发者的下一个十年,因为相信,所以看见

10、Mask 刘怿斯 | 自主权身份与社交网络的未来是什么?

11、Mina | Evan Shapiro :隐私保护技术在区块链的应用

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

BeWater
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开