[유튜브번역] 블럭체인의 단짝.IPFS에 대한 간단 설명.18.06.07

in #coinkorea6 years ago (edited)

오늘날 인터넷은 모두의 삶에 있어서 아주 중요한 도구로서 자리잡았습니다.
우리는 인터넷을 통해 미디어들을 접하고,친구들이나 동료들과 교감을 나누고,지식을 배우거나,재테크를 하는등 여러곳에 이용합니다.
하지만 우리가 사용하는 웹은 문제가 하나 있습니다.
정보들이 중앙집중화된 구조속에 있다는 거죠.
모든 정보들은 거대한 서버팜에 저장되어 있습니다.바로 이런곳이죠.
그리고 대게 하나의 회사에 의해서 관리되고 있습니다.
여러분은 혹시라도 유튜브나 위키피디아 같은 사이트가 오프라인된다면 어떤일이 벌어질지 상상해 보신적 있나요?

귀여운 고양이 영상을 본다거나,위키피디아 페이지들을 둘러보면서 시간을 보낼수 없게 되겠죠.

그리고 이 중앙집중화된 구조는 또 다른 문제를 불러옵니다.바로 검열이죠.
컨텐츠들이 몇개의 서버들에 의해서 호스팅 되기 때문에,정부측은 손쉽게 접속을 차단할 수 있습니다.
터키 정부는 "국가안보에 대한 위협"을 이유로 들어서 인터넷서비스 업체들로 하여금 위키피디아에 대한 접속을 차단하도록 명령한 바 있습니다.

웹의 중앙집중화가 좋지 않다는 점은 이제 아실겁니다.
그런데 왜 우리는 중앙집중화된 모델이 계속 유지중일까요?
왜냐면 우리가 웹에 가지고 있는 기대치를 충족시키기 위해서 입니다.
우리는 웹페이지나,이미지,영상들이 바로 즉시 로딩이 되길 원합니다.
그리고 높은 화질로 즐기기를 원합니다.

중앙집중화된 서버를 구축함으로서 회사들은 컨텐츠들이 얼마나 빨리 전송할 수 있는지 완벽하게 제어할수 있게 됩니다.

이 모델을 계속 사용하고 있는 또다른 이유는,충분한 속도와 성능을 가진 대안이 없기 때문입니다.

하지만 어쩌면 변화가 일어날지도 모릅니다.
IPFS,바로 행성간 파일 시스템Interplanetary file system.입니다.

시스템이 가진 야망을 보여주는 멋진 이름이죠.

이 시스템들은 웹을 완벽하게 분산화하는것을 목표로 합니다.
웹을 비트토렌트와 비슷한 방식의 P2P 네트워크로 운영함으로서 이 목표를 이루려 합니다.

IPFS가 어떤 방식으로 이 목표를 이뤄내려하는지 보기전에
일단 현재 우리가 어떤 방식으로 웹상의 컨텐츠들에 접속하는지 이해할 필요가 있습니다.

당신은 인터넷에서 사진을 다운받으려 할 경우를 예로 들어 봅시다.
당신은 당신의 컴퓨터에게 어떤 장소에서 이 사진을 찾을수 있는지 정확하게 말해줘야 합니다.
여기서 장소라는건 IP주소나 도메인주소를 말합니다.
이것들을 "위치기반" 주소지정 이라고 합니다.

당신이 당신의 컴퓨터에게 이 장소를 말해주더라도 이 장소가 접속이 안되는 상태라면,즉 서버가 오프라인상태라면 사진을 다운받을수가 없습니다.

서버가 오프라인되기전 이 사진을 받아간 사람들이 있고,그 사람들이 여전히 사본을 소유하고 있더라도 여러분의 컴퓨터가 이 사진을 다운받을수는 없습니다.그 사람들의 주소를 모르니까요.

이 점을 개선하기 위해 IPFS는 "위치기반"주소지정 방식대신 "컨텐츠기반"주소지정 방식을 택했습니다.

/어디에서/ 사진을 찾을수 있는지 말해주는 대신
/어떠한/ 사진을 찾을 것인지를 말해주는 방식입니다.

이게 어떻게 가능할까요?

모든 파일들은 고유한 해시값을 가지고 있습니다.일종의 지문이라고 할수있죠.
어떤 파일을 다운로드 받으려고 할 경우,당신은 네트워크에게 "이 해시값에 맞는 파일을 누가 가지고 있는가?"라고 물어보게 됩니다.그리고 IPFS네트워크내에 있는 누군가가 그 파일을 제공해 주게 되는 겁니다.

여기서 문득,이 사람이 그 파일에 뭔가 이상한 짓을 하지 않았다는걸 어떻게 확인하지?라는 생각이 드실겁니다.

여러분은 파일을 요청하는데 해시를 사용하였기에,당신이 받는 파일을 식별해 낼수 있습니다.
당신은 특정 해시값을 지닌 파일을 요청하였고,그것을 전송 받기전 해시값을 체크하게 됩니다.그 해시값이 일치되는 파일만을 다운로드 받으므로 보안성을 확보할 수 있습니다.

컨텐츠를 식별하는 용도로 해시값을 이용함으로 얻을수 있는 또다른 장점은 중복을 방지한다는 것입니다.여러사람들이 IPFS네트워크에 같은 파일을 제출하더라도,오직 하나만의 해시값만이 생성되기에 네트워크를 효율성을 지니게 됩니다.

머리아픈 이야기는 여기까지하죠.
이제 IPFS가 어떻게 파일들을 저장하고,사용자들은 어떤식으로 그 파일에 접근하는지에 대해서 이야기 해봅시다.

파일들은 IPFS개체에 저장됩니다.그리고 한개체당 256kb까지 저장이 가능합니다.
그리고 다른 IPFS개체로의 링크를 담기게 할수도 있습니다.

“Hello World”라는 텍스트 파일은 아주 작은 용량이므로 하나의 IPFS개체에 담을수 있죠.
하지만 이미지나 영상파일 같은 256kb보다 큰 파일들은 어떻게 처리될까요?

그런 파일들은 256kb로 잘게 쪼개져서 여러개의 IPFS개체에 저장이 됩니다.
그리고 시스템내에서 데이터는 담기지 않은체 이 쪼개진 개체들의 링크들만을 담은 IPFS개체가 만들어집니다.

IPFS의 아주 간단하면서도 강력한 데이터 구조를 가지고 있습니다.
우리가 흔히 접하는 파일 디렉토리 같은 구조로 사용이 가능합니다.

파일들이 간단한 디렉토리 구조에 담겨있는 모습입니다.
각 파일과 디렉토리에 해당하는 IPFS개체들을 만들어 냄으로서 이 구조들을 IPFS개체에 담는것도 가능합니다.

이게 전부가 아닙니다!
IPFS는 컨텐츠 기반 주소지정을 사용하기 때문에,한번 네트워크에 추가되면 변경이 불가능합니다.블럭체인과 같은 불변성을 가지고 있는 거죠.

하지만 변경을 하고 싶을 경우에는 어떻게 해야 될까요?
IPFS는 파일에 대해서 버젼을 매길수 있는 기능을 지원합니다.

예를들어 당신이 중요한 문서를 작업중이고,이것을 IPFS를 통해 공유하고 싶어한다고 해봅시다.당신이 IPFS에 공유를 하게되면 IPFS는 새로운 “커밋 개체”를 생성합니다.
이 개체는 아주 기본적인 개체로서,IPFS에 어떤 커밋 이뤄졌는지와 해당 파일이 담긴 IPFS개체로의 링크만을 담고 있습니다.

만약 시간이 흐른후 이 파일을 업데이트하고 싶다면,업데이트된 파일을 IPFS네트워크에 추가 시키기만 하면 됩니다.그러면 소프트웨어는 새로운 커밋 개체를 생성합니다.그리고 이 새로운 커밋개체는 이전에 제출된 커밋개체와 링크를 형성하게 됩니다.이 절차는 계속해서 반본적으로 행할수 있습니다.
IPFS는 당신의 파일은 물론 해당파일의 업데이트 기록에 대해서도 네트워크상의 다른 노드들이 접근할수 있도록 해줍니다.
굉장히 유용한 기능이죠.

전부 좋아보이긴 하지만 이 시스템 역시도 단점이라던가 한계점 같은것은 것이 존재합니다.

가장 큰 문제점은 IPFS네트워크상에서 어떻게 해당파일을
계속 유지해줄것인가 입니다.
네트워크상의 모든 노드들이 다운로드 한 파일의 캐시를 유지해 줌으로서
다른 사람들이 해당 파일을 원할때 파일이 공유될수 있도록 도움을 줍니다.
하지만 특정파일이 4개의 노드들로부터 호스트중이라고 해봅시다.
그런데 이 4개의 노드가 오프라인이 되어버린다면 파일은 다운로드할수
없어지고,아무도 그 파일의 사본을 가질수 없게 됩니다.
시더가 없는 토렌트와 비슷한 상태라고 할수 있습니다.
이 문제점을 해결하기 위한 방안으로 2가지가 제시되어 있습니다.
사람들이 파일을 저장하고 계속 유지하는것에 대해서
인센티브를 지불하는 방안과,좀 더 적극적으로 파일들을 배포함으로서 네트워크상에 항상 특정수 이상의 사본들이 존재하도록 하는 방안입니다.

바로 파일코인이 이 것을 목표로 하고 있습니다.
파일코인은 IPFS를 만든 그룹과 같은 그룹에서 만든 코인입니다.

파일코인을 정의하자면 저장공간의 분산화 시장을 만드는것을 목적으로 만들어진 IPFS를 기반 블럭체인입니다.

여러분에게 여분의 저장공간이 있다면,그 공간을 다른이들에게 임대함으로서 수익을 올릴수 있는 절차를 가지고 있습니다.
파일코인은 노드들에게 인센티브로 지불하기 위하여 만들어 졌습니다.
노드들은 가능한한 파일들을 온라인 상태로 유지하여야지 보상을 받을수 있습니다.
그리고 파일 코인 시스템은 파일들을 다수의 노드들에 복제시켜서 다운로드불가 상태가 되지 않도록 만듭니다.

이상이 파일코인이 어떠한 방식으로 IPFS가 가진 문제점을 풀려고 하는지에 대한 간단한 요약이었습니다.
파일코인에 대해서 후속비디어로 더 다뤄주길 바라신다면 댓글을 남겨 주시길 바랍니다.

마지막 둘러볼 사안은 IPFS가 어떻게 활용가능한지에 대해서 입니다.
영상 초반부에 터키정부가 위키피디아에 대한 접속을 차단한 사례를 이야기한 바 있습니다.
IPFS측 사람들은 이에 대응하여 위키피디아 터키 버젼의 사본을 IPFS에 넣어버렸습니다.

IPFS는 분산배포되어 있기에 정부가 블럭할수 있는 중앙서버같은것이 존재하지 않으니까요.

또 다른 멋진 어플리케이션으로는 Dtube가 있습니다.
기본적으로 유튜브같은 사이트지만 대신에 IPFS를 이용하여 완전하게 분산배포되어 있습니다.누구나 비디오를 게재할수 있으며,누구나 네트워크에 도움을 줄수 있습니다.
아주 영리한 방식이죠

이쯤에서 왜 IPFS가 행성간 파일시스템 Interplanetary filesystem이란 이름을 사용하는지 궁금하지 않으신가요?

설마 여러 행성들 사이에 파일공유를 위해서 만들어진 것인가요?
일단 우리가 화성에 기지를 가지고 있다고 가정해 봅시다.
화성과 지구간의 소통은 꽤나 어려운 절차입니다.

두 행성간의 위치에 따라서 4분에서 24분까지 시차가 발생합니다.
일단 최상의 시나리오를 기반으로 이야기 해 봅시다.당신이 화성에 있고,당신은 노트북을 열어서 지구에 대한 정보가 나와있는 위키피디아 페이지를 요청했습니다.너무 오래 떠나있다보니 지구에 대해서 까먹은게 있기 떄문이죠.
위키피디아에게 한 요청은 4분을 거쳐서 지구에 도착하고,인터넷을 통해 위키피디아 서버에
보내집니다.위키피디아 서버의 응답시간은 수 밀리초에 불과하지만
그 응답은 다시 4분을 시간을 거쳐서 화성까지 가야됩니다.

즉 인터넷 페이지하나를 방문하는데 상태가 좋은날은 8분이 걸리고
상태가 나쁜날은 48분이 걸리게 됩니다.

IPFS를 이용하며 인터넷의 상당부분의 캐시를 화성에 보관하는 것이 가능합니다.
즉 당신이 다운로드 하고 싶은 페이지를 이전에 누군가 요청한 적이 있다면
화성에 설치된 노드에 직접 접속함으로서 지구상과 다를바 없는 속도로
로딩할수 있게 되는 겁니다.

다시 말하자면 IPFS는 여러 행성들에 걸쳐서 인터넷의 정보들을 분산배포하는 용도로 사용될 수도 있습니다.
IPFS는 인터넷의 진정한 탈중앙화로 나아갈 수 있는 야심찬 프로젝트 입니다.
그리고 이제 작동방식에 대해서 이해가 되셨을 겁니다

이번영상과 같은 영상들을 더 보길 원하신다면 구독버튼을 눌러주십시오.
시청해주시는 분들께는 항상 감사드리고 있습니다.

Sort:  

파일코인에 대한정보 감사합니다

저도 어떻게 한번 참가해볼까 생각중에 있습니다.

파일에 대해 관심이 많이 생기네요.감사합니다

저도 파일코인에는 좀 기대를 걸고 있는중입니다.

항상 잘보고 있습니다. 쿨제로님 감사합니다~~^^

항상 응원의 댓글 감사드립니다.

IPFS 에 대한 이해도가 높아졌습니다. 감사합니다.

도움이 되었다니 기쁘군요.저도 번역하면서 이해도가 더 올라간 면이 있습니다.
같이 배워나가니 좋네요

이와 관련해서도 흥미로운 프로젝트들이 많이 나오고 있죠..!ㅎㅎ 좋은 설명 감사합니다.

어떻게 한번 참가해볼려고 이리저리 둘러보고 있는중입니다.ㅎ

짱짱맨 호출에 출동했습니다!!

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64107.21
ETH 3073.84
USDT 1.00
SBD 3.88