Hydra Q&A
Hydra(ハイドラ)とは何ですか?
HydraはCardanoのL2(レイヤー2)ソリューションです。ブロックチェーンのトリレンマ(分散性・セキュリティ・処理速度の同時向上が困難という課題)解決を目的に開発され、Cardano L1の性能向上を図ります。Hydraはオフチェーンという種類のL2で、大多数の処理はオンチェーン外で行い、最終的な処理結果は安全にL1へ反映されます。名前の由来はギリシャ神話に登場する「複数の頭を持ち驚異的な再生力を備える蛇 ハイドラ」です。
ブロックチェーンのトリレンマとは何ですか?
「分散性」「セキュリティ」「処理速度」これら3つを全て同時に性能向上することが難しいというブロックチェーンの技術的課題です。従来のブロックチェーンでは、どれか一つを向上させると他の要素にトレードオフが生じるという問題があります。
「Hydra」「Hydra Head」「Hydra Head Protocol」の違いは?
Hydra:Cardano L2 オフチェーンソリューションとしての総称
Hydra Head:Hydraソリューションの一つであり最初のもの。Hydraノードで構成されるネットワーク呼称
Hydra Head Protocol:Hydra Headのアーキテクチャとトランザクション処理ルール
Hydra Headの各フェーズはどのようなものがある?
Hydra Headには以下のフェーズがあります:
初期化フェーズ:Hydra Head参加者のL1ウォレットがロックされ、Hydra HeadがOPEN状態になりL2処理が開始できます
OPEN中:L2ウォレット間でトランザクションが実行でき、この結果はL1とは非同期に即時処理されます
CLOSE時:L2の処理結果が検証・確定され、L1へ結果が反映されます
また、初期化からOPENまでの間は「Abort(中止)」により取引を中止することも可能です。
Hydraのトランザクション処理が高速な理由は?
最も大きな理由は平均20秒と言われるL1の「ブロック生成待ち時間」がHydraには存在しないことです。Hydra上でのトランザクションはミリ秒オーダーで即時に処理されます。また、世界中で稼働するCardanoノード間の物理的距離やネット回線の混雑などの影響を受けないよう、少数のノードがHydra Headと呼ばれる小規模なクローズドネットワークを構築してトランザクションを処理するため、L1に比べ安定した環境を実現しやすいことも挙げられます。
Hydraのセキュリティが高い理由は?
HydraはCardano L1と同じEUTXOモデルで実装されています。これはCardanoと同等の機能をHydraでも扱える事を意味し、Cardanoの高度なセキュリティ性能をHydraも持つことを意味します。よってHydraがオフチェーンで行う処理内容はオンチェーンと共通する箇所が多く、実証済みのセキュリティモデルを活用できます。
Hydraで手数料(GAS代)が安くなる理由は?
実はHydraの採用で必ずしも手数料が安くなるわけではありません。「手数料が安くなるユースケースが生まれる」が正確な表現です。Cardanoはトランザクションのサイズで手数料を決定するため、ADA送金量に関わらず手数料がほぼ一定です。例えば「10,000ADAを一括送金」と「100ADAを100回送金」では送金額は同じでも、後者の方が手数料が多く発生します。100ADAの100回送金をL1上ではなくHydra上で行うと一括送金と同じ手数料にまで近づけることができます。少額・高頻度の処理(マイクロトランザクション)の実現においてHydraは非常に相性が良いといえます。
Hydraのトランザクション手数料は具体的に何ADA?
HydraではL1と同期する際にトランザクション手数料が発生します。Hydra Headを構成する参加者が多いほど手数料は上がり、現状Hydraの開始~終了まで最低でも2~3ADAは必要です。
一方、Hydra上でのトランザクション手数料は0 ADA~任意に設定でき、これはHydra Headの参加者・運営者が独自に決められます。
Hydra上でのトークンの単位は?
Cardano L1と同じくADA lovelaceです。HydraはCardanoと同じEUTXOモデルで実装されCardanoと互換性があるため、L1、L2で扱われるADAは実質同じ物という見方もできます。
ただし、Hydra上で決済したL2 ADAは、L1とL2が同期まではL1では利用できず、同期が完了した後にL1で扱えるようになります。
HydraのADAを入手する方法は?
他のL2パブリックチェーンと違い、Hydra上のADAは仮想通貨取引所などで入手する事はできません。L2ウォレット内のADAはHydra Headを構成する参加者間のみが扱う事が可能で、現在のHydraの仕組みではHydraで用いるL1ウォレットの残高が、Hydra開始時にそのままL2ウォレットの残高として反映されます。
Hydra Headで受け取ったL2のADAは、Hydraの処理結果がL1に反映された際に、L1のADAとして受け取ることになります。
Hydra Headは最大何ノードで構成できる?
最大100ノードを目指し開発が進められています。例えば最大100名同時プレイのブロックチェーン対応ゲームなども、今後実現が可能となる見込みです。
なおHydra Headを構成する最大ノード数は、同時にL2取引に用いれるL1ウォレットの最大数となります。
Hydraが向いているシステム、具体的なユースケースは?
特に相性が良いシステム:
• 即時に決済が行われてほしいリアルタイム性が求められるシステム
• 短期間に決済が頻発するシステム
具体的なユースケース例:
• ネットオークション
• ブロックチェーンオンラインゲー ム
• スマートガチャ
• スマートIoTデバイス
Hydraの現在の開発状況は?
Hydraは現在開発中の段階で動作には一部制限がありますが、メインネット上でも基本的な動作確認が行える水準に達しています。開発サイクルは4~6週間単位で進んでいます。
現Hydra(Ver0.20.0)の制限例:
• 一部のUTXOをコミットした際にHydra Headが停止し資金がロックされる
• Hydra Headに参加できる最大数に制限がある(目標とする100台同時は不可)
より詳細な制限については公式ドキュメントの「Head protocol limits」をご参照ください。
Hydraを試してみたいがどうすればできる?
HydraはGitHub上でOSS開発されており、誰でも自由に試すことができます。スタートアップマニュアルを始め各種ドキュメントも整備されており、x86 Linux環境があればすぐに試すことができます。
Hydraをテストネット・メインネットで試す際にはL1ウォレットが必要となりますが、ローカル開発向けのdevnetを用いると、これも不要で試せます。
Hydraを利用するために必要な環境は?(ハードウェア含む)
必要なソフトウェア:
• cardano-node
• cardano-cli
推奨動作環境:
• Linux x86-64、Mac OS aarch64(Hydra公式のテスト環境)
• メモリ16GB以上(hydra-nodeとcardano-nodeを同じ環境で動作させる場合)
複数ノードのHydraは、一つのグループ内で何ができる?
複数のHydraノードで構成されるHydra Head上では、参加者のL2ウォレット間で高速なトランザクションを実行できます。
各Hydraノードの主な処理:
• 全Hydraトランザクションの検証と署名
• Hydraノード間のセッション維持、同期処理
• 各Hydraノードが管理するL2台帳への記帳
Hydra Headを構成するノードが増える程に性能は向上する?
いいえ、向上しません。HydraはHydra Headを構成する各Hydraノードが単一のトランザクションを逐次に検証、合意して処理を進めます。そのため、Hydra Headを構成するノードが多くなるにつれ、各ノードとの同期処理、通信量も増大し、原理上性能は落ちていき ます。
つまり、Hydraは参加者が単一のトランザクションを分割して処理を分担して行い高速化するソリューションではありません。
一つのHydra Headの有効期限は?
現在のHydra Head ProtocolではHydra HeadのOPENからCLOSEまでの有効期限に上限は設定されていません。原理上は月・年単位で1つのHydra HeadをOPENし続ける事も可能です。
注意点:
• HydraのOPEN中はHydraで用いるL1ウォレットが一部ロックされる
• Hydraにコミット中のL1 UTXOは、Hydra OPEN中はL1から使えなくなる
• 現状のHydraには1つのUTXOに80個以上のアセットが含まれるとL2の処理結果をL1へ同期できない技術的制約がある
Hydra上でPlutus(スマートコントラクト)は実行可能?
はい、可能です。HydraはCardanoと同じEUTXOモデルでの実装のため、L1オンチェーン上のスマートコントラクトをL2オフチェーン上でも実行が可能です。
Hydra Headの参加者になる手順は?
- Hydraと連携するL1ウォレットの公開鍵をHydra Headへ登録
- Hydra Head内で署名を行うL2公開鍵をHydra Headへ登録
Hydra Head参加者が全員これらの設定を行った後、Hydraを開始できます。
参加者間の関係性:
「Hydra Head構築に合意できるほどに、お互いを知ってはいるが、資産を保護せずに資金管理を委任するほどには互いを信頼していない状況」に適しているとされています。
Hydraのリスクは?
HydraはCardanoの高いセキュリティをそのまま扱え、L2の取引結果に対する全員での検証(Contest)、L1反映前の取引中止(Abort)などの機構があることから、リスクは非常に低いソリューションと考えられます。
ただし注意点:
• 正常なHydra運用には悪意を持ってAbortやContestを使用しない参加者で構成される必要がある
• 現在Hydraは開発中の段階であり既知の制限なども存在し、場合によってはL1資産が半永久的にロックされる制限もある
推奨事項:
現Hydraを開発に用いる場合は、Hydraのバージョンアップ状況確認、開発者向けドキュメントの熟読、Cardanoテストネットでの十分な検証は必須です。
Hydra Head参加者が持つ終了の権利は?
Hydra参加者は終了する権利を持ち、2つの方法があります:
Abort(アボート):UTXOが収集される前であれば、参加者はいつでもプロセスをアボートして自身の資金を回収できます。ただし、既に実行済みのL1トランザクションの手数料は返還されません。
Close(クローズ):Hydra Headがオープンな状態になった後、どの参加者でもそれを閉じることができます。公式ドキュメントでは「どのHeadメンバーでも、いつでも、対話なしにHeadを閉じるための証明書を作成できるように設計されています」と説明されています。
初期化段階でのアボートと、オープンな状態でのクローズは、どちらも参加者であれば誰でも行うことができます。