TL;DR: 개인 상태 전환의 네트워크 검증
Overpass Channels는 기존 합의 메커니즘에 의존하지 않고도 개인 상태 전환의 네트워크 검증을 가능하게 하여 레이어 2 확장성에 대한 혁신적인 접근 방식을 도입합니다. 이는 암호화 증명과 희소 머클 트리를 사용하여 달성되며, 네트워크 전체에서 프라이버시, 확장성 및 검증 가능성을 보장합니다.
작동 원리
1. 머클 트리 구조
- 개인 스파스 머클 트리(SMT) : 각 지갑은 잔액과 채널 상태와 같은 모든 데이터를 포함하는 개인 스파스 머클 트리를 유지 관리합니다.
- Merkle Root( R R ) : 네트워크는 지갑의 집계 상태를 나타내는 Merkle root R R 만 알고 있습니다. 기본 데이터는 클라이언트 측에서 비공개로 유지됩니다.
2. 상태 전환
- 상태 업데이트 : 지갑이 상태 전환(예: 채널 업데이트)을 수행할 때 다음을 계산합니다.
- 업데이트된 상태를 반영하는 새로운 머클 루트 R' R ′ .
- 이전 상태에서 R' R ′ 이 어떻게 도출되는지를 보여주는 증명 P P 입니다 .
- 증명 구성 요소 : 증명에는 Merkle 트리의 수정된 리프 노드에서 R' R ′을 다시 계산하는 데 필요한 형제 해시가 포함됩니다.
3. 네트워크의 역할
- 개인 데이터에 액세스하지 않고 검증 : 네트워크는 다음을 통해 전환을 검증합니다.
- 제공된 증명 P P 와 새로운 상태 데이터를 사용하여 R' R ′을 다시 계산합니다.
- 전환이 사전 정의된 제약 조건 (예: 잔액 무결성, nonce 증가)을 준수하도록 보장합니다.
- 제약 조건 적용 : 이러한 제약 조건을 검사함으로써 네트워크는 기본 개인 데이터를 확인하지 않고도 각 상태 전환의 유효성을 보장합니다.
4. 네트워크가 무엇을 기대해야 하는지 아는 방법
- 초기 머클 루트( R_0 R 0 ) : 지갑 생성 시 네트워크는 초기 머클 루트 R_0 R 0을 저장합니다.
- 이후 전환 : 모든 상태 전환에 대해:
- 네트워크는 새로운 루트 R' R ′ 와 일치하는 증명 P P 를 기대합니다.
- 이는 전환 제약 조건이 충족되는지 확인하여 유효성을 보장합니다.
- 신뢰할 수 없는 검증 : 초기 루트 및 암호화 증명에 의존하면 네트워크가 개인 클라이언트 데이터에 액세스하지 않고도 변조 또는 잘못된 작업을 감지할 수 있습니다.
5. 개인정보 보호 및 보안
- 데이터 개인 정보 보호 : 모든 기본 데이터는 SMT 내 클라이언트 측에 유지됩니다.
- 최소 노출 : 네트워크는 공개 루트( R_0 R 0 , R' R ' )와 증명( P P ) 및 전환 제약 조건만 확인합니다.
- 보안 보장 : 이 접근 방식은 네트워크 전반에서 개인 정보 보호, 확장성 및 검증 가능성을 보장합니다.
이 접근 방식이 효과적인 이유
Merkle 루트와 암호화 증명에만 의존함으로써 네트워크는 개인 클라이언트 데이터를 보지 않고도 변조 또는 잘못된 작업을 감지할 수 있습니다. 각 전환은 암호화적으로 초기 상태와 일치하고 규칙을 따라야 하며 신뢰할 수 없는 검증을 보장합니다. 이 디자인은 단방향 암호화 증명과 희소 Merkle 트리 및 단방향 채널의 고유한 속성을 활용하기 때문에 합의 없이도 매우 잘 작동합니다.
LaTeX 수학 및 의사코드를 사용한 공식화된 설명
머클 트리 초기화 및 검증
1. 머클 트리 기본
초기화 : 머클 트리는 일련의 잎 \{L_1, L_2, \ldots, L_n\} { L 1 , L 2 , … , L n } 으로 초기화되며, 여기서 각 잎 L_i L i 는 일부 데이터(예: 채널 상태)를 나타냅니다.
루트 계산 : 트리는 Merkle 루트 R R 까지 해시를 계산합니다.
R = H(\ldots H(H(L_1, L_2), H(L_3, L_4)), \ldots)R = H ( … H ( H ( L 1 , L 2 ) , H ( L 3 , L 4 ) ) , … )
2. 국가 전환 증명
리프 업데이트 : 상태 전환의 경우 클라이언트는 다음을 계산합니다.
- 채널 연산을 기반으로 업데이트된 리프 L_i' L ′ i .
- 루트를 다시 계산하려면 형제 해시로 구성된 증명 P_i P i가 필요합니다.
새로운 루트 계산 :
R' = \text{루트 재계산}(L_i', P_i)R ′ = 루트 재 계산 ( L′ i , Pi )
3. 네트워크의 지식
- 저장된 정보 : 네트워크에는 다음만 있습니다.
- 지갑 생성 중에 초기 루트 R_0 R 0이 공유됩니다.
- 시스템에 인코딩된 전환 규칙(예: 잔액 무결성, nonce 증가).
- 각 업데이트된 루트 R' R ′ 에 대해 P_i P i 가 제출한 증명입니다.
4. 네트워크 검증
증명 유효성 : 네트워크는 증명이 L_i' L ′ i 및 P_i P i 에서 R' R ′을 올바르게 다시 계산하는지 확인합니다.
R' \stackrel{?}{=} \text{루트 재계산}(L_i', P_i)R ′ ? = 루트 재 계산 ( L′ i , Pi )상태 전환 유효성 : 전환 제약 조건이 유지되는지 확인합니다.
\text{제약 조건:} \left\{\begin{aligned}&L_i' = L_i - \text{금액} &\text{(잔액 업데이트)} \\&\text{nonce}_{i}' = \text{nonce}_i + 1 &\text{(nonce 업데이트)}\end{aligned}\right.제약 조건: { L ′ i = L i − 양 (잔액 업데이트) nonce ′ i = nonce i + 1 (nonce 업데이트)
LaTeX 형식화
정의하다:
- R_0 R 0 : 지갑 생성 중에 공유되는 초기 머클 루트.
- R_k R k : k k 번째 상태 전환 후의 머클 루트.
- L_k^{(i)} L ( i ) k : k k 번째 상태 전환 후의 잎 i i .
- P_k^{(i)} P ( i ) k : k k 번째 상태 전환에 대한 리프 L_k^{(i)} L ( i ) k 에 대한 증명.
- \text{RecomputeRoot}(L_k^{(i)}, P_k^{(i)}) RecomputeRoot ( L ( i ) k , P ( i ) k ) : 업데이트된 리프에서 루트를 다시 계산하는 함수와 증명.
- C(L_k^{(i)}, L_{k+1}^{(i)}) C ( L ( i ) k , L ( i ) k + 1 ) : 유효한 전환에 대한 제약 조건.
네트워크를 통한 검증 :
초기 상태 :
R_0 = \text{루트 재계산}(\{L_1, \ldots, L_n\}, \{\})R 0 = 재계산 루트 ( { L 1 , … , L n } , { } )국가 전환 :
네트워크는 R_{k+1} R k + 1 , P_k^{(i)} P ( i ) k , L_{k+1}^{(i)} L ( i ) k + 1 을 수신합니다.
확인:
R_{k+1} = \text{루트 재계산}(L_{k+1}^{(i)}, P_k^{(i)})R k + 1 = L ( i ) k + 1 , P ( i ) k ) 재 계산 루트다음을 보장합니다.
(L_k^{(i)}, L_k+1^{(i)})L ( i ) k , L ( i ) k + 1 은 다음 과 같다.
의사코드 알고리즘
# Network InitializationR_current = R_0 # Initial root stored during wallet creation# Verification Functionfunction verify_state_transition(new_root, proof, updated_leaf, constraints):computed_root = recompute_root(updated_leaf, proof)if computed_root != new_root:return False # Proof is invalidif not constraints(updated_leaf):return False # Transition violates rulesreturn True # Valid transition# State Transition Processfunction on_state_transition(new_root, proof, updated_leaf, constraints):if verify_state_transition(new_root, proof, updated_leaf, constraints):R_current = new_root # Update the stored rootreturn Trueelse:return False
네트워크가 무엇을 기대해야 할지 아는 방법
초기 상태 설정
- 초기 루트( R_0 R 0 ) : 지갑 생성 중에 제공되며 모든 향후 검증의 기준이 됩니다.
- 암호화 무결성 : R_0 R 0은 지갑 상태 전체를 캡슐화하여 모든 후속 전환이 증명 가능하고 변조 불가능한 원점에서 시작되도록 보장합니다.
증분 업데이트
- 클라이언트 계산 :
- 새로운 지갑 상태를 나타내는 업데이트된 머클 루트 R' R ′을 생성합니다.
- 이전 상태에서 R' R ′ 이 어떻게 파생되었는지 보여주는 암호화된 증명 P P를 생성합니다.
- 증명 구성 요소 :
- 업데이트된 잎 ( L_i' L ′ i ).
- 새로운 머클 루트를 다시 계산하려면 형제 해시가 필요합니다.
네트워크 검증 프로세스
증명 검증 :
- 제출된 증명 P P를 사용하여 새로운 루트 R' R '을 다시 계산하고 제공된 R' R ' 과 일치하는지 확인합니다.
제약 조건 검증 :
균형 무결성 및 nonce 진행과 같은 사전 정의된 제약 조건을 준수합니다.
\begin{정렬됨}&L_i' = L_i - \text{양} \\&\text{논스}_{i}' = \text{논스}_i + 1\end{정렬됨}L ′ i = L i − 양 nonce ′ i = nonce i + 1
신뢰할 수 없는 검증 : 예상 결과와 다른 점이 있으면 전환이 무효화되므로 네트워크는 기본 데이터에 액세스하지 않고도 신뢰할 수 없는 방식으로 업데이트를 검증할 수 있습니다.
주요 이점
- 데이터 개인 정보 보호 : 암호화된 증명과 머클 루트만 공유됩니다. 네트워크는 개인 데이터에 접근하지 않습니다.
- 확장성 : 가벼운 증명과 합의 메커니즘의 제거로 엄청난 확장성이 가능해졌습니다.
- 보안 : 변조나 무단 수정으로 인해 루트가 유효하지 않게 되어 네트워크 무결성이 보장됩니다.
- 단순성 : 네트워크는 수동적 검증자 역할을 하며, 합의 프로토콜을 제거하여 복잡성을 줄입니다.
- 즉각적인 확정성 : 증명 검증을 통해 거래가 확정되어 사용자 경험이 향상됩니다.
이것이 잘 작동하는 이유
암호화 증명의 힘
- 머클 증명 : 각 상태 전환은 현재 상태( R R )를 새 상태( R' R ′ )에 연결하는 암호화 머클 증명을 사용하여 검증됩니다.
- 변조 감지 : 승인되지 않은 수정으로 인해 예상되는 루트와 일치하지 않는 결과가 발생하여 사기를 즉시 감지할 수 있습니다.
- 제로 지식 증명(선택 사항) : 개인 데이터를 노출하지 않고 규칙(예: 잔액 무결성) 준수 여부를 확인할 수 있습니다.
단방향 정보 흐름
- 간소화된 커뮤니케이션 : 정보는 진실의 근원(네트워크)에서 클라이언트로 흐르면서 엄격한 통제를 유지하고 양방향 종속성을 제거합니다.
- 독립적 검증 : 클라이언트가 네트워크에 대한 업데이트를 독립적으로 증명하므로 여러 노드 간의 합의가 필요 없습니다.
합의의 제거
- 검증자 필요 없음 : 네트워크는 초기 루트( R_0 R 0 )를 유지하고 합의 알고리즘 대신 암호화 증명을 사용하여 전환을 검증합니다.
- 지연 시간 단축 : 노드 간 합의가 필요 없으므로 거래를 신속하게 검증하고 완료할 수 있습니다.
개인 정보 보호 설계
- 클라이언트 측 데이터 관리 : 모든 기본 데이터(예: 지갑 또는 채널 상태)는 클라이언트 측에서 비공개로 유지됩니다.
- 최소 네트워크 노출 : 네트워크는 사용자 데이터를 처리하거나 저장하지 않고 전환을 검증하여 개인 정보를 보호합니다.
확장성
- 병렬 처리 : 노드는 병목 현상을 피하면서 병렬로 독립적으로 증명을 검증합니다.
- 효율적인 검증 : 암호화된 증명은 검증하기에 계산적으로 효율적입니다.
- 희소 머클 트리 : 증명 크기는 트리 크기에 따라 대수적으로 유지되므로 시스템 확장 시 일관된 성능이 보장됩니다.
처리량(TPS - 초당 트랜잭션)에 미치는 영향
합의 병목 현상 제거
- 글로벌 상태 동기화 없음 : 합의를 없애면 지연 시간과 확장성 제한이 사라집니다.
- 즉각적인 확정성 : 증명 검증을 통해 거래가 확정되어 처리량이 크게 증가합니다.
암호화 증명을 통한 가벼운 검증
- 효율성 : 암호화 증명을 검증하는 데는 최소한의 계산만 필요합니다.
- 병렬성 : 각 거래 증명은 독립적으로 검증될 수 있으므로 병렬 처리가 가능합니다.
일방적 채널과 일방적 정보 흐름
- 간소화된 거래 흐름 : 단방향 채널은 양방향 종속성을 제거하여 시스템을 단순화합니다.
- 동시 업데이트 : 여러 상태 전환이 간섭 없이 병렬로 발생할 수 있습니다.
클라이언트 측 작업
- 클라이언트로 오프로드 : 클라이언트는 증명 생성, 로컬 머클 트리 업데이트 등 대부분의 계산 오버헤드를 처리합니다.
- 네트워크 효율성 : 네트워크는 증명 검증과 루트 유지에 집중하여 작업 부하를 줄입니다.
확장 가능한 상태 관리
- 희소 머클 트리 : 증명 크기가 일정하게 유지되도록 보장(트리 크기는 로그적)하여 확장성을 지원합니다.
- 일관된 성능 : 시스템이 성장하더라도 높은 처리량을 유지합니다.
이론적 TPS 잠재력
- 이론적 제한 없음 : 처리량은 주로 하드웨어 성능에 의해 제한됩니다.
- 높은 효율성 : 증명 검증은 마이크로초 단위로 수행될 수 있으므로 이상적인 조건에서는 초당 수백만 건의 거래가 가능합니다.
- 실용적인 확장성 : 보수적인 추정에도 불구하고 Overpass는 실제 시나리오에서 수십만 TPS를 달성할 수 있습니다.
기존 시스템과의 비교
특징 | 기존의 블록체인 | 오버패스 채널 |
---|---|---|
의견 일치 | 필수(검증기) | 필요하지 않음 |
거래 확정성 | 분(블록 시간) | 즉시(증명 검증) |
네트워크 대역폭 | 높음(전역 상태 동기화) | 낮음(증거 전파) |
처리량(TPS) | 10~1,000개 | 100,000+ |
확장성 | 합의에 의해 제한됨 | 선형(클라이언트 활동) |
결론
오버패스 채널은 암호화 증명, 단방향 정보 흐름, 합의 메커니즘 제거를 활용하여 레이어 2 확장성을 근본적으로 변환합니다. 이 아키텍처는 다음을 달성합니다.
- 개인정보 보호 : 고객 데이터는 비공개로 유지되며, 검증을 위해 증거와 루트만 공유됩니다.
- 확장성 : 병렬 검증 및 효율적인 증명 검증을 통해 수백만 개의 거래를 지원합니다.
- 보안 : 변조는 즉시 감지 가능하며, 개인 정보 보호 기술은 사용자의 신뢰를 높여줍니다.
- 단순성 : 네트워크의 역할이 수동적 검증으로 축소되어 합의의 복잡성이 제거됩니다.
- 즉각적 확정성 : 거래 증명이 검증되는 즉시 거래가 확정됩니다.
Overpass Channels는 기존 블록체인 시스템의 근본적인 한계를 해결하여 Web3를 위한 차세대 Layer 2 솔루션으로 부상했습니다. 이 솔루션은 개인 정보 보호와 보안을 유지하면서도 글로벌 분산형 애플리케이션의 요구 사항을 충족하도록 확장이 가능합니다.