https://www.lgcns.com/blog/it-trend/31193/
위 기사를 읽고 정리하는 글입니다
이전에 블록체인과 NFT에 대해 간단히 공부하고 블로그 글을 썼다.
블록체인, NFT 복습
블록체인은 연쇄적으로 연결된 블록형태로 저장되는 디지털 거래장부라고 생각할 수 있다. 은행과 같은 중앙기관 없이 동작하는 탈중앙화 시스템인 것이 특징이며, 삭제 및 수정이 거의 불가능하고 "합의"과정으로 시스템이 유지된다.
NFT는 Non-fungible token의 줄임말로, 대체 불가능한 토큰이라는 뜻이다. 블록체인을 기반으로 구현할 수 있으며, 디지털 소유권 인증서 혹은 입장권으로 사용될 수 있다. 미술품을 NFT 토큰화하여 소유권을 얻었던 예시를 저번에 살펴봤다.
분산형 웹이 필요한 이유
이미지, 영상파일과 같은 데이터는 특정 서버에 저장되어 있는 경우가 많은데, 이 데이터는 특정 기업의 서버일 수도 있고, 클라우드 형태일 수도 있다.
하지만 중앙집중식 서버에 저장하는 방식은 데이터에 대한 검열문제가 발생하거나 서버가 공격받을 시 데이터가 날아갈 수도 있다. AWS나 구글클라우드를 사용해도 되겠지만, 이 또한 데이터가 날아갈 위험이 있고 사용하는 만큼 비용을 지불해야하는 단점도 있다. 최근에는 이러한 기존 데이터 저장 구조를 바꾸고 분산형 웹을 구현하기 위한 움직임이 진행되고 있다고 한다!
인터넷(HTTP)의 중앙화 구조
IPFS가 뭔지 알아보기 전, 인터넷의 특징을 하나 알아보겠다!
인터넷의 중요한 특징 중 하나는 중앙화 구조이다. 일반적으로 데이터는 특정 기업이나 주체가 관리하는 서버에 보관된다.
인터넷의 중앙화 구조 장점
- 이 구조는 데이터를 빠르게 전달한다
- 가장 많이 사용되는 HTTP 방식은 URL을 입력하면 위치 기반으로 데이터에 접근할 수 있음. HTTP는 데이터를 관리하기 편하고 용량을 늘리는 등 작업이 수월함
인터넷의 중앙화 구조 단점
- 보안이나 효율성 측면에서 단점이 있음
- 데이터에 대한 검열도 데이터를 수집, 저장한 주체가 임의로 하게 됨
- HTTP는 백본(Backbone) 네트워크의 의존도가 높고 비효율적이며 공격의 대상이 되기 쉬움
- 백본 네트워크: 연결되어있는 소형 회선들로부터 데이터를 수집해 빠르게 전송할 수 있는 대규모 전송회선
- HTTP 데이터 서버가 공격을 받아 사용할 수 없게 되거나, 서버 내 데이터가 모두 삭제되는 상황이 발생한다면 큰 일임
웹 시대가 발전하면서 웹과 서버에서 다루어야하는 데이터의 양과 저장비용도 상당히 증가했다. 비디오, 오디오 등 사용자가 만들어내는 데이터의 양은 상상을 초월한다. 고화질의 비디오, 대규모 오디오 스트리밍의 경우 전송 및 유지 관리가 쉽지않다.
이런 인터넷을 대체할 누구나 언제든지 쉽게 데이터를 접근할 수 있는, 중앙화 방식이 아닌 웹이 있을까?
다양한 문제점이 있는 인터넷 구조의 변화를 추구하는 새로운 웹 시대 데이터 저장&제공 방식으로 IPFS가 주목받고 있다.
IPFS란? (InterPlanetary File System, 분산형 파일시스템)
(번역기를 돌려 직역해보면 "행성간"파일 시스템이라고 한다)
IPFS(Interplanetary file system)는 데이터를 수많은 노드에 호스팅하고 백업할 수 있는 P2P 분산 네트워크이다. IPFS 네트워크에는 수많은 공간에 데이터가 분산되고 복제, 저장된다. 덕분에 한 곳의 데이터가 삭제되더라도 언제나 같은 데이터에 접근할 수 있다.
IPFS는 2014는 프로토콜 랩스를 창업한 프로그래머 후안 베넷(Juan Benet)이 고안한 아이디어이다. 그는 기존의 비트토렌트, 냅스터와 같은 프로토콜을 기반으로 HTTP를 대체할 수 있는 아이디어를 IPFS에 적용했다.
IPFS의 저장방식
- IPFS에 저장된 데이터는 작게 분할되어 여러 컴퓨터와 저장 공간 등에 분산된다. 이 때 사용자가 데이터를 찾을 수 있도록 해시(Hash)가 할당된다.
- 수많은 컴퓨터의 여러 폴더에 데이터를 잘게 조각내 보관하는 구조
- 각 데이터에는 CID(Contnets ID)가 부여된다. 이 아이디로 동일한 파일 여부를 구분이 가능하고, 데이터 요청 시 이 아이디를 활용해 여러 데이터 공간에서 전송할 수 있는 데이터를 가져온다
- 분산된 데이터에는 부여된 CID, 폴더 자체의 CID도 있어 잘게 조각난 데이터를 빠르게 구분 및 합치기가 가능하다
- IPFS에서 저장된 데이터를 다시 불러올 때는 기존방식과 차이점이 있다.
- 기존에는 '찾을 위치'를 시스템에 전달하는 방식으로 URL 혹은 데이터 서버가 있는 IP주소를 통해 데이터를 찾았다
- 반면 IPFS는 '찾고 있는 대상'을 시스템에 전달한다. 데이터나 콘텐츠와 같이 찾고있는 대상 자체가 주소로 사용되는 것이다
- IPFS에서 시스템이 요청을 받으면 노드가 응답을 시작하는 네트워크로 요청을 보낸다. 그러면 네트워크 전체에서 사용 가능한 데이터를 전달할 수 있는 노드의 응답을 받게된다.
- IPFS는 블록체인에서 많이 채택해 잘 알려진 'SHA-256' 해시를 사용해 데이터를 보호하고, 데이터에 표식을 붙인다.
이러한 구조는 IPFS가 DAG(Directed Acyclic Graph) 를 활용하기 때문에 가능한 것이다.
DAG(Directed Acyclic Graph)
- DAG는 방향성 비순환 그래프라고 하며, 다양한 분산 시스템에서 사용하는 데이터 구조의 한 가지 형태이다
- 이를 활용해 IPFS는 데이터 간 링크를 활성화하고 이동시킬 수 있다
- IPFS는 머클 DAG 구조를 사용한다
- 머클 DAG 구조: 각 노드는 보유한 내용을 나타내는 고유한 해시를 가지고 있음. 해시를 통해 개체나 노드를 식별하고, 이를 통해 데이터가 있는 장소를 나타낼 수도 있음
- IPFS에서 DAG는 효율적인 검색이 가능하도록 설계됨
- 데이터의 개별적인 변경 사항이 발생하더라도 이를 추적해 변경 내역을 업데이트할 수 있음
- 특정 웹 사이트 과거 버전, 업데이트가 일어난 모든 기록 보존가능
- 데이터의 각 버전과 최종 버전을 연결하기 때문에 선형적 추적 가능
IPFS가 중요한 이유
- 지금까지 데이터는 제3자의 손에 넘어감
- 페이스북, 구글 등은 개인 사용자 데이터를 수집하고 광고주 등에게 마음대로 판매함
- 사용자가 생성한 데이터를 거대 플랫폼이나 주체가 마음대로 검열, 제재를 가하거나 데이터를 삭제하기도 함
- 데이터를 만든 주체가 아닌 3자가 검열 권한을 가짐
- IPFS가 활성화될수록 특정 기업에 종속되지 않고 데이터의 저장이나 변경에 대한 주권을 사용자가 찾아올 수 있음
- 또한 NFT의 원본 데이터를 저장하고 백업하기 위해 IPFS 분산 네트워크에 NFT를 보관할 수 있다. 저장공간이 해킹당하거나 데이터가 삭제되면 NFT의 가치에 심각한 훼손이 발생하는 문제를 IPFS를 사용함으로써 방지할 수 있다.
IPFS 사용법/ 예시
웹브라우저에서 IPFS 노드와 바로 연결하는 법
- 브레이브(Brave), 오페리(Opera)와 같은 웹 브라우저는 IPFS 링크 기능을 지원함
- IPFS 링크를 입력하면 바로 사이트, 파일로 이동 가능
- 크롬이나 엣지같은 웹 브라우저는 https://ipfs.io 나 https://cloudflare-ipfs.com 와 같은 공용 게이트웨이를 사용하여 IPFS 접속 가능
- 크롬, 엣지, 파이어폭스 등은 IPFS Companion 이라는 확장프로그램으로 사용 가능
IPFS 사용 예시
- NFT 마켓 플레이스인 오픈씨와 블록체인 메인넷인 솔라나는 데이터 저장에 알위브(Arweave)라는 IPFS를 활용하고 있음
- IPFS를 만든 후안 베넷과 그의 회사는 파일코인이라는 프로젝트를 통해 P2P 저장 공간을 제공하는 대신 암호화폐로 보상하는 시스템 만드는 중
- 블록체인 기반 음악 스트리밍 서비스 오디우스(Audius)도 음악의 자유로운 표현과 배포를 위해 검열하지 않는 IPFS를 핵심 구성 요소로 사용한다
IPFS의 장점
- IPFS에서 저장공간은 완전히 분산되어 있고, 높은 확장성과 효율성을 보여줌 -> 기존 구조의 단점 보완 가능
- IPFS는 데이터 전송 속도를 높이고 네트워크 대역폭을 크게 절약할 수 있다
- 유휴 데이터 저장공간을 활용하므로, 저장 비용이 감소한다
- 중앙화 클라우드 저장 공간과 비교하면 암호화 기술, 블록체인과 결합을 통해 더욱 안전하게 데이터를 보관할 수 있다
- 항상 데이터에 접근해 불러올 수 있고, 보안 관련 공격에도 강하다
- 소스코드가 공개되어 있어 무료 소프트웨어 라이선스에 따라 사용가능
물론 탄생한지 10년도 되지 않은 IPFS가 장점만 있는 건 아니다. 이런 유형의 시스템에 대한 경험이 없는 사용자는 IPFS를 사용하기 복잡하다고 느낄 수 있고, URL이 아닌 해시구조가 익숙하지 않을 수 있다. 또한 IPFS를 활용하기 위해서는 노드 다운로드와 운영과 같은 운영상 준비도 필요하다.
하지만 웹 3.0이 주목받으면서 IPFS의 문제점은 점차 개선될 것으로 보인다. 도메인 주소를 쉬운 URL형태로 제공하는 언스타퍼블 도메인 서비스도 생겨났고, 많은 웹브라우저에서 이를 지원하기 시작했다고 한다.
요약
- IPFS는 HTTP를 대신할 분산형 웹
- HTTP의 중앙화 방식의 단점을 해결함
- 분산되어 저장되고, 삭제나 수정 사항이 모두 저장됨
최근 블록체인, NFT 등을 공부하면서 분산구조를 많이 접했는데 너무 신기했다. 많은 인터넷 사용자가 있기 때문에 이를 기반으로 탄생한 새로운 시각의 시스템이라고 느껴졌다. 특히 페이스북과 같은 중앙 시스템이 개인정보를 수집하는 것에 대항할 수단이 될 수 있는게 너무 마음에 들었다. 앞으로도 더욱 발전하여 기존의 웹을 대체할 수 있을 거라고 기대한다!
https://www.tokenpost.kr/article-40266
https://www.lgcns.com/blog/it-trend/31193/
'블록체인' 카테고리의 다른 글
[블록체인] DID란? (Decentralized Identifier, 탈중앙화 신원증명) (0) | 2023.12.02 |
---|---|
[블록체인] 블록체인이란? (0) | 2023.09.15 |