본문 바로가기
Blockchain

[Blockchain] DHT(분산 해시 테이블)이란?

by 개발자 염상진 2022. 6. 29.

 

DHT(분산 해시 테이블)은 해시 테이블 자료구조를 사용해 분산형 데이터베이스를 구축하는 방식입니다. DHT는 P2P 네트워크에서 데이터를 분산 저장할 때 사용됩니다. 키~값 쌍으로 데이터가 분산 저장되고, 검색 할 수 있습니다. 

 

 

DHT에 데이터 저장 방식

 

① 0 부터 7 까지 해시 테이블이 존재합니다. 

 

② 해시 테이블을 사용하는 유저는 4명 입니다. 각 사용자들은 공유할 데이터를 가지고 있습니다. 

 

③ 호스트의 IP 주소를 해싱한 결과값을 얻습니다. 해시값을 8로 나눈 나머지 값을 인덱스로 지정합니다. 

 

④ 각 호스트들은 본인 다음에 위치한 호스트 중 가장 근처에 위치한 호스트 주소를 알게 됩니다. 

 

⑤ 각 호스트들이 공유해야 할 데이터의 위치를 지정합니다. 파일을 해싱한 결과값을 8로 나눠 데이터 위치를 지정하게 됩니다. 예를 들어 기획서.hwp는 주소 5를 가지고, 카카오톡.exe는 주소 7을 가집니다. 

 

⑥ 주소 5에 있던 789.0.5.4는 기획서.hwp가 주소 5에 있다는 사실을 알게 됩니다. 카카오톡.exe는 주소 7이지만 주소 7에는 호스트가 없기 때문에 가장 가까운 101.0.234.5 호스트가 카카오톡.exe는 주소 7에 있다는 사실을 기억하게 됩니다. 

 

위 과정을 통해 DHT에 데이터가 분산 저장됩니다.

 

DHT 데이터 검색 방식

 

① 456.0.13.2 호스트가 카카오톡.exe 데이터를 찾습니다. 

 

② 456.0.13.2 호스트는 가장 가까운 다음 호스트인 123.0.20.8 호스트에게 카카오톡.exe가 어딨냐고 물어봅니다. 

③ 123.0.20.8 호스트는 가계부.csv 파일의 위치는 알고 있지만 카카오톡.exe 파일의 저장 위치는 알지 못합니다. 다음 호스트에 파일 저장 위치를 물어봅니다.

 

④ 789.0.5.4 호스트는 기획서.hwp 주소는 알고 있지만 카카오톡.exe 주소는 알지 못합니다. 다음 호스트에 파일 저장 위치를 물어봅니다. 

⑤ 101.0.234.5는 카카오톡.exe가 주소 7에 위치해있다는 것을 알고 있습니다. 이제 파일을 검색한 456.0.13.2 호스트에게 카카오톡.exe가 저장된 위치를 알려줍니다.

 

※ 사진 및 영상 저작권은 원작자에 있습니다. 문제시 삭제 예정입니다.

 

 

 

[Blockchain] 해시 테이블(Hash Table)이란?

해시 테이블은 해시 함수를 돌린 해시를 색인(index)로 사용해 키와 데이터를 저장하는 자료구조입니다. 키(key)값은 해시 함수를 돌려 출력된 해시를 사용하고 키에 해당하는 데이터(value)와 함께

about-tech.tistory.com

 

 

[Blockchain] DAG(Directed Acyclic Grpah) 란?

암호화폐 플랫폼은 일반적으로 블록체인을 사용하지만 DAG를 사용하는 경우도 있습니다. 블록체인에서는 각 정점(노드)들이 블록으로 구성되어 있으며, 블록 내에 실제 데이터인 트랜잭션이 담

about-tech.tistory.com

 

 

[Blockchain] PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘이란?

비트코인이 세상에 등장한지 13년의 시간이 지났습니다. 비트코인이 나오기 이전에도 분산원장기술은 존재했었고, 중앙 분산 원장 시스템에서 각 노드간 합의 알고리즘은 존재했었습니다. 하지

about-tech.tistory.com

 

댓글