저자:스탠포드 블록체인 클럽 출처:W-SOURCE 번역: 굿오바, 골든파이낸스
소개
블록체인과 암호화폐는 처음부터 더 넓은 접근성을 제공하고 중개자를 제거함으로써 금융 환경을 변화시키기 위해 노력해왔습니다. 시간이 지남에 따라 웹3.0의 발전으로 적용 시나리오가 확장되면서 제작자가 번성하고 사용자가 데이터를 통제하는 인터넷을 만드는 데 있어 블록체인 기술의 잠재력이 강조되고 있습니다.
탈중앙화를 보장하면서 최종 사용자에게 권한을 부여하는 인프라의 핵심은 데이터가 탄력적이고 검열에 강한 데이터베이스에 저장되도록 하는 것입니다. 중앙 집중식 데이터베이스는 편리하고 친숙하지만 필요한 보안을 제공하지 못하고 데이터베이스 소유자의 허가가 필요하기 때문에 전 세계적으로 채택이 제한됩니다.
분산형 데이터 스토리지 시스템은 데이터를 저장, 관리, 공유하는 노드 네트워크를 구축하여 내결함성 및 복원력이 뛰어난 스토리지에 대한 필요성을 해결합니다. 중앙 집중식 권한의 필요성을 없애고 P2P 방식으로 데이터를 분산하면 보안과 투명성이 향상됩니다. 분산형 스토리지 시스템은 중복성과 가용성을 통해 데이터를 복제하는 경향이 있는 블록체인 또는 이와 유사한 기술을 기반으로 하는 경우가 많습니다.
분산형 스토리지 시스템은 사용하지 않는 스토리지 용량에 의존함으로써 보안, 데이터 복원력, 잠재적인 비용 이점을 제공하지만, 규제 및 상호운용성 문제에 직면합니다.
분산형 스토리지는 진정한 개방형 액세스 네트워크에 필수적입니다. 모든 스토리지 시스템의 핵심은 데이터를 저장하고 유지하는 방식을 정당화하는 방법입니다. 사용자에게 더 중요한 질문은 데이터가 어떻게 저장되고 유지되는지 어떻게 증명할 수 있는가 하는 것입니다. 이는 데이터 증명을 통해 해결됩니다.
전반적으로 두 가지 유형의 증명을 구분합니다.
결정론적 증명: 데이터 보유자가 특정 데이터에 대한 증명을 생성하여 데이터의 해시를 생성하고 일치함을 증명할 수 있도록 허용합니다. 이 유형의 증명은 데이터를 입력으로 사용하여 생성된 해시만 노출합니다.
확률적 증명: 확률에 의존하여 기초 데이터가 존재할 가능성이 높다는 것을 증명합니다. 특정 가설의 확실성을 합리적으로 입증하는 증명으로, 이미 공개되어 있고 필요한 경우 검색이 가능한 데이터에 적용됩니다.
이 백서의 나머지 부분에서는 세 가지 시스템에서 데이터 저장 및 무결성을 증명하기 위한 설계 선택에 대해 설명합니다. 먼저 대용량 및 확장 가능한 데이터에 초점을 맞춘 Tagion을 살펴본 다음, 탈중앙화 스토리지 네트워크인 Filecoin이 어떻게 데이터를 대규모로 저장할 수 있는지에 대해 설명합니다. 마지막으로 블록체인 데이터 저장과 전송에 중점을 둔 셀레스티아를 살펴봅니다.
Tagion
아키텍처
Tagion은 기술과 민주적 거버넌스에 기반한 고유한 암호화폐 시스템을 만드는 것을 목표로 하는 대용량 거래 전용 탈중앙화 네트워크입니다. 이 프로젝트는 혁신적인 데이터베이스 아키텍처와 암호화를 기반으로 대규모를 지원합니다. 블록체인이 아닌 DART 데이터베이스에 최적화된 저장소를 사용하는 분산 원장을 사용하며, Tagion의 증명 메커니즘은 결정론적 증명의 한 예입니다.
DART 데이터베이스의 핵심 기능은 해시 키를 기반으로 데이터를 저장하는 분산 해시 테이블 역할을 하는 것입니다. 정보가 저장됨에 따라 이 구조는 자연스럽게 더 많은 분기를 생성하며, 각 분기는 최대 256개의 결합된 아카이브와 하위 분기를 지원합니다.
이미지 src="https://img.jinse.cn/7250673_watermarknone.png" title="7250673" alt="RJ35m82b3F5bGRDctNM6N4ZGhq4NwGUPXOs5sPob.png">< /p>
타기온의 인프라는 분산 해시 테이블과 유사할 뿐만 아니라 스파스 메르켈 트리(SMT)로도 이해할 수 있습니다. SMT는 조회, 삽입, 업데이트, 삭제와 같은 표준 데이터베이스 작업을 지원하는 키-값 쌍을 기반으로 하는 인증 데이터 구조입니다. 각 키-값 쌍은 자식 노드를 머클 루트에 재귀적으로 해시하여 부모 분기의 해시를 도출하는 리프를 나타냅니다.
SMT는 증명자가 관련 없는 데이터 요소에 액세스하거나 특정 데이터 조각을 다운로드할 필요 없이 요소의 존재를 확인할 수 있도록 하여 효율성을 크게 향상시킵니다. 또한 트리에서 값의 독립성으로 인해 트리의 최종 구조를 변경하지 않고도 어떤 순서로든 업데이트할 수 있습니다.
이미지 src="https://img.jinse.cn/7250674_watermarknone.png" title="7250674" alt="wljRF20hki9nnZNJYZa3RLROywnxdGwP26GSwDpV.png">< /p>
태그온의 시스템은 모든 하위 브랜치의 해시를 포함하는 루트 해시를 사용하여 최소한의 계산으로 데이터 상태를 빠르게 확인합니다. 처리 속도를 더욱 향상시키기 위해 시스템은 샤드 블록체인과 유사하게 특정 생태계를 위한 하위 DART를 생성할 수 있습니다. 이러한 지정된 노드는 데이터의 하위 집합을 관리하여 처리량을 늘리고 애플리케이션 체인처럼 네트워크를 다양한 애플리케이션에 맞게 맞춤화할 수 있습니다.
DART를 사용해 상태 비저장 시스템을 만들면 시스템 전환의 전체 이력을 유지할 필요가 없습니다. 즉, 데이터를 삭제할 수 있어 스토리지 요구 사항을 전반적으로 줄이고 경량화를 통해 시스템의 탈중앙화를 높일 수 있습니다.
태그온은 데이터가 입력될 때 해시 불변성을 유지하여 연관 해싱을 기반으로 데이터 검색을 간소화하는 HiBON(해시 불변 이진 표현 개체)을 통해 스토리지 프로세스를 더욱 용이하게 합니다. 해시 불변성이란 데이터가 다른 순서로 처리되어도 항상 동일한 해시를 생성한다는 의미입니다. 이는 데이터베이스에서 데이터 검색 및 쓰기 속도를 높이는 입증된 기술입니다.
태그온은 이러한 메커니즘을 통해 데이터를 안전하게 저장할 뿐만 아니라 네트워크에서 데이터의 포함 여부와 무결성을 효율적으로 검증합니다.
데이터 무결성
태그온의 모든 하위 시스템은 데이터가 저장되어 있고 필요할 때 사용할 수 있는지 여부를 확인하는 무작위 배회(randomized wandering)를 수행합니다. 보존 확인에 실패한 노드는 네트워크에서 제외됩니다.
모든 아카이브에는 타임스탬프가 포함되며, 저장 시간을 연장하려면 수수료를 지불해야 합니다. 방황하는 동안 시스템은 요금이 지불되었는지 확인하고, 지불되지 않은 경우 데이터를 삭제하고 공간을 확보합니다.
파일코인
파일코인은 탈중앙화된 스토리지 네트워크로, 마이너들이 네이티브 토큰인 파일코인을 통해 스토리지 용량을 제공하도록 인센티브를 제공합니다. 이러한 보상을 받으려면 채굴자는 자신의 저장 용량을 검증할 수 있는 증명을 생성해야 합니다.
파일코인의 기본 저장 단위인 섹터는 표준 크기와 공급자가 확장할 수 있는 수명 주기를 가지고 있습니다. 이 설계는 보안과 가용성 사이에서 신중한 균형을 이루며, Filecoin에 저장된 모든 사용자 데이터는 암호화되고 네트워크에 여러 복사본이 분산되어 채굴자가 파일 내용에 액세스할 수 없도록 합니다.
파일코인 네트워크에서 채굴자의 영향력은 그들이 제공하는 스토리지의 양에 비례하며, 네트워크의 합의 메커니즘에 참여할 수 있습니다.
파일코인 가상 머신은 스마트 계약을 실행하고 스토리지 제공자와 사용자를 연결하는 등 시장 운영을 촉진하는 역할을 담당합니다.
파일코인의 아키텍처는 모듈식으로 구성되어 있어 노드가 필요에 따라 시스템의 특정 부분을 운영할 수 있습니다. 예를 들어, 노드는 스토리지 노드로만 작동하고 시장 운영에는 참여하지 않을 수 있습니다.
데이터 무결성과 가용성을 보장하기 위해 Filecoin은 저장 증명과 복제 증명이라는 두 가지 알고리즘에 의존합니다.
저장 증명
파일코인의 채굴자는 언제든지 데이터 사본을 보유하고 있는지 확인하기 위해 증명을 생성합니다. 이 증명은 챌린지를 통해 이루어지며, 시스템은 채굴자에게 데이터를 소유하고 있는 경우에만 정답을 맞출 수 있는 질문을 던집니다.
채굴자가 챌린지가 주어졌을 때 데이터를 복사하지 않도록 하기 위해 챌린지는 예측할 수 없는 시간 간격으로 데이터의 다른 부분을 무작위로 타겟팅하도록 설계되었습니다. 무작위성과 시간 간격의 불확실성의 조합은 채굴자가 챌린지가 제시될 때만 데이터를 획득하는 것을 불가능하고 비경제적이며 비합리적으로 만듭니다.
시간 및 공간 증명(PoSt)
파일코인은 지속적인 저장과 데이터 가용성을 보장하기 위해 시간 및 공간 증명(PoSt)을 도입했습니다. 시간 증명은 채굴자에게 암호학적 과제를 제시하여 시간 간격에 따라 스토리지를 검증합니다. 채굴자는 지정된 시간 내에 파일을 저장한 경우에만 챌린지를 통과할 수 있습니다.
PoSt는 두 가지 유형의 챌린지로 구성됩니다.
승리하는 PoSt: 일반적으로 알고리즘이 마이너가 다음 블록을 채굴할 다음 블록을 채굴할 채굴자를 선택합니다. 단기간의 기한을 통해 데이터를 소유할 수 있습니다.
WindowPoSt: 채굴자가 필요에 따라 데이터를 유지했다는 증거를 제출하는 반복적인 도전 과제입니다. 데이터를 제출할 때만 봉인하면 채굴자에게 더 많은 비용이 듭니다.
격리는 복제 증명 알고리즘의 일부이며 계산 집약적이기 때문에 합리적인 마이너라면 격리의 필요성을 최소화하려고 할 것입니다.
복제 증명
격리는 복제 증명 알고리즘의 일부이며 계산 집약적이기 때문에 채굴자가 격리 빈도를 줄이도록 유도합니다. 복제 증명은 사용자, 즉 채굴자가 물리적 하드웨어에 고유한 사본을 생성하고 저장했음을 보장합니다. 이 증명에는 다음이 포함됩니다:
데이터 자체
데이터를 봉인한 채굴자
봉인 시간 및 날짜
데이터 봉인 당시의 블록 높이
> li>
채굴자에게 두 가지 유형의 증명을 생성하도록 요구하면 사용자는 파일을 안전하게 저장할 수 있으며, 실제 저장소를 제공하는 채굴자에게만 보상이 지급됩니다. 증명은 너무 커서 체인에 저장할 수 없기 때문에 채굴자는 영지식 간결한 비대화형 지식 인수(zkSNARK)를 생성하여 체인에 제출하며, Filecoin은 하루에 600만에서 700만 개의 증명을 생성하는 최대 zkSNARK 사용자가 되었습니다.
전반적으로 파일코인은 결정론적 증명(PoRep)과 확률론적 증명(PoSt)을 결합한 하이브리드 접근 방식을 사용합니다.
셀레스티아
이 글의 세 번째 사례는 모듈형 블록체인을 위한 실행 및 데이터 저장소를 제공하여 핵심 기능을 아웃소싱할 수 있는 이른바 데이터 가용성 블록체인인 셀레스티아입니다.
이더 롤업의 부상과 함께 셀레스티아와 같은 데이터 가용성 솔루션은 롤업 트랜잭션 데이터를 저장하는 이더 아카이브 노드에 대한 저렴한 대안으로 인기를 얻고 있습니다.
데이터 가용성 시연
파일코인과 달리 셀레스티아는 최종 사용자를 위한 스토리지 솔루션을 제공하지 않고 데이터 가용성 문제를 해결하는 데 중점을 둡니다. 데이터 가용성은 블록체인 데이터가 올바르게 게시되었는지를 보장합니다. 일반적으로 블록체인 노드는 가용성을 확인하기 위해 전체 블록을 다운로드해야 하는데, 이는 리소스 집약적인 과정으로 검증을 방해할 수 있습니다.
이 프로세스를 간소화하기 위해 셀레스티아는 데이터 가용성 샘플링(DAS)을 사용합니다. 이 방법은 미리 정해진 신뢰 수준에 도달할 때까지 라이트 노드가 데이터의 일부만 다운로드하는 방식입니다. 샘플의 모든 데이터를 사용할 수 있는 경우, 데이터 가용성에 대한 확률적 증명으로 데이터가 릴리스된 것으로 간주합니다.
다음과 같이 작동합니다.
제안자가 데이터 블록을 생성합니다.
블록 데이터를 k×k 블록으로 분할하여 행렬을 형성합니다.
패리티 데이터를 추가하여 이 행렬을 확장하면 리드-솔로몬 인코딩을 사용하여 2k x 2k 행렬이 생성됩니다. 이 유형의 인코딩을 사용하면 데이터의 하위 집합에서 전체 데이터 집합을 복구할 수 있습니다.
확장 행렬의 각 행과 열에 대해 독립적인 메르켈 근을 계산하고 결합합니다.
마지막으로, 이렇게 결합된 모든 루트의 메르켈 루트를 블록 헤더의 블록 데이터 커밋에 추가하여 데이터의 가용성을 확인합니다.
가용성을 확인하기 위해 라이트 노드는 확장 행렬에서 고유 좌표를 무작위로 뽑은 다음 전체 노드에 해당 좌표에 해당하는 Merkle 검증 데이터 블록을 쿼리합니다. 응답이 정확하면 전체 데이터 블록을 사용할 수 있을 확률이 높습니다.
그런 다음 노드는 수신한 데이터 블록을 올바른 머클 증명과 함께 네트워크의 나머지 노드에 브로드캐스트합니다. 충분한 샘플링을 통해 노드는 전체 블록을 재구성할 수 있으므로 셀레스티아는 검증을 위해 자원이 제한된 노드에 더 많이 의존할 수 있어 탈중앙화에 기여할 수 있습니다.
이 글을 쓰는 시점에서 셀레스티아는 아직 매우 새롭습니다. 그러나 데이터 가용성 샘플링은 셀레스티아 외부에서 채택될 수 있는 기술이며, 이더코어 개발자들은 확장을 위해 이를 프로토콜에 추가하는 것을 논의하고 있습니다.
결론
요약하자면, 분산 네트워크에서 데이터 가용성을 저장하고 검증하는 다양한 방법이 작동하고 있으며 활발히 사용되고 있습니다.
태그온은 처리량을 늘리고 희박한 머클 트리로 보호되는 특수한 하위 생태계의 개발을 지원하기 위해 샤딩된 DART 데이터베이스를 사용합니다.
파일코인의 아키텍처는 두 가지 알고리즘, 즉 시간 증명과 복제 증명을 사용하여 채굴자가 데이터를 안정적으로 저장했음을 검증하고 증명할 수 있도록 합니다. 이러한 증명은 영지식 증명의 형태로 체인에 기록됩니다.
셀레스티아는 리드-솔로몬 인코딩을 활용하여 데이터 블록을 행렬로 확장하는 데이터 가용성 레이어 역할을 합니다. 이 구조를 통해 라이트 클라이언트는 전체 데이터 세트를 다운로드할 필요 없이 무작위 샘플링을 수행하여 데이터 가용성을 확인할 수 있습니다.
분산형 스토리지 시스템 환경이 계속 진화함에 따라 Tagion, Filecoin, Celestia는 각각 데이터 무결성, 가용성, 접근성을 보장하기 위한 고유한 전략을 마련했습니다. 이러한 플랫폼은 탈중앙화 네트워크를 지원하는 탄력적인 데이터 배포 및 저장 시스템을 구축하는 데 크게 기여하고 있습니다.