The Meaning of Decentralization
https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274
Decentralizationは界隈でもっとも多用される言葉のひとつ
ブロックチェーンの存在理由とすら語られる
が、もっとも定義が曖昧な言葉のひとつ
大量の時間とお金がDecentralizationの実現のために費やされた
そして議論の際にライバルを蹴落とすために「それは中央集権だ」と語られる
しかしこの言葉が真に意味することが何か。そこには混乱がある
たとえば全然役に立たない割に非常に有名なこのダイアグラム
https://gyazo.com/4fca2da72035e0d75652ac1951e4b2f5
こことここじゃ同じことを語っているのにDecentralizedとDistributedで言っていることが入れ替わっちゃってるよね
あきらかに明確化が必要だ
3種類のDecentralization
Decentralizationについて語られる時、そこには3種類の軸がある
まれに分かりづらいときもあるが、それらはたいてい明確に区別できる
すなわち以下の3種類
アーキテクチャの(de)centralization
何台のコンピュータで構成されているか?
そのうち何台が同時に故障してもシステムが動き続けるか?
政治の(de)centralization
いくつの組織や個人がシステムを構成するコンピュータの決定権を持つか?
ロジックの(de)centralization
インターフェースとデータ構造がモノリシックなオブジェクトに見えるか、それとも不定形のノードの群れに見えるか
システム提供者とユーザ両方を含めてシステムを半分に分割したとして、その2つはどちらも独立したユニットとして完全に機能するか?
この3種類を図で示す
https://gyazo.com/157c044a4664c078d95e9b3861e8d081
従来の企業は政治的にcentralization(1人のCEO), アーキテクチャ的にcentralization(1つの本社), ロジック的にcentralization(それらを分割できない)
国内法は法を司る主体が存在する。対してcommon-lawは多くの独立した裁判官の判例から作られる。
国内法は多くの裁判所があり、それぞれ大きな裁量を持つという意味で一定のアーキテクチャ的なcentralizationを持つ
とはいえcommon-lawはよりその傾向が強い
どちらもロジック的にはcentralized
the law is the law
言語はロジック的にdecentralized
英語は、アリスとボブの間で話される。チャーリーとデビッドの間でも話される。何の合意も不要
言語には何のcentralizedなインフラは不要
英語のルールは誰か一人が作っているわけではない
対して、エスペラント語は最初はLudwig Zamenhofによって作られた
現在は普通の言語のように改善される存在
BitTorrentはロジック的には英語と同じようにdecentralized
CDNもそうである。しかしこちらは1つの企業が管理している
ブロックチェーンは政治的にdecentralized(誰もコントロールできない)、アーキテクチャ的にdecentralized(1箇所が停止すると全体が停止する、というポイントが無い)、しかしロジック的にはcentralized(そこには全体で合意された一つのステートがあり、一つのコンピュータのように振る舞う)
多くの場合、"一つのデータベース"を持つことがブロックチェーンの利点だと語られる
これはロジック的なcentralization
多くの場合、間違いなく良い特性だ
しかしIPFSのJuan Benetはロジック的なdecentralizationを養護している
たしかに、ネットワークの接続性が悪い地域などでは部分的に生き残れることは価値を発揮する
アーキテクチャのcentralizationは必ずそうとも限らないが、しばしば政治的なcentralizationを伴う
正式な民主主義では政治家は議場に集い、投票する
この議場の管理者は最終的な意志決定をできるだけのパワーを持たない
ロジックのcentralizationはアーキテクチャのdecentralizationを難しくする
しかし不可能ではない
すでに非中央集権の合意形成ネットワークが稼働している
が、それはBitTorrentをメンテナンスするよりも難しいことだ
ロジックのcentralizationは政治的decentralizationを難しくする
ただ「譲り合う」だけでは利害の対立を解決できない
Decentralizationが有用な3つの理由
そもそも、なぜdecentralizationが有用か? 一般的にいくつかの主張がなされる
フォールトトレラント:decentralizedなシステムは多くの異なる構成要素によって構成されているため、アクシデントによりシステムが脅かされる可能性が低い
攻撃耐性:decentralizedなシステムは攻撃や破壊、操作によりコストがかかる。システムを取り巻く経済圏よりも小さい金額で攻撃できる脆弱なシステムの中央を持たないため
談合耐性:decentralizedなシステムの参加者が共謀して、他の参加者を犠牲にして自分たちの利益となる行動をするのは難しい。対して、企業のリーダーや政府は共謀して、そうではない市民、顧客、従業員や社会を犠牲にして彼らの利益となる行動がとれる
この3つの主張はそれぞれ重要だし妥当だ
しかしこの異なる3つの観点を軸にプロトコルに関する意思決定を思考し始めたとき、興味深いことにそれぞれ異なる結論に至ることとなる
フォールトトレラントに関する主張はシンプルだ
1つのコンピュータが落ちる、あるいは10台中の5台が同時に落ちる可能性は低いか?
この観点は議論の余地が無く、かつ実際、すでにいろいろな箇所で使用されている
ジェットエンジン、非常用電源、病院、軍事、投資のポートフォリオ多様化、そしてコンピュータ・ネットワーク
しかし数学的に予測するよりも効果は低いことがわかっている。common mode failureが原因で
もちろん4つのジェットエンジンは1つよりも安全だ
しかしその4つが同じ工場で作られていたら?
故障の原因が一人のトンチキな従業員によりもたらされていたとしたら?
今日のブロックチェーンはcommon mode failureに対して守られているか? 必ずしもそうではない
全てのノードが同じクライアントソフトウェアで稼働しており、そこにバグが混入したら?
全てのノードが同じクライアントソフトウェアで稼働しており、そのクライアントの開発チームが悪意を持ったら?
プロトコルの更新に提案を行うリサーチチームが悪意を持ったら?
PoWのブロックチェーンで70%の(ハッシュパワーを持つ)マイナーが同じ国家にいて、その政府が国家のセキュリティを理由に全てのマイニングファームを掌握したら?
大多数のマイニングハードウェアが1つの会社で作られており、その会社が賄賂を受け取ったり強制されたりして、意のままにハードウェアをシャットダウンできるバックドアが実装されたら?
PoSのブロックチェーンで70%のコインが1つの取引所が保持したら?
フォールトトレラントのdecentralizationはこれらすべての側面を見て、それらを最小限に抑える方法を思考すべき
複数の競合となる実装を持つのは極めて重要(geth,parity,...)
プロトコルの更新に関する技術的な考察・研究は民主化が必須
なので皆さん気軽に議論に参加し、明らかにイケてないプロトコルの更新を批判してください
コアの開発者とリサーチャーは複数の企業や組織に雇用されているべき
あるいはその多くがボランティアでも
マイニング機器はcentralizationのリスクを最小限に抑えるべき
理想的には、ハードウェアのcentralizationリスクを完全に除却するためにPoSを使うべき
しかしその場合、PoSの新しいリスクに注意すべき
単純なフォールトトレランスの要件は、アーキテクチャのdecentralizationにフォーカスしている
しかし開発中のプロトコルのコミュニティに関するガバナンスを考えるとき、政治のdecentralizationもまた重要
攻撃耐性について思考する
純粋な経済モデルに置いて、decentralizationが不要な場合もある
もし51%攻撃(ファイナリティが覆されるなど)が発生した場合にバリデータが5000万ドルを失うことが保証されたプロトコルを作成した場合、バリデータが1社で管理されているか100社で管理されているかは問題ではない。5000万ドルまでは経済的な安全が担保されていると言える
事実、そこにはなぜcentralizationが経済的なセキュリティを最大化するのかの経済的合理性に関するゲーム理論による裏付けがある
既存のブロックチェーンはこの洞察を反映している。
トランザクションをブロックに取り込める中央集権者としてのマイナーは非常に頻繁に入れ替わる
しかしより大規模な経済モデルや、特に何らかの強制が作用する可能性のあるモデル(ノードに対するDoS攻撃の可能性があるモデルを含む)を採用した場合、decentralizationはより重要になる
もし一人の人間が殺されてシステムが脅かされる場合、5000万ドルは何の意味も持たない
しかし5000万ドルが10人の人間に分散していれば、10倍の攻撃を同時に行う必要が生じる
一般的に、今日の世界ではアタッカーとそれを防ぐものの間にアタッカーに有利な非対称性が存在している
建てるのに1000万ドルかかるビルは、10万ドルで破壊できる
しかしアタッカーのレバレッジはしばしば準線形だ
ビルを建てるのに1000万ドルでそれを破壊するのに10万ドルかかる場合、100万ドルのビルを壊すコストは現実的に考えて3万ドルはかかる、というように。
小規模であることは防ぐのに有利となる
これが何を意味するか? 何より、PoWよりPoSが好ましいことだ
コンピュータのハードウェアは簡単に見つかり、管理が容易で、コインを攻撃から隠すことも簡単だ
PoSの攻撃耐性は別の理由でも高い
次に、世界中に地理的な意味を含めた広く分散した開発チームがいる方が好ましい
そして、コンセンサス・プロトコルの設計には経済モデルとフォールトトレラントモデルの両方の観点が必要であることを暗示している
談合耐性
もっとも込み入った議題
まず定義が難しい
真に正しい定義を行うならシンプルにこうなる
談合とは「我々が好きじゃないやり方」
全員に対して理想的であるだろう完璧なcordinationが行われたたとしても、そこには現実的に様々な状況が起こり得る
一部の人々が調整できて、その他の人はできないのは危険だ
一つの良い例が独占禁止法だ
市場で特定の参加者が独占者となり市場と公共の福祉を害することを防ぐため、規制を慎重に検討する
小さな例としてはチェスのトーナメント
2人のプレイヤーが多くの対戦を行い特定のプレイヤーのスコアを上げることを防いでいる
どこであっても望まない状態を防ごうとする知的な機関は存在する
ブロックチェーンにおいては、コンセンサスの数学的な背景・経済合理性の背景にはしばしば未調整の選択モデル、またはゲームが独立して意思決定を行う小さなactorから構成されるという仮定に大きく依存する
もし特定のactorが1/3のマイニングパワーをPoWにおいて獲得した場合、selfish-miningによって通常より多くの利益を得ることができる
しかし、もしBitcoinのマイニングパワーの90%が同じカンファレンスに出席できるようcordinationされているとしたら、未調整の選択モデルは現実的と言えるだろうか?
ブロックチェーンの擁護者たちは、ブロックチェーンは彼らがいつでも気まぐれに彼らの望むルールの変更を行えないため、依拠するのがより安全だと主張する
しかしそのソフトウェア、プロトコルが1つの企業で開発され、ある意味ひとつの家族であり、同じ部屋に座っていればそれは無理な話だ
そのようなシステムは利己的な独裁者のように振る舞うべきではない、ということが肝心なことだ
なので、それらがよりdiscordinatedである場合にブロックチェーンがよりセキュアである根拠となる
しかし、これは根本的なパラドックスを示唆する
Ethereumを含む多くのコミュニティは、強い哲学を持ちDOS攻撃を修正するためのハードフォークの実装、リリース、アクティブ化を迅速に調整できると高く評価されている
どのように良いcordinationを育むことができるか?
同時に、どのように51%攻撃を繰り返すことにより他人を出し抜こうとする悪いcordinationを防ぐことができるか?
3つの回答を用意した:
望まないcoordinationを軽減することに頭を悩まさず、それを防ぐプロトコルを実装する
これはCasperのデザイン哲学の大部分を構成する
しかしこれだけでは不充分。economicsだけではdecentralizationの他の2つの心配事に対処できないからだ
攻撃を防ぎ、プロトコルを進化させ前へ進ませるだけの充分なcoordinationを実現する幸せな方法を探す
これは明確に管理するのは不可能だ。
特に長期的に見た場合
しかし時として思わぬ形で実現する
たとえば、Bitcoinのコア・デベロッパは一般的に英語の話者だ。
しかしマイナーは一般的に中国語を話す
これはある種の”二院制”が構築された幸運なアクシデントに見える
cordinationをより難しくし、副次的な効果としてcommon mode failureのリスクを下げる
英語のコミュニティと中国語のコミュニティは少なくとも地理や言語の壁やある程度は隔てられている
したがって、両方が同じミスを犯す可能性は低い
価値のあるcoordinationと有害なcoordinationを区別し、前者の実現を容易に、後者の実現を困難にする
これはもっともソーシャルな側面で挑戦的だ。解決法は以下を含むだろう
TODO:
市場の異なるサイドにいる人達同士の、同じコンテキストでのコミュニケーションを促進させる
バリデータ、開発者、マイナーが、自分たちの興味を他よりも優先して考慮すべき"クラス"としてみなし始めないように
バリデータ/マイナーが1対1の"特別な関係"になるのを防ぐようプロトコルをデザインする
中央集権の関係性やその他プロトコルを超えたメカニズムを除却
プロトコルが持つべき根本的な性質を明らかにする
なにをすべきではないか、も
あるいは、少なくとも緊急事態でなければ実行しないべきことも
この三番目ののDecentralization、望まれないcordinationの回避(談合耐性)としてのDecentralizationはしたがって、おそらく実現が最も難しいものだろう。トレードオフは回避不可能だ。
たぶん最高のソリューションは、公正に非中央集権化されていることが保証された1つのグループに強く依存するのが良いのだろう
プロトコルのユーザに
related
https://jp.cointelegraph.com/news/6-myths-about-ethereum-decentralization