ビットコインは革新的。
これは本当にそう思います。
ただ、だからといって、BTCがホンモノのブロックチェーンで、その他アルトは全てマガイモノと言ってしまうのは、あまりにも勿体ないというか、イノベーションの否定になると思っています。
実際、ビットコイン(というよりサトシ論文)は多くの開発者に大いなるインスピレーションを与えたに違いありません。
中には詐欺プロジェクトが紛れ込んでいることは否定しませんが、黎明期にはありがちな話かと。
さて、ここから本題です。
例えば、誰だって東大に入れるし、宇宙飛行士にだって、メジャーリーガーにだってなれます。努力すれば、オリンピックにも出場できます。
世の中(基本的に)パーミッションレスですからね。
頑張れば、誰にだってチャンスはあるはずです。
誰よりも早く走りさえすれば、オリンピックの金メダリストだし、
誰よりも早くnonceを見つければ、マイニング報酬をゲットできます!
だれの許可もいりません。
ただこれは、誰でも参加できる大会であっても、ウサイン・ボルトが出場すれば、毎回優勝しちゃうよっていう話ですね。
そう考えると、パーミッションレスを誰でも参加できるという定義にするのは少し問題ありそうです。たとえ参加できても、そこで何の影響力も持てなかったり、結果を得られないようでは意味がありません。
ということは、誰でも合格できるということでしょうか。
これはもっと問題がありそうですね。
正しい努力すれば...という前提を省いちゃうとカオスになってしまいます。
そうすると、参加者→勝者への判定基準の問題でしょうか。
勝者の判定に主観の入り込む余地をなくすことが重要なのかもしれません。絶対的な指標を利用すれば、非常に公平で分かりやすい判定が可能でしょう。
ただし、これは客観性の話であって、分散性の話ではありません。
なので、参加者の多さをもって分散度を測るのは一面的といえます。
(冗長性の文脈では5ノードもあれば十分に分散されてるといえます)
PoWを否定したいわけじゃありませんが、
強いものが勝つというLongestチェーンルールは、常にセルフィッシュマイニングの可能性を否定できないわけだし、今は分散し安定しているかもしれないBTCもマイニングの状況が変わればどうなるか分かりません。
現BTCで考えると、ハッシュパワーを十分に集めているので、非可逆性は信用できるとは思いますが、セルフィッシュマイニングはプロトコル的には不正行為とはいえず、事前に検知することがほぼ不可能です。
なお、BSVのようなビックブロックなチェーンを運用できるのは限られたノードしか無理という話がありますが、強いものが勝つ世界なんだから潔いし、なにより実用性を重視している姿勢が好きです。
ブロックチェーン以前からある分散システムの文脈では、ブロック生成・提案と承認は全く別のプロセスです。(承認とはネットワークの他ノードがそのブロックを受け入れること)
Longestチェーンルールは、最も強いものに従えという俺様ルールなので、提案=承認です。ジャイアンが俺のモノといえば、相手の許可は必要ありません。
ただし、もっと強いものが現れる可能性が0ではないという点で、確率的ファイナリティ(常に暫定状態)しか得られません。
現状のLiskは、ビットコインと同様、承認というプロセスはないのでファイナリティはありませんが、ネットワークに参加している全ノードの半数(ランダム抽出)の同意を得ていないブロックは廃棄されるというメカニズムがあって、
Longestチェーンルールのように強いものに従うわけではないので、デリゲートの半数を支配したからと言って、いわゆる51%攻撃ができるわけではありません。
またデリゲートは確定的に決定するので、隠れてセルフィッシュマイニングみたいなこともできません。
これに対して、既存の分散システムの影響を受けているCosmos(Tendermint)だと、バリデータ(ブロック生成権限を持つノード)の2/3の承認が得られないと、提案したブロックはネットワークに受け入れられません。逆に承認が得られたブロックが覆ることはありません。
Liskももうすぐ同様の仕組みに変更されます。
ただし、Tendermintはfork-free、Liskはfork-fullという違いがあります。
これはブロック提案と承認の同期性の違いで、Liskの場合はブロック承認を待たずに次のブロックが提案されていくという仕組みになっています。(そういう意味では、LiskはSubstrateに近いといえます。)
ビットコインがこの承認プロセスを省いたのは画期的だったと思います。
承認という作業には主観の入り込む余地がありますからね。どうやって承認者を選出するかという手間や判断基準も必要になりますし。
このあたりは陸上競技と体操競技の違いに近いかなーと思いますが、あくまで好みの問題でしょう。アプリケーションによっては、ファイナリティは非常に重要な要素になります。
少し話を戻します。
パーミッションレスとはいったい何なんでしょう?日本語だと「許可不要」かな...
何をするのに許可が要らないのか?
逆に、何をするのに許可が必要ならパーミッションドになるのでしょう?
・開発コミット
・ノード参加
・データ閲覧
・トランザクション発行
・コントラクト実行
・ブロック生成
・バリデータ(デリゲート)選出
・ブロック監査
他にもあるかもしれませんが、この際、何か一つでも欠けるようならパーミッションドということにしましょう。
それはブロックチェーンではないので、ブロックチェーンを名乗るな!と言う人もいるかもしれませんが、それは言葉の問題なので、名称を変えても全然構いません。
では、そのパーミッションドなシステムに価値はないでしょうか?
ビットコインのようないわゆるパブリックチェーンでも
国連加盟国でつなぐ超国家的コンソーシアムでも
日本国民しか利用できない都道府県コンソーシアムでも
町内会をつなぐミニマムコンソーシアムでも
ブロックチェーン的なアーキテクチャは基本的に同じです。
だからこそ圧倒的なノード数やハッシュパワーを誇るビットコインは凄いともいえるけど、とはいえ単体のアプリケーションとして考えたときに使い勝手に疑問が残るようでは一般化は難しいし、ビジネス利用としての発展も考えにくい。
個人的な考えですが、
「ブロックチェーン」とは「コミュニティ」だと思っています。
ビットコインは超国家的なコミュニティかもしれませんが、パブリックといっても所詮地球規模です。宇宙人が現れると、プライベートチェーンじゃんと笑われるかもしれません。
要するに、内と外の境界線をどのように引くのかという視点でしかない。
話がズレてしまいました…
パーミッションドなシステムなんて不要で、今後も必要とされないのか...ですね。
僕はそうは思いません。これからの社会はもっとコミュニティという単位が重要視さえていくと考えています。もちろん複数のコミュニティに属することになるでしょうし、その中でビジネスも行われていくと思います。
だからこそ、javascriptという汎用性の高い言語を用いて、簡単に利用/カスタイマイズ可能なLiskを応援しています。
Liskの開発がどんどん進んでいけば、ブロックチェーンという枠組みに囚われることなく、自由にアプリケーションを設計できるようになるはずです!
てことで、ブロックチェーンをもっと普及させるためにも、色んな切り口があってもいいんじゃないかと思うのです。潰しあうんじゃなくて…
ビットコインは変革のチャンスをくれましたが、これはきっかけにすぎません。何より、ブロックチェーンを投機家のオモチャで終わらせるわけにはいきません。(投機の否定ではありません。)
さいごに、僕はBTCよりのBCHが好きです。それよりもBSVのがもっと好きです!
しかもスキャム代表のLiskが最も好きなわけですから、完全にスキャマーです(笑)
(内容に間違いがあるかもしれませんが、あくまで現時点での私個人の意見です)
※ 続編を書きました。https://alis.to/kplusq/articles/anL91Xdk7VQ0