1234567

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

파일 2/7 · 확률적 계층 선택 · 잔액 불변성 검증 · 5단계 거래 검증

5. 핵심 메커니즘 상세

5.1 확률적 계층 선택 모듈(300)

5.1.1 기본 원리

오픈해시는 모든 종류의 데이터 위변조를 방지하는 기술이지만, 본 문서는 이해를 돕기 위한 예시로 상업적 거래 데이터를 기준으로 설명합니다. 확률적 계층 선택 모듈은 거래 당사자 간의 최하위 공통 계층을 기준으로 기록 계층을 확률적으로 선택합니다. 가령, 두 거래 당사자가 각기 제주시(Layer 2) 한림읍(Layer 1)과 서귀포시(Layer 2) 안덕면(Layer 1)에 위치하면, 두 거래 당사자의 최하위 공통 계층은 제주특별자치도(Layer 3)입니다. 그러므로, 두 사람 간의 거래 데이터의 Hash를 기록하는 계층은 제주시와 서귀포시의 직속 상위 계층인 제주특별자치도(Layer 3) 또는 그 상위 계층인 한국(Layer 4) 중 어느 하나를 확률적으로 선택합니다. 가령, 70%의 확률로 제주특별자치도 노드를 선택하고, 30%의 확률로 한국 노드를 선택할 수 있습니다.

이처럼, 확률적으로 기록 계층을 분산하는 이유는 크게 두 가지입니다. 첫째는 적대적 공격자가 특정 거래 데이터의 Hash를 기록하게될 계층을 확정할 수 없으므로, 공격 대상 노드를 특정할 수 없고, 둘째, 후술하는 직조(weaving) 메커니즘에 의해, 모든 계층과 모든 사용자의 Hash Chain이 마치 직물의 수많은 실오라기처럼 가로 세로 연동되기 때문입니다.

5.1.2 계층 선택 알고리즘

  1. 최하위 공통 계층 식별: 거래 당사자 A와 B의 주소지 혹은 물리적 소재지를 기준으로, 소속 계층 정보를 분석하여 최하위 공통 계층을 찾습니다.
  2. 문서 해시 생성: 문서 내용을 SHA-256 알고리즘으로 해싱하여 문서 해시값(400)을 생성합니다.
  3. 타임스탬프 생성: 현재 시각의 타임스탬프를 생성합니다.
  4. 이중 재해싱: 문서 해시값과 타임스탬프를 연결한 후 1차 재해싱, 그 결과에 대해 2차 재해싱을 수행합니다.
  5. 범위값 변환: 2차 재해싱 결과를 0~1 사이의 난수값으로 변환합니다.
  6. 계층 선택: 해당 범위값을 최하위 공통 계층에 따라 사전 정의된 확률 분포와 비교하여 기록 계층을 선택합니다.

성능: 1,024바이트 문서 기준 SHA-256 이중 재해싱에 평균 0.0127밀리초 소요됩니다.

5.1.3 최하위 공통 계층별 선택 범위

최하위 공통 계층선택 가능 계층
읍면동 계층(100)읍면동(100), 시군구(110), 광역시도(120), 국가(125), 글로벌(130)
시군구 계층(110)시군구(110), 광역시도(120), 국가(125), 글로벌(130)
광역시도 계층(120)광역시도(120), 국가(125), 글로벌(130)
국가 계층(125)국가(125), 글로벌(130)
글로벌 계층(130)글로벌(130) (100% 확률)

5.1.4 중요도 기반 확률 분포

데이터의 중요도에 따라 확률 분포가 차등 적용됩니다. 가령, 버스 요금 지불 데이터와 부동산 매매 계약서의 중요도는 다릅니다.

최하위 공통 계층이 읍면동(100)인 경우:

중요도읍면동시군구광역시도국가글로벌
낮음50%30%12%6%2%
높음15%20%30%25%10%

최하위 공통 계층이 시군구(110)인 경우:

중요도시군구광역시도국가글로벌
낮음55%27%13%5%
높음20%35%30%15%

최하위 공통 계층이 광역시도(120)인 경우:

중요도광역시도국가글로벌
낮음60%30%10%
높음25%45%30%

최하위 공통 계층이 국가(125)인 경우:

중요도국가글로벌
낮음70%30%
높음40%60%

5.1.5 중요도 판정 기준

중요도 판정은 거래 금액, 데이터 카테고리, 콘텐츠 키워드를 종합하여 점수를 산출합니다:

(이러한 점수 기준 및 분류 체계는 시스템 운영자가 필요에 따라 조정 가능)

5.1.6 노드 결정 정책

확률적 계층 선택 메커니즘에 의해, 계층(Layer)을 결정하면, 선택된 계층 내에서 구체적으로 어느 노드에 해시를 전송할지는 별도의 노드 결정 정책에 따릅니다.

행정 소속 기반 방식:

현재 위치 기반 방식:

혼용 방식: 행정 소속 기반과 현재 위치 기반을 혼용하여, 공격자가 해당 노드를 더욱 알 수 없게 합니다.

5.1.7 보안 이점

보안 측면설명
예측 불가능성공격자는 특정 거래가 어느 계층에 기록될지 사전에 알 수 없습니다. 거래 해시와 타임스탬프는 거래 당사자만이 생성 시점에 알 수 있으므로, 공격자가 원하는 계층에 기록되도록 조작하는 것이 사실상 불가능합니다.
다중 계층 동시 공격의 어려움공격자가 특정 거래를 위변조하려면, 해당 거래가 기록된 모든 계층의 노드를 동시에 장악해야 합니다. 최상위 계층인 글로벌 계층과 국가 계층에 기록된 거래는 해당 국가 노드뿐만 아니라 그 하위의 모든 경로까지 동시에 제어해야 하며, 이는 현실적으로 불가능에 가깝습니다. 반대로, 최하위 계층인 개별 사용자가 보유한 거래 데이터를 위변조하려면, 해당 사용자가 Hash를 전송한 모든 노드를 위변조해야 하며, 직조(weaving) 메커니즘은 Layer 1부터 Layer 5까지 모든 계층의 노드를 상호 연동하므로, 결국, 전세계 모든 노드들과 모든 사용자의 데이터를 동시에 위변조해야 합니다.
확률적 분산공격자가 특정 노드를 장악하더라도, 그 노드에 기록될 거래는 전체 거래 중 일부에 불과합니다. 확률적 분포 덕분에 공격자의 영향력이 국한됩니다.
암호학적 안전성SHA-256은 현재까지 알려진 양자 컴퓨터 공격에도 안전한 암호학적 해시 함수입니다. 두 번 해싱함으로써 충돌 공격 가능성을 더욱 낮춥니다.

5.1.8 예시: 제주도 거래에서의 확률적 계층 및 2차 노드 선택

다음 애니메이션은 제주시 한림읍의 사용자 A와 서귀포시 안덕면의 사용자 B의 거래 예시를 보여줍니다. 두 사용자의 최하위 공통 계층은 제주특별자치도(Layer 3)입니다. 제주특별자치도는 Layer 3에 속하는 여러 광역시도 노드들 중 하나이며, 다시 복수의 2차 노드로 구성됩니다. 실제로 한국의 17개 광역시도 각각이 Layer 3의 1차 노드이고, 그 중 제주특별자치도는 3개의 2차 노드를 가집니다. 사용자 A와 B가 거래 데이터의 Hash를 전송할 계층은 확률적으로 제주특별자치도(70%) 또는 한국(Layer 4, 30%) 중 선택됩니다. 만약 제주특별자치도가 선택되면, 다시 그 내부의 3개 2차 노드 중 하나가 무작위로 선택됩니다. 한국이 선택되면 한국의 3개 2차 노드 중 하나가 무작위로 선택됩니다.

이 과정을 통해 사용자 A, 사용자 B, 그리고 선택된 계층의 선택된 노드의 Hash Chain이 상호 연동됩니다. 모든 사용자들과 모든 계층, 모든 노드의 Hash Chain이 상호 연동되고, 모든 Hash Chain이 공개되므로, 누구나 다른 모든 사용자와 노드들의 Hash Chain 무결성을 검증할 수 있습니다.

🔷 확률적 계층 및 2차 노드 선택 애니메이션 (제주도 거래 예시)
※ 애니메이션: 사용자 A(한림읍)와 B(안덕면)의 거래. 최하위 공통 계층 Layer 3(제주도)에서 70% 확률로 Layer 3, 30%로 Layer 4(한국) 선택 후, 해당 계층 내 2차 노드 중 하나를 무작위 선택. 선택된 노드로 해시 전송 및 반환.

5.2 계층별 잔액 불변성 검증 모듈(350)

5.2.1 기본 원리

계층별 잔액 불변성 검증 모듈은 행정 계층 구조를 기반으로 거래 당사자의 공통 계층을 탐색하고, 해당 계층 이상의 총 잔액 불변성을 검증합니다.

5.2.2 검증 절차

  1. 계층 정보 조회: 거래 당사자 A와 B의 계층 정보(소속 읍면동부터 글로벌까지)를 조회합니다.
  2. 공통 계층 탐색: 최하위 계층인 읍면동부터 상향 비교하여 두 당사자가 공통으로 속하는 가장 낮은 계층(공통 계층)을 식별합니다.
  3. 계층 분류:
    • 변동 허용 계층: 공통 계층 미만의 계층 (잔액 증감 허용)
    • 불변 계층: 공통 계층 이상의 계층 (총액 유지 필수)
  4. 델타 합계 검증: 변동 허용 계층의 잔액 델타 합계를 계산합니다.
    • 정상 거래: 발신자 감소분 + 수신자 증가분 = 0
    • 델타 합계 ≠ 0: 부정 거래로 판정, 즉시 차단

5.2.3 사례 분석

사례 1: 동일 시군구 내 서로 다른 읍면동 거래

사례 2: 서로 다른 시군구 거래

사례 3: 서로 다른 국가 거래

5.3 5단계 거래 검증 모듈(360)

5단계 거래 검증 모듈은 모든 거래에 대해 다음의 5단계 검증 파이프라인을 순차적으로 수행합니다.

5.3.1 제1단계: 잔액 확인

항목내용
검증 대상발신자의 현재 잔액 ≥ 거래 금액
실패 시 처리거래 즉시 실패, 재시도 불가능

5.3.2 제2단계: 신원 확인

항목내용
검증 대상발신자와 수신자의 신원 확인, 본인 인증 상태, 계층 등록 여부
실패 시 처리본인 인증 절차 요청

5.3.3 제3단계: 한도 확인

항목내용
단일 거래 한도기본 100T (시스템 운영자 조정 가능)
일일 거래 한도개인별 설정
초과 시 처리승인 대기 상태로 전환, 명시적 승인 요구

5.3.4 제4단계: 이상 탐지

이상 탐지 조건설명
거래 횟수 이상1시간 내 거래 횟수 10건 이상
거래 금액 이상1시간 내 거래 금액 500T 이상
급격한 변화거래 금액이 평균의 5배 이상
이상 거래 판정 시승인 대기 상태로 전환

5.3.5 제5단계: 규정 준수

항목내용
블랙리스트 확인블랙리스트 및 국제 제재 대상 여부 확인
고액 거래 보고1,000T 이상 거래는 통화 거래 보고 대상으로 기록
위반 시 처리거래 즉시 실패, 감사 로그에 기록

5.3.6 검증 성능

서명 방식평균 시간중앙값최소값95백분위
BLS 서명1.4031ms1.3762ms1.3518ms1.4416ms
Ed25519 서명0.1323ms0.1272ms0.1260ms0.1476ms

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