以太坊如何扩容——零基础了解以太坊(八)
第0章 引言
要实现大规模应用,扩容是必须要解决的问题。今天我们来了解一下,以太坊将如何扩容,以太坊的扩容路在何方。
第1章 以太坊将如何扩容
像其他公链一样,以太坊想要支持尽可能多的用户。
问题是,今天,我们并不真的知道这个平台的局限性。
由于每个块的硬编码限制,以太坊目前每秒只能处理15笔交易,相比之下Visa每秒能处理45,000笔交易。
以太坊和其他区块链系统的这个限制一直以来都是开发者和研究员们讨论的话题。
虽然以太坊的开发者可能会强调,以太坊是多么灵活的智能合约平台,与比特币不同,但是在扩展性方面,以太坊没有什么区别。
听起来可能会令人失望,但是在还未并入官方软件的提案里还是有希望的。
为什么扩容如此困难?
以太坊和比特币通过技术手段和奖励来保证矿工在没有中央权威机构的情况下准确记账。
问题是,随着用户量的增长,很难保持这样的平衡(尤其是发展到普通人都可以使用这个系统买咖啡或运行应用的时候)。
这是因为以太坊依赖于网络“节点”,每个节点都存储着以太坊整个历史交易记录以及账户余额、合约和存储的当前状态。这显然是一个繁重的任务,特别是每隔10-12秒会产生一个新块,交易总量在不断增加。
令人担心的是,如果开发者增加区块的大小,节点需要存储的数据会变得更大——实际上是在人们踢出网络。如果节点变得非常大,那将只有少数公司有能力运行节点。
尽管存在不便,但是运行全节点是用户获得隐私与安全性最好的方法。如果全节点变得难以运行,会进一步限制自验交易的人数。
换句话说,去中心化和扩容是有矛盾的,但是开发者们正在寻找解决方案。
分片
目前以太坊有几个扩容项目正在进行当中,各项目应对不同的扩容问题。
如上文所述,其中一个问题是所有节点都需存储最新的账户状态。分片(的概念)来自数据库分片技术,把数据库分成多个,放到不同的服务器上。
分片的目的是让网络不再需要运行存储所有网路数据和交易的全节点。
相反,让每个节点都存储其中的一部分数据,并且只验证这些交易。如果节点需要知道它没有存储的交易或区块信息,那就找有这个信息的节点。
这个方案存在的问题是,这个流程实际上并不是无需信任的,因为在这种模式下,节点需要依赖于其他节点。
以太坊想用“加密货币经济奖励”来解决这个问题,驱动系统内的参与者按照特定的方式行事,以此确保节点把有效信息传递给其他节点。
链下交易
一个目标更远大的扩容技术,是借鉴比特币的闪电网络——一个在区块链上的网络层,体现的是多层网络如何运作。
闪电网络式的链下交易可以把以太坊的容量提升到接近“用户的预期”——快速且供应量几乎无限。同时仍不需要用户信任任何中间机构。
按照这个设想,大部分交易都在链下的微支付通道完成,从而减轻底层区块链的负担。
这个方案理论上可行的原因是,任何一方都可以随时将交易移至链上,双方都可以中止交易。
有了第二层网络,以太坊计算上限不需要提高太多,并且普通的以太坊爱好者将仍可以运行全节点。
扩容将需要多长时间?
这是个很难回答的问题,因为在扩容的问题上,还有很多实验正在进行。
用创始人Vitalik Buterin的话说,长期目标是让平台可以处理Visa级别或以上的交易量。
但是,持怀疑态度的观察家敏锐地指出,这是基于Buterin的分析,基于尚未部署到公链上的技术。
总之,尽管以太坊目前每秒只能处理少量的交易,但其架构师对未来充满希望。
作者:Alyssa Hertig
原文链接:
第2章 结束语
只要一个一个概念搭建,就能建立起对以太坊系统的全面认识。