見出し画像

イーサリアムの開発エネルギーの凄さと他分野での再現性

LayerXの中村 (@nrryuya_jp) です。(見出し画像はEthereumの公式サイトより。)

パブリックブロックチェーンであるイーサリアム(以下Ethereum)のProof-of-Stake (PoS) 移行がついに成功したそうです。PoS移行の中身の話は省略しますが、要は時価総額数十兆円のシステムの「お引っ越し」であり、非常に困難かつ壮大なプロジェクトです。私も一時期EthereumのPoS研究開発携わっていたため、とても感慨深いです。

(みんな思い思いのツイートをしてましたが、私は本プロジェクトの実質PMのDanny Ryanの長年の思いが詰まった下記のツイートが気に入りました。バランスの取れたリーダーであり、フランクで良い人でした。)

PoS移行の大変さを要約すると、
失敗したら数十兆円吹き飛ぶ可能性があり、世界中に迷惑をかけるどころではない
・完全にパブリックなネットワークであり、世界中のハッカーから常に攻撃対象(攻撃すると儲かるため)
使われている技術は全くもって枯れておらず、実装以前に理論研究段階から必要
・基礎研究を終えて本格的に始動してから5年近くかかった
という感じです。(ここで終わりではなく、他にも色々な技術的アップデートが予定されています。)私がEthereumの研究や開発をしていたのは2018-2020年の短い時間でしたが、一部だけでも関わることができたのは貴重な体験でした。

私はEthereumの活動を続けるのではなく、自分(たち)でも先端的なセキュリティ・プライバシーの技術で社会の長期的な問題を解決する事業をやりたいと思い、現在はLayerXでプライバシー保護技術によるパーソナルデータ流通の事業に取り組んでいます。Ethereumからは離れたものの、Ethereumコミュニティの「開発のエネルギー」から当時学んだことを、民間企業や行政でも参考にできないものかと考えております。今回のPoS移行を含め、Ethereumが「成功」なのか、個人的にはまだ分からないですが、新しい技術を使ったプラットフォーム・インフラ開発の事例として学びのある研究対象であることは間違いないと思います。

そこで今回、PoS移行の記念ということで、Ethereumコミュニティの開発力がどのように生まれているのかと、他の分野でどのように参考にできるのか、私なりの考えをまとめてみます。(私はもう2年くらい離れているので、今は違う点もあるかもしれませんがご容赦ください。)

大雑把に要約すると、技術的なビジョンのあるリーダーシップと徹底的な透明性・オープンさが世界中から優秀な開発者・研究者の協力を集め、高い理想に向けて高速に失敗を繰り返す「巨大なアジャイル開発」の賜物だと思います。

以下、良い点ばかり上げていますが、(過去にインシデントが何度も起きていたり、後述の通り遅延が多いなど)課題も沢山あります。が、今回は良い面から学ぶ回ということにさせてください。
(なお、私は暗号資産としてのイーサリアムを保有しておらず、投機的な意図のある記事ではありません。)

①徹底的なオープンさ

まず、やや有名なところからですが、Ethereumでは、開発・研究の議論が全てオープンです。掲示板的なサイト (ethresear.ch) やDiscord/Telegram等で行われ、定例会議の録画がYouTubeに上がっています。

単にGitHubのリポジトリや論文が公開されていること(結果のオープンさ)とは異なり、プロセスがオープンなのがポイントだと思います。成果物が公開されているだけだと、そのアウトプットに至る前のコンテキストがわからず、外部の新参者の参加が促進(後述の④)されません。私も他のプロジェクトで、手伝おうと思ったら内部で既に進んでいた、という残念な体験をしたこともありました。(別分野の似た話題として、接触確認アプリのCOCOAのOSS開発の総括でも、開発状況の可視化について触れられていました。)

そして、オープンさとは、カオスを許容することだと思います。不確実性が高く変化が激しい(後述の③)中、オープンさがコミュニティに誤解や不安感をもたらすこともあります。例えば、ある技術的変更案があるとして、特定の種類のアプリケーションに不可逆的な影響を与えるというとき、通常なら、その種類のアプリケーションの開発者に配慮して、変更の意思決定が固まり、影響範囲や対応などが整理されてから情報公開共有するといったやり方もあると思います。しかし、Ethereumの場合は、まだ固まってない、ふわっとしたアイデア段階から公開され、議論が始まっていくため、そのアイデアが採用された場合に影響を受ける人たちが、断片的な情報を見て途中で大反対し始め、議論に入ってきて混乱が生まれる、といったが起こります。

これは何もオープンソースの世界に限らず、企業の中でもありうる話だと思います。下記のツイートの「大本営」のアナロジーは個人的に納得しました。

このような「ゴチャゴチャ」が、Ethereumではありのままに展開されていると思います。コミュニティが大きくなるほどカオスは増していくため、規模の拡大の中で維持するのは楽ではなく、中の人たちの相当の努力あってのことかと思います。

(余談として、よく「〇〇をDAO化したら」みたいな話がありますが、個人的には、いきなりトークン/NFT発行等ではなく、まず「組織内Slackを全世界に公開してDM禁止にすると強烈に良いことがあるか」から考えてもいいのかなと思います。)

②技術的リーダーシップとキャパシティ

Ethereumのファウンダーかつ研究開発を率いるVitalikをはじめ、実質的なリーダー陣は非常に情報処理能力が高く、新参者・古参に関係なく色々な人の提案を自分で読んで判断しフィードバックを返します(前述のethresear.chやTelegramなどへの投稿にかなり返信してくれます)。規模の大きいプロジェクトでありながら、意思決定のために複数の会議にエスカレーションされるようなことはほぼなかったと記憶しています。

また、その時々の重要なリサーチクエスチョンを定期的にリストアップしてくれるため、「この問題を解けば役に立つ」というのがわかりやすく、実際に何らかアウトプットすると大歓迎してくれます。

さらに、意思決定がフェアなリーダーが集まっていると感じます。ちゃんとメリットがデメリットを上回ることが論理的に説明できていれば、きっとその案を採用してくれるだろうという「説得される力」と、その判断をするためのキャパシティがリーダーに大事だと学びました。(ただし、例えばアルゴリズムのシンプルさをどれくらい重視するか等、設計哲学的な観点は最後は「エイヤ」な意思決定もありました。)

③高速な失敗の繰り返し(無駄を恐れない)

体感ですが、Ethereumで研究開発されて盛り上がった技術的概念の9割は、半年から1年後に何らか間違いだったと分かるような感じです。それくらい、アイデアを出してはコストをかけてみんなで検証して捨てることを繰り返しており、そのサイクルが速いと思います。

まず、①で紹介したオープンさゆえに、アイデア段階(まだ詳しい設計も実装もない段階)で提案してから、その間違いの指摘までが非常に早いです。企業の中での開発だと、せいぜい自分のチームの2-5人くらいに見てもらうだけで、そのメンバーで何も気づかなければ素通りされてしまいますが、前述のEthereumの掲示板やチャットだと、各テーマに専門で取り組んでいる人(エンジニアだけではなく、暗号や分散システムの有名な先生なども)がツッコんでくれます。(特にVitalikなどはTwitterでアイデアを呟くだけで色々な人がコメントしてくれるので、率直に羨ましいなと思ってました。地頭のスケーラビリティを感じました。)

アイデア段階である程度良さそうであれば、そこから理論的な検証と実装を同時並行でどんどん進めるのも特徴的だと思います。理論面を固めてから実装に入るコミュニティもあると思いますが、特にP2Pのシステムの場合は実装にも理論と同等に不確実性があるので、リソースさえ確保できる(後述の④)なら並行でやるのが速いということだと思います。途中で問題点が見つかれば、非情なまでに、作ったものを全部捨てる感じです。今回のPoS移行までに、アーキテクチャレベルの抜本的変更が何度もありました。(私のIPA未踏のプロジェクトも、終了後にロードマップが変わってほぼ無駄に。残念。)

④100倍の協力者を集めること

ここが③の「無駄を恐れない」のために必須だと思います。一般的な企業の製品だったら、GAFAMのエンジニアが仕事を辞めて開発に参加してくれたり、会ったこともない欧米のトップ大学の研究者が、その製品の問題点と解決策を半年かけて研究して論文を書いて学会発表してくれるなどは想像できないですが、Ethereumではそれが頻繁に起きています。ここは、外部の新参者が入りやすいための①のオープンさや、それを受け止めて活かせる②のキャパシティがあってこそだと思います。

EthereumはICOで集めたお金をジャブジャブ使って成り立っているわけではないと思います。下記のツイートの通り、中心組織であるEthereum Foundationの出費は小さいです(レポート中に内訳書いてありますが、大半は研究・開発費)。コミュニティ全体としては膨大なコストがかかっていて、無駄も多いものの、特定の組織の資金に過度に依存せずに開発のモメンタムを作れているということだと思います。

「自分たちが開発しているもののうち1-2割は外部の協力者の仕事」とかではなく、中心組織のリソースをコミュニティが100倍くらいにスケール(どこまで含めるか次第でもっと大きくなると思います)させていて、かつそれが持続的であるというのが稀有なことだと思います。

⑤常に技術的な競争がある

Ethereumのパーツやプロトコルには大抵複数種類の候補があり、それらが単にアイデアレベルの候補ではなく、別々のチームがフルタイムで開発に取り組んでいることが多いです。(余談ですがPoSで使われるプロトコルにも元々2つの方式があり、私は両方に関わっていました。)代案があることで、常にメリット・デメリットが厳しく比較されますし、比較の観点も多角的になります。さらに、どれかに問題が見つかった場合に、大抵代わりのプランがあります。所謂イノベーションのジレンマの回避になっていると思います。研究開発のリソース配分において「選択と集中」は常に議論になるところですが、Ethereumにおいては「解決するべき問題については絞るが、解決の手段については絞りすぎない」という形になっていたのだと見ています。

また、技術者同士の競い合う気持ちが、生産性を高めていました。OSSで活躍する技術者・研究者の大半は、「技術的に正しく詰めていきそれをロジカルに説明する」姿勢がありつつ、一方で「自分がやってやるというプライドや負けず嫌いの気持ち」が根底にあるように感じます。③の「無駄を恐れない」話と関連しますが、リソースの効率性を高めようとして、変に皆が取り組んでいることが被らないようにしてしまうと、緊張感も生まれず、失敗に脆弱になります。同じ問題に別の人が別のやり方で取り組むことを引き止めない、煙たがらない文化が必要です。

他分野での再現性

以上、①から⑤までの5つの点を挙げました。これらが弾み車のように回ることで、Ethereumの開発のエネルギーが生まれているのだと思います。私は直接体験したわけではないですが、有名な『伽藍とバザール』のLinuxなど、オープンなコミュニティ・エコシステムが高い開発エネルギーを生んだケースは他にもあり、恐らく共通点が沢山あると思います。

このような、開発エネルギーを生むコミュニティ・エコシステムの作り方が、ブロックチェーンやOSSに閉じない他のどんな分野で再現できるのかや、再現するための方法論があれば、社会の色々な問題解決の時計の針を進めることができるのではと考えています。

民間や行政など、視野を広げて再現性を考える上で、①-⑤を大雑把に難易度順に並べるのであれば、④(100倍の協力者) > (大きな壁) > ①(徹底したオープン) > ③(高速な失敗) > ②(技術的リーダーシップ) > ⑤(技術的競争) だと考えています。④が再現性の肝であり、他の4つの点の前提にあると思います。

例を挙げます。まず、今回のPoS移行を含めて、Ethereumのアップデートはスケジュールの見通しが悪い期間が長かったのですが、ここは一般的なプロジェクト・マネジメントとして見ると大きな課題だと思います。(ざっくりとローンチの予想時期が語られて、後に1-2年単位でスケジュールが先送りになることが何度もありました。)当然Ethereumのアップデートは誰かに納品する受託開発ではないですし、何かの事情で明確な〆切があったわけではなかったと認識しています。とはいえ、一般的なプロジェクト同様、ズルズル遅延することで開発コストが膨らむことはEthereumでも問題になり得たはずです。しかし、④つまり開発を持続的に支えるコミュニティ・エコシステムあったことで、ひとまず今回のPoS移行に漕ぎ着けられたのだといえます。

よって、再現性を考える上では、④(100倍の協力者)の実現と相性の良いプラットフォーム/インフラの性質が何か、というのが重要だと思います。今回は詳細な議論は割愛しますが、安直には、人を惹きつけるビジョンや、企業が投資して回収できるくらい、そのプラットフォーム/インフラ上でビジネスが花開くという期待値が必要に思えます。特に前者は、研究者・開発者に、人生の良い時期を賭けてまで協力したいと思ってもらえるかにつながります。1-2年の流行りではなく、数十年と続く長期的に重要な問題に取り組んだ方が、キャリアの実績という意味でも良いと考えるのは自然だと思います。

パブリックブロックチェーン以外で、開発エネルギーを再現できる可能性があり、そのインパクトが大きい未来のプラットフォーム/インフラの候補として、以前LayerX Labsという組織で、中央銀行デジタル通貨 (CBDC) や、スマートシティといったテーマに取り組んでいました。それぞれ、中央銀行の作る決済インフラの上に色々な民間企業がサービスを展開されることや、自治体のデータ連携基盤で地域の色々なデータが接続されることなどが期待されており、いずれもプラットフォーム/インフラとしてEthereumと構造的に似ているところがあると考えていました。CBDCについては、日本銀行が現在研究を進めており、先日私も登壇させていただきましたが、広く民間事業者を集めたフォーラムを開催するなど、①のオープン化の方向性に進んでいるのだと思います。

(再現性については様々な論点やアイデアがあり、本当はもっと書きたかったのですが、時間がないので、今回はここまでとさせていただきます!)

最後に:筆者は今何をしているのか

前述のLayerX LabsでテーマにしたCBDCやスマートシティにおけるプラットフォーム開発は非常に時間軸が長く、スタートアップが持続的に貢献できる形を見つけられませんでしたが、そういった活動から転じて、現在はプライバシー保護技術によるパーソナルデータの企業間流通の事業に取り組んでいます。

このテーマに至った背景は色々あるのですが、今回紹介したEthereumに影響を受けたとしては、作る人も使う人も惹きつけるような長期的で重要な問題に取り組むことと、技術的な困難に挑戦することです。パーソナルデータの安全な流通は、金融・医療・行政を始め色々な分野で、今後10年、20年とテーマになると考えています。その際、差分プライバシー合成データなどの要素技術は日々進化しているものの、まだまだ枯れた技術ではなく、自分達でも研究開発をしながら実用化していく必要があります。

プライバシー保護技術及び、開発しているプロダクトであるAnonifyは、ここまで議論したような大規模なプラットフォームやインフラではないものの、プライバシー保護の仕組みは「プロトコル」に近い性質があります。個別の企業や組織が各々使うだけではなく、国や業界ごとの法規制やガイドラインなどと一緒に作られるべきものです。そこでは、上記の「開発エネルギーを生む仕組みの再現性」が重要になるはずなので、活動を進める中で方法論を研究していき、また別途発信していきたいと思います。

宣伝:仲間を募集しています

LayerXのミッションは「すべての経済活動を、デジタル化する。」なのですが、(みんなで議論の末)このミッションに決めた当初は正直、「ちょっと広すぎる気がするけど、響きはいいな」くらいしか感じていませんでした。しかし、文字通り「すべての」経済活動をデジタル化するには、社会としてこれから沢山のプラットフォーム/インフラ開発を成功させなければならず、非常に重たい言葉であるとここ最近は感じています。そこでは、本記事で紹介した開発エネルギーを生む方法論なども重要になるでしょう。

LayerXには3つの事業があり、各事業がそれぞれのやり方で、このミッションの実現に向かって取り組んでいます。どの事業も積極採用中です!

私が担当するPrivacyTech事業については、先日の事業説明会の録画がYouTubeに上がっておりますので、ご覧いただけたら嬉しいです。(採用情報ページはこちら。)

この記事が気に入ったらサポートをしてみませんか?