◉ Block Size
Pada awalnya limit dari ukuran Block adalah 1.000.000 bytes (1MB)
/** The maximum allowed size for a serialized block, in bytes (network rule) */
static const unsigned int MAX_BLOCK_SIZE = 1000000;
Sebagai informasi tambahan, pada awalnya ukuran maksimal block bukan 1MB. Hal tersebut ditambahkan oleh Satoshi pada pertengahan 2010,
https://github.com/bitcoin/bitcoin/commit/a30b56eb.
Saya baca di sini:
https://en.bitcoin.it/wiki/Scalability_FAQ, awalnya dirilis dengan dynamic block:
Bitcoin was initially released with a dynamic block "change" limit equivalent to approximately 500kB worth of normal transactions; there was a "hard" size limit of 32 MiB, but it was effectively impractical to hit unless one crafted a spam block.
Beberapa referensi terkait history dari block size:
2009 — April (email satoshi kepada Mike Hearn):
https://bitcointalk.org/index.php?topic=149668.msg1596879#msg15968792010 diskusi mengenai pemberlakuan ukuran blok default 1MB:
https://bitcointalk.org/index.php?topic=946236.msg10388435#msg10388435
-snip-In fact, in the
very first email he sent me back in April 2009, he said this:
Hi Mike,
I'm glad to answer any questions you have. If I get time, I ought to write a FAQ to supplement the paper.
There is only one global chain.
The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling. If you're interested, I can go over the ways it would cope with extreme size.
By Moore's Law, we can expect hardware speed to be 10 times faster in 5 years and 100 times faster in 10. Even if Bitcoin grows at crazy adoption rates, I think computer speeds will stay ahead of the number of transactions.
I don't anticipate that fees will be needed anytime soon, but if it becomes too burdensome to run a node, it is possible to run a node that only processes transactions that include a transaction fee. The owner of the node would decide the minimum fee they'll accept. Right now, such a node would get nothing, because nobody includes a fee, but if enough nodes did that, then users would get faster acceptance if they include a fee, or slower if they don't. The fee the market would settle on should be minimal. If a node requires a higher fee, that node would be passing up all transactions with lower fees. It could do more volume and probably make more money by processing as many paying transactions as it can. The transition is not controlled by some human in charge of the system though, just individuals reacting on their own to market forces.
Eventually, most nodes may be run by specialists with multiple GPU cards. For now, it's nice that anyone with a PC can play without worrying about what video card they have, and hopefully it'll stay that way for a while. More computers are shipping with fairly decent GPUs these days, so maybe later we'll transition to that.
Satoshi said back in 2010 that he intended larger block sizes to be phased in with some simple if (height > flag_day) type logic, theymos has linked to the thread before.
-snip- For what it's worth:
I'm the guy who went over the blockchain stuff in Satoshi's first cut of the bitcoin code. Satoshi didn't have a 1MB limit in it. The limit was originally Hal Finney's idea. Both Satoshi and I objected that it wouldn't scale at 1MB. Hal was concerned about a potential DoS attack though, and after discussion, Satoshi agreed. The 1MB limit was there by the time Bitcoin launched. But all 3 of us agreed that 1MB had to be temporary because it would never scale.
-snip-