분산 원장 기술의 지속적인 개발에서 확장성은 항상 최고의 목표이자 모든 프로토콜의 가장 큰 과제이기도 합니다. 레이어 2 또는 샤딩과 같은 솔루션은 트랜잭션 처리량을 늘리는 데 중점을 두지만, 더 조용하지만 위험한 문제는 네트워크의 지속 가능성, 즉 상태 성장과 상태 팽창을 위협하고 있습니다. 블록체인의 상태는 단순한 거래 내역이 아니라 전체 계정, 잔액, 스마트 계약 코드의 "현재 지도"입니다. Tan Phat Digital의 분석에 따르면, 이 데이터가 통제할 수 없을 정도로 증가하면 전체 노드를 운영하는 데 대한 하드웨어 장벽이 너무 높아져 강력한 리소스를 가진 소수 개체의 손에 인증 권한이 집중화됩니다. 이러한 맥락에서 무상태 클라이언트(stateless node) 아키텍처는 데이터 규모가 엄청난 수준으로 확장되는 경우에도 네트워크가 분산화를 유지할 수 있도록 하는 혁신적인 방향으로 등장했습니다.
블록체인 데이터 구조 분석: 상태와 기록의 차이
무상태 클라이언트의 특성을 이해하려면 먼저 시스템 블록체인의 두 가지 핵심 데이터 유형인 기록과 상태의 차이점을 심층적으로 분석해야 합니다. 많은 사용자와 신규 개발자조차도 이 두 개념을 혼동하는 경우가 많지만 시스템 아키텍처에서는 역할과 리소스 요구 사항이 완전히 다릅니다.
과거 데이터와 상태 데이터의 특성 비교:
1. 기록 데이터(History):
콘텐츠: 원래 블록 이후 현재까지의 모든 트랜잭션 및 블록.
액세스 빈도: 낮음(오래된 이벤트를 동기화하거나 쿼리하는 경우에만).
하드웨어 요구 사항: 대용량, 저렴한 HDD(최대 수천 개까지 가능) Terabyte).
속성: 추가 전용이며 변경할 수 없습니다.
인증 역할: 원장의 장기적인 무결성을 확인하는 역할을 합니다.
2. 상태 데이터:
콘텐츠: 계정 잔액, 계약 코드 및 저장 메모리의 현재 스냅샷.
액세스 빈도: 매우 높음(모든 거래 처리 단계에서 지속적으로 검색됨).
하드웨어 요구 사항: 낮은 속도를 보장하기 위한 고속 SSD 또는 RAM 대기 시간.
속성: 각 트랜잭션 블록에 따라 지속적으로 변경(읽기/쓰기).
인증 역할: 즉각적인 트랜잭션의 유효성을 확인하는 데 필요합니다(예: 잔액 확인).
통제할 수 없는 상태 증가는 "상태 팽창" 현상의 원인입니다. 사용자 수가 증가하고 새로운 계정이 생성되고 DeFi 및 NFT 애플리케이션이 복잡해짐에 따라 상태의 크기는 시간이 지남에 따라 점차 증가할 것입니다. 이는 합의 프로세스에 참여하기 위해 이 상태의 완전한 최신 복사본을 유지해야 하기 때문에 전체 노드에 상당한 리소스 부담을 줍니다.
참조: 블록체인 Trilemma란 무엇입니까? 2030년 로드맵
상태 팽창: "만성 질병"과 분산화의 위험
상태 팽창은 기술적인 버그가 아니라 블록체인의 성공과 채택에 따른 자연스러운 결과입니다. 그러나 관리하지 않고 방치하면 네트워크의 지속 가능한 발전에 큰 장벽이 될 것입니다. 상태 성장의 주요 동인에는 새 주소 생성, 복잡한 스마트 계약 배포, 임의 데이터 온체인 저장이 포함됩니다.
이더리움과 같은 시스템에서 스마트 계약에 사용되는 모든 "저장 슬롯"은 명시적으로 삭제되지 않는 한 상태에 영원히 존재합니다. 그러나 대부분의 개발자와 사용자는 오래된 데이터를 삭제할 경제적 유인이 없어 소위 "공유지의 비극"을 초래하고 있습니다. 사용자는 체인에 데이터를 저장하기 위해 일회성 거래 수수료만 지불하지만 검증 노드는 해당 데이터를 영원히 저장하는 비용을 부담해야 합니다.
블록체인 네트워크의 상태 팽창으로 인한 결과는 심각합니다.
하드웨어 임계값 증가:노드는 업데이트 속도를 따라잡기 위해 극도로 높은 IOPS 성능을 갖춘 멀티 테라바이트 SSD가 필요합니다.
동기화 시간 동기화 연장: 초기 상태 로드에는 며칠 또는 몇 주가 걸릴 수 있어 새 구성원이 합류하지 못할 수 있습니다.
중앙 집중화 위험: 대규모 조직이나 전문 인프라 제공업체만이 노드를 유지 관리할 리소스를 보유하고 있어 분산화가 약화됩니다.
서비스 거부(DoS) 위험: 공격자가 상태 생성을 악용할 수 있습니다. 노드 데이터베이스를 채우세요.
자세히 보기: 블록체인의 레이어 1 및 레이어 2: 다계층 아키텍처 및 네트워크 확장 솔루션
상태 비저장 클라이언트란 무엇입니까? 검증인 노드 아키텍처의 혁명
상태 비저장 클라이언트는 검증인 노드가 새 블록의 유효성을 확인하기 위해 블록체인의 전체 상태를 저장할 필요가 없는 설계 개념입니다. 상태는 여전히 존재하지만 이를 저장하고 제공하는 책임은 이동되거나 재분배됩니다.
이 아키텍처에서는 새 블록에 증인이라는 추가 정보가 제공됩니다. 증인은 커밋된 "상태 루트"를 기반으로 정확성을 입증하는 암호화 증거와 함께 제공되는 특정 상태 값의 집합입니다.
무국적 수준 분류:
약한 무상태(약한 무상태): 이더리움의 단기 목표입니다. 제안자와 블록 빌더만이 증인을 생성하기 위해 전체 상태를 저장해야 합니다. 다른 검증인은 무상태 모드에서 작동할 수 있습니다.
강력한 무상태: 블록 생산자라도 상태를 저장할 필요가 없습니다. 사용자는 거래에 대한 자신의 증언을 제공해야 합니다. 그러나 이 수준은 사용자 경험 측면에서 큰 장벽에 직면합니다.
부분 무상태(Partial Statelessness): 선택 노드는 일반적으로 사용되는 "핫" 상태 부분을 저장하고 "콜드" 상태 부분에 대한 감시를 요청합니다.
Verkle Trees: 무상태 기능을 실현하는 도구
상태 비저장 클라이언트의 가장 큰 과제는 증인의 규모입니다. 현재 Merkle Patricia Trie 구조에서는 각 블록의 감시 크기가 최대 메가바이트에 달할 수 있어 대역폭 혼잡이 발생할 수 있습니다. 문제를 해결하기 위해 Tan Phat Digital은 이더리움의 로드맵이 Verkle Trees로 이동하고 있다고 언급했습니다.
Merkle Patricia Trie와 Verkle Tree의 기술적 비교:
1. Merkle Patricia Trie(MPT):
연결 메커니즘: 기존 해시 함수(SHA-256/Keccak)를 사용합니다.
노드 너비(k): 일반적으로 2 또는 16.
1 리프 프루프 크기: 약 1 KB.
1블록의 증인 크기: 약 1MB(상태 비저장 아키텍처에는 적합하지 않음).
계산 비용: 낮음(기본 해시 계산만 필요).
2. Verkle Tree:
바이트.1 블록의 증인 크기: 150바이트에서 수십 KB까지만 가능(완전히 실현 가능).
계산 비용: 높음(타원에 대한 복잡한 계산 필요) 곡선).
Verkle Trees를 사용하면 증인 크기를 기존에 비해 약 1/20에서 1/30으로 줄일 수 있어 모바일 장치도 인증 노드가 될 수 있습니다.
지원 경로: State Rent, State Expiry 및 State Pruning
State Rent
경제적 메커니즘 적용: 사용자는 유지하기 위해 비용을 지불해야 합니다. 온체인 데이터.
Solana: "임대료 없음"을 위해 필요한 최소 SOL 잔액. 충분하지 않으면 계정이 삭제될 수 있습니다.
Nervos CKB: 1 CKB 코인은 1바이트의 저장 공간에 해당합니다. 사용자는 데이터를 저장하기 위해 토큰을 잠가야 하며, 이는 상태 팽창에 대한 경제적 장벽을 만듭니다.
상태 만료
활성 상태 세트에서 오랫동안(예: 1년) 손대지 않은 상태 부분을 자동으로 제거합니다. 재사용하려면 사용자가 해당 계정을 "활성화"하기 위한 증거를 제공해야 합니다.
상태 정리
로컬 디스크 공간을 절약하기 위해 오래된 상태 데이터를 제거(예: 가장 최근의 128개 블록만 유지)하는 노드의 내부 기술입니다.
미래의 블록체인 아키텍처: 모듈식과 무상태의 공생
Tan Phat Digital의 비전에서 미래 아키텍처는 다음의 조합이 될 것입니다:
실행 계층(L2 롤업): 고성능을 위해 전체 상태(상태 저장)를 유지하지만 일부만 관리합니다. data.
정산 레이어(L1 Stateless): 무상태가 되며 원본 데이터를 저장할 필요 없이 롤업의 증거 인증만 담당합니다.
데이터 가용성 레이어(DA 레이어): 모든 노드를 강제로 저장하지 않고 필요할 때 상태를 재설정할 수 있도록 원시 데이터를 항상 사용할 수 있도록 보장합니다. 역사.
자주 묻는 질문(FAQ)
1. 'State'와 'History'의 가장 기본적인 차이점은 무엇인가요? History는 과거 이후 발생한 모든 거래를 기록하는 일기장인 반면, State는 새로운 거래가 유효한지 여부를 판단하는 데 필요한 현재 '계정 지도'입니다.
2. State Bloat가 네트워크 중앙화에 위험을 초래하는 이유는 무엇입니까? State가 너무 크면 우수한 하드웨어를 갖춘 조직만이 전체 노드를 실행할 수 있습니다. 이로 인해 리소스가 풍부한 소수의 주체가 네트워크를 제어하게 되어 분산화 손실이 발생합니다.
3. Verkle Trees는 증인 규모를 줄이는 데 어떻게 도움이 됩니까?
데이터 트리에 여러 "형제 노드"를 포함해야 하는 구식 해시 함수를 사용하는 대신, Verkle Trees는 매우 컴팩트하고 고정된 크기의 멤버십 증명($O(\log n)$ 대신 $O(1)$)을 생성하는 데 도움이 되는 KZG 다항식 약속을 사용합니다.
4. "약한 무국적"은 "강한 무국적"과 어떻게 다릅니까?
약한 무국적자는 블록 제안자가 상태를 유지하도록 요구하지만 다른 검증자는 그렇지 않습니다. 무국적 Manh은 블록 제안자라도 상태를 유지하지 않도록 요구하며 모든 증인의 책임은 사용자에게 있습니다.
5. Solana의 주 임대료 메커니즘은 어떻게 작동하나요?
Solana의 계정은 호스팅 비용을 지불하기 위해 최소 SOL 잔액을 유지해야 합니다. 계정이 폐쇄된 경우 사용자는 입금된 SOL 번호 전체를 회수할 수 있습니다.
6. Stateless Blockchain의 "불가능한 법칙"은 무엇입니까? 연구에 따르면 검증자 노드의 상태가 일정하고 사용자에 대한 증거 업데이트 빈도가 낮은 시스템을 갖는 것은 불가능합니다. 이 두 가지 요소 중 하나 사이에는 항상 상충 관계가 있습니다.
7. 상태 만료로 인해 사용자 데이터가 영구적으로 삭제되나요?
아니요. 상태 만료는 비활성 데이터(예: 1년 동안 사용되지 않은 데이터)만 콜드 스토리지로 이동합니다. 사용자는 증거를 사용하여 필요할 때 계정을 "깨우고" 다시 활성 상태로 되돌릴 수 있습니다.
8. 증명 제공자는 누구이며 어떤 역할을 합니까?
전체 상태를 소유하는 전문 당사자(예: 블록 빌더 또는 RPC 제공자)입니다. 이들은 노드가 데이터를 저장하지 않고 트랜잭션을 인증할 수 있도록 암호화 증명(증인)을 생성하고 상태 비저장 클라이언트에 보내는 일을 담당합니다.
9. Nervos CKB는 스토리지 분야의 "공공 토지 비극"을 어떻게 해결합니까?
Nervos는 스토리지 공간을 사유 재산으로 간주합니다. 1바이트의 데이터를 저장하려는 사용자는 1개의 CKB 코인을 소유하고 잠금해야 합니다. 추가 CKB(2차 발행)의 연간 발행으로 인한 인플레이션은 이 공간을 점유하는 사람들에게 "상태 임대세" 역할을 합니다.
10. 휴대폰에서 블록체인 노드를 실행할 수 있나요?
예, SNARK와 결합된 Stateless 클라이언트 아키텍처를 통해 가능합니다. 스토리지 부담이 몇 GB로 줄어들고 인증이 단지 수학적 증명 확인에 불과할 때 스마트폰이나 스마트워치도 네트워크 보안에 참여할 수 있습니다.
상태 성장과 상태 팽창은 분산형 이상의 생존을 위협하는 실존적 위험입니다. Verkle Trees를 기반으로 하는 Stateless Client는 인증 권한과 스토리지 부담을 분리하는 전략적 방법을 제공합니다. 국가 팽창에 맞서 싸우는 것은 블록체인을 개방적이고 투명하며 모든 사람에게 속하게 하기 위한 싸움입니다. Tan Phat Digital과 같은 연구 부서의 협력을 통해 우리는 지속 가능하고 향후 대량 적용이 가능한 분산형 디지털 인프라를 믿을 수 있습니다.
공유








