KERRIGAN: 영지식 프라이버시 및 실(Seal) 기반 합의를 갖춘 멀티 알고리즘 작업증명 암호화폐

버전 1.0 | 2026년 3월

"서열을 회전시킨다. 결합한다. 개선한다. 결코 완벽하지 않다. 완벽이란 변하는 목표."

— 아바투르, 스타크래프트 II: 군단의 심장


초록

◆

KERRIGAN은 하드웨어 다양성, 영지식 프라이버시, 그리고 Hivemind Protocol이라는 새로운 실(Seal) 기반 합의 계층을 결합한 멀티 알고리즘 작업증명 암호화폐입니다. 네 가지 채굴 알고리즘(X11, KawPoW, Equihash 200,9, Equihash 192,7)이 제네시스 블록부터 동시에 작동하며, 각각 DigiByte의 멀티 알고리즘 접근방식에서 파생된 독립적인 난이도 조정을 갖습니다. Sapling zk-SNARK 차폐 거래는 사용자에게 완전한 거래 프라이버시 옵션을 제공합니다. Hivemind Protocol은 PoW 위에 두 번째 합의 차원을 추가하여, 채굴자들이 BLS 서명 증명과 검증 가능한 무작위 위원회 선출을 통해 블록을 집단적으로 봉인합니다. V1은 마스터노드와 온체인 거버넌스를 갖춘 채굴 중심 체인으로 출시됩니다. V2는 네트워크를 AI 추론을 위한 GPU 컴퓨팅으로 확장하여, 블록 보상을 채굴자와 함께 추론 제공자에게 인센티브를 부여하는 방향으로 재배분합니다.


1. 서론

◆

대부분의 작업증명 블록체인은 단일 채굴 알고리즘에 의존합니다. 이는 하나의 하드웨어 제조업체나 하나의 ASIC 설계가 해시레이트를 지배할 수 있고, 단일 알고리즘 취약점이 전체 체인을 위험에 빠뜨릴 수 있는 취약한 네트워크를 만듭니다. 비트코인의 SHA-256은 거의 전적으로 전용 ASIC으로 채굴됩니다. 이더리움 클래식의 Ethash는 GPU 채굴자들이 지분증명 이더리움으로 이동한 후 반복적인 51% 공격을 겪었습니다. 단일 알고리즘 체인은 위험을 집중시킵니다.

프라이버시가 또 다른 공백입니다. 투명한 PoW 체인은 모든 거래를 공개 분석에 노출합니다. 체인 분석 업체들은 여러 홉에 걸쳐 자금을 추적하고, 주소를 신원에 연결하며, 완전한 재무 프로필을 구축할 수 있습니다. 일부 체인은 선택적 프라이버시를 나중에 추가하고, 다른 체인은 투명성을 완전히 포기합니다. 어느 극단도 사용자에게 잘 봉사하지 못합니다.

KERRIGAN은 두 가지 문제를 모두 해결합니다. 네 가지 채굴 알고리즘은 단일 하드웨어 클래스가 블록 생산을 독점할 수 없도록 보장합니다. ASIC 채굴자는 X11에서 경쟁하고 GPU 채굴자는 KawPoW, Equihash 200,9, Equihash 192,7에 분산됩니다. 각 알고리즘은 자체 난이도 조정을 가지므로, 알고리즘 간 해시레이트 이동이 네트워크를 불안정하게 만들지 않습니다. Sapling zk-SNARK 차폐 거래는 원하는 사용자에게 암호학적 프라이버시를 제공하면서도 투명 거래 계층을 제거하지 않습니다.

이 체인은 Dash 포크를 기반으로 구축되어, 결정론적 마스터노드 목록(DIP3), 쿼럼 기반 서비스(LLMQ), 안전한 기능 활성화를 위한 스포크 시스템을 상속합니다. 필요 없는 것은 제거하고, 맞지 않는 것은 교체하며, 상속된 코드가 부족한 부분에는 새로운 시스템을 구축했습니다. 멀티 알고리즘 PoW 엔진, Sapling 통합, Hivemind Protocol은 모두 KERRIGAN 고유의 것입니다.


2. 멀티 알고리즘 작업증명

◆

KERRIGAN은 제네시스 블록부터 네 가지 채굴 알고리즘을 병렬로 실행합니다. 모든 블록은 정확히 하나의 알고리즘으로 채굴되며, 알고리즘은 블록 버전 필드에 직접 인코딩됩니다.

2.1 알고리즘

X11은 Dash의 고유 해시 함수로, 열한 개의 체인된 암호학적 함수(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) 매개변수는 솔루션 시도당 약 700 MB의 작업 메모리를 필요로 합니다. 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 마스크를 사용하여 인코딩됩니다:

알고리즘내부 Enum버전 비트16진수
X11ALGO_X11 = 00 << 80x0000
KawPoWALGO_KAWPOW = 12 << 80x0200
Equihash 200,9ALGO_EQUIHASH_200 = 24 << 80x0400
Equihash 192,7ALGO_EQUIHASH_192 = 36 << 80x0600

내부 enum 값(0-3)은 코드에서 배열 인덱싱에 사용됩니다. 버전 비트는 미래 알고리즘을 위한 여유를 두기 위해 균등한 간격(0, 2, 4, 6)을 사용합니다. 이들 간의 매핑은 enum 값의 직접적인 비트 시프트가 아닌 룩업입니다.

BIP9 소프트포크 시그널링을 위해 nVersion을 검사하는 모든 코드는 먼저 비트 8-11을 제거해야 합니다. WarningBitsConditionChecker는 잘못된 경고를 피하기 위해 이 비트들을 건너뜁니다.

2.3 해싱

KERRIGAN은 블록당 두 가지 고유한 해시를 사용합니다: 인덱싱을 위한 식별 해시와 채굴 검증을 위한 작업증명 해시.

식별 해시는 블록의 기본 헤더에 대해 계산된 X11입니다. X11 및 KawPoW 블록의 경우 표준 80바이트 헤더(버전, 이전 해시, 머클 루트, 시간, 비트, 논스)입니다. Equihash 블록의 경우 140바이트(버전, 이전 해시, 머클 루트, hashReserved, 시간, 비트, nNonce256)입니다. 이것은 hashPrevBlock이 참조하는 것이며, RPC가 반환하는 것이고, 체인 인덱스가 사용하는 것입니다. X11은 모든 노드가 동일한 방식으로 모든 블록을 인덱싱할 수 있도록 모든 알고리즘에서 식별 해싱에 사용됩니다.

작업증명 해시는 알고리즘별로 고유하며 해당 알고리즘의 모든 합의 필수 필드에 커밋합니다:

이 이중 해시 설계의 의미는: 식별 해시는 모든 알고리즘에 걸쳐 안정적이고 균일한 블록 ID를 제공하고, PoW 해시는 알고리즘별 필드(솔루션, 믹스 해시, 확장 논스)가 완전히 커밋되고 변조 불가능하도록 보장합니다. 알고리즘별 정확한 직렬화 바이트 레이아웃은 부록 A를 참조하십시오.

2.4 Hivemind 난이도

각 알고리즘은 DigiByte의 멀티 알고리즘 난이도(DigiShield v4)에서 파생된 체계를 사용하여 자체 독립 난이도를 조정합니다. 매개변수:

이 알고리즘별 난이도는 GPU 채굴자가 KawPoW에 갑자기 유입되어도 X11 난이도나 Equihash 난이도에 영향을 미치지 않음을 의미합니다. 각 알고리즘은 독립적으로 자체 균형을 찾습니다.


3. 토큰경제학

◆

3.1 공급량

공급량은 표준 반감기 스케줄을 따릅니다: 처음 1,051,200블록 동안 25 KRGN, 그 다음 12.5, 그 다음 6.25, 이하 마찬가지입니다. 기하급수적 수열은 총 52,560,000 KRGN으로 수렴합니다.

3.2 V1 블록 보상 분배

모든 블록의 코인베이스 거래는 25 KRGN 보상을 다섯 가지로 분할합니다:

수령자비율KRGN/블록관리 방식용도
성장 기금40%10.00합의 잠금 에스크로거래소 상장, 파트너십, 생태계 개발
채굴자20%5.00즉시 지급PoW 블록 보상
마스터노드20%5.00즉시 지급네트워크 서비스 (등록된 마스터노드가 없으면 채굴자에게 지급)
재무부15%3.752-of-3 다중서명운영 비용, 마케팅, 커뮤니티, 팀 급여
개발 / 설립자5%1.25즉시 지급설립자 보상 및 지속적인 프로젝트 참여

성장 기금은 재무부가 아닙니다. 이것은 마스터노드 승인 없이는 팀이 사용할 수 없는 합의 잠금 에스크로입니다(3.4절 참조). 재무부와 개발/설립자 할당(합산 20%)은 프로젝트의 운영 예산으로, Zcash의 역사적 20% 개발 기금과 비교됩니다. 재무부 주소는 세 명의 키 보유자 중 두 명이 지출을 승인해야 하는 2-of-3 P2SH 다중서명입니다. 네트워크에 등록된 마스터노드가 없으면 마스터노드 20% 지분은 정상 저하 메커니즘으로 채굴자에게 유지됩니다.

3.3 왜 40% 성장 에스크로인가

KERRIGAN은 VC 후원, ICO, 프리마인, 토큰 세일이 없습니다. 하드웨어는 자비로 운영됩니다. 코드는 팀이 작성합니다. 시드 라운드에서 다중서명에 보관된 500만 달러 전쟁 자금이 없습니다.

이는 네트워크가 자체 성장을 자금 조달해야 함을 의미합니다. 거래소 상장, 유동성 확보, 브릿지 배포, 파트너십 거래에는 실제 비용이 들며, 외부 자금 없이는 체인 자체가 유일한 재원입니다. 성장 에스크로는 채굴된 코인을 거래 가능한 자산으로 전환하는 메커니즘입니다. 거래소 상장이 없으면 유동성이 없습니다. 유동성이 없으면 채굴자가 벌어들인 코인은 무가치합니다.

성장 에스크로는 블록당 10 KRGN을 축적합니다:

다음은 다양한 KRGN 가격에서의 모습으로, 일반적인 2등급 거래소 상장 비용 $150,000과 3등급 상장 비용 $30,000을 가정합니다:

KRGN 가격월간 에스크로3등급 상장까지의 기간 ($30K)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에서도 에스크로는 한 분기 이내에 3등급 거래소 상장 자금을 조달할 수 있습니다. $0.10에서는 2등급 상장이 첫 해 내에 달성 가능합니다.

에스크로는 일시적입니다. 블록 262,800(~12개월)에 하드 상한이 있습니다. 그 안의 모든 코인은 발행 시점부터 잠겨 있습니다. 특정 지출을 승인하는 마스터노드 투표 없이는 에스크로에서 어떤 코인도 나가지 않습니다. 초기 성장을 자금 조달하는 채굴자들은 작동하는 생태계와 실제 거래소에서 거래되는 코인으로 보상받습니다.

3.4 성장 에스크로: 투표 전까지 잠금

성장 기금의 40% 할당은 매 블록마다 발행되어 합의 잠금 에스크로 주소로 전송됩니다. 코인은 온체인에 존재하고, 총 공급량에 포함되며, 완전히 감사 가능하지만, 사용할 수 없습니다. 어떤 다중서명 서명자도, 팀원도, 어떤 단일 주체도 이동시킬 수 없습니다. 지출에는 마스터노드 네트워크가 특정 제안을 승인해야 합니다.

작동 방식:

  1. 매 블록마다 10 KRGN이 성장 에스크로 주소로 전송됩니다. 코인은 정상 발행 스케줄에 따라 생성됩니다(52,560,000 KRGN의 하드캡 유지).
  2. 지출 제안이 거버넌스 시스템에 제출되어 특정 지출을 설명합니다: 금액, 수령 주소, 목적 (예: "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): 프로젝트를 운영하는 데 필요한 운영 비용. 마케팅, 커뮤니티 관리, 중재자 보상, 서버 비용, 에어드롭, 경품, 파트너십 비용. 재무부 주소는 세 명의 키 보유자 중 두 명이 지출을 승인해야 하는 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%목적을 달성함

생태계가 확립되면 성장 기금은 0으로 줄어듭니다. 초기 거래소 상장과 파트너십에 자금을 지원했던 40%가 AI GPU 추론 참여자에게 리디렉션되어, KERRIGAN을 이중 목적 체인으로 전환합니다: 채굴이 네트워크를 보호하는 동안 GPU 컴퓨팅이 AI 워크로드를 서비스합니다. 40% 추론 할당은 직접적인 추론당 수수료 위에 쌓여, GPU 운영자에게 동일한 하드웨어로 두 가지 수익원을 제공합니다.


4. Sapling 차폐 거래

◆

KERRIGAN은 영지식 차폐 거래를 위해 Zcash의 Sapling 프로토콜을 통합합니다. 사용자는 투명 주소('K'로 시작)와 차폐 주소 간에 Groth16 zk-SNARK 증명을 사용하여 자금을 이동할 수 있으며, 이 증명은 발신자, 수신자 또는 금액에 대해 아무것도 공개하지 않습니다.

4.1 거래 구조

차폐 거래는 nType = 10 (TRANSACTION_SAPLING)을 사용합니다. 추가 페이로드에는 다음이 포함됩니다:

거래당 최대 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 스타일의 서명해시 체계를 따릅니다. 서명해시 프리이미지에는 투명 및 차폐 구성요소를 모두 포함하는 hashPrevouts, hashSequence, hashOutputs가 포함됩니다. 이것은 서명 변조를 방지하고 거래의 투명 부분과 차폐 부분이 암호학적으로 연결되도록 보장합니다.

4.4 수수료 구조

차폐 거래는 행동 기반 수수료 모델을 사용합니다:

4.5 활성화 및 RPC

Sapling은 메인넷 블록 500에서 활성화되며, 제네시스 후 약 16시간입니다. 아홉 개의 RPC가 완전한 지갑 기능을 제공합니다:

RPC기능
z_getnewaddress새 차폐 주소 생성
z_listaddresses지갑의 모든 차폐 주소 목록
z_getbalance주소의 차폐 잔액 조회
z_listunspent미사용 차폐 노트 목록
z_sendmany차폐 주소로/부터 전송 (t-to-z, z-to-z, z-to-t)
z_exportkey차폐 지출 키 내보내기
z_importkey차폐 지출 키 가져오기
z_exportviewingkeySapling 전체 조회 키 내보내기
z_importviewingkeySapling 전체 조회 키 가져오기

5. 마스터노드 및 거버넌스

◆

5.1 마스터노드 유형

KERRIGAN은 Dash의 에볼루션 프레임워크에서 상속받은 두 가지 마스터노드 등급을 지원합니다:

유형담보투표 가중치
일반10,000 KRGN1x
Evo (HPMN)40,000 KRGN4x

마스터노드는 DIP3 결정론적 등록 거래를 사용하여 온체인에 등록됩니다:

결정론적 마스터노드 목록은 전적으로 온체인 거래에서 파생됩니다. 모든 노드가 동일한 체인 상태에서 동일한 목록을 계산하여, 비결정론적 마스터노드 시스템을 괴롭혔던 합의 불일치를 제거합니다.

5.2 쿼럼 서비스

장수 마스터노드 쿼럼(LLMQ)은 두 가지 핵심 서비스를 가능하게 합니다:

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가 누가 블록을 채굴하는지 결정합니다. 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개 이상의 블록을 해결하고 100블록 윈도우 내에서 봉인 참여전체 가중치, 크로스 알고리즘 보너스 자격

권한 윈도우는 100블록입니다. 참여를 중단한 채굴자는 윈도우에서 벗어난 후 UNKNOWN으로 떨어집니다. 권한에는 실제 작업이 필요합니다: 실제로 블록을 해결하지 않으면 ELDER가 될 수 없으며, 이는 시빌 공격을 비용이 많이 드는 정직한 채굴 작업으로 전환합니다.

6.4 점호 (Phase 1: 공개키 커밋먼트)

봉인 전에 데몬은 BLS 공개키를 온체인에 커밋해야 합니다. 이것을 출석부로 생각하십시오. 참여하고자 하는 모든 데몬이 자신의 공개키를 브로드캐스트합니다. 이 키들은 두 가지 방법으로 체인에 도달합니다: 암묵적으로(블록을 채굴하여 채굴자의 공개키가 CCbTx v4 minerIdentity 필드에 내장됨) 또는 명시적으로(CCbTx v5의 vCommitments 필드에 블록당 최대 16개의 추가 공개키 커밋먼트).

커밋된 키는 서명자가 자격을 갖추기 전에 10블록 동안 성숙해야 합니다. 이것이 워밍업 패널티입니다. NiceHash와 같은 수익 전환 서비스가 워밍업(~20분)보다 짧은 버스트로 순환하면, 해당 채굴자들은 페로몬에 전혀 기여하지 않습니다. 그들은 채굴하고, 보상을 받고, 떠납니다. 군집 정체성에 대한 영향은 제로입니다.

커밋된 키가 권한을 얻을 만큼 오래 머물면, 군집에서 하나의 동등한 목소리가 됩니다. 떠나면 하나의 목소리가 사라집니다. 군집의 향기는 거의 변하지 않습니다.

6.5 봉인 (Phase 2: 페로몬 생산)

새 블록이 도착하면, 데몬은 자동으로 자격을 확인하고, VRF 증명을 계산하고, BLS 키로 블록 해시에 서명하고, 봉인 공유를 네트워크에 브로드캐스트합니다. 이것은 풀 개입 없이 ConnectBlock에서 발생합니다.

각 봉인 공유에는 다음이 포함됩니다:

영지식 증명이 주장하는 것:

서명자가 최근 높이의 공개 체인 상태에 대한 지식을 가지고 있었고, 커밋먼트가 해당 상태를 관찰한 후 생성되었으며(사전 계산 방지), 키 자료가 이 라운드에 대해 새롭다는 것(재생 방지)입니다.

영지식 증명이 숨기는 것:

서명자의 구체적인 해시레이트, 관찰의 정확한 타이밍, 커밋먼트에 사용된 개인 키 자료. 봉인 공유에는 서명자의 공개키가 포함되지만(권한 추적을 위해 가명 신원이 보임), 영지식 증명은 운영 세부 사항과 키 자료가 비공개로 유지되도록 보장합니다.

공격에 대해 이것이 중요한 이유:

비밀 포크를 채굴하는 공격자는 필요한 순간에 공개 체인을 관찰하지 않았기 때문에 유효한 증명을 생산할 수 없습니다. 증명 입력은 정직한 체인에만 존재하는 공개 체인 상태에서 파생된 엔트로피를 참조합니다. 증명은 특정 블록 해시에 바인딩되므로 체인 간에 이식할 수 없습니다.

봉인 공유는 SEALSHARE P2P 메시지를 통해 전파됩니다. 5초 서명 윈도우 후, 데몬은 수집된 공유를 집계된 BLS 서명과 함께 CAssembledSeal로 조립합니다. 블록 N에 대한 봉인은 블록 N+2의 코인베이스에 내장되어, 블록 생산을 멈추지 않으면서 네트워크에 공유를 수집할 시간을 줍니다. 채굴은 서명을 기다리지 않습니다.

HMP 증명을 위한 설정: MiMC 커밋먼트 회로는 BLS12-381에서 Groth16을 사용합니다. 회로는 의도적으로 작습니다(일반 하드웨어에서 증명 시간 <2초, 검증 시간 <50ms, 증명 크기 <256바이트). 증명 키와 검증 키는 다자간 계산 세레모니를 통해 생성됩니다. 보안 가정은 Groth16의 표준입니다: 최소 한 명의 세레모니 참가자가 정직하고 독성 폐기물을 파괴했다면 설정은 안전합니다. 세레모니 기록 및 매개변수 해시가 검증을 위해 공개됩니다.

6.6 체인 선택

HMP는 표준 누적 PoW에 블록별 봉인 보너스를 추가하여 체인 선택을 수정합니다:

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

각 블록에 대해, 봉인 배수는 block_pow_work에 적용되는 기준점(bps) 값으로 계산됩니다:

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)

봉인 배수는 단계적 등급 시스템을 사용합니다. algoId가 블록의 채굴 알고리즘과 일치하는 ELDER 등급 서명만이 동일 알고리즘 완성도에 계산됩니다. 각 등급 내에서 배수는 해당 알고리즘에 대한 총 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-1해당 없음, 순수 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스크린 멀티플렉스

영화관에 있습니다. 팝콘을 사러 영화 중간에 나갑니다. 나가는 길에 문 옆의 빨간 셔츠를 입은 남자, 세 번째 줄의 노부부, 앞쪽의 십대 그룹을 봅니다. 팝콘을 사서 돌아가는데 무언가 잘못되었습니다. 빨간 셔츠가 없습니다. 노부부가 이동했습니다. 십대들이 사라졌습니다. 얼굴이 하나도 맞지 않습니다. 잘못된 상영관에 들어온 것입니다. 아무도 알려줄 필요가 없었습니다 — 기대했던 사람들이 여기 없다는 것을 그냥 알아챈 것입니다.

이것이 HMP가 공격 체인을 감지하는 방법입니다. 네트워크는 어떤 채굴자들이 나타나고 있었는지 알고 있습니다 — 블록을 해결하고, 봉인에 참여하고, ELDER 자격을 획득합니다. 경쟁 체인이 나타나면 프로토콜은 익숙한 얼굴들이 존재하는지 확인합니다. 단골들이 없으면 체인의 냄새가 틀립니다. 교차 체인 비교가 필요 없습니다. 단지 잘못된 상영관에 들어간 것입니다.

이제 4개의 상영관으로 확장합니다. KERRIGAN은 하나의 상영이 아니라 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배에 이릅니다. 공격자는 네 개의 상영관 모두를 동시에 설득력 있는 얼굴로 채워야 합니다 — 네 개의 독립적인 군중, 네 개의 독립적인 하드웨어 생태계, 네 개의 독립적인 정직한 채굴 이력, 모두 한꺼번에 위조해야 합니다.

6.11 51% 공격의 실제 모습

가능한 한 가장 정교한 공격자를 고려합니다: 무한한 예산, 기술적 전문성, 인내심.

  1. 4개 알고리즘 모두에서 해시레이트를 확보합니다. 각각 다른 하드웨어. 네 개의 독립적인 조달 문제.
  2. 10블록 워밍업 기간을 견뎌야 합니다. 전체 시간 동안 공개 네트워크에 노출됩니다.
  3. 공개 체인에 공개키를 커밋합니다. 존재에 대한 영구 기록을 생성합니다.
  4. 4개 알고리즘 모두에서 ELDER 권한을 획득합니다. 알고리즘별로 되돌아보기 윈도우 내에서 블록을 해결하고 봉인에 참여해야 합니다. 전체 시간 동안 정직하게 채굴합니다.
  5. 비밀 포크 채굴을 시작합니다. 여기서 무너집니다:
    • 정직한 풀들은 포크에 커밋한 적이 없습니다. Phase 1 공개키는 공개 체인에 커밋되었습니다. 포크에는 그들의 출석부가 없습니다.
    • 정직한 풀들은 물감을 추가하지 않았습니다. 공격자의 블록에는 군집의 대부분의 ELDER 서명이 누락되어 있습니다. 페로몬이 불완전합니다.
    • 공격자의 봉인에는 자신의 ELDER 서명만 포함될 수 있습니다. 정직한 ELDER가 부재하므로 완성도 비율이 낮고 봉인 보너스가 부분적입니다.
    • 크로스 알고리즘 보너스는 2개 이상의 알고리즘 도메인에서 ELDER 등급 서명이 필요합니다. 하나의 하드웨어 생태계만 통제하는 공격자는 크로스 알고리즘 가중치를 얻지 못합니다.
    • 릴레이 계층에서 VRF 필터링과 영지식 증명 검사가 공격자가 정직한 네트워크에서 봉인 공유를 수확하거나 재생하기 어렵게 만듭니다.
  6. 공격 체인을 브로드캐스트합니다. 정직한 체인은 더 높은 총 가중치를 가집니다(크로스 알고리즘 보너스가 있는 완전한 ELDER 봉인). 공격 체인은 더 낮은 가중치를 가집니다(불완전한 봉인, 누락된 ELDER 서명). 노드는 더 무거운 체인을 따릅니다.

계층들은 독립적인 장애물이 아닙니다. 서로를 강화합니다. 정직하게 채굴하지 않으면 권한을 얻을 수 없으며, 이는 공격하려는 체인을 강화합니다. 정직한 풀들이 물감을 기여하지 않았기 때문에 비밀 포크에서 유효한 페로몬을 생산할 수 없습니다. 공격자는 일곱 개의 문제에 직면하는 것이 아닙니다. 일곱 가지 각도에서 본 하나의 불가능한 문제에 직면합니다: 동시에 고립되고 협력적일 수 있는가?

6.12 검열 및 카르텔 위험

HMP는 조정 메커니즘이며, 조정 메커니즘은 악용될 수 있습니다. expected_signers를 채울 만큼 충분한 권한을 통제하는 ELDER 서명자 카르텔은 대상 풀이 채굴한 블록에서 선택적으로 봉인을 보류할 수 있습니다. 대상 풀의 블록은 더 적은 체인 가중치를 축적하여(낮은 완성도 비율) 봉인된 블록에 대한 재구성 경쟁에서 패배할 가능성이 높아집니다.

여러 요소가 이 공격 표면을 제한합니다:

솔직한 평가: HMP는 51% 공격 비용을 상당히 증가시키지만, 순수 PoW에 없는 조정 표면을 도입합니다. 수정된 데몬의 충분히 큰 카르텔은 봉인 보류를 소프트 검열 도구로 사용할 수 있습니다. 위의 완화 조치는 이것을 비용이 많이 들고 감지 가능하게 만들지만 불가능하지는 않습니다. 이 트레이드오프는 의도적입니다. 대안(HMP 없는 순수 PoW)은 더 단순하고 저렴한 해시레이트 임대 공격에 엄격히 더 취약합니다.

6.13 활성화

HMP는 메인넷에서 단계적으로 활성화됩니다:

단계높이설명
단계 2블록 100공개키 커밋먼트 개방
단계 3블록 300소프트 봉인 시작 (양의 가중치만)
단계 4블록 500부정 증명을 포함한 전체 HMP

양의 증명 vs 부정 증명: 단계 3에서 봉인된 블록은 추가 체인 가중치를 받습니다(양의 증명: "이 블록은 군집의 지지를 받습니다"). 단계 4에서는 기대되는 서명자의 부재도 신호가 됩니다(부정 증명: "이 체인에는 여기 있어야 할 채굴자가 빠져 있습니다").

부정 증명은 교차 체인 비교 없이 후보 체인만으로 결정론적으로 계산됩니다. 각 체인은 자체 권한 상태를 가집니다: ELDER 서명자 세트는 해당 체인의 블록 이력(누가 블록을 해결했는지, 누가 봉인에 참여했는지, 되돌아보기 윈도우 내에서)에서 파생됩니다. 체인 자체의 권한 추적기가 KawPoW에 대해 6명의 ELDER 서명자를 보여주지만 최근 블록의 봉인에 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
데브넷3712019798
레그테스트2712019898

7.3 DNS 시드

지리적으로 분산된 네 개의 시드 노드가 초기 피어 발견을 처리합니다:

시드지역
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 멀티 알고리즘 다양성

네 가지 채굴 알고리즘의 가장 직접적인 보안 이점은 단일 벡터 공격에 대한 저항성입니다. X11 해시레이트의 51%를 통제하는 공격자는 네트워크 총 블록 생산의 약 25%를 통제합니다. 지속적인 51% 공격을 수행하려면 최소 두 개의 알고리즘을 동시에 지배하거나, 하나의 알고리즘을 압도하면서 다른 알고리즘에서 정직한 채굴자를 능가해야 합니다. Hivemind Protocol은 이것을 더욱 어렵게 만듭니다: 체인 선택이 등록되고 커밋된 서명자의 봉인 증명도 가중치를 매기므로, 해시파워만으로는 충분하지 않습니다.

8.2 차폐 거래 보안

Sapling의 무효화자 세트는 차폐 노트의 이중 지출을 방지합니다. 모든 노트에는 머클 트리에서의 위치와 지출 키에서 파생된 고유한 무효화자가 있습니다. 무효화자가 체인에 나타나면 동일 노트를 지출하려는 모든 거래가 합의 수준에서 거부됩니다. Groth16 증명은 BLS12-381의 이산대수 가정 하에서 계산적으로 건전합니다; 위트니스를 모르고 증명을 위조하는 것은 실현 불가능합니다.

8.3 와이어 데이터 안전성

P2P 네트워크에서 역직렬화되는 모든 데이터는 메모리 할당, 루프 반복, 배열 인덱싱을 구동하기 전에 범위 검사됩니다. Equihash 솔루션은 1,400바이트로 제한됩니다. 봉인 서명자 목록은 200개 항목으로 제한됩니다. 영지식 증명은 256바이트로 제한됩니다. 공개키 커밋먼트 목록은 블록당 16개로 제한됩니다. 네트워크 데이터의 어떤 필드도 무제한 할당을 트리거할 수 없습니다.

8.4 비상 제어

스포크 시스템은 개발팀이 하드포크 없이 프로덕션에서 기능을 비활성화할 수 있게 합니다. 중요한 스포크에는 다음이 포함됩니다:

스포크 키는 2-of-3 임계값을 사용하며, 세 명의 키 보유자 중 두 명이 스포크 변경을 승인해야 합니다.


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 출시 단계에서 목적을 다했으므로 0으로 줄어듭니다.

9.3 V2 이후

V1과 V2가 완료되면 생태계 성숙에 초점을 맞춥니다:


10. 결론

◆

KERRIGAN은 네 가지 채굴 알고리즘이 각자의 난이도 곡선에서 병렬로 경쟁하게 함으로써 하드웨어 중앙화 문제를 해결합니다. Sapling 차폐 거래는 사용자에게 Groth16 영지식 증명으로 뒷받침되는 실질적인 프라이버시를 제공합니다. Hivemind Protocol은 커밋되고 검증된 채굴자의 봉인 증명을 요구하여 51% 공격을 상당히 더 어렵게 만드는 두 번째 합의 차원을 추가합니다.

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)을 사용하고, 비트코인은 리틀엔디안(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(version + prevHash + merkleRoot + hashReserved + time + bits + nNonce256, 140바이트 레이아웃). PoW 해시: 동일한 140바이트 입력에 대해 Equihash 솔루션을 검증합니다. 솔루션은 블록의 전체 직렬화에 커밋됩니다.

Equihash 식별 해시 입력: Equihash 블록은 표준 80바이트 헤더가 아닌 140바이트 입력(hashReserved 및 nNonce256 포함)을 식별 해싱에 사용합니다. 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가 포함됩니다. 같은 높이에서 독립적으로 채굴된 두 블록은 항상 다른 코인베이스 거래(다른 채굴자, 다른 extranonce, 다른 HMP 신원)를 생산하며, 따라서 다른 머클 루트, 따라서 다른 식별 해시를 생산합니다.

이 보장을 프로토콜 수준에서 명시적으로 만들기 위해: KERRIGAN은 코인베이스 거래에 채굴 데몬의 HMP 공개키를 CCbTx minerIdentity 필드에 포함하도록 요구합니다(블록 300의 HMP 단계 3 활성화 이후 v4 HMP_SEAL 및 v5 HMP_COMMITMENT). 각 데몬이 고유한 BLS 키 쌍을 가지므로, 코인베이스는 데몬별 높이별로 고유하게 보장됩니다. 활성화 전(블록 0-299)에는 고유성이 표준 BIP34 높이 + extranonce 메커니즘에 의존하며, 이는 초기 경쟁이 낮은 체인에 충분합니다. 단계 2(블록 100-299) 동안 채굴자는 암묵적 및 명시적 커밋먼트를 통해 신원을 등록하지만, 생태계가 채택할 시간을 주기 위해 시행은 지연됩니다.

합의 시행: 노드는 HMP 단계 3 활성화 높이 이후에 유효한 minerIdentity 필드가 없는 CCbTx를 가진 모든 블록을 거부합니다. 이것은 채굴자 행동에 대한 가정이 아닌 합의 규칙입니다. 단계 3 활성화 이후 채굴자 신원이 없는 블록은 무효이며, 예외 없습니다.

알고리즘별 필드 커밋먼트: Equihash 솔루션, KawPoW 믹스 해시, 확장 논스는 블록 ID가 아닌 PoW 검증 검사에 의해 커밋됩니다. 알고리즘별 필드를 변경하면 PoW 증명이 무효화됩니다. 체인 연결(prevHash)은 균일하고 알고리즘에 구애받지 않습니다.

다중 유효 위트니스: 천문학적으로 드문 경우로, 단일 채굴자가 동일한 80바이트 헤더(동일 식별 해시, 다른 알고리즘별 위트니스)에 대해 두 개의 유효한 PoW 솔루션을 찾으면, 프로토콜은 이를 동일 블록으로 취급합니다. 수신된 첫 번째 유효 위트니스가 수락되고, 이미 알려진 식별 해시에 대한 후속 위트니스는 무시됩니다. 식별 해시가 머클 루트(따라서 모든 거래)에 커밋하므로 두 위트니스 모두 동일한 경제적 효과를 가진 동일한 블록 내용을 나타내므로 안전합니다.

잘못된 블록 오염 완화: 식별 해시가 알고리즘별 필드에 커밋하지 않으므로, 악의적인 릴레이가 이론적으로 유효한 블록의 Equihash 솔루션이나 KawPoW mix_hash를 변조하여 동일한 식별 해시를 가진 잘못된 블록을 생산할 수 있습니다. 노드가 "이 해시는 무효"를 캐시하고 나중에 실제 블록을 수신하면 거부할 수 있습니다. KERRIGAN은 블록 헤더를 인덱스에 커밋하기 전에 알고리즘별 PoW 증명을 검증하여 이를 완화합니다. PoW 검사에 실패한 블록은 블록 인덱스를 오염시키지 않고 네트워크 계층에서 삭제됩니다. 이것은 식별 해싱과 PoW 검증을 분리하는 DigiByte 및 기타 멀티 알고리즘 체인이 사용하는 것과 동일한 접근 방식입니다.

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절에 정의되어 있습니다. 같은 높이에서 두 개의 경쟁 체인을 비교할 때, 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-1해당 없음순수 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 증명/검증 키다자간 계산 세레모니; 최소 한 명의 참가자가 정직하면 안전; 기록 공개