some question
This overflow incident happen by accident from bug of code bitcoin core or happen by human do this (hacker) or other way do by some wrong script/app wallet sent data to wrong?
Thanks
The original threads containing the discussion when the problem was first noticed are here:
Bitcoin Discussion subforum
https://bitcointalk.org/index.php?topic=822.0Developer & Technical Discussion subforum
https://bitcointalk.org/index.php?topic=823.0It seems that someone noticed a bug in the code and took advantage of that bug to intentionally create the "overflow" transaction. (It would be nearly impossible for someone to have "accidentally" created such a transaction, but they didn't "hack" anything.)
Then by 8:08:49 UTC users started to notice this transaction and commented about it in the
Bitcoin Discussion subforum.
About an hour later at 9:04:11 UTC a developer reported in the
Developer & Technical Discussion subforum the bug that allowed the transaction to happen.
All miners were quickly asked via forum posts and email lists to stop mining until a code fix was available so that the portion of the chain that would need to be replaced would be as short as possible. Many miners complied since they realized that any rewards they earned after the incident and before the fix would vanish and be useless once the fix was available. This slowed down the creation of new blocks extending this bad chain.
At 10:39:42 UTC, about an hour-and-a-half after the report in the
Developer & Technical Discussion subforum, Gavin Andresen posted to the discussion thread a temporary code fix that anyone could apply to their own copies of the code and compile a fixed Bitcoin Core to use for mining and/or block verification.
20 minutes after that (10:59:099 UTC) Satoshi posted to the discussion thread the fix that he intended to merge into the master branch of the source code, which again anyone could apply to their own copies of the code and compile a fixed Bitcoin Core to use for mining and/or block verification.
40 minutes after that at 11:40:19 UTC Satoshi had merged the bug fix into the master branch of the source code for anyone to download and run. Everyone was encouraged to use this new code and to either re-sync their entire blockchain from the beginning or, if they had the technical expertise to safely do so, just rewind their blockchain to a block earlier than the overflow and re-sync from there.
About an hour later (12:58:08 UTC) Satoshi released pre-compiled binaries (.exe files) for Windows for those users that didn't have the technical knowledge to rebuild their node from the official source code.
By 16:16:10 UTC (about 3 hours after the release of the pre-compiled binaries) Satoshi was convinced that the chain being built by the fixed code had more hash power than the chain still being extended by those that hadn't gotten around to updating their code yet. The fixed chain was growing faster and it became clear that it would eventually overtake the bad chain
10 hours later at 2:59:38 UTC the next morning Satoshi announced that the fixed chain had grown longer than the one with the overflow. At this point even those nodes that had NOT upgraded to the fixed code would see the longer chain and switch over to it, abandoning the chain with the issue. All nodes would now be building on the new chain regardless. As such, it was no longer necessary for anyone to re-sync their blockchain since it would happen automatically through the normal proof-of-work re-org process. The block with the overflow transaction was at height 74638, and the chain without it overtook that chain at approximately height 74689, meaning that the fork lasted a total of 51 blocks before everything re-organized onto the new chain.
From first notice to completely fixed with a larger proof-of-work chain, it was a total of 18 hours 51 minutes.