バージョン更新の方法について気になっていたのでぐぐってみた
http://bitcoin.stackexchange.com/questions/3945/how-could-the-bitcoin-protocol-be-changed-has-this-ever-occurred

よくまとまったドキュメントは見つからなかったけど、
1. 特定のブロック以降で新しい仕様が有効になるようにコーディングする。
2. QTクライアントや monacoind をリリース
3. version message でバージョンアップを通知
4. 指定したブロックが掘られるまでに大多数のノードが置き換わっていればおk
みたいな感じかな。

1 のところにプロトコルバージョンチェックの追加も必要な気もする。