SmartHoldem · Web 4.0 에코시스템
SmartHoldem 블록체인: Web 4.0 & 양자 내성 보안
혁신적인 DPoS 블록체인 인프라
SmartHoldem은 Web 4.0을 위한 탈중앙화 신뢰 및 결제 레이어입니다. Rust로 처음부터 새롭게 재작성되어, 내장된 NAT 트래버설과 양자 내성을 갖춘 P2P 아키텍처를 제공합니다.

마우스를 올려 노드를 확인하세요. 가정이든 서버든. 하나의 메시.
속도 & 스케일
속도와 스케일을 위해 구축
SmartHoldem의 새로운 Rust 코어는 기존 블록체인의 한계를 뛰어넘습니다. Node.js와 PostgreSQL의 병목 현상을 최적화된 엔진과 Sled DB로 대체하여 초고속 동기화와 대규모 처리량을 실현합니다.
밀리초 단위 블록 처리
500건의 트랜잭션으로 구성된 블록이 약 50ms 내에 검증 및 적용됩니다. BFT 최종성 가젯과 병렬 처리를 통해 네트워크는 단 1슬롯(~8초) 만에 절대적이고 불가역적인 최종성을 달성합니다.
진정한 서버리스 확장성
Iroh P2P 프로토콜로 구동됩니다. 중앙화된 클라우드 서비스 제공자가 필요 없으며, 누구나 직접 노드를 운영할 수 있습니다. 노트북, Raspberry Pi, ARM64 모바일 기기 어디서든 고정 IP 없이 NAT 환경에서 완전한 검증 노드를 실행할 수 있습니다.
친환경적이고 경량화된 구조
완전한 검증 노드가 이제 단 ~800MB의 RAM으로 구동됩니다. DPoS와 Rust의 제로 비용 추상화의 결합으로, 현존하는 가장 에너지 효율적인 네트워크를 실현합니다.

벤치마크
성능 벤치마크
새로운 Rust 코어에 대한 실제 부하 테스트를 통해 엔터프라이즈급 Visa 수준의 확장성이 확인되었습니다.
성능은 주장이 아닌 측정으로 증명됩니다. 아래 벤치마크는 병렬 서명 검증(Rayon)과 최적화된 암호화 파이프라인을 갖춘 새로운 Rust + Sled 아키텍처를 기반으로 합니다.
256
TX당 MultiPayments
5.53B
Ops / Day (피크)
| 구성 | Ops / 초 | Ops / 시간 | Ops / Day |
|---|---|---|---|
| 2000 TX/block (MultiPayments) | 64,000 | 230.4M | 5.53B |
| 1000 TX/block (MultiPayments) | 32,000 | 115.2M | 2.76B |
| 500 TX/block (MultiPayments) | 16,000 | 57.6M | 1.38B |
내부 구조
기술 스택
핵심 블록체인 엔진
- 언어: 병렬 서명 검증(Rayon), 메모리 안전성 및 제로 비용 추상화를 갖춘 100% Rust.
- 데이터베이스: zstd 압축이 적용된 내장 Sled 키-값 저장소 = 11.7M+ 블록을 ~8 GB에 저장하며, 기존 PostgreSQL 의존성을 대체합니다.
- 합의 메커니즘: 21명의 활성 대리인을 갖춘 DPoS에 BFT 최종성 가젯(1슬롯 내 결정론적 최종성)이 강화되어 있습니다.
- 암호화: 하이브리드 보안 모델. Quantum Shield를 통한 고전 secp256k1(BIP-Schnorr)과 양자 내성 ML-DSA-44(NIST FIPS 204)의 결합.
API, SDK & SmartNet
- 개발자 브리지: Tauri dApps를 위한 네이티브 window.smartholdem IPC. 서명, P2P 스토리지, 네트워크 상태에 대한 안전하고 샌드박스된 접근.
- 프로그래머블 오브젝트: 네이티브 SmartObjects 및 토큰. 레지스트리, 발행, 스마트 컨트랙트 오버헤드 제로, EVM 위험 없음.
- 데이터 스토리지: BLAKE3 콘텐츠 주소 기반 검증. 메타데이터는 SmartNetData에 온체인으로 앵커링되어 외부 인덱서 없이 절대적인 무결성을 보장합니다.
- API 및 SDK: 100% 하위 호환 RESTful API와 SDK. 폴링 없는 즉각적인 업데이트를 위한 실시간 QUIC 푸시 스트림.
Web 4.0 P2P 트랜스포트
- 프로토콜: Iroh(QUIC/UDP) 기반으로 구축되어 네이티브 NAT 트래버설 및 홀 펀칭을 통한 암호화된 멀티플렉스 연결을 제공합니다. 노드는 고정 IP 없이 가정용 라우터 뒤에서도 블록을 생성하고 동기화할 수 있습니다.
- 네트워크 토폴로지: 듀얼 스택 아키텍처. 기본 통신은 탈중앙화된 Iroh 메시를 통해 이루어지며, 서버 노드와의 하위 호환성을 위해 레거시 WebSocket/Protobuf 브리지(port 4001)가 유지됩니다.
- 탈중앙화 디스커버리: 피어 디스커버리는 Mainline DHT, 로컬 mDNS, 그리고 암호학적으로 서명된 피어 주소록에 의존하여 중앙화된 DNS 또는 공개 릴레이 서비스에 대한 의존성을 제거합니다.
진정한 탈중앙화
기업이 아닌 커뮤니티에 의해 통치
탈중앙화는 기본입니다. SmartHoldem DPoS 블록체인은 불변이며 모든 작업은 되돌릴 수 없습니다. 모든 트랜잭션은 블록 탐색기 또는 API를 통해 항상 투명하게 확인할 수 있습니다.
민주적 투표
검증자는 중앙화된 통제가 아닌 평판에 따라 선택됩니다.
동결된 코인 없음
사용자는 잔액의 힘으로 투표합니다. 코인은 완전한 사용자 통제 하에 있습니다.
책임성
모든 STH 보유자는 투표하고, 대리를 선출하거나 취소할 수 있습니다. 비효율적인 대리는 커뮤니티에 의해 신속히 교체됩니다.
소유권
>1 STH만 보유해도 네트워크에서 완전한 투표권을 부여합니다.


대리 시스템
TOP 21: 네트워크 보호
델리게이트(증인 또는 블록 생산자라고도 함)는 트랜잭션 검증, 신규 블록 생성, SmartHoldem 네트워크 보호를 담당합니다. 이들은 트랜잭션 데이터를 변경하거나 영향을 미칠 수 없습니다.
21
TOP의 활성 대리인
8s
평균 블록 시간
100%
커뮤니티 투표
0%
중앙화된 통제
대리 시스템은 매우 경쟁적입니다. 대리인은 언제든지 TOP 21에 들어오거나 나갈 수 있습니다. 이 지속 가능한 시스템은 새로운 대리인이 자신을 증명하고 커뮤니티의 관심을 끄는 기회를 제공합니다.
경제학
지속 가능한 보상. 제로 인플레이션 방출.
SmartHoldem (DPoS) 블록체인에는 방출 없음이 있습니다. 대리인은 트랜잭션 수수료에서만 보상을 받아 디플레이션적이고 지속 가능한 경제 모델을 보장합니다.
블록에 서명하는 대리인은 해당 블록에 포함된 트랜잭션에 대한 모든 네트워크 수수료을 받습니다.
대리인이 수익을 내는 방법
500 STH
블록당 (최대)
블록당 500개의 표준 트랜잭션 → 최대 500 STH 수익.
10,000 STH
등록 수수료
대리인 등록 트랜잭션 → 10,000 STH 수익.
500 STH
토큰 발행
수수료의 50%는 소각됩니다
새로운 Web4 네이티브 토큰이 출시될 때마다 델리게이트에게 보상이 지급됩니다.
고급 트랜잭션 유형
SmartHoldem는 다양한 수수료 수익을 생성하는 풍부한 트랜잭션 유형 생태계를 지원합니다:
참여
SmartHoldem 대리인이 되기
네트워크 보안은 더 이상 기업 데이터 센터에만 국한되지 않습니다. 새로운 Rust 코어와 Iroh P2P 트랜스포트를 통해 누구든지 세계 어디서나 검증 노드를 운영하고 합의 과정에 참여할 수 있습니다.
권장 노드 사양
RAM 8GB, CPU 코어 4개, HDD 64GB 또는 SSD 32GB.
- 1
등록하고 경쟁에 참여하세요
네트워크 보안은 더 이상 기업 데이터 센터에만 국한되지 않습니다. 새로운 Rust 코어와 Iroh P2P 트랜스포트를 통해 누구든지 세계 어디서나 검증 노드를 운영하고 합의 과정에 참여할 수 있습니다.
- 2
노드 설정 (고정 IP 불필요)
경량화된 sth-core-pq 바이너리를 다운로드하세요. 약 ~800MB의 RAM과 ~8GB의 디스크 공간만으로 실행됩니다. Iroh QUIC NAT 트래버설 덕분에 고정 IP나 포트 개방 없이도 노트북, Raspberry Pi, 또는 서버에서 안전하게 블록을 생성할 수 있습니다.
- 3
델리게이트 후보 등록을 공표하세요
커뮤니티 포럼에 네트워크 구성, 제안 보상 비율, 추가 서비스를 상세히 기술한 제안서를 제출하세요. 이후 Telegram과 적극적인 홍보 활동을 통해 커뮤니티에 델리게이트를 소개하세요.
- 4
실질 수익 획득
생성한 블록에서 발생하는 네트워크 수수료의 100%를 획득하세요. 인플레이션 발행이 전혀 없는 구조에서 보상은 전송, 토큰 발행, 이름 등록, P2P 스토리지, dVPN 릴레이 등 실질적인 네트워크 활용도에 의해 뒷받침됩니다.
- 5
생태계 참여 및 성장
델리게이트는 커뮤니티에 의해 선출됩니다. 투명한 보상 분배를 제공하고, 공개 Netfory 시더를 운영하거나, Web 4.0 생태계에 적극적으로 기여함으로써 신뢰를 구축하세요.

커뮤니티
커뮤니티 연결
대리인으로서 적극적인 참여와 커뮤니티 연결은 투표를 얻는 데 필수적입니다. 대리 슬롯 생성은 경쟁적이며 노드 관리 이상이 필요합니다.
SmartHoldem를 기반으로 새 애플리케이션 구축
코드 리뷰 및 취약점 보고 제공
커뮤니티 outreach 및 교육
투표자에게 보상의 일정 비율 제공 (TOP 21 도달을 위해)
보상은 투표자의 참여 점유율과 대리인의 지불 비율에 따라 측정됩니다.
양자 방패
SmartHoldem 양자 방패
미래 컴퓨터로부터 블록체인을 보호하는 방법
시장이 차트를 논하는 동안, 기존 암호화 체계를 무력화할 수 있는 위협이 현실로 다가오고 있습니다. 충분히 강력한 양자 컴퓨터에서 실행되는 쇼어 알고리즘은 오늘날 대부분의 블록체인이 기반으로 삼는 수학적 토대인 ECDSA를 해독할 수 있습니다. SmartHoldem은 가상의 '데이 X'를 기다리지 않습니다.
우리는 오늘 방패를 구축하고 있습니다. 스테이지 A(포스트 퀀텀 키 커밋먼트)는 메인넷에서 이미 활성화되어 있습니다.

로드맵
구현 계획: 하이브리드 모델
우리는 갑작스러운 하드 포크와 강제적인 대규모 마이그레이션을 배제합니다. 양자 내성으로의 전환은 점진적이고 원활하며 하위 호환성을 유지합니다.
단계 1
키 커밋먼트 (활성화됨)
- 사용자는 vendorField(sthpq1:...)를 통해 미래의 ML-DSA-44 공개 키의 SHA-256 해시를 이미 앵커링할 수 있습니다.
- 이를 통해 페이즈 2가 활성화될 때 발생할 수 있는 '레이스 컨디션' 공격을 방지하여, 양자 위협이 현실화되기 전에 지갑을 안전하게 보호합니다.
단계 2
하이브리드 2차 서명 (지원됨)
- 사용자는 기존 지갑에 포스트 퀀텀 ML-DSA-44 공개 키(NIST FIPS 204)를 2차 서명으로 등록할 수 있습니다.
- 등록 이후 모든 트랜잭션에는 기존 secp256k1 서명과 새로운 양자 내성 서명, 두 가지 서명이 모두 필요합니다.
- 기존 키는 완전한 호환성을 위해 유지되며, 포스트 퀀텀 키는 양자 내성의 두 번째 레이어를 추가합니다. 이로써 어느 한 알고리즘이 손상되더라도 자산을 보호하는 강력한 하이브리드 체계가 형성됩니다.
단계 3
완전한 네트워크 내성 (예정)
- 21명의 모든 활성 델리게이트가 포스트 퀀텀 서명으로 블록에 서명하여 컨센서스 위조를 방지합니다.
- Iroh P2P 전송 레이어는 하이브리드 키 교환(X25519 + ML-KEM-768)을 사용하여 메신저 및 dApp 데이터를 보호합니다(SHIP-40).
아키텍처
금고가 아닌 자물쇠를 교체하세요
새 지갑 생성과 대규모 자산 이전을 요구하는 다른 네트워크와 달리, SmartHoldem은 고유한 2차 서명 아키텍처를 활용하여 원활한 양자 업그레이드를 제공합니다.
주소 형성
SmartHoldem 주소는 기존 secp256k1 공개 키에서 파생됩니다. 이는 변경되지 않습니다.
두 번째 키 활성화
기존 주소에 포스트 퀀텀 ML-DSA-44 공개 키를 2차 서명으로 등록합니다.
하이브리드 보호
이제 모든 트랜잭션의 유효성을 위해 기존 서명과 포스트 퀀텀 서명이 모두 필요합니다.
결과
- 지갑이나 주소를 변경할 필요가 없습니다
- 코인은 수년간 보관해온 자리에 그대로 유지됩니다
- 복잡한 지갑 마이그레이션이 없습니다
- 이제 계정은 이중 암호화 레이어로 보호됩니다
- 양자 컴퓨터가 첫 번째 개인 키를 해독하더라도, 유효한 두 번째 (양자 내성) 서명 없이는 자금을 이동할 수 없습니다
단일 서명 사용자의 경우: 언제든지 두 번째 서명을 활성화하여 즉시 양자 보호를 적용하거나, 먼 미래에 새로운 양자 안전 주소 유형으로 마이그레이션할 수 있습니다.
딥 테크
기술적 뉘앙스 & 네트워크 보호
보호를 받는 대리인
- DPoS 네트워크에서 대리인은 블록에 서명합니다
- 위임자 서명이 손상되면 블록체인 전체의 무결성이 위협받습니다
- 프로토콜 수준에서 PQC 구현은 SmartHoldem을 합의 스푸핑에 저항하는 "디지털 요새"로 만듭니다
최적화된 서명 크기
- 최적의 균형을 위해 ML-DSA-44 (NIST FIPS 204)를 선택했습니다: 서명 크기 약 2.4 kB, 밀리초 이하의 검증 속도를 제공합니다
- Rust 코어의 병렬 처리 (Rayon) 덕분에 이러한 대용량 트랜잭션도 동기화 속도 저하 없이 즉시 검증됩니다
알고리즘 유연성
- 프로토콜은 PQC 객체에 alg_id 바이트를 포함합니다
- 이를 통해 사용자가 주소를 변경하거나 자금을 이전할 필요 없이 향후 원활한 업그레이드(예: FN-DSA-512 / Falcon)가 가능합니다
- 사용자 입장에서는 익숙한 지갑과 다를 바 없습니다
개발
진행 중인 코드
Rust 코어 (sth-core-pq)에는 이미 새로운 검증 레이어를 위한 암호화 기반이 포함되어 있습니다. 하이브리드 통합의 일부를 살펴보세요:
//! Quantum Shield: ML-DSA-44 (NIST FIPS 204) keys derived from a passphrase, plus the stage-A
//! commitment format (`sthpq1:<alg>:<sha256(pk)>` in a self-transfer vendorField). See docs/SPEC-PQ-V3.md.
use crate::error::{Error, Result};
use ml_dsa::{EncodedSignature, EncodedVerifyingKey, MlDsa44, Signature, SigningKey, VerifyingKey, B32};
use sha2::{Digest, Sha256};
/// Algorithm ids (first byte of every PQ object).
pub const ALG_ML_DSA_44: u8 = 0x01;
pub const PK_LEN: usize = 1312;
pub const SIG_LEN: usize = 2420;
/// Domain separation for the ML-DSA context string.
const CTX: &[u8] = b"sth-pq-v1";
/// Context of stage-C block signatures (`M_B = sha256(header || blockSignature)`).
pub const BLOCK_CTX: &[u8] = b"sth-pq-block-v1";
/// Commitment prefix in vendorField.
pub const COMMITMENT_PREFIX: &str = "sthpq1:";
pub struct PqKeyPair {
signing: SigningKey<MlDsa44>,
}
impl PqKeyPair {
/// Deterministic: seed ξ = sha256("sth-pq-v1" || passphrase). Same passphrase → same key on every device.
pub fn from_passphrase(passphrase: &str) -> Self {
let mut h = Sha256::new();
h.update(CTX);
h.update(passphrase.as_bytes());
let seed: [u8; 32] = h.finalize().into();
Self::from_seed(&seed)
}
pub fn from_seed(seed: &[u8; 32]) -> Self {
Self { signing: SigningKey::<MlDsa44>::from_seed(&B32::from(*seed)) }
}
/// FIPS 204 pkEncode — 1 312 bytes.
pub fn public_key(&self) -> Vec<u8> {
self.signing.expanded_key().verifying_key().encode().to_vec()
}
pub fn public_key_hex(&self) -> String {
hex::encode(self.public_key())
}
/// Deterministic ML-DSA-44 signature (2 420 bytes) over `message` with the sth context.
pub fn sign(&self, message: &[u8]) -> Result<Vec<u8>> {
self.sign_with_ctx(message, CTX)
}
pub fn sign_with_ctx(&self, message: &[u8], ctx: &[u8]) -> Result<Vec<u8>> {
let sig = self.signing.expanded_key().sign_deterministic(message, ctx).map_err(|_| Error::Serialization("ml-dsa sign".into()))?;
Ok(sig.encode().to_vec())
}
/// What a wallet publishes in stage A: `sthpq1:01:<sha256(pk) hex>`.
pub fn commitment(&self) -> String {
commitment_for_public_key(&self.public_key())
}
}
pub fn commitment_hash(public_key: &[u8]) -> [u8; 32] {
Sha256::digest(public_key).into()
}
pub fn commitment_for_public_key(public_key: &[u8]) -> String {
format!("{COMMITMENT_PREFIX}{:02x}:{}", ALG_ML_DSA_44, hex::encode(commitment_hash(public_key)))
}
pub fn verify(public_key: &[u8], message: &[u8], signature: &[u8]) -> Result<bool> {
verify_with_ctx(public_key, message, signature, CTX)
}
pub fn verify_with_ctx(public_key: &[u8], message: &[u8], signature: &[u8], ctx: &[u8]) -> Result<bool> {
if public_key.len() != PK_LEN || signature.len() != SIG_LEN {
return Ok(false);
}
let pk = EncodedVerifyingKey::<MlDsa44>::try_from(public_key).map_err(|_| Error::Serialization("ml-dsa pk".into()))?;
let sig = EncodedSignature::<MlDsa44>::try_from(signature).map_err(|_| Error::Serialization("ml-dsa sig".into()))?;
let Some(sig) = Signature::<MlDsa44>::decode(&sig) else { return Ok(false) };
Ok(VerifyingKey::<MlDsa44>::decode(&pk).verify_with_context(message, ctx, &sig))
}
/// Stage B: PQ public key registered by a wallet (type 1, v3). Lives in `WalletState.pq_key`, so undo is automatic.
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PqKey {
pub algorithm: u8,
/// Raw PQ public key, hex (1 312 bytes for ML-DSA-44).
pub public_key: String,
pub since: u64,
}
/// Parsed stage-A commitment.
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PqCommitment {
pub algorithm: u8,
/// sha256(public key), hex.
pub commitment: String,
pub height: u64,
}
/// `sthpq1:<alg 2 hex>:<64 hex>` → (alg, hash hex). Only known algorithm ids are accepted.
pub fn parse_commitment(vendor_field: &str) -> Option<(u8, String)> {
let rest = vendor_field.strip_prefix(COMMITMENT_PREFIX)?;
let (alg, hash) = rest.split_once(':')?;
if alg.len() != 2 || hash.len() != 64 || !hash.bytes().all(|b| b.is_ascii_hexdigit() && !b.is_ascii_uppercase()) {
return None;
}
let alg = u8::from_str_radix(alg, 16).ok()?;
(alg == ALG_ML_DSA_44).then(|| (alg, hash.to_string()))
}양자 우위는 암호학의 종말이 아니라 그 다음 진화 단계입니다. 우리는 무차별 대입으로 '풀 수 없는' 수학을 선택하여 Web 4.0 DPoS 네트워크의 핵심에 직접 통합하고 있습니다. 미래는 이미 여기에 있습니다. 그리고 그것은 안전하게 보호됩니다. 미래는 이미 여기 있습니다. 그리고それは 보호됩니다.
네트워크에 참여
당신의 노드. 당신의 규칙. 당신의 Web 4.0.
다양한 방식으로 네트워크를 보호할 수 있습니다: 위임자로서 블록 생성, Netfory 운영자로서 dApp 시딩, dVPN 릴레이 운영, 또는 단순히 보유 및 투표. 인플레이션은 없으며, 실질적인 유틸리티 보상과 Rust로 구축된 양자 내성 기반이 제공됩니다. 탈중앙화 인터넷에는 빌더가 필요합니다 — 그 시작은 바로 당신입니다.

