1. 首页 > 产业新闻 > 新能源

区块链分片技术的现状与未来

去中心化、安全和可拓展性无法同时满足,被称为区块链的不可能三角。这一结论难以通过数学证明的方式验证,也一直被众多项目质疑和挑战。开发者们提出了分片、DAG、状态通道、侧链/跨链等多种Layer
1和Layer 2的扩容方案。分片技术在不降低去中心化程度的情况下提升了可拓展性,具有良好的应用前景。

近期多个公链项目如Ontology 等宣布了自己分片技术方案,一些知名分片公链如QuarkChain
等宣

布将于近期主网上线,引发市场对于分片技术的关注。TokenInsight邀请了QuarkChain、MultiVAC、Alephium、Ontology、Top
Network 等采用分片技术的公链项目一起讨论分片技术的现状与未来。

火星财经:传统世界我们用的很多互联网服务都是基于分片技术的,您觉得区块链系统的分片技术与传统的中心化服务器采用的分片技术有哪些不同呢?

QuarkChain CEO
周期:
感谢陆老师的问题,我以前在谷歌、Facebook专门做分布式系统,用到各种分片技术。所以对分片技术,尤其在中心化的系统里面与区块链的分片技术的区别还是深有体会的。那么我觉得主要三个方面,第一方面是代经济学和去中心化。第二方面是安全,第三个就是其他的硬件方面和网络的假设。

首先说一下去中心化的代币经济学。区块链里面有一个非常伟大的发明,就是引入了这个代币经济学的机制。那么,通过引入代币经济学,使得到底在没有信任,以及每一个个体都是为了自己最大利益的情况下,能达到一个共同繁荣的局面。包括安全性的获得,还有账本的交易能够顺利执行。

在这一方面与传统的中心化系统是有非常大的区别的,因为所有的节点都是基于制信的节点,它们之间的互相的通信,还有它们之间的整个配置部署,都是以中心化、互相制信的方式来实现的。那么这样的话,在区块链系统中的分片技术,相比于中心化系统的分片技术,尤其是代币经济学里的设计,会有非常大的不同。

举个例子来说,在分片设计里面一个很重要的设计叫做跨片设计。在中心化服务器里的跨片设计,很多时候可以通过中心化的锁服务、Messaging、Passing、Message
Que的方式来实现。但是在区块链系统里面,第一个,我们这种跨片交易怎么能够通过比如代币经济学的方式,能够保证这些跨片交易的安全性、原子性等各方面。所以在这方面,整体的设计和实现的思路会跟中心化的服务器使用的分片技术有很大的区别。

那么第二就是安全假设,现在的区块链系统都是指公链系统,所有人都能够去访问,并且有可能会遭受攻击的。而传统中心化服务器的分片技术,大部分情况下,用户是不能直接去访问运行这些分片技术的服务器的。而且经常是有好几层的防火墙,还有各种各样的安全配置,然后去访问这个运行分片技术的服务器。所以对安全的要求,那么区块链尤其是公链系统的分片技术的安全要求,会远远高于使用传统中心化服务器分片技术的安全要求。

第三个,就是对其他的一些硬件环境还有网络环境假设。像中心化的服务器,基本上所有运行的分片的技术节点,都是运行在中心化控制数据中心里面。那么它们可以通过Quality
of Service 方式,去让整个网络会小延时、高吞吐的方式进行通信。这种条件下,他们可以把这个整个网络建构成为一个趋向于同步的网络系统。

但是区块链系统是基于整个互联网的大网络系统。那么在这里面我们可以预料到会遇到很多网络问题,比如断网、被(D)DOS攻击。断网其实是对网络的同步和异步的假设,互联网本身是可以认为是一个大的异步的网络系统。

从这几个维度来说,区块链系统对分片技术的要求会比中心化系统的更高,因为它会遇到更严峻的安全假设以及更差的网络环境。所以在区块链系统设计的分片技术,会要比传统的中心化服务器采用的分片技术难很多。

链闻:MultiVAC的分片方案怎么保证安全性和去中心化?实现了交易分片,存储和传输是否成为瓶颈?

MultiVAC CTO
应翔:
这是一个关键性的问题。我先说安全性,分片的技术方案关键挑战在于单个分片的安全性是否会比全网更弱,这是核心问题。那么它的关键就在于我们能否去动态调整分片,或者调整矿工,或者调整分片的从属关系。通俗友们一下,就是假如说我的交易总在这个分片上,然后服务于这个分配的人也永远是那几个矿工,那么这个分片一定是脆弱的,久而久之我就可以跟这些矿工去串通了。毕竟分片内的矿工数还是少,我勾结他们比勾结全网矿工要容易的多。

那么MultiVAC的方案就是使用了VRF(TokenInsight 注:Verifiable Random
Function,可验证随机函数)动态重分片的方案,具体就是两个点,第一,随机分配;第二,动态调整。随机分配比较好理解,就是并不是你想去当哪个分片的矿工你就可以去,你必须使用VRF的方式去用数学的办法来随机地选择。所以你没法跟别人说,我们十个人一起去某个分片。那么第二个,就是MultiVAC的一个首创,也是非常关键的一点,就是动态调整。就是我服务于这个分片的矿工,并不永远是这波人,我可能几分钟到十几分钟就换人。那么这个就保证了,哪怕你想串通都来不及。这是一个很关键的点,那么我们是怎么做到让矿工可以轻易在几个分片之间来回切换的呢。

矿工可以在几个分片之间来回切换,是我们动态调整的一个关键点。我们的解决方案是一个成体系的、同时也解决去中心化的这个问题。

我们说一下去中心化,我认为如果要真正做到去中心化,第一,我们要少用PoW,因为现在的PoW基本上都是矿池来把控了,普通人很少能自己弄矿机在家挖矿的。而且现在社会都是吃过猪肉的人多,见过猪跑的人反而少了,我想在座的各位大多可能都是用过币,或者买过币,但真正挖挖出来过比特币的人,我估计很少很少。

第二,我们一定要降低矿工的准入门槛,把权力下放。现在很多的技术方案,一遇到瓶颈、困难,他就设置一个超级节点去处理问题,或者设置一个上层的根链、上层的委员会,或者上层的这种信标链去解决问题。但是我认为区块链的未来应该是争取权力分散,而不是权力集中。

MultiVAC的有一个很大的创新,我们设计了一个基于Merkle
Tree的交互式控制数据库,我们把数据的控制权和存储分离,也就是说,在我们的系统有存储节点和矿工两种角色,怎么旷工呢,他拥有完整的控制权,但他却不需要全账本,他只要有很轻量级的数据啊,几百个字节都不到1KB的数据,它就可以出块,可以投票,可以验证交易,可以更新账本。

存储节点,就跟电信、联通或者美国的AT&T这样的运营商一样,他们只提供最基础的基础设施服务,他不能对你的数据有任何的控制权,就象电信给你拉个宽带,你来决定宽带上跑的数据是什么,它控制不了。我们是在数学上保证了存储节点,无法对数据进行任何的增删改操作,而不仅仅是靠经济模型来制衡。

然后因为矿工不需要全账本,只要有很轻量级的数据。所以矿工在各个分片之间的切换也就变得非常的方便,就几百个字节的事情。所以你可以来去如风,这会儿在这个分片当矿工,下一刻就去了另外一个分片当矿工。也就是像我们刚才说的这个动态重分片的功能,同时也保证了分片的安全性。

因为MultiVAC的矿工门槛很低,低到什么程度呢,目前来看是拥有一个双核的CPU、4GB的内存,你就可以成为矿工了。现在我们还在进一步优化我们的代码,甚至未来你有1GB的内存,就足够作为一个矿工,那么,到时候你开着电脑挖矿都不会影响你正常办公。那这样的门槛意味着任何一个人都可以成为矿工,这样就可以吸引到很多人来加入我们这个网络。我们的MultiVAC的系统的控制权又完全是掌握在普通矿工手里,所以它是一个真正去中心化的一个分片技术。我们预计在第二季度(五月份左右)会放出我们的普通节点,即可以参与挖矿的客户端,到时候到底每个人都可以参与并加入我们。

存储和传输方面,MultiVAC是第一个提出计算、存储、传输全维度分片的技术方案,详细的技术细节在我们的黄皮书里面到底可以在我们官网上看到,我们的黄皮书是非常严谨的,具体技术细节我可能没有时间来充分的友们。但是我可以放一个结论。

这个结论就是,MultiVAC是真正做到每一个分片内的计算、存储、传输的业务量,都正比于本分片的TPS的业务量,他跟全网的总业务量无关。举个例子就是,如果全网有20个分片。每个分片500个TPS,那一共就是1万个TPS,但是在MultiVAC里面,每个分片处理的传输量跟500个TPS差不多;存储量,只有存储节点,它也是差不多500个TPS;它的计算量也是那么多。不需要去关心全网有多少的业务量,然后真正实现从水平扩展可以无限增加分片,然后我们的门槛很低,所以加入的矿工就很多;然后我们支持水平扩展,所以会有更多的矿工加入,就会有更多的分片,就会有更强的TPS性能,就会有更多的生态接在上面。

碳链价值:Alephium的分片技术有哪些创新,分片技术与DAG这两种链上扩容技术的结合将带来哪些优势呢?

Alephium CEO
王成:
我们的分片技术跟现有的方法有很大不同,我们的分片分为两步,第一步是把账户地址分成G个组,第二步是交易分片,我们的交易是采用UTXO模型,我们根据交易的输入和输出属于哪个用户组,来把交易分成G*G个组。举个简单的例子来说明一下:假设我们将用户分成三个组A
B C,那么就可以根据交易的输入和输出将交易分成九类(A到A,A到B等等),对于每类交易,我们单独建一条区块链来进行交易确认。

这种分片方法带来几个好处,我们说两个最重要的。首先是跨分片交易特别快,如果要从A转账给B,我们直接把这笔交易放到对应的链上即可,而现有的其他分片项目都需要采用类似于two-phase
commit的方法。第二个好处就是可扩展性,账户组A不需要下载账户组B,C之间的交易,相当于把总帐本拆分成多个分片账本,每个账户组只需要处理相应的分片账本。

相比于单链,分片技术会给一致性和安全性带来挑战。我们通过引入DAG技术到我们的区块流算法里,通过精巧的数据结构来维护分片之间以及区块之间的依赖关系,这些关系形成一个DAG(有向无环图)。区块流算法能保证矿工不断的添加新的区块到DAG上,再通过finality算法产生共识。同时,由于这些依赖关系,分片的安全性能相互累加,攻击者攻击一个分片里的区块,必然需要攻击其他分片依赖此分片的区块,从而提高了分片的安全性。

我觉得DAG结合分片将会成为未来的趋势,这一点到底可以参考计算模型的进化过程。计算模型从序列计算到并发计算,再到分布式计算,分布式系统里单个节点里采用的是并发计算模型。类似的,区块链从单链发展到DAG,现在扩容如果结合分片和DAG,就非常类比计算模型的演化。从这个角度,我觉得我们走的是一条非常正确的技术路线。

链得得:Ontology于2018年发布了分片设计方案,请问您为何在众多扩容方案中选择了分片技术?分片技术对Ontology的价值是什么?未来分片方案讲解与现有系统结合并落地?

Ontology (本体)资深架构专家
丛宏雷:
谢谢常老师的问题,在去年六月份Ontology主网上线之后,我们就开始了2.0的研发,2.0的一个目标就是解决2B应用的需求,也就是让区块链在2B的方向能够落地。

当时,Layer 2的技术才刚开始,我们也研究了很多的Layer 2的技术,将Plasma等。然后我们发现要做真正好的安全的可扩展性很难。因为在Layer
2上是采用了法庭的假设,然后通过Challenge的方式,做重放进行状态证明。因为区块链是一个数字化的世界,和现实世界有比较大的区别,这样很难真正实现安全的可扩展。

因此我们发现是只有通过在Base
layer的Sharding技术,才能实现区块链的安全可扩展。然后虽然到底认为这个分片技术很难,但是实际上要真正做安全可用的Layer
2,真正Practical(可实现的)技术,我们认为需要更多的密码学技术才能实现,这个好像是更难。但是分片,基本上源自这个十几年前的一个历史。

数据库技术经过十几年的发展,理论研究很成熟,所以在我们这个分片的设计上有了很足够的理论支撑,所以我们选择了Sharding的方式来做扩展。

第二个问题是,未来分片的方案,怎么和现有的系统相结合,这个实际上是在我们本体一开始设计的时候,本体的设计是一个可延续的设计,因给网都了解区块链是一个自激励的系统,它的设计目标是就是保持去中心化的运行,这是区块链的系统和所有其他系统不同的地方,也是区块链系统设计的魅力所在,所以说在Ontology的设计最开始的时候,我们对系统的演化作了充分的考虑。

在Ontology里面,很多核心的功能都是采用系统智能合约的方式来实现的,我们的分片的设计,也是基于智能合约方式的分片。也就是对智能合约业务做分片,而不是做Token

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.fjxmta.com/chanye/xinnengyuan/11078.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456