Bitcoin Forum
July 28, 2017, 04:59:44 PM *
News: BIP91 seems stable: there's probably only slightly increased risk of confirmations disappearing. You should still prepare for Aug 1.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Block 0 Network Fork  (Read 3792 times)
stevep
Jr. Member
*
Offline Offline

Activity: 30



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.
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
1501261184
Hero Member
*
Offline Offline

Posts: 1501261184

View Profile Personal Message (Offline)

Ignore
1501261184
Reply with quote  #2

1501261184
Report to moderator
BR0KK
Hero Member
*****
Offline Offline

Activity: 742



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

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

stevep
Jr. Member
*
Offline Offline

Activity: 30



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: 2226



View Profile
October 21, 2012, 09:49:20 PM
 #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


Foxpup
Legendary
*
Offline Offline

Activity: 1918



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 unverifiable things (while actually eating an enchilada-style burrito) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
stevep
Jr. Member
*
Offline Offline

Activity: 30



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:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!