以太坊(Ethereum)将如何扩展?

以太坊(Ethereum)的扩展何以成可能
本文翻译自外网:coindesk

像其他公共区块链一样,以太坊打算支持尽可能多的用户。

问题是,今天我们并不知道平台的限制。

由于每块计算的硬编码限制,以太坊区块链目前支持每秒大约15个交易,相比之下,比如由Visa处理的45,000个交易。

以太坊和其他区块链系统的这种限制一直是开发者和学者讨论的主题。

尽管以太坊开发人员可能想强调灵活的智能合约平台与比特币的不同之处,但它在可扩展性方面并不是唯一的。

令人失望的是,这个解决方案还没有成为官方软件。

为什么缩放如此困难?


以太坊和比特币结合使用技术手段和激励手段,确保在没有中央管理机构的情况下准确记录谁拥有什么。

问题是,保持这种平衡很棘手,同时也会增加用户数量(特别是在普通人可以使用系统购买咖啡或运行应用程序的时候)。

这是因为以太坊依赖于一个“节点”网络,每个节点存储整个以太坊交易历史和账户余额,合同和存储的当前“状态”。这显然是一个繁琐的任务,尤其是因为交易总数大约每10-12秒增加一个新块。

担心的是,如果开发者为了适应更多的交易而增加每个块的大小,节点需要存储的数据将会变得更大 - 有效地将人们踢出网络。如果每个节点的规模足够大,只有少数大公司将有资源来运行它们。

尽管造成不便,但运行完整节点是用户利用隐私和安全的最佳方式。使整个节点更难以运行将进一步限制可以自己验证交易的人数。

换句话说,分散性和可扩展性目前存在矛盾,但开发人员正在寻找解决方法。

拆分


在作品中有几个以太坊缩放项目,每一个都解决了不同的可伸缩性问题。

如前所述,一个问题是每个节点需要存储网络上每个账户的更新状态。“分片”从传统的称为“数据库分片”的缩放技术中汲取,这种技术有效地将数据库分解成几部分,并将每个部分放在不同的服务器上。

分片的目标是从需要“完整的”节点 - 那些存储网络的全部状态和每个发生的事务的节点。

相反,每个节点都存储这些数据的一个子集,只验证这些事务。如果一个节点需要知道它没有存储的事务或块,那么它会找到另一个具有它所需信息的节点。

这里的问题是这个过程并不是完全不可信的,因为在这个模型中,节点需要依赖于其他节点。

以太坊希望利用“密码经济激励”来解决这个问题,这种激励可以驱动系统中的角色以某种方式行动 - 在这种情况下,确保节点将有效信息传递给其他节点。

脱链交易


比特币的闪电网络(Lightning Network)借用了一个可能更有雄心的扩容技术,该网络是一个提议的顶层到区块链,反映了多层互联网如何工作。

闪电式的“外链”交易可能会使技术的能力更接近用户被告知应该是“应该是”的 - 快速且几乎无限的供应,同时不要求用户信任任何中间人。

根据这一愿景,大部分交易将在连锁小额支付渠道上进行,减轻了底层区块链的负担。

从理论上讲,理由是任何一方都可以在任何时候将交易踢回到区块链,从而使双方能够结束交互。

有了这个插件,以太坊的计算极限不需要增加太多,而且希望定期的以太坊爱好者可以运行一个完整的节点。

需要多长时间来规模?

这是一个棘手的问题,因为在扩展方面仍然有很多实验发生。

在创始人Vitalik Buterin的话中,长期目标是让平台能够在“Visa等级交易”或更高级别处理交易。

然而,正如怀疑论者急切地指出的那样,这是基于Buterin的分析以及尚未在公共区块链上部署的技术。

总而言之,虽然以太坊目前只能处理每秒数十笔交易,但建筑师对未来寄予厚望。

由Alyssa Hertig撰写

附网站原文:How Will Ethereum Scale?


Like other public blockchains, ethereum intends to support as many users as it can.

The problem is that, today, we don't really know the limits of the platform.

Because of a hard-coded limit on computation per block, the ethereum blockchain currently supports roughly 15 transactions per second compared to, say, the 45,000 processed by Visa.

This limitation of ethereum and other blockchain systems has long been the subject of discussion by developers and academics.

While ethereum developers might like to highlight how the flexible smart contract platform differs from bitcoin, for example, it isn't unique in regards to scalability.

As disappointing as that might sound, there's hope in proposed solutions that haven’t made it into the official software yet.

Why is scaling so difficult?

Ethereum and bitcoin use a combination of technical tricks and incentives to ensure that they accurately record who owns what without a central authority.

The problem is, it’s tricky to preserve this balance while also growing the number of users (especially to the point where average people can use the system to purchase coffee or run applications).

That's because ethereum depends on a network of 'nodes', each of which stores the entire ethereum transaction history and the current 'state' of account balances, contracts and storage. This is obviously a cumbersome task, especially since the total number of transactions is increasing approximately every 10–12 seconds with each new block.

The worry is that, if developers raise the size of each block to fit more transactions, the data that a node will need to store will grow larger – effectively kicking people off the network. If each node grows large enough, only a few large companies will have the resources to run them.

Despite the inconvenience, running a full node is the best way for users to take advantage of privacy and security. Making full nodes more difficult to run would further limit the number of people that can verify transactions themselves.

In other words, decentralization and scalability are currently at odds, but developers are looking for ways around this.

Sharding

There are a few ethereum scaling projects in the works, each of which tackles a different scalability problem.

As mentioned, one problem is that each node needs to store the updated state of each account on the network. 'Sharding' draws from a traditional scaling technique called 'database sharding', which effectively breaks a database into pieces and puts each part on a different server.

The goal of sharding is to move away from requiring 'full' nodes – those which store the full state of the network and every transaction that occurs.

Instead, each node stores a subset of this data and only verifies those transactions. If a node needs to know about transactions or blocks that it doesn’t store, then it finds another node with the information it needs.

The problem here is that the process isn't exactly trustless, since, in this model, nodes need to rely on other nodes.

Ethereum wants to solve this problem using 'cryptoeconomic incentives' that drive actors in a system to act a certain way – in this case, ensuring that nodes are passing on valid information to other nodes.

Off-chain transactions

A possibly more ambitious capacity-expanding technology borrows from bitcoin’s Lightning Network, a proposed top-layer to the blockchain that mirrors how the multi-layered internet works.

Lightning-style 'off-chain' transactions could bring the technology's capabilities closer to how users were told it was 'supposed to be' – fast and nearly limitless in supply, while still not requiring users to trust any intermediary.

According to this vision, most transactions will be made on off-chain micropayment channels, lifting the burden from the underlying blockchain.

The reason that this works, in theory, is that either party can kick the transaction back to the blockchain anytime they want, giving both parties the ability to end the interaction.

With this add-on, ethereum’s computational limit doesn’t need to increase too much, and the hope is that it will still be reasonable for regular ethereum enthusiasts to run a full node.

How long will it take to scale?

This is a tricky question, as there's still a lot of experimentation happening on the scaling front.

In creator Vitalik Buterin’s words, the long-term goal is for the platform to be able to process transactions at “Visa-scale transaction levels" or beyond.

However, as skeptical observers are keen to point out, this is based on Buterin's analysis, and on techniques that have yet to be deployed on a public blockchain.

In sum, although ethereum currently can only handle a handful of transactions per second, its architects have high hopes for the future.

Authored by Alyssa Hertig
  • 发表于 2017-11-30 13:30
  • 阅读 ( 656 )
  • 分类:以太坊

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
社区运营-小链

区块链兄弟社区运营管理

244 篇文章

作家榜 »

  1. 社区运营-小以 558 文章
  2. 社区运营-小链 244 文章
  3. 于中阳Mercina-zy 79 文章
  4. 涂晶 75 文章
  5. 李晓琼 44 文章
  6. 兄弟连区块链培训 42 文章
  7. 吴寿鹤 36 文章
  8. John-smith 25 文章