Pages:
Author

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

hv_
legendary
Activity: 2534
Merit: 1055
Clean Code and Scale
Let's start with a little background info...

Satoshi implemented the 1 MB blocksize limit without telling anyone; He just did it randomly. There was no discussion beforehand and after he did it, he did not mention it anywhere.

My understanding was that having a blocksize limit was Hal Finney's idea and he talked Satoshi into it after quite a bit of discussion between Satoshi, Hal Finney, Ray Dillinger and possibly others as well.  Although I'm not entirely sure if setting that limit at 1MB was Hal's decision too, or if that was someone else's input.  But suffice to say it wasn't just Satoshi acting alone.  In the early days, it's likely quite a few conversations were had via email, so we don't have reliable records of exactly what happened.

Yes. And it happened at a time, where there was absolutely 0 fees and only a few txs.
The idea was coming from excluding a sheer brute zero cost spam attack, bloating the blockchain for free and crashing / eliminating bitcoin before it could take off. Very reasonable for an open blockchain in a open hacker world that time, handwaving the no-brainer to lift it as 'needed'.
jr. member
Activity: 83
Merit: 1
I'll be using game theory to explain this and here is where it gets interesting....


go back to school kiddo!

the most ridiculous thread ever

 all the genius here make your own coin, do it , i want to see your retard faces in the team pictures
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
Let's start with a little background info...

Satoshi implemented the 1 MB blocksize limit without telling anyone; He just did it randomly. There was no discussion beforehand and after he did it, he did not mention it anywhere.

My understanding was that having a blocksize limit was Hal Finney's idea and he talked Satoshi into it after quite a bit of discussion between Satoshi, Hal Finney, Ray Dillinger and possibly others as well.  Although I'm not entirely sure if setting that limit at 1MB was Hal's decision too, or if that was someone else's input.  But suffice to say it wasn't just Satoshi acting alone.  In the early days, it's likely quite a few conversations were had via email, so we don't have reliable records of exactly what happened.
legendary
Activity: 2702
Merit: 4002
If we return back to 2009, 1MB block size was enough. (They were mining 50 BTC at once time).
Until mid-2017 there was no problem with the size of the block.
On Dec. 14, the number of unconfirmed transactions rose to 480,000 Hence the problem.
On the other hand, the size of 1 MB promotes decentralization.


I agree with you this 1 MB is a random number
full member
Activity: 196
Merit: 109
There are a lot of things that can be with Satoshi's mind at that moment which in his/her mind can be good with that 1mb limit per block. Satoshi did not even think that this would came on what we do have not and the demand for Bitcoins could come as far as this. That's why soft forks and hard forks came to the network just to get what the community want and need for the betterment of Bitcoin.
I highly doubt this. If you read the original paper, Satoshi's plan was to create a system that would become universal and used by many. Why the block was so small I am not sure but the answers given by dinofelis on page one are the most plausible to me.
member
Activity: 112
Merit: 10
Use Steem instead of bitcoin, they have a very progressive technology which makes transactions cheap and very fast.
hv_
legendary
Activity: 2534
Merit: 1055
Clean Code and Scale
infinite block size limit is not an issue. I honestly cannot understand why he added the 1 MB limit.

Use Bitcoin Cash


@OP, I agree with your argument. As per game theory and the assumptions you have made, I don't see a reason why the block size limit has to stay at 1 MB.

Newbie question here, is there any way to change the block size limit? How feasible it is to do? Would it require a hard fork?

Use Bitcoin Cash


CBank has learned his lessons finally?

 Grin

hero member
Activity: 770
Merit: 629
Well said but it can make processing the data a little bit faster if I fully understand what they are doing
but it makes the code more complicated to understand and it's been over engineered as it is at every

To me, Segwit is another layer of cryptographic data abstraction.  In bitcoin's original block chain, you have essentially 3 levels of cryptographic data abstraction: the header list, the Merkle tree, and finally, the real stuff, the transaction.  Segwit adds another layer of abstraction: the node in the Merkle tree is an abstraction for whatever the transaction is, of which the details are now in the witness.

These different layers of abstraction allow for different levels of cryptographic verification of authenticity, and use different cryptographic mechanisms.  The top layer, the headers list, is a linked list of hashes, containing the proof of work (which is bitcoin's conventional signature of authenticity at the highest level).  The second layer, the block, has a Merkle tree, which is a linked binary tree of hashes, of which the head is in the block header.  You only need to descend into that tree if there is specific information you want to verify within a block: ideally, you'd only need the Merkle tree "path" down to the location where the node information resides.  With a legacy node, that node is the transaction information you're looking for.   As all this stuff are linked hashes, from the single node, through the Merkle tree, up to the block header, to the header chain, the authenticity of all these elements is secured, because they are linked together with hashes.  Within the node information itself, however, the authentication is done by digital signature.  All the signed information used to be in the node in the legacy protocol ; with segwit, this can refer also to "witness data", which is outside.  This is somewhat similar to locking up the hash of a big book in a bitcoin transaction: you can transmit the book data outside of the chain, and verify that it is the book that has the right hash that was in the chain.  So what Segwit essentially does, is to allow the node (the former transaction) to be itself an abstracted form of cryptographic data link to the rest of the system.

So in a way, bitcoin is built to be a growing "data base" of stuff of which each element can be verified to be indeed included, without, that's the whole point, having to download the entire database.  I can prove to you that a certain node Y is part of the block chain at block X, by providing you only with:

- the full header list
- the part of the Merkle tree of block X that goes to node Y
- the full data of node Y

You can verify all that, and you can verify that there's no way that I'm faking you if you can find out whether the current block header "on the net" is the block header at the end of what I gave you.  You don't need to download the full block chain for that.

This is exactly what a light wallet does, where the only nodes Y it is interested in, are the transactions to and from the addresses of the wallet.

With Segwit, there's now, "next to the block chain", also data that is related to node Y, which is called its witness.  With legacy transactions, the witness is empty, with segwit transactions, that witness contains the actual transaction data.

So now we have that in order to be sure that I have all I need to know concerning Y:

- the full header list
- the part of the Merkle tree of block X that goes to node Y
- the full data of node Y
- the witness of node Y

If there is a single, accepted, block chain out there, then these elements are all I need to be cryptographically certain that this information is authentic in that chain.  So as a user, I don't need anything else, apart from the "actual head of the chain that is accepted".  I don't need the full block chain.  I can do with the minimum, but I can use somewhat more if I like:
I could download the full block Merkle tree, instead of just the path to the node I'm interested in.
I could also download the full transaction data of the block containing my node data Y.
I could also download ALL blocks.
And I could, or not, download all the witness data.

But all this doesn't change a thing for me, namely, to know whether my data Y are authentically accepted in the sole agreed-upon block chain out there. This is why, for a normal user, there's no "data burden", and that's what Satoshi explained in his mail of November 2008.

So who could want to download all of the block chain information ?  (non-mining full node)
Who is, by doing so, exposed to the full burden of data ?

Well, there's of course more to bitcoin than just having a correct set of nodes: the essence of bitcoin is that these nodes correspond to "correct transactions".  In order to be able to verify whether a transaction is correct, one needs two things: one needs information about the previous transactions referred in the to-be-verified transaction ; but one also needs to verify that some information is NOT PRESENT in the WHOLE of previous data blocks, to avoid double spending.  So, in order to verify the correctness of a transaction, one needs the whole chain.

So if you want to be able to say whether a transaction IS ALLOWED TO BE included in a block or not, you do need the full chain (and with segwit, ALSO the witness data).  However, who is to decide ?  The answer to this question is: the mining nodes, and ONLY the mining nodes.  Indeed, bitcoin's solution to the Byzantine General's problem is based upon a vote by proof of work.  Nothing stops a mining node, technically, from including erroneous node data (or even erroneous Merkle trees, or erroneous headers).  But his block will be voted away by the other mining nodes, that will not build upon it.  As mining is economically costly (proof of work), for a mining node, there's no reason to make blocks his peer mining nodes will not vote for.  He will be wasting resources for nothing.  So the sole, consensual, block chain that is going to be built is a consensus of mining nodes.  As long as more than 50% or so of the hash power of mining nodes plays by the rules, the block chain will  be constructed by the rules.  But in order to do so, in order to be able to make correct blocks, mining nodes need the full data burden of the full block chain.  There's no way they could verify the correctness of a new block if they didn't have the full data set.  On the other hand, if ever mining nodes came to the agreement to include non-conform blocks, and continue building on it, as a user, there's nothing that you can do about it.  There is no alternative chain.  If node Y within block X contains a transaction that is not correct, but it is deeply buried inside the chain and the mining nodes continue to build upon that chain, there's nothing you, as a user, can do about it.  Even if you download all that data.  Even if you see that it is wrong.  Because there's no other chain out there.

If you have big stakes in bitcoin, however, it might be a good idea, to be aware of it, even if you cannot do anything about it.  So if you have big stakes in bitcoin, it might be a good idea to download all of the data, with all of the burden it represents, just to know whether the miners did include funny things or not.   But by far most users don't need the full data burden.  

Quote
Distributed systems are not designed to work by filling up a node until the 200gb file grows to
a terabyte and the development team knew this for day one so it's problem-reaction-solution
and the solution is the lightning network, miners are begging for it because the hubs are banks
which will need hardware and BTC to fund the private ledgers which is just what the miners have
by some strange stroke of luck.

The fundamental error is to think that every user needs the full data burden.  That's not feasible.  But not all users of Wikepedia download all of the Wikipedia data.  They only look at those pages they want to read.  As a normal bitcoin user, you don't need the full data burden.  You only need to do the cryptographic verification that the information you download, is corresponding to what's in the sole block chain out there.  

The big mistake in this whole debate is to confuse two aspects of bitcoin's cryptography:

1) verify that the transaction data you have, is the correct data that is in the consensual, single block chain out there

2) verify that the mining nodes that have the consensus power in bitcoin, followed the rules they are supposed to follow in building the sole consensual chain out there.

The normal user only needs to be concerned with 1).  Even if he found out in 2) that the sole chain out there is not built according to the rules he thought were in effect, there's nothing he can do about.

However, big players may want to look at 2).  Big exchanges for instance.   But it is sufficient that some look.  There will be a whistle-blower.  If you think it is fun, you can do it.  It comes with a data burden.

The "hard" consensus is the one of the mining nodes, with their vote by proof of work.  If mining nodes decided collectively to come to consensus A, then that's what's out there, and nothing else.  If mining nodes don't come to a consensus, we have a fork, but a fork without bidirectional incompatibility is very dangerous (can be overtaken).  So usually, a fork with the same protocol will not last, which means, that for the normal user, there is only one chain out there.

But there is also "soft power" in this game.  Suppose the mining pools come to the consensus that they increase the block reward.  They can, of course.  If they come to that consensus, and the sole block chain out there has now bigger block rewards, there's *technically* nothing a non-mining node can do about it, apart from seeing that that is what is happening.  So why don't mining nodes decide to do so ?  Of course, for them to do so, they would have to collude.  There's the "tragedy of the commons" effect (Nash equilibrium) that stops an individual mining node to take the initiative to give himself more rewards: his block would not find consensus by his peers.  But suppose that the Nash equilibrium of honest mining node breaks down and that all of them collude over larger mining rewards.  The chain out there now prints more bitcoin per block.  
As mining nodes are rewarded in coins, they are also sensitive to the market.  They can print themselves as many bitcoin as they want, if bitcoins aren't worth zilch in the market, they have been spending a lot of economic cost for nothing.  Printing more bitcoins is something the market would be highly negative about.  So if there is one set of entities that are kept by soft power, it are the mining nodes.  Even if they are not decentralized enough for the Nash equilibrium to be secure, they are simply kept by the "soft power" of the market. This is why the total centralization of mining nodes didn't bring a disaster: they need the market to like bitcoin. If they do crazy things, the market will blow their investment to oblivion.  Even if there was only one single mining node out there, it most probably would still play by the rules, because if it didn't, the market would crash and his entire investment would be dead.

So essentially, those suffering from the data burden, are the mining nodes themselves: they need it technically.  It is also very probable that those with big stakes in bitcoin, have an incentive to be "nice to the bitcoin users" and allow them to use their datacenter as a proxy for the block chain (to allow users to connect their light wallets).  

Normal users only need to verify the cryptographic soundness of that the data they have, is the real data of the real block chain, and a light wallet is enough for that.  They rarely *need* to verify the work of the mining node consensus.  They might be the whistleblower of a problem, but they cannot do anything about it.  As mining nodes are kept by the market sentiment to finance their huge economic spendings in proof of work, the very last ones to want to crash the market are the mining nodes.  So even if they are highly centralized, they most probably will continue to play by the rules.

So the "data problem" is not real.  And that's what Satoshi already explained in November 2008.  Satoshi made many mistakes, but on this one, he was right.

There is still one potential issue: who is going to provide normal users with enough network infrastructure so that they can download the data for their light wallet verification ?  The answer to this one is actually very simple: the bitcoin industry, of course !  The bitcoin industry are all those people making profit over the existence of bitcoin: the mining nodes in the first place, and also, the big exchanges, and if it ever happens, other entities in the ecosystem that have benefit from users using bitcoin.   These are the entities that have an incentive to put at the disposal of their bitcoin users/customers, a "full node data centre" that can connect to the light wallets.  Mining nodes may be incentivised to build a geographically distributed net of data centers "serving the block chain and capturing transactions".  These are the entities that are exposed to the "data burden", but for such entities, this databurden is ridiculously small as compared to the data burden of other data centres. Compared to say, TV over internet, bitcoin's data burden is ridiculously SMALL.

member
Activity: 210
Merit: 26
High fees = low BTC price
I see, big blocks and flex blocks are the only solution...

ridicoulous and I don't even think you can get your head around whats being said here to follow the
conversation because you don't program computers or even know how Ripple, IOTA and Neo works
or you would not make such a statement.
sr. member
Activity: 257
Merit: 343
Quote
...
See https://bitcointalk.org/index.php?topic=2776719.new#new for the real deal when
it comes to Lightning Network because I am openly calling it a scam and no one has been able to
debunk me yet

still it doesn't make you an expert, au contraire, mon ami, it just lets you look a bit poor in predicting the future. Why do you insist on this so hardly? Are you a person who has the duty to protect others, or were you hit by the limitations of the current bitcoin network? Or even better,  were you forced to use this bitcoin system, which has at every end so many flaws?
Or are you just not competent enough, to bring the millions of bitcoin users to the shitcoin world, and gain your advantage?

Reading all the fud in this thread and the other posts in the forum here, it is more like you are licking wounds. SegWit is overly complex designed, LN a scam. And yes, you stated, that you have fully grasped the idea of this.  Grin
I see, big blocks and flex blocks are the only solution...

We have now several hardforks, people are free to use it. Why don't you do as well, and let "us" play with Bitcoin and Lightning?
There is the gigantic december proof, that the shitcoins don't have any value next to bitcoin. They entirly depend on the "root" - the single one and only root, which is bitcoin. If bitcoin rises, they rise, if bitcoin falls, they fall even deeper. And the most funny part is, not even "THE developpers" (as if this was a well defined group of individuals in a company) are guilty for this - or maybe yes, cause they didn't protect you (and your "us") from these shitcoins?

ridicoulous ...
member
Activity: 210
Merit: 26
High fees = low BTC price
Segwit has advantages, but the trick of only counting half of the real data and claiming it makes a difference is very cheap.  A transaction, whether segwit or legacy, takes about the same amount of data, except that you don't count everything in the main block with Segwit. But for storage and transmission, that's the same burden.

In reality, Segwit didn't do zilch to the actual amount of bitcoin transactions per block:

Well said but it can make processing the data a little bit faster if I fully understand what they are doing
but it makes the code more complicated to understand and it's been over engineered as it is at every
possible opportunity as it is from what I have seen

Distributed systems are not designed to work by filling up a node until the 200gb file grows to
a terabyte and the development team knew this for day one so it's problem-reaction-solution
and the solution is the lightning network, miners are begging for it because the hubs are banks
which will need hardware and BTC to fund the private ledgers which is just what the miners have
by some strange stroke of luck.

Number one rule is broken now because if the hub/bank goes down then you have a single point
of failure but lets be honest the development team pushed "On the block-chain" for eight years
and now we are being sold that "Of-Block" is the best thing since sliced bread and we also know that
since Segwit was turned on the fees have continued to climb

See https://bitcointalk.org/index.php?topic=2776719.new#new for the real deal when
it comes to Lightning Network because I am openly calling it a scam and no one has been able to
debunk me yet
hero member
Activity: 770
Merit: 629
Right now, bitcoin doesn't work well.  Pseudo-4MB or not. Well, that's more or less what happened: bitcoin is now at 1/3 of the market cap, the forking fear is gone, bitcoin now has two viable clones in the top 20 and as far as I know, bitcoin is still at its 1 MB block limit after the segwitx2 failure, no ?
Nope. Since the Segwit's activation, its theoretical size would be about 2MB (if everyone uses Segwit). The size concept is now based on the transaction weight which doesn't require a hard fork. Isn't the prices affected mostly by the problem with the regulations?

Segwit has advantages, but the trick of only counting half of the real data and claiming it makes a difference is very cheap.  A transaction, whether segwit or legacy, takes about the same amount of data, except that you don't count everything in the main block with Segwit. But for storage and transmission, that's the same burden.

In reality, Segwit didn't do zilch to the actual amount of bitcoin transactions per block:

https://blockchain.info/charts/n-transactions-per-block?daysAverageString=7

No big increase has been seen when segwit got activated end of August 2017.

People don't really use it, even given the high fees:

http://segwit.party/charts/

Segwit is good, but for a totally different reason: atomic swaps.  

Given the competition of bitcoin cash, and the fact that bitcoin, finally, did fork, rendered the power monopoly of Core moot.  When it will have become a moot point, I guess suddenly for core, the holy 1 MB block limit will not be a problem any more, they will invent another narrative.... and it won't matter any more, because they overplayed their hand, split bitcoin over their pet story, and removed bitcoin as the market monopolist.  Which is a very good thing.  Brand monopoly is a bad thing, and competition improves everyone.
I'm not particularly fond of hard forks for Bitcoin. It's a lot harder to do than a soft fork. Lightning network could help with the issue.

I would say that the fact that the prices of the other coins are so high could be because of Bitcoin's name. Afterall, they do contain "Bitcoin". Would be safe to say that their trading volume is due to miners and those coins being brought over with the fork.

I think that hard forks are good things :they are THE way to have decentralized "governance".  Instead of voting and killing of the "smart minority", it acts like biological evolution.  The mutant is maybe in minority, but it can fill its ecological niche, and maybe even exterminate the parent species if it is superior.  Most mutants die immediately.  But some survive, and some may even exterminate the parent.  Hard forks are nature's way to improve biology, and they are the free market equivalent as compared to state-planned economies based upon a parliament voting.

In any case, the whole block size debate was full of deception and disinformation, and the hard block limit in bitcoin was/is a bad thing for the strain of bitcoin that contains it.  Hence the good OP question.  Satoshi made a mistake, or wanted to put a bomb in bitcoin by doing so, or thought it would be no issue to change it.  There's absolutely no sense in hard-limiting block size without limiting the system's utility at the same time.  If bitcoin is at 1/3 market cap right now, it is because of this block limit (and the very bad way of handling it by Satoshi's heirs).

I would even say that a massive LN on top of a hard-limited block chain is suicide, because of the danger of massive settlement.  With flexible blocks, settlements will always be possible.  On a block-limited chain, settlements are also restricted, making the "settlement run" instead of a "bank run" a genuine possibility.  A well-targetted spamming campaign combined with a settlement panic could be fun to watch.

In summary, no argument holds for hard block limits, and the final argument "my goodness, it is a hard fork" is now done too, because, hey, hard forks happened already.
sr. member
Activity: 1572
Merit: 267
Why did Satan never get the chance to walk the earth ? Perhaps the old man decided to spare one son. How should i know what Satoshi thought was right ?

For now you can call satoshi a corporation including Toshiba.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
Right now, bitcoin doesn't work well.  Pseudo-4MB or not. Well, that's more or less what happened: bitcoin is now at 1/3 of the market cap, the forking fear is gone, bitcoin now has two viable clones in the top 20 and as far as I know, bitcoin is still at its 1 MB block limit after the segwitx2 failure, no ?
Nope. Since the Segwit's activation, its theoretical size would be about 2MB (if everyone uses Segwit). The size concept is now based on the transaction weight which doesn't require a hard fork. Isn't the prices affected mostly by the problem with the regulations?
Given the competition of bitcoin cash, and the fact that bitcoin, finally, did fork, rendered the power monopoly of Core moot.  When it will have become a moot point, I guess suddenly for core, the holy 1 MB block limit will not be a problem any more, they will invent another narrative.... and it won't matter any more, because they overplayed their hand, split bitcoin over their pet story, and removed bitcoin as the market monopolist.  Which is a very good thing.  Brand monopoly is a bad thing, and competition improves everyone.
I'm not particularly fond of hard forks for Bitcoin. It's a lot harder to do than a soft fork. Lightning network could help with the issue.

I would say that the fact that the prices of the other coins are so high could be because of Bitcoin's name. Afterall, they do contain "Bitcoin". Would be safe to say that their trading volume is due to miners and those coins being brought over with the fork.
hero member
Activity: 770
Merit: 629
Use Bitcoin Unlimited (and maybe you should troll more consistently, you were arguing for months about how 1MB would be the blocksize forever. Until it was replaced by the 4MB blockweight, and now you're not Mr. 1MB, you're Mr. Infinite. Riiiiiiiiight)

I said: bitcoin will not undergo a fork until it has lost its total market dominance, because bitcoin only has its brand name to go for.  Once the brand monopoly will be gone, they will finally maybe move their asses and do something that works.  Right now, bitcoin doesn't work well.  Pseudo-4MB or not.
Well, that's more or less what happened: bitcoin is now at 1/3 of the market cap, the forking fear is gone, bitcoin now has two viable clones in the top 20 and as far as I know, bitcoin is still at its 1 MB block limit after the segwitx2 failure, no ?  Given the competition of bitcoin cash, and the fact that bitcoin, finally, did fork, rendered the power monopoly of Core moot.  When it will have become a moot point, I guess suddenly for core, the holy 1 MB block limit will not be a problem any more, they will invent another narrative.... and it won't matter any more, because they overplayed their hand, split bitcoin over their pet story, and removed bitcoin as the market monopolist.  Which is a very good thing.  Brand monopoly is a bad thing, and competition improves everyone.
legendary
Activity: 3430
Merit: 3080
infinite block size limit is not an issue. I honestly cannot understand why he added the 1 MB limit.

Use Bitcoin Cash


@OP, I agree with your argument. As per game theory and the assumptions you have made, I don't see a reason why the block size limit has to stay at 1 MB.

Newbie question here, is there any way to change the block size limit? How feasible it is to do? Would it require a hard fork?

Use Bitcoin Cash


By putting a hard limit on block size, you actually increase drastically the effect of spam, as we saw.  Once the block is full of spam, transactions are hindered.  This is an efficient DDOS of bitcoin.  If the blocks are elastic, you can spam a lot, that will increase the size to some point, but transactions can go through unhampered, and you'd have to spam like crazy in order to have an efficient DDOS.  Hard limits make DDOSsing of bitcoin in fact much easier.

Use Bitcoin Unlimited (and maybe you should troll more consistently, you were arguing for months about how 1MB would be the blocksize forever. Until it was replaced by the 4MB blockweight, and now you're not Mr. 1MB, you're Mr. Infinite. Riiiiiiiiight)
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
Collecting the tx. from the mempool and adding it to their block takes a set amount of time and the longer that the miner spends collecting the tx. and adding it to their block, the less time they can spend calculating the proof of work - thereby giving their competition (other miners) the edge. The miners would naturally (based on game theory) find a nash equilibrium between collecting as many tx. as possible and finding enough time to calculate the proof of work in order to give them the maximum profitability. Thus, we can assume, that without a blocksize limit (infinite), the block size would stay relatively the same.
I don't run a mining pool nor do I have access to their code. However, I'm under the impression that the construction of the merkle root should not take that much of a time. While the miner focuses on the fees aspect, the miner should be able to just grab the transaction with the highest fee immediately after they verify the block and remove the relevant transactions. Either way, I feel that the block size would serve as a gauge for a controlled growth such that people would still be able to run a full node and have an estimate on its storage in the future.
That was clearly wrong, because in order for that block to be incorporated into the chain, other miners would have to agree with it.  There's no reason why honest miners would mine on top of a crazy block.  In other words, implicitly, there would be a gross maximum size set by miners and that would grow dynamically.
I agree with you on the 1GB part. But it isn't if the miner would agree with it but its with the fact that the propagation would be so slow, such that the chances of it being orphaned is incredibly high.


I feel that the main motivation behind this is that big blocks wouldn't be able to be handled by the internet for most of the nodes at that time.
full member
Activity: 756
Merit: 133
- hello doctor who box
There are a lot of things that can be with Satoshi's mind at that moment which in his/her mind can be good with that 1mb limit per block. Satoshi did not even think that this would came on what we do have not and the demand for Bitcoins could come as far as this. That's why soft forks and hard forks came to the network just to get what the community want and need for the betterment of Bitcoin.
hero member
Activity: 770
Merit: 629
technical progress go faster then Mr. Nakomoto think.
Big block size in 2009 have issues with network speed

On the contrary.  Satoshi knew very well how to do it, and explained it here:

http://satoshi.nakamotoinstitute.org/emails/cryptography/2/

His idea was that there would be a few (100 - 1000 ?) full nodes/miners "with specialized hardware", who are the "Facebook servers" of the block chain, and all users simply connect with light SPV wallets.  He considered 100 GB/day block chain growth not a problem, because only these "nodes with specialized hardware" had to keep them.  So, grossly, he was considering 100MB blocks.

The narrative that every Joe needed a copy of the full block chain in his basement is Core narrative, not Satoshi narrative.

Satoshi never seemed to have publicly seen the difficulty of "hard forks".  In as much as he understood immutability of the past ledger, he didn't seem to have bothered about the same immutability mechanism for the rules (the protocol).  So changing a parameter didn't seem like a lot of troubles, even though people pointed out the danger of it "locking in".

newbie
Activity: 51
Merit: 0
Great question !

Okay okay, before you rush and say "To prevent spam attacks!!", please wait and read this whole thread.

^The above argument is what I hear all the time. However, there is something not quite right about that reasoning. It doesn't make sense.

Let's start with a little background info...

Satoshi implemented the 1 MB blocksize limit without telling anyone; He just did it randomly. There was no discussion beforehand and after he did it, he did not mention it anywhere. People had to look at the code/use it to see the change. The mannerism in which the 1 MB blocksize limit was added is already strange in itself and as soon as it was done, debates/arguments among the community started happening.

Satoshi never told people that the 1 MB limit was to prevent spam - its just what everyone inferred.


Okay... history lesson over.

Now here is why it doesnt make sense:

The process of a transaction getting confirmed and added to the blockchain goes like this:

1) Tx. is broadcast with a custom fee
2) Tx. is added to the mempool
3) Miner collects tx. from the mempool (usually they will pic tx. based on which has the highest fee and work their way down from there)
4) Miner adds tx. to their block
5) Miner calculates the proof of work
6) Miner publishes block to the blockchain


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!

Allow me to explain:

Look at step 3.. Collecting the tx. from the mempool and adding it to their block takes a set amount of time and the longer that the miner spends collecting the tx. and adding it to their block, the less time they can spend calculating the proof of work - thereby giving their competition (other miners) the edge. The miners would naturally (based on game theory) find a nash equilibrium between collecting as many tx. as possible and finding enough time to calculate the proof of work in order to give them the maximum profitability. Thus, we can assume, that without a blocksize limit (infinite), the block size would stay relatively the same.

This is why an infinite block size limit is not an issue. I honestly cannot understand why he added the 1 MB limit.
Can someone please, please explain? I have been pondering this for over a month now. Thanks.

There are three possible answers:

1) Satoshi didn't completely understand the implications of his random choice, which seemed reasonable at the time to him.  

2) Satoshi knew very well what he was doing, was an evil mind, and he was lying through his teeth all the time, to trick us into his nonsense.

3) Satoshi was a true god and genius, and even though we think he might have made a mistake, he was absolutely right in everything he ever did and we are simply too dumb to see it.

There have been a lot of discussions over that issue, and people warned Satoshi that his random decision was recipe to disaster.

The truth is maybe in the 3 things at once.  It is obvious that the spam limit is a joke.  In fact, it makes spam worse.  The excuse was that if a fool mined a single block of 10 GB full of nonsense, the blockchain would be spammed to an incredible size in no time.  That was clearly wrong, because in order for that block to be incorporated into the chain, other miners would have to agree with it.  There's no reason why honest miners would mine on top of a crazy block.  In other words, implicitly, there would be a gross maximum size set by miners and that would grow dynamically.

By putting a hard limit on block size, you actually increase drastically the effect of spam, as we saw.  Once the block is full of spam, transactions are hindered.  This is an efficient DDOS of bitcoin.  If the blocks are elastic, you can spam a lot, that will increase the size to some point, but transactions can go through unhampered, and you'd have to spam like crazy in order to have an efficient DDOS.  Hard limits make DDOSsing of bitcoin in fact much easier.

Satoshi was clearly in favour of very large blocks if useful, and he explains that in the beginning, where he tells us that most normal users shouldn't run a full node, "left to specialists with farms of specialized hardware".  That was in November 2008.

People explained him that putting a hard limit in the protocol would require a hard fork at a point, which might be problematic.  He wavered that away: just changing a constant in the code.

Maybe Satoshi did put a "time bomb" in his bitcoin system because he considered it an experiment from which we have to learn, and it should self-destroy at a certain point in order for us to make a new system with better properties.  Maybe Satoshi wanted to put in a trap, so that only if his heirs were smart enough to have good governance, and if they cannot even change a simple parameter, then it is better that this system dies.  Maybe Satoshi wanted to develop a whole crypto market, and needed to put something nasty in bitcoin, in order to make it lose its first mover advantage and open up the market.

Maybe Satoshi was designing a reserve currency for big, dark, deep state players, and only needed Joe Sixpack to ramp it up, but needed him to be pushed out of bitcoin once the system was up and running, to leave it to the big boys.  Claiming it to be a currency of the people, but at the same time, making its use too expensive for the people, and only allow the big boys on it, was maybe his hidden plan.

But I think that Satoshi simply made a mistake.  He made many.  Bitcoin is quite ill designed.  That doesn't take away the fact that he was a bright mind.  We have hindsight he didn't have.  But he was wrong on this one, as he was wrong on many choices.


Wow! This response gave me lot of possible scenarios which I didn't think of! Thanks for the great insight/thoughts @dinofelis

Among all the possible scenarios listed, my personal favorite is:

Quote
Maybe Satoshi did put a "time bomb" in his bitcoin system because he considered it an experiment from which we have to learn, and it should self-destroy at a certain point in order for us to make a new system with better properties.  Maybe Satoshi wanted to put in a trap, so that only if his heirs were smart enough to have good governance, and if they cannot even change a simple parameter, then it is better that this system dies.  Maybe Satoshi wanted to develop a whole crypto market, and needed to put something nasty in bitcoin, in order to make it lose its first mover advantage and open up the market.
Pages:
Jump to: