区块链:图文详述以太坊的节点和分片(二)

在该系列中我们定义了节点,对比了中心化和点对点网络的区别,提到了点对点网络在加密货币中的重要意义。这一讲我们将进一步探讨以太坊网络。

以太坊的网络结构

以太坊是点到点的网络结构。网络中的参与者,又称节点,不享有任何特殊权利,人人平等。虽然节点并不享有特权,但是他们在网络中的功能和参与程度不同。以太坊网络中不存在中心服务器,或者独裁者,而是一个扁平拓扑结构。

所有去中心化的加密货币都是这种网络结构,目的就是为了真正践行这样一种理念:创造一种货币体系。在这个体系中人人平等,不存在管理部门可以随意定义货币的价值。比特币或者以太坊都是如此。

那么问题来了。没有中心系统,这个系统中的人怎么会知道某笔特定的交易发生了呢?具体的网络运作原理有点类似八卦传播协议。我们来回想下八卦都是怎么传播的。假设Alice给Bob转了3个ETH,最靠近Alice的节点知道了这个消息,然后转告他们身边的人,这些人又告诉就近的人,然后一传十,十传百,直到所有人都知情了。节点就是你隔壁的王大爷,就是你的七大姑,八大姨,你们村的大喇叭。

以太坊的节点是什么呢?一个节点就是参与以太坊网络中的一台电脑。参与方式有三种:

*保存部分区块链信息,即轻客户端。*保存一份完整的区块链信息,即全节点。*确认交易,即挖矿。

什么是轻客户端?

我们之前提到过,点到点的系统就是把维护网络的责任分布给节点。要是有人想参与这个网络却没有资源下载并维护这个系统的完整区块链呢,就可以选择轻客户端。作为轻客户端,同样可以保障以太坊网络的高度安全,并且有权利确认一笔交易。

什么是全节点?

所有连接以太坊网络的电脑,只要完全执行以太坊的共识规则就叫做全节点。全节点要在电脑桌面上下载整个区块链,保证整个网络的可信。全节点需要遵从的部分共识规则包括:

确保每个区块中的挖矿奖励准确无误,为5个ETH。交易有正确的签名。交易和区块存储在正确的数据结构中。任何区块中都不能出现双花现象。全节点确认其他节点和交易,并且依赖其他节点的信息。矿工vs节点

简单说,所有的矿工都是全节点,但并不是所有的全节点都是矿工。矿工需要运行所有连接区块链的节点。但是并不是所有下载了全节点的都必须挖矿。

以太坊问题面临的扩容问题

以太坊网络的共识是怎么一回事?这个网络的每一个节点都在做计算,当他们达成共识的时候,一笔交易就被认定不存在问题了。最初这种达成共识的过程不存在问题,但是随着以太坊的普及,交易数量在稳步提升,问题就来了。

虽然交易量上去了这是个好事情,但是网络在达成共识前所需要的计算量也大幅上升。此外,由于某些大公司的加入和ICO狂潮,以太坊愈发普及,以太坊网络上的节点也出现爆炸式的增长。事实上,以太坊的节点是所有加密货币中最多的,因而也是最去中心化的。

截止到2017年5月,以太坊的节点数为25000,而比特币只有7000个节点。单就4月份到5月份,节点数量就增加了81%。

你或许认为网络节点越多处理交易的速度就越快。事实并非如此。

共识是以线性方式实现的。也就是说,假如有3个节点:A,B,C,为了达成共识,A先要做计算并确认结果,B继续做同样的事情,最后轮到C重复同一过程。

然而,如果出现一个新的节点D,共识需要的时间就更久了。随着以太坊的普及,交易确认时间变慢了。

在一次速度测试中,以太坊每秒也就处理20笔交易,但是PayPal每秒能处理193笔交易,Visa更劲爆,一秒1667笔!

我们得明白以太坊的目标不是单纯的做货币,终极目标是演化成新型的互联网,希望开发者能在上面运行Facebook和YouTube这种规模的各种DAPP。不进行扩容,这不扯淡吗?

为了解决扩容问题,社区有三种解决方案:

*增加区块大小*让用户使用其他竞争币*分片

增加区块大小

增加区块大小意味着每个区块能容纳的交易数增大,即提高性能,但是也存在相应的问题:

首先,简单扩大区块并没有解决节点达成共识速度低的问题。而且因为每个区块里的交易数增加了,单个节点要计算和确认的工作量也随之加大了。

为了容纳更多的交易,区块大小需要定期增大,这最终会导致网络的中心化。因为普通的电脑和用户无法承担下载并维护如此巨大的区块链。这违反了区块链中人人平等的理念。

最后,区块大小只能通过硬分叉来提升,这会导致社区分裂。上次以太坊硬分叉,诞生了两种货币。想必大家都不想再看到这种情况了。

让用户使用其他竞争币

另一种解决方案是运行平行的双层链,而非单一的区块链。换句话说,网络上如果运行了50个DAPP,就每条链上各运行25个。这会导致两大问题:

分散一条链上的算力非常不明智。算力决定了一条链有多安全,决定了这条链能不能抵挡外部黑客的攻击,决定了这个系统的运行速度。

如果分散算力到两条链上,恶势力矿工更容易对算力小的链发动51%攻击。

分片

最后一种方案就是以太坊要采用的分片技术。在深入剖析这个技术之前,我们先简单铺垫一下。假设三个节点A,B,C需要确认数据T。我们不让这三个节点各自都确认一遍T,而是把T分成3片:T1,T2,T3。然后A,B,C各负责一片。这样就节约了很多计算时间。

现在对分片有一点模糊的概念了吧。下一讲我们再详细阐述分片技术。再会!

来源链接:None

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

行走的翻译C

现已在非小号资讯平台发布19篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9602875.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

XLMEWS:朝阳区核心要点

近期广大市民非必要,不要前往黑龙江省。春节农村返乡人员需持7天内有效新冠病核酸检测阴性结果,返乡后实行14天居家健康监测,期间不聚集、不流动,每7天开展一次核酸检测.

[0:0ms0-4:623ms