
체인의 데이터는 "변조 불가" 및 "추적 가능"과 같은 특성을 가지고 있지만, 탈중앙화 스토리지 환경에서 사용자는 자신의 파일을 알 수 없는 스토리지 터미널에 넘겨 보관합니다. 이러한 상황에서 신뢰할 수 없는 노드가 악을 행하지 않도록 하는 방법은 무엇입니까? 즉, 분산 스토리지 터미널이 실제로 스토리지 작업을 완료했는지 어떻게 확인할 수 있습니까?
이때,저장 프로젝트의 PDP(Provable Data Possession) 방식이 특히 중요합니다. 여전히 자신의 데이터를 저장합니다.
물론 현재 시중에는 다양한 탈중앙화 스토리지 솔루션이 존재하고 있으며, 데이터 보유 증명을 제공한다는 측면에서 보면,IPFS、Sia、Storj다른 탈중앙화 스토리지 솔루션은 신뢰할 수 없는 환경에서 스토리지 엔드의 데이터 소유 인증서를 확인하여 스토리지 엔드의 신뢰성을 보장하고자 합니다.
오데일리가 며칠 전 접촉한 탈중앙화 스토리지 프로젝트 Lambda 설립자 He Xiaoyang은 기존의 두 스토리지 솔루션이 서로 다른 단점을 가지고 있다고 생각합니다.
예를 들어 IPFS/Filecoin을 사용하는 저장소는 정적 파일에 대한 저장소만 제공하며 파일 내용을 통해 파일 주소를 검색할 수 없습니다. 동시에 스토리지 측의 데이터 소유 증명을 검증할 때 대중이 검증을 시작하지만 특정 개시자가 누구이며 어떻게 개시하는지 명확하게 명시하지 않는 것으로 간주됩니다. 누가 데이터의 검증자인지 해결하지 못하는 문제.
Sia와 Storj로 대표되는 스토리지 솔루션은 스마트 계약을 통해 정기적으로 스토리지 측에 도전하여 파일 조각 및 해시 값과 같은 정보를 피드백하고 확인하도록 요청합니다. 그러나 체인 원장 자체의 크기 제한으로 인해 Merkle Tree의 Root Hash만 체인에 저장되어 데이터가 변조되지 않는다는 보장만 할 수 있지만 데이터의 보유 및 가용성을 보장할 수는 없습니다. .
Lambda는 분산 노드의 검증과 합의를 통해 사용자와 스토리지 터미널 간의 신뢰 문제를 해결하기 위해 분산형 스토리지 플랫폼을 구축하고자 합니다. Lambda 플랫폼은 저장소와 블록체인의 두 가지 네트워크 구조 시스템을 설정했습니다.(상상 IPFS/Filecoin) 저장소 시스템은 저장소를 담당하고 블록체인은 저장소 시스템의 액세스 및 제어를 담당합니다.두 네트워크 구조는 상호 작용을 완료하기 위해 하위 체인으로 연결됩니다.
다른 탈중앙화 스토리지 프로젝트와 달리Lambda의 특별한 점은 "신뢰할 수 없는 저장소 측"에 저장된 데이터의 무결성과 복구 가능성을 보장하기 위해 검증자 노드에서 생성된 합의를 통해 저장소 측에 대한 데이터 소유 증명을 제공하고자 한다는 것입니다.
Lambda가 제공하는 방식은 다음과 같습니다. 가장 간단한 시나리오를 고려하여 Permissionless Store에서 스토리지 끝이 파일 F를 소유하고 있음을 증명합니다. 먼저 사용자가 저장해야 하는 원본 파일을 조각화하고 임의의 파일 F에 대한 메시지 집합 m1 , m2 , … , mn을 생성하고 파일 조각 계산에 따라 해당 개수의 태그를 생성합니다. 파일 조각 및 4개의 번호(즉, 메타데이터라고도 하는 보안 매개변수 λ)가 암호화되어 생성됩니다.
유효성 검사기 노드(검증자)는 후속 세대의 도전/수수께끼에 대한 메타데이터를 저장합니다. 각 스토리지 터미널은 원본 파일 조각과 해당 태그를 저장하고 태그는 스토리지 당사자가 원본 파일 조각에서 데이터를 정확하게 추출하여 퍼즐을 풀도록 도울 수 있습니다.
검증자는 도전 퍼즐을 생성하고 스토리지 측에 도전합니다. 저장 측은 원본 파일 조각과 손에 있는 태그에 따라 계산하고 해당 디지털 벡터 세트를 생성하여 검증자에게 피드백합니다. 마지막으로 검증자는 메타데이터와 벡터를 기반으로 계산하고 스토리지 측의 검증이 성공했는지 확인합니다. 성공하면 트랜잭션이 패키징되어 체인에 업로드되고 실패하면 스토리지 노드가 처벌됩니다.
단일 지점 파일 소유권을 확인할 수 있는 경우 해당 조정을 통해 파일 역학, 다중 복사, 삭제 코딩, 중복 제거 및 기타 기능도 지원할 수 있습니다.
이렇게 하면 검증자는 메타데이터를 저장해야 하고 저장 측은 태그를 저장하는 추가 작업이 있지만 저장 용량을 1%-3%만 늘릴 수 있습니다. 검증자가 저장 단말기에 대한 검증을 시작할 때 두 단말기가 서로 다른 네트워크 구조에 있기 때문에 검증자의 챌린지 요청은 원격이 됩니다. 저장 측이 도전을 수락하지 않거나 네트워크 문제로 인해 연결할 수 없는 경우 검증자는 저장 실패로 직접 판단할 수 있습니다.
전체 시스템에서 검증자 역할은 Lambda의 혁신 포인트입니다. 또한 Lambda는 Nominator 및 Angler 역할도 설계했습니다.
검증자: 트랜잭션의 패키징 및 블록 생성을 위한 Lambda 네트워크에서 검증자는 토큰의 일부를 서약해야 합니다. 검증자 역할은 단일 노드가 아니라 수천 개의 검증자 노드 중에서 무작위로 선택된 검증자 노드 그룹이 스토리지 터미널을 공동으로 검증합니다. 1024개의 블록이 패키징될 때마다 유효성 검사기 노드가 순환됩니다.
추천인: 자금이 많은 경우 추천인은 한 명 이상의 검증인을 추천하여 이에 대한 결정을 내립니다. 돈을 투자하는 것보다 더 많은 기능은 없습니다.
Fisherman: Fisherman은 블록 패키징 프로세스와 관련이 없습니다.이 역할은 현실 세계의 "현상금 사냥꾼"과 유사합니다.Fishermen은 "피싱 법 집행"을 사용하여 악의적인 유효성 검사기 노드를 보고합니다.보고가 성공하면 그들은 얻을 것입니다. 일회성 보상 보너스.
데이터가 악의적으로 삭제된 경우 특히 이때 데이터 파일을 복원해야 합니다. 데이터 복구성 측면에서 Lambda의 아이디어는 손실된 데이터가 특정 사전 설정 값보다 크지 않은 한 A로 분할되는 데이터 파일을 기준으로 B 개인(B가 A보다 작음)에게 파일을 배포하는 것입니다. 실현할 수 있습니다.
관련 자료:
관련 자료:
Provable Data Possession at Untrusted Stores
Scalable and Efficient Provable Data Possession
Group-oriented Proofs of Storage
영문판영문판
저는 Odaily의 저자 Mo Xinnan입니다. 저는 실제 블록체인을 탐구하고 있습니다. 고품질 블록체인 프로젝트에 대한 보고서를 찾고 있다면 WeChat을 추가하십시오: 16601131135. 귀하의 이름, 회사 및 직위를 메모하십시오.