-
Notifications
You must be signed in to change notification settings - Fork 228
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1333 from DonaldMcIntyre/POW-Is-Not-What-Creates-…
…Unscalability
- Loading branch information
Showing
4 changed files
with
182 additions
and
0 deletions.
There are no files selected for viewing
Binary file added
BIN
+127 KB
...nt/blog/2023-09-26-proof-of-work-is-not-what-makes-blockchains-unscalable/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+381 KB
...og/2023-09-26-proof-of-work-is-not-what-makes-blockchains-unscalable/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
91 changes: 91 additions & 0 deletions
91
...blog/2023-09-26-proof-of-work-is-not-what-makes-blockchains-unscalable/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
--- | ||
title: "Proof of Work Is Not What Makes Blockchains Unscalable" | ||
date: 2023-09-26 | ||
author: Donald McIntyre | ||
contributors: ["Donald McIntyre"] | ||
tags: ["education"] | ||
linkImage: ./banner.png | ||
--- | ||
|
||
--- | ||
**You can listen to or watch this interview here:** | ||
|
||
<iframe width="560" height="315" src="https://www.youtube.com/embed/q7Imiz1AfFs?si=SdywKUXF1pTOhGqe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | ||
|
||
--- | ||
|
||
Scalability means to process more transactions per unit of time. | ||
|
||
Bitcoin processes from 7 to 14 transactions per second, Ethereum Classic (ETC) can process from 7 to 17 transactions per second, but Visa processes 24,000 transactions per second. | ||
|
||
This gap of Proof of Work (POW) blockchains with respect to the large traditional payment systems has made a lot of people worry about the lack of scalability in these networks and blame the POW consensus algorithm for it. | ||
|
||
Many people think that POW is unscalable because it requires a lot of work, therefore it must process less transactions. | ||
|
||
However, POW is not the cause. The inefficiency is caused by the rule of full replication of the database in all nodes globally, which requires smaller and slower blocks. Proof of Stake and Proof of Authority networks that require full replication have exactly the same inefficiency. | ||
|
||
## What Is Proof of Work Based Nakamoto Consensus? | ||
|
||
The way nodes in POW blockchains such as Bitcoin and ETC reach consensus every 10 minutes or 13 seconds respectively is by using the Proof of Work Based Nakamoto Consensus mechanism. | ||
|
||
The way it works is that the blockchain constantly receives transactions from users; when nodes receive these transactions, they immediately retransmit them to the rest of the nodes so they are fully replicated across the network. When miners receive these transactions, they build blocks using POW and they immediately send them back to the rest of the network for verification. When the nodes verify the blocks, they add them to the chain and pay the rewards to miners. | ||
|
||
This economic model has been working in Bitcoin with a 99%+ uptime since 2009, in ETC since 2014, and in Litecoin since 2011. | ||
|
||
It is a secure and complete method that just works. | ||
|
||
## What Is Full Replication? | ||
|
||
As mentioned in the previous section, both transactions and blocks are fully retransmitted to all participating nodes in the system. This is done so that all can keep and maintain an identical copy of the whole database. | ||
|
||
This full replication of the database is the key security strategy of the blockchain model. The idea is to have all the accounts, balances, and smart contracts replicated in as many computers around the world as possible so they may be as decentralized as possible, and impossible to take down by man or natural events. | ||
|
||
However, full replication of databases; let alone ledgers with accounts, balances, and smart contracts; in a totally decentralized way was not possible before, making the systems insecure and dependent on trusted third parties. | ||
|
||
The solution to accomplish full replication globally in a totally decentralized way was the Proof of Work algorithm, which is a component of the Nakamoto Consensus design. | ||
|
||
## What Is Proof of Work? | ||
|
||
POW is the method for participants to make sure that they have a fully replicated copy of the database, all at the same time, in a decentralized and permissionless way. | ||
|
||
The way it works is that a subgroup of the nodes of a POW blockchain as ETC, called miners, gather transactions in batches, add to them a time stamp, the hash of the previous block, and a random iterating number called a nonce, and create a new cryptographic hash or stamp for the new block. After this, they immediately check if the hash hit a specific target that the protocol determined. If it didn’t hit the target, then the miners change the random iterating number and try again. If they didn’t hit the target again, then they try again, and again, and again, until one of the miners hits the target and wins the round. | ||
|
||
They may do this trillions of times per second, and this is what uses so much electricity, and is referred to as “proof of work”, because only by working so much is that, statistically, one of the miners will hit the target within the block time. | ||
|
||
## How Does Full Replication (And Not POW) Restrict Scalability? | ||
|
||
![Propagation of a block.](1.png) | ||
|
||
The first thing to understand is that POW can process any size of block at any frequency. It is because of restrictions in retransmission and replication, not POW, that blocks must be small and less frequent. | ||
|
||
Below we list several reasons why blocks must be small and less frequent in fully replicated networks, therefore produce less transactions per second: | ||
|
||
**1. Bloating:** If blocks were larger and faster, then the database would grow larger very quickly and that would put pressure on node operators who have to keep up with sufficient computational storage to maintain the nodes. This would reduce the number of nodes in the chain and increase centralization. It would also go against a major principle in the industry which is to “run your own node” as people would prefer to use third party nodes rather than their own. | ||
|
||
**2. Technical:** Related to bloating and centralization, the technical reasons why larger and faster blocks would be disadvantageous are that they would require higher bandwidth, thus limiting the areas in the world that could process the data; they would require more powerful CPUs for validating the blocks, limiting the reach to operators with more capacity; and the initial blockchain download time (IBD) for new entrants or re-entrants would be very long, creating an additional barrier to participating in the system. | ||
|
||
**3. Miner economics:** As the monetary policy in Bitcoin and ETC is decreasing and capped, miners will depend on fee revenues in the future. If blocks were larger and faster, then transaction fees would be lower. With scarce block space and low frequency, then fees will be higher thus financing the security that miners provide to these networks with their hashing power. | ||
|
||
**4. Block propagation:** If blocks were larger, block propagation would be slower. This would benefit the larger miners and eliminate the smaller miners from the network, and would make mining centralized. | ||
|
||
Larger miners would benefit with slower propagation because, when miners find new blocks, they immediately start building the next one as the one they found gets propagated. The slower the propagation would be, the more time miners would have to gain an advantage over their competitors. | ||
|
||
As the bigger miners find more blocks than their competition, then they would have this slow block propagation advantage more frequently and make more money, therefore pushing out of business the smaller miners. | ||
|
||
## Scalability Must Be Sought Through Higher Layers | ||
|
||
Due to the threats of centralization, bloating, and the inability to run your own node pointed out in the previous section, it is important to keep blocks in POW networks smaller and slower. | ||
|
||
The best way to gain more scalability is to accomplish it as most technologies do, which is to build layers on top of the less scalable but more secure components. | ||
|
||
This means to create higher layer systems, such as channels, rollups, and Proof of Stake networks, that may process enormous numbers of transactions; to have them net out the transactions, and to settle the larger amounts on the base layer POW systems. | ||
|
||
In this way, the base layer would provide the security and the higher layers would provide the scalability, making the whole stack much safer and practical. | ||
|
||
Users in the world who wish higher security will have to pay higher fees. Users who prefer faster and cheaper transactions will be able to use the higher layers. | ||
|
||
--- | ||
|
||
**Thank you for reading this article!** | ||
|
||
To learn more about ETC please go to: https://ethereumclassic.org |
91 changes: 91 additions & 0 deletions
91
...g/2023-09-26-proof-of-work-is-not-what-makes-blockchains-unscalable/index.zh.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
--- | ||
title: "工作量证明并不是导致区块链不可扩展的原因。" | ||
date: 2023-09-26 | ||
author: Donald McIntyre | ||
contributors: ["Donald McIntyre"] | ||
tags: ["education"] | ||
linkImage: ./banner.png | ||
--- | ||
|
||
--- | ||
**由此收听此次访谈:** | ||
|
||
<iframe width="560" height="315" src="https://www.youtube.com/embed/q7Imiz1AfFs?si=SdywKUXF1pTOhGqe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> | ||
|
||
--- | ||
|
||
可扩展性意味着在单位时间内处理更多的交易。 | ||
|
||
比特币每秒处理7到14笔交易,以太坊经典(ETC)每秒处理7到17笔交易,但Visa每秒处理24,000笔交易。 | ||
|
||
这些基于工作证明(POW)的区块链与传统的大型支付系统之间的差距让很多人担忧这些网络的可扩展性不足,并归咎于POW共识算法。 | ||
|
||
许多人认为POW不可扩展,因为它需要大量工作,因此必须处理较少的交易。 | ||
|
||
然而,POW并非原因所在。低效是由于全球所有节点对数据库进行完全复制的规则造成的,这需要更小、更慢的区块。需要全面复制的权益证明和权威证明网络具有完全相同的低效性。 | ||
|
||
## 什么是基于工作证明的中本聪共识? | ||
|
||
POW区块链(如比特币和ETC)中的节点如何在分别每10分钟和13秒达成共识是通过使用基于工作证明的中本聪共识机制来实现的。 | ||
|
||
其工作原理是区块链不断接收来自用户的交易;当节点接收到这些交易时,它们立即将其重新传输到网络的所有其他节点,以便在网络上进行完全复制。矿工接收到这些交易后,使用POW构建区块,然后立即将其发送回网络的其他部分进行验证。当节点验证这些区块时,它们将其添加到链上并向矿工支付奖励。 | ||
|
||
自2009年以来,这种经济模型在比特币中已经运行了99%以上的时间,在ETC自2014年以来,在莱特币自2011年以来也一直运行良好。 | ||
|
||
这是一个安全而完整的方法,而且非常有效。 | ||
|
||
## 什么是完全复制? | ||
|
||
如前所述,系统中的所有交易和区块都会完全重新传输到所有参与节点。这是为了让所有节点都能保持和维护完全相同的数据库副本。 | ||
|
||
区块链模型的关键安全策略是实现尽可能多的计算机上的所有账户、余额和智能合约的复制,以便使其尽可能去中心化,并且不可能被人为或自然事件击倒。 | ||
|
||
然而,在完全去中心化的方式下,全球范围内实现数据库的全面复制以前是不可能的,这使得系统不安全并且依赖于可信第三方。 | ||
|
||
在完全去中心化的方式下实现全球范围内的全面复制的解决方案是工作证明算法,这是中本聪共识设计的一个组成部分。 | ||
|
||
## 什么是工作证明? | ||
|
||
POW是参与者以分散和无需许可的方式确保他们拥有完全复制的数据库副本的方法。 | ||
|
||
其工作原理是POW区块链(如ETC)的一组子节点,称为矿工,将交易分批次聚集起来,为它们添加时间戳、上一个区块的哈希以及称为随机迭代数的随机数,并为新区块创建一个新的加密哈希或印章。之后,他们立即检查哈希是否命中协议确定的特定目标。如果没有命中目标,那么矿工会更改随机迭代数并再次尝试。如果他们再次没有命中目标,那么他们会继续尝试,直到其中一个矿工命中目标并赢得该轮。 | ||
|
||
他们可能每秒进行数万亿次尝试,这就是为什么消耗大量电力,并称为“工作证明”的原因,因为只有通过如此多的工作,统计上才有一个矿工会在区块时间内命中目标。 | ||
|
||
## 完全复制(而不是POW)如何限制可扩展性? | ||
|
||
![区块的传播。](1.png) | ||
|
||
首先要理解的是,POW可以以任何频率处理任何大小的区块。造成区块必须较小且较不频繁是由于重新传输和复制的限制,而不是由于POW。 | ||
|
||
以下是为什么在完全复制网络中必须使区块较小且较不频繁,从而导致每秒处理较少交易的几个原因: | ||
|
||
**1. 膨胀:** 如果区块更大且传输更快,那么数据库将迅速增大,这将对需要跟上足够计算存储以维护节点的节点操作者施加压力。这将减少链中的节点数量并增加集中化。这也违反了行业的一个主要原则,即“运行自己的节点”,因为人们更愿意使用第三方节点而不是自己的节点。 | ||
|
||
**2. 技术问题:** 与膨胀和集中化有关的技术原因是,更大和更快的区块将需要更高的带宽,从而限制了世界上能够处理数据的区域;它们将需要更强大的CPU来验证区块,从而限制了具备更大容量的操作者的范围;新参与者或重新参与者的初始区块链下载时间(IBD)将 | ||
|
||
非常长,创建了参与系统的额外障碍。 | ||
|
||
**3. 矿工经济学:** 由于比特币和ETC的货币政策正在减少并设有上限,未来矿工将依赖于费用收入。如果区块更大且传输更快,交易费用将更低。由于区块空间有限且传输不频繁,因此费用将更高,从而为矿工提供了他们通过哈希算力为这些网络提供的安全性的资金支持。 | ||
|
||
**4. 区块传播:** 如果区块更大,区块传播将变得更慢。这将有利于更大的矿工,并将淘汰网络中的较小矿工,使挖矿变得集中化。 | ||
|
||
较大的矿工会因传播较慢而受益,因为当矿工发现新区块时,他们会立即开始构建下一个区块,因为他们发现的区块会传播出去。传播速度越慢,矿工越有时间对竞争对手获得优势。由于较大的矿工比竞争对手更容易找到新区块,因此他们更频繁地获得这种慢区块传播的优势,从而赚取更多的钱,从而将较小的矿工挤出市场。 | ||
|
||
## 可扩展性必须通过更高层次来寻求 | ||
|
||
由于前一部分指出了集中化、膨胀和无法运行自己的节点的威胁,因此保持POW网络中的区块较小且较慢非常重要。 | ||
|
||
获得更多可扩展性的最佳方式是像大多数技术一样,即在不太可扩展但更安全的组件之上构建层次。 | ||
|
||
这意味着创建更高层次的系统,例如通道、卷积和权益证明网络,可以处理大量交易;它们可以将交易净化,并在基础层POW系统上结算更大的金额。 | ||
|
||
通过这种方式,基础层将提供安全性,而更高层将提供可扩展性,使整个堆栈更安全和实用。 | ||
|
||
希望获得更高安全性的全球用户将不得不支付更高的费用。而更希望获得更快速和更便宜的交易的用户将能够使用更高层次的系统。 | ||
|
||
--- | ||
|
||
**感谢您阅读本期文章!** | ||
|
||
了解更多有关ETC: https://ethereumclassic.org |