LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 区块链入门(13) — 以太坊网络拥堵怎么办?

区块链入门(13) — 以太坊网络拥堵怎么办?

2019-11-11 币自来 来源:区块链网络

4079ef0e2ba9f2f4528694da42e4f4b9?x-oss-process=style%2Fcailu-watermark

之前我们说了比特币的扩容问题,有两种方式扩容,一种是通过硬分叉分离出来的产物,如比特金(BCH),还有一种是软分叉,如神仙操作”隔离见证“。而其他使用了与比特币网络类似的数据存储形式的加密货币网络,也必将伴随交易量的增加逐渐开始需要面对“扩容”的问题。而今天我们来认识一下专门为”以太坊“解决扩容的一种技术方案——分片(Sharding)。

32b7034b5f2a5776d36369445f650577?x-oss-process=style%2Fcailu-watermark

1分片(Sharding)是什么?

2018年4月30日,以太坊创始人Vitalik Buterin在其推特上发布了一条消息:“分片即将到来”,并分享了一个新的代码库,演示了如何把分片扩展解决方案“拴在”以太坊主链上,似乎预示着分片技术正在开始走向落地和实现。

7b7df97473e0161f0f0dcf7a9b1234fa.jpg?x-oss-process=style%2Fcailu-watermark

那到底“分片”是什么呢?其实,分片不是突然腾空产生的,它的出现是起初针对大型中心数据库而产生的,把数据库里的数据通过某种规则分成很多数据的分片(shard),再将这些数据分片存放在不同的服务器中,以减少每个服务器中的数据访问压力,从而提高整个数据系统的整体性能。别急,我们举个例子:

6647486abeeacc73563ddcb36b57a8da.jpg?x-oss-process=style%2Fcailu-watermark

我们平时使用的软件如‘滴滴打车’、‘美团’就是将城市进行分片,由于不同城市的数据不需互通,就可以将不同城市的数据放入不同的数据库中,这样既可以把数据服务器部署到离对应城市最近的节点上,还可以提高访问速度。

此时的你大概对分片有了一个初步的印象了,那分片技术落实到区块链应用上又是怎么样的呢?

区块链开发人员Raul Jordan解释说,分片技术的构想是每一笔交易只让一小部分节点看到和处理,所有的节点可以同时平行处理更多的交易。分片技术将以太坊分成几个并发网络,从而达到整个网络更加高效地扩展,以缓解网络面临的拥塞,提高交易速度,降低交易成本。

2传统的分片技术与区块链的分片有何区别?

其实,传统世界我们用的很多互联网服务都是基于分片技术的,那区块链系统的分片技术与传统的中心化服务器采用的分片技术有哪些不同呢?

其实他们是有很大区别的,在传统的中心化服务器里,所有的节点都是基于制信的节点,它们之间的互相的通信,还有它们之间的整个配置部署,都是以中心化、互相制信的方式来实现的。但是,在区块链系统中的分片技术,相比于中心化系统的分片技术,是有引入了代币经济学机制。

那什么是代币经济学机制呢?

使用了代币经济学,是使得大家在没有信任,以及每一个个体都是为了自己最大利益的情况下,能达到一个共同繁荣的局面。包括安全性的获得,还有账本的交易能够顺利执行。

传统分片与区块链分片技术具体体现在这两方面:1.安全性假设:区块链系统普遍是公链系统,所有人都能够去访问,并且有可能会遭受攻击的。而传统中心化服务器的分片技术,大部分情况下,用户是不能直接去访问运行这些分片技术的服务器的。而且经常是有好几层的防火墙,还有各种各样的安全配置,然后去访问这个运行分片技术的服务器。所以对安全的要求,尤其是公链系统的分片技术的安全要求,会远远高于使用传统中心化服务器分片技术的安全要求。?2.对其他的一些硬件环境还有网络环境假设:在中心化的服务器,基本上所有运行的分片的技术节点,都是运行在中心化控制数据中心里面。那么它们可以让整个网络会以小延时、高吞吐的方式进行通信。这种条件下,他们可以把这个整个网络建构成为一个趋向于同步的网络系统。但是区块链系统是基于整个互联网的大网络系统。因此也随之预料到会遇到很多网络问题,比如断网、被延展性攻击。因此,区块链系统里的分片技术要求会比传统型的分片技术要求高,区块链系统面临着更严峻的网络环境和硬件等问题。

3分片也有几种类型?

如果每个分片只承担全网的一部分工作,那就有几个问题了:

怎么确定这个节点是负责哪个分片的工作?

哪些交易应该归类到哪些分片当中去?

3. 每个节点是否只需要储存自己所在分片的交易信息(账本)?

根据以上问题的实现与否,我们可以将分片依次分为三种类型:网络分片,交易分片,状态分片。

网络分片:如何将全网节点划分到不同分片当中去。

交易分片:如何将全网交易划分到不同分片当中去。

状态分片:如何让各个节点只维护各自分片内的账本,但又不影响整个系统的安全性。

4主链与分链的区别与联系?

我们先通过一张图,来了解一下主链与分链之间有什么区别:

332b8c93261f2ed5aafe0d68beee575a.jpg?x-oss-process=style%2Fcailu-watermark

(主链与分链的区别)

我们从图中可以看出在主链中,区块的生产者我们称为?“矿工”?,而在分片链中则是?“校对人”?和?“校对块”?。

19cda484efa25a896a0b1914f483625b.jpg?x-oss-process=style%2Fcailu-watermark

类似的,校对块也跟区块的构成是类似的,校对块包含着?校对头?和?交易信息

打个比方,把以太坊的每个?主链?看成是一个?中国银行?,而分片链则是?中国银行分行?。

而?分片1?是中国银行?广州分行?,?分片2?是中国银行?上海分行?的区别。

这样比喻的话,你的思路是不是很清晰了呢。

那这些在以太坊里,这些分行的账本是如何汇总到总账本里的呢?他们之间又是如何实现联系呢?

我们先来解决第一个问题:?主链和分片链是如何实现跨链连接?

为了将分片链加入到主链中,在主链上需要有一个叫做验证人管理员合约,简称:VMC的特殊合约。(V:验证人,M:管理,C:合约)

主链的矿工将他们的保证金存入到VMC里,这些验证人就会被收录在VMC的验证人备选池中。系统将会“隔一段时间”根据保证金的多少随机为每个分片抽取一名验证人,将各个分片的校对头信息同步到主链中去。

d07fe3dd519ca5cbebdd23e66de0c05b.jpg?x-oss-process=style%2Fcailu-watermark?VMC工作机制

这种随机的形式,使得验证者无法提前预测他们何时会成为验证者,也无法预测会成为哪个分片的验证人,从而预防作恶的可能性。如果一旦发现我们的分片验证人作恶了,他的保证金就会被剥夺。?好,接下来我们看第二个问题:?分片之间如何彼此联系的呢?

我们先举个例子,从这张图中讲述:

d696261ef9e84d8ed46358fd94c33395.jpg?x-oss-process=style%2Fcailu-watermark

比如说一个转账方?小A?在?分片M?中,收款方?小B?在?分片N?中,小A可以通过主链这个桥梁,完成扣款操作,并创建一个带有ID的收据,代表着“自己已经完成了扣款操作”,收款方小B可以根据这个ID收据来创建一个收据消费交易,“消费”成功了之后,收款也就成功了。

adf2e2bf083e50c40651a97136e4f7a3?x-oss-process=style%2Fcailu-watermark?【总结】

分片技术在不影响去中心化和透明度的情况下,通过改变网络验证的方式来增加吞吐量解决扩容的问题。当区块链的吞吐量和处理能力得到改善和提升,这将给区块链网络带来更多的应用程序和用户,促进区块链网络的使用,从而吸引更多节点加入到网络中来,形成一个正向循环,期待分片技术能更好地结合区块链的共识机制来发展。

—-

编译者/作者:币自来

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

LOADING...
LOADING...