궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

해설블록체인 기술

Cosmos 이중서명 증거: 합의 위반이 체인에 전달되는 경로

같은 높이·라운드의 충돌 투표가 evidence로 검증되고 애플리케이션 처벌 판단에 전달되는 과정과 유효기간을 설명합니다.

난이도 중급주제 카테고리와 개념 밀도 기준
서로 충돌하는 두 서명 도장이 증거 봉투에 담겨 검증 네트워크로 전달되는 장면
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

충돌하는 두 서명 원문과 동일한 height·round·type이 핵심 증거다.
CometBFT의 evidence 검증과 Cosmos SDK evidence/slashing 처리는 다른 층이다.
max age를 넘거나 당시 validator set을 검증하지 못하면 유효 증거로 포함되지 않을 수 있다.

이중서명 증거는 같은 검증자 키가 같은 높이·라운드·투표 유형에서 서로 다른 블록 ID에 서명한 두 투표처럼, 동시에 참일 수 없는 서명 자료로 이뤄집니다. CometBFT는 키·서명·시점·검증자 세트·증거 유효기간을 검증해 블록 증거로 넘기고, 실제 슬래싱(slashing)과 감금(jailing)은 애플리케이션 규칙이 정합니다. 중복 서명처럼 보이는 화면만으로 처벌이 끝났다고 단정할 수 없습니다.

두 표가 함께 유효할 수 없어야 한다

정상적인 재전송은 같은 투표 바이트와 서명을 여러 피어가 관측한 것일 수 있습니다. 이중서명은 같은 검증자 합의 키가 같은 높이·라운드·투표 유형에서 다른 블록 ID에 서명한 경우처럼 충돌이 분명해야 합니다. 사전투표(prevote)와 사전커밋(precommit)이 하나씩 있다고 이중서명이 되는 것은 아닙니다. 두 단계는 정상 합의 절차입니다.

증거를 모으는 쪽은 두 SignedVote의 체인 ID, 검증자 주소, 타임스탬프, 서명, 블록 ID를 그대로 보존해야 합니다. 탐색기 캡처나 로그 한 줄은 단서일 뿐 암호학적 증거 원문을 대신하지 못합니다. 그 키가 당시 검증자 세트에 있었고 해당 투표권을 가졌는지도 검증해야 합니다.

이중서명 증거는 의심스러운 두 화면이 아니라, 같은 합의 위치를 두 갈래로 서명한 검증 가능한 원문입니다.

JOBCOIN 해설

그림으로 보기블록을 제안하고 검증하는 과정
블록 제안, 노드의 규칙 검증, 합의 결과를 구분한 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. 두 표가 함께 유효할 수 없어야 한다

    정상적인 재전송은 같은 투표 바이트와 서명을 여러 피어가 관측한 것일 수 있습니다.

  2. 증거 풀에서 블록 포함까지

    노드는 유효할 가능성이 있는 증거를 받으면 기본 형식과 합의 상태를 확인해 증거 풀에 보관하고 피어에게 전파합니다.

  3. 유효기간은 블록과 시간 두 축을 본다

    CometBFT 증거 매개변수는 최대 블록 수와 기간 같은 한계를 둡니다.

설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

증거 풀에서 블록 포함까지

노드는 유효할 가능성이 있는 증거를 받으면 기본 형식과 합의 상태를 확인해 증거 풀에 보관하고 피어에게 전파합니다. 제안자는 이를 블록의 증거 목록에 넣을 수 있습니다. 블록 검증자는 증거가 중복으로 들어가지 않았는지, 너무 오래되지 않았는지, 당시 검증자 정보와 서명이 맞는지 다시 확인합니다.

증거가 네트워크에 퍼졌다는 사실과 블록에 커밋됐다는 사실은 다릅니다. RPC의 미확정 증거, 블록의 증거 필드, 애플리케이션 이벤트를 단계별로 기록해야 합니다. 멤풀 거래와 증거 풀도 서로 다른 경로이므로, 일반 거래 해시만 찾다가 누락으로 잘못 판단할 수 있습니다.

이중서명 처리 단계별 증거
단계 확인 자료 아직 단정 못 하는 것
관측 충돌하는 SignedVote 두 개 온체인 포함
CometBFT 검증 서명·검증자 세트·유효기간 앱 처벌 결과
블록 포함 블록 증거 슬래싱 금액
앱 처리 증거·슬래싱 이벤트 운영자 의도

유효기간은 블록과 시간 두 축을 본다

CometBFT 증거 매개변수는 최대 블록 수와 기간 같은 한계를 둡니다. 오래된 위반은 당시 상태를 계속 보관하고 검증하는 비용 때문에 허용 범위 밖이 될 수 있습니다. 조건 하나만 채우면 된다고 가정하지 말고 체인 설정의 검증 논리를 확인해야 합니다.

노드의 데이터 정리(pruning)와 증거 유효성도 같은 개념이 아닙니다. RPC가 과거 블록을 주지 못한다고 프로토콜상 유효기간이 끝났다고 단정할 수 없고, 자료를 보관했다고 언제까지나 제출할 수 있는 것도 아닙니다. 발견 높이, 위반 높이, 현재 높이, 블록 시간을 함께 남깁니다.

  • 두 투표의 원시 바이트·서명·체인 ID를 손대지 않고 보존합니다
  • 높이·라운드·유형은 같고 블록 ID만 다른지 비교합니다
  • 위반 높이의 검증자 세트와 공개키·투표권을 조회합니다
  • 현재 증거 최대 유효기간과 블록 포함·앱 이벤트를 차례로 확인합니다

처벌은 애플리케이션이 결정한다

CometBFT는 비잔틴 행위 증거를 검증해 ABCI로 애플리케이션에 넘깁니다. 하지만 얼마를 깎고 얼마 동안 감금할지는 Cosmos SDK 모듈과 체인 매개변수가 정합니다. 모든 Cosmos 체인이 같은 비율과 영구 퇴출(tombstone) 규칙을 쓴다고 말할 수 없습니다. 거버넌스 업그레이드로 매개변수가 바뀔 수도 있습니다.

운영자 주소와 합의 키를 짝지어 실제 검증자를 식별하고, 증거가 처리된 시점의 매개변수를 써야 합니다. 현재 설정을 과거 사건에 거슬러 적용하거나 다른 체인의 처벌 비율을 가져오면 잘못된 추정이 됩니다. 슬래싱 이벤트와 스테이킹 상태가 실제로 바뀌었는지 확인합니다.

오탐을 줄이는 최소 판정표

첫째, 같은 서명을 두 번 본 것은 중복 전파일 수 있습니다. 둘째, 서로 다른 라운드의 표는 정상적인 라운드 전환일 수 있습니다. 셋째, 사전투표와 사전커밋의 차이는 정상적인 단계 차이입니다. 넷째, 같은 높이·라운드·유형에서 블록 ID가 다른 유효 서명이어야 핵심 충돌 조건에 다가갑니다.

그다음에야 증거 유효기간, 검증자 자격, 서명 검증, 블록 포함, 앱 처벌을 봅니다. 이 순서를 지키면 잠깐의 네트워크 분할이나 로그 중복을 이중서명 사고로 부풀리지 않고, 실제 위반은 재현 가능한 자료로 남길 수 있습니다.

자주 묻는 질문

같은 투표 로그가 두 번 보이면 이중서명인가요?

아닙니다. 같은 메시지가 다시 전파된 것일 수 있으며, 서로 다른 블록 ID에 대한 유효 서명 두 개가 필요합니다.

증거가 노드에 도착하면 바로 슬래싱되나요?

아닙니다. 검증과 블록 포함, 애플리케이션 처리를 거쳐야 하며 처벌 규칙은 체인별입니다.

아주 오래된 이중서명도 제출할 수 있나요?

체인의 증거 최대 유효기간 제한을 채워야 하므로 위반·발견·현재 시점을 확인해야 합니다.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. CometBFT Evidence Specificationgithub.com
  2. ABCI++ Methodsgithub.com
  3. Cosmos SDK Slashing Moduledocs.cosmos.network
작성 방식과 확인 범위
출처 수집
원문 링크 3개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

투자·세무 판단은 전문가와 상의하세요. 제도와 거래소 안내는 바뀔 수 있으니 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →