pull down to refresh

Bitcoin has a scaling issue. Many people are either unaware of this or in denial, if you are one of these people I hope this article can inform or convince you. And if you have already realised bitcoin isn't perfect, perhaps I can tell you about some of the potential solutions.
First we must understand the problem bitcoin faces, and game out the potential futures if we fail to improve. In it's current form, the bitcoin blockchain allows for around 260 million transactions per year. On average there are 144 blocks per day, and 52,560 blocks per year. Each block can, at most, fit about 5000 transactions inside. Most blocks actually contain significantly less than this however. This means 260 million people could make a single transaction per year, we could imagine this being a lightning channel open, or a transfer into cold storage. Clearly this isn't enough transactions for 8 billion people world wide to be able to either self custody or use the lightning network. It would take 30 years to onboard the world to self custodial lightning, and that is assuming you have 0 channel closes or any other types of transactions, which obviously won't be the case.
You may be thinking that this is okay, as we can use custodians or "bitcoin banks" as a way to make payments with bitcoin, however I will try to explain why this is not a solution to scaling. If too much bitcoin ends up being stuck inside closed custody systems, outside of the base chain, we could have a repeat of the gold standard, where promises to exchange the banks IOU for real bitcoin get broken. This could occur if the individual base layer fees are too high and no new self custodial scaling solutions are introduced to bitcoin, meaning people have to use custodians by necessity. Paper bitcoin can then be created, leading to a fractional reserve system with inflation all over again. While we may be able to audit a bitcoin bank's reserves, if they disclose the addresses, we won't be able to audit their liabilities without trusting what they say.
Another issue that comes with having too much supply not being self custodied, is centralising the consensus of the network and potentially allowing the network rules to be changed by a central entity. Consensus is determined by the economic majority of nodes. If not enough capital, in bitcoin terms, is held self custodially then the custodians with their own nodes may be able to alter the system against the will of the users. We need regular people to continue to run nodes and verify their transactions, if they end up needing to use a custodian it's likely they will stop running a node. Mining pool centralisation has similar issues, and bitcoin’s lack of scaling can also make this worse. As fees increase, fewer and fewer miners will be able to claim their payments from the pool due to not reaching the withdrawal thresh-holds.
So, what are some proposed ways for solving this issue? Lets first discuss what options currently exist, without any consensus changes to bitcoin.
Lightning Network. The lightning network is currently the only truly self custodial scaling solution for bitcoin. By using a 2 party multisig, called a channel, you can make many off chain transactions with only 2 on-chain transactions. While lightning is a great tool and will likely serve a crucial function for a very long time, it does have limitations and is not the final solution to scaling. In order for someone to use lightning they must make a layer 1 transaction to open a channel. And in order to be truly self sovereign, your money is not settled until it is put back on L1 with a channel close transaction. As we mentioned earlier there is a limit on how many transactions can be done on layer 1. I believe lightning will most likely end up as a settlement layer between businesses or other large entities.
Federations. A federation, in regards to bitcoin, is a group of individuals or entities that each hold a key to a multisig containing bitcoin. This bitcoin can then be 'pegged' to a system or network that is off chain, the liquid network is an example of a federation. While a federation may be an improvement for some people versus a traditional bank custodian, ultimately it is still custodial. A relatively small group of people can conspire together to take your money or limit how you can spend it, and the government could easily control this small group. You cannot take your bitcoin out of the liquid multisig without permission from a majority of the key holders.
E-Cash Mints. An E-cash mint is another form of custodian, where you send your bitcoin to the mint in exchange for a predetermined amount of their E-cash tokens. This mint could also be a federation multisig, or controlled by an individual. By using E-cash you don't have to create layer 1 bitcoin transactions every time you want to spend. E-cash transactions can also be very fast, cheap and private. Some examples of E-cash projects are Fedimint and Cashu. Once again though, this is still a custodial solution and doesn't solve the issues we described above. I do think there is one very interesting use case for E-cash mints, and this is community or family banking. The so called “Uncle Jim model”, where a family or small local community entrusts their bitcoin with a trusted and technical member. This could be used as a custody method and also a scaling solution, where the transactions in the local town just use the local E-cash token, to avoid L1 or lightning fees.
Merge Mined Sidechains. This is another blockchain that is secured by bitcoin miners, as it uses the same proof of work mechanism that bitcoin uses, double SHA-256. Rootstock is an example of a merge mined sidechain. However there are 2 issues with this approach, there is no way to trustlessly withdraw from the sidechain, and more blockchains don't actually scale the base layer. While there are small improvements over traditional custody, unfortunately, you essentially have another form of a custodial network, which inherits the scaling issues of the base chain.
Now lets talk about the proposals that aren't currently possible, and would need new OP codes for bitcoin script, requiring a soft fork.
Covenants. A covenant is a contract you can voluntarily choose to be a part of, some spending limits can be applied to an address, where if you choose to accept bitcoin to it, new rules are applied that must be met for coins in that address to be spent. Some types of covenants already exist in bitcoin, such as time-locks, you can choose to make your bitcoin un-spendable for a predetermined amount of time.
OP_CTV is the most basic covenant proposal, it stands for Check Template Verify. If you are using CTV your transaction must have a template that matches the previously set template, the spending conditions must be met. Once applied these contracts cannot be changed by anyone, they allow for provably trustless payment structures such as payment pools, where multiple people share a single UTXO. Lightning is essentially 2 people sharing a UTXO, with covenants we can increase that to many people, potentially thousands, sharing a UTXO. This also comes with privacy benefits, as many people will share a single footprint on L1. This function can also be used to create batched channels, where many lightning channels can be opened with a single UTXO. In fact, covenants can improve lightning in many ways.
Vaults are another important potential tool that could be created with many different covenants, allowing things like claw-backs of bitcoin if you get robbed, or putting limits on where your bitcoin can go. Another use case is having an automated inheritance setup, where if you die and don't respond to a notification for a period of time, your bitcoin is moved to a wallet controlled by your heirs. Some other covenant proposal examples are; OP_CAT, OP_TXHASH and OP_VAULT.
We may also be able to create trust minimised or even trustless sidechain two way pegs, allowing people to deposit to and withdraw from a sidechain without anyone's permission, one proposed method for achieving this are called spacechains.
Covenants are very powerful upgrades to bitcoin, although relative to the greater world of programming, they are still very limited. Many years have been put into testing, researching and debating these proposals, however we must still be very cautious when making any changes to bitcoin's consensus rules. Ultimately the new tools created with covenants would all be opt-in, voluntary. Just like how you could send you bitcoin to an address nobody controls and lose it, or time-locking your bitcoin for hundreds of years, with covenants you could send your bitcoin to an address that prevents you spending your bitcoin, so caution should be taken when first using them. But over time, just like the lightning network, these tools can be developed and improved, to become simple and secure for the average person.
I believe we should make small steps towards the end goal of giving self sovereign to everyone on the planet. We don't need to scale to 8 billion next week, we have time, however we can't become complacent and believe bitcoin never needs to change and adapt again. OP_CTV is a very safe first step, it has been around for several years, with lots of testing. It can also be upgraded with further OP codes in the future, to allow for greater flexibility and improved scaling.
I highly recommend reading BIP119, which you can find here: https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki
And a follow on article I wrote for bitcoin magazine, which goes into the activation process and the current community efforts for CTV: https://bitcoinmagazine.com/culture/rubins-reubens-and-the-push-for-ctv
Some other useful websites to learn about covenants: https://utxos.org/ https://covenants.info/
It would take 30 years to onboard the world to self custodial lightning
Why is this a problem? It took 183 years to build Notre Dame
Not everything grand has to be finished while you are young
reply
521 sats \ 8 replies \ @joda 21 Feb
What if after everyone was onboard, there was a huge disaster like a solar flare that knocked out electricity and tens of thousands of nodes went offline? All those channels get closed in the meantime, and then when power is restored, everyone is trying to reopen their channels at the same time, but it will take several years to get everyone back on.
reply
Bitcoin is not for everyone. Only for brave... not for the weak.
reply
Is that with or without covenants? Seems like there could be some sort of backup/restore protocol that gets added in the meantime.
reply
Sounds like a fair concern to me.
reply
11 sats \ 4 replies \ @xz 21 Feb
How would this not be a problem for global payments system today? So, we could imply this is a scaling problem for banks and payment processors, due to reliance on electricity. Maybe we should not be n a hurry to phase out cash (for ultimate scalability)
I've got nothing against covenants, federations or ecash mints. I stiill don't see that lightning is unscaleable. Most use it today without a node or channels of their own.
reply
10 sats \ 1 reply \ @joda 21 Feb
It is indeed scalable if you are willing to make that tradeoff and risk (sovereignty vs custodial).
Custodial solutions are vulnerable to KYC, censorship, rugs, fractional reserve, etc.
reply
10 sats \ 0 replies \ @xz 21 Feb
Can't argue with that. I'm just concluding that when you stretch any system to it's logical maximum usage, you've got imperfections and vulnerabilities. Because we live in a political, human and mechanized system. They are all subject to error and exploitation.
reply
No doubt it would be a problem. But channel states and backups are a different thing, and there are costs involved with reopening them, and the force closure of channels incurs fees. And scarce block space.
reply
10 sats \ 0 replies \ @xz 21 Feb
But that's what I'm trying to say, it's not relevant if lightning is becoming a different kind of solution whereby most people transact using wallet solutions.
Sure there're trade offs, but as there's only 21/the global population, it's highly unlikely most will be throwing it onto lightning channels of 500,000 sats
reply
Well, for starters that's a best case scenario, with 0 other use happening. So the time would be much longer in reality.
reply
And this assumes that everyone will want to be self-custodial.
reply
968 sats \ 6 replies \ @oomahq 20 Feb
Bitcoin was never meant to scale to all humanity, and that is OK.
It's more important to not break it than getting everyone's pet opcode activated on mainnet.
reply
This isn't about pet opcodes sir. CTV is very limited and would be one of the simplest changes ever made to bitcoin. And CTV certainly doesn't scale us to all humanity, it's non recursive. But its a small step in the right direction and hopefully can set a good precedent for future changes if we see a need for them. I hope you actually read the whole post, because I feel I explained why we need at least a bit more scale on top of what we already have.
Early messaging around BTC said that it would. Not saying it should, but there are years of messaging that were saying otherwise, even before the block size war.
reply
Bitcoin was designed so that every single transaction needs to be broadcasted to every participant in the network and stored forever.
IMO when you understand the implications of that, it doesn't matter what people say or used to say.
reply
10 sats \ 1 reply \ @joda 21 Feb
UTXOs for everyone, yeah no.
But if Bitcoin doesn't scale to all humanity, then its value proposition is diminished significantly.
reply
It never did. More like its value proposition would increase significantly if it does :)
reply
498 sats \ 1 reply \ @kr 20 Feb
an excellent first post sir, welcome to SN!
reply
Thank you!
reply
218 sats \ 0 replies \ @gd 20 Feb
Interested to hear about your engineering background in system design at scale and protocol design
reply
Putting the scaling issue into a possible future context:
“Deflationary money… will give everyone a reason to save rather than overconsume, giving more people access to whatever they want over time because of the falling prices. If you postpone your spending, your bitcoin will buy you more in the future. In other words, fewer transactions. Quality before quantity. The necessity for transactions per second will diminish.”
reply
It's not quite linear, because less spending also mean less investment, production cost reduction from economy of scale etc
reply
10 sats \ 0 replies \ @joda 21 Feb
But with micro-transactions, demand/use goes up exponentially. I've done thousands of transactions in a day on Nostr and Fountain. This is on Lightning, of course...
reply
Thanks for great overview! What about all these fancy zksnarks and rollups, is it doable on bitcoin?
reply
11 sats \ 3 replies \ @joda 20 Feb
They sound very exciting, but the very fact that there are dozens of them on Ethereum makes me think they won't work. I think the "rolling up" is centralized and intensive.
reply
the very fact that there are dozens of them on Ethereum makes me think they won't work.
what's the reasoning behind this? there's not only one, but many functional competing rollups doing its job yet you somehow declare it a failure?
reply
110 sats \ 0 replies \ @joda 21 Feb
Because you wouldn't need dozens of them competing for mindspace and user share unless they each claimed to be better than their competitors.
And because Ethereum isn't money like Bitcoin, so the bar is lower. That is, they can afford to compromise on the trilemma. They can have some centralization without fear of censorship, because they already succumb to censorship. Bitcoin is already up in arms about having federated L2s.
See all of them here. There are a couple that are rated to have no compromises, but I don't know anything about them.
reply
Citrea is on my list to dive into and write about, they claim to bring rollups to bitcoin via bitVM. Time will tell though.
reply
haha this was just an ad for covenants. got it.
reply
There's nothing being sold, and I will make no money. So not sure calling it an ad is fair. I am definitely an advocate though. I was recommended to try out stacker news, and I'll probably keep using it based on the immediate success. I write about lots of stuff, usually explainers and guides for 'beginners' of various bitcoin topics. Keep an eye out, I will be writing more about potential outcomes of forks, and other scaling matters.
reply
21 sats \ 1 reply \ @k00b 23 Feb
If too much bitcoin ends up being stuck inside closed custody systems, outside of the base chain, we could have a repeat of the gold standard, where promises to exchange the banks IOU for real bitcoin get broken.
This is an excellent point that I was yet to make myself. It probably wouldn't be exactly like the gold standard because gold's problems with self-custody mostly occur in very large quantities. Bitcoin has the opposite problem - problems occur with self-custody for small quantities and not large ones. Still, the effect is centralizing.
Consensus is determined by the economic majority of nodes. If not enough capital, in bitcoin terms, is held self custodially then the custodians with their own nodes may be able to alter the system against the will of the users. We need regular people to continue to run nodes and verify their transactions, if they end up needing to use a custodian it's likely they will stop running a node.
Another great point. Economic nodes will be limited to custodians if plebs can't benefit from running nodes.
reply
Thank you, I'm glad to see people on here taking this stuff more seriously than on twitter.
reply
You gotta use markdown man. You had most of the formula right you just didn't format it lol.
Example:
So, what are some proposed ways for solving this issue? Lets first discuss what options currently exist, without any consensus changes to bitcoin.

Lightning Network.

The lightning network is currently...
And then break it up with pictures now and then.
reply
318 sats \ 0 replies \ @Rock 20 Feb
This is also linked right above every text field for posting and commenting.
reply
Assume OP is a bot
reply
136 sats \ 9 replies \ @kr 20 Feb
i am 99% sure they are not a bot
reply
Thank you sir. I just like to write pieces, I'm not a regular forum goer or anything. It might take me a bit of time to figure everything out, layouts, features etc
reply
10 sats \ 1 reply \ @kr 20 Feb
sounds good, if you have any questions about how the site works feel free to post them in ~meta or the stacker saloon and stackers should be able to help you out
reply
Appreciate it!
reply
99.99%. I've read a lot of AI junk, and that wasn't AI junk.
Also, there were too many grammar quirks. No offense, @George203BTC 😊—it was a great article, and quirks are human.
reply
No problem, beats being called a bot haha. I'm curious though, what are the grammar errors? Bearing in mind I am English.
reply
I said quirks, not errors. 💡 The way you use commas and arrange sentences just isn't the way the robot would do it.
reply
Ah okay fair enough :)
reply
10 sats \ 10 replies \ @OT 20 Feb
Feels like a bot to me.
reply
Maybe he reads lots of GPT and was inspired to write like them
reply
:( I actually have hardly ever used GPT.
reply
10 sats \ 3 replies \ @OT 21 Feb
These bots are getting good
reply
Beep Boop. 🤖
reply
10 sats \ 1 reply \ @OT 21 Feb
Put a few spelling mistakes in there next time.
10 sats \ 3 replies \ @OT 20 Feb
Its long and generic.
New account too
reply
Haha definitely not a bot, just new here, I copied this over from my substack. I have no experience using a forum like this. Thanks for the feedback, tbh I wasn't expecting any comments of sats.
reply
0 sats \ 1 reply \ @Lumor 22 Feb
Next gen bot trying to trick us by switching "or" -> "of" in second-to-last word.
Like a really interesting podcast with terrible microphones
Great post. First people often thing about this in absolutes like "It would take X hundred years to on-board every one", or "if we increase the blocksize no one will be able to run a node". People forget there was a time YT was terrible, you had to wait for videos to buffer, certainly the same users today could not use YT as it was back then. People would also wait weeks to get an album from torrents. My opinion is yes there will be a problem for people that want to own btc onchain. Many will also use custodial solutions mainly for LN and all these options will take pressure from the base chain, but i don't think it will be enough. The simple and obvious solution is to increase the blocksize, we can't just increase at will, but something like 2-5% each year if blocks are on average full. A bit like hashrate difficult adjustment. This would allow the on-boarding to bring more people in a phased manner. I can already hear the cries of "oh but then you won't be able to run a node in a raspi on the the mountains of Peru!" people must first own bitcoin before they think of running a node. Oh but less people will afford-a node is cheaper than a new cellphone, or a laptop, but the IBD-I used to way more than a moth for a movie and I can't wait for my node to sync? Oh but people in Africa - we are telling people to join and give their bitcoin to a group of custodians in a fedimint and they can't instead run a node for the whole community to use and keep their stack onchain? Node hardware is cheap and we have technology on our side that gives an edge, we also had a blocksize increase with segwit and it was no big deal. Oh and other argument, what about miners? They have to eat, security budget - shut up. That is shipcoins talk, there is no such thing as a security budget, miners are a free market that we can't control. But fees must be high-no they don't, bitcoin is a network, constant high fees are a sign that the network should increase to satisfy demand, with constant high fees the network responds like it's a spam attack and people get cut off, for the network to keep serving part of the requests. High fees should be temporary when there are spikes or attacks not constantly. At the end end of this it could take 100 years but anyone could still run a node and the base chain could accommodate most transactions because people would only need to do a couple of tx onchain a month, most of the activity would be on other layers. But people must be given the opportunity to hold onchain if they want to. End rant.
reply
Thanks! I'm currently not in a position where I would want a blocksize increase, and I might never be. I wasn't involved in the Blocksize war, bitcoin was only a means to an end for me then. It's definitely a last resort kind of thing imo, I'd much rather try most other forms of scaling first. And I do believe total network fees do need to be high, but individual user fees do not.
reply
Total network fees high and individual low means higher volume of txs. All scaling solutions suffer if onchain fees are too high. There is no magic. Also with each new soft fork you increase complexity and new unintended consequences and attack vectors. The blocksize war was not about the size of the block, it was about control over the network. Either way I don't worry too much because if bitcoin gets to a point where fees are constantly high and pricing out everyone and making most utxos dust, even the ones against it now will ask for it.
reply
21 sats \ 0 replies \ @Fabs 21 Feb
Yep, you've hit the nail on the head again.
reply
I do agree that it will probably require higher fees for longer for a real change to happen. One thing I would say though is that the blocksize war seemed to end with the majority of people realising we would scale in layers and not by increasing the Blocksize. We got lightning yes, but it is not the final solution as I said in the post. We need new ways to create and improve L2s in a trust minimised way.
reply
Finally! I am absolutely with you on that.
reply
I'm sorry, who would stop banks from issuing paper Bitcoin? How?
I take that as inevitable.
reply
Who? Users. No one in particular. We might be able to check them and keep them in line with regular bank runs, but only if withdrawal is possible and feasible.
reply
Some users will, some won't. And it'll happen. When people need money they don't have, they tend to bring it from the future via credit. What are their incentives to not do it?
reply
Thanks for this insightful article
reply
I have 2 contradictions.
  1. I believe changing the protocol can be extremely difficult as well as extremely dangerous to the sustainability of the protocol. The rules were not meant to change and any further changes to the protocol could destroy the ecosystem that is keeping it secure.
  2. The free market that exists on top of Bitcoin could theoretically enforce market discipline for Centralized Custodians due to a free market competition for market share. Aligning the incentives of the solution providers to remain ethical and for users to look out for their own best self interest. Obviously there will still be bad actors like any other market but without any authority on Bitcoins decentralized economy, the bad actors would naturally be flushed out.
reply
  1. I agree changing the protocol (I'll assume you are only talking about consensus changes through soft/hard forks) is very difficult, CTV has been proposed for several years now, and I am witnessing it first hand myself. As for it being very dangerous, this totally depends on what the change is. A new OP code is one of the smallest changes possible, far less complexity than segwit or taproot were. CTV is also the most restricted op code that is currently proposed (you will struggle to find a serious dev that disagrees), it is non recursive (best to look this up if you don't know this term), and has a relatively small amount of code. The code has been reviewed for quite a few years and heavily tested, with a 5+ BTC bounty available for anyone who can create a damaging tool/bug/etc using CTV on bitcoins testnets. This has also been available for several years with nothing found so far. CTV could certainly be used for bad things where you could lose your money, but you would have to volunteer to send your bitcoin to an address that uses CTV (so it wouldn't affect any other users). This is the same as now, you could send your bitcoin to an address you don't control or you could use a time lock to lock your bitcoin for thousands of years, etc. There will be new code to maintain of course, but CTV will also improve efficiency of lots of current code/use cases making some things simpler. As for the rules not being meant to change, firstly Satoshi would have disagreed, you can see this in his writing. And also bitcoins history disagrees, as there have been 8 consensus rule changes since March 2012 (see the attached image). Also non consensus code changes very regularly, check out the bitcoin GitHub. There are very good arguments that covenants like CTV can improve the economic incentives of the system. Such as improving the fungibility of coins with coin pools (like using coinjoins but inside a single UTXO), and increasing the economic density of a UTXO so monetary transactions can better compete with things like ordinals or inscriptions (which some call spam).
  2. Ok now for the second point. I'm not very convinced by this personally, and I believe I went into this a bit in the post. If lots of coins end up TRAPPED (due to fees to exit being too high or the custodian refusing/legally not being able to let you exit) you no longer have the same free market we have right now. We could not force bank runs on them to keep them in line. This would be a similar system to what we have now with fiat, there is some competition amongst banks, but it's far from great (as I'm sure you know). We would probably be back to having to protest or use the legal system. The open ledger could provide a slight improvement though on seeing their reserves (assuming they share their addresses). But we could never truly know their liabilities, so they could create fake IOU bitcoins and go back to fractional reserves. As for their authority on the bitcoin protocol, I feel I covered that well in the post, but I'll touch on it again. If they get enough power through their nodes and they collaborate with other custodians (the government they reside under could force them to do this, the custodian themselves doesn't need to be a bad actor).
None of this is guaranteed and I'm not promising it will happen. But it's a very real threat and risk and something that needs to be taken seriously. We have already seen wallet of Satoshi & Exodus wallets pull out of the US over regulatory fears, meaning custodial bitcoin wallets themselves might not even be a real option. You cannot transact/deposit/withdraw with an ETF. Hopefully this post was clear and helpful, I might have gone on a bit haha. And thank you for the comment and your interest! :D Stay humble, stack sats in self custody and don't choose voluntary ossification.
Here's an interesting article on this subject by Marty Bent recently published:
reply
provocative Q #433476
reply
reply
This doesn't look like a scaling solution. Looks more like a shipcoin layer.
reply
This isnt actually built or code released yet as far as I know, I do have some faith it will happen and be useful. But it's far too early to say this is the final solution to scaling bitcoin.
reply
Thanks for this, very timely as I'm currently learning more about covenants and the various proposals.
reply
No problem, at the bottom is a link to another article I wrote for bitcoin magazine if you didn't spot it :) I'll be writing and post more here soon.
reply
"This could occur if the individual base layer fees are too high"
Tail emission would suppress fees growth, that's clear. The only reasonable (because free market version) of tail emission is to add another 210k blocks delay to the next halving - only in case if the network difficulty hasn't recover during four years long period after the previous halving.
P.S. I'm not in a crazy rush for this change to happen, but in case of first "destructive halving" - I'm gonna be... :)
Great post. I've been thinking about the inevitable scaling issue for a long time now. Thus far the best solution I've thought of has been, "We'll cross that bridge when we get there," 🤷‍♂️ but I'm glad to see your proposals.