Ceramic:Web3.0 소셜 애플리케이션을 위한 미들웨어

IOSG 벤처스
2022-02-07 22:38:58
수집
버전 관리의 장점 외에도, Ceramic은 매우 편리한 인증 및 접근 제어를 제공합니다.

저자: Chloe, IOSG Associate

"씨앗 요청" 시대의 저장 프로토콜: BitTorrent

BitTorrent에 대해 이야기하면 많은 사람들이 낯설게 느낄 수 있습니다. 하지만 "씨앗" 다운로드를 언급하면, 게임이나 영화를 보기 위해 몇 년 전 인터넷에서 "씨앗을 요청"하던 장면을 떠올리는 사람들이 많을 것입니다. 여기서 씨앗은 BitTorrent의 다운로드 용어입니다. 씨앗 파일은 다운로드 파일의 저장 위치, 크기, 다운로드 서버의 주소, 게시자의 주소 등의 데이터를 기록한 인덱스 파일입니다.

간단히 말해, BitTorrent는 P2P 다운로드 프로토콜로, 전통적인 웹사이트 서버에서 다운로드하는 방식보다 훨씬 효율적입니다. 예를 들어, 학생 시절 반 친구들이 모여서 숙제를 베끼는 상황을 생각해보세요. 하지만 숙제를 쓴 친구는 한 명뿐이고, 다른 모든 친구들은 그 한 사람의 답을 베껴야 합니다. 각 친구의 베끼는 속도가 다르기 때문에, 베끼고자 하는 사람이 많아지면 이 과정은 매우 어려워집니다. 따라서 일반적인 방법은 일부 친구가 선택 문제를 베끼고, 다른 친구가 빈칸 문제를 베끼고, 또 다른 친구가 서술형 문제를 베끼는 식으로 서로 번갈아가며 베끼는 것입니다. 이렇게 하면 효율성이 급격히 향상됩니다.

BitTorrent의 원리는 "숙제 베끼기"와 유사합니다. 파일을 다운로드해야 하는 각 사용자는 파일의 일부만 다운로드하고, 다운로드하는 동안 우리의 컴퓨터는 서버 역할을 하여 다운로드한 이 부분 파일을 다른 사용자에게 전송합니다. 즉, 우리가 다운로드하는 동시에 우리는 업로드도 하고 있는 것입니다(다른 사람들이 우리 컴퓨터에서 다운로드한 부분). 따라서 다른 사람들이 제공하는 다운로드를 즐기는 동시에, 우리는 기여하고 있습니다. 따라서 이 파일을 다운로드하는 사용자가 많을수록 씨앗이 많아지고, 동기화되는 속도가 빨라지며, 다운로드 속도도 빨라집니다.

image

(이미지 출처: IOSG Ventures)

탈중앙화 저장의 선구자: IPFS

다운로드 효율성을 크게 향상시켰지만, BitTorrent는 여전히 몇 가지 문제를 안고 있습니다. 이러한 문제를 최적화하기 위해 IPFS를 언급하지 않을 수 없습니다. 많은 독자들이 IPFS에 대해 더 잘 알고 있을 것입니다. 현재 유명한 탈중앙화 저장 프로젝트인 Arweave와 Filecoin은 IPFS를 기반으로 구축되었습니다. IPFS의 한국어 번역은 '인터플래닛 파일 시스템'으로, 분산 저장 및 파일 공유를 위한 네트워크 전송 프로토콜입니다.

BitTorrent로 다운로드할 때는 반드시 씨앗 파일을 사용해야 하며, 사용자는 모든 다운로드 내용의 주소를 이 씨앗 파일에 넣어야 다운로드할 수 있습니다. IPFS의 주요 장점 중 하나는 DAG 데이터 구조를 사용하여 데이터를 저장한다는 것입니다. 이 데이터 구조의 장점은 IPFS가 주소 기반이 아닌 콘텐츠 기반의 주소 지정 방식을 사용하여 파일을 저장하고 찾는다는 것입니다. 이는 우리가 파일을 찾고자 할 때, 그 파일이 어디에 있는지 알 필요 없이 그 파일이 포함하고 있는 내용만 알면 된다는 것을 의미합니다. IPFS는 각 파일에 대해 고유한 해시 값을 생성합니다(예: QmSNssW5a9S3KVRCYMemjsTByrNNrtXFnxNYLfmDr9Vaan). 사용자가 이 파일을 검색해야 할 때, 단지 IPFS에 이 해시(QmS…Vaan)를 가진 사람이 누구인지 물어보면 검색이 완료됩니다. 해시 값은 중복 저장을 방지하므로, 동일한 내용의 파일은 IPFS에 중복 저장되지 않습니다. 이러한 방식은 저장을 최적화하고 네트워크 성능을 향상시킵니다.

image

(이미지 출처: researchgate.net)

동적 저장의 해결책: Ceramic

위의 설명을 통해 세심한 독자들은 IPFS에 큰 결함이 있다는 것을 발견할 수 있습니다. IPFS에서는 파일이 한 번 저장되면 시스템에서 수정할 수 없습니다. 파일 내용을 수정하면 파일의 해시 값이 변경되기 때문에, 사용자는 원래의 해시 값을 통해 변경된 파일을 찾을 수 없습니다. 이는 IPFS가 비판받는 한 가지 문제점으로, 언제든지 업데이트가 필요한 파일을 저장하는 데 적합하지 않다는 것입니다. 따라서 사람들은 동적 데이터를 효율적이고 탈중앙화된 방식으로 저장할 수 있는 솔루션이 절실히 필요합니다.

다행히도, 이 분야에 대한 탐색이 이미 시작되었습니다. Web 3.0, SocialFi 또는 DID에 관심이 있는 친구들은 이 프로젝트의 이름을 들어본 적이 있을 것입니다------Ceramic. Ceramic은 데이터를 생성, 호스팅 및 공유하기 위한 탈중앙화 오픈 소스 플랫폼으로, 많은 DID와 Social Graph가 Ceramic 위에 구축되고 있습니다.

앞서 언급했듯이, IPFS는 정적 파일 저장에 좋은 성능을 보이지만, 자체적으로 계산 및 상태 관리 능력이 부족하여 데이터베이스와 유사한 고급 기능(예: 가변성, 버전 관리, 접근 제어 및 프로그래밍 가능한 논리)을 구현할 수 없습니다. Ceramic의 출현은 이러한 문제를 어느 정도 해결했습니다.

효율적인 버전 관리

Ceramic에서는 각 저장 정보가 겹쳐 쌓을 수 있는 로그(컴퓨터에서 프로그램 실행 상황을 기록하는 로그 파일)로 표현되며, 이를 Stream이라고 합니다. Stream은 개념적으로 Git과 유사합니다. Git은 오픈 소스 분산 버전 관리 시스템으로, 대소문을 효과적이고 빠르게 처리할 수 있는 현재 가장 인기 있는 버전 관리 소프트웨어입니다. 코드 저장, 수정 이력 추적, 코드 변경 병합, 이전 코드 버전으로 복원하는 등의 작업에 사용됩니다.

Git은 데이터를 처리할 때 "스냅샷"처럼 작동하며, 이는 우리가 Google Docs로 문서를 공유하고 이전 버전을 보는 것과 유사합니다. 업데이트를 제출하거나 데이터 상태를 저장할 때마다, Git은 당시의 모든 파일에 대한 스냅샷을 생성하고 이 스냅샷의 인덱스를 저장합니다. 파일이 수정되지 않으면 Git은 해당 파일을 다시 저장하지 않고, 이전에 저장된 파일을 가리키는 링크만 유지하여 효율성을 크게 향상시킵니다.

image

image

(이미지 출처: IOSG Ventures)

실제로 IPFS에서도 Git을 사용하여 동적 데이터를 저장할 수 있습니다. 그러나 개발자는 Git에서 새로운 해시-로그 파일을 생성하여 매번 Git 로그와 IPFS 해시 업데이트의 매핑 테이블을 기록해야 하며, 수동으로 동기화를 유지하거나 IPNS 명명 시스템을 사용하여 동적 업데이트를 유지해야 합니다. 이러한 작업은 시간과 노력이 많이 들고 효율성이 낮습니다.

Ceramic은 "겹쳐 쌓는 로그" 방식을 사용하여 StreamID가 내용에 따라 변경되지 않으므로 수정된 버전이나 이전 버전으로 되돌리는 작업을 매우 쉽게 수행할 수 있습니다. 해시 값을 자주 변경할 필요가 없습니다. 또한, Ceramic은 다른 저장 프로토콜 위에 새로운 레이어를 구축하여 조합성이 매우 높습니다.

사용자는 데이터를 저장할 위치를 자유롭게 선택할 수 있으며, 탈중앙화된 Arweave, Filecoin, 중앙화된 AWS 등 모두 Ceramic을 통해 자동화된 버전 관리를 구현할 수 있습니다. 그리고 각 Stream은 데이터를 저장하는 것이 아니라 로그만 저장하므로, Ceramic은 데이터 상태를 전역적으로 동기화하기 위한 글로벌 원장을 필요로 하지 않습니다. 따라서 Ceramic의 수평적 확장성은 매우 높습니다.

image

(이미지 출처: IOSG Ventures)

편리한 인증 및 접근 제어

버전 관리의 장점 외에도, Ceramic은 매우 편리한 인증 및 접근 제어를 제공합니다. 새로운 데이터가 Stream에 추가될 때, 수정자는 신원을 확인해야 하며, 그렇지 않으면 데이터를 수정할 수 없습니다. 서로 다른 Stream은 서로 다른 인증 메커니즘을 요구할 수 있으며, Ceramic은 매우 강력한 내장 인증 메커니즘인 DID를 제공합니다.

예를 들어, 최종 사용자에게 적합한 3ID DID, 개발자에게 적합한 key DID, NFT로 인증할 수 있는 NFT DID, 다중 인증이 필요한 DAO 등에 적합한 Safe DID 등이 있어 데이터의 안전성을 보장합니다. 동시에 Ceramic은 Stream에 프로그래밍 가능한 논리를 부여하여, 예를 들어 Stream A의 상태가 변경되면 Stream B에 접근하고 업그레이드할 수 있도록 합니다.

Ceramic의 출현은 Web 3.0 구축에 큰 힘을 실어주었습니다. 현재 많은 DID 및 Web 3.0 소셜 플랫폼 프로젝트가 Ceramic 위에서 개발되고 있습니다. 주목할 만한 프로젝트로는 Social Graph Middleware 플랫폼 CyberConnect, Web 3.0 Twitter인 Orbis, 즉시 통신 플랫폼 The Convo Space 등이 있습니다. 우리는 Ceramic의 인프라가 애플리케이션 계층에 새로운 가능성을 가져다주기를 기대합니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축