IPFS - file chunk
IPFS 파일 조각화란 무엇이며 파일 저장 후 반환 된 해시 값은 어떻게 생성됩니까?
IPFS 네트워크의 데이터는 나뉘어져 블록 (파일 조각) 에 저장됩니다. IPFS 가 ipfs add
명령을 사용하여 데이터를 저장하는 경우 기본값은 256Kb 로 데이터를 분할하는 것입니다. 물론 원하는대로 데이터를 분할 할 수도 있습니다. 예를 들어 ipfs add -r --chunker = size-10000
또는 ipfs add -r --chunker = rabin-512-1024-2048
은 지정된 크기로 데이터를 저장합니다. 다음으로는 기본 데이터 세분화로 분석합니다.
IPFS 가 특정 데이터를 추가하면 로컬은 데이터를 256kb 로 나눕니다. 256kb 보다 작은 데이터는 분할되지 않습니다. 분할 된 블록은 2진 형태로 순서대로 저장됩니다. IPFS 는 콘텐츠를 기반으로 주소를 지정하기 때문에 블록 파일에는 해시값인 고유한 ID 가 필요합니다.
블록 파일의 해시 프로세스는 다음과 같습니다:
- sha2-256 을 사용하여 블록 파일 (바이너리 파일) 을 해시하고 블록 파일의 다이제스트 값을 가져옵니다.
- 블록 파일의 기본 값을 base58 로 처리하여 블록 파일의 해시 값 CID 를 얻습니다.
이러한 블록 파일은 sha2-256 해싱, base58 처리 및 전체 파일의 인덱스와 함께 그룹화 됩니다. 데이터를 추가하면 파일의 인덱스 값인 ‘Qm’ 으로 시작하는 해시값을 반환합니다. ipfs get Qm … 이 검색되면 해당 파일이 현재 디렉토리에 다운로드 됩니다.
아래 그림은 데이터 분할 프로세스를 보여줍니다.