dAppに適したブロックチェーンの選び方
執筆者 Mark Jonathas
ブロックチェーンは、基本的には、開発者がデータストレージを分散化するためのインフラツールです。システムとして、ブロックチェーンは開発者に対し、信頼できる中央の仲介者を必要とせずにアプリケーションを安全に分散させる手段を提供します。
ブロックチェーンは様々な用途に利用でき、その結果、用途に応じて最適化された多種多様なチェーンが存在します。それぞれのチェーンには微妙な違いがあります。そのため、開発者は自分のニーズに合ったブロックチェーンを選ぶために、その違いを理解しておくことが重要です。
この記事では、主要なブロックチェーン間の違いと、開発者が特定の種類のチェーンを選ぶ理由について解説します。
構築するブロックチェーンを選ぶ際に問うべき7つの質問
プロジェクトで使用するブロックチェーンプラットフォームを決める過程で、開発者が考慮すべき要素は少なくとも7つあります。
1. dappにはどれだけのスループットが必要か
開発するプロジェクトの種類によって、必要となるトランザクションスループットの範囲は大きく異なります。
例えば、ユーザーが1日に何千回もマイクロトランザクションを行う必要があるDeFiゲームを構築するのであれば、高いスループットとガス代の低いブロックチェーンが必要になります。
一方、たまにしかトランザクションを行わないDAOを運用する場合は、コラボレーションのしやすさの方が重要な要素になるかもしれません。
重要なのは、ブロックチェーンプロトコルがdappとともにどのようにスケールするかを検討することです。始めたばかりの段階では低いトランザクションスループットで十分かもしれませんが、規模が拡大するにつれて、利益を圧迫したり、顧客の不満を招いたりする可能性があります。
そのため、決定を下す前に、特定のチェーン上で構築する際の長期的なコストと速度を検討することが重要です。開発者は、メインネットのスケーラビリティと、Layer 2ネットワークの利用可能性の両方を考慮すべきです。
例えば、Ethereumネットワークはトランザクションスループットが低いですが、その上に構築されている複数のLayer 2ネットワークははるかに高いスループットを持っています。第2層は、堅牢なブロックチェーンエコシステムのセキュリティと、より高速なコンセンサスメカニズムによるスケーラビリティの両方をアプリに与えるよう設計されています。
2. どのブロックチェーンが必要な水準の開発者向けリソースを提供しているか
ブロックチェーンは比較的新しい技術であるため、開発者が利用できるリソースの有無が大きな違いを生みます。多くのブロックチェーンプロトコルは、開発者に外部チュートリアルやガイドを提供したり、開発者同士が学び合えるグループチャットやフォーラムを作成したりしています。
しかし、これらのリソースの質はまちまちです。あるチェーンで開発を始める前に、そのプロトコルが用意しているリソースについて把握する時間を取りましょう。
例えば、システムによっては合成可能性(composability)を重視して設計されているものもあれば、そうでないものもあります。合成可能性とは、あるアプリケーションの小さな部分を別のアプリケーションの作成にコピーして利用できる度合いのことです。
例えば、Ethereum Virtual Machine(EVM)と互換性のあるアプリは、他のEVM互換ブロックチェーンにdappを容易に再デプロイできます。
ゼロから始めるのと、既存のツールやインフラのエコシステムをもとに構築するのとでは、その差は非常に大きくなり得ます。
dApp構築の過程でどのような問題が発生するかは分かりません。そのため、こうした問題が発生した際に十分なサポートを受けられることを事前に知っておくのは有用です。
3. どのブロックチェーンエコシステムが、あなたのdappのgo-to-market戦略に適した条件を備えているか
すでに非常に活発なエコシステムを持つブロックチェーンもあれば、まだ時間をかけて発展途上にあるものもあります。
例えば、他のアプリに依存するdAppを構築しようとしている場合、大規模なエコシステムを持つブロックチェーン上で開発するのが理にかなっています。
例えば、分散型取引所(DEX)間の流動性を集約するdAppを作成している場合、選択するブロックチェーンに、流動性を集約する対象となる複数のDEXが存在することが不可欠です。
逆に、一部のブロックチェーンにはまだ存在しないプロダクトを構築しようとしている場合は、そのアプリケーションに競合が存在しないブロックチェーンを選ぶことが有利になる場合があります。
もちろん、開発者は単一のブロックチェーンエコシステムに縛られる必要はなく、複数のエコシステムにまたがって成功を収めているプロトコルも数多くあります。
4. そのブロックチェーンはどのプログラミング言語を使用しているか
特定のプラットフォーム上で開発する際の複雑さの度合いは、かなり幅があります。ブロックチェーンによっては、開発者に全く新しいプログラミング言語の習得を求めるものもあれば、プロセスを標準化しているものもあります。
例えば、経験豊富なRust開発者にとっては、主要言語がRustであるSolanaブロックチェーンが扱いやすいと感じられるかもしれません。一方、EthereumとEVMエコシステムはSolidityを中心としています。EVM上で構築したい開発者はSolidityを学びますが、JavaScriptとそれほどかけ離れていないため習得しやすくなっています。
もちろん、これが常に選択肢になるとは限りません。どの開発チームにもスキルレベルには幅があるため、初心者の開発者がどれだけ容易に開発を始められるかは重要な要素となり得ます。
チームの構成や利用可能なリソースを踏まえて検討することが、どのブロックチェーンを使うかの判断材料になります。
5. そのブロックチェーン上で構築することにどのようなインセンティブがあるか
一部のブロックチェーンプロジェクトは、忠誠心に報い、ネットワークへの貢献に対して開発者に報酬を支払うプログラムでインセンティブを与えています。例えば、バグの発見やフォーラムでの回答に対してインセンティブを提供するブロックチェーンもあります。
その他のブロックチェーンは、ステーキングの機会を通じて開発者に報酬を与えたり、プロジェクトがプラットフォームに顧客を呼び込むことで収益を得られるようにしたりしています。
場合によっては、成長ポテンシャルの高い小規模なチェーンと共に構築し、互いの成長による恩恵をチーム間で分かち合うのが賢明なこともあります。一方で、単純に信頼性の高いエコシステムを選ぶ方が良いという場合もあります。
6. そのブロックチェーンは既存の開発者向けツールや連携先と互換性があるか
長年の発展を経て、一部のブロックチェーンツールは業界標準となっています。例えば、HardhatやFoundryのようなweb3ツールキットは非常に人気があり、MetaMaskのような暗号資産ウォレットも同様です。
しかし、これらのツールがすべてのブロックチェーンで動作するわけではありません。例えば、HardhatとFoundryはEVM互換ブロックチェーン上でのみ動作します。つまり、開発者はこれらを使ってSolanaのdappを開発することはできず、代わりにAnchorのようなツールを使用する必要があります。
同様に、既存のツールを特定のブロックチェーンに統合する際の容易さも大きく異なります。
多くのEVM互換ブロックチェーンは同じ統合構造に従っていますが、そうでないブロックチェーン間では異なる場合があります。
新しいブロックチェーンや、ドキュメントが不十分なブロックチェーンでは、統合のセットアップに時間がかかることがあります。
とはいえ、開発者がそのブロックチェーンの長期的な成功を信じているのであれば、統合が多少困難であってもその見返りは十分にある場合があります。
7. そのブロックチェーンはdappにとって十分なセキュリティを備えているか
ブロックチェーンの文脈において、セキュリティはいくつかの異なる事柄を指す場合があります。ネットワークのノードの分散度合いと、トランザクションのファイナリティの両方を指すことがあります。
分散化が重要である理由は、それが組織や政府がdappを停止させることの難しさを表し得るからです。開発者によっては、これを最優先事項と考える人もいます。しかし他の開発者にとっては、トランザクションのファイナリティこそが最も重要なセキュリティ上の懸念事項です。選んだブロックチェーンがフォークしたり、再編成(reorganize)されたりして、ユーザーのトランザクションがブロックチェーンに含まれなくなってしまう可能性はどれくらいあるでしょうか。
ブロック生成の手順はブロックチェーンによって大きく異なり、より堅牢なものもあれば、そうでないものもあります。そのため、選択するブロックチェーンが強固なセキュリティプロトコルを備えているかどうかを確認することは、dAppの存続を左右し得ます。
その他にも検討に値するセキュリティ上の問題があります。例えば、ブロックチェーンが稼働を維持し続ける能力、サービス拒否(DoS)攻撃に対する脆弱性、あるいはコンセンサスメカニズムの根本的な問題などです。あくまで早期の警告シグナルの一つに過ぎないかもしれませんが、そのブロックチェーンが過去に停止したことがあるか、フォークしたか、大規模な再編成が行われたかを検討することは、今後起こり得ることの指標になり得ます。
いずれにせよ、そのブロックチェーンの歴史を調べ、過去に他のアプリがそのチェーン上でどのようなパフォーマンスを発揮してきたかを検討する時間を取ってください。
適切なブロックチェーンプラットフォームを選ぶ
特定のdAppに適したブロックチェーンプロトコルを選ぶ際、開発者は主要な各ブロックチェーンの長所と短所を把握しておくべきです。
1. Ethereum
Ethereumは、スマートコントラクトという概念を先駆的に導入したことで知られるLayer-1ブロックチェーンプラットフォームです。
Ethereumは2015年にVitalik Buterinによって立ち上げられました。Vitalikは、Bitcoinの分散化の原則を仮想マシンに応用しました。
この着想により、Ethereumブロックチェーンは金融サービス、ガバナンス、財務管理、決済、取引所、アートなど、数千のアプリが開発される技術革新の拠点となりました。
Ethereumはその分散型のセキュリティによって、スマートコントラクトブロックチェーンの中で最も多くの価値を集めてきました。
Ethereumのブロックは15秒続き、つまり決済はその時間以内に行われます。Ethereumのブロックサイズは最大限の分散化を達成するために制限されており、これが一部の他のブロックチェーンと比較してトランザクションのコストを高くしています。
Ethereumは現在、スケーラビリティの改善に向けた取り組みを支援しています。このプロセスの大部分は、Layer-2ブロックチェーンの開発支援に関わるものです。
2. Arbitrum
Arbitrumは、Ethereum向けのLayer-2スケーリングソリューションの中で最も人気のあるものの一つです。Offchain Labsによって構築・維持されており、「オプティミスティックロールアップ」と呼ばれるバッチ処理プロトコルを使用しています。これは、トランザクションがEthereumに公開される前に、デフォルトですべて有効であるとみなす(楽観視する)方式です。
この手法により、ArbitrumはEthereumのセキュリティと分散化を活用しつつ、より高速で低コストな決済を提供できます。
完全な分散化はArbitrumのロードマップの一部ですが、現時点では技術スタックの一部がArbitrumチームによって中央集権的に管理されています。チームが技術を反復改善し、その実現可能性に確信を持てるようになるにつれて、スタック全体が分散型ガバナンスの下に置かれる予定です。
3. Optimism
Optimismも、データをEthereumに投稿するオプティミスティックロールアップの一つです。
Optimismも同様に、Ethereumのセキュリティと分散化の恩恵を受けながら、より安価で高速なトランザクションを提供します。
トランザクションをバッチ処理することで、Optimismはトランザクションスループットの速度をEthereumメインネットより1桁から2桁高い水準までスケールさせることができます。
Optimismは、Arbitrumと同様に、分散化よりもスケーラビリティとセキュリティを優先しています。EVM互換であるOptimism Virtual Machine(OVM)と呼ばれるシステムを使用しています。
Optimismのロードマップにも、現状よりさらに分散化を進める計画が含まれています。
4. Polygon
以前はMatic Networkとして知られていたPolygonは、2019年に立ち上げられたLayer 2スケーリングソリューションで、Ethereumブロックチェーン上のトランザクションをより高速に、シンプルに、そして安価にすることを目的としています。
zkSyncやStarkNetなど、他のLayer 2ソリューションとは異なり、Polygonは「万能ナイフ」のようなソリューションとして機能し、スケーラビリティの問題を解決するために複数のツールを組み合わせています。つまり、トランザクションスループットを優先するチェーンとセキュリティを優先するチェーンという複数のチェーンを運用しています。Optimismと同様に、Polygonは100%のEVM互換性を提供します。
Polygonは、Ethereum Layer 2ソリューションの中でも特に活発なエコシステムの一つを持っており、2021年にはTVLが90億ドルでピークに達しました。
Polygon Labsはまた、開発者向けリソースツールであるPolygon Universityのベータ版を立ち上げ、開発者向けに包括的なドキュメント、コミュニティリソース、ガイドを提供するwikiを運営しています。
5. Solana
Solanaは、最も人気のある代替Layer-1ブロックチェーンの一つです。2017年に設立され、現在はジュネーブを拠点とするSolana Foundationによって運営されているオープンソースプロジェクトです。
Solanaは、創設者のAnatoly Yakovenkoが2017年に開発した、プルーフ・オブ・ヒストリー(PoH)という概念を先駆的に導入したことで知られています。PoHとは、イベント間の順序と時間の経過を検証するための証明であり、信頼を必要としない形で時間の経過を台帳に記録するために使用されます。
Solanaのスマートコントラクトは、SolidityのようなEVM互換のプログラミング言語を学びたくない開発者にとって魅力的なRustで書かれています。
現在、Solanaは1秒あたり3,886件のトランザクションを処理しており、これはdAppに頻繁な状態更新を必要とする開発者にとって魅力的です。
世界最大級のブロックチェーンネットワークの一つとして、Solanaは開発者に柔軟なプログラミング環境を提供しており、開発者はRust、C、C++といった馴染みのある言語を使用できます。これにより、高性能な分散型アプリケーションの開発を目指す人々にとって魅力的なプラットフォームとなっています。
6. StarkNet
StarkNetは、StarkWare IndustriesによってEthereumメインネット上に構築された、許可不要のゼロ知識ロールアップ(ZK-Rollup)Layer-2スケーリングソリューションです。
StarkNetは、STARK技術を用いてスケーラビリティとプライバシーを改善するために、Eli Ben-SassonとUri Kolodnyによって設立されました。
StarkNetのZKロールアップは、複数のトランザクションを1つのブロックに「ロールアップ」することで、Ethereumメインネットのスケーラビリティを向上させ、ガス代を削減し、トランザクションを高速化します。
Starknet上のスマートコントラクトは、Cairoと呼ばれるプログラミング言語で書かれています。つまり、Starknetエコシステムを利用したい開発者は異なる開発ツールを学ぶ必要がありますが、その見返りとしてEthereumのセキュリティ、分散化、そしてスケーラビリティを得ることができます。
ただし、StarkNet上で構築する利点の一つは、すべてのウォレットがデフォルトでアカウントアブストラクションを使用していることです。
結論
開発者がdapp向けのブロックチェーンを選ぶ前に、ブロックチェーン同士がどのように異なり得るかを理解しておくことが重要です。
アプリは複数のブロックチェーンにまたがってデプロイすることができ、単一のブロックチェーンに限定される必要はないことを覚えておいてください。とはいえ、プロジェクトに適したチェーンを見つけることは、多くの時間、労力、費用を節約でき、成功と失敗を分ける要因にもなり得ます。
関連する概要

ブロックチェーンで魔法を生み出す
Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。


