区块链共识的可扩展和无限扩展

​一块链习针对上周《区块链技术公开课100讲》第22讲直播分享《区块链扩容与不可能三角》中 Maxdeath 任之劼讲师留下的思考题,于本周三晚8点在一块链习技术社区里进行了讨论交流。

本期话题讨论的主题是:以下几个热门项目的算法 algorand,conflux,monoxide,cosmos,plasma,大家从中挑选一个你最熟悉的项目来展开讨论它的可扩展性。

?以下是第4场讨论实录观点的整理?

Maxdeath @讲师:大家好,这次其实主要的主题就是区块链共识的可扩展性。我先抛砖引玉一下:上次直播课讲的比较深,可能大家理解起来比较困难——现在其实只有两种,可扩展和无限扩展。无限扩展是分片和链下,其他都是可扩展。

这次提的几个热门算法里,algorand 和 conflux 都是可扩展。想要辨别的方法就是思考一下,是不是一笔交易一定要全网确认。

不是说全网验证,而是只要一笔交易需要广播到全网,就不可能是无限扩展的。很多人以为DAG是无限扩展的,但实际上,目前所有严格论文的 DAG算法里,都还是要求所有节点都有一个一致的图,而不是说只要知道自己的一支就可以。

那剩下的 plasma,cosmos 和 monoxide 都是无限扩展的,就是说一定会有一些交易、一些节点是不知道的,所以一定会在某些地方有些牺牲。一般是去中心和安全,也就是要么得假设有一些节点更可信,要么需做一些强一点的安全假设。

刘木春@一块链习学员:那无限扩展的好还是可扩展的好?

Maxdeath @讲师:这个看场景,可扩展现行可能最多就 1000 TPS 左右,然后以后想要提升得需要网速的提升。

天空树@一块链习学员:能不能谈一谈交易分片和状态分片的优点和缺点?

花随落@一块链习学员:那这样讲的话,分片也有有限扩展和无限扩展之分。有的分片是需要全账本,有的只需要保存各自的账本。

Maxdeath @讲师:扩展这东西的定义也很乱,其实现在很多无限扩展算法达不到 O(N) 消息复杂度。交易分片和状态分片我得现查~不是学术界的东西,我记得是 V 神分的。

花随落@一块链习学员:从消息复杂度定义感觉不如从 TPS 定义直观。

刘志海@一块链习学员:以上说的是不是特指 pos+bft 的共识?

Maxdeath @讲师:但是 TPS 这个东西没有规定是在什么环境中跑出来的,algorand 和 dfinity 是 pos+bft。

刘志海@一块链习学员:因为比特币主要的耗时不在发消息。

Maxdeath @讲师:我看了半天还是不理解什么是状态分片和交易分片,主要还是从交易的角度看问题就容易理解一些:看一笔交易到底需要多少节点验证和储存。

刘志海@一块链习学员:跟算法的复杂度定义一样。

Maxdeath @讲师:但的确消息复杂度一样也不代表输出一样,比特币也是O(N)消息复杂度。其实可扩展的一个简单的判断方法是——看看是不是所有带宽都用到交易传输上了。比特币就不是,因为有一段时间必须得挖矿。

多说一点关于比较 TPS 为啥不靠谱的原因——因为所有项目 TPS 测的都是理论最大值,但是他们会考虑某些特别好的情况。而基本上最理想的状态,就是所有的带宽都用来传输,只要算法在最优情况能够接近达到这个效果, TPS 应该都差不多。

但是根据算法的不同,达到这个情况需要的条件也不同,所以就不好比。比如链式的,就肯定不会考虑分叉的情况,这个时候你去和做 BFT 的比,那肯定链式的会高一些,但是 BFT 的不容易分叉啊。

DAG 也是,blockdag 的话其实有个问题就是 block 里可能会有重复的交易,他们考虑 TPS 的时候肯定考虑重复率低,可是大家可以思考一下区块交易重复率低是个什么状态?基本上就是说每个矿工每人只出自己的交易不和别人冲突的情况。

现在我觉得共识算法的一个趋势是追求“如何在网络正常的状况下最大地利用带宽”,这也是我目前在唯链做的一个事。

田跃华@一块链习学员:

1.所以无限扩展发展到最后,是不是还是可能出现中心化趋势?

2.有限扩展随着规模增大,最终是不是也只能变为无限扩展?

Maxdeath @讲师:无限扩展是从 scale-out 翻过来的,我不知道有限扩展是啥。而且我说了,无限扩展基本上一定会牺牲安全性和去中心化,所以无限扩展不是会出现中心化趋势,而是和可能压根就比可扩展的算法更中心化,所以其实无限扩展本身也是有争议的。

很多人觉得区块链就不该追求无限扩展,我是觉得,不该为了无限扩展而无限扩展。

田跃华@一块链习学员:不好意思,有限扩展这个词用得不专业,应该叫可扩展。我的第二个问题如果换成可扩展的话,你这边是怎么想的?如果随着规模变大,或者变得越来越大,还能做到一直可扩展吗?

Maxdeath @讲师:可扩展是指 O(N)消息复杂度,也就是所有交易需要被所有节点所获取,或者说所有人都有完整的账本,这是某种意义上说的区块链的原本意义。

从理论上,10 个节点还是 10000 个节点,如果整个网络的交易是相对均匀的,那么整个网络的输出是不会降低的,但是延迟可能会增加。但实际上输出还是会降低的,这是 p2p 网络决定的。

田跃华@一块链习学员:嗯,之前你给过这两个的解释,我大概也理解了。第一个困惑你刚也给说明了(更加中心化),第二个困惑主要是我无法想象,一笔交易同步到巨大的网络所造成的延时究竟有多少人能接受的了。

所以有些幼稚的想法,会不会可扩展最终仍然是往无限扩展的方向走,也就是说中心化是无法避免的。

Maxdeath @讲师:确实很难想象有什么事情需要全世界共用一个数据库做的,实际上我在论文里提过一个观点,就是其实中心化与否的一个标准应该叫进入门槛。

即便你的共识算法没有任何中心化的假设,不需要任何中心节点。但是你考虑的是一个 1000 tps 的东西在 10000 个节点上运行……那么天然的,你得能找到 10000 个人愿意花这么多带宽和储存空间去干这个事才行。

所以 1000 tps 本来就有很高的进入门槛,你得有专门的服务器和设备才能做这个,所以这算法无论设计的多么去中心化,最终都会中心化,因为只有满足进入门槛的标准才能用。

所以我提出来的就是,可能去中心化的真正途径是降低进入门槛,让想参与的人都能够参与。从这种角度讲,分片是必要的。

刘木春@一块链习学员:分片,每个片和别的片交流通过片间代理进行,普通交易信息,片内维护。和局域网组网一个道理,pc 门槛低+路由器,组成大一统互联网。

田跃华@一块链习学员:可能会诞生些新的职业和行业?新的一张全球网。

Maxdeath @讲师:但是那样,分片的安全性就只有分片本身保证了,而另一个分片要做交易,就需要信任这个分片的安全性。

一方面你可以说,我在中国做交易为啥要去验证美国的每笔交易的结果,这不是浪费么,于是你验证你的我验证我的,这就是分片。可是跨国交易怎么办呢?还是依赖某些中心节点,于是又变成了跨行跨国结算的问题。

所以不要神化区块链,不是所有问题都能用区块链解决。更不是所有问题都能用分片或者无限扩展解决,所以我说不要为了无限扩展而无限扩展。

追梦人@一块链习学员:共识层面和物理层面的限制,使得公链的不可能三角的唯一突破方式是分片。否则,即使是优秀的设计,也最终收到物理资源(带宽、状态空间(内存)、存储空间、CPU等)的限制而达到 TPS 上限。

Layer 2 的提升是靠是共识范围的牺牲换取的,其作用是将公链和具体应用场景的适配,而不能代替公链本身的性能提升。所以,分片是唯一选择。

分片要解决的重大问题有如下几点:

1.分片的原则。交易分片还是状态分片?

2.如何保证分片间同步信息以支持分片交易,同时不影响去中心化程度?

3.如何保证坏人无法集中力量攻击一个分片?

Monoxide 的接力交易-连弩挖矿机制很好的解决了这一点。实现了随着物理资源的持续投入,TPS 可以持续增长,直至一个非常高的值的效果。

但 Monoxide 的问题是,目前不能支持图灵完备的智能合约,因此,它不适合作为通用公链运行一切 DAPP,而适用于为某个或某种 DAPP 做定制化公链。

刘木春@一块链习学员:有什么好办法没?跨国搞跨国代理可以吗?但是分片层级分的有点多。

Maxdeath @讲师:monoxide 实际上还是在牺牲安全性,我觉得 vapor 就是好办法 。

刘木春@一块链习学员:vapor 怎么个做法?

Maxdeath @讲师:可以看我的论文 。

http://fc19.ifca.ai/preproceedings/125-preproceedings.pdf

孙晓明@一块链习学员:vapor 不可能三角,有没有可能技术革命更新,变成可能?

田跃华@一块链习学员:我觉得是肯定的,5G能把可扩展网络变得更大。量子通信我觉得能让网络变得无限大。

Maxdeath @讲师:论文里就有~实际上是可以的,但是在功能性上做了牺牲。其实没有量子通信~现在讲的量子通信其实是量子密钥分发,是加密用的 。

橙汁@一块链习班长:感谢任老师以及同学们提供的精彩讨论,我们下期再见。我们今天的话题讨论会就到这里啦!

◆ ◆ ◆

一块链习 • 话题讨论

这是一块链习举办的在线社群交流讨论活动,每期会针对当下热点话题或前一期《区块链技术公开课100讲》的直播分享内容,讲师留下的思考题,与社区同学共同参与进行深度探讨拆解,旨在帮助社区伙伴答疑解惑,扫除知识盲点,扩大认知边界。

欢迎更多伙伴参与,与区块链大咖一起让有价值的交流在这里发声。想报名参与的同学可以添加一块链习Jessie小姐姐的微信号(ID:yikuailianxi)。

一块链习更多好课等你来看哦

↓↓↓

区块链共识的可扩展和无限扩展_第1张图片

关注「一块链习」

与全球1000+区块链开发者一块学习

你可能感兴趣的:(区块链,可扩展,无限扩展)