客服热线:400-9622-273(9:00-22:00)
QQ群:641889865
客服QQ:2978561467
新手入门 申请合作 注册

区块链爆发,以太坊客户端还HOLD住吗?


以太坊网络现在有24,270种代币,27,358笔交易等待转账,463,713个电子猫。

QQ截图20180119124035

以太坊最近主持了很多活动,很多加密货币的爱好者认为这是个积极的信号,因为以太坊网络的使用率大增,历史更加长远并且以太坊区块链技术变得更加有前景。虽然以太坊网络的拥堵导致了转账积压,不断增加的转账费用也引起了大众的在意,但是以太坊这样大的规模也造成了另一个问题,逐渐增加的数据库使得用户运行全节点需要花费非常昂贵的存储费用。

这个数据库就是以太坊状态,里面含有需要计算机记忆的所有计算,从而可以支持以太坊平台和以太坊区块链本身运行。随着储存这些状态的时间和金钱逐渐增加,越来越少的人会选择运行全节点,如此很多人会担心这会导致以太坊网络中心化,只被少数的仲裁者所掌握。

其实开发人员发现了这个问题。

一方面,以太坊的开发人员正在进行对工程协议级别的更新,例如分片技术,旨在最小化数据化。

但是由于这些技术仍然在开发中,但是使用以太坊客户端(可以让用户和区块链通信的软件)的用户面对数据库的增长已经非常有压力了。

“但是事实上自从2016年下半年,我们就知道要提高以太坊这方面的性能是至关重要的,这半年到一年多,有非常多的想法冒出来。但是有谁真正地实施了呢?”以太坊创始人Vitalik Buterin最近在一个程序开发者频道说道。

“按照现在的增长速度预测,以太坊数据库在今年会飞速增长,如果达到某个临界点,小的设备会很难进行对数据的管理。”

为了尽可能减少冗大的数据库的影响,两个最著名的以太坊客户端- Geth和Parity最近也发出了软件更新尝试改善这种情况。

 

涡轮增压

 

Parity上周发出的第一个更新,通过去除由软件记忆下的不必要的,暂时的文件历史文件来减少储存方面的需求。

通过极大地减少储存需求,用户可以更容易地运行全节点然后体验到更快的同步时间。Parity还说通过这种技术,可以让以太坊软件在硬盘而不是固态硬盘上运行,这是一个非凡的成就因为过长的同步时间导致以太坊在去年夏天的时候就不能在硬盘上运行了。

这次更新甚至获得了V神很兴奋的回复,他在一个开发人员频道说道:“哇,你们是怎么完成这个的?”

由于这次更新,用户反馈说极大地提升了使用体验。

同时,独立的开发人员Alexey Akhunov正在对geth客户端进行更新,并称之为 “涡轮增压版的geth ”。根据Akhunov叙述这个版本是一个“妄想“,这个项目旨在移除很多现有以太坊客户端在整个状态网络处理过程中有的不必要的重复。

虽然这个项目离完成还差很远,但是这带来了一些有趣的“投机优化“的办法,Akhunov在最近的一次开发者聊天时说到。

例如,Akhunov建议将关于以太坊状态的一些信息“硬编码“到客户端中。最终,目标是适应这个软件从而可以容易地运行随机的进入存储器,或者RAM,这样做会使得客户端变得更快 – 使得他们能够和网络进行及时同步。

Geth自己的开发人员也在就优化而工作,其中有一个人在尝试纠正当客户端使用“快速”模式同步整个网络的时候所使用的信息储存方法。根据Geth的首席开发人员Péter Szilágyi所说,这是“真正地恐怖”,现有的代码会有一大堆的更新,使得更新更加快速,而且不会对存储空间那么敏感。

 

限制

 

同时还有对一种叫做“无状态客户端“的客户端类型进行研究,这种客户端只储存整个状态网络的压缩形式。

甚至V神对这个观点也很有兴趣,最近在进行一项研究来描述一个场景,“总地来说,矿工和全节点再也不需要储存任何状态。” 而且,v神之后在一个开发者频道说,无状态的客户端也会缓解通过其他方法清除状态的需要,例如截距旧的不相关的数据,例如,空的或者是长期没有激活的账户。

“我现在赞成这种无状态客户端的方案,” V神说到。

无状态客户端甚至有可能可以不做出底层协议级的改进。

使用类似这种客户端作为可能的方案来解决在电子猫成功后所遇到的以太坊扩容困境,Akhunov在近期的博客里面写道:“我相信(无状态客户端)现在已经可以实施,不需要任何的硬分叉,只需要简单地改变下以太坊的客户端。。。这意味着节点不需要从文件中进入存储,区块验证的时间应该会大幅度地降低。”

但是,客户端优化也不能成为以太坊网络唯一可以依赖的东西来当作解决方案。

根据Szilágyi所说,最终客户端的优化会达到极限。然后开发者就必须要将注意力转移到技术的发展,例如分片技术,将以太坊数据库分成更小的块储存在不同的节点,这样可以避免在单个客户端存储整个数据库的巨大压力。

也许是为了回应现有网络存在的压力,分片技术的发展在最近几个月加快了,现在已经在Github网站上有一个早期的雏型。

“我们可以优化数据库,让它比之前快10倍,而且更加的优化,这就给了我们空间去发展成10倍规模,”Szilágyi说到,“但是最终,我们会再也不能优化数据库了,那个时候我们需要具备可以分片我们数据的能力。”