KERRIGAN: ゼロ知識プライバシーとシールベースコンセンサスを備えたマルチアルゴリズム PoW 暗号通貨

バージョン 1.0 | 2026年3月

「配列を回す。組み合わせる。改善する。完璧は決してない。完璧は変化する目標。」

— アバサー、StarCraft II: Heart of the Swarm


概要

◆

KERRIGAN は、ハードウェアの多様性、ゼロ知識プライバシー、そして Hivemind Protocol と呼ばれる新しいシールベースのコンセンサスレイヤーを組み合わせた、マルチアルゴリズム PoW 暗号通貨です。4つのマイニングアルゴリズム(X11、KawPoW、Equihash 200,9、Equihash 192,7)がジェネシスブロックから同時に稼働し、それぞれが DigiByte のマルチアルゴリズムアプローチに基づく独立した難易度調整を持ちます。Sapling zk-SNARK シールドトランザクションにより、ユーザーは完全なトランザクションプライバシーを選択できます。Hivemind Protocol は PoW の上に第2のコンセンサス次元を追加し、マイナーが BLS 署名による証明と検証可能なランダム委員会選出を通じてブロックを集団的にシールします。V1はマスターノードとオンチェーンガバナンスを備えたマイニング重視のチェーンとして立ち上げられます。V2ではネットワークをAI推論向けのGPUコンピューティングへと拡張し、ブロック報酬をマイナーと並行して推論プロバイダーにインセンティブを与える方向へ再配分します。


1. はじめに

◆

ほとんどの PoW ブロックチェーンは単一のマイニングアルゴリズムに依存しています。これにより、1つのハードウェアメーカーや1つの ASIC 設計がハッシュレートを支配でき、単一のアルゴリズム脆弱性がチェーン全体を危険にさらす脆弱なネットワークが生まれます。Bitcoin の SHA-256 はほぼ完全に専用 ASIC によってマイニングされています。Ethereum Classic の Ethash は、GPU マイナーが Proof-of-Stake の Ethereum に移行した後、繰り返し51%攻撃を受けました。単一アルゴリズムのチェーンはリスクを集中させます。

プライバシーはもう一つの欠落です。透明な PoW チェーンはすべてのトランザクションを公開分析にさらします。チェーン分析企業は、ホップを越えて資金を追跡し、アドレスを個人に紐付け、完全な金融プロファイルを構築できます。一部のチェーンはオプションのプライバシーを後付けで追加し、他のチェーンは透明性を完全に犠牲にしています。どちらの極端もユーザーに十分に応えていません。

KERRIGAN は両方の問題に対処します。4つのマイニングアルゴリズムにより、単一のハードウェアクラスがブロック生成を独占できないことを保証します。ASIC マイナーは X11 で競争し、GPU マイナーは KawPoW、Equihash 200,9、Equihash 192,7 に分散します。各アルゴリズムは独自の難易度調整を持つため、アルゴリズム間のハッシュレートの変動がネットワークを不安定にすることはありません。Sapling zk-SNARK シールドトランザクションは、透明なトランザクションレイヤーを排除することなく、プライバシーを求めるユーザーに暗号学的プライバシーを提供します。

このチェーンは Dash フォークをベースに構築されており、決定論的マスターノードリスト(DIP3)、クォーラムベースのサービス(LLMQ)、安全な機能有効化のためのスポークシステムを継承しています。不要なものは削除し、適合しないものは置き換え、継承コードが不十分な箇所には新しいシステムを構築しました。マルチアルゴリズム PoW エンジン、Sapling の統合、Hivemind Protocol はすべて KERRIGAN オリジナルです。


2. マルチアルゴリズム Proof of Work

◆

KERRIGAN はジェネシスブロックからすべて有効な4つのマイニングアルゴリズムを並行して実行します。すべてのブロックは正確に1つのアルゴリズムによってマイニングされ、アルゴリズムはブロックバージョンフィールドに直接エンコードされます。

2.1 アルゴリズム

X11 は Dash のネイティブハッシュ関数で、11個のチェーンされた暗号関数(BLAKE、BMW、Groestl、JH、Keccak、Skein、Luffa、CubeHash、SHAvite、SIMD、ECHO)から構成されます。ASIC でマイニング可能であり、X11 のハッシュレートは専用ハードウェアに支配される可能性が高いことを意味します。これは意図的なものです。ASIC は基盤レイヤーを安定させる一貫した高スループットのハッシングを提供します。

KawPoW は Ravencoin の ProgPoW バリアントで、ランダムプログラム生成を通じて ASIC 開発に抵抗する GPU 最適化アルゴリズムです。KERRIGAN の KawPoW 実装は Ravencoin とワイヤー互換であり、既存の RVN マイナーは最小限の設定で KERRIGAN プールにリグを向けることができます。KawPoW ブロックは追加のヘッダーフィールドを持ちます:nHeight、nNonce64(8バイトナンス)、および mix_hash(32バイト)。

Equihash 200,9 は Zcash のメモリハードアルゴリズムです。(200,9) パラメータはソリューション試行ごとに約700MBの作業メモリを必要とします。Equihash 200,9 用の ASIC は存在し(特に Bitmain Z9 シリーズ)、このレーンは厳密には GPU 専用ではありません。KERRIGAN は Zcash 互換の140バイトヘッダーフォーマットを使用します:CEquihashInput からの108バイト(バージョン、前のハッシュ、マークルルート、リザーブドハッシュ、時刻、ビット)と32バイトの nNonce256。ソリューションは1400バイトの上限でシリアライズされます。

Equihash 192,7 は (200,9) と比較してメモリ要件を削減しつつ ASIC 耐性を維持する異なるパラメータを使用します。(192,7) パラメータセットは ZClassic や他の Equihash フォークによって普及しました。Equihash 200,9 と同じヘッダーフォーマットですが、独自のソリューション空間と難易度曲線を持ちます。

2.2 バージョンエンコーディング

マイニングアルゴリズムはブロックの nVersion フィールドのビット8から11にエンコードされ、0x0F00 のマスクを使用します:

アルゴリズム内部列挙値バージョンビット16進数
X11ALGO_X11 = 00 << 80x0000
KawPoWALGO_KAWPOW = 12 << 80x0200
Equihash 200,9ALGO_EQUIHASH_200 = 24 << 80x0400
Equihash 192,7ALGO_EQUIHASH_192 = 36 << 80x0600

内部列挙値(0-3)はコード内の配列インデックスに使用されます。バージョンビットは将来のアルゴリズムのための余地を残すために偶数間隔(0, 2, 4, 6)を使用します。それらの間のマッピングは列挙値の直接的なビットシフトではなく、ルックアップです。

BIP9 ソフトフォークシグナリングのために nVersion を検査するコードは、まずビット8-11を除去する必要があります。WarningBitsConditionChecker は誤警告を避けるためにこれらのビットをスキップします。

2.3 ハッシング

KERRIGAN はブロックごとに2つの異なるハッシュを使用します:インデックス用のアイデンティティハッシュとマイニング検証用の PoW ハッシュです。

アイデンティティハッシュはブロックの基本ヘッダーに対して計算された X11 です。X11 と KawPoW ブロックの場合、これは標準の80バイトヘッダー(バージョン、前のハッシュ、マークルルート、時刻、ビット、ナンス)です。Equihash ブロックの場合は140バイト(バージョン、前のハッシュ、マークルルート、hashReserved、時刻、ビット、nNonce256)です。これは hashPrevBlock が参照するもの、RPC が返すもの、チェーンインデックスが使用するものです。すべてのノードがすべてのブロックを同じ方法でインデックスできるように、すべてのアルゴリズムでアイデンティティハッシングに X11 が使用されます。

PoW ハッシュはアルゴリズム固有であり、そのアルゴリズムのすべてのコンセンサスクリティカルなフィールドにコミットします:

この2つのハッシュ設計は、アイデンティティハッシュがすべてのアルゴリズムにわたって安定した統一ブロックIDを提供し、PoW ハッシュがアルゴリズム固有のフィールド(ソリューション、ミックスハッシュ、拡張ナンス)が完全にコミットされ改ざん検出可能であることを保証することを意味します。各アルゴリズムの正確なシリアライズされたバイトレイアウトについては付録Aを参照してください。

2.4 Hivemind 難易度

各アルゴリズムは、DigiByte のマルチアルゴリズム難易度(DigiShield v4)に基づくスキームを使用して独立した難易度を調整します。パラメータ:

このアルゴリズムごとの難易度により、KawPoW への GPU マイナーの急激な流入が X11 の難易度や Equihash の難易度に影響しないことを意味します。各アルゴリズムは独立して独自の均衡を見つけます。


3. トークノミクス

◆

3.1 供給量

供給量は標準的な半減スケジュールに従います:最初の1,051,200ブロックで25 KRGN、次に12.5、次に6.25と続きます。幾何級数は合計52,560,000 KRGN に収束します。

3.2 V1 ブロック報酬分配

各ブロックのコインベーストランザクションは25 KRGN の報酬を5つに分割します:

受取先割合KRGN/ブロック管理方式目的
成長ファンド40%10.00コンセンサスロックされたエスクロー取引所上場、パートナーシップ、エコシステム開発
マイナー20%5.00即時リリースPoW ブロック報酬
マスターノード20%5.00即時リリースネットワークサービス(MN未登録時はマイナーに帰属)
トレジャリー15%3.752-of-3 マルチシグ運営費、マーケティング、コミュニティ、チーム給与
開発者/創設者5%1.25即時リリース創設者への報酬と継続的なプロジェクトへのコミットメント

成長ファンドはトレジャリーではありません。これはマスターノードの承認なしにチームが使用できないコンセンサスロックされたエスクローです(セクション3.4参照)。トレジャリーと開発者/創設者の配分(合計20%)がプロジェクトの運営予算であり、Zcash の歴史的な20%の開発基金に匹敵します。トレジャリーアドレスは3人のキーホルダーのうち2人の承認を必要とする2-of-3 P2SH マルチシグです。ネットワークにマスターノードが登録されていない場合、20%のマスターノード分はグレースフルデグラデーションメカニズムとしてマイナーに留まります。

3.3 なぜ40%の成長エスクローなのか

KERRIGAN にはVCの支援も、ICOも、プレマインも、トークンセールもありません。ハードウェアは自費で運用されています。コードはチームによって書かれています。シードラウンドからのマルチシグに500万ドルの資金は存在しません。

つまり、ネットワークは自らの成長を資金調達しなければなりません。取引所上場、流動性提供、ブリッジ展開、パートナーシップ契約にはリアルマネーがかかり、外部資金なしでは、チェーン自体が唯一の資金源です。成長エスクローは、マイニングされたコインを取引可能な資産に変えるメカニズムです。取引所上場がなければ流動性はありません。流動性がなければ、マイナーが稼ぐコインは無価値です。

成長エスクローはブロックごとに10 KRGN を蓄積します:

異なる KRGN 価格での状況を示します。一般的なTier-2取引所上場を15万ドル、Tier-3上場を3万ドルと想定しています:

KRGN 価格エスクロー/月Tier-3上場までの期間($30K)Tier-2上場までの期間($150K)
$0.01$2,160約14ヶ月約69ヶ月
$0.05$10,800約3ヶ月約14ヶ月
$0.10$21,600約6週間約7ヶ月
$0.50$108,000約8日約6週間
$1.00$216,000約4日約3週間

KRGN あたり $0.05 でも、エスクローは1四半期以内にTier-3取引所上場の資金を調達できます。$0.10 では、Tier-2上場が最初の1年以内に達成可能になります。

エスクローは一時的なものです。ブロック262,800(約12ヶ月)にハードシーリングがあります。エスクロー内のすべてのコインは鋳造された瞬間からロックされます。マスターノード投票が特定の支出を承認しない限り、エスクローからコインが出ることはありません。初期の成長に資金を提供するマイナーは、機能するエコシステムと実際の取引所で取引されるコインで報われます。

3.4 成長エスクロー:投票されるまでロック

成長ファンドの40%配分は各ブロックで鋳造され、コンセンサスロックされたエスクローアドレスに送られます。コインはオンチェーンに存在し、総供給量にカウントされ、完全に監査可能ですが、使用できません。マルチシグの署名者も、チームメンバーも、単一のエンティティも移動できません。使用にはマスターノードネットワークが特定の提案を承認する必要があります。

仕組み:

  1. 各ブロックで10 KRGN が成長エスクローアドレスに送られます。コインは通常の発行スケジュールで作成されます(52,560,000 KRGN のハードキャップを維持)。
  2. 支出提案がガバナンスシステムに提出され、特定の支出を記述します:金額、受取アドレス、目的(例:「Tier-3取引所上場のために50,000 KRGN を[アドレス]にリリース」)。
  3. マスターノードオペレーターは gobject vote-many を通じて登録された投票キーで投票します。標準のガバナンス閾値が適用されます:YES - NO >= max(10, weighted_masternode_count / 10) で提案が通過します。
  4. 提案が通過した場合、指定された金額がその特定の支出のためにエスクローからアンロックされます。失敗した場合、コインはロックされたままです。
  5. ブロック262,800(約12ヶ月)でロックされたまま残っているコインは OP_RETURN によってバーンされます。これはコンセンサスルールであり、ガバナンスの決定ではありません。

継続投票:スーパーブロックサイクル(16,616ブロック、約23日)ごとに、エスクローの蓄積継続もマスターノード投票による更新が必要です。継続投票が失敗した場合、40%のコインベース出力は次のサイクルではエスクローに入る代わりにバーンされます。投票なしは蓄積なしを意味します。無関心がファンドを殺すのであり、行動ではありません。

この設計の理由:

サンセット時の処理:成長エスクローが終了すると(継続投票の失敗またはブロック262,800のハードシーリングにより)、残りのロックされたコインは OP_RETURN でバーンされます。以降のすべてのブロックで40%のコインベース配分がバーンされます。これはマイナー、マスターノード、または他の当事者にリダイレクトされません。バーンされたコインは流通供給を減少させ、すべてのホルダーに等しく利益をもたらします。V2ブロック報酬再構成(セクション3.6)は、40%をAI推論プロバイダーにリダイレクトする別のコンセンサスアップグレードです。

3.5 運営予算:トレジャリーと開発者/創設者

ブロック報酬の残りの20%(トレジャリー15% + 開発者/創設者5%)がプロジェクトの運営予算です。これらのコインは通常通りリリースされ、エスクローロックされません。

トレジャリー(15% / ブロックあたり3.75 KRGN):プロジェクトを継続させるための運営費。マーケティング、コミュニティマネジメント、モデレーター報酬、サーバーコスト、エアドロップ、プレゼント企画、パートナーシップ費用。トレジャリーアドレスは3人のキーホルダーのうち2人の承認を必要とする2-of-3 P2SH マルチシグウォレットです。

開発者/創設者(5% / ブロックあたり1.25 KRGN):KERRIGAN をゼロから構築したことへの報酬と、プロトコルの維持・開発への継続的なコミットメント。ロックなしで直接リリースされます。

この20%の運営予算はZcashの歴史的な20%の開発基金に匹敵します。違いは、KERRIGAN の成長資本(残りの40%)がネットワーク承認なしにチームがアクセスできないコンセンサスロックされたエスクローに保管されることです。自由に使えるのは20%のみです。

運営予算のアカウンタビリティ:

3.6 V2 ブロック報酬分配(将来)

V2はAI推論ネットワークを中心にブロック報酬を再構成します。GPU オペレーターはブロック報酬の分け前に加えて推論あたりの収益を得られるため、KERRIGAN のマイニングハードウェアがブロック間でも生産的になります:

受取先V1 割合V2 割合備考
AI GPU 推論0%40%推論あたりの収益に追加
マイニング20%20%変更なし
マスターノード20%20%変更なし
トレジャリー15%15%変更なし
開発者/創設者5%5%変更なし
成長ファンド40%0%目的達成

エコシステムが確立されると成長ファンドはゼロに減少します。初期の取引所上場とパートナーシップを推進した40%がAI GPU 推論参加者にリダイレクトされ、KERRIGAN をデュアルパーパスチェーンに変えます:マイニングがネットワークを保護し、GPU コンピューティングがAIワークロードを処理します。40%の推論配分は直接の推論あたりの手数料に加えて積み重なり、GPU オペレーターに同じハードウェアで2つの収益源を提供します。


4. Sapling シールドトランザクション

◆

KERRIGAN は Zcash の Sapling プロトコルをゼロ知識シールドトランザクションのために統合しています。ユーザーは、送信者、受信者、金額について何も明かさない Groth16 zk-SNARK 証明を使用して、透明アドレス('K'で始まる)とシールドアドレスの間で資金を移動できます。

4.1 トランザクション構造

シールドトランザクションは nType = 10(TRANSACTION_SAPLING)を使用します。エクストラペイロードには以下が含まれます:

1トランザクションあたり最大500の使用記述と500の出力記述です。Rust Sapling ビルダーは、出力数に基づくトランザクショングラフ分析を防ぐために、出力バンドルを最小2出力にパディングします(必要に応じてダミー出力を追加)。

4.2 暗号学的基盤

Sapling 回路は BLS12-381 に埋め込まれた Jubjub 楕円曲線上で動作します。証明は bellman、jubjub、group クレートを使用した Rust FFI ブリッジを通じて生成・検証され、CXX を介して C++ ノードにコンパイルされます。

主要なプリミティブ:

マークルツリーのフロンティア(新しいリーフを追加するために必要な最小データ)はブロックごとに LevelDB に保存されます。ウォレット側のウィットネスは、使用証明のための各ノートの認証パスを追跡します。

トラステッドセットアップ: KERRIGAN は Zcash の Sapling パラメータ(Zcash Powers of Tau セレモニーと Sapling MPC によって生成された証明鍵と検証鍵)を再利用します。回路は Zcash Sapling と同一です。シールドトランザクションのための新しいトラステッドセットアップセレモニーは不要です。

4.3 署名

トランザクション署名は ZIP 243 スタイルの sighash スキームに従います。sighash プリイメージには、透明とシールドの両方のコンポーネントをカバーする hashPrevouts、hashSequence、hashOutputs が含まれます。これにより署名の展性が防止され、トランザクションの透明部分とシールド部分が暗号学的に結合されることが保証されます。

4.4 手数料構造

シールドトランザクションはアクションベースの手数料モデルを使用します:

4.5 有効化と RPC

Sapling はメインネットのブロック500で有効化され、ジェネシスから約16時間後です。9つの RPC が完全なウォレット機能を提供します:

RPC機能
z_getnewaddress新しいシールドアドレスを生成
z_listaddressesウォレット内のすべてのシールドアドレスを一覧表示
z_getbalanceアドレスのシールド残高を取得
z_listunspent未使用のシールドノートを一覧表示
z_sendmanyシールドアドレスへの/からの送金(t→z、z→z、z→t)
z_exportkeyシールド使用鍵をエクスポート
z_importkeyシールド使用鍵をインポート
z_exportviewingkeySapling フルビューイングキーをエクスポート
z_importviewingkeySapling フルビューイングキーをインポート

5. マスターノードとガバナンス

◆

5.1 マスターノードの種類

KERRIGAN は Dash のエボリューションフレームワークから継承した2つのマスターノードティアをサポートしています:

種類担保投票ウェイト
レギュラー10,000 KRGN1x
Evo (HPMN)40,000 KRGN4x

マスターノードは DIP3 決定論的登録トランザクションを使用してオンチェーンに登録されます:

決定論的マスターノードリストはオンチェーントランザクションから完全に導出されます。すべてのノードが同じチェーン状態から同じリストを計算し、非決定論的マスターノードシステムを悩ませていたコンセンサスの不一致を排除します。

5.2 クォーラムサービス

Long-Living Masternode Quorums(LLMQ)は2つの主要なサービスを有効にします:

InstantSend は数秒以内にトランザクション入力をロックし、二重使用の試みを防ぎます。マスターノードのクォーラムがロックメッセージに署名し、競合するトランザクションはネットワークによって拒否されます。

ChainLocks は、各ブロック高で最初に見たブロックにクォーラムが署名することでブロックを確定します。ChainLock 署名が伝播すると、51%攻撃者であってもブロックを再編成で排除できません。

両方のサービスはスポークゲートされており、ジェネシスでは無効です。LLMQ はクォーラムを形成するために最小数の登録マスターノードを必要とするため、これらの機能はマスターノードセットがクリティカルマスに達した時点でスポークを通じて有効化されます:

5.3 ガバナンス

マスターノードオペレーターは予算提案を提出し投票できます。提案は YES - NO >= max(10, weighted_masternode_count / 10) で通過します。ガバナンスシステムはコミュニティ提案、マーケティングイニシアチブ、インフラ資金を管理します。また、成長ファンド継続投票(セクション3.4)も制御します:40%の成長ファンド配分はスーパーブロックサイクル(約23日)ごとにマスターノード投票による能動的な更新が必要であり、さもなければ自動的にバーンされます。


6. Hivemind Protocol (HMP)

◆

6.1 コアアイデア

実際のミツバチのコロニーでは、すべてのメンバーが巣の一員であることを識別する化学マーカーを持っています。単一のミツバチがコロニーの匂いを生み出すわけではありません。それは集合体から生まれます。Hivemind Protocol も同じ原理で動作します:マイニングプールが集団的に暗号学的な「フェロモン」を生成し、すべてのブロックに織り込みます。絵の具を混ぜるように、青と黄色と赤を入れると、特定の茶色の色合いになります。その茶色が正しいことを検証できます。個々の色を取り出すために分離することはできません。しかし、青なしでその茶色を作ろうとすれば、違う色合いになります。即座に検出可能です。

HMP は PoW の上に位置します。PoW が誰がブロックをマイニングするかを決定します。HMP はネットワークのアクティブなマイナーがそのブロックを保証するかどうかを決定します。秘密裏にチェーンをフォークした攻撃者は、正直なマイナーがフォークに参加しなかったため、コロニーのフェロモンを持ち込むことができません。攻撃チェーンの匂いは間違っています。

6.2 プールソフトウェア互換性

重要な設計要件:マイニングソフトウェアの変更は不要です。HMP は完全にデーモン内で動作します。プールソフトウェア(s-nomp、Miningcore、またはStratum互換の任意のスタック)は標準の getblocktemplate と submitblock RPC を通じてデーモンと通信します。デーモンはアイデンティティ管理、シール署名、シールアセンブリ、コミットメントのブロードキャスト、P2P リレーを内部で処理します。ブロックテンプレートにはすでにコインベーストランザクションに埋め込まれた HMP シールデータが含まれています。これは BIP34(コインベースの高さ)、SegWit(コインベースのウィットネスルート)、マージマイニング(コインベースの AuxPoW)で使用されるのと同じパターンです。マイナーはテンプレートをブラインドにハッシュします。Stratum プロトコルは変更されません。

6.3 アイデンティティと特権

すべてのデーモンは初回実行時に永続的な BLS キーペアを生成します(hmp_identity.dat として保存)。このアイデンティティは起動時に自動的にロードされます。デーモンがブロックをマイニングしシーリングに参加すると、特権レコードが構築されます:

ティア要件能力
UNKNOWN履歴なし、または10ブロックのウォームアップ中シール不可
NEWウォームアップ完了、参加中標準ウェイトでシール可能
ELDER10以上のブロックを解決 AND 100ブロックウィンドウ内でシール参加フルウェイト、クロスアルゴボーナス対象

特権ウィンドウは100ブロックです。参加を停止したマイナーはウィンドウから外れた後 UNKNOWN に戻ります。特権には実際の作業が必要です:実際にブロックを解決しなければ ELDER になれません。これにより、あらゆるシビル攻撃が高コストな正直なマイニング操作に変換されます。

6.4 ロールコール(フェーズ1:公開鍵コミットメント)

シーリングの前に、デーモンはその BLS 公開鍵をオンチェーンにコミットしなければなりません。これは出欠表と考えてください。参加したいすべてのデーモンが公開鍵をブロードキャストします。これらのキーは2つの方法でチェーンに到達します:暗黙的に(ブロックをマイニングすることで、マイナーの公開鍵を CCbTx v4 の minerIdentity フィールドに埋め込む)、または明示的に(CCbTx v5 の vCommitments フィールドにブロックあたり最大16の追加公開鍵コミットメント)。

コミットされたキーは署名者が適格になるまで10ブロック成熟する必要があります。これがウォームアップペナルティです。NiceHash のような利益切替サービスがウォームアップ(約20分)より短いバーストで切り替える場合、それらのマイナーはフェロモンにまったく寄与しません。マイニングし、報酬を得て、去ります。コロニーのアイデンティティへの影響はゼロです。

コミットされたキーが特権を獲得するのに十分な時間残れば、コロニーの中の1つの平等な声になります。去ると、1つの声が消えます。コロニーの匂いはほとんど変わりません。

6.5 シーリング(フェーズ2:フェロモン生成)

新しいブロックが到着すると、デーモンは自動的に適格性を確認し、VRF 証明を計算し、BLS キーでブロックハッシュに署名し、シールシェアをネットワークにブロードキャストします。これはプールの関与なしに ConnectBlock で行われます。

各シールシェアには以下が含まれます:

ゼロ知識証明が主張すること:

署名者が最近のブロック高で公開チェーン状態の知識を持っていたこと、コミットメントがその状態を観察した後に生成されたこと(事前計算を防止)、キーマテリアルがこのラウンドのために新しいこと(リプレイを防止)。

ゼロ知識証明が隠すこと:

署名者の具体的なハッシュレート、観測の正確なタイミング、コミットメントで使用された秘密鍵マテリアル。シールシェアには署名者の公開鍵が含まれている(特権追跡のために仮名的なアイデンティティは可視)が、ゼロ知識証明は運用上の詳細とキーマテリアルをプライベートに保つことを保証します。

攻撃にとってなぜ重要か:

秘密のフォークをマイニングする攻撃者は、必要なタイミングで公開チェーンを観測していなかったため、有効な証明を生成できません。証明の入力は正直なチェーン上にのみ存在する公開チェーン状態から派生したエントロピーを参照します。証明は特定のブロックハッシュに紐付けられているため、チェーン間で転用することはできません。

シールシェアは SEALSHARE P2P メッセージを通じて伝播します。5秒間の署名ウィンドウの後、デーモンは収集されたシェアを集約された BLS 署名を持つ CAssembledSeal にアセンブルします。ブロック N のシールはブロック N+2 のコインベースに埋め込まれ、ブロック生成を停滞させることなくネットワークにシェアを収集する時間を与えます。マイニングは署名を待つことはありません。

HMP 証明のセットアップ: MiMC コミットメント回路は BLS12-381 上の Groth16 を使用します。回路は意図的に小さく設計されています(一般的なハードウェアでのプルーバー時間は2秒未満、検証者時間は50ms未満、証明サイズは256バイト未満)。証明鍵と検証鍵はマルチパーティ計算セレモニーを通じて生成されます。セキュリティの前提は Groth16 の標準:少なくとも1人のセレモニー参加者が正直でトキシックウェイストを破棄していればセットアップは安全です。セレモニーのトランスクリプトとパラメータハッシュは検証のために公開されます。

6.6 チェーン選択

HMP は標準的な累積 PoW にブロックごとのシールボーナスを追加することでチェーン選択を修正します:

chain_weight = sum( block_pow_work + seal_bonus(block) ) for all blocks in chain

各ブロックについて、シール乗数は block_pow_work に適用されるベーシスポイント値として計算されます:

weighted_proof = block_pow_work * seal_multiplier / 10000 seal_multiplier: No seal or below threshold: 10000 bps (1.0x, neutral) Partial shade (>= threshold): 12000-15000 bps (interpolated by Elder ratio) Full shade (all Elders signed): 15000-18000 bps (interpolated by Elder ratio) Cross-algo bonus: +500 bps per additional ELDER algo domain (max +1500) Maximum possible: 19500 bps (1.95x)

シール乗数は段階的なティアシステムを使用します。ELDER ティアの署名のうち algoId がブロックのマイニングアルゴリズムと一致するもののみが同一アルゴリズムの完全性にカウントされます。各ティア内で、乗数はそのアルゴリズムの ELDER 総数に対する存在する ELDER の比率に基づいて線形補間されます。クロスアルゴボーナスは、ブロック自身のアルゴリズム以外の追加 ELDER アルゴリズムドメインごとにフラット +500 ベーシスポイントを追加し、+1500 bps(全4アルゴリズム代表)が上限です。全4アルゴリズムドメインで完全にシールされたブロックは PoW ワークの1.95倍に達します。シールされていないブロックは1.0倍です。何百ものブロックにわたって、一貫して完全なフェロモンを持つチェーンは、生の PoW が同等であっても、弱いまたは欠如したフェロモンのチェーンよりも大幅に多くのウェイトを蓄積します。

必要な署名者の合意はアルゴリズムごとの ELDER 数に比例します:

ELDER数(アルゴリズムごと)必要な合意根拠
6+80%フルセキュリティ、個別の障害を吸収
4-575%強力、やや寛容
366%(3分の2)劣化しているが機能的
2100%(両方)最大限の注意
0-1N/A、純粋な PoW モードコロニー未確立

これはネットワークが純粋な PoW モードで開始し、マイニングコロニーの成長に合わせて有機的に HMP セキュアドコンセンサスに移行することを意味します。セキュリティは参加から生まれるのであり、フラグデーからではありません。

6.7 VRF 委員会選出(リレーレイヤー)

すべての登録署名者がすべてのシールに参加するわけではありません。BLS-VRF(検証可能ランダム関数)がどの署名者のシェアが P2P ネットワーク全体にリレーされるかをゲートします。前のブロックのハッシュが VRF のシードになります。各適格なデーモンは長期キーで VRF を実行します。選出は決定論的(すべてのノードが誰が適格かを検証可能)ですが予測不可能(事前に予測できないブロックハッシュに依存)です。

V1 では、VRF はリレーレイヤーフィルターであり、コンセンサスルールではありません。ノードは VRF 適格性に失敗した署名者からのシールシェアを破棄し、ネットワーク帯域幅を削減し、攻撃者がシェアプールをグラインドまたはフラッドすることを困難にします。チェーン選択のスコアリングは VRF ステータスに関係なく、アセンブルされたシール内のすべての有効な BLS 署名をカウントします(付録A.4参照)。将来のプロトコルアップグレードでは、VRF 適格性をコンセンサスレベルのシール有効性チェックに昇格させる可能性があります。

6.8 ドミナンスキャッチ

プールは過去100ブロック以内にブロックを解決した場合に特権を持つか、または、そのアルゴリズムでブロックを解決した直近6つのユニークプールに含まれる場合のいずれか遠い方のルックバックが適用されます。これにより、任意のアルゴリズムでの特権セットは6を下回ることはありません(6つの異なるプールがそのアルゴリズムでマイニングしたことがある場合)。

大規模な利益切替プールが100連続の KawPoW ブロックをマイニングした場合、そのストリーク以前に最近 KawPoW ブロックを解決した他の5つのプールは依然として特権を持つと見なされます。彼らの声はコロニーに残ります。拡張ルックバックは1,000ブロック(約33時間)が上限です。それ以上は参加が古すぎてカウントされません。

6.9 なぜ ChainLocks だけではないのか?

KERRIGAN は Dash の ChainLock システム(LLMQ ベースのマスターノードによるブロック確定)を継承しており、十分なマスターノードが登録された時点でスポークを通じて有効化されます。しかし ChainLocks は機能するマスターノードクォーラムを必要とし、その構築にはジェネシス後に時間がかかります。HMP がそのギャップを埋めます:すでにネットワーク上にいるマイナーを使って初日からリオーガナイゼーション耐性を提供します。マスターノードセットが成長するにつれて、ChainLocks は追加のファイナリティのために HMP の上にレイヤーされます。両者は補完的です。

6.10 4スクリーンの複合映画館

あなたは映画館にいます。ポップコーンを買いに途中で席を立ちます。出る途中で、ドアのそばに赤いシャツの男、3列目に老夫婦、前方にティーンエイジャーのグループに気づきます。ポップコーンを買い、戻ってくると、すぐに何かがおかしいとわかります。赤いシャツがいない。老夫婦が移動している。ティーンエイジャーが消えている。顔が一つも合いません。あなたは間違ったスクリーンにいます。誰かに言われる必要はありませんでした — あなたが期待していた人々がここにいないことに気づいただけです。

これが HMP が攻撃チェーンを検出する方法です。ネットワークはどのマイナーが参加してきたかを知っています — ブロックを解決し、シールに参加し、ELDER ステータスを獲得しています。競合するチェーンが現れると、プロトコルはその馴染みの顔が存在するかどうかを確認します。常連がいなければ、チェーンの匂いが違います。クロスチェーン比較は不要です。あなたは単に間違った部屋に入っただけです。

次に4つの部屋に拡張します。KERRIGAN は1つの上映を行うのではなく — 4スクリーンの複合映画館を運営します。X11、KawPoW、Equihash 200,9、Equihash 192,7 はそれぞれ独自の部屋と独自の常連を持ちます。X11 プールは X11 の部屋で評判を獲得します。KawPoW プールは KawPoW の部屋で評判を獲得します。完全に独立したコミュニティで、完全に異なるハードウェアです。

ブロックは複数の部屋の常連が保証するとき最も強くなります。KawPoW の常連だけが支持する KawPoW ブロックは部分的なボーナスを得ます。X11 の常連、Equihash 200,9 の常連、Equihash 192,7 の常連からの署名を追加すると、ブロックはクロスアルゴボーナス(セクション6.6)を獲得し、生の PoW ウェイトの最大1.95倍になります。攻撃者は4つのすべての部屋を同時に説得力のある顔で埋める必要があります — 4つの独立した群衆、4つの独立したハードウェアエコシステム、4つの独立した正直なマイニングの履歴、すべてを同時に偽装しなければなりません。

6.11 51%攻撃の実際の姿

最も洗練された攻撃者を想定してみましょう:無制限の予算、技術的専門知識、忍耐力。

  1. 全4アルゴリズムのハッシュレートを取得する。それぞれに異なるハードウェアが必要。4つの独立した調達問題。
  2. 10ブロックのウォームアップ期間を生き延びる。その間ずっと公開ネットワーク上で可視。
  3. 公開チェーンに公開鍵をコミットする。その存在の永久記録が作成される。
  4. 全4アルゴリズムで ELDER 特権を獲得する。アルゴリズムごとにルックバックウィンドウ内でブロックを解決 AND シーリングに参加しなければならない。その間ずっと正直にマイニングしている。
  5. 秘密のフォークのマイニングを開始する。ここで崩壊する:
    • 正直なプールはフォークにコミットしていない。フェーズ1の公開鍵は公開チェーンにコミットされている。フォークには彼らの出欠表がない。
    • 正直なプールは絵の具を追加していない。攻撃者のブロックにはコロニーの ELDER 署名のほとんどが欠けている。フェロモンは不完全。
    • 攻撃者のシールには自分自身の ELDER 署名しか含められない。正直な ELDER が不在の場合、完全性比率は低く、シールボーナスは分数的。
    • クロスアルゴボーナスには2つ以上のアルゴリズムドメインからの ELDER ティア署名が必要。1つのハードウェアエコシステムのみを制御する攻撃者はクロスアルゴウェイトを得られない。
    • リレーレイヤーでは、VRF フィルタリングとゼロ知識証明チェックにより、攻撃者が正直なネットワークからシールシェアを収集またはリプレイすることが困難になる。
  6. 攻撃チェーンをブロードキャストする。正直なチェーンはより高い合計ウェイトを持つ(クロスアルゴボーナス付きの完全な ELDER シール)。攻撃チェーンはより低いウェイトを持つ(不完全なシール、欠落した ELDER 署名)。ノードはより重いチェーンに従う。

レイヤーは独立した障害ではありません。相互に強化し合います。正直にマイニングしなければ特権を獲得できませんが、正直にマイニングすれば攻撃しようとしているチェーンを強化することになります。正直なプールが絵の具を提供しなかったため、秘密のフォーク上で有効なフェロモンを生成することはできません。攻撃者は7つの問題に直面しているのではありません。7つの角度から見た1つの不可能な問題に直面しています:孤立と協調を同時に行うことは可能か?

6.12 検閲とカルテルのリスク

HMP は調整メカニズムであり、調整メカニズムは悪用される可能性があります。expected_signers を満たすのに十分な特権を制御する ELDER 署名者のカルテルは、ターゲットされたプールがマイニングしたブロックからシールを選択的に差し控えることができます。ターゲットされたプールのブロックは少ないチェーンウェイト(低い完全性比率)を蓄積し、シールされたブロックに対するリオーグレースに負ける可能性が高くなります。

いくつかの要因がこの攻撃面を制限します:

正直な評価:HMP は51%攻撃のコストを大幅に増加させますが、純粋な PoW にはない調整面を導入します。改変されたデーモンの十分に大きなカルテルが、シールの差し控えをソフトな検閲ツールとして使用する可能性があります。上記の緩和策により、これは高コストで検出可能になりますが、不可能ではありません。このトレードオフは意図的です。代替案(HMP なしの純粋な PoW)は、より単純で安価なハッシュレートレンタル攻撃に対して厳密により脆弱です。

6.13 有効化

HMP はメインネットで段階的に有効化されます:

ステージブロック高説明
ステージ2ブロック 100公開鍵コミットメントが開放
ステージ3ブロック 300ソフトシーリング開始(正のウェイトのみ)
ステージ4ブロック 500ネガティブプルーフ付きのフル HMP

ポジティブプルーフとネガティブプルーフ:ステージ3では、シールされたブロックはボーナスのチェーンウェイトを受け取ります(ポジティブプルーフ:「このブロックにはコロニーの支持がある」)。ステージ4では、期待される署名者の不在もシグナルになります(ネガティブプルーフ:「このチェーンにはここにいるべきマイナーが欠けている」)。

ネガティブプルーフは候補チェーン単独から決定論的に計算され、クロスチェーン比較はありません。各チェーンは独自の特権状態を持ちます:ELDER 署名者のセットはそのチェーンのブロック履歴(誰がブロックを解決したか、誰がシールに参加したか、ルックバックウィンドウ内で)から導出されます。チェーン自身の特権トラッカーが KawPoW の ELDER 署名者を6人示しているが、最近のブロックのシールにはそのうち2人しか含まれていない場合、完全性比率は低くシールボーナスは分数的です。他のチェーンへの参照は不要です。ノードはそのチェーン自身の状態を使用して各候補チェーンを独立して評価します。

これはセクション6.10の映画館テストです:間違ったスクリーンに入って、常連が席にいません。比較不要 — いなくなった人に気づくだけです。

V1 では、ネガティブプルーフはチェーンウェイトのスコアリングにのみ影響します。ハードな有効性ルールではなく、選択のヒューリスティックです。署名者が欠けているチェーンは無効ではなく、期待される署名者が存在するチェーンよりも単にウェイトが少なく蓄積されます。この保守的なアプローチは、ネットワークパーティションや一時的な接続の問題下での誤ったペナルティを回避します。将来のプロトコルアップグレードでは、ネットワークが成熟するにつれてネガティブプルーフの施行を厳格化する可能性があります。

ランタイムキルスイッチ(SPORK_25_HMP_ENABLED)により、ローンチ後に問題が発生した場合の緊急無効化が可能です。


7. ネットワークパラメータ

◆

7.1 アドレッシング

パラメータ値
公開鍵アドレスプレフィックスK(バイト 45)
スクリプトアドレスプレフィックス7(バイト 16)
Sapling bech32m HRPks
BIP44 コインタイプ99888(未登録;正式な SLIP-0044 登録は保留中)
ネットワークマジック0x4B 0x52 0x47 0x4E("KRGN")

7.2 ポート

ネットワークP2P ポートRPC ポート
メインネット71207121
テストネット1712017121
Devnet3712019798
Regtest2712019898

7.3 DNS シード

地理的に分散した4つのシードノードが初期ピアディスカバリーを処理します:

シード地域
seed1.kerrigan.networkアメリカ合衆国
seed2.kerrigan.networkインド
seed3.kerrigan.network日本
seed4.kerrigan.networkドイツ

7.4 圧縮ヘッダー

KERRIGAN はマルチアルゴリズムフィールドの拡張を伴う DIP25 ベースの圧縮ブロックヘッダーを定義しています。圧縮ヘッダーはマルチアルゴリズムのデシリアライゼーションのエッジケースの解決が保留されているため現在無効です。初期ブロックダウンロードではフルヘッダーを使用します。1バイトのビットフィールドがどのフィールドが含まれるかを制御します:

これにより初期ブロックダウンロード中のヘッダー帯域幅が大幅に削減されます。送信する必要があるブロックのうち、フルの Equihash ソリューションや KawPoW データが必要なのはほんの一部です。

7.5 ジェネシスブロック

パラメータ値
タイムスタンプ1,773,446,400(2026年3月11日 12:00 UTC)
ナンス1,338,121
ビット0x1e0ffff0
報酬25 KRGN
ハッシュ0x00000444f8dbee14c599ac723b35cc8021b12d48d092c7ac67d45f6d8a0b9c32

8. セキュリティモデル

◆

8.1 マルチアルゴリズムの多様性

4つのマイニングアルゴリズムの最も直接的なセキュリティ上の利点は、単一ベクトル攻撃への耐性です。X11 ハッシュレートの51%を制御する攻撃者は、ネットワーク全体のブロック生産のおよそ25%を制御します。持続的な51%攻撃を実行するには、少なくとも2つのアルゴリズムを同時に支配するか、1つのアルゴリズムを圧倒しつつ他のアルゴリズム全体で正直なマイナーを上回る必要があります。Hivemind Protocol はこれをさらに困難にします:チェーン選択が登録されコミットされた署名者からのシール証明も重み付けする場合、ハッシュパワーだけでは不十分です。

8.2 シールドトランザクションのセキュリティ

Sapling のナリファイアセットがシールドノートの二重使用を防止します。すべてのノートはマークルツリー内の位置と使用鍵から導出される一意のナリファイアを持ちます。ナリファイアがチェーン上に現れると、同じノートを使用しようとするトランザクションはコンセンサスレベルで拒否されます。Groth16 証明は BLS12-381 上の離散対数仮定の下で計算的に健全です。ウィットネスを知らずに証明を偽造することは実行不可能です。

8.3 ワイヤーデータの安全性

P2P ネットワークからデシリアライズされるすべてのデータは、メモリ割り当て、ループ反復、または配列インデックスを駆動する前に境界チェックされます。Equihash ソリューションは1,400バイトに制限されます。シール署名者リストは200エントリに制限されます。ゼロ知識証明は256バイトに制限されます。公開鍵コミットメントリストはブロックあたり16に制限されます。ネットワークデータのフィールドが無制限の割り当てを引き起こすことはありません。

8.4 緊急制御

スポークシステムにより、開発チームはハードフォークなしで本番環境の機能を無効化できます。重要なスポークには以下が含まれます:

スポークキーは2-of-3の閾値を使用し、スポーク変更の承認には3人のキーホルダーのうち2人が必要です。


9. ロードマップ

◆

9.1 V1: ローンチ(2026年第1四半期)

V1はすべてのコアシステムが有効なマイニング重視のローンチです:

9.2 V2: GPU コンピューティングネットワーク(ローンチ後約12ヶ月)

V2は KERRIGAN を純粋なマイニングチェーンからAI推論向けの GPU コンピューティングネットワークに拡張します。コア開発見積もりはおよそ12週間で、テスト、監査、エコシステムの準備を含む合計タイムラインは48週間です。アーキテクチャはモジュラーであるため、V2は準備ができ次第出荷可能です。12ヶ月の見積もりは保守的であり、コミットメントではありません。

V2 コンポーネント:

推論プロバイダー登録:GPU オペレーターはステーキング要件、ハードウェア証明、サービスエンドポイントを伴ってオンチェーンに登録します。登録トランザクションは DIP3 マスターノードと同じ決定論的リストパターンに従い、すべてのノードが同じプロバイダーセットを計算することを保証します。

P2P ジョブ分配:推論リクエストはゴシッププロトコルを通じてプロバイダーに分配されます。ジョブ割り当てはプロバイダーのステークとパフォーマンス履歴で重み付けされた VRF ベースの選出を使用します。結果はハッシュ証明と共にオンチェーンにコミットされ、紛争解決に使用されます。

検証可能なコンピューティング:プロバイダーは他のプロバイダーによってスポットチェックされるコンピューティング証明を提出します。不正な結果はプロバイダーのステークのスラッシングを引き起こします。検証スキームはスループット(すべての結果が検証されるわけではない)とセキュリティ(不正は統計的に検出され罰せられる)のバランスを取ります。

ブロック報酬再構成:コインベース分割が変更され、ブロック報酬の40%をAI GPU 推論参加者に向け、推論あたりの収益に追加されます。マイニングは20%、マスターノードは20%、トレジャリーは15%、開発者/創設者は5%で維持されます。成長ファンドはV1ローンチフェーズでの目的を果たしたため、ゼロに減少します。

9.3 V2以降

V1とV2が完了すると、焦点はエコシステムの成熟に移ります:


10. 結論

◆

KERRIGAN はハードウェアの集中化問題を、4つのマイニングアルゴリズムをそれぞれ独自の難易度曲線で並行に競争させることで解決します。Sapling シールドトランザクションは Groth16 ゼロ知識証明に裏打ちされた真のプライバシーをユーザーに提供します。Hivemind Protocol は、コミットされた実証済みのマイナーからのシール証明を要求することで、51%攻撃を大幅に困難にする第2のコンセンサス次元を追加します。

40%の成長ファンドは、任意のトークン価格において取引所プレゼンスとエコシステムインフラを構築するための財政的リソースをプロジェクトに確保します。V1は完全なマイニング重視のブロックチェーンとして立ち上げられます。V2は同じ GPU インフラをAI推論に拡張し、マイニングハードウェアを汎用コンピューティングリソースに変えます。

コードはオープンソースです。チェーンパラメータは固定されています。マイニングはジェネシスから始まります。


参考文献

◆
コンポーネントソースファイル
マルチアルゴリズム PoWsrc/primitives/block.h, src/primitives/block.cpp, src/pow.cpp
トークノミクスsrc/chainparams.cpp, src/masternode/payments.cpp
Saplingsrc/sapling/, src/rust/src/bridge.rs, src/sapling/sapling_tx_payload.h
マスターノードsrc/evo/dmn_types.h, src/evo/deterministicmns.h
HMPsrc/hmp/, src/rust/src/hmp/
ネットワークパラメータsrc/chainparams.cpp, src/chainparamsbase.cpp
圧縮ヘッダーsrc/primitives/block.h (CompressibleBlockHeader)

付録A: コンセンサスルール

◆

A.1 アルゴリズム別ヘッダーシリアライゼーション

X11(標準80バイトヘッダー):

[version:4][prevHash:32][merkleRoot:32][time:4][bits:4][nonce:4] = 80 bytes

アイデンティティハッシュ:X11(上記)。PoW ハッシュ:同一。

KawPoW(80バイトヘッダー + 拡張フィールド):

[version:4][prevHash:32][merkleRoot:32][time:4][bits:4][nonce:4] = 80 bytes Extended: [nHeight:4][nNonce64:8][mix_hash:32] = 44 bytes

アイデンティティハッシュ:X11(最初の80バイト)。PoW ハッシュ:ProgPoW(sha256d(最初の80バイト), nHeight, nNonce64) を mix_hash に対して検証。ProgPoW シードハッシュは sha256d(X11 ではない)であり、すべての KawPoW マイナーが使用する Ravencoin 標準に一致。バイトオーダー:ethash はビッグエンディアン(bytes[0] = MSB)、Bitcoin はリトルエンディアン(begin() = LSB)を使用。バイトはすべての変換境界で反転されます。

Equihash 200,9 および 192,7(140バイト入力 + ソリューション):

CEquihashInput: [version:4][prevHash:32][merkleRoot:32][hashReserved:32][time:4][bits:4] = 108 bytes Mining input: [CEquihashInput:108][nNonce256:32] = 140 bytes Solution: [nSolution: variable, max 1400 bytes]

アイデンティティハッシュ:X11(バージョン + prevHash + merkleRoot + hashReserved + 時刻 + ビット + nNonce256、140バイトレイアウト)。PoW ハッシュ:同じ140バイト入力に対して Equihash ソリューションを検証。ソリューションはブロックのフルシリアライゼーションにコミットされます。

Equihash アイデンティティハッシュ入力:Equihash ブロックはアイデンティティハッシングに140バイト入力(hashReserved と nNonce256 を含む)を使用し、80バイト標準ヘッダーは使用しません。4バイトの nNonce フィールドは Equihash ブロックでは未使用です。アイデンティティハッシュが nNonce256 に直接コミットするため、マイニングナンスとブロックIDの間にマリアビリティはありません。

A.2 ブロックID、prevHash、一意性

ブロックID(次のブロックの hashPrevBlock で参照)はアイデンティティハッシュです:ブロックの基本ヘッダーに対する X11(X11/KawPoW は80バイト、Equihash バリアントは140バイト)。すべてのアルゴリズムでアイデンティティハッシングに X11 が使用されます。

一意性の保証:80バイトヘッダーにはマークルルートが含まれ、完全なコインベーストランザクションにコミットします。コインベースには以下が含まれます:BIP34で義務付けられたブロック高、マイナーのペイアウトアドレス、HMP アイデンティティデータ(CCbTx v4+ にはマイナーの BLS 公開鍵が含まれる)、埋め込まれたシールデータ、プール固有の extranonce。同じ高さで独立してマイニングされた2つのブロックは常に異なるコインベーストランザクションを生成し(異なるマイナー、異なる extranonce、異なる HMP アイデンティティ)、したがって異なるマークルルート、したがって異なるアイデンティティハッシュになります。

この保証をプロトコルレベルで明示的にするために:KERRIGAN はコインベーストランザクションに CCbTx minerIdentity フィールド(v4 HMP_SEAL および v5 HMP_COMMITMENT、HMP ステージ3有効化のブロック300以降)でマイニングデーモンの HMP 公開鍵を含めることを要求します。各デーモンは一意の BLS キーペアを持つため、コインベースはデーモンごと高さごとに一意であることが保証されます。有効化前(ブロック0-299)は、一意性は標準的な BIP34 高さ + extranonce メカニズムに依存しますが、低競争の初期チェーンでは十分です。ステージ2(ブロック100-299)では、マイナーは暗黙的および明示的なコミットメントを通じてアイデンティティを登録しますが、エコシステムに採用の時間を与えるため施行は遅延されます。

コンセンサス施行:ノードは、HMP ステージ3有効化高さ以上で、CCbTx に有効な minerIdentity フィールドがないブロックを拒否します。これはマイナーの行動についての仮定ではなく、コンセンサスルールです。ステージ3有効化後のマイナーアイデンティティのないブロックは無効です。以上です。

アルゴリズム固有フィールドのコミットメント:Equihash ソリューション、KawPoW ミックスハッシュ、拡張ナンスは PoW 検証チェックによってコミットされ、ブロックIDによるものではありません。アルゴリズム固有のフィールドを変更すると PoW 証明が無効になります。チェーンリンケージ(prevHash)は統一的でアルゴリズム非依存です。

複数の有効なウィットネス:天文学的に低い確率ではありますが、単一のマイナーが同じ80バイトヘッダーに対して2つの有効な PoW ソリューションを見つけた場合(同じアイデンティティハッシュ、異なるアルゴリズム固有ウィットネス)、プロトコルはそれらを同じブロックとして扱います。最初に受信した有効なウィットネスが受け入れられ、既知のアイデンティティハッシュに対するその後のウィットネスは無視されます。これは安全です。なぜなら、アイデンティティハッシュはマークルルートにコミットするため(したがってすべてのトランザクション)、両方のウィットネスは同じブロックコンテンツと同じ経済的効果を表します。

無効ブロックポイズニングの緩和:アイデンティティハッシュはアルゴリズム固有フィールドにコミットしないため、悪意のあるリレーが理論的には有効なブロックの Equihash ソリューションや KawPoW の mix_hash を改変して、同じアイデンティティハッシュを持つ無効なブロックを生成する可能性があります。ノードが「このハッシュは無効」とキャッシュし、後に本物のブロックを受信した場合、それを拒否する可能性があります。KERRIGAN はブロックヘッダーをインデックスにコミットする前にアルゴリズム固有の PoW 証明を検証することでこれを緩和します。PoW チェックに失敗したブロックはブロックインデックスをポイズンすることなくネットワークレイヤーで破棄されます。これは DigiByte やアイデンティティハッシングと PoW 検証を分離する他のマルチアルゴリズムチェーンが使用するのと同じアプローチです。

A.3 チェーン選択式

total_chain_weight = sum( weighted_proof(block) ) for all blocks weighted_proof(block) = block_pow_work * seal_multiplier / 10000 seal_multiplier (basis points): No seal / below threshold: 10000 (1.0x) Partial shade (>= threshold): 12000 + (above_threshold / range) * 3000 Full shade (all Elders): 15000 + (elders_present / elder_count) * 3000, cap 18000 Cross-algo bonus: +500 per additional ELDER algo domain (cap +1500) Maximum: 19500 (1.95x)

elders_present、elder_count、block_pow_work はセクションA.4で定義されています。同じ高さで2つの競合するチェーンを比較する場合、total_chain_weight が高いチェーンが勝ちます。

A.4 シール有効性とスコアリング

定義:

動的合意閾値:

ELDER数(アルゴリズムごと)必要な合意required_count(例)
680%ceil(0.80 * 6) = 5
575%ceil(0.75 * 5) = 4
475%ceil(0.75 * 4) = 3
366%ceil(0.66 * 3) = 2
2100%ceil(1.00 * 2) = 2
0-1N/A純粋な PoW モード(すべてのブロックで seal_multiplier = 10000)

シール有効性ルール(コンセンサスクリティカル):

  1. シールは、シールされたブロックの少なくとも nHMPCommitmentOffset(10)ブロック前にオンチェーンにコミットされた公開鍵を持つ異なる署名者からの少なくとも2つの BLS 署名を含む場合に有効です。
  2. 各署名者の BLS 署名は H("KRGN-HMP-SEAL-V1" || blockHash || signerPubKey || algoId) に対して検証されなければなりません。ここで blockHash はアイデンティティハッシュ(ブロックの基本ヘッダーに対する X11)です。ドメインタグはクロスコンテキスト BLS リプレイを防止し、プリイメージ内の signerPubKey と algoId はクロスサイナーおよびクロスアルゴの署名リプレイを防止します。
  3. 各署名者はシールされたブロックの高さで少なくとも NEW 特権ティアを保持していなければなりません。
  4. 2つ未満の有効な署名を持つシールは不在として扱われます(seal_bonus = 0)。
  5. 各署名者の algoId は、特権トラッカーによって決定される、シールされたブロックの高さで署名者が NEW または ELDER 特権を保持するアルゴリズムドメインと等しくなければなりません。獲得していない algoId を持つ署名は無効であり、シールから除外されます。
  6. algoId がブロックのマイニングアルゴリズムに一致する ELDER ティア署名のみが完全性比率の signers_present にカウントされます。NEW ティア署名はシールに受け入れられますが(ルール1の最小2閾値を満たす)、completeness_ratio を増加させません。他のアルゴリズムドメインからの ELDER 署名はクロスアルゴボーナスチェック(以下のルール)に寄与しますが、signers_present には寄与しません。これにより安価な NEW アイデンティティによるシビルインフレーションが防止され、完全性比率がブロック自身のマイニングコミュニティにスコープされます。
  7. シールスコアリングは段階的なティアシステムを使用します(セクション6.6参照)。フルシェードにはすべてのアルゴリズムごとの ELDER が存在する必要があり、パーシャルシェードには elders_present >= required_count が必要です。乗数はティア内で線形補間されます。elder_count を超える追加の署名者は18000 bps のキャップを超えて乗数を増加させません。

VRF とゼロ知識証明(V1では非コンセンサス):

VRF 委員会選出と Groth16 ゼロ知識証明は P2P レイヤー上のシールシェアに含まれ、アンチ DoS およびアンチグラインディング保護として機能します。V1 では、これらはコンセンサスクリティカルではありません:シールの有効性は上記の BLS 署名、コミットメント成熟度、特権チェックにのみ依存します。ノードはシールシェアをリレーする前に VRF とゼロ知識証明を検証します(無効な証明はネットワークレイヤーで破棄)が、コインベース内のアセンブルされたシールはその BLS 署名のみでスコアリングされます。この保守的なアプローチは起動時のコンセンサスルールを最小限に保ちます。将来のプロトコルアップグレードでは、証明システムがメインネットで実戦テストされた後、VRF 適格性とゼロ知識証明の検証をコンセンサスルールに昇格させる可能性があります。

シール成熟度とトレーリングウィンドウ:

ブロック N のシールはブロック N+2 のコインベースに埋め込まれます(nHMPSealTrailingDepth = 2)。これは以下を意味します:

A.5 ブロックインデックスと無効ウィットネスの処理

ノードはアルゴリズム固有の PoW フィールドを持つブロックを処理する際、以下のルールに従います:

  1. インデックス前に PoW を検証。アルゴリズム固有の PoW チェック(Equihash ソリューション検証、KawPoW ProgPoW 検証、または X11 ハッシュ比較)はブロックヘッダーが mapBlockIndex に追加される前に成功しなければなりません。PoW 検証に失敗したブロックはインデックスエントリを作成せずに破棄されます。
  2. アイデンティティハッシュのみによる無効性をキャッシュしない。ブロックが PoW 検証に失敗した場合、ノードはアイデンティティハッシュを永久に無効として記録してはなりません。異なる(有効な)ウィットネスを持つ同じアイデンティティハッシュが後で到着する可能性があります。
  3. アイデンティティハッシュごとの PoW 検証をレート制限。同じアイデンティティハッシュに対する繰り返しの無効ウィットネスによる DoS を防ぐために、ノードは検証に失敗した (identity_hash, witness_hash) ペアをキャッシュし、同じペアの再検証をスキップすることができます。witness_hash は SHA256(algoId || algo_specific_fields) です。ここで algoId はアルゴリズム識別子バイト(ドメイン分離)で、algo_specific_fields は完全にシリアライズされた拡張ヘッダーデータです:
    • KawPoW: nHeight || nNonce64 || mix_hash
    • Equihash: hashReserved || nNonce256 || nSolution
    • X11: 空(アイデンティティハッシュ = PoW ハッシュ、拡張フィールドなし)
    Equihash ウィットネスハッシュに hashReserved を含めることで、攻撃者が nNonce256 と nSolution を同一に保ちながら hashReserved を改変するポイズニングバリアントを防止します。
  4. 最初の有効なウィットネスが勝つ。アイデンティティハッシュに対して有効なウィットネスが受け入れられると、同じアイデンティティハッシュに対するその後の有効なウィットネスは無視されます。

A.6 トラステッドセットアップの概要

コンポーネントパラメータソース
Sapling(シールドトランザクション)BLS12-381 上の Groth16 証明/検証鍵Zcash Powers of Tau + Sapling MPC(再利用、同一回路)
HMP MiMC 回路BLS12-381 上の Groth16 証明/検証鍵マルチパーティセレモニー;少なくとも1人の参加者が正直であれば安全;トランスクリプト公開