EMP와 IPFS (데이터 탈중앙화 웹 프로토콜)

안녕하세요. EMP 팀입니다!
오늘은 블록체인의 블록 용량을 극복하기 위해 EMP가 활용하는 IPFS에 대해 소개하고자 합니다.


블록체인에서의 블록 저장의 한계

블록체인에서의 모든 데이터는 블록(Block)에 저장합니다. 여러 노드의 블록에 데이터를 분산 저장함으로써 데이터의 신뢰성을 확보 할 수 있죠.

EMP도 데이터들을 블록에 저장하는 미디어 블록체인 플랫폼입니다. 블록체인으로 구성되어 있기 때문에 다양한 미디어 컨텐츠 데이터들을 모두 블록체인 안에 저장해야 합니다.

하지만 하나의 블록은 저장할 수 있는 용량에 제한이 있습니다. 최초 블록체인 기술이 적용된 비트코인에서의 블록은 DDos 공격 등에 대비하여 1MB의 용량 제한을 두었습니다. 다른 플랫폼에서도 처리 속도 저하 등의 문제를 감안하여 블록의 크기를 무한정 늘리지는 않습니다.

그러면 다양한 미디어 자료와 대용량 데이터를 어떻게 블록에 저장할 수 있을까요?

IPFS (Inter Planetary File System)

HTTP와 IPFS from MAXCDN

사진, 글 그리고 영상 등과 같은 객체들을 저장하거나 조회를 할 때 특정 서버를 이용하는 것이 아닌 IPFS라는 것을 이용하여 모든 데이터를 파일의 해쉬(Hash)로 조회할 수 있습니다.

기본 아이디어는 브라우저가 특정 파일에 접근하고 싶을 때, 전체 네트워크에 “이런 해쉬를 가진 파일을 가진 사람 있습니까?” 라고 물으면 다른 IPFS 노드가 파일을 반환하는 것입니다.

IPFS는 HTTP 계층을 사용합니다. 하지만 IPFS가 HTTP와 구별되는 가장 큰 특징은 데이터에 접근하는 방식입니다. 기존 HTTP는 데이터가 저장된 위치(Location)로 접근했다면, IPFS는 특정 데이터가 가지고 있는 내용(Contents)으로 접근합니다. 대상 컨텐츠의 내용을 찾을 때 HTTP는 서버의 주소를 사용하지만, IPFS는 파일의 해쉬를 이용합니다. 전체 네트워크에 요청하기 때문에, IPFS가 HTTP에 비해 빠른 라우팅이 가능합니다.

이런 IPFS를 이용하여 대용량 데이터를 별도 보관, 탐색할 수 있는 블록체인을 구성할 수 있습니다.

예를 들어 A와 B가 내용이 동일한 파일을 각각 가지고 있다고 했을 때, HTTP 방식에서 다운로드를 위해서는 A, B 각각 주소에 접근해야 합니다. 하지만 IPFS는 A와 B의 파일을 동일한 것으로 간주하며, 다른 사람이 다운로드를 요청했을 때, A와 B의 파일에 동시에 접근해 각각의 파일을 동시에 다운로드 받습니다. 이 때 다운로드 받는 파일을 작은 블록들로 나누어 블록 조각들을 A, B로부터 나눠서 받게 될 수 있는 구조를 가지고 있습니다.

쉽게 생각하면 토렌트(Torrent)와 비슷한 방식이라고 생각하면 됩니다. 토렌트도 새로운 데이터를 다운로드 받고자 하면, 해당 파일을 가지고 있는 여러 사람들에게 접근하여 해당 데이터를 사람들로부터 다운 받게 됩니다. 그리고 데이터를 나누어서, 각각의 사용자들로부터 나누어진 이 데이터를 다운 받습니다.

이와 같이 IPFS가 같은 내용을 담은 데이터에 사람들이 동시에 접근할 수 있도록 만들 수 있었던 것은 데이터 내용을 기반으로 데이터별로 해쉬를 부여하기 때문입니다. 즉, 동일한 내용의 데이터는 동일한 해쉬값을 갖게 되며, 우리가 원하는 데이터의 해쉬값을 입력하게 되면 해쉬값에 해당하는 데이터가 우리에게 보여지게 됩니다.

IPFS의 동작원리 from blog

EMP도 이런 IPFS의 원리를 이용하여 블록에는 해시값만을 저장하고, 별도의 노드에 대용량의 데이터를 저장하는 구조를 통해, 대용량의 미디어와 데이터를 가지면서도 서비스 제공에 문제가 없도록 합니다.

IPFS의 더 많은 정보가 필요하신가요?

IPFS는 오픈소스로 https://docs.ipfs.io/ 를 참조하여 설치 해보거나 다양한 문서를 참조해 볼 수 있습니다. 블록 저장 용량의 한계를 생각한다면 IPFS 를 고려해 보시면 좋겠습니다.


추가적으로 EMP에 관해 궁금하신 점은 텔레그램채널을 통하여 EMP팀을 찾아주시기 바랍니다.
추후 업데이트 및 진행상황을 꾸준히 커뮤니티에 전달드리겠습니다.
많은 관심과 참여 부탁 드립니다.
감사합니다.

EMP(Every Media blockchain Platform)는 모두를 위한 미디어 블록체인 플랫폼으로, 콘텐츠의 생산자와 사용자에게 활동 가치에 대한 정당한 보상을 주는 플랫폼입니다.

공식 웹사이트 : http://everymediaplatform.io/
공식 텔레그램 : t.me/everymediaplatform
공식 페이스북 : https://www.facebook.com/official.embp/
공식 트위터 : https://twitter.com/emp_official_tw
한글 백서 & 원페이저 : 공식 웹사이트에서 다운로드

Every Media blockchain Platform

Written by

EMP is a new media ecological public blockchain for unbundling BAADD media. (Official Web site is only www.everymediaplatform.io)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade