페이지상단으로이동

A Beginner’s Guide to IPFS(IPFS 초보자 가이드, 한글 번역)

    • 강성경 기자
    • |
    • 입력 2020-07-03 11:34
    • |
    • 수정 2020-07-03 11:34

A Beginner’s Guide to IPFS(IPFS 초보자 가이드, 한글 번역)

▲A Beginner’s Guide to IPFS(IPFS 초보자 가이드, 한글 번역)

이전 글에서 우리는 공유 경제의 미래와 그것을 형성하는 데 중심이 될 수 있는 흥미로운 혁신에 대해 논의했습니다. 언급 된 주요 기술 중 하나는 IPFS (Interplanetary File System)입니다. P2P (Peer-toPeer) 파일 공유 시스템으로, 전 세계에 걸쳐 정보가 배포되는 방식을 근본적으로 변경하는 것을 목표로 합니다. IPFS 는 통신 프로토콜과 분산 시스템의 여러 혁신으로 구성되어 다른 시스템과 달리 파일 시스템을 생성합니다. 따라서 IPFS 가 달성하려는 노력의 폭과 깊이를 이해하려면 이를 가능하게 하는 기술 혁신을 이해하는 것이 중요합니다.

통신 프로토콜 및 분산 시스템

두 사람이 정보를 교환하려면 정보 전송 방법 및 시기를 정의하는 공통 규칙 세트가 필요합니다. 이 규칙은 일반적으로 통신 프로토콜로 알려져 있지만, 꽤 번거롭기 때문에 간단히 언어라고 부릅니다.
당신이 모국어를 사용하지 않는 외국에 가본 적이 있다면 아마도 통신 프로토콜의 실패 (또는 부족)를 경험했을 것입니다. 이것은 컴퓨터의 경우입니다. 그들은 서로 통신 할 수 없었으며 컴퓨팅을위한 최초의 통신 프로토콜이 발명 된 1980 년대 초까지 격리 된 계산 장치로 존재했습니다.

"프로토콜은 어떤 프로그래밍 언어가 계산에 사용되는지 통신하는 것입니다"

컴퓨터에서 통신 프로토콜은 일반적으로 여러 계층의 번들 (프로토콜 제품 군이라고 함)에 있습니다.
예를 들어, 인터넷 프로토콜 제품 군은 4 개의 계층으로 구성되며 각 계층은 특정 기능을 담당합니다.
통신 프로토콜 외에도 컴퓨터 간 상호 연결의 기본 구조는 이해해야 할 중요한 관계입니다. 이것을 시스템 아키텍처라고 합니다. 몇 가지가 존재하지만 우리와 관련된 두 가지 유형은 @클라이언트-서버 및 @피어 투 피어 네트워크 입니다.
인터넷은 인터넷 프로토콜 제품 군에 의존하는 클라이언트-서버 관계에 의해 지배됩니다. 이 중 HTTP(Hypertext Transfer Protocol )가 통신의 기초입니다.
데이터는 중앙 서버에 저장되며 위치 기반 주소 지정을 통해 액세스 됩니다. 이를 통해 데이터를 보다 쉽게 배포, 관리, 보호하고 서버와 클라이언트의 용량을 확장 할 수 있습니다. 그러나 보안, 개인 정보 보호 및 효율성의 영역에는 많은 약점이 있습니다. 서버 제어는 데이터 제어로 해석됩니다. 즉, 서버를제어하는 모든 당사자가 귀하의 데이터에 액세스, 변경 및 제거 할 수 있습니다. 서버 또는 악의적 인해커에 대한 정당한 권한을 가진 엔터티일 수 있습니다. 위치 기반 주소 지정에서 데이터는 내용이 아닌 위치에 의해 식별됩니다. 이 제한은 동일한 데이터를 더 가까운 곳에서 사용할 수 있더라도 특정 위치로 이동하여 데이터에 액세스해야한다는 것을 의미합니다. 데이터가 변경되었는지 알 수 있는 방법도 없습니다.
그러나 클라이언트-서버 모델과 HTTP 는 대부분의 역사에서 인터넷을 매우 안정적으로 제공했습니다.
이는 HTTP 웹이 텍스트 및 이미지와 같은 작은 파일을 이동하는 데 매우 효과적이기 때문입니다. 웹의 처음 20 년 동안, 평균 웹 페이지의 크기는 ~ 2 킬로바이트에서 ~ 2 메가 바이트로만 증가했습니다.

HTTP 는 웹 사이트를 로드하는 데는 좋지만 오디오 및 비디오 파일과 같은 대량의 데이터를 전송하도록 설계되지 않았습니다. 이러한 제약으로 인해 Napster (음악) 및 BitTorrent (영화 및 거의 모든 것)와 같은 대체 파일 공유 시스템의 등장과 주류 성공이 가능했습니다.
온 디맨드 HD 비디오 스트리밍 및 빅 데이터가 유비쿼터스 화되는 2018 년으로 빠르게 넘어갑니다.
우리는 점점 더 많은 데이터를 생산 / 소비하는 동시에 점점 더 강력한 컴퓨터를 처리하기 위해 계속 발전하고 있습니다. 클라우드 컴퓨팅의 주요 발전은 이러한 전환을 유지하는 데 도움이 되었지만 모든 데이터를 배포하기위한 기본 인프라는 거의 동일하게 유지되었습니다.

InterPlanetary 파일 시스템

IPFS 는 새로운 p2p 파일 공유 시스템을 통해 클라이언트-서버 모델 및 HTTP 웹의 결함을 해결하려고 시도합니다. 이 시스템은 몇 가지 새로운 혁신과 기존 혁신을 종합 한 것입니다. IPFS 는 네트워크 프로토콜 및 이전 Y Combinator 시작을위한 R & D 연구소 인 Protocol Labs 에서 만든 오픈 소스 프로젝트입니다. 또한 Protocol Labs 는 IPLD 및 Filecoin 과 같은 보완 시스템을 개발 합니다. 전 세계 수백 명의 개발자가 IPFS 개발에 기여한 덕분에 오케스트레이션은 대규모 사업이었습니다. 주요 구성 요소는 다음과 같습니다.


분산 해시 테이블
해시 테이블 의 데이터 구조 키 / 값 쌍으로 정보를 저장하고있다. 분산 해시 테이블 (DHT)에서 데이터는 여러 컴퓨터 네트워크에 분산되어 효율적으로 조정되어 노드 간 효율적인 액세스 및 조회가 가능합니다.
DHT 의 주요 장점은 분산, 내결함성 및 확장 성입니다. 노드는 중앙 조정이 필요하지 않으며, 노드가 실패하거나 네트워크를 떠나도 시스템이 안정적으로 작동 할 수 있으며 DHT 는 수백만 노드를 수용하도록 확장 할 수 있습니다. 이러한 기능을 함께 사용하면 일반적으로 클라이언트-서버 구조보다 시스템이 더 탄력적입니다.

거래소 차단
널리 사용되는 파일 공유 시스템 인 Bittorrent 는 혁신적인 데이터 교환 프로토콜을 사용하여 수백만 노드 간의 데이터 전송을 성공적으로 조정할 수 있지만 토런트 생태계로 제한됩니다. IPFS는 BitSwap 이라는 이 프로토콜의 일반화 된 버전을 구현합니다. 이 프로토콜은 모든 유형의 데이터에 대한 마켓 플레이스로 작동합니다. 이 마켓 플레이스는 IPFS 를 기반으로 하는 p2p 스토리지 마켓 플레이스인 Filecoin 의 기초입니다.

머클 DAG
머클 DAG 는 머클 트리 와 DAG (Directed Acyclic Graph )의 혼합입니다. 머클 트리는 p2p 네트워크에서 교환되는 데이터 블록이 정확하고 손상되지 않고 변경되지 않도록 합니다. 이 검증은 암호화 해시 기능을 사용하여 데이터 블록을 구성하여 수행됩니다. 이것은 단순히 입력을 받아 해당 입력에 해당하는 고유 한 영 숫자 문자열 (해시)을 계산하는 함수입니다. 입력으로 인해 해시가 발생하는지 쉽게 확인할 수 있지만 해시에서 입력을 추측하기는 매우 어렵습니다.

이 두 가지를 혼동하지 마십시오. 출처 : http://www.merkletrees.org/
개별 데이터 블록을 '리프 노드'라고 하며, '비 리프 노드'를 형성하기 위해 해시됩니다. 이러한 비 리프 노드는 모든 데이터 블록이 단일 루트 해시로 표시 될 때까지 결합 및 해시 될 수 있습니다. 개념화하는 더 쉬운 방법은 다음과 같습니다.

DAG 는 주기가 없는 토폴로지 정보 시퀀스를 모델링하는 방법입니다. DAG 의 간단한 예는 가계도입니다. 머클 DAG 는 기본적으로 해시가 DAG 의 데이터 블록 및 개체를 참조하는 데 사용되는 데이터 구조입니다. 이는 몇 가지 유용한 기능을 생성합니다. 각 데이터 블록마다 고유 한 해시가 있으므로 IPFS 의 모든 컨텐츠를 고유하게 식별 할 수 있습니다. 또한 데이터를 변경하면 아래와 같이 해시가 변경되므로 변조 방지 기능이 있습니다.


출처 : ethereum.org

IPFS 의 중심 원칙은 일반화 된 머클 DAG 에서 모든 데이터를 모델링하는 것입니다. 이 보안 기능의 중요성은 과장하기 어렵습니다. 클라이언트-서버 시스템과 비교하여 이 사람이 어떻게 7분 안에 40개의 웹 사이트를 해킹 했는지 확인하십시오.

버전 관리 시스템
Merkle DAG 구조의 또 다른 강력한 기능은 분산 버전 제어 시스템 ( VCS )을 구축할 수 있다는 것 입니다. 가장 인기있는 예는 Github 로 개발자가 프로젝트에서 동시에 공동 작업을 쉽게 할 수 있습니다.
Github 의 파일은 머클 DAG 를 사용하여 저장되고 버전이 지정됩니다. 이를 통해 사용자는 파일의 여러버전을 독립적으로 복제 및 편집하고 이러한 버전을 저장 한 다음 나중에 편집 내용을 원본 파일과 병합 할 수 있습니다.
IPFS 는 데이터 오브젝트에 대해 유사한 모델을 사용합니다. 원본 데이터에 해당하는 오브젝트 및 새 버전에 액세스 할 수 있으면 전체 파일 히스토리를 검색 할 수 있습니다. 데이터 블록이 네트워크를 통해 로컬로 저장되고 무한정 캐시 될 수 있다는 점을 감안하면 IPFS 오브젝트를 영구적으로 저장할 수 있습니다.
또한 IPFS 는 인터넷 프로토콜에 대한 액세스에 의존하지 않습니다. 데이터는 단순히 다른 네트워크에 구축 된 네트워크 인 오버레이 네트워크에 분산 될 수 있습니다. 이러한 기능은 검열 방지 웹의 핵심 요소이기 때문에 주목할 만합니다. 전 세계 인터넷 검열 의 확산을 막기 위해 언론의 자유를 증진시키는 데 유용한 도구가 될 수 있지만, 악의적 행위자에 의한 학대 가능성을 인식해야 합니다.

자체 인증 파일 시스템
우리가 다룰 IPFS 의 마지막 필수 구성 요소는 자체 인증 파일 시스템 (SFS )입니다. 데이터 교환을 위한 특별한 권한이 필요 없는 분산 파일 시스템입니다. 클라이언트에 제공되는 데이터는 파일 이름 (서버에서 서명)으로 인증하기 때문에“자체 인증”입니다. 그 결과, 로컬 스토리지의 투명성을 통해 원격 컨텐츠에 안전하게 액세스 할 수 있습니다.
IPFS 는 이 개념을 기반으로 IPS (InterPlanetary Name Space)를 작성합니다. 공개 키 암호화를 사용하여 네트워크 사용자가 게시 한 개체를 자체 인증 하는 SFS 입니다. 앞에서 언급 한 IPFS 의 모든 객체는 고유하게 식별 될 수 있지만 이는 노드까지 확장됩니다. 네트워크의 각 노드에는 공개 키, 개인 키 및 공개 키의 해시 인 노드 ID 세트가 있습니다. 따라서 노드는 개인 키를 사용하여 게시한 모든 데이터 객체에 '서명'할 수 있으며 발신자의 공개 키를 사용하여 이 데이터의 신뢰성을 확인할 수 있습니다.
다음은 주요 IPFS 구성 요소를 간단히 요약한 것입니다:
● 분산 해시 테이블을 통해 노드는 중앙 조정없이 데이터를 저장하고 공유할 수 있습니다
● IPNS 를 사용하면 공개 키 암호화를 사용하여 교환 된 데이터를 즉시 사전 인증하고 확인할 수 있습니다.
● Merkle DAG 는 고유 식별, 변조 방지 및 영구 저장된 데이터를 가능하게 합니다.
● 버전 관리 시스템을 통해 이전 버전의 편집 된 데이터에 액세스 할 수 있습니다.

간단한 개념적 프레임 워크

왜 이 모든 것이 중요한가?
IPFS 는 높은 처리량, 짧은 대기 시간, 데이터 배포를 제공합니다. 또한 분산되고 안전합니다. 이로 인해 몇 가지 흥미롭고 흥미로운 사용 사례가 열립니다. 웹 사이트에 컨텐츠를 제공하고, 자동 버전 관리 및 백업으로 파일을 전역적으로 저장하고, 안전한 파일 공유 및 암호화 된 통신을 촉진하는 데 사용될 수 있습니다.
다음은 IPFS 를 기반으로 하는 몇 가지 흥미로운 프로젝트입니다:
아카샤, 차세대 소셜 네트워크
Balance3, 트리플 항목 회계 플랫폼
BlockFreight, 글로벌 화물 운송을 위한 개방형 네트워크
Digix, 토큰화 실제 금을 위한 플랫폼
Infura, DApps 위한 인프라 제공
Livepeer, 분산 라이브 비디오 스트리밍 플랫폼을
원산지, 공유 경제 피어 - 투 - 피어 시장
uPort, 자기 주권의 정체성 시스템
이러한 다양한 응용 프로그램은 여러 가지 사용 사례에서 IPFS 의 다목적 성을 보여줍니다. 또한 퍼블릭 블록 체인 및 기타 p2p 애플리케이션을위한 보완 파일 시스템으로 사용되고 있습니다. 글을 쓰는 시점에서 이더리움 스마트 계약에 킬로바이트의 데이터를 저장하는 데 몇 달러가 소요될 수 있습니다.
이는 주요 제약 사항이며 현재 출시 된 새로운 분산 앱 (DApp)이 크게 성장하고 있습니다. IPFS 는 스마트 계약 및 블록 체인 데이터 와 상호 운용이 가능 하므로 이더 리움 에코 시스템에 신뢰할 수 있고 저렴한 스토리지 용량을 추가 할 수 있습니다. IPFS 에서 Ethereum 블록 체인 데이터를 기본적으로 액세스 할 수 있게 하려는 시도는 IPLD (InterPlanetary Linked Data) 라는 별도의 프로토콜 입니다.

도전 과제
IPFS 의 뛰어난 성능에도 불구하고 몇 가지 문제는 아직 완전히 해결되지 않았습니다. 첫째, IPNS 의 컨텐츠 주소 지정은 현재 사용자에게 친숙하지 않습니다. 일반적인 IPNS 링크는 다음과 같습니다.
ipfs.io/ipns/QmeQe5FTgMs8PNspzTQ3LRz1iMhdq9K34TQnsCP2jqt8wV/
이러한 링크는 DNS (Domain Name System)를 사용하여보다 간단한 이름으로 단축 할 수 있지만 이는 컨텐츠 배포를 위한 외부 장애 지점을 도입합니다. 그러나 원본 IPNS 주소를 통해 콘텐츠에 계속 액세스 할 수 있습니다. 일부 사용자는 또한 도메인 이름을 확인하는데 IPNS 가 느려질 수 있으며 최대 몇 초 지연될 수 있다고 보고합니다. 이 문제의 근원이 정확히 무엇인지는 명확하지 않습니다.
업데이트: 2018 년 3 월 26 일, IPNS 는 게시/ 해결 속도를 높이기 위한 실험적인 기능으로 업그레이드를 발표했습니다. 자세한 내용은 여기를 참조하십시오
IPFS 에서는 노드가 네트워크에서 데이터의 장기 백업을 유지 관리 할 인센티브도 거의 없습니다. 노드는 공간을 절약하기 위해 캐시 된 데이터를 지우도록 선택할 수 있습니다. 이는 이론적으로 데이터를호스팅하는 나머지 노드가 없으면 파일이 시간이 지남에 따라 '사라질 수 있습니다'. 현재 채택 수준에서 이것은 중요한 문제는 아니지만 장기적으로 많은 양의 데이터를 백업하려면 강력한 경제적 인센티브가 필요합니다.

저장 시장
Filecoin 은 IPFS 의 파일 스토리지에 경제적 인센티브를 추가하고 엔터프라이즈 클라우드 스토리지(Amazon S3 등)와 경쟁하는 분산 스토리지 시장을 조성하기 위해 설계된 별도의 프로토콜입니다. 고정 가격이 책정된 중앙 집중식 인프라 대신, IPFS + FileCoin 은 수요와 공급에 따라 가격을 자유롭게 책정할 수 있는 글로벌 로컬 제공 업체 네트워크에 스토리지를 제공합니다. Filecoin 은 Bitcoin 과 같은 Proof-of-Work 합의 알고리즘 대신 Proof-of-Storage 를 사용하여 보안과 안정성을 보장합니다.
따라서 누구나 네트워크에 참여하고 컴퓨팅 장치에 사용되지 않은 하드 드라이브 공간을 제공하며 데이터 저장 및 검색 서비스를 위해 Filecoin 토큰으로 보상받을 수 있습니다.
네트워크는 이더리움에서 개발되고 있으므로 스마트 계약 통합은 스토리지 시장에서 에스크로, 보험 등과 같은 고급 기능을 생성 할 수 있습니다. 이론적으로 이 경제 모델은 대규모 공급자보다 잠재적으로 저렴한 비용으로 경쟁이 치열한 자유 시장을 개발해야 합니다. 그러나 FileCoin 은 아직 출시되지 않았으므로 이러한 개념이 실제로 어떻게 작동하는지 관찰하는 것은 흥미로울 것입니다.

시작하기
IPFS 는 매우 야심 찬 노력이며, 시스템 기능이 이 안내서에 설명 된 것보다 훨씬 더 복잡한 방식에 대한 정확한 메커니즘입니다. 우리는 암호 학자와 컴퓨터 과학자들이 즐길 수 있도록 세부 사항을 남겨 둘 것입니다. IPFS 를 사용 하기 위해 전문가가 될 필요는 없으므로 이점이나 사용 사례가 유용하거나 호소력이 있는 것으로 보인다면 IPFS 를 다운로드하고 여기에서 시작 하십시오. 기가 바이트 또는 테라 바이트의 사용되지 않은 스토리지가 있고 유휴 용량을 잘 활용 하려면 네트워크가 시작될 때 초기 Filecoin 광부로 등록할 수 있습니다. 초기 스토리지 사용자가되고 싶다면 가입할 수도 있습니다.
IPFS 를 사용하는 것은 매우 놀라운 일이며 이를 가능하게하는 기술적 인 마법사를 이해하는 것은 더욱 흥미 진진합니다. 성공하면 IPFS 및 해당 보완 프로토콜은 차세대 웹에 탄력적인 인프라를 제공 할 수 있습니다. 배포, 안전 및 투명성을 약속 한 웹.

출처
올, 더글러스 컴퓨터 네트워크 및 인터넷 . 피어슨, 2015. goo.gl/AbM8st
IPFS 백서 (초안 3) http://goo.gl/zwKD9J
Filecoin 백서 https://goo.gl/RrxcvX

보다 다양한 정보 및 방송관련 소식은

공식 SNS채널을 통해 확인 가능합니다.

강성경 기자 | [email protected]

댓글 [ 1 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
  • jaeung
  • 2020-07-04 10:41:56

좋은 소식 감사합니다,^^

  • 1
  • 0
답글달기
닫기