Live data from Hacker News

An analysis of Bitcoin's throughput bottlenecks

github.com

161–170 of 234 posts

Re: An analysis of Bitcoin's throughput bottlenecks

#161
post #86

Earlier quoted context omitted.

>But, the evidence for indexing performance will never see the light of day . :) Why not? If such evidence exists why aren't you presenting it?

You'll note that my comment was downvoted. This evidence is immoral. Thus, it won't be aired. You can go to pandaanalytics.com if you'd like, and play with their index options. See what strategies have worked well. (I weight by market cap, top-10, no stablecoins)

Your comment was downvoted, likely due to claims with no evidence but instead a story about how you're about to be silenced. You could've just posted something to support your position instead and we'd skip all the drama in this exchange.

Re: An analysis of Bitcoin's throughput bottlenecks

#162

Earlier quoted context omitted.

> This adds a point of centralization, which defeats the entire purpose of cryptocurrency. I don't think you get to declare what "the entire purpose of cryptocurrency" is! People tend to get confused about what "trustlessness" actually means. It certainly doesn't mean that every single aspect of every transaction involving cryptocurrency must not require any party to place any trust in another party. If you're using…

We're in agreement that trust is needed at some point in the system. Cryptocurrencies can be completely internally consistent, but have no relationship to the real world. The only way for that relationship to be formed is by trust. But, there is not a single thing in cryptocurrencies that make sense if you are willing to allow for centralization. If you have a centralized system, then you have a limited number of act…

I’m not sure what you mean. The centralization being discussed here is out of band and thus the trust is also out of band. It’s no different than your local bar opening a tab for you, or using an escrow service for a construction contract.

Re: An analysis of Bitcoin's throughput bottlenecks

#163
post #138

This analysis is complete nonsense because it starts with assumptions that are entirely arbitrary and biased toward the argument of not scaling Bitcoin: >>Bitcoin.org documents the minimum requirements for running a full node, however with the current state of technology, we must substantially lower these requirements so as to make running a full node as accessible as possible to even people in poorer countries No, p…

In a just world this would be the top comment. Instead we have Bitcoin boomers asking if you’ve heard about their lord and savior lightning, which like Jesus is coming any day now!

It's impossible to make people understand a truth they've already heavily invested in rejecting, no matter how obvious and unquestionable that truth is. More than any other thing in the world the BTC saga taught me that. Stupidity alone although a big part of it is simply inadequate to explain it wholly given just how stupid the BTC position actually is.

Kids can grasp it and yet heavily invested fanatical professionals in the field cannot.

It's sad.

Re: An analysis of Bitcoin's throughput bottlenecks

#164

Earlier quoted context omitted.

We're in agreement that trust is needed at some point in the system. Cryptocurrencies can be completely internally consistent, but have no relationship to the real world. The only way for that relationship to be formed is by trust. But, there is not a single thing in cryptocurrencies that make sense if you are willing to allow for centralization. If you have a centralized system, then you have a limited number of act…

I’m not sure what you mean. The centralization being discussed here is out of band and thus the trust is also out of band. It’s no different than your local bar opening a tab for you, or using an escrow service for a construction contract.

Because once that centralization occurs, the remaining trustlessness doesn't serve a purpose. All that's happened is switching from one centralized system to another, but with a much, much greater overhead.

Mind you, I don't mind centralized systems, but the entire marketing of cryptocurrencies for the past decade has been how it is decentralized and outside of the the reach of any entity. We knew this wasn't the case in 2014, when Mt Gox folded and all signs pointed to fraud. We knew this wasn't the case in 2016, when the Dao smart contract was reversed by general appeal. We know it now as mining pools continue to rise. The decentralization is the main selling point of cryptocurrencies, and yet at every turn it is proven false.

Re: An analysis of Bitcoin's throughput bottlenecks

#165
post #37

Earlier quoted context omitted.

Bitcoin's Proof of Work algorithm has linear scaling. Basically 100,000 nodes all trying to build consensus using Nakamoto PoW can do it in O(100,000) messages. The scaling factor on the number of miners is not what is a bottleneck here. The main bottleneck for cryptocurrencies is that every single node has to validate every single transaction. So your global throughput is effectively limited to what a single node ca…

> The main bottleneck for cryptocurrencies is that every single node has to validate every single transaction. So your global throughput is effectively limited to what a single node can process literally what I said in my post. the mining aspect was your addition, not mine. I am describing an idealized model which doesn't even consider the added complication of mining to incentivise playing by the rules(let's assume…

Yeah I was thinking the same thing. I know nothing compared to many of the posters on this thread.

But it seems like decentralization and gas fees/tps are going to be inversely correlated no?

Re: An analysis of Bitcoin's throughput bottlenecks

#166
post #21

Earlier quoted context omitted.

Yeah that's how all centralized crypto exchanges do it

What if there's a run on the exchange?

Just in case you aren't catching on here, cryptocurrencies are not the future. They are just digital tulips - beautiful to look at and comprehend, but separate from any meaningful contribution to the economic system. You can still get rich from them by hyping and selling them before people catch on more broadly.

Civilization works because of laws that are interpreted by courts and norms which are broadly accepted but not often checked/enforced. Crypto is trying to create a "trustless" future where you do not need society to coordinate and regulate. Our modern financial system needs that squishiness/trust which you get from the legal system to operate at full capacity.

Picture the suspension of a car. In our modern financial world, the legal system and regulatory institutions serve as the shocks and struts of your car. It allows you to drive fast while not having to worry about every imperfection on the road. Cryptocurency is like driving a car where your wheels are attached directly to the axel - yes it's perfectly efficient and there's nothing between you and the road, but that also means you have to be exceptionally careful where you are driving, and you can't do it fast.

There's a reason all cars come with suspensions.

Re: An analysis of Bitcoin's throughput bottlenecks

#167
post #39

Earlier quoted context omitted.

Payment channels ARE credit, generally - I'm sorry this proposal was rejected. Was there a reason for the rejection?

Payment channels are not at all credit. Credit means you're relying on someone to pay you back, and have a risk that they won't pay you back. Credit relies on trust. Payment channels do not rely on trust. You can always retrieve your money even if your channel partner doesn't want to give it back.

Unless you value the time your money that is locked up at zero, they are definitely credit - as GP said, fully-collateralized loans.

Re: An analysis of Bitcoin's throughput bottlenecks

#168

This analysis is complete nonsense because it starts with assumptions that are entirely arbitrary and biased toward the argument of not scaling Bitcoin: >>Bitcoin.org documents the minimum requirements for running a full node, however with the current state of technology, we must substantially lower these requirements so as to make running a full node as accessible as possible to even people in poorer countries No, p…

> This analysis is complete nonsense

First of all, thank you for being pretty much the only person who actually wants to talk about the paper, and not something tangential : )

> assumptions that are entirely arbitrary and biased toward the argument of not scaling Bitcoin

I do mention in the paper that the assumptions are up for debate, but I did try pretty hard to justify those assumptions so they are certainly not arbitrary. If by "biased" you mean that my conclusions are a factual result of my assumptions, then thank you. If by "biased" you mean that I decided what results I wanted to get, and then chose the assumptions based on that, I really would love a bit more benefit of the doubt. You don't know me, so its a bit strange for you to start accusing me of cooking the books on something I spend literally dozens if not hundreds of hours on.

In any case, I agree that there are other assumptions that may make sense. There are other bottlenecks to growth than blockchain space, and so it should be considered how much blockchain space will allow bitcoin to grow as fast as we need it to grow (for whatever reason we'd want that). This will change over time. The more people adopt it, the more likely blockchain space will become a bottleneck that substantially slows adoption.

But certainly it could be argued that right now we don't need 90% of the earth to be able to run a bitcoin node. I can absolutely see the argument for increasing the minimimum requirements in the assumptions to be much higher in the next 5 years, maybe even 10 years. But in 10 years, I think we'll want to make using bitcoin to its fullest capacity a lot more accessible.

> What you don't want is people in poorer countries having to trust third parties with their private keys

You absolutely have a point! Most people using custodial solutions that do batch things under the hood to get around scaling issues is certainly not a state we want to be in. It may happen anyway, even if we magically found infinite scalability, but we don't want it regardless.

However at the same time, we don't want the rugged pulled out from under us: we don't want bitcoin's rules to be changed out from under us. Enough full nodes need to be out there to ensure that various attacks aren't possible on the network and that blocks that propagate are valid blocks. I think there is some sweet spot on both of those amounts. And I do think more discussion is needed around the assumptions we're making. I wrote this paper in part to start exactly such a discussion about the assumptions and what concrete targets we have for bitcoin in terms of these network demographics.

What would you say is an acceptable percentage of the population using custodial systems like you're talking about? 10%? Less? What about: what's the percentage of the population that would be acceptable to run a full node? 10%? 50%? More? Maybe at some point I'll write another paper just on the different reasonable assumptions.

> Using a dedicated node, with computing resources that the user purchases and utilizes 100% for Bitcoin node operation, is ruled out, again arbitrarily for no reason that would be relevant to a global network attack scenario.

Again, not arbitrary. The reason I did that is to include normal people. Normal people aren't going to buy and set up a dedicated server for bitcoin. And what about a remove bitocin service? Well, that's just the service running bitcoin, its not the individual - so its no better than SPV. So yes, if we're ok with just say 5% or less of the population running bitcoin, we can remove the 10% capacity limit, but if its normal people - people don't like their machine running slowly all the time because bitcoin is chugging through the world's transactions. Most people just would switch to an SPV node.

> tens of millions of people could easily afford to purchase tens of TB of storage for running dedicated Bitcoin nodes, and tens of millions of people is easily enough to make shutting down or controlling the Bitcoin network impossible for any nation-state actor.

Well, yes, they could afford to. That isn't the question I'm concerned with. Its not about cost. Its about convenience. Will 10s of millions of people buy extra hardware just to run bitcoin? I would argue no, they won't.

But yes, you're probably right that 10s of millions of people running PUBLIC full nodes is probably enough. My understanding is that we're at less than 1/1000th of that goal at the moment. Were we to make it easier for people to run public nodes (either via IPv6 or Tor or NAT hole punching), it would make it a lot easier to reach that goal.

And I'm not saying we couldn't bring these requirements up eventually. Once we blast past 10 million public nodes, maybe we can re-evaluate. But as of right now, Bitcoin has a serious vulnerability to sybil attacks on public nodes.

> all Bitcoin needs to be shutdown and censorship proof is that it be possible to run a full node using something on order of 500% of the typical personal computing resources of the richest 1% of the world population

I certainly don't agree with that statement. It means 99% of people would need to run SPV nodes - which is currently not good. First of all, the World's 1% owns less than 50% of the wealth, so it would be a minority of the economic activity. Putting the majority of economic activity in SPV nodes would leave the system quite vulnerable in situations where a majority of hashpower hardforks to something dangerous or malicious. This isn't necessarily a 51% attack scenario. It could be a situation where miners misread the sentiment of users and choose badly, or where mistakes were made, or it could be a situation where it favors miners but not users, or a number of things like that that aren't a single colluding group. So I would say at very least, the majoritiy of economic activity should be using their own full nodes, and a vast majority is far safer. Perhaps this is 5% of the world.

> The political attack, of countries banning Bitcoin internally, and the best defenses against that, are not considered.

I'm curious what your analysis would be of that.

> increase the proportion of the population that is economically dependent on the network

I agree this would be a very helpful mitigation of political attacks in general.

> much more likely

This I'm not sure about. Yes political attacks are likely (and of course we've seen many of them already). However, political attacks that could succeed seem already quite unlikely. I would love to see your analysis of how likely one might be to succeed and what the network requirements would be to sufficiently mitigate that. And then the tradeoffs vs these other kinds of attacks could be compared.

Re: An analysis of Bitcoin's throughput bottlenecks

#169

This analysis is complete nonsense because it starts with assumptions that are entirely arbitrary and biased toward the argument of not scaling Bitcoin: >>Bitcoin.org documents the minimum requirements for running a full node, however with the current state of technology, we must substantially lower these requirements so as to make running a full node as accessible as possible to even people in poorer countries No, p…

> This analysis is complete nonsense First of all, thank you for being pretty much the only person who actually wants to talk about the paper, and not something tangential : ) > assumptions that are entirely arbitrary and biased toward the argument of not scaling Bitcoin I do mention in the paper that the assumptions are up for debate, but I did try pretty hard to justify those assumptions so they are certainly not a…

>>I do mention in the paper that the assumptions are up for debate, but I did try pretty hard to justify those assumptions so they are certainly not arbitrary.

Where in the paper did you justify those assumptions? I see them as not only totally arbitrary, but wrong according to any common sense analysis of threats or weighing of priorities.

>>If by "biased" you mean that I decided what results I wanted to get, and then chose the assumptions based on that, I really would love a bit more benefit of the doubt.

I will be happy to give you a benefit of the doubt if you can convince me that the assumptions make any sense at all from the perspective of someone who wants to see people financially empowered by cryptocurrency.

>>You don't know me, so its a bit strange for you to start accusing me of cooking the books on something I spend literally dozens if not hundreds of hours on.

I don't think it's strange when you rest a behometh of an analysis on assumptions as unjustified as Bitcoin needing to limit scalability so that 90% of the world population, the vast majority of whom live in the developing world and can't afford to use Bitcoin today due to lack of scalability, can run a full node.

If one thinks adversarially, then one has to assume potential malicious intentions behind writings intended to justify limiting the scalability of the most well-known and highest market cap cryptocurrency.

>>However at the same time, we don't want the rugged pulled out from under us: we don't want bitcoin's rules to be changed out from under us. Enough full nodes need to be out there to ensure that various attacks aren't possible on the network and that blocks that propagate are valid blocks. I think there is some sweet spot on both of those amounts. And I do think more discussion is needed around the assumptions we're making. I wrote this paper in part to start exactly such a discussion about the assumptions and what concrete targets we have for bitcoin in terms of these network demographics.

Again: a trivial analysis shows that your logic is totally unsound. The population for whom you want to keep Bitcoin's node operation costs limited is also the population that cannot afford to use Bitcoin directly and thus has no incentive to run a full node.

It makes absolutely no sense to massively inhibit Bitcoin's utility, in order to make running a Bitcoin node possible for a population who this inhibiting action prevents from using Bitcoin.

In a scenario where 80 million people, or the richest 1% of the world population, is both using Bitcoin regularly, and can afford to run a Bitcoin full node on dedicated hardware, is both possible, and entirely sufficient to prevent the rules of the network from being changed.

I challenge you to describe a situation where Bitcoin throughput is 1000X greater than is now, the Bitcoin economy is 200X larger than it is now, there are tens, possibly hundreds of thousands of people worldwide running full nodes, and yet the rules of the network can be changed without a massive outcry / pushback from the ordinary Bitcoin user. It's totally implausible, and I cannot imagine any reasonable basis for you holding this assumption.

>>Again, not arbitrary. The reason I did that is to include normal people. Normal people aren't going to buy and set up a dedicated server for bitcoin.

Almost any one who runs a full node is a committed individual, not a normal one. And a committed individual could very plausibly buy dedicated hardware, and allocate 100% of it to running a full node. The assumption that normal people need to be able to run a full node without buying hardware is not justified, as such people are very unlikely to run a full node anyway.

To summarize: normal non-committed people running Bitcoin nodes is in no way needed to maintain Bitcoin's resistance to attacks state-level actors, or prevent the rules from being changed without resistance from the userbase. This cohort is already a non-factor, and the more committed cohort running full nodes is entirely sufficient to maintain the network's decentralization and censorship resistance.

>>Well, yes, they could afford to. That isn't the question I'm concerned with. Its not about cost. Its about convenience. Will 10s of millions of people buy extra hardware just to run bitcoin? I would argue no, they won't.

It's not very inconvenient to buy and plug in a dedicated machine for running a full node. And if there are 80 million people worldwide who can afford to that, and practically everyone in the world is using Bitcoin every day, then yes, a significant minority of those 80 million people will go through the trouble of doing that.

If even 0.5% of that 80 million do, that's 400,000 nodes. And if some state, or collection of states, begins to organize to try to attack the network, more amongst those 80 million will be motivated to run a node if they live in a jurisdiction that allows it.

>>But yes, you're probably right that 10s of millions of people running PUBLIC full nodes is probably enough. My understanding is that we're at less than 1/1000th of that goal at the moment.

I didn't say 10s of millions of people running public full nodes is enough. I said 10s of millions of people BEING ABLE TO run one is enough.

Driving for 10s of millions of full nodes, by limiting network throughput to the point where only 0.1% of the world population can transact on it daily, makes absolutely no sense. That would never work.

Furthermore, it makes no sense why Bitcoin would need 10s of millions of full nodes. It's an arbitrary assumption, that is not supported by any detailed threat analysis or any evidence of real-world attacks that necessitate that size of a network for that matter.

>>Putting the majority of economic activity in SPV nodes would leave the system quite vulnerable in situations where a majority of hashpower hardforks to something dangerous or malicious.

SPV node operators would be made aware of this attack, and not rely on SPV data servers that recognize the invalid chain. Such an attack would be extremely conspicious, and there would be a strong social reaction to it resulting in any SPV data servers that are cooperating in the attack being completely discredited in favor of ones that serve accurate data.

Right now, the vast majority of the world population cannot use Bitcoin, and you're trying to justify the extreme restrictions on throughput that cause this, on the basis of a highly unlikely threat where a majority of the world population have their Bitcoin activity coopted by a centralized authority through a coordinated attack by the majority of hashpower and SPV data servers, in which case the majority of the world population would be no worse off than they are now, where they rely on an entirely centralized financial system, because they cannot use Bitcoin.

>>I'm curious what your analysis would be of that.

Only what I already stated: the best defense against a political attack is allowing Bitcoin to scale by 100 or 1,000 times in throughput, to increase the proportion of the population that is economically dependent on the network, and would oppose attempts to politically attack it.

Re: An analysis of Bitcoin's throughput bottlenecks

#170
post #96

Earlier quoted context omitted.

The lower transaction throuput,the higher the fees, the higher the incentive for the miners to process transactions. They probably don't want to mess with that dynamic too harshly.

That economic analysis is clearly facile. If it worked, miners would want there to be 1 transaction per block.

Miners want to maximize transaction fees. So more is better. But there is a massive tradeoff, being every transaction must be stored to verify later.
Post reply on HN