コンテンツへスキップ
0%

dApp開発に適したブロックチェーンの選び方

Mark Jonathas headshot

執筆者 Mark Jonathas

2023年4月24日 公開読了時間 1 分

基本的に、ブロックチェーンは、開発者がデータストレージのニーズを分散化するための優れたインフラツールです。システムとして、ブロックチェーンは開発者に対し、信頼された中央の仲介者を必要とせずにアプリケーションを安全に分散させる手段を提供します。

ブロックチェーンは多種多様なアプリケーションに利用可能であり、その結果として、様々なアプリケーションに最適化された多くの種類のチェーンが存在します。それぞれのチェーンは微妙に異なります。そのため、開発者は自分のニーズに合ったブロックチェーンを選べるよう、これらの違いを理解しておくことが重要です。

この記事では、主要なブロックチェーン間の主な違いと、開発者があるタイプのチェーンを別のものより選ぶ理由について解説します。

構築するブロックチェーンを選ぶ際に問うべき7つの質問

プロジェクトで使用するブロックチェーンプラットフォームを決める過程で、開発者として検討すべき要素が少なくとも7つあります。

1. あなたのdappにはどれくらいのスループットが必要か?

開発するプロジェクトの種類によって、必要となるトランザクションスループットの範囲は大きく異なります。

例えば、ユーザーが1日に何千回もマイクロトランザクションを行う必要があるDeFiゲームを構築する場合、高スループットかつ低ガス代のブロックチェーンが必要になります。

一方、たまにしかトランザクションを行わないDAOを運用するのであれば、コラボレーションのしやすさの方が重要な要素になるかもしれません。

考慮すべき重要な点は、ブロックチェーンプロトコルがあなたのdappとともにどうスケールするかです。始めたばかりの頃は低いトランザクションスループットで十分かもしれませんが、規模が拡大するにつれて、それが利益を圧迫したり、顧客の不満につながったりする可能性があります。

そのため、判断を下す前に、特定のチェーン上で構築することの長期的なコストと速度を検討することが重要です。開発者はメインネットのスケーラビリティと、Layer 2ネットワークの利用可能性の両方を考慮すべきです。

例えば、Ethereumネットワークはトランザクションスループットが低いですが、その上に構築されている複数のLayer 2ネットワークはより高いスループットを持っています。2nd Layerは、アプリに対して、堅牢なブロックチェーンエコシステムのセキュリティと、より高速なコンセンサスメカニズムのスケーラビリティの両方を提供するよう設計されています。

2. 必要な水準の開発者向けリソースを提供しているブロックチェーンはどれか?

ブロックチェーンは比較的新しい技術であるため、開発者に提供されるリソースの有無が大きな差を生むことがあります。多くのブロックチェーンプロトコルは、外部のチュートリアルやガイドを開発者に提供したり、グループチャットやフォーラムを作成して開発者同士が学び合えるようにしています。

しかし、これらのリソースの質はプロトコルによって異なります。あるチェーンで開発を始める前に、そのプロトコルが提供しているリソースについて把握しておくとよいでしょう。

例えば、あるシステムはコンポーザビリティ(構成可能性)を重視して設計されている一方、そうでないものもあります。コンポーザビリティとは、あるアプリケーションの小さな部分を、別のアプリケーションの作成にどれだけコピーして利用できるかという度合いのことです。

例えばEthereum Virtual Machine(EVM)と互換性のあるアプリは、自分のdappを他のEVM互換ブロックチェーンに容易に再デプロイできます。

ゼロから構築するのと、既存のツールやインフラのエコシステムを土台に構築するのとでは、その差は非常に大きくなり得ます。

dAppを構築する過程でどのような問題が発生するかは予測できません。そのため、こうした問題が発生した際に十分なサポートを受けられるかどうかを知っておくことは有益です。‍

3. あなたのdappのgo-to-market戦略に適した条件を持つブロックチェーンエコシステムはどれか?

一部のブロックチェーンはすでに非常に活発なエコシステムを持っている一方、まだ時間をかけて開発が進められている段階のものもあります。

例えば、他のアプリに依存するdAppを構築しようとしている開発者であれば、大規模なエコシステムを持つブロックチェーン上で開発することが理にかなっています。

例えば、分散型取引所(DEX)間で流動性を集約するdAppを作成している場合、選ぶブロックチェーンに複数のDEXが存在し、流動性を集約できる対象があることが不可欠です。

逆に、一部のブロックチェーン上にはまだ存在しない製品を構築しようとしている場合は、そのアプリケーションに競合が存在しないブロックチェーンを選ぶことが有利になることもあります。

もちろん、開発者は単一のブロックチェーンエコシステムに妥協する必要はなく、複数のエコシステムにまたがって成功を収めているプロトコルも数多くあります。

4. そのブロックチェーンはどのプログラミング言語を使用しているか?

あるプラットフォーム上での開発の複雑さは、プラットフォームによって大きく異なります。一部のブロックチェーンでは開発者が全く新しいプログラミング言語を学ぶ必要がある一方、そのプロセスを標準化しているものもあります。

例えば、経験豊富なRust開発者にとっては、Solanaブロックチェーンの主要言語がRustであるため、扱いやすく感じられるかもしれません。対照的に、EthereumとEVMエコシステムはSolidityを中心としています。EVM上で構築したい開発者はSolidityを学びますが、これはJavaScriptと極端に異なるわけではありません。

もちろん、これが常に選択肢になるとは限りません。どの開発者チームにもスキルレベルにばらつきがあるため、初心者の開発者がどれだけ容易に始められるかが非常に重要になる場合があります。

チームの構成や利用可能なリソースを考慮することで、どのブロックチェーンを使用するかの判断材料になります。

5. そのブロックチェーン上で構築することにはどんなインセンティブがあるか?

一部のブロックチェーンプロジェクトは、ロイヤルティに報い、ネットワークへの貢献に対して開発者に報酬を支払うプログラムを通じて開発者にインセンティブを与えています。例えば、バグの発見やフォーラムでの回答に対してインセンティブを提供するブロックチェーンもあります。

その他のブロックチェーンでは、ステーキングの機会を通じて開発者に報酬を与えたり、顧客をプラットフォームに呼び込むことでプロジェクトが収益を得られるようにしたりしています。

場合によっては、高い成長ポテンシャルを持つ小規模なチェーンと一緒に構築し、チーム同士が相互の成長の恩恵を分かち合う方が賢明なこともあります。他の場合には、単純に信頼性のあるエコシステムを選ぶ方がよいこともあります。

6. そのブロックチェーンは、既存の開発者ツールやインテグレーションと互換性があるか?

長年の開発を経て、一部のブロックチェーンツールは業界標準となっています。例えば、HardhatやFoundryといったweb3ツールキットは非常に人気があり、MetaMaskのような暗号資産ウォレットも同様です。

しかし、これらのツールがすべてのブロックチェーンで動作するわけではありません。例えばHardhatとFoundryは、EVM互換のブロックチェーンでしか動作しません。つまり、開発者はこれらを使ってSolanaのdappを開発することはできず、代わりにAnchorのようなツールを使用する必要があります。

同様に、既存のツールを特定のブロックチェーンに統合する容易さも、大きく異なる場合があります。

多くのEVM互換ブロックチェーンは同じ統合構造に従っていますが、そうでないブロックチェーン同士では異なることがあります。

新しいブロックチェーンやドキュメントの整備が不十分なブロックチェーンの場合、統合作業のセットアップに時間がかかることがあります。

とはいえ、開発者がそのブロックチェーンの長期的な成功を信じているのであれば、統合が多少困難であってもそれに見合う価値がある場合もあります。

7. そのブロックチェーンは、あなたのdappにとって十分なセキュリティを備えているか?

ブロックチェーンの文脈において、セキュリティはいくつかの異なる事柄を指す場合があります。それは、ネットワークのノードの分散度と、トランザクションのファイナリティの両方を指す可能性があります。

分散化が重要なのは、それが組織や政府にとってそのdappをシャットダウンすることがどれほど困難かを表し得るからです。一部の開発者にとって、これは最優先事項です。しかし他の開発者にとっては、最も重要なセキュリティ上の懸念はトランザクションのファイナリティです。選んだブロックチェーンがフォークしたり、再編成(リオーグ)されたりして、ユーザーのトランザクションがブロックチェーンに含まれなくなってしまう可能性はどれくらいあるでしょうか?

ブロックを生成する手順はブロックチェーンによって大きく異なり、他よりも堅牢なものもあります。そのため、選んだブロックチェーンが強固なセキュリティプロトコルを備えているかどうかを確認することは、あなたのdAppの生死を分けることにもなりかねません。

その他にも検討すべきセキュリティ上の問題があります。例えば、ブロックチェーンが稼働し続ける能力、サービス拒否(DoS)攻撃への脆弱性、あるいはコンセンサスメカニズムに関する根本的な問題などです。早期の警告シグナルの一つに過ぎない場合もありますが、そのブロックチェーンが過去にシャットダウンされたことがあるか、フォークしたことがあるか、大規模な再編成(リオーグ)が行われたことがあるかを検討することは、今後起こり得ることの指標になり得ます。

いずれにせよ、そのブロックチェーンの歴史を調べ、過去に他のアプリがそのチェーン上でどのようなパフォーマンスを示してきたかを考える時間を取ることをお勧めします。

適切なブロックチェーンプラットフォームを選ぶ

特定のdAppに適したブロックチェーンプロトコルを選ぶ際、開発者は主要な各ブロックチェーンの長所と短所に注意すべきです。

1. Ethereum

Ethereumは、スマートコントラクトの概念を先駆的に打ち立てたことで知られるLayer-1ブロックチェーンプラットフォームです。

EthereumはVitalik Buterinによって2015年にローンチされました。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は「万能ナイフ」のようなソリューションとして機能し、複数のツールを組み合わせてスケーラビリティの問題を解決しています。つまり、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年に開発された、proof-of-history(PoH)という概念を先駆的に導入したことで知られています。PoHは、イベント間の順序と時間の経過を検証するための証明であり、信頼不要な形で時間の経過を台帳に記録するために使用されています。

SolanaのスマートコントラクトはRustで書かれており、SolidityのようなEVM互換のプログラミング言語を学びたくない開発者にとって魅力的です。

現在、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向けにブロックチェーンを選ぶ前に、ブロックチェーン同士がどのように異なり得るかを理解しておくことが重要です。

アプリは複数のブロックチェーンにまたがってデプロイすることができ、単一のブロックチェーンに縛られる必要はないことを覚えておいてください。とはいえ、プロジェクトに適したチェーンを見つけることは、多くの時間、労力、費用の節約につながり、成功と失敗の分かれ目になり得ます。

Background gradient

ブロックチェーンで魔法を生み出す

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