見出し画像

ブロックチェーン技術の本分

Web3というバズワードと共にブロックチェーン技術が注目を集めてから、流行は一旦落ち着いたように思えます。

先日、Web3をテーマにした討論の動画を久しぶりに見る機会がありました。

討論としては、ボトルネックとされていた取引コストの問題が解消して低コストで取引ができるようになったにもかかわらず、Web3は当初言われていたような普及はしていないという事実を出発点として、では何が結局普及の鍵なのかという話が中心でした。

そこでの議論は、既に技術は出揃っており、キラーアプリが出てくることが鍵だという意見と、既存のWeb2技術とできることに差がないため、新しいアプリが出てくる余地はないという意見が平行線を辿っていました。

■信頼成立の技術

Web3あるいはブロックチェーンは、本質的に人間系の仕組みで信頼を成立させる代わりに、アルゴリズムにより信頼を成立させる仕組みです。

信頼とは、例えば入力したデータが誰かの手によって勝手に変更されないことや、指示した内容が実行されることなど、期待することが当たり前に実行されると利用者が期待できる状態を指します。

信頼は信頼できる状況を出発点に考えると分かりづらいのですが、例えばオンラインバンキングで銀行Aから銀行Bに自分のお金の送金を指示した際に、銀行Aから指示した以上の金額が減っていたり、銀行Bに指示した金額が振り込まれてなかったりするようであれば、これらの銀行のオンラインバンキングを信頼することはできません。

銀行で働いている従業員も、銀行のオンラインバンキングのシステムの開発者や運用者も、人間です。高額な現金を扱うシステムですので、これらの人が私利私欲のために上記のように金額を操作したと考える事も十分にあり得ます。しかし、それにもかかわらず私たちが銀行に自分の財産を預け、オンラインバンキングを利用しているのは、銀行の仕組みを信頼しているからこそです。

一方で、Web2のオンラインバンキングのように信頼の成立を組織的な仕組みで成立させているか、Web3のブロックチェーン技術によるアルゴリズムで成立させるかの差異はあるとしても、実現できるアプリケーションに特に差はありません。

従って、こうした議論では、既存の政府や企業が信頼できない、あるいは信頼したくないという市民が大勢いることを前提にして、Web3のメリットが強調されることがよくあります。

■代替手段としての技術の不要性

しかし、多くのアプリケーションの利用者は、企業や政府を信頼することに慣れているため、そもそもの前提に問題があります。

もちろん、世界には政府や大企業を信頼することが困難な国や地域も存在します。こうした国や地域では、Web3がアプリケーションの信頼性を確保するための手段になり得るでしょう。

一方で国や大企業を信頼することができる社会では、この観点からはWeb3の利点を主張することは困難です。

既に信頼を構築することができる社会制度が円滑に運営されている社会では、技術ではなく人間系の仕組みで、信頼を確立することができていることになります。

技術は社会のためにあり、社会が技術のためにあるわけではありません。

従って、こうした社会で、政府や大企業に取って代わるために信頼構築の技術を普及させるべきだ、という意見には、必然性も必要性もありません。

■信頼構築技術の利点

では、Web3やブロックチェーン技術は、本質的なメリットや普及の余地はないのかと言えば、そんなことはありません。

政府や大企業による信頼構築を必要とするアプリケーションだけが、信頼構築の必要なアプリケーションではありません。

政府や大企業レベルの信頼までは不要であるけれど、信頼が全く必要というわけではないようなアプリケーションは、Web3の活用の余地があるでしょう。

あるいは、規模や利益の面で政府や大企業が関与しないようなアプリケーションについてもWeb3やブロックチェーン技術は有用です。

こうした信頼構築の必要な度合いが中間的であったり、規模や利益がニッチであったりするアプリケーションを、Web3はカバーすることができます。

つまり、個人や中小規模のエンジニアやアプリ発案者には、これまで運用が困難だった信頼構築の必要なシステムが、Web3では運用できるようになるということです。

こうした領域のアプリケーションが多数開発され、運用されることは、社会的に大きなメリットとなります。

これが、Web3やブロックチェーン技術の本分だと私は考えています。

■クラウド:システム開発者から見た技術の例

Web3の話題に限らず、技術の利点や普及のポイントは、利用者から見たメリットに着目すると良く分からないという場合が多くあります。近年の例ではクラウドサーバ技術が分かりやすい例です。

クラウドという言葉を良く耳にすると思いますが、これは様々なITサービスを実現するために稼働しているサーバを仮想化する技術を元にして、サーバの増設や運用を柔軟に行えるようにする、というものです。

従って、クラウドサーバで実現できるアプリケーションと、クラウドではないサーバで実現できるアプリケーションには特に差異はありません。また、コストが安くなるというメリットがあると言われることもありますが、仮想化する技術であることにより実際のサーバ運用コストは必ずしも安価になるとは限らず、必ずしもアプリケーションやサービスの利用者に対してコストメリットがあるわけではありません。

それにもかかわらず、クラウドサーバがこれだけ普及しているのは、利用者のメリットではなくシステム開発者のメリットが大きいためです。

何か新しいITサービスを発案した時に、ITサービスを実現するソフトウェアの開発と、そのソフトウェアを稼働させるためのサーバの準備と運用が必要になります。サーバの準備と運用のためには、適切な電気や空調設備が整ったサーバの設置場所が必要ですし、もちろんサーバ本体のコンピュータも必要です。

これらを一から用意しようとすると、かなりまとまった時間とお金が必要になります。またサービスを実際に提供するまで、どのくらい高性能なサーバコンピュータが、何台くらい必要になるかは予測が困難です。

少なく見積もってしまえばサーバに十分な処理性能がないため、サービスを開始してから利用者をイライラさせるサービスになりかねません。サーバの増設にはさらにまとまった時間とお金が必要になり、その間に利用者から見放されてしまい大きな機会損失になるでしょう。反対に大きく見積もってしまえば、サーバの準備に投資した時間とお金は莫大であるのに、サービスから得られる収入が小さくなり、大幅な赤字になりかねません。

このようなシステム開発者側の目線から見ると、クラウドサーバは非常に魅力的です。サーバの稼働場所の準備やサーバ本体の購入のための時間とお金をかける必要がなく、クラウドサービスのWebサイトにログインして、いくつかの設定ボタンを押せば、指定した性能を持つサーバが指定した台数だけ稼働し始めます。そして、停止ボタンを押せばこれらのサーバが稼働停止します。そして、稼働させたサーバの性能、台数、稼働時間に応じた費用が、クラウドサービス事業者から請求されるという仕組みです。

この仕組みであれば、システム開発者は粗い見積もりで出したサーバ性能や台数を元にサービスを開始し、見積りと実際の利用状況にズレがあれば、クラウドサービスのWebサイトから台数や性能を変更して、必要な分のサーバを必要な分だけ設定すれば良いことになります。サービスの人気が出ればすぐにサーバの性能や台数を増やして機会損失を抑えることができますし、思ったよりも人気が出なければサーバの性能や台数を減らして無駄な費用を抑えることができます。

これらは全てシステム開発者側のメリットであり、ユーザ側にそのメリットは特にありません。しかし、このメリットの大きさによりクラウドサービスは普及しています。そして、クラウドの大きなメリットを利用して様々なシステム開発者が気軽に多種多様なアプリケーションやサービスを発案してユーザに提供することができるという状況が生まれました。

こうした環境の中で、大手IT企業が提供していないようなニッチなサービスや新しい発想のアプリケーションが生み出されるようにもなっています。個々のアプリケーションの規模や利益は小さいとしても、敷居が低くなったことで多種多様なアプリケーションやサービスが提供できる環境が実現されたという点は、社会メリットとして無視することができないメリットと言えるでしょう。

■システム開発者から見たWeb3

Web3はユーザメリットよりもシステム開発者メリットが大きく、普及することで間接的に豊かなITサービスやアプリケーションが社会に供給されるようになるという点で、クラウドと同じように捉える方が適切な技術です。

システム開発者にとってアプリケーションやサービスのアイデアをソフトウェアで実現することは、初期段階ではそれほど高コストではありませんし、時間もそれほど必要にはなりません。このため、パソコンやスマホの上だけで動作するアプリを思いついて作成することは、アイデアのコア部分の機能だけに絞って見栄えや使い勝手を気にしないで良い試作レベルであれば、一週間程度で作成できてしまいます。

そして、クラウドサービスが普及した現在では、サーバやデータベースを必要とするようなアプリやサービスであっても、同様の期間で試作システムを開発して、提供することができるようになりました。サーバの設置場所やサーバ本体の購入などに時間とお金がほとんど必要がなくなったためです。

つまり、クラウドサービスの普及により、パソコンやスマホの中で完結できるアプリやサービスだけしか気軽には開発や提供ができなかった時代から、サーバやデータベースを活用したアプリやサービスの開発や提供が気軽にできる時代に移行しました。これは個人や少人数のシステム開発チームにとっても大きなメリットでしたし、大企業であっても様々なサービスアイデアを気軽に試せるという点でメリットがあります。

Web3技術が普及すれば、信頼を必要とするアプリやサービスについても、同様の期間や手軽さで開発できるようになります。これまで、個人や少人数のシステムかいつチームでは、例えばアプリやシステムの中で金銭やそれに類する価値を持ったデータを扱うことは非常にハードルが高いものでした。また、管理者がデータを変更したり都合よく設定を変更できてしまうことが利用者に不利になってしまうようなアプリやシステムも、開発や提供に大きな壁がありました。

システム開発者から見ると、Web3技術はこうした壁を無くして、システム開発者の人数や会社の規模、アプリケーションの生み出す利益の大きさに関わらず、信頼を必要とするシステムが開発できる環境を生み出すことができる技術と言えます。

■さいごに:Web3技術の応用分野

では、どのような分野で信頼構築の技術であるWeb3やブロックチェーンが活きてくるかが気になるところです。

既に分かっている基礎的なアプリケーションは、中央銀行に頼らない通貨システムの実現です。Bitcoinが有名ですが、これもたった一人のシステム開発者が開発したシステムにより成立している通貨システムです。

また、NFTという言葉もニュースなどで見かけると思いますが、所有権の権利証システムにも応用されています。NFTは意味が分かりづらい専門用語ですが、権利証と訳してしまえば比較的理解しやすいと思います。

加えて、契約履行システムとしてもブロックチェーン技術は応用されています。契約の代表格は、通貨や権利証の移譲や、貸借と利息の支払いです。DeFiと呼ばれる分散型の金融システムは、この契約履行システムにより成立しています。

さらに、権利証システムや契約履行システムを組み合わせることで、DAOと呼ばれる組織運営システムにも応用されています。株式会社は株主化から見れば会社の権利証とその権利行使の仕組みの側面があります。また、従業員から見れば労働に対する対価の支払いという契約システムの側面があります。従って、権利証システムと契約履行システムを適切に組み合わせると、企業のような形式の組織運営システムとしての仕組みにもなるのです。

通貨、権利証、契約履行、組織運営という言葉を聞くと、非常に大掛かりで特別な仕組みのように思えるでしょう。しかし、Web3技術はこうした仕組みをシステム開発者が容易に自分の開発するアプリケーションやサービスに組み込むことを可能にします。

もちろん、既に述べたように、既存のWeb2でもできる大掛かりなキラーアプリを考えようとしても上手くいかないでしょう。

一方で、個別のニッチなアプリや小さなサービスに閉じてこれらの仕組みをシステムに加えることができるため、考えられる潜在的な応用の範囲は広くあるはずです。

このため、多くのシステム開発者がWeb3技術を扱えるようになることで、そうした潜在的な応用が徐々に開発されていき、それが大きな社会メリットを生み出すことにつながっていくというのが、Web3の普及の道筋ではないかと思います。

サポートも大変ありがたいですし、コメントや引用、ツイッターでのリポストをいただくことでも、大変励みになります。よろしくおねがいします!