TokenInsight 对话首席——分片技术的现状与未来(下)
邀行业首席,谈市场现状,见趋势未来!本期《对话首席之分片技术的现状与未来》线上活动于3.29日16:00点顺利举办。
去中心化、安全和可拓展性无法同时满足,被称为区块链的不可能三角。这一结论难以通过数学证明的方式验证,也一直被众多项目质疑和挑战。开发者们提出了分片、DAG、状态通道、侧链/跨链等多种Layer 1和Layer 2的扩容方案。分片技术在不降低去中心化程度的情况下提升了可拓展性,具有良好的应用前景。
近期多个公链项目如Ontology 等宣布了自己分片技术方案,一些知名分片公链如QuarkChain等宣布将于近期主网上线,引发市场对于分片技术的关注。TokenInsight邀请了QuarkChain、MultiVAC、Alephium、Ontology、Top Network 等采用分片技术的公链项目一起讨论分片技术的现状与未来。
同时,《对话首席》也欢迎交易所、钱包、矿池等区块链各领域首席,参与到我们的活动中来,共同为行业的发展建言献策。详情可联系TokenInsight首席沟通官维维:tokeninsight_data。
本次直播活动持续2个半小时,嘉宾分享的内容密集而精深,因此特分为上下两辑,以飨读者。
以下为【对话首席】文字整理版:
/ 第三环节:圆桌会议二 /
链得得:我的问题是分片技术尤其是其中状态分片实现难度较大,那么,分片技术是否具备足够强的商业可用性?分片技术在实际落地当中需要注意哪些问题?未来分片技术是否存在被其他扩容技术取代的可能性?
QuarkChain:如果是要大规模的商业落地的话,那么分片技术是区块链里面的一个基础,就商业可用性的话,除了是跟分片技术相关之外,还有其他的方面的关系,包括比如虚拟机,账本模型和代币经济学等。所以认为分片技术是商业可用性的一个前提和基础。
在实际落地场景中,分片技术核心的一个问题是用户的体验。比如说从用户使用体验的角度出发,这个技术就是尽可能做到让用户意识不到分片的存在所导致的交易体验的差异,不管交易是链内的交易,或者是跨链的交易,那么对用户来说可能不会有很大的区别。
那么我觉得这是分片技术的一个需要注意的重点。这就好像我使用谷歌搜索引擎,他可能使用的数据分布在不同的网络节点中,但是用户的体验就是返回一页的搜索结果。
最后一个问题是,关于是否可取代的可能性,我个人觉得它可能不是被其他技术替代,而是说和其他技术结合在一起,更好地解决扩容的问题。如果真有一个技术能够完全替代分片技术,那我觉得对整个分布式系统来说,可能是一个革命。但是至少短期内很难看到这种可能性。
另外一方面,分片技术和另一个大家经常提到的DAG技术,那这两个其实不是互相冲突的技术,而且很多的分片技术跟DAG的其实是相关的,或者说,分片技术在某种意义上说也是一种DAG。所以,如果说分片可能会被DAG取代的话,我觉得这可能是个伪命题。
MultiVAC:我认为分片技术的难度确实很大,但这是我们目前看到的最好的最可行的方案,未来不排除有其他更好的技术出现。但在可预见的未来,我们暂时还是看不到其他更好的扩容方案。
商业可用性少,我认为不应该急于求成,而应该想得更清楚一些,做得更好一些。其实真说要用的话,现在也可以用,但是目前我看到的技术还不够好,还不足以满足大家的期待。比如说当初BTC的支付,其实它就已经有一个脚本的,你可以定义说什么情况,我才能解锁这个UTXO的钱。但是以太坊设计时,它的智能合约完全没有去迁就兼容BTC的这个脚本,以前你写脚本的经验其实也就没有用。
所以我觉得在商业可用方面,其实最难的是对过去陈旧的东西说不,这是很困难也很需要勇气的一个事情,一个好的技术方案应该是去引领时代。
然后我认为取代以太坊的并不是更好的以太坊,应该是更先进的设计,我们认为分片是下一代区块链的方向,我们理应去设计更好的开发范式,而不是想着怎么去向前兼容,反正现在的DApp开发也没有多少繁荣,然后除了ERC20就是赌博。
所以可能这是最困难的,就是说对过去说不。但告别旧的,我们才能迎来更好的,然后对过去的技术说不。对行业原来的认知所不。对未来越有信心,对现在就更有耐心。
Alephium:个人觉得分片技术是非常有必要的,因为一旦用户或者使用量上来之后,性能的瓶颈马上就可以看得见,比如说2017年的时候,我们在以太坊上就可以非常直观的体验到网络的堵塞现象,一旦区块链真的被大规模使用啊,就比如说简单的一个跨境支付,可能现在的那个单链的系统就完全支撑不了。
分片技术,因为它本身相比于单链技术而言更加的复杂,跨分片交易和跨分片通讯。这个两个技术难点都会给用户体验,系统设计带来很大的影响,项目在设计应用层的时候肯定要综合考虑这些取舍,比如说,如果一个项目他的跨分片交易采用的是二段提交的办法,那么他的钱包以及智能合约的设计,肯定就要处理这个两个阶段提交。可能带来的一些问题,比如说延迟,比如说第一个阶段提交成功了,第二个阶段还没有提交成功。这个时候怎么让用户了解到这个过程。
所以这里也涉及到第二个问题,就是用户体验的问题,一方面我们希望提供一个黑盒子,让用户不用了解我们的技术细节,不用了解分片是怎么做的,就可以使用该技术;但是另外一方面我们又必须得提供一些跟我们分片技术相关的一些状态,或者一些特殊的数据交给用户,那这个时候用户怎么样去理解,怎么样去正确的使用我们的应用。这个时候就需要有一些时间让用户去接受,去理解我们的技术的整个过程。所以这个我觉得这其实是一个很大的难点,比如说手机,从最开始的诺基亚手机到苹果手机,其实现在还有很多的一些人就是使用起来会觉得不那么方便。
分片技术会和其他的一些技术并存。因为首先区块链领域我们没有完美的共识算法。在这种情况下,不同的项目,不同的技术会有不同的取舍,这个时候开发者就需要针对自己的应用来选择最合适的平台,比如说,如果一个应用对于交易通量要求比较高,然后对跨分片交易的速度要求比较高,那么采用我们的平台就比较合适,因为我们的平台跨分片交易速度非常的快。
Ontology:首先回答一下分片技术是否具有很强的商业可用性的问题。在我们自己的研发有一个目标,即更好地解决to B应用的需求。对于to B的业务来讲,在区块链上可能每个业务,就是在区块链上通过一个智能合约的方式来实现。因此,在我们做分片技术的设计中,基本上是基于智能合约事务的一个分片的设计。另外在设计里面最重要的一个问题就是安全性问题,因为我们目标是做to B,所以它的安全性必须要达到足够的安全。
在实际落地中,我们需要注意的问题,除了分片设计的安全性、扩展性这些技术方面的问题外,更重要的是选择一个合理的商业模式,所以我们就是选择了这个相对比较简单的方式,就是现在想的比较简单的to B的方向。另外就是关于一些商业隐私保护,我们的研究也是在分片网络中相对更容易实现一些。
最后一个问题,就是分片技术是否有可能被其他技术取代,我觉得是有可能,这种未来的事情很难说清楚,比如说这个密码学方面的安全、IP技术等,如果是突然获得一个较大的突破,我们觉得都会对区块链的架构产生很大的影响。但是分片技术,我觉得和这些技术都可以相互融合在一起,因为在这些都不是完全互斥的一些基础,所以对于分片来说应该是一个未来的方向。
Top Network:其实分片技术是少有的可以改变商业的案例,毕竟区块链商业没法落地的主要原因还是吞吐量,实时性和确定性的限制,分片技术如果运用得当是可以解决的业界的瓶颈,分片之前确实没有成熟的方案,但这个现状已经改变了。业界的头部项目的已经有了可保证安全,可实用,可落地的分片方案。也就是说技术上已经看到的可以商业落地了。
从技术角度看,分片技术中计算分片、网络分片,不涉及状态的分片和同步,实现确实相对容易。但不实现状态分片这个系统本身是不可能持久运行的,一个很高TPS系统,每天才能的区块数据是海量的。一个TPS越高的系统,每一秒同步的数据需要带宽也是巨大无比,最终会是99%的节点没有这样的带宽的承受。那就演变的结果,要么这个系统就变成完全中心化,或者说半中心化的系统。那也违背了我们区块链的一个核心价值和理念。
关于分片技术会不会在未来会被其他扩容技术的取代,目前应该说没有,所谓取代不取代之分,应该说有合适不合适区分。但是从计算机来角度来看,我们现在计算机系统里解决系统吞吐量及性能的大部分手段和技术,其实都属于广义的分片技术,那从这个角度看,分片技术是未来解决区块链行业性能和容量的主要手段。
/ 第四环节:专家观察团提问/
AnChain.ai:很多人认为分片技术虽然在保证了去中心化程度的情况下解决了可拓展性不足的问题,但是会对安全性造成影响。您觉得分片技术对安全性的影响如何呢?
QuarkChain:首先,我觉得大家对安全性可能会有一些误解。举个最简答的例子,像BTC这种经典的PoW链,它们对安全性的定义是51%的攻击。现实中,除了BTC采用这种算法挖矿以外,还有BCH、BSV,他们都是在使用同样的算法进行挖矿。
因为BTC的算法(SHA256)被稀释,对他进行攻击所需要的算力其实现在是远远低于(所有SHA256算法算力)51%的,更加不用说BCH或BSV的这样的一些链。那么我们关于安全问题的角度,其实是一个攻击成本的问题。也就是说要考虑进行一个刚才说的51%的攻击所需要的成本,比如说电力成本、租赁成本和攻击者的个人影响成本。
那么打个比方来说,假设我们有一个分片的技术,能够让BTC、BCH等同样算法的数字通证以一种新的分配的形式存在,大家都能够共享BTC的算力来保证安全。那么我们认为他们其实是比现在的大家各自采用独立链的这种方式的安全性更高。所以我们认为这里是一些大家对安全性的定义的误解,尤其是分片可能对安全性的影响,并不一定是负面的。
Alephium:刚才周老师从偏经济学的角度讲了一下扩容时候的安全性问题,我个人想从更加偏技术一点的角度去想这个问题。首先,国内应该很多人都有一个说法说有不可能三角,其实我觉得这个应该是一个翻译上的问题,其实是一个三个维度上做一个取舍的问题。然后在我们真实的设计分片算法的时候,我们考虑做取舍的维度更多。比如我们要考虑分片算法可能给系统带来的额外负担到底有多少。然后还要考虑比如说合约方面的设计到底对分片技术有什么影响等。
所以不同的项目采用了不同的技术,对最后带来的扩展性到底能够扩展到什么样的地步,然后有多么的安全、去中心化,其实是各个维度都是不同的。然后对于我们Alephium这个项目而言,我们对安全性非常的看重,我们的安全性目前就是我们的算法保证了跟BTC的是差不多的,基本上是一样的,因为我们引入DAG算法把分片之间的依赖关系给明确的处理了起来。在这种情况下,如果用户要攻击其中一个分片上的区块或者交易的话,他必须得同时攻击其他所有的分片,这个就带来了51%攻击的这个安全性。
王嘉平博士:对比与DAG(有向无环图)、侧链与跨链、闪电网络等其他Layer 1 和Layer 2 的提升可拓展性的方案比较,分片技术的优势是什么?
TOP Network:这个问题,从技术角度看,分片优势主要还是这么3个:
一是能支撑比较强的水平扩展和按需扩展,而且不同的分片技术可以存储,通信,计算等不同层面实现扩展。区块链行业目前还处在性能瓶颈还远大于业务瓶颈的阶段,因此技术的提升对业务的支撑,将是至关重要的。
二是分片技术是可以在每一级里都可以采用的技术,没有太多的限制。我们说主链,侧链,跨链,或shard都是可以得到很好的应用。另外既然核心资产和状态是在Layer 1上的,那分片技术能发挥的价值显然比off-chain这些技术更高。
三是计算机系统里解决系统吞吐量和性能的大部分手段和技术,其实都是属于广义的分片技术领域。从这个角度看,区块链行业可以从传统计算机行业获得很多的参考和灵感。技术实现的理论依据,和实践经验也是非常多的。
当然在不同的行业和应用,侧重点是可以大大不同的,比如一些短时高频业务确实layer2 方案是天生最契合的。
另外既然讲到了其他扩容技术,我也抛砖引玉,简单的总结下这几个技术:
一是纯粹的混沌结构的DAG 并不能带来共识的扩展。DAG-Chain和传统Block-Chain核心区别是:前者是先上车后查票,并行写入chain非常快但并行对交易的完全有效性和一致性的检验就没有那么快;而传统的Block-Chain是先检票后上车,交易的有效性和一致性被打包在固定时间间隔内执行检查。公平的说DAG好称百万的TPS只是从写入和简单有效性检查看到的吞吐量指标而已,从一个交易的视角看整个交易流程被最后确认(settled)的时间不短,而且最后交易确认的时间有不确定性。
而TOP使用的是点阵DAG(Lattice DAG) ,Lattice-DAG 在数学上是非常有序和一致的的,可以很好的保障交易的确定性和有序性,可以避免上面的这些问题。
二是闪电网络和state-channel 技术在绝大部分场景下体验不好,甚至成本大于其获得的收益。本来是为加快交易的,但实际上最后锁定和解锁过程繁琐,时间成本不小。当然也要有看应用场景,TOP Network里我们就对State-Channel的Layer2 方案进行优化设计,解决了解锁和锁定的弊病也保留了State-Channel在频繁交易上的好处。特别适合去中心化分布式通信中高频小额的特点。
三是跨链和side –chain,从宏观层面其实也是分片技术的一种。TOP 3层账本设计中间一层是service-chain. 就是引用了side-chain的技术。
回到最初的问题,总结起来:分片技术在现阶段是解决区块链吞吐量和性能的主要手段,但分片本身不能解决所有问题,必须针对系统的实际问题有针对性的设计和创新;必须把其他好的技术比如点阵DAG,分层网络,Layer2等技术综合起来加以创新。最后也不要限制自己的视野,广义的并发和并行的技术和广义的网络技术都是分片技术的下一步演进方向。从创新的角度看,区块链往后的主要演进应该是朝综合创新,组合优势,理论和工程技术结合等方向走的。
MultiVAC:我跟嘉平老师算是以前的小同行,以前都在一个学术圈子里面,十年前也读过嘉平老师当年的论文,想不到现在大家又都来做区块链的分片技术,看来做这个事情还是需要有相同的技术背景吧。
我先说一下我对侧链、跨链和多链的一个看法。其实,这是一个认知升级的过程。在两年前,那个时候分片还没有火起来的时候,就有很多区块链项目开始认知到一点,就是光靠算法,包括共识算法、账本结构,修修补补是很难从本质上提升性能的,没法真正解决扩容性的问题。所以大家就很自然的想到侧链、多链这种方案了。
但是我认为,侧链多链方案它的一个核心问题在于,多条链之间一旦多条链共存的话,那么单条链的矿工数量肯定会不足,所以他带来的问题就是这条链的安全性其实是没有保障的。就是我刚才说的这个问题,这条链上可能始终是这么几百个矿工甚至几百个都不一定有。就像我们现在,BTC才1万个节点左右,然后以太坊才14000个节点左右。如果你要造出来100条链,那一条链能有多少矿工,矿工一少,它的安全性问题就会非常的严重。
相比之下,像我们“分片的随机分配加动态调整矿工”这个策略,就可以很有效的去规避掉这个问题。所以本质上大家的思路是一致的,就是说用并行的方案去形成扩容。但是解决方案的这个路径是不一样的,以及大家对安全性的考量是不一样的。
然后我再讲一下DAG,今天这里有其他的项目方想做DAG+分片等等之类的,其实我关键观点比较激烈,就是我不太认可,DAG和分片是可以叠加的。
举个例子,BTC和以太坊像是一个窗口前都排了一个长队,第一个大家有序的一个排一个,排队队伍不是很长,但是很粗,大家都往窗口挤。分片更像是多开几个窗口,每个窗口都能并行的处理。我认为他们之间的差异就是,排队都往前挤,其实没有根本性解决处理能力的问题。换在DAG里面就是网络风暴问题、账本排序问题,你怎么解决。我觉得这些本质问题是很难解决掉的,而分片是真正可以去并行去处理。当分片的技术真正落地之后,我觉得不需要再结合DAG了。
最后我说下闪电网络,还有包括Layer2的这个问题吧。刚才TOP NETWORK的CTO也说了,就是所有的技术都是有边界的,不能够包治百病。然后我们知道分片它可以解决扩容的问题,就是Scalability问题,这个是能解决的。嘉平老师刚才也说了,在分片之中,分片的安全性问题也可以解决掉,分片解决不了的问题就是,如果你要保证去中心化的话,那么交易延迟这个问题是解决不了的。就是一个交易它需要一个区块的确认时间,这个问题是分片去中心化的方案解决不了的,而闪电网络对这个方案的解决是非常好的。
我们看到闪电网络,它可以缩短交易延迟,可以通过微支付通道去提升它的吞吐量。这个东西非常的好,但是闪电网络也存在它的一些问题。现在来看闪电网络,如果它往前持续演进的话,那么最后肯定会得到一个效率最高的最优解,就变成我们每一个人跟,比如说支付宝或者说非常中心化的机构去建立一个微通道,然后通过他来做这个路由。你会发现这个方案是闪电网络最后的最优解,但这个东西就会变得非常的中心化了。
包括Layer2多多少少也有一些中心化和安全性的风险,但是他确实也带来了区块链分片技术中所不具备的一些特点。就是它可以把另外的信息和价值上传到链上,它可以实现很低的交易延迟,这是分片技术所不具备的。所以我觉得分片和闪电网络包括Layer2,这些东西是一定程度上是可以结合的,他们之间并不冲突。但是Layer2对分片来说,它的意义不那么明显。不像以太坊之类的,它主链本身性能很差,所以Layer2就显得极其重要。分片就相对来说,不那么重视Layer2的再次扩拓展。
这是我对上述几个方案之间的比较和看法。我认为DAG、侧链网络跟分片没有必要共存。但是闪电网络和Layer2还是对分片能够有进一步的这个拓展的可能性,这是我的一个观点。
王嘉平博士:我大概总结一下性能的几个方向:1、单链系统是没有伸缩性的包括algorand,TPS最高不超过3000,除非像EOS那样禁止第三方全节点,变成一个云服务;2、跨链有伸缩性,但是一链一业务,导致每个业务都被限制于单链的性能,只能支持每个业务都很小的情形,倒是符合现状,但是无法迎接未来的大业务;3、侧链是利用了垂直业务的自身特点,针对垂直业务,不过一个Layer 1上面可以部署很多种Layer 2的侧链,弥补Layer 1的一些缺失,比如交易延迟。
蒲松涛博士:我有两个问题:第一个是关于技术创新竞争态势的,分片是当前区块链领域技术创新的一个重要前沿领域,各国的区块链研究者都在积极探索,您觉得从全球技术创新角度看,我国和国外相比在分片这个技术环节中处于什么地位,是技术领先还是落后?另一个是关于技术应用生态投建的,您觉得分片技术的应用需要什么样的前提条件,从硬件设备、系统设计、网络条件等方面需要什么准备?
Ontology:我认为国内虽然起步晚,但国内国外处于相近的水平,每家都有自己的技术方案,百舸争流,不像前几年基本都采用了以太坊的框架。但是创新性方面国内确实比国外差一些,这一点可能和国内的大环境相关,项目普遍生存压力较大,通常完成设计后会尽早上线,而海外更倾向于多次迭代。
分片需要的基础设施方面,如果将来区块链得到普及,底层应当是基于云平台(AWS等)实现的;在落地上,在to B方面推进分片落地是我们认为比较合理的一个方向。对于Ontology分片来讲,由于我们是多层结构,每个节点是Root Chain节点同时也是分片节点,因此对硬件的要求相对高一些,根据节点参与分片的数目的多少会有不同,目前至少要求4核32G的硬件配置,目前在云平台肯定没有问题。
另外对于分片来讲,它带来TPS的提高,交易量的增加,以及历史数据增加,这在分片上是特别凸显的一个问题,存储分离应该是必然的要求和方向,在分片网络中必然存在一些存储节点网络,为整个网络提供存储证明这样一个服务。
最后我认为未来区块链大规模应用之后,一定会出现针对区块链应用的专业化云服务运维的增值服务,整体上我认为底层基于当前云平台是好的,但是我认为会出现一些针对区块链应用的增值服务。