의견.png

카뎀리아

위키원
125.141.56.47 (토론)님의 2019년 8월 2일 (금) 10:43 판
이동: 둘러보기, 검색

는 이다.

개요

카뎀리아(Kademlia)는 탈중앙 분산형 P2P 컴퓨터 네트워크를 위한 분산해시테이블(DHT)을 구축하는프로토콜네트워크중앙서버 없이 효율적으로 데이터를 전달하고 저장하는 방법이라고 말한다. 2002년에 Petar Maymounkov와 David Mazières에 의해서 발명된 카뎀리아는 여러 시스템의 기초가 되었다. 요즘 DHT는 일반적으로, 특히 카뎀리아는 분산된 웹 프로젝트에서 많은 관심을 받았다. 사실 카뎀리아는 OpenBazaar, MaidSafe 및 Storj를 비롯한 여러 가지 흥미로운 프로젝트의 기반을 형성한다.

어떤 DHT의 목표는 모르는 사람들로 가득 찬 네트워크데이터를 저장한 다음 나중에 찾을 수 있게 하는 것이다. 네트워크상의 컴퓨터를 노드라고 한다. 우리는 일반적으로 네트워크가 노드로 가득 찬 거대한 상호 연결된 그래프라고 생각한 카뎀리아는 꽤 잘 작동하는 것으로 보이는 규칙 중 하나다. 이 규칙을 따르면 메시지 수가 적게 유지되므로 합리적인 시간 내에 찾고있는 것을 찾을 수 있다.[1]

역사와 배경

3세대P2P네드워크

  • 카자라임와이어가 몰락하고당나귀(edonkey)라는 영화같은 대용량의 파일을 공유하는 파일분할식 프로그램이 처음으로 출현하였다.
  • 초창기에 당나귀 개발자들은 개발자금으로 당나귀에 광고창을 띄워서 자금을 총당했는데 이것이 공개소스진영을 반발을 사서 이름 에뮬(emule)을 개발.공개소스이므로 수많은 변형버전으로 나왔다.
  • 하지만 이 변형버전이 악랄하게 자신들끼리만 자료를 더 빠르게 공유하고, 유료회원에게만 더 빠른 속도를 제공하여 한 당나귀 서버가 다운되면 전체서버가 다운되었다. 당나귀 개발자들은 이 문제로 서버리스 방식의 오버넷이라는 차세대 프로그램을 개발하였다.
  • 이뮬진영이 오버넷에 대항하여 만든것이 카뎀리아라는 서비스 네트워크이다.

특징

  • 네트워크노드가 보다 빠르고 정확하게 대상 노드를 검색 및 도달할 수 있도록 해준다.
*UDP를 이용하여 서로 통신하며 참여 노드 간에 가상 또는 오버레이 네트워크를 형성한다. 
  • 카뎀리아의 노드는 숫자 또는 '노드 ID'로 구분하는데 '노드 ID'는 노드를 식별하는 것 뿐만 아니라 카뎀리아 알고리즘이 값(일반적으로 파일 해시 또는 키워드)의 위치를 찾는데도 사용한다. 실제로 '노드 ID'는 파일 해시에 대한 직접 사상(direct map)으로 파일 또는 자원을 어디서 획득 할 수 있는지에 대한 정보를 저장하고 있다.
  • 값을 찾을 때, 카뎀리아 알고리즘은 연관 키를 갖고 몇 번의 단계를 거쳐 네트워크를 탐색한다. 각 단계는 키(key)와 더 가까운 노드를 탐색하는 작업으로 연결된 노드가 찾던 값을 반환하거나 더 가까운 노드를 찾을 수 없을 때까지 계속 된다. 이는 매우 효율적인 방식으로, 카뎀리아는 다른 DHT와 같이 시스템 전체에 {\displaystyle n} n개의 노드가 존재할 때 {\displaystyle O(\log(n))} {\displaystyle O(\log(n))}개의 노드만 탐색한다.

​* 분산구조로 인해서 모든 노드가 넘쳐 흐르더라도 네트워크 가용성에는 제한적인 영향만 미치며, 이 "구멍"들 주위로 네트워크를 긴밀히 연결하여 스스로 기능을 회복하는등의[서비스 거부 공격]]에 저항성을 갖고 있다.

각주

  1. 제임스 프레스 위치, 〈Kademlia and Colors〉, 《prestwi》, 2016-06-13

참고자료

같이 보기


  의견.png 이 카뎀리아 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.