
Bitcoin May Have Solved Its Scaling Problem - artsandsci
https://motherboard.vice.com/en_us/article/d3893y/bitcoin-may-have-just-solved-its-scaling-problem
======
wildbunny
Bitcoin hasn't solved the scaling problem. All these BIPs are just short term
fixes which don't address the core problem. I opened a discussion thread on
bitcointalk hoping to catch the attention of the core developers, but it seems
they don't read that forum anymore.

[https://bitcointalk.org/index.php?topic=2036368.0](https://bitcointalk.org/index.php?topic=2036368.0)

~~~
Torai
I'm tired of Bitcoin's useless drama.

~~~
eternalban
Useless to you and me, but quite a lot of fortunes are riding on this ponzi
scheme.

------
jgord
Not a great article. Perhaps best to downvote until a better one comes along.

Things to consider, which most people can agree on :

\- SegWit2X [ segwit feature, followed by 2MB block size ] is seen as a
compromise worth taking to move things forward past the current impasse, by a
range of people who dislike SegWit and think an actual blocksize increase is
urgently needed

\- There is an immediate scaling problem : The mean and median blocksize is
converging on the max blocksize of 1MB, and transactions waiting to get into
the block blow out on a daily basis to 20MB. This backlog of waiting
transactions causes users to pay high fees to get their transaction to the
front of the queue, and causes delays in processing/confirmation times.

\- there is a less urgent longer term scaling problem due to the linear
architecture of the blockchain itself

My personal viewpoint :

\- if you are only processing 3 transactions per second, there is substantial
room for performance increases

\- SegWit may help slightly in alleviating transaction pressure, and a 2MB
block size will help a bit more. Given the voracity of the debate, SegWit2X is
a practical compromise we should adopt to move forward. The USD/BTC market
seems to agree with this.

\- We do need a schedule for block increases over the next couple years so all
parties have certainty, and so it doesn't create renewed havoc every few
months.

\- blocksize is just the first of several engineering optimizations that could
see transaction throughput on the same linear architecture increase over
1000x. eg. We have a 150GB full blockchain - it would be half the size on disk
if compressed.

\- Even if LN or side chains are the way to scale, and only 0.1% of
transactions are 'settled' on the main chain, we will still need a more
efficient main blockchain, because the growth of transaction volumes will
likely be exponential for the next decade.

\- some people think the blocksize is a fundamental part of the genius
breakthrough in technology that is the blockchain, and so cannot be tinkered
with. This is wrong. Proof-of-work, monetary supply, miner reward, chained
hash of the blocks, longest block wins, distributed redundancy are fundamental
ideas at the core of bitcoin .. but blocksize is merely a technical issue, an
artificial limit that was there to make implementation simpler, and always
assumed that it would need to be increased well before it became an issue.

~~~
rothbardrand
Unless things have changed in the last week, your info on the backlog of
transactions is out of date. There was a concerted spam campaign from April to
June of this year that made the backlog grow and transaction fees go up, but
that has ended around the time Segwit2X was getting committed.

You also don't seem to understand that Segwit is an increase in the block
size, up to about 4MB, and there are very good engineering reasons for keeping
blocks smaller-- namely larger blocks increase centralization when the Great
Firewall of China is taken into account.

~~~
jgord
Everyone can look at the numbers and decide the most plausible explanation :

[https://blockchain.info/charts/avg-block-
size?timespan=all](https://blockchain.info/charts/avg-block-size?timespan=all)

To my eyes, thats a graph of user growth, not a spam attack.

Similarly, this graph tells the story of an artificial barrier being hit up
against :

[https://quantblog.files.wordpress.com/2017/07/median_mean_bl...](https://quantblog.files.wordpress.com/2017/07/median_mean_blocksize.png)

In June mempools did go up to 100 or 120 MB ... I think due to new users, who
then backed off as fees went up .. but even if we factor that out, there has
been a steady increase over the past several years, and mempools are routinely
up to 20MB every day - ie. 20x times the number of transactions are waiting
for a block, as can fit in that block .. so they have to wait around to be
cleared. This is not due mainly to spam, it is due to users wanting to send
money with bitcoin.

I disagree that "SegWit is a block size increase" \- taking the signature data
out of the transaction, means the same 1MB block can squeeze in more
transactions, but I think a more honest way of saying this is block
"compression" or call it an "effective block size increase".

If segwit saves 50-60% of transaction space in the block buffer, then combined
with an actual 2x blocksize increase, thats an effective block increase of ~4x
.. which is urgently needed.

I also disagree that blocks need to be small due to the 'firewall of china
centralization issue'. I suspect 8MB blocks would flow rather well across
Chinas virtual borders, particularly if there are good economic reasons for
those blocks to flow. Keep in mind we're talking a paltry 200MB of
transactions per day .. I'm sure that level of bandwidth is dwarfed by general
internet traffic.

Your explanations are presented as "very good engineering reasons", but I
genuinely don't think they are.

Speaking plainly - transaction throughput, and thus user growth, is being
strangled by a small block size.

~~~
jgord
mempool size over the past 30 days :

[https://blockchain.info/charts/mempool-
size?timespan=30days](https://blockchain.info/charts/mempool-
size?timespan=30days)

Its almost never below 15MB - ie 15x as many transactions waiting to be
processed, as can possibly fit in the next block. [ and blocks arrive on
average every 10mins, so its a long wait to clear out the daily peak ]

To me these stats really do present a "very good engineering reason" to
increase blocksize.

------
richardw
Crypcocurrencies need to stop requiring us all to hold every transaction in
one unified blockchain dump. There has to be some way to break the network out
into shards while still preserving the distributed nature and ability to pay
anyone.

No matter what we do, moving and storing every single transaction is insane.
It's like my bank account needing to know what every person in the world's
purchases are this morning. I shouldn't need to know what some guy on the
other side of the world spent his lunch money on, just to buy my own.

What am I missing? Surely the uber com sci phd's have fully solved this?

~~~
GBiT
You don't need to hold every transaction why do you think you have to keep all
blockchain? Right now you can use pruning on a client like Core ar Unlimited
or you can use light clients like Electrum.

~~~
richardw
I do use a light wallet but the main blockchain doesn't have sharding as a
primary design. It's gone from mb to many gb.

------
rebuilder
This doesn't even remotely address the scaling problem, such as it may be. I'm
not keen on forced blocksize caps as I don't see how that kind of planned
economy model is compatible with the free-market money ideas behind Bitcoin,
but even an unlimited blocksize would be unlikely to truly solve scaling.

Bitcoin simply doesn't scale very well because of the way transaction history
need sto be stored. As long as the rate of blockchain growth can't be
significantly reduced, transaction rate can't grow very much.

So small block proponents are likely to be right in that on-chain scaling is
unrealistic, but if the market must be forced by developers to adhere to an
artificial limit, I think that in itself implies Bitcoin is unlikely to be
able to grow very far as the market is unable to self-regulate.

~~~
mrb
Bitcoin will never scale as well as a centralized system. But it's not
necessarily a problem. Bitcoin only needs to scale _well enough_ to succeed.
For example, just looking at brute network statistics, a 1MB blocksize causes
a well connected node to use approx 1 Mbps of bandwidth. Therefore with zero
improvements in the way the blockhain is implemented, we could scale to a
100MB blocksize, allowing 350-700 tps, and the bandwidth would only cost
$50-100/month (cost of a 100 Mbps unmetered colocated host in the US). Disk
usage would grow 5TB per year without pruning, maybe 2-3 TB with pruning,
that's $50-70 per year in HDD.

I don't know about you but I feel pretty good that without any algorithmic
optimizations, Bitcoin seems to have a 100x scaling potential, with a full
node still remaining affordable to run by a "serious" Bitcoin individual
(~$100 /month).

~~~
z3t4
you want as many miners as possible or the whole network will be in danger
when there are only a few miners having 50% of the mining power. it would be
grate if smartphones could mine when they are charging or idle, and also run a
full node and make transactions.

~~~
jmaa
I already have issues with my smartphone's drain-rate. Withstanding the issue
of a huge ledger, you don't what to be mining on your smartphone.

------
danmaz74
Stopped reading after the first paragraph, which said:

> after users overwhelmingly voted in favor of implementing a code improvement

It was miners who voted, not users. If you can't get the first paragraph
right, I don't need to read the rest of the article...

~~~
ky738
all miners are users

~~~
MichaelBurge
People overwhelmingly voted for the new dictator, since the dictator's top
generals voted for him and the generals are people.

~~~
ky738
That's a fallacy whereas what I said was simply a logic statement. true or
false?

~~~
jwilk
True, but irrelevant.

------
hashmp
Bitcoin is not slow. It's fast, if you are prepared to pay for it.

This is where the disagreement lies. Should the price of on chain transactions
be reduced and remain low.

~~~
grey-area
Compared to existing payment processing networks (responses typically in < 1
sec), it is slow as molasses.

~~~
mrb
Apples to oranges.

A 0-confirmation Bitcoin transaction similarly needs only < 1 sec to be
broadcasted to the network. And a 0-conf tx offers as much security as
existing payment networks (which are reversible). When I sell computer gear on
Craigslist in person and someone pays me in Bitcoin, I only wait ~1 second for
the tx to reach my phone's wallet before letting the buyer walk away.

A merchant needs to wait 1-2 business days before he can spend the money he
received through these payments networks. With Bitcoin he only has to wait 1
block (~10 minutes), reducing pressure on his cash flow.

A merchant must wait typically 60 days for a CC transaction to be considered
irreversible. With Bitcoin he only has to wait 6 blocks (~1 hour).

So, comparing apples to apples, Bitcoin is either as fast as, or MUCH faster
than legacy payment networks.

~~~
grey-area
_A 0-confirmation Bitcoin transaction similarly needs only < 1 sec to be
broadcasted to the network._

No, payment networks verify that the user can spend immediately. That is full
confirmation in a few seconds. Bitcoin fails dismally here on very limited
transaction volume by taking 10 minutes at best for something approaching
confirmation and has no chance with the current architecture of POW of ever
realistically replacing those transaction networks - both because of energy
use and time.

 _A merchant needs to wait 1-2 business days before he can spend the money he
received through these payments networks._

Yes, Bitcoin has the advantage here - you'll get your money faster, though
there is no real technical barrier to existing networks paying out faster, the
banks are just incompetent and greedy. This does depend how the payment is
done - using FPS it's available instantly, using cc it's not (often more like
7 days, not 2).

 _A merchant must wait typically 60 days for a CC transaction to be considered
irreversible._

That is a matter of policy, not tech. If Bitcoin were a serious transaction
protocol, _customers_ would demand the same features, or a guarantee in law
that they could return shoddy goods - either way, the protocol is not the
problem here.

 _When I sell computer gear on Craigslist in person and someone pays me in
Bitcoin, I only wait ~1 second for the tx to reach my phone 's wallet before
letting the buyer walk away._

In that case you have no idea if that transaction is actually confirmed and
not a double spend (typically Bitcoin requires at least minutes to confirm),
that's not equivalent to them paying you by bank transfer in seconds.
Comparing a zero confirmation transaction from bitcoin to a full confirmation
transaction from a bank is disingenuous at best.

That's not even touching on all the other flaws of bitcoin as a method of
payment - irreversibility (yes people really don't want that!), pseudo
anonymity (just enough for criminals, not enough to stop states), complexity
meaning average users hand their entire savings over to someone else, lack of
insurance or regulation (yes people really do want that!), lack of backing as
a currency making it extremely vulnerable should it become popular to being
targeted and cornered by states or money markets, hidden centralisation
through miner cartels running the transaction network and a small group of
devs/companies producing the complex software required, energy use of POW
which means it could never handle enough volume....

Using merkle trees to store transaction ledgers is really interesting, but
with the current architecture of bitcoin is not a rival to current payment
networks mostly because it appears to be designed for something else entirely
(to replace fiat cash it seems, which is on the way out anyway).

~~~
DannyDaemonic
_No, payment networks verify that the user can spend immediately. That is full
confirmation in a few seconds. Bitcoin fails dismally here..._

To call a credit card transaction a full instant confirmation is disingenuous
at best. If I were selling goods I'd prefer the 0-confirmation Bitcoin
transaction to a credit card transaction. And just like how you might refuse a
credit card payment from someone without an id, you might also refuse a
0-confirmation Bitcoin transaction with no or very low transaction fees.

 _In that case you have no idea if that transaction is actually confirmed and
not a double spend (typically Bitcoin requires at least minutes to confirm),
that 's not equivalent to them paying you by bank transfer in seconds._

That's correct, but it's not a fair comparison for his example, as no one on
Craigslist will send a bank transfer to you. Judging from context mrb was
comparing it to a credit card transaction, which you can do with PayPal and
their free credit card reader that goes into your audio jack. If some stranger
on craigslist wanted to buy something from me with either a credit card or a
0-confirmation Bitcoin transaction, I'd chose the Bitcoin transaction. Perhaps
you underestimate the difficulty in performing a double spend. Or
underestimate the amount of credit card fraud that happens.

You also mention the energy cost as a concern. It was estimated that the
energy cost of running the Bitcoin network was $400 million in 2016. Bank of
America listed $60 billion dollars in just operating expenses for that same
year (and this doesn't include investment losses). Sure there is a lot more
going on at BAC, but even if only 10% of that is spent verifying transactions,
it still cost more than all of Bitcoin. And that's just one bank.

Since this is just the POW algorithm, increasing the blocksize or using an
off-chain solution to increase number of transactions won't cause a scaling in
POW energy usage. The POW algorithm costs just as much energy to confirm 1
transactions as it would 1 million. All that energy isn't spent doing math to
confirm the transactions, it's confirming the "signature" on the block which
lists all the transactions.

 _complexity meaning average users hand their entire savings over to someone
else_

Ignoring the fact that you've certainly handed your entire savings over to
someone else, I'd like to see the sources for this. Things are so simple now.
It's gotten so easy to store Bitcoins on your phone or computer. You don't
need to download the entire blockchain anymore, and you can backup your entire
Bitcoin wallet with 12 words, which you can choose to memorize or hide
somewhere.

 _... making it extremely vulnerable should it become popular to being
targeted and cornered by states or money markets_

I would argue it's already become popular. And I think Bitcoin being banned by
state entities is probably it's biggest vulnerability at this point, but with
so many businesses involved in it, I don't see that happening. In fact, things
actually seem to be going the other direction. Bitcoin has officially been
made a currency in countries such as Australia and Japan.

 _... hidden centralisation through miner cartels running the transaction
network_

If these miners were in America, with 8 to 10 different companies mining the
majority of Bitcoin blocks, no one would be saying anything. But when you have
the same thing in China, suddenly everyone is afraid of secret miner cartels.

 _... and a small group of devs /companies producing the complex software
required_

The core Bitcoin software is open source. It can be inspected for
vulnerabilities at any time, and with so much money in Bitcoin, it's being
looked at very closely. Being open source also means people can make their own
versions at any time. I know of two popular projects hoping to grab the
official Bitcoin name right now. And sure if such projects get popular enough,
and far enough along, the community could break out into an all out war. Each
side trying to find as many vulnerabilities in the others' software as
possible. But whoever wins will be the most organized, and the ones who makes
the best, most stable, and most reliable code.

 _... it appears to be designed for something else entirely (to replace fiat
cash it seems, which is on the way out anyway)._

I do agree that Bitcoin has many traits of cash, such as irreversibility and
pseudo anonymity. But I don't think it's "just enough (anonymity) for
criminals". Banks can trace serial numbers on bills, and Bitcoin can be traced
from transaction to transaction. Both can be traced when spent and you go in
person or have something shipped to you.

However, Bitcoin's similarities to cash don't leave it dead in the water.
Imagine what people thought when the first printed bills started being used,
"Oh too many problems here for this to ever be a thing. What's to stop them
from printing double the bills? Coins have intrinsic value and when I receive
one I have the value instantly."

The "solution" to the scaling problem spoken about in the article allows off-
chain Bitcoin transactions (by fixing transaction malleability). This allows
for layer 2 services, and these will have a lot more in common with credit
cards. The big one you've probably heard of it the Lightning network, which
should allow for millions of transactions per second with complete and full
confirmations in < 1 sec, and yes, with no chance of a double spend. There's
no reason someone couldn't offer a service that also plays mediator for shoddy
goods. Bitcoin might seem rather limited now, but it's by no means hit a
technological dead end.

~~~
grey-area
_To call a credit card transaction a full instant confirmation is disingenuous
at best._

It is fundamentally different from a Bitcoin transaction - it checks the user
has the funds in seconds. I assume you're referring to refund/chargeback
policies, that is a policy, not a technical limitation. CCs will be replaced,
but I suspect not by bitcoin.

I agree in theory for most of the technical points on speed there are possible
mitigations, but do think the design simply goes in the wrong direction in
ways which are fundamentally flawed (e.g. POW, anonymous transactions, tokens
for coins). It has some of the worst attributes of cash IMO.

 _But whoever wins will be the most organized, and the ones who makes the
best, most stable, and most reliable code._

I find it far more likely if Bitcoin actually becomes mainstream that it would
suffer collapse or hostile takeover as there is no backing authority, and lots
of interested parties who stand to make a lot of money from manipulating the
price of both transactions and the currency. I just don't believe the
meritocratic tech utopia you paint here is close to reality - why would the
best win? The bitcoin space is full of frauds and cartels already, even when
it is not in widespread use.

My main problem with Bitcoin however is that it's a solution to a problem we
just don't have.

Using transaction ledgers without users holding private keys is a feature.
Central authority and reversible transactions is a feature (even if the store
doesn't allow reversing, an authority should be able to add balancing
transactions to reverse). Trusted and public identity of partners is a
feature. Confidence in a currency backed by tangible goods is a feature.

The tech is interesting and something tangential may well develop from it
(like verified public contracts, or public bets, or notarised transactions or
similar), but I don't really want pseudo-anonymous monetary transactions with
anonymous partners, or to possess a hoard of tokens someone can steal, based
on an extremely volatile currency vulnerable to cornering. What I do need is
fast verified transactions with known accountable partners on a stable
currency, with the possibility of disputing payments and reversing fraud,
which is what we already have with FPS, debit cards, or credit cards.

It's a solution in need of a problem.

~~~
mrb
" _that is a policy, not a technical limitation_ "

It's a difference that doesn't matter to the payment recipient. The sender can
steal funds with charge back fraud. Period. Therefore the CC tx is not "fully
confirmed". This is the #1 reason merchants _love_ Bitcoin. A great solution
to the very real problem of CC fraud.

------
basicplus2
Even if the scaling problem was ever solved, what will one do when one runs
out of all the power in the known universe to generate more Bitcoins..

[https://motherboard.vice.com/en_us/article/aek3za/bitcoin-
co...](https://motherboard.vice.com/en_us/article/aek3za/bitcoin-could-
consume-as-much-electricity-as-denmark-by-2020)

------
erikb
> The bitcoin network simply wasn't designed to be able to handle the kind of
> volume it is experiencing as more people are beginning to use the currency,
> and the 1 megabyte "blocks" of transaction data that get uploaded to the
> blockchain are full.

If you work in IT this is like a monthly meeting of the team. You ALWAYS hear
"oh we are so suprised, it wasn't designed for such an amount of
users/load/whatever". It's just not true. It's a show. And I really don't know
why this argument STILL works. If you run 10 topics in parallel, 7 will report
this exact reason. If you check them out closely 3 report that truthfully, but
really let you wonder why management decided to put so stupid people on top of
these projects in the first place. 4 actually have planned for this to happen,
and where just not sure if they run into it this month or next month.

~~~
jgord
Even the current linear architecture can certainly handle more that 3
transactions per second on modern hardware .. there is clearly a bottleneck.

------
auggierose
Somehow Bitcoin reminds me of tulips.

------
mdns33
worth discussing charlie lee, founder of litecoin proposal on how bitcoin and
litecoin can work together to solve the scaling problem:
[https://segwit.org/my-vision-for-segwit-and-lightning-
networ...](https://segwit.org/my-vision-for-segwit-and-lightning-networks-on-
litecoin-and-bitcoin-cf95a7ab656b)

------
baalimago
bitcoin wont ever become useable since it's too easy to be anonymous.

governments wants structure

~~~
mdns33
governments can only do that much. there will come a government who will
eventually succumb. its a free world you know.

