日本人の判官びいきの源流、義経と弁慶をソフトフォークが殺す・・・。
妙な書き出しで始まりましたが、Ethereumのフォークについての話です。
最近はハードフォークが当たり前で、以前の大騒ぎは何だったのかという感じです。つい1年前までは、ハードフォークさせるなんて非国民、いや非ブロックチェーン民のような雰囲気が、日本国内ではありました。何故なら、非中央集権とはなんだったのか的な思想的な理由。
日本国内というのがミソで、海外の専門家はそう考える人ばかりではなさそうなんですよ。Ethereum開発者のVitalik Buterinも、ハードフォーク支持者です。今年の3月に、次のようなブログエントリを上げています。
この中でVitalikは、ソフトフォークが正義という考え方が誤解に基づいていると説いています。上の段落から順に解説してみます。今回は、最初の<hr>タグまで。
まず、ソフトフォークとハードフォークが端的にどういうことをするのか、分かりやすい言葉で説明があります。
- ソフトフォーク
- valid とみなす transaction を減らすやり方。アップグレードなしでも、チェーン上にい続けることができる
- ハードフォーク
- フォーク 前まで invalid だった トランザクション も valid とするかもしれないので、ユーザーは フォークしたチェーンの上にいたければ、クライアントアップグレードが必要。
ということです。とても分かりやすいと思います。そして、ハードフォークにも2種類あるということです。
- Strictly Expanded Hard Fork
- validとみなされるトランザクションを拡張するハードフォーク。フォーク前のルールは、フォーク後のルールのソフトフォークにあたる
- Bilateral Hard Fork
- 互換性のない2つのルールに分岐するハードフォーク
THE DAO事件の例でいえば、次のようになるかと思います。
- ソフトフォーク
- アタッカーのアドレス対象のトランザクションが、validではなくなる。現実には採用されなかった
- ハードフォーク
- 実際にBilateral Hard Forkとして採用された。ETH/ETCとして2つのルールに分裂した
次に、ハードフォーク・ソフトフォークそれぞれの利点といわれるものが列挙されます。
- ハードフォーク
-
- 開発者が互換性の憂いなく存分に振るえる
- ソフトフォーク
-
- ユーザーに優しい。だってアップグレードが必要ないから
- チェーンの分裂を起こしにくいから優れてる
- miner と validator の同意さえ得れば済む。ハードフォークはユーザーのオプトインが必要。
と、ソフトフォークの利点ばかりが取り上げられがちなのに加えて、ハードフォーク支持者は”乗っ取りを企てている”と批判されたりすると、Vitalikはいいます。あるいは、チェーンの分岐を招くから悪いことだといわれると。確かにビットコインゴールドなど、乗っ取りしたかったかのようなハードフォークは存在します。しかし、それは絶対に防ぐべきことなのでしょうか?リアルワールドでは、善悪は白黒簡単にスイッチのように決められているでしょうか?
なんだか悪いようなことをする人たちにも人権はあるんではないだろうか?その「悪」の行為も、もしかして思わぬ副産物を生んだりするんではないだろうかという視点はいりませんか。政治とか社会って、そんなに単純に正義が決まるもんではない。そもそも、OSSにも息づくハッカー精神てのは、そういう態度のはずだったのでは???善とか悪の背後にある仕組みをハックして明らかにし、改造してしまえ!って態度だったはず。
私は、ブロックチェーンやスマートコントラクトでカッチリした契約社会になるのが、嫌なんですよ。そういう社会になると・・・
弁慶が勧進帳を偽造して義経を逃がせない、血も涙も物語性もない社会ということになるから
てめえらの血は何色だ!判官びいきの精神はどこへ行った!w
続く。