페이지상단으로이동

go - ipfs v0.9.0 출시!

    • 이지원 기자
    • |
    • 입력 2021-07-01 14:13
    • |
    • 수정 2021-07-01 14:13
▲go - ipfs v0.9.0 출시!

우리는 자주 쓰지 않고 익숙하지 않는 기능들을 제거해 사용자들이 go-ipfs를 안전하고 유용하게 사용할 수 있게 만들었다. 평소와 같이 릴리스에는 보안에 중요한 수정 사항이 포함되어 있다. 수정 사항이 야생에서 악용되는 버그를 해결하지 않는 한 수정 사항은 릴리스 정보에서 언급되지 않는다.

하이라이트
게이트웨이를 통해 DAGs 수입

이제 게이트웨이는 arbitrary IPLD 그래프를 /api/v/dag/export 엔드포인트 통해 다운로드 가능하다. 이 엔드포인트는 ipfs dag export 커맨드와 같은 방식으로 운영된다. 한가지 중요한 것은 공용 게이트웨이에서 다운로드한 데이터를 증명할 수 있는 기능이 있다. http://somegatewat.example.net/ipfs/bafyexample로 가면 예전 버전의 HTTP 트랜스포트와 게이트웨이를 사용하고 있는 것이다. 하지만, 만약 그래프를 DAG 아카이브에서 다운로드하면 확인할 때 bafyexample과 매치될 것이다.

DNS 리졸버(Resolver) 제작

DNSLink 및 DNSAddrs에 대한 DNS 리코드의 확인은 운영 시스템과 ISP에서 제공된 DNS 서버 사이에 이름이 일반 텍스트로 보내지는 것을 의미한다. 과거에는 IPFS 스택에서 DNS 리솔루션을 지정하는 단 한가지 방법은 자체 DNS 프록시 서버를 설정하는 것이다.

이제 DNS 리솔루션을 제작하고 HTTPS(DoH)를 통해 DNS를 사용하여 OS의 기본 리졸버(Resolver)를 재정의한다. 전 세계적으로 또는 특정 TLD/FQ에 따라 오버라이드를 적용할 수 있도록 매우 유연하게 지원하였다. 예시들은 이 문서에서 확인할 수 있다.

non-ICANN DNSLink 이름 지원

사용자 지정 DNS 리졸버에 대한 지원을 기반으로 이제 ICANN에서 처리하지 않는 DNSLink 이름을 만들고 해당 도메인 이름을 확인하는 방법을 선택할 수 있다. 예를 들어 .eth가 ICANN TLD가 아님에도 불구하고 모든 ENS 리졸버로 .eth를 지정할 수 있다(로컬도 가능).

Go-ipfs는 몇 가지 널리 사용되는 non-ICANN DNSLink 이름 (e.g ENS)에 대한 일부 DoH 기본값을 가지고 있을 수 있지만, 이름 지정 시스템에 대한 프로토콜은 자유롭게 사용할 수 있으며 DNS 끝점을 통해 DNSLink 레코드를 노출하는 한 작동시킬 수 있다.

가장 최신 WebUI 업데이트

우리의 웹 인터페이스는 지금 피닝 서비스를 지원하고 파일과 피어스 스크린에 다양한 업데이트 지원을 포함한다. ipfs pin remote service add 커맨드를 통해 추가된 리모트 피닝 서비스는 이미 감지되어 ‘설정’에서 추가할 수 있다. 그러면 Files 스크린에서 Set pinning 인터페이스 설정에 나타난다.

피어스 스크린에 제시된 데이터는 단순히 특정 셀을 클릭하면 복사 할 수 있고 오픈 스트림의 리스트는 로컬 노드가 특정 피어와 상호작용하는 방식을 더 잘 파악할 수 있다.

스크린샷 및 자세한 내용은 ipfs-webui v2.12(새 창 열기)에 대한 릴리스 정보를 참조.

IPNS 키는 daemon을 멈추지 않고 CLI를 통해 수입

Ipfs key export는 더 이상 ipfs daemon을 중단할 필요가 없다.

실험적인 DHT 클라이언트와 시스템 제공자

과거에 까다로웠던 Go – ipfs 영역 중 하나는 go-ipfs가 우리가 찾고 있는 데이터를 가지고 있는지 찾는 방법이다. IPFS 공용 DHT가 go-ipfs의 데이터를 찾을 수 있는 한 가지 방법인 반면 중요한 방법인 경우가 많다. Go-ipfs v0.5.0 이후 네트워크에서 콘텐츠를 찾는 시간이 IPNS 레코드를 넣거나 가져오는 시간이 크게 줄었지만 컨텐츠를 보급하는 노드에서는 여전히 개선의 여지가 많다.

우리는 몇 가지 실험을 했고 기본적으로 일부 자원을 교환하는 대체 DHT 클라이언트가 있으며 그 결과 성능이 훨씬 더 우수하다. 우리는 또한 실험적인 DHT 클라이언트에게 새로운 클라이언트를 활용하여 한 번에 많은 광고를 보다 효율적으로 하는 대량 공급자 시스템을 포함시켰다.

이 일은 새롭고 아직 개발 중이지만 그 결과는 특히 데이터를 IPFS Public DHT를 광고하는데 어려움을 겪는 많은 데이터를 사용하는 유저들에게 유익하다.

실험적인 클라이언트는 아래 제시된 커맨드를 사용하면 된다.
Ipfs config – json Experimental. AccerleatedDHClient true.
AcceleratedDHTClient가 활성화될 때 주의해야할 사항:

  • 이전보다 go-ipfs는 더 많은 자원을 사용할 것이다.
  • DHT 쿼리는 사용 불가능하다. (예. 어떤 피어가 데이터를 소장하는지, 특정 피어가 어디에 있는지 찾는 것 등등) 네트워크 컨디션에 따라 첫 5분에서 10분 동안 운영된다.
  • Ipfs stats provide 커맨드는 제공되어있거나 재제공되는 사용을 추적할 수 있게 도와준다. 만약 개인이 많은 양의 데이터를 제공한다면 이 양을 어떻게 줄일것인지 고려해봐야 한다 (e.g Reprovider Strategies 또는 Strategic Providing).

마이그레이션

이제 마이그레이션은 자체적으로 패키징된다.
이전의 go-ipfs 리포 마이그레이션은 단일화되어 이전 go-ipfs 버전의 모든 마이그레이션을 포함되었지만 이제는 바이너리가 개별적으로 패키지된다. 하지만, 모든 개별 마이그레이션을 다운로드하기 위해 아직 수동으로 리포지토리를 업그레이드하는 사용자들을 위해 fs-리포-마이그레이션 바이너리는 그대로 유지된다.

따라서 업그레이드를 위한 다운로드 시간이 빨라지고 플러그인을 사용하는 유저를 또한 앞으로 새로운 마이그레이션을 개발을 구축하는데 시간이 훨씬 간편해진다.

컨피그레이션 마이그레이션(Configuration Migration) 다운로드를 통해 IPFS를 통해 다운로드 가능

이전의 go-ipfs에 내장된 마이그레이션 다운로더가 dist.ipfs.io에서 마이그레이션을 다운로드 하였다. 사용자들은 ipfs-update와 같은 툴을 사용해 마이그레이션을 다운로드 할 수 있는 반면에 이제 이는 자동화되어 구성 가능하다. 사용자들은 IPFS 또는 아무 특정 IPFS 게이트웨이를 통해 마이그레이션을 다운로드할 수 있다.

구성 가능한 마이그레이션 옵션은 컨피그레이션 파일 문서에 설명되어 있지만 대부분의 사용자들이 기본 설정을 바꿀 필요는 없다.

핵심 이점은 사용자들은 제한적인 방화벽 뒤에 있으며 수동적으로 마이그레이션을 실행할 필요가 없다. go-ipfs는 IPFS 데스크탑(새 창 열기) 및 브레이브(Brave) 내에서 실행되는 데스크톱 사용 사례에 특히 중요하다.

애플 M1 하드웨어에 구축

Go는 현재 Darwin ARM64를 위한 빌드를 지원하고 있으며 현재 이러한 빌드를 게시하고 있다.

지원 중단 및 기능 제거

ipfs object 커맨드는 지금 지원 중단한다.

지난 몇 년간 대부분의 API의 커맨드는 대체된 API를 사용하여 실행할 수 있게 되었다. Object API의 유틸리티는 UnixFS-v1((dag-pb)형식의 데이터로 제한된다. 아직 사용하고 있다면 DAG ipfs dag (dag-cbor와 같은 최신 데이터 유형 지원) 또는 Files ipfs 파일(dag-pb 작업에 더 직관적임)API로 전환하는 것이 좋다. Object API와 커맨드는 여전히 사용할 수 있지만 이제는 더 이상 사용하지 않도록 커맨드 라인에서 더 이상 사용하지 않고 사용자에게 표시되지 않는다. 우리는 또한 - -help 텍스트를 최신 대체품을 가리키도록 업데이트했다.

X-Ipfs-Gateway-Prefix는 이제 지원 중단된다.

IPFS 커뮤니티는 Origins에 헌신하도록 추진하고 있다. Gateway. PathPrefixes와 X-Ipfs-Gateway-Prefix는 더 이상 필요하지 않고 가까운 미래에 제거될 것이다.

Proquints 지원 제거

우리는 proquints가 자주 쓰이지 않기 때문에 지원 중단되었지만 proquints는 유용한 멀티베이스로 만약 앞으로 필요하다면 갱신할 가능성이 크다.

SECIO 지원 중단

SECIO는 더 이상 사용되지 않으며 기본적으로 TLS 및 노이즈 지원이 널리 사용되고 있으므로 SECIO 지원은 완전히 제거된다.

체인지로그 (Changelog)

전체 내용은 여기서 확인하실 수 있습니다.

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

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

이지원 기자 | [email protected]

댓글 [ 0 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기