最近以太坊交易拥堵的新闻频频见报,最高峰时据说有超过十万条的交易信息被滞留在以太坊网络中发送不出去,这种情况直接造成了以太坊的转账手续费日渐增加。
其实作为技术大咖,以太坊创始人 V 神对这种情况早有预见,在 18 年 4 月 30 日的时候,他就曾经在推特上发消息称:“分片即将到来。”随后 V 神还拟定了“以太坊分片六阶段”计划,宣布将通过分片技术逐渐解决以太坊网络存在的各种问题。
Sharding 在英文中的原意是“碎片”,在计算机技术方面则大多译为“分片”,它经常被运用在数据库的性能扩展上。
在数字货币出现以前,这项技术最早也是最常见的应用场景,就是各类线上游戏,特别是 MMORPG (角色扮演)游戏。
在没有这项技术的时候,网络游戏为了减少服务器数据负载,来支持更多的用户同时在线,往往不敢使用太精细的画面构图,也无法支持需要大量计算的功能(自动寻路,实时刷新各类英雄榜等)。即便如此,以当时顶级的服务器配置,能支持个几千上万人同时在线已经是非常牛逼了。
为什么同等技术水平和开发成本之下,单机游戏画面要优于网络游戏?很大一部分原因是单机游戏没有服务器负载方面的考虑。
而有了分片技术以后,这种情况得到了较大程度地改善,分片技术可以按各种形式来分流服务器负载。
比较常见的方法是由某个节点服务器协调分配工作,将用户的各类计算、存储需求分别发送到不同的服务器上,其他的节点服务器仅专门处理一种需求。
这样可以充分利用每台机器所擅长的处理能力。比如地图服务器只处理用户的地图需求,战斗服务器只处理用户的战斗需求之类的。
文章一开始我们提到,以太坊上堆积了大量的待处理交易,而且这还是目前 DAPP 不是多的情况,随着 DAPP 开发量的增大,这种情况将进一步加剧。
究其原因,还是因为以太坊的每笔交易需要所有的网络节点一起处理,目前以太坊全网络每秒仅能处理 15~20 次交易。
为了解决这一情况,V神提出了“分片”想法。以太坊的分片方式是将主链上的节点分开来,形成多条由较少节点组成的“分链”。然后以哈希值前几位的不同为规律,将区块中待处理的信息区分开来处理。
例如加密后哈希为 OXOO 开头的区块会被分配到分片 1 去进行处理,而开头为 0X01 的区块则会被分配到分片 2 去进行处理。等待各个分链的节点把自己的“工作任务”完成后,最后再由某个节点把处理好的结果汇总在主链上即可。
这样一来,以太坊的信息处理方式将从原先的很多人一起做一件同样的事,变成每个人或者几个人分别做不同的事情,派一个领头的人收集结果就行了,效率大大提升。
据 V 神在某次区块链大会上的说法,凭借 Sharding (分片)和 Plasma (一种可扩展的自主智能合约)等解决方案,以太坊网络的拥堵状况将大有改观,最终将能够每秒处理 100 万次交易,并具有每秒 1 亿次以上的潜力。
当然,分片技术也有它的风险,最直观的就是在安全性上的下降.原先需要整个区块链网络一起验证的区块,会被切割成一个个“小区块”,在“分链”上先验证一下。
一旦这个验证信息被修改,汇总的信息将有可能出现偏差,最坏的结果将可能会导致整个区块链地分叉。而对于黑客们来说,比起攻击整个区块链网络,攻击一下“分链”所需要的成本显然是他们更容易接受的。
虽然 V 神一直在努力地推行区块链网络分片化,但是无论技术方面的限制,还是来自数字货币社区用户的质疑,都大大延缓了这一计划的进程。
这也是为什么过了这么久,目前的以太坊网络还处在“以太坊分片六阶段”第一阶段的原因,以太坊分片还是任重道远啊。
本文地址: https://www.xiguacaijing.com/news/baike/2018/2154.html
赞助商