Repository

GitHub 저장소

OpenHash 핵심 구현체 및 실험 코드는 아래 저장소에서 관리됩니다.

CORE REPOSITORY
⬡ OpenHash Core
확률적 계층 분산 데이터 무결성 검증 시스템 핵심 구현체. 5계층 노드, BIVM, LPBFT, Merkle 동기화 모듈 포함.
🔗 github.com/aicity-inc/openhash
EXPERIMENT REPOSITORY
🔬 OpenHash Experiments
EXP1~EXP16 + EXP-D1~D4 전체 실험 스크립트. AWS 환경 재현 가이드 포함.
🔗 github.com/aicity-inc/openhash-experiments
⚠️ 참고: 상기 GitHub 링크는 연구 진행 중으로, 공개 일정은 특허 출원 완료 후 결정됩니다. 실험 코드는 TAB 05 (Experiment Code)에서 전문 확인 가능합니다.
Quick Start

AWS 빠른 설치

c5.2xlarge 인스턴스 기준 10분 이내 단일 노드 실행 가능합니다.

1️⃣
인스턴스 생성
c5.2xlarge
Ubuntu 24.04 LTS
2️⃣
의존성 설치
Python 3.12
PyNaCl, cryptography
3️⃣
노드 설정
행정구역 코드
계층 식별자 지정
4️⃣
노드 실행
L1 노드 기동
상위 계층 연결

Step 1 — 인스턴스 접속 및 환경 구성

# SSH 접속 ssh -i "your-key.pem" ubuntu@<PUBLIC_IP> # 의존성 설치 sudo apt update -y pip3 install cryptography PyNaCl coincurve --break-system-packages # 저장소 클론 git clone https://github.com/aicity-inc/openhash.git cd openhash

Step 2 — L1 노드 설정 파일

# config.yaml 예시 node: id: "KR-JEJU-SEOGWIPO-JUNGMUN" # 계층 식별자 tier: 1 # L1 = 읍면동 admin_code: "5013025000" # 행정구역 코드 parent: "KR-JEJU-SEOGWIPO" # 상위 노드 ID crypto: signature: "Ed25519" # 또는 "BLS" dual_sign: true # 이중서명 필수 merkle: batch_size: 100 # 배치당 트랜잭션 수 sync_interval_sec: 300 # L2 보고 주기 (5분) lpbft: nodes: 4 # 합의 참여 노드 수 fault_tolerance: 1 # f=1, n>=3f+1

Step 3 — 노드 실행 및 확인

# 단일 L1 노드 실행 python3 -m openhash.node --config config.yaml # 상태 확인 curl http://localhost:8080/status # 예상 출력 { "node_id": "KR-JEJU-SEOGWIPO-JUNGMUN", "tier": 1, "status": "running", "tps_current": 1.2, "chain_length": 18432, "last_merkle_root": "a3f2b1..." }
Module Architecture

핵심 모듈 구조

OpenHash는 7개의 핵심 모듈로 구성됩니다. 각 모듈은 독립적으로 동작하며 인터페이스를 통해 연결됩니다.

MODULE 300
PLSM — 확률적 계층 선택
SHA-256 이중재해싱으로 기록 계층 결정. 데이터 중요도 기반 비대칭 확률 분포 적용.
openhash/modules/plsm.py
MODULE 350
BIVM — 잔액 불변성 검증
LCAT 기준 상위 계층 집계 잔액 보존. delta=0 실시간 검사. 위반 즉시 차단.
openhash/modules/bivm.py
MODULE 360
5-TVP — 5단계 거래 검증
잔액→신원→한도→이상탐지→규정준수 순차 파이프라인. Isolation Forest 이상 탐지.
openhash/modules/pipeline.py
MODULE 310/320
ILMV — 계층간 상호 검증
하향식 BLS/Merkle 검증 + 상향식 실시간 감시. 비인접 교차 검증으로 담합 방지.
openhash/modules/ilmv.py
MODULE 340
LPBFT — 경량 비잔틴 합의
비상 시에만 발동. 3단계(Pre-prepare/Prepare/Commit). 전용 환경 0.759ms.
openhash/modules/lpbft.py
MODULE 330
MTSM — Merkle 트리 동기화
100건 배치 → 32B 루트. 99.86% 대역폭 절감. O(log N) 통신 복잡도.
openhash/modules/mtsm.py
Requirements

시스템 요구 사항

최소 요구 사항 (읍면동 노드)

항목최소권장
CPU1 vCPU2+ vCPU
RAM512 MB4 GB
Storage10 GB50 GB SSD
Python3.10+3.12+
네트워크10 Mbps100 Mbps

Python 의존성

# requirements.txt cryptography>=41.0.0 PyNaCl>=1.6.0 coincurve>=21.0.0 # Ed25519/ECDSA pqcrypto>=0.1.0 # CRYSTALS-Dilithium aiohttp>=3.9.0 # 비동기 노드 통신 pyyaml>=6.0 # 설정 파일 prometheus-client>=0.19 # 모니터링