1234567

Openhash 기술 문서: 핵심 메커니즘 상세 (2/3)

파일 3/7 · 계층 간 상호 검증 · 이중 서명 · 이중 지출 방지 · 비상시 합의(LPBFT)

5.4 계층 간 상호 검증

Openhash는 평상시 하향식 검증과 상향식 감시를 통해 데이터 무결성을 보장합니다. 핵심 요소는 모든 데이터를 비공개하는 반면, 모든 Hash를 공개하는 것입니다. 즉, PDV에 저장된 데이터는 비공개이지만, PDV의 Hash Chain과 모든 노드의 Hash Chain은 공개합니다. 그러므로, 모두가 모두의 Hash Chain을 검증할 수 있습니다.

예를 들어, 사용자 A가 자신의 어느날 일기를 PDV에 기록하고, 그 Hash(Hash A)를 그의 주소지 읍면동 노드에 전송하였으며, 주소지 노드는 그 상위 시군구로 전송하고(Hash B), 시군구는 광역시도(Hash C), 광역시도는 국가, 국가는 글로벌 노드에 전송하였다면(Hash D), 이들 Hash A, B, C, D는 시간적으로 연속될 뿐 아니라, 그 각각의 진위를 수학적으로 검증할 수 있습니다. 모든 Hash를 공개한다는 것은 누구라도, 언제라도, 어떤 사용자 혹은 노드의 Hash Chain이라도 그 진위 혹은 오염 여부를 검증할 수 있다는 의미입니다.

🔷 계층 간 상호 검증 애니메이션
※ 사용자 A → 노드 B → 노드 C로 해시가 전달되고, 각 노드의 해시 체인이 갱신되며 상호 연동됩니다.

5.4.1 하향식 검증 모듈(310)

상위 계층이 하위 계층의 데이터 무결성을 주기적으로 검증합니다.

검증 항목:

검증 항목설명성능
BLS 서명 검증쌍선형 사상 등식 확인평균 1.3816ms
머클 증명 검증무작위 트랜잭션에 대한 머클 경로 검증평균 0.0654ms
타임스탬프 검증현재 시각 기준 ±5분 범위 확인-
잔액 불변성 검증계층별 총액 변동 확인-
시퀀스 연속성 검증해시 체인 연결성 확인-
해시 체인 검증전체 체인 무결성 확인-

계층별 검증 주기 및 샘플링 비율(예시): 일정 범위 내에서 Random 결정

검증 관계주기샘플링 비율
글로벌 → 국가1시간5%
국가 → 광역시도30분10%
광역시도 → 시군구10분15%
시군구 → 읍면동5분20%

5.4.2 상향식 감시 모듈(320)

하위 계층이 상위 계층의 비정상 동작을 실시간으로 모니터링합니다.

감시 항목이상 징후 기준
응답 지연평균 응답 시간 대비 3배 이상 지연
서명 검증 실패율최근 100건 중 5건 이상 실패, 또는 연속 3회 실패
데이터 불일치동일 시점에 상이한 데이터 전송 (이중 지불 시도)
잔액 불일치보고된 계층별 총액과 실제 합산액 차이 1T 이상
선택적 거부특정 노드만 지속적으로 거부
순서 조작타임스탬프 역전 현상

이상 징후 대응 절차:

  1. 경고 발령
  2. 재검증 요청 (정상 복귀 시 경고 해제)
  3. 노드 격리 (재검증 실패 시 연결 즉시 차단, 트래픽 우회 경로 활성화)
  4. LPBFT 발동
  5. 블랙리스트 등재

5.4.3 크로스 검증

인접하지 않은 계층 간에도 주기적으로 크로스 검증을 수행하여 중간 계층의 담합 공격을 방지합니다.

크로스 검증 관계주기
읍면동 ↔ 광역시도1시간
광역시도 ↔ 글로벌12시간

5.5 이중 서명 및 해시 체인 공개

5.5.1 이중 서명 메커니즘

사용자의 해시 체인을 갱신하려면 두 개의 서명이 필요합니다:

서명 주체역할
사용자 자신의 디지털 서명사용자 동의 없이 노드가 임의로 체인을 변경하는 것을 방지
사용자가 속한 읍면동 노드의 디지털 서명사용자 혼자 체인을 조작하는 것을 방지

이러한 이중 서명 메커니즘은:

5.5.2 해시 체인 공개 원칙

모든 사용자와 모든 노드의 해시 체인은 원칙적으로 공개됩니다:

특징설명
투명성누구나 다른 누구의 해시 체인에 접근하여 열람 가능
검증 가능성해당 해시 체인에 첨부된 디지털 서명의 진위를 누구나 검증 가능
개인정보 보호해시값만 공개되므로 원본 데이터의 내용은 보호됨 (해시 함수의 역상 저항성)
분산 신뢰특정 사용자나 노드의 부정 행위를 누구나 탐지 가능

5.5.3 공개 검증 구조

Openhash는 모든 사용자와 노드의 해시 체인을 실시간으로 공개하여 누구나 언제든지 정합성을 검증할 수 있는 공개 검증 구조를 제공합니다.

노드 해시 체인 공개 영역:

사용자 해시 체인 공개 영역:

교차 검증 경로: 사용자는 노드의 공개 해시값을 검증할 수 있고, 노드도 사용자의 공개 해시값을 검증할 수 있습니다.

5.5.4 해시 체인 무결성 규칙

규칙설명
노드 체인 규칙노드 체인의 새 해시값 = 해시(기존 최종 해시값 + 사용자로부터 수신한 거래 해시값)
노드 체인 제한사용자로부터 수신한 해시값만 포함 가능, 외부/임의 해시 삽입 불가
사용자 체인 규칙사용자 체인의 새 해시값 = 해시(기존 최종 해시값 + 노드로부터 수신한 응답 해시값)
사용자 체인 제한노드로부터 수신한 응답 해시값만 포함 가능

5.5.5 노드 오염 탐지 조건

조건설명
출처 불명 해시노드 체인에 출처가 불명확한 해시값 발견
무응답 해시사용자 체인에 노드 응답 없이 생성된 해시값 존재
연결성 위반이전 해시값과 현재 해시값의 연결 관계가 성립하지 않음

5.6 이중 지출 방지 메커니즘

5.6.1 계정 잠금 기본 원리

특정 사용자로부터 거래 데이터의 해시를 접수한 노드는 사용자의 해시 체인과 노드의 해시 체인의 갱신을 완료하는 시점까지 해당 사용자의 계정을 잠금(Lock) 상태로 전환합니다.

🔷 이중 지출 방지 메커니즘 애니메이션
※ 사용자 A는 물리적 최근 노드 B에 연결되며, 주소지 읍면동 D와 함께 잠금 및 검증 과정을 수행합니다.

5.6.2 계정 잠금 판단 방법

방법 1: 연결 상태 기반 판단

방법 2: 읍면동 노드를 통한 계정 잠금 메시지

  1. 사용자가 거래 데이터 해시를 노드에 전송
  2. 해당 노드가 사용자 소속 읍면동 노드에 계정 잠금 메시지 전송
  3. 읍면동 노드의 잠금 상태 확인 후 노드의 해시 체인 갱신 개시
  4. 해시 체인 갱신 완료 후 읍면동 노드에 잠금 해제 메시지 전달

방법 3: 노드의 해시 체인 제어권

방법 4: 읍면동 노드의 디지털 서명을 통한 잠금 상태 관리

방법 5: 상위 계층에 의한 하위 계층 실시간 모니터링

5.7 비상시 합의 (LPBFT)

Openhash는 평상시에는 계층 간 상호 검증만으로 운영되지만, 비상 상황에서만 경량화된 PBFT(Lightweight PBFT) 합의를 발동합니다.

5.7.1 LPBFT 발동 조건

조건설명
노드 오염 감지동일 노드의 2회 이상 검증 실패
데이터 불일치동일 트랜잭션에 대해 2개 이상의 상이한 버전 존재
계층 잔액 불일치계층별 총액 합산 불일치 10T 이상
다수 노드 장애동일 계층 내 30% 이상 노드 응답 없음
체인 분기 감지동일 높이에서 2개 이상의 블록 존재

5.7.2 LPBFT 합의 절차 (3단계)

제1단계: 사전 준비 단계

제2단계: 준비 단계

제3단계: 확정 단계

전체 LPBFT 합의 시간: 평균 16.8689밀리초

5.7.3 계층별 LPBFT 구성

계층노드 수허용 장애(f)합의 임계값(2f+1)
읍면동413
시군구725
광역시도1037
국가1349
글로벌19613

5.7.4 비상 해제 조건

조건설명
오염 노드 격리 완료해당 노드 네트워크 차단 완료
데이터 불일치 해소충돌 데이터 해결 완료
계층 잔액 정합성 회복계층별 총액 일치 확인
Representative 노드 복귀2/3 이상 정상 복귀 확인

5.7.5 평상시 vs 비상시 비교

구분평상시비상시(LPBFT)
검증 방식계층 간 상호 검증다수결 합의
참여 노드인접 계층 노드만Representative 노드 전체
응답 시간평균 1.5ms평균 17ms
네트워크 부하낮음일시적 증가
에너지 소비최소일시적 증가
목표 최대 발동 빈도-연간 10회 이하 (0.001% 미만)

ⓒ Openhash 특허 출원 기반. 이 문서는 요약본이며, 자세한 내용은 특허 명세서를 참조하십시오.