Every year, the volume of Bitcoin transactions roughly doubles. But as it stands, the Bitcoin network only supports a maximum of 7 transactions per second. Paypal processes about 100 transactions per second, and Visa processes about 4,000 transactions per second, so if Bitcoin wants to reach the level of these payment methods, it must make some changes. Fortunately, Bitcoin has a built-in, elegant upgrade mechanism. If a majority of Bitcoin miners "vote" for a particular upgrade, then a new version of Bitcoin will be available. The voting power of each miner is equal to the computing power they have (so the vote cannot be faked). While Coinbase is not a miner (our only “vote” is, perhaps, an influence on public opinion), we decided to experiment with some of the proposed upgrade paths because we wanted to make sure we were ready if one of them were to be used. By doing so, we are simply expressing Coinbase’s support for scaling Bitcoin and encouraging things to move forward, and we believe that solutions should be implemented sooner rather than later. Why are you so angry?Some people may not like this. For some reason, scaling Bitcoin has become a hot topic in the community, and my tweets were unexpectedly censored and deleted when they were forwarded to the Bitcoin subreddit for discussion (because they didn’t seem to like the specific solution we were experimenting with), and Coinbase was even removed from bitcoin.org by anonymous administrators. This is a bit surprising to me, and I'm a bit hurt about the credibility of these sites, but in hindsight I shouldn't be surprised. What's happening in the Bitcoin industry is like an election, and like all elections (the US presidential race is a classic example), things may have gotten a little heated, although overall this is a good thing. Why am I tweeting about BitcoinXT?There are all sorts of proposals being discussed about how to scale Bitcoin. We set a goal to pick one of them, experiment with it by the end of the year, and learn something from it. BitcoinXT seemed like a good place to start, and it was the only one with code implemented for beginners, so we did it. I think BitcoinXT is a good idea we'd love to implement, but people shouldn't read too much into it (we run a variety of node types in production, including bitcoin core, XT, and a custom node we wrote ourselves, and in the future we may add others like BitcoinUnlimited). In October, a number of Bitcoin companies made similar announcements expressing their desire to upgrade, and I expect we will continue to see this happen. I don’t really care which proposal wins. The bigger question is which people and which forks we should support. Block size is one of the factors we need to decide for the future of Bitcoin. What we should care about more is a team with an undisputed leader (or decision-making process) and a track record of code, which is more important than block size. In this article, I will discuss the rest:
Let’s discuss each one in turn. How should Bitcoin scale?In computer science, the general approach to scaling is to first look for some low-hanging fruit that can buy you some time (if you're in danger soon), and then, when you've exhausted all the low-hanging fruit, you start trying more complex solutions. In the case of Bitcoin, the low-hanging fruit is probably increasing the block size. However, more complex solutions have been proposed (such as Segregated Witness). Most of the debate seems to focus on the true costs of increasing the block size (such as increased centralization), so I will focus on this issue. As an aside, I think SegWit is a smart idea, but people may be overestimating its impact on Bitcoin's scaling. From what I understand, SegWit only provides a scalability benefit where nodes don't need to fully validate the blockchain. Fully validating nodes still have to download and store the same amount of data (whether they are in the block or not). It's still a good idea to implement it, but I don't think it's a good scaling solution if you care about fully validating nodes. Will a larger block size hurt Bitcoin’s decentralization?Here, the answer is obviously yes (at least in some respects). But perhaps a better question is:
Here are some approaches I've come up with that I think will help. 1. Moore’s LawIf you assume that Moore’s Law and its corollaries (things like bandwidth, storage, etc. that show similar trends) will continue for a while, then this means that the block size can roughly double every two years without affecting Bitcoin’s decentralization. For example, today, $1,000 of hardware is enough to run a fully validating node on the Bitcoin network. According to Moore's Law (and a corollary), within two years, anyone with $1,000 will be able to buy hardware that can handle a fully validating node with twice the block size. This trend has been going on for about 100 years (there will be errors in shorter periods) In some areas, the growth rate is slightly faster or slower than the two-year cycle, so this is also an approximation. For example, storage seems to have slowed down compared to the past, about every 4 years. But I think that Bitcoin block size doubling every two years is an approximation and it will not have a significant impact on Bitcoin's decentralization. Whether you believe it should double every 18 months or 4 years, it doesn’t really matter: we will continue to increase the block size at a rate that does not affect Bitcoin’s decentralization. This is good news, because going from 7 transactions per second to 4,000 transactions per second (Visa levels) only requires 9 double block upgrades. If you believe this, then the next question is whether the choice we made today is the right starting point (should we use 1, 2, 4, 8, 16, or 32MB blocks?). Exponential growth will solve these problems, for example, if we start with 8MB today, we will only need 6 doubling upgrades (about 12 years if we upgrade every two years). This is before considering other technical improvements, and we should be happy with this result, which means that scaling Bitcoin is a tractable problem. (For the record, I think we can actually get there faster, but this is just an example.) Of course, if Moore's Law breaks down or slows down, we can always make another change, so it's not set in stone. 2. Mining is becoming more centralized, so why should we focus on the number of full nodes?Today, the Bitcoin network has about 5,500 full nodes, and there seems to be concern that the number of full nodes may fall if the cost of running a Bitcoin node increases. For example, at some point, the number of Bitcoin full nodes dropped by 550 orders of magnitude. Would this be a major threat to the Bitcoin network? This is certainly not an ideal situation, but compared to this, mining has become centralized today, with only 4 or 5 mining pools controlling 80% of the network’s computing power. By comparison, this makes the number of full nodes seem less important. To be clear, I don’t think that centralization in Bitcoin mining is a terrible thing (I guess if these pools shut down, other pools will fill their place, and all sorts of other arguments), but I think it just shows that Bitcoin still has a long way to go in terms of decentralization. You get more benefits from 1 to 5 entities than from 5 to 10, which means that the benefits of decentralization are asymptotically linear (or have diminishing returns). The reduction in the number of full nodes is certainly not a good thing, but the security risks brought about by the reduction in numbers are far smaller than people imagine. 3. We have doubled the average block size over the past year, but this has proven to be okThe average block size on the Bitcoin network has increased by nearly 100% over the past year. The number of Bitcoin nodes fell by about 14%. If you ignore the fact that most of the node loss occurred around October 6th, apparently due to a stress test of the Bitcoin network with junk transactions, then the drop is closer to 6%. So, doubling the block size reduces the number of full nodes by 6%. If we increase the block size cap on Bitcoin, can we use this as a reference? Possibly. Other possible influencing factors include the price of Bitcoin, the overall interest of users in Bitcoin, and whether there are better mobile wallets. Of course, the impact within the 1MB limit may be smaller, and larger blocks may have more impact, which we have no way of knowing. So, full disclaimer here: this is a very crude and non-scientific analysis, but I think it helps to get a rough estimate. To me, this data suggests that increasing the Bitcoin block size again will result in a ~10% drop in the number of full nodes (to around 5,000 nodes). I leave this question to you, do you think this is worth the cost, or not? To strengthen this estimate, assuming Bitcoin is currently 8MB blocks, that would put the network at around 4,000 full nodes. Of course, things get increasingly fuzzy if you try to extrapolate this. 4. Maybe the free market will solve these problemsIn the case of a healthy dynamic market, miners will delay mining larger blocks unless there are more fees (which would reduce their chances of winning the block). In other words, miners may choose to mine smaller blocks no matter what the block size is until transaction fees rise, which is what they will inevitably do. What we should think of as the maximum block size is a DDOS prevention measure, not a goal for what the average block size should be. People often confuse this with having the maximum block size higher than the average block size, which is useful in preventing spam attacks on the network. So, here is a summary:
Which fork should we vote for?I talk about why miners should vote in another article. If you haven’t read it yet, please read it carefully. Miners have their own research, but I will still share some thoughts: The profitability of mining is closely tied to the price of Bitcoin. The only way I can think of to keep the price up in the long term is to make sure it can scale to a level close to Paypal or Visa. This will make Bitcoin more valuable. The Bitcoin blocksize debate is just one issue today, and we should be more concerned with picking the right team and the right leadership (or decision-making framework) than any particular solution. I have my own opinions on which fork should win, but I think the voting process will help Bitcoin choose a new fork and scale. If you are a miner, the time to vote is now :) As an aside, the /r/bitcoin forums and bitcoin.org are heavily censored, which doesn't help the debate. I recommend people stay on /r/btc and bitcoin.com until those organizations kick the bad guys out. Original article: https://medium.com/@barmstrong/scaling-bitcoin-the-great-block-size-debate-d2cba9021db0#.hvb0zmnd1 |
<<: How to solve the problem of "You give me Bitcoin, but I don't want it"
>>: BTCC suffered a DDoS extortion attack and the ransom increased to 30 Bitcoins
Dear INNOSILICON users: The Innominator T3+ is kn...
Having nasolabial folds is a very devastating thi...
Many times, people with the same type of facial f...
Bitcoin fell sharply on Tuesday, falling nearly 1...
Having a good set of teeth not only makes your sm...
The three stops divide our face into three areas,...
After years of debate, the SegWit2x scaling propo...
Preface: 2020 was a boiling year. From the 312 cr...
I believe everyone is familiar with moles. Moles ...
Bitmain has launched a container mining solution,...
El Salvador’s President Nayib Bukele confirmed on...
In the field of crypto assets, "mining"...
There are many amorous people in life. Such peopl...
Vietnamese investors are stepping up imports of c...
In physiognomy, what kind of people with feet are...