P2P 해싱 함수 'Bab', 스트리밍 검증과 주소 지정 논쟁

by DD
1일 전
조회수 0

Bab 해싱 함수는 P2P 네트워크에서 대용량 데이터 스트리밍 시 점진적 검증(Incremental Verification)을 지원하는 것이 핵심임

콘텐츠 주소 지정(Content-Addressed Storage) 방식에 대한 논란이 있으며, 동일 콘텐츠라도 청크 크기나 알고리즘에 따라 다른 체크섬이 생성될 수 있음

기존 IPFS나 BitTorrent DHT와 유사한 해시 트리(Hash Tree) 기반 접근 방식에 대한 논의가 진행 중임

Willow 프로토콜과의 연관성이 언급되나, Willow 역시 일반적인 의미의 콘텐츠 주소 지정은 아니라는 지적이 있음

스트리밍 검증(Streaming Verification)의 필요성

커뮤니티에서는 P2P 환경에서 대용량 데이터를 주고받을 때 실시간 데이터 무결성 검증의 중요성을 강조합니다. Bab의 핵심 기능인 스트리밍 검증은 데이터가 전송되는 동안에도 정기적으로 해시 값을 비교하여 데이터 손상이나 위변조 여부를 즉시 확인할 수 있게 합니다. 이는 대규모 파일 전송 시 전체 다운로드 완료 후 검증하는 기존 방식 대비 효율성을 크게 높일 수 있다는 점에서 주목받고 있습니다.

콘텐츠 주소 지정(Content-Addressed Storage) 용어 논란

일부 개발자들은 Bab의 명세에서 '콘텐츠 주소 지정'이라는 용어 사용에 대해 비판적인 시각을 보입니다. 동일한 콘텐츠라도 청크 크기(Chunk Size)나 해시 알고리즘 파라미터화에 따라 다른 체크섬이 생성될 수 있기 때문입니다. 이는 콘텐츠 자체만으로 고유한 저장 주소를 계산할 수 있어야 한다는 일반적인 콘텐츠 주소 지정의 정의와 부합하지 않는다는 지적입니다. 따라서 이 기능은 데이터 주소 지정(Data Addressing) 또는 체크섬 기반 검증(Checksum-based Verification)으로 명명하는 것이 더 적절하다는 의견이 제시되었습니다.

해시 트리(Hash Tree) 구조와 프로토콜 설계

논의에서는 Bab의 접근 방식이 IPFS나 BitTorrent DHT에서 사용하는 머클 트리(Merkle Tree)와 유사하다고 분석합니다. 특히, 데이터 청크들을 해시하여 트리 구조를 만들고, 이 트리를 다시 해싱하여 전송하는 이중 계층 전송(Two-layer Send) 방식의 이점을 언급합니다. 이러한 구조는 가변 길이 청크(Variable-length Chunks) 처리나 콘텐츠 정의 청킹(Content-defined Chunking)과 같은 유연성을 제공하며, 잠재적으로 내장 압축(Built-in Decompression) 기능까지 고려할 수 있다는 가능성을 제시합니다.

Willow 프로토콜과의 연관성 및 주소 지정의 모호성

Willow 프로토콜의 기반 기술로 언급된 Bab에 대해, Willow 자체도 일반적인 의미의 콘텐츠 주소 지정 방식을 사용하지 않는다는 점이 지적되었습니다. Willow는 더 높은 수준의 프로토콜이며, 실제 데이터의 주소 지정은 사용자(User) 또는 상위 계층(Higher Layer)에 위임되는 구조로 이해됩니다. 이는 Bab가 제공하는 해싱 및 검증 기능이 특정 주소 지정 스키마에 종속되지 않고, 다양한 P2P 시스템에서 활용될 수 있는 범용적인 빌딩 블록(General-purpose Building Block)임을 시사합니다.

Bab: a family of hashing functions for p2p networks