00:00 イントロダクション
02:01 ビザンチン・コンセンサスの解決
09:35 自由なブロックチェーンの厳格な要件
20:31 これまでの経緯
22:44 今日、急速に富を得る方法
24:03 ミニビットコイン 1/3 - ハッシュ化と署名
29:23 ミニビットコイン 2/3 - トランザクション
34:44 ミニビットコイン 3/3 - ブロックとプルーフ・オブ・ワーク
44:47 ブロックチェーンのスケーリング 1/2 - 応用領域
49:07 ブロックチェーンのスケーリング 2/2 - より大きなブロック
57:11 ブロックチェーンの高速化 1/2
59:30 ブロックチェーンの高速化 2/2
01:06:54 ブロックチェーンのパワーアップ
01:14:51 ユースケース:支払い
01:19:25 ユースケース:受動的な追跡可能性
01:25:33 ユースケース:能動的な追跡可能性
01:32:47 ユースケース:インセンティブ付きリサイクル
01:35:40 ユースケース:インセンティブ付きセキュリティ
01:41:30 要件の緩和
01:44:53 結論
01:49:35 4.21 サプライチェーン向けブロックチェーン - 質問は?

説明

暗号通貨は多くの注目を集めました。大金が築かれ、大金が失われました。ねずみ講が横行しました。企業の観点から見ると、「ブロックチェーン」は、暗号通貨との距離を置きながら、類似のアイデアや技術を導入するための丁寧な婉曲表現です。サプライチェーンにおけるブロックチェーンのユースケースは存在するものの、多くの課題もまた存在します。

完全な書き起こし

スライド 1

このサプライチェーン講義シリーズへようこそ。私はヨアネス・ヴェルモレルです。本日は「サプライチェーン向けブロックチェーン」についてご講演いたします。暗号通貨は一般の関心を強く引き、莫大な富が築かれた一方で失われ、多くの悪党が逮捕され刑務所送りとなりました。そして、今後もそのような事例が増えるでしょう。このような騒動の中で、暗号通貨という用語は、特に保守的な大企業にとってはやや過剰な意味を持つようになりました。その結果、暗号通貨の世界で起こる数々の騒ぎから距離を置くために、イノベーションを紹介する婉曲的な表現として「ブロックチェーン」という用語が採用されました。しかし、本質的には、ブロックチェーンと暗号通貨は同一のものです。

本講義の目的は、ブロックチェーンで何が起こっているのかという、技術的かつ深い理解を得ることです。もしある程度のプログラミングスキルをお持ちであれば、本講義の終わりまでには、望むならば自分自身でおもちゃのようなブロックチェーンを再実装できるはずです。この新たに得たブロックチェーンに関する技術的理解を基に、サプライチェーンのユースケースを検証し、それらが問題解決のための技術としてどれほど実用的であり、サプライチェーンにどのような付加価値を提供できるかを評価していきます。では、始めましょう。

スライド 2

ビットコインの起源は実に奇妙です。2008年、複数人による可能性もある偽名のサトシ・ナカモトの下で、「Bitcoin: A Peer-to-Peer Electronic Cash System」というホワイトペーパーが発表されました。このペーパーは、新しいタイプの電子通貨のためのシステムとアプローチを提示しています。それは比較的短い論文で、いくつかの数理的部分が含まれていますが、その数理的部分も一部誤っているとされています。

元の論文では、システムはハッシュパワーの少なくとも半分が正しい側にあるならば安全であるとされています。しかし、2013年に発表された「Majority is Not Enough: Bitcoin Mining is Vulnerable」という後続の論文において、ネットワークの安全性を保つためには、ハッシュパワーの半分が誠実である必要はなく、実際には3分の2以上のハッシュパワーが必要であることが示されました。

それにもかかわらず、ホワイトペーパーとソフトウェアは存在します。このソフトウェアはオープンソースであり、非常に低品質な実装となっています。サトシ・クライアントは低品質であり、ソフトウェアが公開された最初の1年間に、オープンソースの貢献者たちは急いで多数のバグや問題を修正していました。これらの問題のいくつかは元の設計のために修正が難しく、コミュニティ全体に持続的な影響を与えました。今日存在する多くの暗号通貨は、元のサトシ・クライアントのフォークであり、ある程度、長年にわたり解決されなかった多くの問題を抱えています。

このように、質の高くない論文と非常に低品質とも言えるソフトウェアが存在するにもかかわらず、サトシ・ナカモトのチームは驚くべき発見を成し遂げたという、非常に不可解な状況が生じています。本質的には、この問題はビザンチン合意問題として知られています。これは分散コンピューティングの問題です。参加者が存在し、全ての参加者がシステムの状態、つまりデジタル世界で言えば長いゼロとイチの連なり、データのペイロードを認識できると想像してください。参加者は、システムの状態を更新し、ビットを反転させたり、ビットを追加または削除したり、同時にそれらを行うことができます。さらに、参加者同士が通信できる中で、ビザンチン合意問題とは、すべての誠実な参加者が、ある特定の時点でシステムの状態について、最後のビットまで一致することを求める問題なのです。

敵対者として振る舞い、他の参加者を混乱させようとするビザンチンな参加者がいる場合、この問題は非常に難しくなります。ビットコインの驚くべき発見は、2008年に専門家に尋ねたならば、中央集権的な権威なしで完全な分散型でビザンチン合意問題を解決することは不可能であるというのが一般的な見解であったはずなのに対し、サトシ・ナカモトの発見、すなわちナカモト・コンセンサスが、この問題を解決する方法を見出したという点にあります。

その解決策は非常に驚くべきものです。一見、単なるアルゴリズムの問題のように思えますが、ビットコインの背後にある解決策の本質は、サトシ・ナカモトが金銭的インセンティブ、すなわち財政的報酬を追加することでこの問題を解決した点にあります。これは単なるアルゴリズム的な解決策ではなく、システム内で金銭的インセンティブが絡み合うことにより、参加者が特定の方法で行動する動機付けとなることで初めて機能するアルゴリズムそのものなのです。

これらのインセンティブを機能させるためには、一種の電子通貨が必要であり、そうすることでこれらのインセンティブを最初から設計することができます。まさにこれがビットコインで行われていることです。電子通貨を手に入れるためには、少なくとも2つの非常に難しい問題があります。第一の問題が二重支出です。情報のビットで表現された一定量のデジタルマネーがある場合、そのデジタルマネーのコピーを作り、一度お金を使って支払いを行い、その後にコピーを使って同じお金で別の支払いを行うことを何が防いでいるのでしょうか?この問題は二重支出と呼ばれ、ビットコインが対処した非常に難しい問題の一つです。

第二の問題はコインの発行です。このお金はどこから来るのでしょうか?興味深いのは、通常、非常に難しい問題に取り組む際には、問題をよりシンプルな部分問題に分割して個別に解決する、分割統治法を採用するという手法が用いられることです。そして、全体の問題が解決されます。しかし、ビットコインの場合、二重支出とコイン発行という2つの明確かつ非常に難しい問題が存在します。ビットコインは、分割統治法ではなく、統合して絡み合わせるアプローチを採用し、当時は斬新だった方法で、両方の問題を同時に解決しています。解決策は、本講義の後半でご説明するように、驚くほどシンプルです。

スライド 3

本講義は、デジタル通貨を優れた通貨にする要素についての講義ではありません。そのテーマは別途取り上げるに値するものです。それにもかかわらず、ブロックチェーンは、それ自体を支えるデジタル通貨によって設計された財政的インセンティブなしには機能しません。暗号通貨とブロックチェーンがほぼ同一であると言うのは、ブロックチェーンを持つということはメッセージをブロードキャストし、そのメッセージには金銭の流れを伴うトランザクションが含まれるという考え方に基づいています。暗号通貨の視点では、主要な焦点は金銭的側面にあり、ブロックチェーンの視点では、取引の上に重ねられるメタデータにより関心が向けられています。

これらのブロックチェーンおよび暗号通貨システムの全体的なセキュリティモデルは、システム上に設計された経済的インセンティブに依存していることを忘れてはなりません。経済的目標と暗号通貨の目的をブロックチェーンから完全に切り離すことはできません。それは単に視点の問題に過ぎないのです。

では、ブロックチェーン/暗号通貨システムに伴う要件と、その要件を緩和する可能性について簡単に見ていきましょう。第一は否認防止です。否認防止とは、参加者として、誰もあなたがトランザクションをブロードキャストするのを阻止できないことを意味します。誰も有効なトランザクションが行われるのを阻止することはできません。これは非常に重要な点であり、もしそのようなことが可能な参加者がいる場合、実質的に中央集権的な権威が存在することになるからです。逆に、誰も有効なトランザクションの実行を阻止することはできませんし、また、自分のコインを消費したり無効なトランザクションを成功させたりして、トランザクションを行う可能性を否定する参加者も存在しません。これが最初の要件です。

第二の要件は匿名性です。技術的には、ビットコインは仮名ネットワークですが、本質的に匿名性の要件というのは、参加者のリストが存在しないことを意味します。真のブロックチェーンでは、参加者はゲートキーパーなしに、いつでも自由に出入りすることができます。参加者が自由に参加や退出できるため、その身元を追跡する者は存在しません。必ずしも完全な匿名である必要はありませんが、真に正統なブロックチェーンであれば、参加者が自由に出入りできるという匿名性の要件が満たされる必要があります。

次に、大規模なスケーラビリティを要件として挙げます。これはブロックチェーンにとって特に難しい問題であり、後ほども見ていくように、これらの分散システムは本質的に容易に拡張できるものではありません。逆に言えば、ブロックチェーンのスケーリングは驚くほど困難です。本質的には、矛盾が存在します。もし任意の参加者に対して、任意に大量のメッセージ、トランザクション、あるいは更新情報をブロードキャストさせれば、一人の参加者がネットワーク全体を氾濫させ、事実上ネットワーク全体をスパム状態に陥れる可能性があるのです。したがって、すべてのブロックチェーンは、このスケーラビリティの問題に対処する必要があり、それは財政的インセンティブの設計によって解決されます。

その狙いは、ブロックチェーン上でブロードキャストされる基本的なメッセージであるトランザクションのコストを、約0.1セント程度に抑えることです。これは非常に安価です―例えば、メールを送るために0.1セントを支払わなければならないと想像してみてください。無料ではありませんが、依然として非常に低コストです。したがって、通常利用において、例えば倉庫内での製品の移動に関連するトランザクションであれば問題ありません;コストは依然として非常に低いのです。しかし、トランザクションのコストを0.1セントに設定することで、もし手数料がなければ、攻撃者が数十億のトランザクションをネットワークに氾濫させるのは非常に容易ですが、その行為を高コストにすることができます。すべてのトランザクションは、その存在およびブロードキャストを支えるための手数料を支払わなければならず、そうでなければ攻撃者は分散システムを障害なく氾濫させることができてしまいます。

このように、トランザクション手数料は、ブロックチェーンの持続可能性を保つための経済工学的な観点の一つです。どのような規模になっても0.1セントの手数料を維持できることが望まれます。なぜなら、もし数百万のトランザクションが発生すれば、トランザクションのコストが急騰してしまうという、大規模なスケーラビリティを否定するもう一つの問題につながるからです。これは私たちが望む大きな問題であり、100人が特定の時刻にバスに乗りたがっているのに、座席が50しかないという状況を好むものではありません。このような場合、オークションの仕組みが働き、チケットの価格が急騰してしまいます。ブロックチェーンの観点では、これはトランザクションのコストが急騰することを意味します。ちなみに、このような問題は現在、複数のブロックチェーンで発生しています。例えば、Bitcoin Coreネットワークでは、トランザクションのコストが10ドルを超えることが非常に頻繁にあり、これが大きな問題となっています。

また、かなり低いレイテンシーも求められます。2008年にサトシ・ナカモトが発見したナカモト・コンセンサスは非常にうまく機能しますが、本質的には非常に遅いプロセスです。非常に遅いというのは、参加者がシステムの状態に収束するのに約1時間かかることを意味します。劇的に遅いわけではありませんが、決して速いとも言えません。もしサプライチェーンに関連する何か、例えば支払いを行ったり、商品の動きを追跡したりする場合、システムのレイテンシーを3秒以下に抑えることができれば非常に望ましいでしょう―これは高速なクレジットカード決済で期待されるようなレイテンシーと同程度です。

最後に、最後の要件の一つとしてインフラストラクチャが挙げられます。ブロックチェーンや暗号通貨を支えるソフトウェアインフラストラクチャは、何らかの合意された社会契約によって資金提供される公共財でなければなりません。これは2008年のサトシ・ナカモトが予見していなかったと考えられる点です。非常に複雑な世界規模の分散システムを運用するためには、構築および維持すべきソフトウェアインフラストラクチャが山ほど存在します。問題は、そうした取り組みを資金提供するための社会的に受け入れられた方法がなければ、ネットワーク上で状態を混乱させるビザンチン的な敵対者だけでなく、コードベース自体を乗っ取り、コミュニティ全体の利益に反する操作を行う敵対者が出現するということです。暗号通貨の歴史においては、あるチームから別のチームへの敵対的買収が発生し、新たなチームの利益がコミュニティ全体の利益と全く一致しない事例もありました。これは一種の攻撃であり、むしろソーシャルエンジニアリング的なものですが、2008年当時のサトシ・ナカモトには明確には見えていなかった種類の攻撃です。しかし、運用開始から十年を経た現在では、これらの種類の攻撃は暗号通貨の世界の観察者にとってずっと明確になってきています。

スライド 4

さて、これまでの話をまとめると:これはサプライチェーンに関する一連の講義です。私たちは第4章の一部です。第1章では、サプライチェーンという学問分野および実践についての私の見解を示し、非常に特定の方法論が必要であることを確認しました。第2章全体は、この分野で機能するのに適したサプライチェーンの方法論に捧げられています。ほとんどの素朴な方法論は、特に利益相反が存在する場合、現実と直面すると生き残れません。ちなみに、第2章で扱っている利益相反の多くの側面は、本日の講義にも非常に関連していますので、もしまだ第2章の講義をご覧になっていない方は、ぜひご一読ください。第3章はサプライチェーンの問題に捧げられており、解決策ではなくサプライチェーンの問題にのみ焦点を当てた講義です。解決策を考え始める前に、まず問題を本当に理解することが狙いです。

第4章は本質的に補助科学の集大成です。ブロックチェーンは、この章の最後に付け加えた周辺的な話題ですが、基本的には補助科学とは現代のサプライチェーン実践を支える学問分野です。現代の医師が化学についていくらかの知識を持っていることが望まれるのと同様に、優れた医師であるために優れた化学者である必要はありません。現代の医療科学の視点からは、化学を全く知らなければ、現代基準で良い医師にはなれないと一般に考えられています。私の見解では、サプライチェーンにおいても同様で、合理的に現代的なサプライチェーン実践を行うためには、これらの補助科学に関する一定の背景知識が必要なのです。

スライド 5

今回の講義では、まずミニビットコインという、玩具のようなブロックチェーン実装を紹介します。これにより、仮想通貨がどのように動作するのか、また2008年にサトシ・ナカモトが発見した重要な洞察が何であったのかが明らかになるはずです。また、ブロックチェーン設計時に直面する非常に大きな3つの課題、すなわちスケーラビリティ、遅延、表現力についても説明します。これら3つの課題は、ブロックチェーンを基盤としたサプライチェーンのユースケースに大きな影響を与えます。ブロックチェーンには本質的に制限があるため、サプライチェーンで何ができ、どのような価値を生み出せるかが限定されることを理解することが不可欠です。最後に、講義の後半では、さまざまな程度でサプライチェーンが貢献できるユースケースをレビューします。

スライド 6

ミニビットコインの目的は、玩具のようなブロックチェーン、すなわちビットコインの簡略化されたバージョンをゼロから構築することです。実際には、ブロックチェーンのエンジニアリングは多数の細部に注意を払う作業であるため、ここでは技術的な詳細には立ち入りません。ここでは、実際のものと比較して劇的に簡略化した全体の構造を示し、数枚のスライドで何が起こっているのか、どのように設計され、どのように動作するのかを把握できるようにします。

この非常にシンプルな例では、すべてのコインが正確に1ビットコインの価値を持つ通貨を設計します。あなたは一組のコインを持ち、各コインは正確に1ビットコインの価値があり、本質的には各コインを一人の参加者から別の参加者へ転送することしかできません。もし参加者が複数のコインを所有していれば、すべてのコインを転送することは可能ですが、ここでは小数点以下の数量やその他の要素が存在しない、非常にシンプルな通貨を扱います。

このミニビットコインを構築するためには、ハッシュ関数、署名関数、検証関数という3つの特殊な関数だけが必要です。これらの関数は2008年にはすでに標準的なものであったため、ビットコインが発明されたときには、すべての暗号技術の構成要素が整っていました。サトシ・ナカモトはこれらのツールを発明したわけではありません。これらの特殊な暗号関数、すなわちトラップドア関数は、2008年当時、広く知られ、標準的で、広く使用されていました。サトシ・ナカモトの主要な革新は、これらの関数を非常に特殊な方法で利用した点にあります。

これら3つの関数のうち、ハッシュ関数については、ここでは詳細には触れませんが、前回の講義で説明しました。これは暗号的ハッシュ関数であり、任意の長さのビット列であるメッセージを取り、256ビットのダイジェストを生成します。実際、ハッシュ関数は逆算不可能です。ダイジェストがある場合、そのダイジェストを生成したメッセージを特定する唯一の方法は、事前にそのメッセージを知っていることです。

署名関数は、メッセージと秘密鍵を入力として取り、再び256ビットの署名を生成します。署名関数は検証関数と対になって機能します。非対称暗号に不慣れな方のために説明すると、公開鍵と秘密鍵のペアという仕組みがあり、秘密鍵を使って署名を生成し、秘密鍵を公開することなくメッセージを発信できます。どの参加者も、検証関数を用いてメッセージ、あなたの署名、及び公開鍵を照合し、そのメッセージが対応する秘密鍵によって署名されたことを確認できます。

これらのトラップドア関数は逆算できないため、元のメッセージを知らなければ、ハッシュ関数またはダイジェストから元のメッセージに戻ることはできません。同様に、秘密鍵がなければ、新たなメッセージに対して自ら署名を生成することは不可能です。

これら3つの特殊な関数は、C++、Python、Java、C#など、ほぼ全ての現代のプログラミング環境で容易に利用可能です。これらの種類の暗号関数へアクセスできることは、標準的な環境の一部となっています。

スライド 7

さて、ここで私がコイン番号1の所有者である状況を考えてみましょう。これはどういう意味でしょうか?これは、ビザンチンコンセンサスの一環として、ミニビットコインネットワークの全参加者が、UTXO(未使用トランザクション出力)の一部として、このコインが実際に存在すると合意していることを意味します。ここでいう「このコイン」とは、公開鍵番号1と署名ゼロを含むメッセージを指します。これはコインの集合の一部であり、全ての参加者がこのコインが実在し、使用可能であると認識していると仮定しています。では、このコイン番号1の所有者として、どのようにしてこのコインを実際に使用し、その所有権を他の誰かに移転するのでしょうか?

スライド 8

その方法は、署名を生成することにあります。署名は次のように構成されます。特殊な “sign” 関数を使用して、メッセージに署名します。このメッセージは、公開鍵番号1、署名ゼロ、そして公開鍵番号2の順で構成されます。公開鍵番号2は、文字通り私が送金する相手先のアドレスです。この公開鍵番号2に紐づく秘密鍵を所有している者が、私の取引の受取人となります。従って、私はこの取引に署名し、そのために秘密鍵番号1を使用しています。署名番号1を実際に生成できる唯一の参加者は、公開鍵番号1に対応する秘密、すなわち秘密鍵番号1を持つ者だけです。

もしこの取引が行われたことをネットワーク全体に知らせたいのであれば、取引をブロードキャストする必要があります。取引とは、公開鍵番号1、署名ゼロ、公開鍵番号2、そして先ほど生成した署名番号1を列挙したメッセージにすぎません。これは、取引に寄与する要素のリストです。私がこの取引を1から2へと公開すると、実質的にコイン番号1はコインのプールから退出し、コイン番号2がシステムの一部としてプールに加入するのです。これが、ビザンチンコンセンサスが極めて重要である理由です。ビザンチンコンセンサスがなければ、所有していないお金を使ったり、あるコインの所有権についてネットワークを混乱させる可能性があるからです。しかし、ビザンチンコンセンサス問題が解決されれば、システムに実際に属するコインについて確固たる合意が成立します。一度コインが使われると、新たな所有者として数字の2がそのコインを獲得します。コインはネットワークから退出し、新たなコインが生成されシステムの状態に加わるのです。

スライド 9

この仕組みは繰り返すことができ、同じシステムを使ってコイン番号2をコイン番号3へと送ることも可能です:署名を生成し、取引をブロードキャストする、という具合に。

ちなみに、“sign” 関数が使用されると言うたびに、暗黙のうちに全ての観測者が “verify” 関数を用いて署名の正当性を検証できることを意味します。基本的に、参加者が取引を確認する際、最初に行うのは以前に紹介した “verify” 関数を使って取引の正当性をチェックすることです。ここでは2つの検証が含まれます:まず、転送されるコインが既にシステムの状態の一部であり、有効なコインであること、次に署名に従ってその取引が正当であることを各参加者が確認する必要があります。ここではまだ触れていないのが二重支出問題です。どうすれば、同時に二つの矛盾する取引が実行されるのを防ぎ、また、攻撃者が同時に二つの矛盾する取引をブロードキャストして同じお金を二人の異なる参加者に送ろうとした場合に、ネットワークが混乱するのを防げるのでしょうか?

また、これらのコインがどこから来るのかという点についても明確にはしていません。これらはそもそもどのようにシステムに導入されるのでしょうか?サトシ・ナカモトと彼のナカモトコンセンサスの発見の核心は、これら二つの問題を同時に解決することにあります。

スライド 10

サトシ・ナカモトの提案は、現在「マイナー」と呼ばれる特別な種類の参加者をネットワークに導入するというものです。

マイナーは基本的にネットワークを監視し、ブロードキャストされた全ての取引を収集します。そして、これらの取引をまとめ、「ブロック」と呼ばれるコンテナに格納します。ブロックとは、ピアツーピアネットワーク内で誰かがブロードキャストした取引の集合にすぎません。

ブロックの最初の取引は「コインベース」と呼ばれる特別な取引になります。コインベースは、このミニビットコイン設定において、どこからともなく新たなコインを1枚生み出すユニークな取引です。最初の取引がコインベースであり、そこからマイナーが認識したブロードキャストされた取引のリストがブロックに続きます。マイナーはビットコインネットワークの全ての取引を捕捉できないかもしれませんが、それでもできる限り捕捉しようとします。

スライド 11

コインベースは特別なものであり、その構築方法を説明します。まず、ブロックのハッシュ、部分的なハッシュ(H1a)を生成します。このハッシュは、前のブロックのハッシュ(H0b)とブロック内に存在する全ての取引を連結したメッセージのハッシュとなります。

その後、コインベースはハッシュH1aと続いてnonceを含むタプルとなります。nonceはマイナーがランダムに選ぶ乱数で、その重要な役割を果たします。コインベースにはマイナーの公開鍵も含まれており、ブロック内の全内容のハッシュも含んでいます。つまり、コインベースには乱数とマイナーの公開鍵が含まれており、この公開鍵は後にマイナーがコインベースを通常のコインとして請求する際に使用されます。このミニビットコイン設定では、コインはブロックごとに1ビットコインのペースで発行されます。実際のBitcoin CoreネットワークやBitcoin Cashではそのプロセスはより複雑ですが、明瞭さのために多くの複雑さを簡略化できます。

ブロックが有効と見なされるためには、コインベースを生成する必要があります。しかし、この段階で止めてしまうと、すべてのマイナーが自分の好きなときにブロックを主張でき、「取引の全ダイジェスト(パッケージ)を生成できる。コインベースも生成できる。だから、この余分なビットコインをください」と主張してしまいます。では、ネットワークに自分のバージョンのブロックを選ばせ、唯一真のブロックと認めさせるために、競うマイナーたちをどのように整理するのでしょうか?

サトシ・ナカモトはプルーフ・オブ・ワークの概念を導入しました。大きな256ビットの数値であるコインベースのハッシュは、困難度の閾値を上回らなければなりません。このプロセスはパズルを解くようなものであり、このパズルを解く唯一の方法は、指定された困難度を満たすハッシュを持つコインベースを見つけ出すことにあります。マイナーは、nonceに対して多くの乱数を試すことで、初めに困難度をクリアし、自分自身のためにブロックを獲得しようと試みます。

ビットコインでは、難易度は適応的であり、ネットワークはブロックの生成時間を平均約10分に保つために、洗練された移動平均アルゴリズムを使用します。もしブロックが平均して10分よりも速いペースで見つかれば、ブロックが平均10分ごとに見つかるまで難易度が上昇します。逆に、11分ごとに見つかるようになると、平均10分でブロックが生成されるように難易度が下がります。

サトシ・ナカモトの提案は、マイナーが常に最長の有効なチェーンに従うというものです。ブロックチェーンは、有効であるために難易度ターゲットを満たす必要があります。ブロックを構築する際、創世ブロック(初期ブロック)を除けば、常に既存のブロックの上に積み上げていきます。このルールは、単に最長のチェーンを持つことだけでなく、最長かつ有効なチェーンであることを意味します。他のマイナーは、ブロックに記載された全ての取引が実際に有効であること、つまり署名が正しく、一度使用されたコインが支出可能であったかを検証します。彼らはこの状態を維持し、それがビットコインが二重支出問題とコイン発行問題の両方を解決できる理由なのです。すなわち、ブロックチェーンを構築するために必要なすべてが整っているのです。

実際、本格的なプロダクショングレードのブロックチェーンを構築しようとするなら、考慮すべき追加の要素が山ほどあります。まず、分割された数量を扱えるようにしたいでしょう。一度に1ビットコインだけでなく、複数あるいは分割されたビットコインの数量を転送できるようにする必要があります。

コインの観点から見ると、一度に多くのコインを入力として消費し、同時に多くのコインを生成できるトランザクションが望まれます。一対一でコインを接続するトランザクションではなく、多対多であり、多くの入力コインが多くの出力コインに接続される形になります。ちなみに、これは現在様々なBitcoinネットワークが運用している方法です。

また、先に述べたトランザクション手数料も存在します。もし人々が無限にトランザクションを放送することを許せば、同じアドレス間で資金が行き来し、市場が溢れかえる可能性があります。手数料とは、トランザクションの一定部分がマイナーに振り向けられるという概念です。ほとんどのBitcoin系のバリアントでは、総入力の金銭価値が総出力よりわずかに大きいと定義され、その隙間となる価値の不足分がマイナーへの報酬となります。

スライド 12

これでミニBitcoinが完成しました。プログラミングができれば、自分自身のブロックチェーンを実装するために必要な要素はすべて揃っています。ちなみに、ブロックは繰り返すことも可能で、これがまさにここで行っていることです。あるブロックで行ったことは、別のコードベースを用いて、別のブロックでも全く同じ手法を繰り返すことができます。これはトランザクションと同じで、同じメカニズムが何度も繰り返されます。

スライド 13

ブロックチェーンのスケーリングは非常に難しい課題です。2018年の短いホワイトペーパーで、私はBitcoinの応用分野の概観を発表しました。ブロックチェーンが関与するデータの量に応じて、処理したり移動させたりするデータ量は、ブロックチェーンで何を行うかによって大きく変わります。基本的には、約100バイト(プライベートキーの桁数程度)から、ブロックチェーン全体を扱う場合には10桁のオーダーにまで及びます。

行う処理内容によって、必要とするコンピューティングリソースの量が10桁も変わるという事実は理解しづらいものです。1桁の違いはリソース量が10倍になることを意味し、10桁であれば1から100億へと達します。これは驚異的で莫大な規模です。この応用分野の概観では、オンチェーン・アプリケーションとオフチェーン・アプリケーションという二つの主要な区別があることが分かります。オフチェーン・アプリは、自分自身や親しいパートナーによって生成されたデータのみを扱います。大企業であれば、数百万件のトランザクションを処理する必要があるかもしれませんが、それはあくまで自社のトランザクションに限られます。データ量は大きくなる可能性があるものの、自社ビジネスに直接関連しているため管理可能です。

一方、オンチェーン・アプリはネットワーク上で放送される全てのトランザクションを扱います。これは、特に小規模なプレイヤーであれば、関係するトランザクション数の何百万倍にもなる大規模なネットワーク全体のトランザクションを処理する必要があるため、はるかに大きなデータ量になる可能性があります。

さらに、コンポーネントを「キャッシュコグ」と「キャッシュランド」に区別する必要があります。キャッシュコグは、コンセンサス問題の解決に寄与する基本的な要素です。これらがなくなると、ブロックチェーンはコンセンサスを失い、機能しなくなります。一方、キャッシュランドはブロックチェーンのインフラ上に構築できる任意のコンポーネントであり、ブロックチェーンの運用に絶対必要なものではありません。

一般的に、サプライチェーンのユースケースを考える際には、メタデータをキャッシュランドの領域に位置付けます。我々の取り組みは、ブロックチェーンの継続的な運用のために必須なものではなく、特定のユースケースがなくとも機能し続けることができます。

スライド 14

実際のサプライチェーンのユースケースにおいてブロックチェーンをスケーリングする場合、ブロックチェーンが何百万ものトランザクションを処理できなければならないという点を考慮する必要があります。大企業は週ごとに何百万件ものトランザクションを扱いますが、これはサプライチェーンの世界では決して例外的なことではありません。しかし、ブロックチェーンはスケーラビリティが低く、マイナーが全てのトランザクションを処理しなければならないという事実がその証拠です。

この問題に対処するため、講義で以前に述べたような解決策など、いくつかの革新が導入されました。主な目標は、ブロックチェーン技術をよりスケーラブルかつ、サプライチェーンアプリケーションで見られる巨大なトランザクション量に対応できるようにすることです。サプライチェーン目的でブロックチェーンを利用するには、単一企業のトランザクションだけでなく、ブロックチェーンイニシアティブに参加する全企業のトランザクションを処理できなければなりません。それは非常に大きな規模になりうる、いや、実際に非常に大きくなる可能性があります。これが注目すべき点であり、ここで救いとなるのが実質的に二つの注目すべき論文です。サトシ・ナカモトが論文を発表した際、ハードウェアの進歩に伴ってこの問題は解決され、必要なだけスケールできるようになるだろうと言っていました。しかし、実際は困難であり、このブロックチェーンや暗号通貨の分野のほぼ全ての関係者が、ここ十年以上にわたりスケーラビリティに苦しんできたのです。

最初の注目すべき論文はECMH、すなわち楕円曲線マルチセットハッシュです。かなり技術的な論文ですが、重要なポイントは、すべてのトランザクションを保持する必要はなく、消費可能なコインだけを保持すればよいという考え方です。この消費可能なコインの集合は、BitcoinエコシステムではUTXOとして技術的に知られています。桁数の話ですが、Bitcoin CoreネットワークのUTXOは現在約5ギガバイト未満です。これはUTXOデータセットのサイズですが、Bitcoin Coreのブロックチェーンを見ると、ブロックチェーンのサイズは約350ギガバイト未満で、ブロックチェーンはUTXOよりもはるかに速いペースで増加しています。

ECMH論文が提供するのは、マルチセットに適したハッシュ関数です。基本的に、コレクションに要素を追加または削除することでハッシュ値を更新できるハッシュ関数となっています。セットそのものやマルチセット自体を保持するのではなく、ハッシュ値だけを保持し、要素の追加や削除が可能となります。このセットのような特性により、追加や削除をどの順序で行っても同じハッシュ値にたどり着くことができます。ECMHを利用することで、UTXOコミットメントを実現でき、コミュニティが完全なブロックチェーンから離れることが可能になります。コミュニティの大多数は、完全なブロックチェーンに対応する必要はなく、UTXOだけを扱えばよいのです。繰り返しますが、Bitcoin CoreネットワークのUTXOのサイズは5ギガバイト、ブロックチェーンのサイズは350ギガバイトであり、基本的に2桁のメリットを得ることができます。これは非常に重要な点です。要するに、ECMHを使えば永続的なデータ保存において2桁のオーダー向上、すなわち大きな利益を得られるのです。

二番目の論文はGrapheneです。これはセットリエコンシリエーションを用いたブロック伝播の新たなプロトコルです。Grapheneを使えば、ピーク帯域幅の要求を基本的に2桁向上させることができます。先ほど説明したこのミニBitcoin構成では、マイナーとトランザクションがネットワーク内で常にピアツーピア方式で放送されています。帯域幅はBitcoinで最も解決された問題かもしれませんが、それでもブロックが発見された瞬間に帯域幅の問題が生じます。マイナーはブロックを主張するために、難易度ターゲットを満たすコインベースを伝播させなければならず、「見てください、私のコインベースは難易度ターゲットをクリアしています」と示します。その後、他のすべてのマイナーはブロック全体をダウンロードし、単にコインベースが難易度を満たしているだけでなく、ブロック全体が有効であることを検証しなければなりません。

ブロックが発見されるたびにピーク要求が発生します。なぜなら、ブロック全体の転送にかかる時間を、素朴に行った場合でも10分の間隔よりはるかに短く保ちたいからです。Bitcoinでは、2つの連続するブロック間の平均時間が約10分になるように、パズルの難易度が調整されています。したがって、ネットワークを非常に安定させるためには、ブロックの転送時間を全体のほんの一部、例えば30秒未満に抑えたいのです。しかしそのためには、ブロックを30秒以内に転送する必要があり、ピーク帯域幅に制限が課されます。ブロックの転送速度は、あなたの帯域幅によって制限されるのです。

Grapheneのアイデアは、圧縮に基づく技術を活用することで、ブロックのほとんどが既にネットワーク上で放送されたトランザクションであるため、ブロック全体を転送する必要がなくなる、というものです。放送するのは、あなたのブロックにどのトランザクションが含まれているか、または含まれていないかを他のマイナーに完全に信頼できる形で知らせるための、リエコンシリエーションセットだけです。そうすることで、ピーク帯域幅に関して更に2桁の削減が可能になり、これは非常に意義深いことです。

これは非常に興味深い点で、例としてGrapheneは技術的な偶然からBitcoin Cashネットワークや最近のeCashネットワークで機能するでしょうが、Bitcoin Coreネットワークでは機能しません。これはサトシ・ナカモトが予見していなかった部分でもありました。

私が要求事項のリストで最後に述べた要件は、ソフトウェアの保守には社会的契約が必要であり、保守を行い、後の発見をブロックチェーンに組み込むチームが存在することを意味します。そうでなければ、10年前やブロックチェーン誕生時のパフォーマンスと安定性に縛られ続けることになります。

スライド 15

さて、今度はブロックチェーンの高速化という別の問題があります。従来のBitcoinネットワークでは、平均的なブロック間の時間が10分であり、コンセンサスの状態に対して本当の確信を得るためには、複数のブロックを待つ必要があります。一般的な目安として、絶対的な信頼性を得るには6回の確認が必要とされ、これによりおおよそ1時間の時間枠が確保されます。ブロック間の時間を短くできれば良いのですが、問題は、時間が短くなるほどブロックサイズも小さくならざるを得ず、結果としてスケーラビリティが損なわれる点にあります。不定期なブロックは非常に大きなブロックを可能にし、これは一方で良い面もあり、ネットワークが膨大なトランザクションに対処するのを助けます。

グローバルネットワークにおける遅延を考慮すると、この10分という目標は最適ではありませんが、1テラバイトに達する可能性がある非常に大きなブロックを用いた分散型コンセンサスの運用において、効率的な範囲内に収まります。非常に大きな数値に聞こえますが、人類規模のユースケースを見ると、必要なものとなります。スケーラビリティを維持するためには、ブロックの時間間隔を十分に空ける必要があります。しかし、その結果、ネットワークが遅くなるという問題が生じます。取引の確認に1時間かかるのは、たとえばeコマースのユースケースでは、支払い後60分間何も行われなくても配送が翌日以降となるため問題ないかもしれません。しかし、倉庫内や販売時点で何かが起こる場合には、これはあまりにも遅すぎます。まるでクレジットカードの支払いがクリアされるのに1時間かかるかのようで、非常に遅いのです。

スライド 16

私たちが望むのは、通常、3秒以下という目標です。これは、人間のユーザーエクスペリエンスの観点から、3秒で決済が完了するものであれば十分に迅速と感じられるためです。クレジットカードの支払いを考えてみてください。支払い時に「1-2-3」と数えられる程度なら問題なく、十分に速いと感じられます。この時間枠内で完全なセキュリティが確保できれば、ほとんどのユースケースで非常に良好なユーザーエクスペリエンスが得られます。機械間、低遅延通信には依然として遅すぎますが、人間の認知を伴うほとんどのユースケースには十分です。

このレイテンシー問題に対処するために、ほぼ10年間にわたって多くの解決策が提案されました。しかし、そのほとんどはあまり良くありませんでした。どれもBitcoinやそのスケーラビリティを損なう様々な制約があり、また、Bitcoin発表後に急速に出現した素朴な解決策でもありました。これらの解決策の多くはリーダーの選出に依存しており、そのリーダーが一定期間、低レイテンシーのサービスを提供するための一時的な中央権威として振る舞いました。しかし、リーダーを選出する問題点は、一人のリーダーから別のリーダーへの移行が非常に混沌としたものになり、サービス品質において大半が数秒で済む一方、時には実際に1時間に及ぶ場合がある状況を招くことです。これは、誰から見てもネットワークのダウンタイムとして認識されるでしょう。

私の意見では、十分に良い解決策が発表されるまでに10年を要しました。この解決策は、匿名チーム「Team Rocket」による素晴らしい成果で、2018年5月に発表された『Snowflake to Avalanche』という、暗号通貨向けのもう一つのメタ安定コンセンサスプロトコルファミリーに属します。この論文では、Snowflake、Snowball、そしてAvalancheという3つのアルゴリズムが提示されています。各アルゴリズムは前のものの上に構築されており、実際の魔法はSnowballアルゴリズムにあり、これは論文のタイトルには記載されていないものです。

根本的には、彼らが構築したのはメタ安定性であり、これは非常に興味深いものです。対立するトランザクションがある場合、どちらが選ばれるかは本質的に問題ではありません。なぜなら、レイテンシーの改善は二重支出の防止や、二重支出に関する曖昧さを生じさせる時間枠を短縮することにあるからです。メタ安定な状態を持つという考え方は、参加者同士が常にやり取りするプロトコルを望むということです。目的は、もし2つの対立するトランザクションが存在した場合、ネットワークがメタ安定な均衡に到達することにあります。ネットワークは真実の一つの解釈に向かって急速に収束するのです。どちらであっても構いません、ただ一つに絞られればよいのです。つまり、対立するオブジェクトが存在すれば、ネットワークは議論を重ねてその衝突を解決します。

Snowflake は収束が遅いプロセスを提供する一方で、本稿で紹介する Snowball は指数関数的なスピードアップを可能にする工夫を提供し、結果としてはるかに高速な収束を実現します。Avalanche は取引グラフに関連するいくつかのグラフ特性を提供します。しかし、私個人の理解では、Avalanche の貢献ははるかに弱く、実際に魔法をかけているのは Snowball なのです。Avalanche の実装を望むかもしれませんが、Snowball だけで求めるメタ安定性の約 99% を実現できます。

この手法には一つの欠点があります。サトシ・ナカモトのプルーフ・オブ・ワークとブロックでは、どんな観察者でも介入して何が起こったかを目撃し、全過程を再現してすべてを検証することができます。このセキュリティは、観察者がオンラインであるかどうかに依存しません。観察者はオンラインでもオフラインでも構わず、それが問題になることはありません。これはネットワークとのライブ接続に依存しない、優れたセキュリティモデルです。

一方、Avalanche はセキュリティを生成するために、観察者が常にネットワークのチャットを監視することを要求します。遅れて参加した観察者が過去の取引のセキュリティを再評価することは不可能です。しかし、私たちはこの問題をさほど気にしていません。なぜなら、ネットワークにライブで接続していれば、その瞬間に行われている取引のセキュリティを評価できるからです。過去に、あなたがそこにいなかった取引については、プルーフ・オブ・ワークとブロックが依然として取引の検証方法を提供するのです。

Avalanche は Bitcoin に対立するものではなく、補完的なものです。Snowflake から Avalanche へのソリューションの弱点の一つは、コイン発行問題に対して明確な解決策を提供しないことです。両方の長所を取り入れるためには、プルーフ・オブ・ワークと大容量ブロックによる Bitcoin のような設計を維持しつつ、そこに低遅延のセキュリティを上乗せするのが理想的です。

Avalanche を混乱させる可能性のある特定の種類の Sybil 攻撃を回避するために、プルーフ・オブ・ステークが採用される可能性があります。これは、経済的な絡み合いの層を導入するものであり、非常に Bitcoin 的な考え方です。望ましいセキュリティを実現するためには、すべての関係者が正直であることを保証する経済的絡み合いのネットワークを構築する必要があります。より低い遅延を実現するためのソリューション設計の方法も存在します。

Slide 17

さて、表現力の話に戻りますが、ここでは単なる金融取引を超えて、サプライチェーンとその目的でのブロックチェーンの利用を追求しています。金融取引は背景として必要ですが、より多くのことを可能にしたいのです。問題は、この追加のロジックをどのように組み込むかという点です。

暗号通貨の世界では、多くの暗号通貨がスマートコントラクトという概念を導入しています。スマートコントラクトは、本質的にマイナー自身がブロックチェーン上で動作させるプログラムです。マイナーは取引の有効性を検証しますが、もし取引の一部としてプログラミング言語やアセンブリコードを含むことができれば、マイナーはそのプログラムを実行し、特定の性質が検証されるかどうかを確認することができます。これが一般的に Ethereum で行われており、スマートコントラクトと呼ばれています。「コードは法である」というモットーは、マイナー自身により正しいと認証されたプログラムの実行を信頼することを意味します。

しかし、私はこのアプローチが二つの非常に異なる点で根本的に誤っていると考えています。第一の問題は、これによってスケーラビリティ問題がさらに悪化することです。ブロックチェーンのスケーリングは既に非常に困難であり、すべての取引をマイナーに向けて集約しなければならないからです。マイナーはこれらの取引に対して多くの処理を必要とせず、署名の検証だけで済むのです。各取引に対して行うべき確認作業が最小限であるため、マイナーは膨大な数の取引を処理できるのです。ところが、もしマイナーが取引の検証に加え、あらゆる企業からの任意のプログラムも実行しなければならなくなったら、状況は非常に厳しくなります。これこそが、長い間 Ethereum ネットワークや複雑な契約向けの他の暗号通貨で起こっている問題です。

後発の暗号通貨、たとえば Ethereum などはより良いエンジニアリングの恩恵を受けているにもかかわらず、スケーラビリティの面では依然としてはるかに困難な問題に直面しています。ある程度の知名度とネットワーク上での活動が活発になると、すべてが巨大なスケーラビリティ問題に直面するのです。結局のところ、すべてのプログラムを実行しなければならないという事実に帰結します。

スマートコントラクトの第二の大きな問題は、それらが本質的に不変なプログラムであるという点です。プログラムをブロックチェーン上に配置する際、そのプログラムは自律的に動作するので信頼されるべきだと考えられています。「自律的」とは、コミュニティのためにマイナーが金銭的インセンティブをもってプログラムを実行し、その全過程が透明かつ検証可能であることを意味します。しかし、不変のプログラムの大きな問題は、バグがあった場合に修正できない点です。

スマートコントラクトの歴史は、契約を運用する者に莫大な損失をもたらす連続的な侵害の事例に彩られてきました。Ethereum でさえ、重大な契約侵害があったために大規模なフォーク(Ethereum と Ethereum Classicへの分裂)を余儀なくされました。これは、問題を巻き戻し、ブロックチェーンが提供すべき不変性を損なうことにつながったのです。回避策はなく、もしスマートコントラクトで些細でない何かを行えば、侵害のリスクに晒されることになります。

2018年、私は Tokida という別のアプローチを発表しました。これは、ブロックチェーンと並行して任意のプログラムを動作させることができる方法を示しています。Tokida では、プログラムはオープンソースであり、「信頼するが検証する」というモデルで運用されます。契約の結果に興味があるすべての人が、望めばその検証を行うことができ、パフォーマンス面でもコミュニティ全体があなたのプログラムを実行する必要がないため、より柔軟です。もしソフトウェアにパッチを当てたい場合でも、コミュニティ全体が何を行ったか気づかないまま、いつでも修正が可能です。

万が一侵害が発生しても、大きな問題にはなりません。なぜなら、パッチを適用でき、そのパッチが善意で行われたものであるとコミュニティが評価できるからです。サプライチェーン目的のセキュリティモデルとして必要なほとんどは、「信頼するが検証する」ことで十分なのです。誰かが不正を働けば、他のすべての人がそれに気づき、それで十分です。通貨自体の場合は、最初から不正を防ぎたいところですが、スマートコントラクトに関しては、通貨自体と同じレベルのセキュリティは必要ありません。不正を事後に検出できれば十分なのです。もし誰かがあなたのビジネスを騙し始めたら、そのパートナーとは二度と取引しないことになり、それで話は終わります。最初から不正を防ぐ仕組みを設ける必要はありません。ビジネスにおいて信頼は不可欠であり、パートナーと取引する際には、ある程度の信頼が既に存在しているのです。

Slide 18

さて、講義の第2部、ユースケースに入りましょう。私の考えでは、ブロックチェーンの主要なユースケースは依然として支払いです。特に海外のサプライヤーへの支払いは依然として課題であり、電信送金の清算には場合によっては2週間もかかることがあります。銀行システムの支払いワークフローは21世紀に追いついておらず、大きな請求書に対する二重払いなどのミスを引き起こす可能性があります。

私は、特に遅延支払い、条件付き支払い、または品質要件や納期を満たさない製品に対するペナルティのような複雑なメカニズムを実装する場合、支払いに多くのユースケースが存在すると考えています。プログラム可能な通貨を用いれば、これらすべての仕組みを、かつてはSFのように思えた方法で実装することができます。

しかし、このユースケースには二つの注意点があります。第一に、暗号通貨は依然として非常に価値のボラティリティが高く、その価値は時間とともに劇的に変動する可能性があるという点です。このボラティリティは依然として問題ですが、過去10年間で徐々に低下してきました。10年前はさらに高く、徐々に下がっているものの、依然として多くの大企業の快適圏を超えています。これらの暗号通貨の価値が日々10%の変動を見せるのは依然として一般的です。10年前は約50%でした。第二に、数千種類もの暗号通貨が存在するため、どの通貨を選び、パートナーと合意するかという問題が生じます。しかし、非常に低い手数料(例:0.1%)で任意の暗号通貨を他の通貨に変換できる自動化された外国為替システムのような仕組みも存在するため、この問題は軽減されます。

Slide 19

もう一つのユースケースは、受動的なトレーサビリティです。トレーサビリティは航空宇宙、製薬、自動車など、生命に関わる多くの産業にとって不可欠です。例えば、偽造の自動車部品は、耐久性の低さから致命的な事故を引き起こす可能性があります。非代替性トークン(NFT)は、トレーサビリティを新たな次元に引き上げるために利用できます。NFT は譲渡可能なシリアル番号のようなもので、安全な取引を通じて、この番号の所有者だけが自分の秘密鍵を用いて番号を他の参加者に譲渡する権限を持つのです。NFT を利用すれば、発行元による偽造さえも防ぐことができます。

NFT を用いたトレーサビリティを実現するためには、QRコードとスマートフォンだけで十分であり、主にソフトウェアベースの解決策となります。ブロックチェーン技術は、生産から消費者までの透明なトレーサビリティを維持する手段を提供します。しかし、いくつかの課題も存在します。まず、すべての参加者がひとつのフォーマットとひとつのブロックチェーンに合意する必要があります。ブロックチェーンはバイナリのペイロードを扱うため、トレーサビリティとして利用する際にはそのフォーマットに合意が必要となり、各業界や企業がそれぞれ固有のフォーマットや基準を持っていることから、非常に複雑な問題となります。

人々が必ずしも気づいていないのは、実世界のサプライチェーンが非常に柔軟であるという点です。例えば、航空宇宙業界ではトレーサビリティが非常に優れているにもかかわらず、ある工程では部品に付随する書類が PDF で渡され、次の工程では同じ PDF がスキャンされ、またそのスキャンが注釈付きで再スキャンされることさえあります。根本的には、人間が介入して書類を解読できると仮定されているのです。しかし、ブロックチェーン上で運用する場合、そんなに曖昧なプロセスは許されません。ブロックチェーン上で公開するすべてのデータのバイナリフォーマットを完全に指定する必要があるのです。そうでなければ、プログラム的に操作できるという利点を失ってしまいます。

すべての基準を統一するのは困難であり、トレーサビリティを機能させるためには、少なくとも垂直的かつ地域的にすべての参加者が共有するひとつのブロックチェーンを選ばなければなりません。しかし、ひとつのブロックチェーンを選ぶ際には莫大な利害衝突が生じます。というのも、ブロックチェーンはその基盤となる暗号通貨から完全に切り離すことはできないため、もしあなたが暗号通貨に投資しているなら、所有する通貨に関連するブロックチェーンが採用されることに、自らの利害が関与してしまうのです。

これらの利害衝突は遍在しており、評価が難しいです。ブロックチェーンは通常匿名であるため、どのブロックチェーンを選定するかについて実際に試してフィードバックを得ようとする際、スタッフ間で発生し得る潜在的な利害衝突を慎重に考慮する必要があります。大規模なサプライチェーンを運営する企業では多くの人が関与しており、これらの問題はさらに拡大します。

Slide 20

さて、より対立的な例を考えてみましょう。例えば、アフリカのような非常に貧しい国々で事業を行う製薬会社を想像してください。そこで彼らは偽造薬という深刻な問題に直面しています。これらの貧しい国々では、すべての仲介者がある程度汚職に関与しているのです。汚職した仲介者は、本物の製品が入った箱を手に取り、本物の薬を箱からすり替え、代わりに偽造薬を詰め、その箱を市場に売り出すかもしれません。偽造薬を購入する人々は、命に関わる状況にあり、本物の薬を本当に必要としているのです。これは貧しい国々で極めて深刻な問題であり、偽造薬のパッケージを再現することは非常に簡単です。一つの潜在的解決策は、ブロックチェーンとトークンを用いた能動的なトレーサビリティの導入であり、これはヨーロッパでの付加価値税 (VAT) の仕組みを彷彿とさせます。VAT は、企業が誠実なサプライヤーと絡み合う社会工学的な仕組みを生み出すため、詐欺がほぼ不可能となる難解な税制です。

この考え方は、同じコンセプトをブロックチェーンに応用するというものです。たとえば、あなたが薬を生産する製薬会社だと仮定しましょう。実際の価格が 10 ドルであるにもかかわらず、あなたは薬のパックを仲介業者や卸売業者に 15 ドルという高値で販売します。そうすると、トークンの所有権の移転が発生し、卸売業者は 1 ドル分の価値を引き換え、その結果、コストが 14 ドルに下がります。次に、その卸売業者は薬のパックを流通業者に販売し、再びトークンの所有権の移転が起こります。流通業者がトークンを請求すると、購入したばかりの価値から 1 ドルを引き換えることができ、その後、最終消費者に至るまで同様のプロセスが繰り返されます。

最終的に、最終消費者が薬の箱を受け取ると、11 ドルを支払い、スマートフォンで QR コードをスキャンすることで 1 ドルを引き換え、その 1 ドルが消費者に戻ります。このアプリは二つの役割を果たします。第一に、最終消費者が余分な 1 ドルを取り戻す手助けをし、そして最も重要なのは、全体のトレーサビリティを検証してクライアントに表示することです。最終消費者は余分な 1 ドルを回収したことを知らされ、シリアル番号はすでに消費済みであると宣言されます。

結果として、最終消費者はトークンを他者に譲渡することはできず、箱を受け取った者は自分のモバイルアプリで全トレーサビリティチェーンが確認され、それが本物の箱であることを認識できます。この仕組みにより、金銭的なインセンティブのおかげで不正行為が極めて困難になり、関連するシリアル番号なしで薬を流通させることが不可能になるのです。サプライチェーンの最終段階では、人々は貧しいかもしれませんが、本物の薬であるかどうかを確認したいと考えるのは当然です。これが、非代替性トークン(NFT)に金銭的メカニズムを重ね合わせ、すべての関係者に特定の行動を促す能動的なトレーサビリティと呼ばれるものです。

薬品の例では、すべての最終消費者がシリアルナンバーを主張するための金銭的インセンティブを持っています。このインセンティブがなければ、人々は箱を消費済みと申告せず、偽造薬品がネットワークに再投入される可能性があります。シリアルナンバーを消費済みとしてマークすることで、誰も再利用できなくなります。しかし、このアプローチはすべての参加者の調整と参加を必要とし、すべての仲介者がこの金銭的ゲームに参加しなければなりません。これは有効なユースケースですが、非常に多くの関係者間の協調が必要です。

スライド21

別の潜在的な応用例として、預託金返還システムによるリサイクルの奨励が挙げられます。これらのシステムは長い間存在しており、国によってはある程度普及しています。元の製造者は、通常、供給チェーン下流に押し出された機器を再利用、リサイクル、または修理する上で最も有利な立場にある参加者です。しかし、これらのシステムを導入するには摩擦があり、その摩擦をさらに低減することが課題となっています。ブロックチェーンと暗号通貨は、マイクロペイメントに伴う摩擦を低減し、業務が不正操作されないようにするためのインフラを削減する可能性を提供します。

たとえば、人々がガラス瓶を返却するたびに20セントを返金する場合、攻撃者は偽造瓶を製造し、回収された部品を販売して得るマージンでシステムを操作する可能性があります。ブロックチェーンは、こういったいくつかの不正行為を緩和するシンプルな方法を提供できますが、本質的には漸進的な性質のものです。預託金返還システムが新しいものではないことは言うまでもなく、長い間存在してきました。重要なのは、摩擦を少しだけ低減し、より多くのユースケースを可能にすることです。

スライド22

もう一つ注目すべきユースケースはセキュリティです。サプライチェーンはサイバー攻撃に対して脆弱です。サプライチェーンは設計上、地理的に分散しており、ITシステムやデバイスが至る所に存在します。そのため、攻撃対象面積は大きくなり、他の方法では難しい状況になります。サプライチェーンはクライアント、サプライヤー、パートナー、外部の物流プロバイダーと接続され、広大な攻撃面を作り出します。EDIのようなシステム統合がサプライヤーからの注文や応答時間の改善に有益である一方、より密な統合はセキュリティの問題も増加させます。

この脆弱性の例として、請求に関連する一見些細なサービスがハッキングされ、パイプライン全体が1週間稼働不能となり、米国の重要インフラを危険にさらしたColonial Pipeline事件が挙げられます。この文脈でブロックチェーンはどのように役立つでしょうか? 一つのアプローチは、IoTデバイスを含むすべてのシステムとデバイスに、約100ドル相当の少量のビットコインを保持させることです。すべてのシステムとデバイスがこの金庫を持っていることを公表することで、ハッカーにシステムに侵入してその金を盗むインセンティブを与えるのです。

しかし、これは窃盗ではなく、システム侵入のためのバウンティ(報奨金)と見なされます。例えば、ハッカーがIoTデバイスに侵入した場合、その中にある金銭を主張することができます。さらに、彼らがどのように侵入し、問題をどう解決すべきかを報告すれば、ビットコインで約300ドル相当の第2のバウンティを支払うことも可能です。インセンティブを生むことで、あなたはセキュリティをテストするために倫理的なハッカーの作業に資金を提供することになるのです。もし悪意のある行為者だけにインセンティブが働けば、Colonial Pipeline事件のように、非常に厄介な侵入事例を発見することになるでしょう。しかし、正直で倫理的なハッカーにシステムに侵入するインセンティブを与えれば、おそらくシステムに侵入するのは誠実な人物となり、その後、問題の発生を防ぐためにシステムの修正方法を教えてくれるでしょう。興味深いのは、これらの金庫が公開されているため、ネットワークに導入すれば、侵入されたかどうかを透明に監視できるということです。IoTデバイスがインターネットに接続されていなくても、すべてのデバイスを外部から監視することが可能です。もしそのデバイス内のコインが移動しているのを見たならば、それは何らかの方法でそのデバイスが侵入されたことを意味し、非常に重要な情報となります。

注目すべきは、世間に報じられたハイプロファイルな侵入事件では、実際には攻撃者が数ヶ月もシステム内に潜んでから身代金を請求することが多いという点です。このブロックチェーンに基づくセキュリティシステムを使えば、早期警戒メカニズムを構築できます。不正なハッカーがシステムに侵入したとしても、面倒な身代金交渉プロセスを経ることなく、単に金銭を掴んで逃げる可能性があります。

これはセキュリティを考える別のアプローチであり、おそらくあなたが供給チェーンにおけるブロックチェーンのユースケースとして想定していたものではないでしょう。しかしご覧の通り、供給チェーンの興味深いユースケースは常に何らかの金銭的インセンティブを伴っており、これはブロックチェーンを供給チェーンのユースケースに適用する際の考え方として非常にビットコインらしいアプローチです。

スライド23

さて、申し上げた通り、ブロックチェーンはほぼすべての代替ソリューションと比べて非常に構築が困難です。ブロックチェーンソリューションの設計は、他の解決策に比べて少なくとも2桁(100倍)難しいと考えてください。したがって、ソフトウェアエンジニアの1週間分の作業で問題を解決できると考えるなら、その数字に100をかけた労力が、ブロックチェーンで同じことを行うために必要な努力になります。状況によっては意味をなす場合もあります―高価であるからといって採算が合わなくなるわけではありませんが、根本的に難しいものであり、その点を考慮しなければなりません。また、計算資源に関してもコストは大幅に高くなります。通常、ブロックチェーンはスケールさせるのが非常に難しく、非ブロックチェーンのセットアップと比べると、何を行うにしても100倍の計算資源を費やすことになります。場合によっては気にしないかもしれませんが、多くのケースでは、computing hardware のコストが100倍になることは大きな問題です。

問題は、どのように代替案を試すかということです。ブロックチェーンが関わるほとんどの状況において、非ブロックチェーンの代替案は存在します。通常、これは要求事項を緩和することで実現されます。追加価値の観点から、もしこの講義冒頭で述べた否認不能性を放棄する覚悟があるならば、何らかのコンソーシアムを設置することができます。このコンソーシアムは、チェックポイントデータベースを使用し、コンソーシアム内、もしくはコンソーシアム外の企業や団体など、第三者が検証可能なログを公開します。重要な点の一つは、各参加者がプログラムによって操作可能であるように、非常に明確に仕様が定められたバイナリ形式を持つことです。これが整えば、本来ブロックチェーンから得られる価値の大部分を獲得できるでしょう。

この点におけるサプライチェーンの優れた例として、バーコードのためのGS1があります。GS1はバーコードを割り当てる組織で、何十年もその役割を果たしてきました。この組織は独立した団体として設立されたため、当初はIBMが直接バーコードを管理していたわけではありません。GS1は実際にブロックチェーンを使うことなく、ブロックチェーンがもたらす付加価値を提供しています。しかし、このアプローチは信頼できる中央集権もしくはコンソーシアムが必要です。製薬などの非常に集中している業界において、すでに大きな市場シェアを持つコンソーシアムを構築することはそれほど困難ではないかもしれません。

スライド24

結論として、サトシ・ナカモトのコンセンサスは驚くべき発見です。2008年に分散システムの専門家に、中央集権を用いずにビザンチンコンセンサス問題を解決できるかと尋ねたならば、その多くは「不可能だ」と答えたでしょう。それほどまでに、そのアイデアは人々の可能性の範囲をはるかに超えていたため、誰もその方向を考えていませんでした。その意味で、これは驚くべき発見でした。ミニビットコインで紹介したように、これは非常にシンプルなアイデアであり、金銭以外にも応用があり、主要なユースケースとして金銭があるのです。

忘れてはならないのは、すべてのブロックチェーン・ユースケースには、はるかに簡単に運用できる非ブロックチェーンの代替案が通常存在するということです。ブロックチェーンに付随する余分なオーバーヘッドが、すべての手間に見合うのかをしっかり評価する必要があります。最後に、ブロックチェーンはその基盤となる通貨と根本的に絡み合っているため、これがすべての利益相反の根源となることを決して忘れてはなりません。

過去の講義の一つで、対立する市場調査について、企業ベンダーの選定方法やレビューにまつわる問題について自分の見解を示しました。これらの問題に取り組む直感的な方法の多くは、利益相反によって台無しにされてしまいます。ブロックチェーンや暗号通貨の場合、その問題は千倍にも悪化します。ビットコイン、ビットコインキャッシュ、eCash、その他の暗号通貨を所有していれば、誰もが大きなインセンティブを持ち、投資による偏見が生じます。そして、もしあなたの会社が特定のブロックチェーンに有利な方向に進むなら、それは彼らの投資にとっても有利となるかもしれません。

この問題に対する良い解決策は私にはありませんが、注意深く準備することをお勧めします。インターネット上で見つかる暗号通貨に関する情報のほとんどは信頼できません。なぜなら、多くの人々が自分の好む通貨を推奨することに利益相反を抱いているからです。命を預けられる同僚以外は誰も信用せず、自分自身の判断、または状況を理解している同僚の判断に頼るべきです。ブロックチェーンに伴う利益相反は、特に長期間の関係と高い信頼性が通常求められるサプライチェーンにおいて、予期せぬ行動を引き起こします。

大規模なサプライチェーンを運営する組織は、暗号通貨分野に存在する不信感のレベルに対して十分な準備ができていないかもしれません。これで講義を終了します。それでは、質問を見てみましょう。

スライド25

質問: ブロックチェーンとビットコインは同じものではありません。一方は独自のものであり、もう一方は基本的な技術です。

その通りです。セマンティクスや用語の使い方は重要です。この講義を準備している時点で、同一ではないと指摘する人が出ることは承知していました。しかし、技術的意味で純粋なブロックチェーンを検討するのであれば、GitHubのようなGitリポジトリもブロックチェーンと見なすことができます。Gitリポジトリは約15年前から存在しており、世界を熱狂させるような現象は起こしていません。これらのGitリポジトリには、数十億ユーロやドルが流入流出しているわけではありません。

要点は、ブロックチェーンは生み出す付加価値の面でのみ機能するということです。同じブロックチェーンであっても、ビットコインとGitが区別されるのは、ビットコインには技術の特定の側面を解放する内蔵の金銭的インセンティブがあるからです。これが肝となる部分です。もし、設計されたすべての金銭的側面やインセンティブを取り除けば、単なる技術的なデータ構造に過ぎず、全く魅力がなくなります。確かに、素晴らしいデータ構造であることは間違いありません―Gitも素晴らしいデータ構造ですが、市場全体を騒がせるほどの影響はなかったし、誰も「このGitリポジトリは数十億の価値がある」とは言わなかったのです。何かしら違いがあるのです。用語の細かい部分を除けば、多くの企業がブロックチェーンという用語を採用した主な理由は、完全な無法地帯のように見なされていた暗号通貨との議論において、何かしらの区別を設けるためだったと考えています。

質問: ブロックチェーンは、分散型コンセンサスを可能にする技術ですが、その代償として遅延、スケーラビリティの問題、さらには環境汚染などのコストが伴います。

その通りです。ちなみに、環境汚染のユースケースについても触れておきましょう。金銭の発行プロセスにおいて、どのようにお金が発行されるか—ユーロであれドルであれ、中央銀行や連邦準備制度であれ—、経済主体がその発行から利益を得るために投資可能であれば、限界費用分まで投資するものです。したがって、中央銀行が100を印刷し、私がそれら100を取り戻すために90を投資できる場合、私はそうするのです。

どのような金銭発行プロセスであっても、人々はその効用に見合う形で限界費用まで支出するものです。ビットコイン・コアの価値が膨らんでいるために、新たに発行されるビットコインを獲得するために電力に対して多大な支出を惜しまなくなっていることが判明しました。しかしながら、そのプロセスは指数関数的に減少しており、数十年後には新たに発行されるビットコインの量はほぼゼロに近づくため、作業証明に対して人々が支払う金額もほとんどなくなるでしょう。これは一時的な問題であり、現状では使われていない余剰な電力が主に利用されているに過ぎません。

あなたの結論に同意します。それは、ビザンチンコンセンサスの観点から分散型コンセンサスを実現しており、確かに巨大なオーバーヘッドが伴うという点です。まさに、それが正しい結論です。

質問: なぜサプライチェーン業界でブロックチェーンを使うのか? 分散型パラダイムは何を解決し、どのような問題をもたらすのか?

講義でさまざまなユースケースを紹介しました。分散化を実現することで、コンソーシアムを構築する必要がなくなります。問題は、もし信頼できる中央集権が存在し、その中央集権が誠実であれば、問題は解決されるという点です―つまり、ブロックチェーンは不要になります。では、もしそれが存在しない場合、どうすればよいのでしょうか?

中央集権を持つ領域、例えば支払いのための電信送金などでさえも、中央機関―つまり銀行や中央銀行―の管理下にあります。私たちは中央集権の shortage に直面しているのではなく、それどころか、2021年においても海外のクライアントとの支払い決済に2週間を要するのです。これは21世紀です。メールを送れば数秒で受信されるのに、電信送金となると数週間かかります。明らかに、解決が非常に困難な問題も存在するのは、中央集権が存在しないからではなく、むしろ中央集権が多すぎるか、あるいは複雑な問題のために関係者をまとめることができないからなのです.

これまで、例えば、すべての仲介者が腐敗している貧しい国で運用するアクティブなトレーサビリティなど、いくつかのユースケースについて説明してきました。これは、誰をも信頼できないという別の問題です。汚職が蔓延している場合、これらの問題に対処するのは非常に困難です。このような状況では、分散型ブロックチェーンが参加者の誠実さをエンジニアリングする方法を提供してくれます。要点は、参加者が最初から誠実であることを期待されるのではなく、サプライチェーンを運用する間、誠実さを保つように仕組みづくりされているということです。もし全員が既に非常に誠実であり、中央集権的な権限がしっかり機能しているのであれば、追加の付加価値はほとんどありません。

Question: マイニングに特化したASIC(アプリケーション固有集積回路)や採掘用ファームの存在に対して、誰も簡単にネットワークの51%のパワーを握れないようにするにはどう対処していますか?

歴史的に見て、ASICはBitcoin Coreネットワークのセキュリティに対してプラスの効果をもたらしてきました。なぜなら、現代の状況にはもう一つの問題、すなわちボットネットが存在するからです。ボットネットとは、犯罪組織によって制御され、コンピュータ、プリンター、監視カメラなど、何百万もの日常的なデバイスが文字通り乗っ取られている巨大なコンピュータ群のことです。これらの組織は、あなたがデバイスを使えなくなると、修理やマルウェアの除去が必要になるため、敢えて妨害しないのです。

セキュリティの観点から言えば、現状では犯罪組織が何千万台ものコンピュータを無料で利用できる環境にあります。ボットネットを運用するこれらの組織は、Microsoftのセキュリティ更新情報を見ると、年に数回、Microsoftが実際に非常に大規模なボットネットを一掃していることが分かります。例えば、「このWindowsアップデートを適用しました。ちなみに、5,000万台規模のボットネットを一掃しました」と通知されることもありました。これは非常に印象的です。つまり、ASICの存在は、一般的なコンピュータのような通常のハードウェアでこのゲームをする意味がなくなることを意味します。その結果、ボットネットを運用する犯罪者は、それを利用して暗号通貨を採掘できなくなり、ボットネットを収益化する一つの手段が失われるのです。これにより、マイナーは通貨に専念せざるを得なくなります。 あなたもご承知の通り、ASICは問題ではなく、逆に余分な処理能力がボットネットを通じて暴走したり悪用されたりしないようにするための解決策なのです。ボットネットは既に誰にとっても大きな問題であり、それ以上その力を強化することは望ましくありません。

Question: 米国の裁判で日の目を見なかったTelegramオープンネットワークについてどうお考えですか?また、メッセンジャーが発行する暗号通貨全般についてはどう思われますか?何か新しいものをもたらしているのでしょうか? 個人的には、Telegramの場合は状況が極めて予測可能であり、Facebookやその他の上場を目指す企業も同様だと考えています。企業であれば一般的に、KYC(顧客確認)要件という規制が存在するという決まりがあります。詳細には踏み込みませんが、基本的に大企業であれば、多くの法域でKYCが求められるのは当然のことです。規制が適切かどうかを論じるつもりはなく、単にKYC規制が多くの国で蔓延しているという現状を述べているに過ぎません。

ブロックチェーンをブロックチェーンたらしめる要件のひとつ、つまり私が挙げたリストの第2項は、参加者が匿名であるという点です。したがって、KYCの要件とは相反することになります。ブロックチェーンを運用するには、ネットワークに参加する者の擬似的な匿名性を維持することに同意しなければならず、これはKYC要件という意味では全く適合しないのです。

正直なところ、これらの企業が何を考えていたのか疑問ですが、上場企業でありながら、米国SECやフランスのAMFのような当局に対して説明責任を果たしつつ、明らかに大企業に蔓延するKYC規制に完全に反するような仕組みに関わる企業は考えにくいです。根本的には、彼らは規制当局が自分たちだけに規制を緩和してくれるかどうかを試すための水試しをしていたのだと思います。しかし、思うような結果にならなかったため、撤退することになったのです。さらに、例えばTelegramやFacebookが、暗号通貨を運用するのではなく単に宣伝するだけであれば、その暗号通貨の大幅な後押しが可能だったでしょう。しかし問題は、彼らが単に宣伝するだけで運用しないため、自らに得るものがほとんどなく、もし通貨の成長から利益を得る仕組みがなければ、メリットは微々たるものに過ぎない点です。ちなみに、Elon Musk、あなたがBitcoinについてツイートし、あなたの会社がそれに関与していると明かし始めるとき、私はその行動を注視しています。これは文字通り、最初に暗号通貨の持ち分を取得し、目立つ発言でその通貨を盛り上げ、評価額が上がったところで売却するというゲームそのものです。ちなみに、このプロセスは「パンプ・アンド・ダンプ」と呼ばれています。おそらくTelegramやFacebookは、運用せずに単に通貨を宣伝することで利益を得る唯一の方法がパンプ・アンド・ダンプに過ぎないと悟り、そのような不正行為によって評判を損なうことを避けたのだと思います。

Question: 7年前、数多くのスタートアップがブロックチェーン技術をサプライチェーン関連分野に持ち込むのを見ましたが、いずれも(大規模には)成功しませんでした。大規模で成功し、その効果を実証した例をご存知ですか? 良い質問です。まず、地球上の誰も、実際に大規模に機能し、スケールするブロックチェーンを持っているとは思えません。Bitcoin Coreの実験を見ても、うまくいっていません。ネットワークは完全に飽和状態にあり、既に4年間その状態が続いています。これはスケーラビリティとは正反対の状況です。Bitcoin Cashという別のブロックチェーンもありますが、多少の前進は見られたものの、十分な時間がなく内部対立もあったため、実際に機能させるための最終的なエンジニアリングが完了しませんでした。さらに、私が先に触れたばかりの新しく作られたフォーク「eCash」は、基本的にBitcoin Cashのフォークであり、元のSatoshiクライアントに起因するスケーラビリティの多くの問題を解決しようと試みています。大規模スケーラビリティが実現できるという希望はありますが、これはあくまで理論的な見解に過ぎません。現状、ハイパースケールで動作する何かが証明されているわけではありませんが、ある程度は可能であると考える理由はあります。ちなみに、Bitcoin用のテラバイトサイズのブロックに関する私の論文も公開しています。 今のところ、このような大規模なシステムを実現することに成功している例は誰もありません。本当に難しい問題です。まず、基盤レイヤーのスケーリングが最初の課題であり、その上でサプライチェーン向けのスタートアップは、さらに高度な仕組みを求めています。スケール可能な基盤レイヤーが必要で、その上でサプライチェーン全体がスケールする仕組みを構築しなければなりません。私が述べたように、サプライチェーンにユースケースや付加価値は存在するものの、まずはスケーラビリティとレイテンシーという非常に難しい問題を解決しなければならないため、成功した例はないのです。また、私が引用した論文もそれほど古くはなく、例えばAvalancheに関する論文は数年しか経っていません。いくつかの突破口はまだ最近のものであり、さらなる時間が必要でしょう。スケールするためには、理論的アルゴリズムのレベルで突破口を開く必要があり、それは非常に難しい課題です。

アルゴリズム、例えばAvalancheのようなものは、正しく実装するのが悪夢のように困難です。細部に至るまで間違いが許されず、ブロックチェーンの世界では一つのミスがセキュリティ侵害や攻撃、資金の損失を招く可能性があります。バグや問題が発生したときの深刻さは、単なるエンタープライズソフトウェアのクラッシュとは異なり、再起動や影響を受けたデータの手動修正だけでは済まされません。一度大規模な破損が生じれば、その損害は永久的なものになる可能性があり、極めて厳しい状況です。

この分野に参入した多くのスタートアップは、ブロックチェーン領域で直面する課題に対するエンジニアリング的な考え方について、全くの準備不足であったと私は考えています。優れたエンジニアリングだけでは十分ではなく、成功するためには真に卓越したエンジニアリングが必要なのです。

これで本講義のQ&Aセクションは終了します。次回の講義は、サプライチェーン向けの数学的最適化についてで、8月25日水曜日に行われます。その際、私は休暇を取る予定です。ちなみに、数学的最適化はブロックチェーンとは対照的に、数多くのサプライチェーンで日常的に利用されており、その応用範囲は非常に広大で、ユースケースも非常に現実的なものです。ニッチなユースケースの話ではなく、実際に大規模な応用がなされているのです。

This concludes the Q&A section for this lecture. The next lecture will be on mathematical optimization for supply chain and will be held on Wednesday, August 25th. I will be taking some vacation time off. By the way, mathematical optimization, contrary to blockchain, is used daily in many supply chains. The applications are enormous, and the use cases are very down-to-earth. We are not talking about niche use cases; the applications are massive.

数学的最適化は、統計的学習や最適なsupply chain decisionsを下すことと非常に密接に関連しています。それでは、また次回。