Bitcoin Forum
December 15, 2024, 07:06:58 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Block 0 Network Fork  (Read 4125 times)
stevep (OP)
Jr. Member
*
Offline Offline

Activity: 30
Merit: 4



View Profile
October 21, 2012, 07:04:41 PM
 #1

In This post

https://bitcointalk.org/index.php?topic=119530.msg1286692#msg1286692

Its mentioned that the output of block 0 can't be spent as this would allow Satoshi to fork the network.

Can someone clarify what this means.
I don't understand how being able to spend an output can lead to a fork.

Thanks,

Steve.
BR0KK
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500



View Profile
October 21, 2012, 07:22:42 PM
 #2

Read further ... They explain it in the following post!

stevep (OP)
Jr. Member
*
Offline Offline

Activity: 30
Merit: 4



View Profile
October 21, 2012, 07:41:01 PM
 #3

I don't see any clarification of how a fork would occur.

I only see descriptions of how the coins from block 0 are unspendable.

Quote
The reason why the genesis block mining reward transaction can not be spent is because the reference bitcoin client doesn't add it to the list of known transactions at startup.

In fact it seems the unspendability of block 0 is a quirk of the implementation of the reference client.

Quote
The fact that the genesis block transaction itself is unspendable is irrelevant, and only an artifact of it not going into every nodes pool of known transactions.

Can you provide a link to the post that describes how Satoshi could create a fork if he were to spend the coins in block 0.

Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
October 21, 2012, 09:49:20 PM
Last edit: October 22, 2012, 04:20:17 PM by Stephen Gornick
 #4

Can you provide a link to the post that describes how Satoshi could create a fork if he were to spend the coins in block 0.

All that was saying is that if there were a release of the client where that bug was fixed, then the first transaction that spends from block 0 would be accepted by some nodes (those running the latest software with that fix) and it would be rejected by others (those that hadn't obtained the update).

Thus the blockchain will split, with some mining capacity happily carrying on with the the fork that includes the "block 0 spend transactions", while others are mining a different longest chain which has no "block 0 spend transactions".  Which of the two ends up winning depends on if enough exchanges, merchants and individuals will accept the coins the miners earned from mining on the fork.  If not, miners finding that their coins are worthless abandon the new fork (and the coins they thought they earned) and stick with the version of the client from before the change was made.

Thus that is a hard-fork feature.  

These hard-fork features aren't impossible to roll out, just that they require an economic majority to accept them otherwise you can end up with a forked blockchain.  To avoid this, the Bitcoin.org developers generally don't propose any hard-fork changes unless there is a damned good reason to do so (and a near certainty that the economic majority will accept the change).  So that Satoshi can spend his 50 BTC (plus whatever else has been sent to that address since [Edited: Thanks Foxpup]) is not a good enough reason to implement a hard fork.  And "fixing" it will potentially introduce the risk of this fork occurring, so it won't be fixed for now and this behavior is essentially now part of the protocol.

It isn't even something on the "wishlist":
 - http://en.bitcoin.it/wiki/Hardfork_Wishlist


Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


Foxpup
Legendary
*
Offline Offline

Activity: 4548
Merit: 3445


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
October 21, 2012, 10:37:16 PM
 #5

So that Satoshi can spend his 50 BTC (plus whatever else has been sent to that address since) is not a good enough reason to implement a hard fork.
Slight correction: Satoshi can spend all the coins that have since been sent to that address (assuming he still has the private key, that is). Only the original BTC50 is unspendable. The rest are all perfectly valid and spendable transaction outputs.

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
stevep (OP)
Jr. Member
*
Offline Offline

Activity: 30
Merit: 4



View Profile
October 22, 2012, 06:15:39 AM
 #6

Thanks for the answers.

I updated the protocol specification on the bitcoin wiki to note that block 0 cannot be spent.

https://en.bitcoin.it/wiki/Protocol_specification#Transaction_Verification

I wasn't aware of this and it is quite counter-intuitive it could easily sneak into other bitcoin implementations and open the possibility for a block chain fork.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!