自律分散型アプリケーション(Dapps)が上手く機能しない理由

2021/05/26 09:07

Ingrid
物理学と天文学の修士号を持つプログラマー
この記事は、著者の許可を得て配信しています。
Why Decentralised Applications Don’t Work

まとめ:利益目的のずれ

このことは以前から気になっていたのですが、最近のいくつかの出来事(NFTの復活とSignalによるモバイルコインの統合)で怒りが爆発したため、ついに奮起し、この記事を書くことにしました。

始める前に1つ明確にしておきたいことがあります。私は暗号通貨の観点で考察しており、それに関連する言葉を使用していますが、この投稿は暗号通貨に関するものではありません。暗号通貨の範囲ははるかに広く、辛辣でタイムリーな例であるため、使用しているだけなのでご了承ください。

自律分散型とは、ネットワークの一部として主な目的を果たすアプリケーションで、そのネットワークがあらかじめ決められたノードに依存しないものを指します。自律分散型アプリケーションは、「フェデレーテッド(連合した)」とも言われます。また、より具体的な用語として「分散型」があり、「P2P(ピアツーピア)」とも呼ばれています。ここでは関係ないので、より具体的な用語との区別については触れません。また、アプリケーションという言葉に関しては、プロトコルや仕様も含めた、より緩やかな意味で使っています。

自律分散型アプリケーションの実用的な例としては、電子メールが挙げられます。Slackは真逆のものです。電子メールには、かなり支配的なノード(Google)がありますが、私は自分のカスタムメールクライアント、自分のドメインのメールアドレス、自分でホストしているメールサーバーを使って、同じような設定をしている友人にメールを送ることができます。Googleは関係ありません。Slackでは、独自のSlackクライアントを使い、Slackのアカウントにサインインして、Slackのサーバーを経由しなければなりません。

私の自律分散型アプリケーションとの歩み

Bitcoinの原型となる論文1が発表されたとき、私はまだ子供でした。私は、その論文に登場する空想的なアイデアに夢中になって、星のような目で育ったことを覚えています。また、BitTorrentや電子メール、Webにも親しみながら大きくなりました。

大学を卒業して間もなく、私はフィンテック(金融テクノロジー)企業で、ブロックチェーンをベースにしたプロジェクトに参加しました。当時若かったし、みんなが失敗しました。

最近では、私はgitを頻繁に利用しています。メッセージ送信が必要な場合はMatrixを、その他の場合はEメールを使っています。このブログでは自律分散型Webを利用し、数十のRSSフィードをフォローし(ここでも公開しています)、もちろんBitTorrentもまだ使っています。

ケーススタディ

なぜこれらのシステムが機能しないのかという根本的な理由を説明する前に、いくつかの例を挙げてその主張を正当化したいと思います。飽きたら読み飛ばしていただいても結構です。

ブロックチェーン

Bitcoinは、代替となる金融システム2を提供するという目標を掲げて発売され、他のブロックチェーンプロジェクトも、ありとあらゆる豪華な約束をして続きました。Bitcoinは、(ダークネット・マーケットを除いて)掲げた目標を達成できませんでした。代わりに、驚くほどの莫大なエネルギーを浪費するという外部性を付加して、マルチ商法がデフォルトになったのです。

他のプロジェクトについては、「一攫千金 」を狙ったものが延々と続いています。今では「ブロックチェーン」という言葉を目にすると、すぐにそこに必然的に詐欺が存在するのではないかと疑ってしまうのですが、これは本当に悲しいことです。SignalのMobileCoinとの提携は、ここ最近であった裏切り行為であり、最も痛いものでした。

私は「ブロックチェーン」関連の仕事をしているので、このようなことが起こるのを目の当たりにしてきました。よくある話ですよね。問題の仕様を与えられ、それを無事解決するための自律分散型システムを設計します。しかし、「これはうまくいかない、$COMPANYにはそれを収益化する方法がない」と言われます。あなたは振り出しに戻り、集中システムを設計します。すると、「これはいいけど、ブロックチェーンがないじゃないか」と言われます。最終的には、両方において最悪の状態になってしまいます。つまり、ブロックチェーンを装った集中システムになってしまうのです。エネルギーの無駄遣いばかりで、全く自律分散型とは言えないシステムになってしまいます。

Web

自分のドメインとサーバーでブログ記事を公開しているのに、自律分散型Webを失敗と考えているのは少し変な感じがします。自律分散型Webはまだ機能していますが、これを使ってWebを利用するのは得策ではないことを認識することが重要だと思います。多くの点において実用的ではなく、最良のケースであってもいくつかの重大な欠陥があるからです。

まず第一に、このような自分のWebサイトを立ち上げることは、私のようにすでにその気になっていない限り、簡単な作業ではありません。ドメインの登録、DNSのコンフィグレーション、ホスティング、実際のサイトの構築、そしてデプロイメントなど、全てが大変な作業になります。このサイトのようなシンプルな静的サイトでなければ、さらに大変です。言うまでもなく、世界中の多くの人々にとって、ホスティングとドメイン登録のコストは非常に高額になります。さらに、いったんすべての作業が完了したら、どうやって周りの人に知らせるのでしょうか?lobste.rsやHacker NewsのようなRSSやアグリゲーターは、小さな技術系ブログには有効ですが、それ以外の人には通用しません。

そのため、私たちの多くは、Medium、Twitter、Instagramなどのプラットフォームとの虐待的な関係に陥っているのです。

上記のプラットフォームはクライアントサイドのWebレンダリングがほぼ独占されているという事実にも触れていません。

Chromeとその派生製品は、ブラウザ市場の圧倒的なシェアを占めており3、Webの仕組みを決めるのもGoogleなのです。標準化団体に敬意を払うような素振りを見せていますが、結局のところ、Googleが標準を決定すると、他のすべての人はそれを実装するか、もしくは死ぬか、です。私が知っているフロントエンドのWeb開発者のほとんどはChrome向けに開発しています。他のブラウザとの互換性は、考慮されることがあったとしても、後回しにされます。

Chromeに対抗して新たな競争相手を連れてくることも、実際には不可能です。最近のブラウザのレンダリングエンジンは非常に複雑で(特にChromeのドキュメンテーションされていないクアークスをすべて実装しなければならない場合も)、Microsoftでさえも諦めてしまいました。もしあなたがWeb標準を無視した独自のシステムを作ろうと考えているなら、頑張ってWeb全体の価値あるコンテンツをブートストラップしてみてください。

電子メール

上記の代表的な例として電子メールを挙げたのは、これらの中で最も身近で分かりやすいと思ったからですが、実際よりもずっと印象がよいようです。自分で電子メールをホスティングすることはまだ可能ですが、そこまでできる人は、それがいかに悪い考えであるかに気づくことでしょう。

Googleを介さなくてもメールは使えるという私の発言は技術的には正しいのですが、ブラックリストに載っている人は、グローバルなメールネットワークからほとんど締め出されていることにすぐに気づくでしょう。言うまでもなく、Chromeの市場シェアがGoogleにWeb標準の事実上の支配権を与えているのと同じように、Gmailの市場シェアはメール標準の支配権を与えています。

IRC/XMPP/Matrix

IRCは太古の昔から存在しており、それを現代風にアレンジしたものを色々と見てきました。しかし、私が知っているIRCやMatrixを使っている人は、プログラマーと検閲の犠牲者です。

Slack、Discord、WhatsAppなどのプロプライエタリな集中サービスは支配的ですが、それは彼らがマーケティング予算を持っているからでしょう。オープンシステムでは相互運用性が求められますが、集中サービスは、そのロックインによってユーザーを悪用することができるため、利用する意欲を失ってしまいます。

Matrix社の関係者の中には、自分たちのシステムにベンチャーキャピタルを参加させることが解決策だと考えている人もいるようですが4、私は納得できません。

RSS/Atom

Googleも悪者になっていますが、RSSは悪の枢軸です。Google AdWordsに支えられたブログバブルの全盛期から、Google Readerの廃止に伴う凶悪な殺人まで、Googleが中心となっていました。今では、Chromeとの統合にRSSを使用するという話もあります。その結果がどうなるか見ものですね。

しかし、RSSはポッドキャストという形で、前例のない(そしてやや目立たない)成功を収めています。Spotifyは、実際にはポッドキャストではない閉鎖的なシステムを支配的なものにしようと、莫大な資金を投じていますが、これも重大な危機に瀕しています。ポッドキャストをオープンにするための重要な役割を担ってきたApple社でさえ、疑わしい動きをしています。iTunesのポッドキャストディレクトリの最近のアップデートでは、RSSフィードがデフォルトで非公開になり、新しい「ポッドキャスト購読」システムはオープンなポッドキャスティングとは互換性がないということになっています。

Git

Git自体はおおむね問題ありません。プログラマーをターゲットにしていることが功を奏しているようです。しかし、やはりGitにも衰退の様相が見られます。

そもそもGitは、開発の調整のためにメールと一緒に使われることを想定していました。今でも多くの人がそういった用途で使っています。しかし、ほとんどのユーザーにとっては、GitHubが完全にメールの代わりになっています。

Git のホスティングがかなり集中で行われていることは事実ですが、それではホストがユーザーに対して大きな力を持つことはできません。もしホストが不正をし始めたら、次のようにすればいいでしょう。

git remote set-url origin <repo url @ new host>

そして、関連するすべてのデータを持っていけばいいのです。私の考えでは、電子メールのワークフローをラップする優れたUIを提供しても構いませんが、パッチの電子メール送信は誰にでもできることではありません。

しかし、GitHubが行っているのは、もっと邪悪なことです。プル・リクエストのような機能を使って実際の開発ワークフローをメールから遠ざけ、イシュー・システムのような機能を使ってプロジェクト・データをロックインしています。これらの変化がGitHubのマーケティングと組み合わさると、危険です。私が出会った大学生や新入社員のほとんどは、gitとGitHubの違いを知らず、彼らにとってはプル・リクエスト以外に共同開発の方法はありません。

Webで議論されているネットワーク効果は、ここでも当てはまります。私はGitHubでプロフィールを作って持っています。そうしないと誰も私のコードを見てくれないからです。

BitTorrent

暗号通貨と同様に、BitTorrentが実際に使用されているのは、法律の外だけです。私が知っている限りでは、著作権回避5以外の目的でBitTorrentを使用しているのは、ISOを共有するLinuxディストリビューションだけです。

著作権の所有者はBitTorrentを著作権侵害の代名詞としているため、著作権侵害していない利用者でさえ、著作権の侵害をしているのではないかと軽蔑されています。

正直言って、これは悲しいことです。誰かが私にファイルを送ろうとすると、Dropboxのようなひどいプロプライエタリなサービスにリンクさせるか、メールで手探りで送るかのどちらかです。別のタイムラインで、ただマグネットリンクを送ってくれればいいのです。

なぜ?

この時点で、たとえ要約を読まなかったとしても、その傾向に気付いた読者の方も多いのではないでしょうか。どのケースでも、自律分散型システムを失敗させることで大きな利益を得ようとしている(あるいは、大きな利益を失うことを避けようとしている)ということです。

憂鬱ですよね…では、どうしましょう?

この話題が出るたびに、他のプログラマーが「解決策は単に何かを良くすることだ」6と言っているのをよく目にします。こういう考えに至るのは、私にもよく分かります。ハンマーしか持っていなければすべてが釘のように見える(自分が持っている手段に固執してしまい、 解くべき課題に合わせて手段を変えることができなくなるという意味)のです。 自分が持っているスキルや情熱が、まさにその問題を解決するのに必要なものだと思えば、安心できますよね。より良い道具を作っても、利益目的のためにならないでしょう。最近、他の集中的な代替手段を使ってみたことがあるでしょうか?どれもひどいものです。ツールの質では負けていません。

いや、解決策は政治的なものでなければなりません。それは私にとって不快なことですが、おそらくあなたにとってもそうでしょう。私はソフトウェアならできますが、政治に参加するのはどうでしょう?それは難しいですね。しかし、何かがこのような利益目的を変えなければなりません。私はここで唯一の真の答えを知っていると宣言するほど傲慢ではありませんし、真の答えがあるかどうかも疑問です。しかし、いくつかのアイデアを共有することはできます。

現在の市場と呼ばれる利潤追求のシステムは、物理的な資源を抽出し、精製し、変換するプロセスを最適化するために設計されています。外部性がそれに見合うかどうか、あるいはその目標が最優先されるべきかどうかについては疑問があるかもしれませんが、その点ではかなり優れていると思われます。

しかし、ここで扱っているのは物理的なリソースとはかけ離れたものであり、システムは全く適応されていません。前述の市場を自由で規制のないシステムとして理想化したがる人がいますが、実際には、このような状況下では最適化がかなり不十分であり、リソースの効率的な処理と分配の方向に利益目的を合わせるためには、厳しい規制が必要です。このような利益目的を維持するためには7、社会により役立つソフトウェアを作る方向に利益目的を向けるための新たな規制が必要なのです。


  1. これは、10年以上経った今では、読み方が少し変わっています:https://bitcoin.org/bitcoin.pdf
  2. そのデフレの性質と、Satoshiがコントロールしている膨大なビットコインを考えると、それが本当の目的ではないか、少なくとも唯一の目的ではないのではないかと疑われても仕方がないでしょう。もしその疑惑が本当であれば、Satoshiがそのコインを使用したり、販売したりすることから逃れることはできないだろうと思うと、満足感があります。というのも、今ではみんなから妬みの対象となっていることは間違いないのですから。
  3. 次の巨大な競合はFirefoxですが、その開発はすべてGoogleからの資金援助があって実現しているのです。
  4. https://www.matrix.org/blog/2019/10/10/new-vector-raises-8-5-m-to-accelerate-matrix-riot-modular
  5. 著作権についての意見は別の機会に述べたいと思います。
  6. このDrew Devault氏の投稿がその良い例です。私は彼の意見にほぼ同意しています。:https://drewdevault.com/2021/04/07/The-next-chat-app.html
  7. 私はこうすべきだとは思っていません。
appstore
googleplay
会員登録

会員登録して、もっと便利に利用しよう

  • 1.

    記事をストックできる
    気になる記事をピックして、いつでも読み返すことができます。
  • 2.

    新着ニュースをカスタマイズできます
    好きなニュースフィードをフォローすると、新着ニュースが受け取れます。