Foresight Ventures: 壊れたコンポーザビリティ
出典:Foresight Ventures
"可組合性とは、コンポーネントが再構成されてより大きな構造を形成できる能力を指し、あるコンポーネントの出力が別のコンポーネントの入力となることを意味します。最良の例は、すべてのブロックが他のブロックに接続できるレゴです。"
素晴らしい可組合性…ですか?
神聖なる可組合性!可組合性は私たちにお金のレゴ(ERC-20やOpenZepplinなどの標準)をもたらし、金融のレゴ(DeFiプロトコルのさまざまな組み合わせ)をもたらし、メディアのレゴ(NFT)をもたらしました。
可組合性とは、革新的な開発者がレゴを組み立てるように、他人のレゴ(契約ソースコード)を持ち寄り、修正して新しい製品を作り出すことです。
可組合性は複利です!ユーザーは創造されたさまざまな新製品間で相互作用することで、資産の無限の可能性を引き出すことができます。
Web3の可組合性は、コピーされたレゴではなく、引用されたレゴのマイクロサービスアーキテクチャに似ており、より強力ですが、より危険でもあります(板の効果が顕著で致命的です)。
Crypto = 可組合性(オープンソースデータとコード + 相互運用性 + 流動性統合) + インセンティブですが、Cryptoの重要な構成要素として、無限の重要な変数である可組合性のレゴは、実際にはいつ崩れ落ちるかわからない危険な建物です。
可組合性 === 開発と使用の複雑性
例えば、すべてのコードベース(例外なく)はクソ山です(Web2時代の成熟プロジェクトでは、コード行数の数字だけでも非常に複雑です)。
組み合わせが多いほど、複雑性が高まり、開発や使用時にエラーが発生する可能性が高くなり、バグも増えます。
例えば、この記事を読んで「いいね」とシェアするのは簡単にできますが、ビットコインの価格を見ながらリンゴの皮をむき、自転車に乗ることは同時に行うのが難しいです。確かに多くのことを同時に行っていますが、効率は高いものの、非常にエラーが発生しやすいです。
上の図はイーサリアムのシャーディングプランの変化です。EVMの設計目標には「シンプルさと外部依存の削減」が含まれています。非常に複雑なアイデアであっても、「合理的にシンプル」なバージョンを持つことが多いです。時には、あまり多くの組み合わせやエンジニアリングが必要ないこともあり、物事を過度に複雑にする必要はありません。
可組合性 === ソフトウェア依存のリスク
可組合性は、多くの場合、特定のプロジェクトが他のプロジェクトと組み合わせなければ動作しないことを意味し、これがソフトウェア依存のリスクです。
例えば、DEXアグリゲーターを作る場合、アグリゲートされるDEXがネットワークにオンラインになるのを待たなければならず、彼らを組み合わせる必要があります。これにより、素晴らしい可組合性を発揮できます。しかし、これはUniswapが提案を出し、提案が通過し、デプロイされた後でなければ、あなたのアグリゲーターをオンラインにできないことを意味します(言うまでもなく、多くの場合、直接Uniswapを使用する方がアグリゲーターよりも良いです)。
より明白な可組合性による依存の例は、ネットワークにEVMがなければアプリケーションがオンラインにならないことです。EVMは可組合性に欠かせない要素となり、多くのエコシステムにとってEVMが非常に重要である理由です。
時には、開発者とユーザーが可組合性に過度に依存しすぎることがあります。可組合性は開発者に迅速な接続をもたらしますが、より長い待機時間をもたらすかもしれません。また、既存のコードをもたらしますが、崩れる可能性のあるドミノをもたらします。
可組合性 === オープンソースプロジェクトのドミノ
前述の可組合性依存問題に関連して、この長い依存の連鎖は、可組合性のレゴをドミノに変えてしまいます。
オープンソースのサプライチェーンの毒性の例は最近も頻繁に見られます。例えば、意図的に毒を盛った(本来の意図は良いかもしれませんが)Faker.jsやnode-ipc、そして不注意でインターネット全体のセキュリティを脅かしたLog4j(最近Javaでも問題が発生したようです)。
これらの問題の根本的な原因は次の通りです:
- 開発者はすべてのソースコードを確認せず、コピー&ペーストするだけです(開発者は何かできるのでしょうか?)
- 一般的なオープンソースコミュニティのインセンティブは持続的な開発を支えるには不十分です。(一人の貢献者が八万のユーザーを養わなければならない)
これらの二つの根源を解決するためには、第三者の監査サービス、分散型の開発コミュニティ、合理的なインセンティブを持つDAO、より多くのGitcoin寄付、インフラに配分される資金が必要です。
同時に、問題からもわかるように、コミュニティに全権を委ねることも望ましくありません(JavaScriptコミュニティ)。また、コミュニティの貢献に過度に依存することも、標準ライブラリの欠如を引き起こす可能性があり、通常、コミュニティ開発は長期的なサポートを保証できないことが多いです。私たちは、いくつかの中立的で効果的な組織が標準を決定し、開発コミュニティへの資金インセンティブを導く必要があります。
(ちなみに、EthersはEVMエコシステムで最も使用されているサードパーティライブラリで、週のダウンロード数は約68万ですが、"Web2"のフロントエンドフレームワークであるReactの約5%に過ぎません。Electric Capitalのデータによれば、Web3開発者の数はすべての開発者の約0.07%を占めています。Web3開発にはまだ長い道のりがあります。)
再びWeb3に戻ると、OpenZepplinにリスクが発生した場合、被害を受けるのは私たちのソフトウェアだけでなく、私たちの最も貴重な資金でもあります。これは非常に恐ろしいことです。
可組合性 === 欠点がより顕著なDAO
今年はDAO元年です。DAOはコミュニティのデフォルトの実践となりました。
DAOの可組合性は、組織間が接ぎ木のように共に繁栄し成長することを可能にします。
しかし、分散型組織としてのDAOの欠点は、意思決定が遅く難しく、仕事の貢献を測定できず、時には権力の乱用があることです。
可組合性に満ちたDAOは、DAOを過度に分散化し複雑にし、上記の三つの欠点が幾何級数的に増幅されます。
可組合性はDAOの欠点をさらに悪化させます。
可組合性 === 膨張する金融バブル
伝統的な意味での金融バブルの可組合性の危害については、あまり説明する必要はないでしょう。
NFTの派生商品などの例を挙げると、NFTの金融プロジェクトは積み木を組み立て続け、NFT産業全体がますます複雑になり、アービトラージ攻撃などの攻撃機会も増えています。そして、これらの金融商品は重ねられ、保険会社に認められ(監査機関を思い出させます)、リスクはBAYCを購入できる富裕層から一般消費者に移転されます。最終的にバブルが崩壊すると、最も傷つくのは普通のユーザーです。
ビットコインの創世ブロックが誕生した年に何が起こったか覚えていますか?
まとめ
可組合性については、その利点を知るだけでなく、欠点も知る必要があります。私が文中で言及した各欠点に対して、可組合性の利点で反論することはできますが、それでもこれらの欠点を知っておく必要があります。可組合性を誰かに好きなように扱わせてはいけません。
可組合性にはまだ多くの改善の余地がありますが、それでも私たちに無限に大きく美しいさまざまな傑作(Web1 + Web2 + Web3)を創造してくれました。私たちは、より多く、より良い、より注目される「太ったプロトコル」(私は「太ったプロトコル」理論が少し不合理であることを知っています…)、信頼できる中立性、そして受容性を必要としています。
可組合性は99%の組み合わせと1%の破壊です。