和其他公共区块链一样,ethereum打算尽可能多地支持用户。
问题是,今天,我们还不知道这个平台的极限。
由于每个块的计算都有硬编码的限制,ethereum区块链目前支持大约每秒15个事务,相比之下,Visa处理的45000个事务。
对以太和其他区块链系统的限制一直是开发者和学术界讨论的话题。
虽然ethereum的开发人员可能会强调灵活的智能合同平台与区块链的不同之处,但它在可伸缩性方面并不是唯一的。
尽管这听起来很令人失望,但在提出的解决方案中仍有希望尚未进入官方软件。
为什么缩放如此困难?
Ethereum和区块链结合了技术手段和激励手段,以确保他们准确地记录了谁拥有没有中央权威的东西。
问题是,保持这种平衡是很困难的,同时也增加了用户的数量(特别是在人们可以使用系统购买咖啡或运行应用程序的情况下)。
这是因为ethereum依赖于一个“节点”网络,每个节点存储整个以太交易历史和当前的帐户余额、契约和存储的“状态”。这显然是一项繁琐的任务,特别是由于每个新块的事务总数大约每10-12秒增加一次。
令人担心的是,如果开发人员提高每个块的大小以适应更多的事务,那么一个节点需要存储的数据将会变得更大——有效地将人们从网络上赶走。如果每个节点足够大,只有少数大公司拥有运行它们的资源。
尽管存在不便,但运行完整的节点是用户利用隐私和安全的最佳方式。使完整节点更加难以运行将进一步限制能够验证事务的人员数量。
换句话说,分权和可伸缩性目前处于劣势,但开发人员正在寻找解决这一问题的方法。
分片
在作品中有一些以太的缩放项目,每一个都解决了一个不同的可伸缩性问题。
如前所述,一个问题是每个节点都需要在网络上存储每个帐户的更新状态。“Sharding”从传统的称为“数据库分片”的缩放技术中提取出来,它有效地将数据库分解成块,并将每个部分放到不同的服务器上。
sharding的目标是不再需要“完整的”节点——这些节点存储网络的完整状态以及发生的每一个事务。
相反,每个节点存储该数据的一个子集,并且只验证这些事务。如果一个节点需要知道它不存储的事务或块,那么它就会找到另一个节点,并找到它需要的信息。
这里的问题是,这个过程并不是完全信任的,因为在这个模型中,节点需要依赖其他节点。
Ethereum希望使用“密码经济激励”来解决这个问题,即驱动系统中的参与者以某种方式进行操作——在这种情况下,确保节点将有效信息传递给其他节点。
Off-chain事务
一项可能更有野心的能力扩展技术借用了区块链的闪电网络,这是一种针对区块链的顶层设计,反映了多层互联网的运作方式。
闪电式的“离线”交易可以让技术的功能更接近于用户被告知的“应该是”——快速且近乎无限的供应,而不需要用户信任任何中介。
根据这一愿景,大多数交易将在线下的微支付渠道上进行,从而减轻了区块链的负担。
从理论上讲,这一行为的原因在于,任何一方都可以随时把交易踢回区块链,这让双方都有能力终止互动。
有了这个附加组件,ethereum的计算极限不需要增加太多,并且希望它仍然是合理的,定期的ethereum爱好者可以运行一个完整的节点。
需要多长时间来衡量?
这是个棘手的问题,因为在规模方面还有很多实验要做。
在创建者Vitalik Buterin的语言中,长期目标是平台能够在“Visa-scale事务级别”或更高级别处理事务。
然而,正如持怀疑态度的观察家们敏锐地指出的那样,这是基于Buterin的分析,以及在公共区块链上尚未部署的技术。
总之,尽管目前ethereum只能处理少量事务,但它的架构师对未来抱有很高的期望。