-
[IPFS] Peer selection을 하는 방법IPFS 2023. 5. 4. 16:21728x90반응형
이번 포스팅도 진짜 3주정도? 엄청 애를 쓴 그렇게 보다가 찾은 내용이다.
IPFS에서 노드간의 peer selection이 주된 주제로 나왔었는데
IPFS 홈페이지에서 보여준 아래와 같은 사진에서 split factor라는 존재가 나왔다.

이를 보면 split factor가 3이라면 peers를 3개의 그룹으로 나누어 각자의 그룹에 똑같은 block을 구해오라는 메세지를 보내게된다.
그런데 여기서 peer가 100개가 된다면?
그렇다면 split factor는 100개 가까워질수록 빠른 시간내에 더 빠르게 블럭을 모을 것이다.
하지만 이를 어떻게 조절하는지에 관한 내용을 너무 찾기 어려웠고
그렇게 조사하다보니 두 가지의 페이지를 발견하게되었다.
https://github.com/ipfs/go-bitswap/issues/165
Bitswap Sessions Exploration · Issue #165 · ipfs/go-bitswap
Bitswap sessions group together requests for related blocks (eg the blocks that make up a file) to take advantage of the fact that usually related blocks can be retrieved from the same peers. This ...
github.com
https://github.com/ipfs/go-bitswap/issues/167
Improve Request Sharding · Issue #167 · ipfs/go-bitswap
#165 outlines session request sharding in Bitswap. Each session maintains a list of peers that have responded to a wantlist request with a block, ordered by latency. Requests are split such that gr...
github.com
이 두 페이지인데 여기에 나오는 바로는 SHARDING이라는 파일이 굉장히 중요하게 작용하고
SHARDING의 파일을 .ipfs/blocks의 디렉토리에서 확인해보니
마지막에 숫자 2로 되어있었다.
아마 default값으로 추정하였고 코드도 계속 살펴보니 split factor가 맞았다.
하지만 저 위의 페이지를 살펴보면 2~16까지로 split factor가 조절된다고 하는데 이는 다운을 받는 도중에 계속 바뀐다는 내용이었다.
그렇다. 결국 내가 고정적으로 split factor를 맞추려면 직접 코드를 수정하여 커스터마이징 해야 하는 것이었으며
이는 조금 더 복잡하게 흘러가는 부분이었다.
내가 4로 설정해도 어딘가에서 딜레이가 발생하면 3으로 2로 더욱 줄어들게 된다는 것이다.
아쉽게 더 이어나갈 수 있는 프로젝트의 범주였는데
현재는 보안 관련하여 열심히 access control을 IPFS에 붙이고있고
틈날 때마다 공부하는대로 또 적어보려한다.
여튼 3주동안 찾아봤으니 이렇게 포스팅이라두. 해보련다.
또다른 사람들이 이런 고생을 하지 않도록..
그럼 이만
728x90반응형'IPFS' 카테고리의 다른 글
[IPFS] 분산 탈중앙 시스템에 Access control을 제공하는 Macaroons (0) 2023.05.19 [IPFS] 노드간의 연결 문제(NAT Problem) (0) 2023.02.28 [IPFS] IPFS (0) 2023.02.02