😸

AIがSolidityをマジノ線にする。ブロックチェーン戦争の強制リセット

に公開

今まで多くのL1/L2ブロックチェーン・web3プロトコルでユースケース創出や開発者誘致に尽力してきた。しかし、完全にゲームが変わった。これは変化を受け入れるためのメモだ。

※本記事は人間が書いた後、AIに文章を読みやすく整えてもらいました。

Ethereumエコシステムの先行優位性

ブロックチェーン上でチューリング完全なプログラム、すなわちスマートコントラクトを誰でもデプロイできるプラットフォームとして、Ethereumは世界で最も早く(※世界初かは諸説あり)主流な地位を築いた。

「Ethereumキラー」を標榜して、後発ブロックチェーンも次々と誕生した。覇権の奪取を狙ったのだ。今や数千(いや数万か?)のブロックチェーンが存在する。

Solidityの致命的な課題

Ethereumのスマートコントラクト開発には独自言語Solidityを使用する。
しかしSolidityでの開発には課題があった。

  • 言語仕様の未成熟さ: 特に初期のSolidityは仕様が不安定だった。頻繁な変更により開発者は常に追従を強いられた。
  • 言語設計の欠陥: 実行環境(EVM)やState管理などEthereumそのものの特性に起因する問題が存在する。セキュリティホールが生まれやすい構造だった。
  • 学習コストの高さ: Solidityは表面的にはJavaScriptからインスピレーションを受けたが、本質的に異なり、エンジニアにとって不慣れな言語である。さらに独自概念の理解も必要だった。GAS管理、ストレージ最適化、リエントランシー攻撃の防御など。これらが学習コストを押し上げていた。

後発ブロックチェーンの必然的な戦略

この状況を受けて、後発チェーンは二つの戦略のどれか(あるいは両方)を実行する。

一つ目が、より洗練された独自言語の開発
SolidityよりもセキュアでDeveloper Friendlyな言語であれば、自ずと開発者を惹きつけると考えられた。型安全性の向上、直感的な構文設計など。

二つ目が エンジニアが慣れ親しんだ既存言語でのスマートコントラクト開発
エンジニア人口の多い言語(Python、Rustなど)での開発を可能にすることで、学習コストを大幅に削減でき、開発者誘致にも有利であると考えられた。

どちらもごく自然かつMake Senseな発想だ。

後発戦略の完全な失敗

しかし、この戦略はことごとく失敗に終わる。

結果として、Solidityに対応したブロックチェーンが成長し、Solidity互換性のないブロックチェーンは圧倒的に不利な状況に陥った

プラットフォームとしてのブロックチェーンを用意したは良いものの、以下の悲惨な状況が繰り返された。

開発者が参加しない
→アプリケーションやユースケースが生まれない
→魅力的なアプリケーションがないからユーザーも参加しない
→ユーザー基盤が貧弱だから事業者も興味を持たない
という悪循環。

※まあ最初からトークン発行がゴールのブロックチェーンも少なくなかったのだが

歴史=コード資産=MOAT

なぜ、後発言語がSolidityの牙城を崩せないのか。開発者体験に優れているはずなのに。

答えはシンプルで、歴史こそが最強のMOAT(参入障壁) であるからだ。

Solidityの価値とは横軸と縦軸の集合知、すなわち「開発者数 × 時間」 である。

開発者たちはSolidityにストレスを覚えつつも、時間をかけて資産を蓄積してきた。

  • 再利用可能なコードライブラリ
  • セキュリティのベストプラクティス
  • デバッグ手法とツール群
  • 監査ノウハウ
  • 教育リソース

Solidity互換性がないチェーンはこれらの資産を継承できない。ゼロから歩みを始める必要がある。
特にセキュリティリスクはハイコスト。過去の攻撃事例から学んだベストプラクティスを一から構築し直す必要がある。

長い時間と膨大なユーザーによって育まれたコード資産に追いつくことは難しい。
よって、どんなに技術的に優れていようと、Solidity以外の言語を採用することはL1/L2ブロックチェーンにとってバッドプラクティスとされてきた。チェーン側のエゴにすぎず、実態ニーズに即していないと。

Web3はClaude Codeに全部賭けろ

しかし、ゲームチェンジが起きつつある。AI開発だ。
あるいはVibe Coding(僕はこの呼称を好かない)。
あるいはAgentic Coding(マシになった)
いや、Context Coding(一番しっくりくる。これで行こう)

Context Codingとは

AIが文脈を理解し、人間の意図を汲み取って自動的にコードを生成・修正する開発手法である。開発者は要件や仕様を自然言語で伝え、AIが実装を担う。

今後は、Context Codingフレンドリーな言語であることが第一の要件となる

SolidityとAI開発

Solidityは決してAIとの相性が悪いわけではない。AIによるスマートコントラクト開発はすでに実用化されている(要件定義とTDDベース)。
しかし、それは一部のEVMエンジニアの優秀さによって、運用でカバーしているに過ぎない。僕も2024年7月のPolygon Aggcaveのワークショップで教わったからできるようになったが、たまたま優秀かつGiverな開発者がいて、貴重なノウハウを惜しみなく伝授してくれた幸運の賜物である。
つまり、 属人的な知識とスキルに依存している のが現状だ。

根本的な問題として、Solidityの言語仕様はAIに最適化された設計ではない

  • 曖昧な構文要素が多い
  • 暗黙的な状態変更が頻発する
  • セキュリティ考慮事項が言語レベルで表現しにくい

新言語の優位性

一方、Move(Sui)やLua(Arweave AO)は言語設計レベルでAI開発と極めて相性が良い。多分Motoko(ICP)もそうなのかな?

ただし、学習データとしてはSolidityに比べて圧倒的に少なく、明確に不利な要素だ。
しかしこれは、Claude Code以後は覆せる。

Claude CodeでEthereum(Solidity)、Solana(Rust)、Arweave AO※(Lua)、Sui(Move)などのスマートコントラクト開発をそれぞれ試してみてほしい。

Context Codingとの相性の差異が肌で実感できるはずだ。

※厳密にはAOはブロックチェーンそのものではないが、ブロックチェーンと競合する存在だと捉えて良い。また、AI Agentなどの実行環境としても最強のポテンシャルを持っている。

マジノ線の教訓

これまでの常識では、新言語が成長するには相応の時間を要すると考えられていた。しかし、もはや歴史はAIで踏み倒せる。

開発者人口の多寡すら重要ではなくなりつつある。ごく少人数で莫大な開発生産性を発揮できる からだ。

1人のエンジニアがAIによってExpandされ、従来の10人分、100人分の生産性を実現する。この状況では、既存のコード資産よりも、AIとの相性が重要になる。

さて、マジノ線をご存知だろうか。

第一次大戦後、フランスが対独防衛のため築いた400kmの大要塞線である。フランスは巨額の予算と20年の歳月をかけて「鉄壁の防御」を完成させた。

それまでの常識では無敵の盾だったはずが、ドイツ軍が電撃作戦というイノベーションを発明したことで無力化された。戦車とバイクによる高速機動部隊がマジノ線を迂回し、フランスを6週間で降伏させた。

長年築き上げられたSolidityのコード資産も、もはやマジノ線になりつつある。

過去の蓄積よりも、新しいゲームルールへの適応が重要になった。AIとの協働に最適化された言語と開発環境が、従来の優位性を一気に無効化する可能性がある。

ゲームのルールそのものが変わるのだから。

終わりに:ブロックチェーン戦争の強制リセット

ブロックチェーン戦争は強制リセットを迎える。
これまでの常識では、歴史とコード資産こそが最重要であり、開発者数がエコシステムを決定し、Solidity互換性が必須だった。この鉄則に従って、多くのブロックチェーンプロジェクトが戦略を組み立ててきた。

しかし今や、AI適合性こそが要諦となった。
少数精鋭のチームが高生産性を実現し、Context Codingフレンドリーな言語が勝利を収める時代。
過去の蓄積よりも、未来への適応力が問われている
この転換点を見逃すブロックチェーンは、フランスのマジノ線と同じ運命を辿るだろう。どれほど堅固に見える防御も、ゲームルールが変われば一夜にして無力化される。

ARM3rd

Discussion