Pages:
Author

Topic: Why the fuck did Satoshi implement the 1 MB blocksize limit? - page 3. (Read 2196 times)

hero member
Activity: 770
Merit: 629
How could satoshi nakamoto have known this maasive scalability might hit bitcoin?

Because he wrote it in November 2008 maybe ?  http://satoshi.nakamotoinstitute.org/emails/cryptography/2/
full member
Activity: 196
Merit: 100
Decentralization shall be the end of the Old World
How could satoshi nakamoto have known this maasive scalability might hit bitcoin? Dont forget that bitcoin was the first and foremost cryptocurrency, and other coins have only tried to perfect themselves only based on limitations of bitcoin and learning from it. If bitcoin had not been there,  there would not be these better solutions we are seeing now either
hero member
Activity: 770
Merit: 629
except of course if Satoshi was just a sock puppet of Hal Finney and didn't understand zilch himself of this stuff.
You cannot talk about our great leader like that because without him we would not have mining coins using CPU-Wars
so that "Big oil" sells more to big electric corporations and where would Intel and AMD be today with out all that
wasted processing power.

In fact, Intel and AMD didn't profit a lot in this.  If there's one company that even has production problems because of PoW, it is Nvidia, and not for bitcoin, but for ethereum and a few others !  Also, I don't think it is Big Oil that profits, it are the Chinese charcoal mines.  Mining is to be seen quite more literally  Cheesy

What is startling in this story, is that one almost has the impression that Satoshi's intellect is waning.  His premonitory views in November 2008 were much more to the point than his "incomprehension" in 2010.  Is this because Satoshi was bright, but easily influenced by a dumb ass big mouth that talked him into nonsense ?  Is it because the Satoshi of 2008 was not the Satoshi of 2010 ?  Was Satoshi ill ?  Was he consuming drugs ? Did he get hit on the head ? Or is this the obvious impression that you get from someone trying to trick you into something (a set of lies always look less smart and coherent than a truly brilliant idea) ?

You can't be smart to a point of foreseeing, without one single working system in nature, how thing would evolve in 2008, and be obtuse to the point of failing to see the obvious when it is even spelled out for you by other people in 2010, unless you are someone else, or you were hit on the head, are ill, or are lying.

This is what occurred to me recently ; until now, I simply thought: "well, a big mistake in 2010, but everyone makes mistakes, Satoshi was a bright guy but not a genius".  But now, as I said, the pieces just don't fit together.

What is remarkable, even though nobody ever said it, is that bitcoins' system itself has an indicator of the necessity of the block size: the difficulty !  The difficulty measures the market value, the size of the user community, the technological advances, and the investment mining nodes make in PoW (and the rewards in value they get).    It is quite obvious that things like storage costs and network burden, and their economic cost, are going to be proportional to this.  So it would have been rather obvious to scale block size with difficulty.
The bigger and more valuable the network gets, the more NEED there will be for transaction room, and the more MEANS there are to afford storage and network capacity.  It would also solve the "end problem" of no coin emission, to a point: if fees are too low, and finance PoW, difficulty falls, the blocks shrink to a point where the fee market kicks in, until an equilibrium is reached where the block size allows for a reasonable fee, paying for a reasonable amount of PoW, giving rise to a reasonable difficulty, as a function of demand for transactions, and market price of BTC.


hero member
Activity: 770
Merit: 629
To sum up, :

1) The wisdom of keeping block size at 1MB has yet to be realized.
2) It currently sucks though.
3) There are several strange and plausible theories as to why it could
be genius/intentional, and if any of them turn out to be true we are
probably all going to go a little bit crazy.

I think that sums it up quite well  Grin
newbie
Activity: 29
Merit: 0
To sum up, :

1) The wisdom of keeping block size at 1MB has yet to be realized.
2) It currently sucks though.
3) There are several strange and plausible theories as to why it could
be genius/intentional, and if any of them turn out to be true we are
probably all going to go a little bit crazy.
member
Activity: 210
Merit: 26
High fees = low BTC price
except of course if Satoshi was just a sock puppet of Hal Finney and didn't understand zilch himself of this stuff.
You cannot talk about our great leader like that because without him we would not have mining coins using CPU-Wars
so that "Big oil" sells more to big electric corporations and where would Intel and AMD be today with out all that
wasted processing power.

I mean Satoshi developed a system so unemployed miners could become full nodes and provide transactions
services so they could pretend the current "Block" is so valuable that people are willing to pay $20 or more just
to have 250 bytes of data written to it.

No sir you fail to understand Satoshi contribution to the world where 20,000 miners do PoW (Waste more CPU power)
and seek to put men out of jobs (Like 95% of miners) and should seek redemption and "Buy on the dip" because your
blasphemy endangers the maga-carter or was that the word word here  Cheesy

Quote
It simply doesn't fit together.
More than just me and you have started to work it out and if you take an objective look at the lighting Network
then the long term goal become obvious that bankers own the Bitcoin network and want a bigger cut of the profit
 
hero member
Activity: 770
Merit: 629
Maybe the Satoshi of November 2008 is not the same person as the satoshi here...

"Don't use this patch, it'll make you incompatible with the network, to your own detriment."

It would be meaningless.  Clearly, Satoshi is dead afraid that his bomb would be removed.  Of course this is bullshit because jgarzik would, in practice, never mine a block above 1 MB.  So he wouldn't be "to his own detriment", be "incompatible with the network" most of the time.

The impression I got from that little exchange is that Satoshi thought Jeff didn't realise he'd be forking himself off the network unless everyone else used the patch as well and thought it would be a good idea to point that out.  It was probably a fairly sensible idea to avoid a situation where half the network would obliviously run the patch and half didn't run it, thereby splitting the network and making a complete mess.


That's obviously not the case, as I tried to point out.  First of all, Satoshi couldn't know what would be the fraction of the network that would apply the patch.  So by applying the patch, Jeff might just as well get the majority behind him, and it would be to the detriment, not of Jeff, but of those that didn't apply the patch.  The fact that Satoshi assumes that Jeff would automatically be in minority - or at least, wants Jeff to be afraid to be in the minority - is telling.

But secondly, assuming that Jeff himself wouldn't mine, himself, a lot of big blocks (one can hardly think of Jeff wanting to spam the network himself), and assuming that the rest of the network WOULD filter out the big blocks, and only make a small block chain, Jeff wouldn't, at all, "make himself incompatible with the network".  Jeff would accept ALL the small blocks made by the network.  Most probably, Jeff would mine, himself, also only small blocks and get them accepted by the others.  The only difference between Jeff's code and the rest of the network, under the assumption that they don't follow Jeff's patch, is that Jeff's node is more permissive.  So he won't be incompatible with the network.

Satoshi is telling bullshit here. And I can't imagine that he doesn't know.  At no point, his phrase, that it would be "detrimental to Jeff", is true. It would ONLY be true in those rare circumstances that Jeff wants to mine a big spam block, and the majority of the network doesn't follow him.  And it would only be detrimental for Jeff's PoW on that sole block. Jeff's node would accept the fact that his block was orphaned, and that another chain with smaller blocks took over.  From then onward, Jeff wouldn't be "incompatible with the network" any more.

So this is simply utterly wrong.

The only "dangerous" situation is when Jeff is in majority !  When Jeff-like majority miner nodes mine a chain with big blocks, and the minority Satoshi-like nodes don't accept this, and mine their own prong - or adapt.  At no point, anything is "detrimental to Jeff".

Quote
Again, the "narrative" of keeping blocks small wasn't Satoshi's.  Satoshi merely went along with the idea after hearing what must have been some pretty convincing arguments.  In many ways, it's a shame we'll never get to see all the communications exchanged between Satoshi and Hal Finney, given their historical significance and the tremendous impact those conversations had on how this has all unfolded over time.  It's also likely Satoshi didn't envision themselves withdrawing from the community when they did, effectively exiling themselves and going into hiding.  There's no way they could foresee the WikiLeaks donations thing in advance, which was clearly a catalyst in prompting Satoshi's decision to leave.  So it's entirely possible Satoshi did have plans to alter it later, when it became the contentious issue it eventually did.  When Satoshi left, blocks were still nowhere near their full capacity, so it could well have been something "on the back burner".  But sadly we'll probably never know for sure.

I certainly don't get the impression it was anything malicious on Satoshi's part, though.  That's a bit of a stretch.

I have a hard time imagining that Satoshi didn't understand what he was saying, but nevertheless said it.  I have a hard time thinking that Satoshi:
1) didn't understand the arguments of the danger in the long term of locking in the 1MB limit
2) didn't understand that not applying this limit didn't exclude you from the network at all
3) was capable of suggesting how it could be done safely with an if (blocknumber < ...) {limit} but didn't do so
4) but nevertheless said that it was dangerous to remove his constant as it would exclude you !

except of course if Satoshi was just a sock puppet of Hal Finney and didn't understand zilch himself of this stuff.

It simply doesn't fit together.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
Maybe the Satoshi of November 2008 is not the same person as the satoshi here...

"Don't use this patch, it'll make you incompatible with the network, to your own detriment."

It would be meaningless.  Clearly, Satoshi is dead afraid that his bomb would be removed.  Of course this is bullshit because jgarzik would, in practice, never mine a block above 1 MB.  So he wouldn't be "to his own detriment", be "incompatible with the network" most of the time.

The impression I got from that little exchange is that Satoshi thought Jeff didn't realise he'd be forking himself off the network unless everyone else used the patch as well and thought it would be a good idea to point that out.  It was probably a fairly sensible idea to avoid a situation where half the network would obliviously run the patch and half didn't run it, thereby splitting the network and making a complete mess.


To continue: Satoshi's narrative of "let's keep small blocks as long as we can, later we'll switch to big blocks, but first we have to trick people in this thing while it is small", and his code example, would have prompted, if he were honest, to indeed, include this if statement:
"small blocks until block number X".  The fact of not having included this, even while he was saying that one COULD do it that way, and given all comments, indicates he wasn't being serious here.  You can say: "hey, but Satoshi couldn't know how bitcoin would evolve, at what pace, so he didn't want to commit anything" ; but then, he didn't back away from programming an emission curve over 140 years, without knowing how it would evolve either.  If you feel secure enough to program an emission curve, you for sure can program a block size limit.  In any case, it doesn't hold water:  "a constant in the protocol one should change later" is not easier to change than "an if statement one could change later".  Both are protocol changes.  In as much as you claim that you put in the constant "only temporarily, and you guys should remove it later", you can just as well commit that "temporary" aspect in an if statement right away ("and if deemed still to early, you guys should modify it later"), putting your code where your mouth is.  He didn't.

So the Satoshi in 2010 clearly wanted it to be a permanent thing, knowing that it would give huge problems at a certain point in time, totally contradicting his November 2008 statements, but claiming otherwise, that it is only temporarily and doing lip service to his 2008 statements at the same time.  Because the OBVIOUS response, in agreement with his own statements, and with all premonitory remarks, would have been to put an if statement in the code.  He even says so, and he doesn't.  He only shouts at the guy that wanted to remove it, he tells us that one should put an if statement, and he keeps a constant "to be modified by an if statement later".

Again, the "narrative" of keeping blocks small wasn't Satoshi's.  Satoshi merely went along with the idea after hearing what must have been some pretty convincing arguments.  In many ways, it's a shame we'll never get to see all the communications exchanged between Satoshi and Hal Finney, given their historical significance and the tremendous impact those conversations had on how this has all unfolded over time.  It's also likely Satoshi didn't envision themselves withdrawing from the community when they did, effectively exiling themselves and going into hiding.  There's no way they could foresee the WikiLeaks donations thing in advance, which was clearly a catalyst in prompting Satoshi's decision to leave.  So it's entirely possible Satoshi did have plans to alter it later, when it became the contentious issue it eventually did.  When Satoshi left, blocks were still nowhere near their full capacity, so it could well have been something "on the back burner".  But sadly we'll probably never know for sure.

I certainly don't get the impression it was anything malicious on Satoshi's part, though.  That's a bit of a stretch.
hero member
Activity: 770
Merit: 629
To continue: Satoshi's narrative of "let's keep small blocks as long as we can, later we'll switch to big blocks, but first we have to trick people in this thing while it is small", and his code example, would have prompted, if he were honest, to indeed, include this if statement:
"small blocks until block number X".  The fact of not having included this, even while he was saying that one COULD do it that way, and given all comments, indicates he wasn't being serious here.  You can say: "hey, but Satoshi couldn't know how bitcoin would evolve, at what pace, so he didn't want to commit anything" ; but then, he didn't back away from programming an emission curve over 140 years, without knowing how it would evolve either.  If you feel secure enough to program an emission curve, you for sure can program a block size limit.  In any case, it doesn't hold water:  "a constant in the protocol one should change later" is not easier to change than "an if statement one could change later".  Both are protocol changes.  In as much as you claim that you put in the constant "only temporarily, and you guys should remove it later", you can just as well commit that "temporary" aspect in an if statement right away ("and if deemed still to early, you guys should modify it later"), putting your code where your mouth is.  He didn't.

So the Satoshi in 2010 clearly wanted it to be a permanent thing, knowing that it would give huge problems at a certain point in time, totally contradicting his November 2008 statements, but claiming otherwise, that it is only temporarily and doing lip service to his 2008 statements at the same time.  Because the OBVIOUS response, in agreement with his own statements, and with all premonitory remarks, would have been to put an if statement in the code.  He even says so, and he doesn't.  He only shouts at the guy that wanted to remove it, he tells us that one should put an if statement, and he keeps a constant "to be modified by an if statement later".

As discussed above, you can always use a more severe soft limit during mining, than the hard limit in the protocol.  But you can't remove a hard limit in the protocol without "breaking compatibility with the network".  So if you're honest about admitting larger blocks later, you should foresee in the code to remove the protocol limit "later" already NOW.  If you don't, you're simply lying.  Especially if you explain it.

Also, in as much as hard protocol constants "could be changed on the fly", nothing stops you from modifying the constants that determine the emission curve, the difficulty adjustments, and so on.  It is totally incoherent to claim that a constant in the protocol can be modified at will later and think that you are going to make a system that is going to be accepted as immutable.  If you can modify the protocol parameter of hard block limit, you can just as well change the protocol parameter that gives the block rewards, or the halving blocks or anything of that kind.

So, yes, after re-reading that 2010 thread, it is now clear to me that Satoshi didn't "make a mistake".  He put a bomb in his system.  I only realized this now, but it seems evident after all.

One can say: maybe he realized that his 2008 scaling solution was going to "centralize" is system, so he simply put in something that would push people to invent an off-chain way of using it.  In other words, he put in this limit because he understood that block chain tech doesn't scale, contrary to his 2008 explanation, and considered that people should invent something that solves it in another way.  In other words, he did this to push people to invent the LN.

But that doesn't hold water either.  Given that he didn't know whether something like the LN could even be invented, and given that he didn't know when it would be invented, and what would have been its needs, crippling the only solution you have, of which you've explained how it would scale, would have been extremely dangerous.  If the LN would only have been invented in 2025, bitcoin would have been dead already by the time it could have been invented.  That's akin to jumping out of an air plane, and hoping you'll invent a parachute while falling.
sr. member
Activity: 322
Merit: 253
Property1of1OU
Most probably, it was with this in mind that Satoshi introduced his 1 MB block size.  When he introduced it, 1 MB was way larger than any reasonable block at that time, so it was a good "miner directive" to say that blocks larger than 1 MB should be considered as spam (given we measured blocks in KB at that time).  It was a "good miners' directive" not a "protocol standard".  The idea was most probably, in Satoshi's mind, to give a clear rule to the miners as what was to be considered "prohibitive spamming".  It could systematically be put a factor of 100 or so above the "usual block size".   It was a trivial formalization of the good practice "don't accept obvious spam in the consensus decision".

That's the soft limit... which could be set as a parameter, like 250k, 750k, etc... the 1mb was a consensus rule - and obviously he told garzik that this would make him incompatible with the network if he changed it => https://bitcointalksearch.org/topic/m.15139

You're right.  Satoshi is very unclear here.  This is food for conspiracy theory  Grin  He's obviously hiding an agenda here.  It simply doesn't make sense and in complete contradiction to what he said before.  This could mean that "Satoshi" was different people, with different opinions.

Without knowing, I repeated cavenden's argument against such a limit.   Re-reading this thread, I think Satoshi had a hidden agenda, and was lying through his teeth here.  He put in a time bomb, that's clear to me now.  And some saw it immediately, but the "Great God Satoshi" was not to be contradicted if you read the priests.

I remember having read that thread, but in my memory, it was like Satoshi said it could be changed and was no big deal, while others told him it was recipe for disaster.  But now I read it again, it's obvious: he clearly knows this, that it is recipe for disaster.  Maybe the Satoshi of November 2008 is not the same person as the satoshi here...

"Don't use this patch, it'll make you incompatible with the network, to your own detriment."

It would be meaningless.  Clearly, Satoshi is dead afraid that his bomb would be removed.  Of course this is bullshit because jgarzik would, in practice, never mine a block above 1 MB.  So he wouldn't be "to his own detriment", be "incompatible with the network" most of the time.


very short answer... because it is cool to see those spikes 
hero member
Activity: 770
Merit: 629
Most probably, it was with this in mind that Satoshi introduced his 1 MB block size.  When he introduced it, 1 MB was way larger than any reasonable block at that time, so it was a good "miner directive" to say that blocks larger than 1 MB should be considered as spam (given we measured blocks in KB at that time).  It was a "good miners' directive" not a "protocol standard".  The idea was most probably, in Satoshi's mind, to give a clear rule to the miners as what was to be considered "prohibitive spamming".  It could systematically be put a factor of 100 or so above the "usual block size".   It was a trivial formalization of the good practice "don't accept obvious spam in the consensus decision".

That's the soft limit... which could be set as a parameter, like 250k, 750k, etc... the 1mb was a consensus rule - and obviously he told garzik that this would make him incompatible with the network if he changed it => https://bitcointalksearch.org/topic/m.15139

You're right.  Satoshi is very unclear here.  This is food for conspiracy theory  Grin  He's obviously hiding an agenda here.  It simply doesn't make sense and in complete contradiction to what he said before.  This could mean that "Satoshi" was different people, with different opinions.

Without knowing, I repeated cavenden's argument against such a limit.   Re-reading this thread, I think Satoshi had a hidden agenda, and was lying through his teeth here.  He put in a time bomb, that's clear to me now.  And some saw it immediately, but the "Great God Satoshi" was not to be contradicted if you read the priests.

I remember having read that thread, but in my memory, it was like Satoshi said it could be changed and was no big deal, while others told him it was recipe for disaster.  But now I read it again, it's obvious: he clearly knows this, that it is recipe for disaster.  Maybe the Satoshi of November 2008 is not the same person as the satoshi here...

"Don't use this patch, it'll make you incompatible with the network, to your own detriment."

It would be meaningless.  Clearly, Satoshi is dead afraid that his bomb would be removed.  Of course this is bullshit because jgarzik would, in practice, never mine a block above 1 MB.  So he wouldn't be "to his own detriment", be "incompatible with the network" most of the time.
legendary
Activity: 1708
Merit: 1049
Most probably, it was with this in mind that Satoshi introduced his 1 MB block size.  When he introduced it, 1 MB was way larger than any reasonable block at that time, so it was a good "miner directive" to say that blocks larger than 1 MB should be considered as spam (given we measured blocks in KB at that time).  It was a "good miners' directive" not a "protocol standard".  The idea was most probably, in Satoshi's mind, to give a clear rule to the miners as what was to be considered "prohibitive spamming".  It could systematically be put a factor of 100 or so above the "usual block size".   It was a trivial formalization of the good practice "don't accept obvious spam in the consensus decision".

That's the soft limit... which could be set as a parameter, like 250k, 750k, etc... the 1mb was a consensus rule - and obviously he told garzik that this would make him incompatible with the network if he changed it => https://bitcointalksearch.org/topic/m.15139

hero member
Activity: 770
Merit: 629
Actors from outside the system that want bitcoin to die, can spam it to death - AND include the blocks on their own / at their own expense, because the cost of bitcoin back in 2010 was peanuts.

The point is that by PoW consensus, every previous block is voted over by PoW by the peer miners.  So if the PoW consensus is working, you might think that even if a crazy attacker makes a 10 GB block that is correct according to the bitcoin protocol, the next miner should most probably decide NOT to build upon it because he estimates this not to be the good consensus of the bitcoin state.

But another miner might see that another block was issued as #xxxxx instead of the 10gb block and then reject that one for not building upon the 10gb one. So it's a gamble that others will do the same...

This is why this is a consensus decision.  If a majority of hash rate thinks that the 10GB block is a good thing, then it will be included (as you say).  If the majority of hash rate thinks that it is a spam block that shouldn't be part of the consensus, they will mine on top of the smaller block.

A miner can put a lot of considerations in his decision ; in as much as other miners agree with it, his decisions are confirmed, in as much as other miners disagree with it, his decisions are rejected.

Note that the risk for the second miner is also on his side if he mines on top of the 10 GB block.  After all, the third miner may be of the same opinion as the first one, and think that such a large 10 GB block is not reasonable, and orphan the 10 GB block plus the second miner's block.  So the second miner has to try to guess what is the most likely consensus decision that will be taken by the third miner.  And so on.

Most probably, it was with this in mind that Satoshi introduced his 1 MB block size.  When he introduced it, 1 MB was way larger than any reasonable block at that time, so it was a good "miner directive" to say that blocks larger than 1 MB should be considered as spam (given we measured blocks in KB at that time).  It was a "good miners' directive" not a "protocol standard".  The idea was most probably, in Satoshi's mind, to give a clear rule to the miners as what was to be considered "prohibitive spamming".  It could systematically be put a factor of 100 or so above the "usual block size".   It was a trivial formalization of the good practice "don't accept obvious spam in the consensus decision".

But then it became part of the "protocol of bitcoin" by some crazy narrative.

It is important to realize that in mining, there's no "accumulation of success".  At the point that the second miner receives the small block from his peer, even if he was already mining (without success) on top of the 10 GB block, he doesn't lose any opportunity from switching to his peer's smaller block.  It is not because he has been mining for 5 minutes on the 10 GB block that his chances are bigger when he continues to do so.

But on top of that, chances are that he has faster the full small block of his peer rather than the 10 GB block, if his network connection is of limited capacity.  So from the moment that 10 GB is a network issue, *in any case* it will arrive late at the miner's place.

So there are enough arguments to say that there's no reason to expect that the block chain could have been spammed by gigantic blocks: miners would sensibly reject them in their consensus decision, and those blocks pay already a penalty because they lose time in network transmission.
legendary
Activity: 1708
Merit: 1049
Actors from outside the system that want bitcoin to die, can spam it to death - AND include the blocks on their own / at their own expense, because the cost of bitcoin back in 2010 was peanuts.

The point is that by PoW consensus, every previous block is voted over by PoW by the peer miners.  So if the PoW consensus is working, you might think that even if a crazy attacker makes a 10 GB block that is correct according to the bitcoin protocol, the next miner should most probably decide NOT to build upon it because he estimates this not to be the good consensus of the bitcoin state.

But another miner might see that another block was issued as #xxxxx instead of the 10gb block and then reject that one for not building upon the 10gb one. So it's a gamble that others will do the same...


hero member
Activity: 770
Merit: 629
Actors from outside the system that want bitcoin to die, can spam it to death - AND include the blocks on their own / at their own expense, because the cost of bitcoin back in 2010 was peanuts.

The point is that by PoW consensus, every previous block is voted over by PoW by the peer miners.  So if the PoW consensus is working, you might think that even if a crazy attacker makes a 10 GB block that is correct according to the bitcoin protocol, the next miner should most probably decide NOT to build upon it because he estimates this not to be the good consensus of the bitcoin state.

I think that Satoshi, who also made the *mining software*, built in this 1 MB as a MINING directive, not as a PROTOCOL specification - because bitcoin miners were also taking Satoshi's software to MINE.  In fact, in those days, a node was a mining node (one CPU/one vote).  So the 1MB limit was probably seen, by Satoshi, as the "no-go" for a honest miner to not build upon a crazy block.  Not as a protocol specification.

He couldn't of course, protect bitcoin against any serious outside attack, because bitcoin was proof of work and the proof of work in those days was peanuts.  If it would have been a PoS coin, it would have been protected (especially given the big stash that Satoshi had himself) as the attacks would be limited to insiders.  Nobody attacked bitcoin at that time, because it was considered a joke by those that would now most probably curse themselves from not having done it !
legendary
Activity: 1708
Merit: 1049
Satoshi never told people that the 1 MB limit was to prevent spam - its just what everyone inferred.[/i]

He did express his desire to both intentionally combat micro-tx spamming and to keep the blocks as low as possible in order to get adoption going.

Bitcoin isn't currently practical for very small micropayments.  Not for things like pay per search or per page view without an aggregating mechanism, not things needing to pay less than 0.01.  The dust spam limit is a first try at intentionally trying to prevent overly small micropayments like that.
...
It would be nice to keep the blk*.dat files small as long as we can.

The eventual solution will be to not care how big it gets.

But for now, while it's still small, it's nice to keep it small so new users can get going faster.

Satoshi cared about the wellbeing of bitcoin and he tried to avoid damaging circumstances, whether it was spamming, large blocks, or even ...wikileaks funding.

Basically, bring it on.  Let's encourage Wikileaks to use Bitcoins and I'm willing to face any risk or fallout from that act.
No, don't "bring it on".

The project needs to grow gradually so the software can be strengthened along the way.

I make this appeal to WikiLeaks not to try to use Bitcoin.  Bitcoin is a small beta community in its infancy.  You would not stand to get more than pocket change, and the heat you would bring would likely destroy us at this stage.

As you can see he knew that bitcoin wasn't 100% resilient against all kinds of attack vectors from the get-go, and acted accordingly.


Now regarding your other point:

Quote
Okay now we have the process outlined we can analyse the miners incentives/behaviour. I'll be using game theory to explain this and here is where it gets interesting.

The miners main goal is to make profit. This is why he adds tx. to his block in the first place (it allows for more fees and thus, more profits). So we can assume that without the blocksize limit, the miners would add infinite tx. to their block right? WRONG!

Your game theory calculations only deal with actors that are inside the system. They are also projections of our time period to 8 years ago, when money generated from fees were non-serious. I mean even the bitcoins generated were non-serious money.

Actors from outside the system that want bitcoin to die, can spam it to death - AND include the blocks on their own / at their own expense, because the cost of bitcoin back in 2010 was peanuts.

Why would Satoshi allow that? He'd be an idiot if he saw a vulnerability and left it there waiting to be exploited.
hero member
Activity: 770
Merit: 629
You're saying that's actually false because these "3 or 4 entities" can block whatever they want and the rest of the network is powerless to prevent it?

Yes, by design.  They can.  They won't mostly.

I think many would argue that 3 or 4 entities making all the decisions was definitely not part of the design.  You seem to be advocating that it would be better if miners were in full control of consensus, but clearly most people aren't going to buy into that vision.

I agree that is was not part of the *indicated purpose* of the design, but it *was part* of the design, as we see it experimentally confirmed, and game-theoretically explained.  PoW always will evolve into an oligarchy, like any market does, but in this particular case, with no "product differentiation" and open, anonymous competition, it is evident that this would happen.  I'm not expressing any advocacy.  I'm just telling you what was the logical consequence of the actual design, confirmed in reality by the experiment. I think that Satoshi had more in mind "a few hundred" rather than "four".  That's the only difference between his vision and the outcome of the experiment. But obviously, he clearly stated that it wouldn't be decentralized in the way you think it is: that is, over a large portion of its participants.  Was Satoshi lying, was he simply wrong, or didn't it matter in his mind, we don't know of course.  But that's the design that he proposed, and that's what came out of it, with the caveat of less deciders than anticipated, because of the unanticipated formation of pools.

Your expensive non-mining node wouldn't see anything fishy. It simply turns out that the 4 most important mining pools decide not to include transactions from user X or exchange X, and decide not to mine on blocks that do so.  That's the consensus by proof of work.

Yeah, I'm not saying it's like you get a popup alert or anything, but people do have eyes.  When lots of people notice their withdrawals haven't confirmed and it becomes one of those big issues where everyone piles in with an opinion, as customarily happens on the internet, someone's going to notice and figure it out.  The more people who can instantly check and see that the transactions weren't included, the faster the community can react.  Hence why more nodes are better than fewer.

What you are talking about, are the news feeds.    Coindesk, this forum, other centralized places of news.  That's the "eyes of the market".  That's where people get informed (or misinformed).  No "full node runners" would pay attention to it, because, as you say, there won't be pop-ups.   If you would like to *demonstrate* it here, you'd link to things on blockchain.info.  You wouldn't use your own full node for that.  The few geeks who are able to look at that using their full node wouldn't be believed as much as a link to blockchain.info.  

This is what really keeps those oligarchs, our overlords of bitcoin, in check: the buzz on internet, the market sentiment, their business.  Not the full nodes.  Most full node runners wouldn't even know where to look or what to do to see this.

Guess what ?  Exactly such an intermediate system is what Dash put in place: the master nodes.  The master nodes are a PoS layer between the user and the miners.  They will make a pre-confirmed mem-pool which the miners have to include.  But it is proof of stake.  There, it are the master node owners which are the overlords, but they are more of them.

Quote
I'm not suggesting it would be clean, but it's an option.  A somewhat nuclear option, granted.  But even if there was a period where the network had to suffer with a lack of hashrate, that's what difficulty adjustments are for.  And the more nodes who have a full copy of the blockchain, the stronger that nuclear option looks.  Hence why more nodes are better than fewer.

This is one of those make-believe stories again.  There is absolutely no strength in holding thousands of identical copies, because whatever that nuclear option is, it will be decided by a monopolist: Core, the overlord of bitcoin, because he has the brand name.  If not, there will be many forks.  And if that happens, how much time would it take ?  I cannot believe that they can do this in a few weeks time.  Hell, they cannot even roll out their pet LN in two years' time.  And the suspicion would be that they planned this in advance, with tons of specific hardware ready to do the new algo.  This story is of the type "I hide a big nasty dog in my basement, and if you rob me, I will release him".  "Our system is decentralized and robust against attacks, and if you dare, our Good Overlord in the basement will change the system the next week so that your attack fails."

Quote
Yes, but the general idea is you don't want to make it easier for entities to collude and that's what people argue will happen with fewer nodes.  The greatest level of transparency, neutrality, trustlessness and permissionlessness is achieved through the blockchain being shared and updated in real time between as many users on the network as possible.  Hence why more nodes are better than fewer.

As I have now outlined many different times, it doesn't make much of a difference, especially because bitcoin was designed not to leave power to non-mining nodes that are easily sybilled.  More nodes are very slightly better than fewer, if one doesn't introduce system limitations in order to have more of them.  Because the very very small added decentralization by having thousands of copies is not offset by the huge performance hit you introduce by taking the requirements for this into account, like limiting the amount of transactions that can be done.

Quote
And the reason most users are prepared to gamble on its tokens is because it is decentralised.  If you take that away and 3 or 4 entities can make unilateral decisions without consequence, the vast majority of participants lose faith and the entire experiment fails.

No, the reason why most users are prepared to gamble on its token is because they BELIEVE it is decentralized.  In fact, not even.  They believe that others believe that it is decentralized. Bitcoin is a Keynesian beauty contest.  It doesn't matter what you find best, it matters what you think others believe will find best.

This is  why this make-believe story of many nodes is necessary, to maintain that erroneous belief.  This is exactly like one needs to do human sacrifice for the Great God Dodo, simply to maintain the belief in the power of the Great God Dodo.  If the Great God Dodo wouldn't be able to require human sacrifice, the Great God Dodo wouldn't be powerful, wouldn't he ?

In the same way, if there's no necessity to have "many full nodes", it would be fairly obvious that bitcoin is centralized.  So one needs to propagate the myth that bitcoin is decentralized, and that Joe, with his node in his basement, is "contributing to the decentralization of bitcoin".  So that you can show that there are 11 000 Joes that all copy the same data set made by 10 pools out there, and tell people "look how decentralized our system is: there are 11 000 identical copies out there, and all of them have checked that everything is OK.  Power to the people !  Bitcoiners of the world, unite !".   While the fundamental design of bitcoin was exactly to avoid any power of these cheap nodes.

From Satoshi's white paper, third page:
"The proof-of-work also solves the problem of determining representation in majority decision
making. If the majority were based on one-IP-address-one-vote, it could be subverted by anyone
able to allocate many IPs
."

This is where Satoshi says that full nodes shouldn't have power.

Quote
 I'm not prepared to gamble on Ripple's or Stellar's tokens because I don't think they're decentralised enough, although I do have to say even they sound more decentralised than your vision for Bitcoin.

I have no "vision for bitcoin", I'm telling you the factual, actual state of bitcoin's power structure, and how that actual state of bitcoin was already foreseen by Satoshi in November 2008, and why this is a simple logical consequence of his design.  Apart from having only 3-4 pools instead of a few hundreds of solo miners.  Yes, this goes against the narrative of bitcoin.  Satoshi wanted to make a system that works, for all practical purposes.  The decentralization narrative was good propaganda to make it going, but it doesn't correspond to reality.  When one is going to cripple the system in order to feed the narrative, one is making a big mistake.

You are expressing your "belief".  And that's what all these "decentralization stories" are about: make believe.  The Great God Dodo doesn't exist.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
You're saying that's actually false because these "3 or 4 entities" can block whatever they want and the rest of the network is powerless to prevent it?

Yes, by design.  They can.  They won't mostly.

I think many would argue that 3 or 4 entities making all the decisions was definitely not part of the design.  You seem to be advocating that it would be better if miners were in full control of consensus, but clearly most people aren't going to buy into that vision.  Any suggestion that implies a central controlling oligarchy is preferable will be met with resistance.  Which is precisely why the overwhelming consensus shows that maintaining a large number of non-mining full nodes is still the plan going forward.  

I'd concede that having thousands of non-mining nodes clearly wasn't part the original design either.  But there was no way to foresee the advent of ASICs and the way mining in general became as centralised as it did, at the rapid pace as it did.  So the compromise is the thousands of volunteers validating what has been put into the blocks by the centralised miners.  You might claim they aren't needed to keep the miners honest, but that's not something that can be proven empirically unless everyone is prepared to take a risk and start trusting our new supposed overlords, which, again, runs wholly contrary to the ethos and underlying principles of Bitcoin.  Ain't happening.


Your expensive non-mining node wouldn't see anything fishy. It simply turns out that the 4 most important mining pools decide not to include transactions from user X or exchange X, and decide not to mine on blocks that do so.  That's the consensus by proof of work.

Yeah, I'm not saying it's like you get a popup alert or anything, but people do have eyes.  When lots of people notice their withdrawals haven't confirmed and it becomes one of those big issues where everyone piles in with an opinion, as customarily happens on the internet, someone's going to notice and figure it out.  The more people who can instantly check and see that the transactions weren't included, the faster the community can react.  Hence why more nodes are better than fewer.


Changing algorithm is not evident, because suddenly, there wouldn't be an army of miners, ready to provide enough PoW with the new algorithm.  From one day to another, there wouldn't be enough different hardware available.  What algorithm ?  Etherhash ?  Scrypt ?  Cryptonight ? ...  How to sell this in the bitcoin narrative ?  What if different forks appear ?

The *real* reason why this won't happen, is simply the market.  This is why strong decentralisation is not very important.   Most of these oligarchs are in bitcoin and need the market to appreciate it.  So they most probably wouldn't do something that breaks the market entirely.

I'm not suggesting it would be clean, but it's an option.  A somewhat nuclear option, granted.  But even if there was a period where the network had to suffer with a lack of hashrate, that's what difficulty adjustments are for.  And the more nodes who have a full copy of the blockchain, the stronger that nuclear option looks.  Hence why more nodes are better than fewer.


In an industrial proof of work system, that blockchain needs to be made first, before you can decide to follow it.  For that, you need someone to code it (if it isn't Core, it most probably will not be called "bitcoin") ; if it remains a PoW coin, you still need an industrial amount of mining hardware to mine it ; and you need exchanges to list it.  

My point is that if these power structures, which are oligarchies simply because there are only a few deciders in each of them, keep one another in check, that's good enough, and that's what will keep bitcoin running.  But it has not much to do with decentralization.  And if these entities collude over certain aspects, they will dictate their will.  But in the end, they are kept in check by the market, as long as they are looking for gains.

Yes, but the general idea is you don't want to make it easier for entities to collude and that's what people argue will happen with fewer nodes.  The greatest level of transparency, neutrality, trustlessness and permissionlessness is achieved through the blockchain being shared and updated in real time between as many users on the network as possible.  Hence why more nodes are better than fewer.


Quote
Whoever says miners have all the power is wrong; whoever says users have all the power is wrong; whoever says developers have all the power is wrong.  It should be more than self-evident by now that's not how this shit works.  It all exists in equilibrium.  No one group can act unilaterally if the others don't agree, unless one of them is prepared to fork off or be forked off.

Absolutely.  But this is why this talk about decentralisation is bogus.  You have a few oligarchies that keep one another in check.  Like everywhere else.  You have the miners (the industry).  They are essentially 3 or 4 to decide.   You have Core.  They are a handful to decide.  You have the important exchanges.  They are a few tens to decide.  And then you have all the users that gamble on its tokens.  They are the market that finance the whole circus.  And that's the power structure of bitcoin.  

And the reason most users are prepared to gamble on its tokens is because it is decentralised.  If you take that away and 3 or 4 entities can make unilateral decisions without consequence, the vast majority of participants lose faith and the entire experiment fails.  I'm not prepared to gamble on Ripple's or Stellar's tokens because I don't think they're decentralised enough, although I do have to say even they sound more decentralised than your vision for Bitcoin.  So the "market" you keep talking about wouldn't be as strong as it is if we didn't believe the mere presence of this ever watchful eye of the thousands of nodes was keeping miners in check.  Hence (you guessed it) why more nodes are better than fewer.
hero member
Activity: 770
Merit: 629

Right, so when Bitcoin advocates say things like:

Quote
Bitcoin gives us, for the first time, a way for one person to transfer money to another person anywhere in the world, so that the transfer is guaranteed to be safe and secure, everyone knows that the transfer has taken place, and nobody can challenge or block the transfer.

You're saying that's actually false because these "3 or 4 entities" can block whatever they want and the rest of the network is powerless to prevent it?

Yes, by design.  They can.  They won't mostly.

Quote
 In my view, the miners would only get away with that if the rest of the network agrees with that action.  If the majority of non-mining nodes disagree - and there's an incredibly strong likelihood they would disagree, because blocking transactions is categorically not part of Bitcoin's ethos or underlying principles - you can expect that a change of algorithm would be promptly forthcoming

Ha. Another algorithm.  If core writes it quickly.  Core, the other oligarchy.  And if exchanges list that new version as "bitcoin" and unlists the original.  The third oligarchy.  If core doesn't move its ass, and if exchanges continue to list the original coin with the original algorithm, as the thing they call "bitcoin", you can always dream of a change.  What are you, "decentralized user with your node that is happy", going to do ?    After all, miners are free to build the blocks they want.  They are free to build upon the blocks they want.  That's the consensus mechanism in bitcoin.  They even played by bitcoin's rules.  Your expensive non-mining node wouldn't see anything fishy. It simply turns out that the 4 most important mining pools decide not to include transactions from user X or exchange X, and decide not to mine on blocks that do so.  That's the consensus by proof of work.  Changing algorithm is not evident, because suddenly, there wouldn't be an army of miners, ready to provide enough PoW with the new algorithm.  From one day to another, there wouldn't be enough different hardware available.  What algorithm ?  Etherhash ?  Scrypt ?  Cryptonight ? ...  How to sell this in the bitcoin narrative ?  What if different forks appear ?

The *real* reason why this won't happen, is simply the market.  This is why strong decentralisation is not very important.   Most of these oligarchs are in bitcoin and need the market to appreciate it.  So they most probably wouldn't do something that breaks the market entirely.  Although, with the recent possibility to short bitcoin naked with futures in cash, things may be less evident.

Quote
and there would be many expensive bricks that used to do something profitable left to rot on a shelf somewhere.  Not to mention that the users of that exchange would be innocent bystanders and wouldn't deserve to have their withdrawals blocked like that.  There would be uproar if miners pulled a stunt like that.  So no, "3 or 4 entities" do not have "consensus deciding power".  Miners might decide what transactions go in their blocks, but users decide which blockchain they freely choose to follow.  If the users aren't accepting those blocks, no one cares who they did or didn't include.

In an industrial proof of work system, that blockchain needs to be made first, before you can decide to follow it.  For that, you need someone to code it (if it isn't Core, it most probably will not be called "bitcoin") ; if it remains a PoW coin, you still need an industrial amount of mining hardware to mine it ; and you need exchanges to list it.  

My point is that if these power structures, which are oligarchies simply because there are only a few deciders in each of them, keep one another in check, that's good enough, and that's what will keep bitcoin running.  But it has not much to do with decentralization.  And if these entities collude over certain aspects, they will dictate their will.  But in the end, they are kept in check by the market, as long as they are looking for gains.

Quote
Whoever says miners have all the power is wrong; whoever says users have all the power is wrong; whoever says developers have all the power is wrong.  It should be more than self-evident by now that's not how this shit works.  It all exists in equilibrium.  No one group can act unilaterally if the others don't agree, unless one of them is prepared to fork off or be forked off.

Absolutely.  But this is why this talk about decentralisation is bogus.  You have a few oligarchies that keep one another in check.  Like everywhere else.  You have the miners (the industry).  They are essentially 3 or 4 to decide.   You have Core.  They are a handful to decide.  You have the important exchanges.  They are a few tens to decide.  And then you have all the users that gamble on its tokens.  They are the market that finance the whole circus.  And that's the power structure of bitcoin.  Like most other financial ecosystems.  Not much "decentralized".  Samsung is also depending on its customers.  Apple also.  Bitcoin's industry also.  That's what keeps this up and running.  Not "decentralization".  Because it isn't.

So, like Apple could prevent you from having an iphone, but won't, the mining pools could prevent you from transacting, but won't.  Most of the time.  Unless they have a good reason to.  There's not much of a difference.

If Facebook pisses off most of its users because it behaves "unethically" towards some of them, or if the mining oligarchy pisses off most bitcoin users because they behave "unethically" towards some of them, that will have grave consequences in the market for both of them, and that's why Facebook is nice to its users, and the miner oligarchy is nice to bitcoin users.  In general.  That's why it works.  Not because of the myth of decentralization.  Even though it makes for a good story to tell at the camp fire.
hero member
Activity: 770
Merit: 629
You can think whatever you want about the lightning network, what is clear is that "nodes-as-big-as-needed" (in other words, BCH's approach, as admitted by Roger Ver) is not a real long term solution, and it will end badly, and it will end badly at layer 0.

Whoever is drinking the koolaid that the system would remain as decentralized with a handful of nodes can't be giving lectures on the supposed centralization of the lightning network.

Point is, bitcoin isn't decentralized.  It is centralized in the code, it is centralized in the mining, if we understand by centralized: a small oligarchy has most of the decision power.  As I pointed out several times in this thread, one should have several copies of the unique block chain out there.  However, there is no need to have thousands of them.  If there are sufficient copies around so that there's always one that is accessible, that's good enough for the cryptographic verification of *authenticity*.   The data burden is large in the hypothesis that every user needs a full copy, but the data burden is in fact very small as compared to other public data repositories.   The availability of thousands of identical copies only plays a very minor role in the so-called decentralization of bitcoin, because the actual decision power is in the hands of a small oligarchy of coders on a single repository (Github), and the few deciders who run the most important mining pools (less than you have fingers).  The true "verification" of the whole system needs to be done by those who want to convince themselves, but here, we have a contradiction.  What value has the fact that a piece of software that you didn't even READ tells you that some unique data set of which you can verify the cryptographic authenticity (that is, this is not a fake copy of the "original", it is the sole original), has not been constructed "correctly" according to rules in a piece of software you didn't check yourself ?  Software you got from a much more centralized entity than the system you're trying to verify ?

Needing thousands of identical verifications by a piece of centralized software, of a big piece of data of which, in any case, there's no other version around, is not what I'd call "decentralisation".  It is waste of resources.  Now, as long as one can afford waste of resources, why not ?  It doesn't hurt.  But if this waste of resources is taken as an argument to tell us that the system cannot scale, that's ridiculous.

In fact, bitcoin is not truly decentralized, but that's not needed.  From the moment that bitcoin is working correctly, that's good enough.  Decentralization is a method, not a goal.  Given that bitcoin is now a speculative asset that is in any case highly sensitive to belief, it has in any case lost the robustness for which true, weaponized decentralization would make a difference.  From the moment that bitcoin would be so much under attack (by governments for instance) that it would NEED true decentralization, in any case its market value would plummet so hard that it would break down as a store of value.  Most of its market value now comes from trading it on centralized exchanges.  The very rumour of a government cracking down on centralized exchanges somewhere, makes its value plummet.  

So, in reality, if a few mining pools keep one another in check, and if there are a few tens of independent repositories around the world, and if a few people read the code on the centralized monopoly of its code, and if some geeks check the validity of the block chain, that's good enough for bitcoin to work correctly.   And that's all its users actually need: that it works correctly.  It can be nice to have the illusion that you have an unbreakable ledger, with a totally decentralized piece of software, so that even if the First Order cracks down on bitcoin, there will be the Resistance that has still a few copies of the block chain left, with a piece of authentic code.  But by that time, a bitcoin trades for half a hamburger of yesterday.    All this are nice illusions.  They are not true.  But even if they are not true, bitcoin works.  There are no double spendings.  You can do transactions.  That's good enough.  

Another point is that bitcoin has been compared, already by Satoshi, to VISA.  However, bitcoin is not a currency, and never will be.  Its monetary theory behind it makes it fail as a currency.  Bitcoin is a highly speculative asset.  Of course, it has some liquidity which permits you to transact ; but its volatility (which is part of its design) makes that it is not suited as a currency.   So, no, bitcoin will not need VISA-like transaction volumes.  Because almost nobody will use it as a day-to-day currency, like we use VISA.  Simply because it is so volatile.  Bitcoin is a financial asset with high volatility.   Like risky financial products (say, Apple options).    There's no need to go to very high volumes.

All this makes that we are putting technical limits to achieve fake goals.  We don't need every Joe to have his copy of the block chain.  A few tens of copies that are publicly available is good enough - in any case, the true power structure of bitcoin is already so much centralized, that this essentially useless form of "decentralization" doesn't add much.  And we don't need to aim for true currency applications, because in any case the asset is ill-designed to become a true currency: its domain of application is in the speculative finance sector.
Pages:
Jump to: