카뎀리아
카뎀리아(Kademlia)는 탈중앙화 분산형 P2P 컴퓨터 네트워크를 위한 분산해시테이블(DHT)을 구축하는 프로토콜 로 네트워크가 중앙 서버 없이 효율적으로 데이터를 전달하고 저장하는 방법이다. 2002년에 페타르 메이마운코프(Petar Maymounkov)와 데이비드 마지에레스(David Mazières)에 의해서 발명된 카뎀리아는 여러 시스템의 기초가 되었다. 요즘 DHT는 일반적으로, 특히 카뎀리아는 분산된 웹 프로젝트에서 많은 관심을 받았다. 사실 카뎀리아는 오픈바자르(Open Bazaar), 메이드세이프 코인(Maid Safe Coin) 및 스토리지 코인(Storj)를 비롯한 여러 가지 흥미로운 프로젝트의 기반을 형성한다.
어떤 DHT의 목표는 모르는 사람들로 가득 찬 네트워크에 데이터 를 저장한 다음 나중에 찾을 수 있게 하는 것이다. 네트워크상의 컴퓨터를 노드라고 한다. 우리는 일반적으로 네트워크가 노드로 가득 찬 거대한 상호 연결된 그래프라고 생각한 카뎀리아는 꽤 잘 작동하는 것으로 보이는 규칙 중 하나다. 이 규칙을 따르면 메시지 수가 적게 유지되므로 합리적인 시간 내에 찾고 있는 것을 찾을 수 있다.[1]
목차
개요
카뎀리아는 분산 P2P 컴퓨터 네트워크를 위한 분산 해시 테이블로 2002년 페타르 메이마운코프와 데이비드 마지에레스가 고안하였다. 네트워크 구조 및 노드 탐색을 통한 정보 교환과 카뎀리아 노드는 UDP를 이용하여 서로 통신하며 참여 노드 간에 가상 또는 오버레이 네트워크를 형성한다. 카뎀리아는 분산 해시 테이블을 구성하는 하나의 방식인데, 분산해시 테이블에서 XOR metric으로 거리를 사용함으로 인해 정확히 같은 분산의 룩 업 요청을 받을 수 있어, 모든 노드들이 동등하게 연결될 기회를 가지게 된다.[2]
역사와 배경
3세대 P2P 네트워크
- 카자나 라임와이어가 몰락하고 당나귀(edonkey)라는 영화 같은 대용량의 파일을 공유하는 파일 분할식 프로그램이 처음으로 출현하였다.
- 초창기에 당나귀 개발자들은 개발자금으로 당나귀에 광고창을 띄워서 자금을 충당했는데 이것이 공개 소스 진영을 반발을 사서 이름 에뮬(emule)을 개발. 공개소스이므로 수많은 변형 버전으로 나왔다.
- 하지만 이 변형 버전이 악랄하게 자신들끼리만 자료를 더 빠르게 공유하고, 유료회원에게만 더 빠른 속도를 제공하여 한 당나귀 서버가 다운되면 전체 서버가 다운되었다. 당나귀 개발자들은 이 문제로 서버 리스 방식의 오버넷 이라는 차세대 프로그램을 개발하였다.
- 이뮬진영이 오버넷에 대항하여 만든 것이 카뎀리아라는 서비스 네트워크이다.
특징
- 네트워크의 노드가보다 빠르고 정확하게 대상 노드를 검색 및 도달할 수 있도록 해준다.
- UDP를 이용하여 서로 통신하며 참여 노드 간에 가상 또는 오버레이 네트워크를 형성한다.
- 카뎀리아의 노드는 숫자 또는 '노드 ID'로 구분하는데 '노드 ID'는 노드를 식별하는 것뿐만 아니라 카뎀리아 알고리즘이 값(일반적으로 파일 해시 또는 키워드)의 위치를 찾는 데도 사용한다. 실제로 '노드 ID'는 파일 해시에 대한 직접 사상(direct map)으로 파일 또는 자원을 어디서 획득 할 수 있는지에 대한 정보를 저장하고 있다.
- 값을 찾을 때, 카뎀리아 알고리즘은 연관 키를 갖고 몇 번의 단계를 거쳐 네트워크를 탐색한다. 각 단계는 키(key)와 더 가까운 노드를 탐색하는 작업으로 연결된 노드가 찾던 값을 반환하거나 더 가까운 노드를 찾을 수 없을 때까지 계속된다. 이는 매우 효율적인 방식으로, 카뎀리아는 다른 DHT와 같이 시스템 전체에 개의 노드가 존재할 때개의 노드만 탐색한다.
- 분산구조로 인해서 모든 노드가 넘쳐흐르더라도 네트워크 가용성에는 제한적인 영향만 미치며, 이 '구멍'들 두위로 네트워크를 긴밀히 연결하여 스스로 기능을 회복하는 등의 서비스 거부 공격에 저항성을 갖고 있다.
활용
이더리움
카뎀리아는 2002년 페타르 메이마운코프와 데이비드 마지에레스가 설계한 분산 형 P2P 컴퓨터 네트워크를 위한 분산 해시 테이블이다. 노드 조회를 통한 네트워크 구조와 정보 교환을 지정하고, 카뎀리아 노드는 UDP를 사용하여 자체적으로 통신하여, 가상 또는 오버레이 네트워크는 참가자 노드에 의해 형성된다. 각 노드는 번호 또는 노드 ID로 식별되어, 노드 ID가 아니라 식별로서 기능하지만 카뎀리아 알고리즘이 사용하는 노드 ID를 보통 파일값을 찾기 위해 해시 또는 키워드 노드 ID는 파일 해시에 대한 직접 맵을 제공하며 해당 노드는 파일 또는 리소스를 가져올 위치에 대한 정보를 저장한다. 일부 값을 검색할 때 연관된 키를 알아야 하며 몇 단계로 네트워크를 탐색하고, 각 단계는 접촉된 노드가 값을 반환하거나 더 가까운 노드가 발견될 때까지 키에 더 가까운 노드를 찾아 매우 효율적이다. 특히 서비스 거부 공격에 대한 저항력을 높이는 분산 형 구조에서 더 많은 이점이 있고, 스스로 회복하기 때문에 노드 세트가 해킹된 경우에도 네트워크 가용성에 미치는 영향은 제한적이다.[3]
네트워크 그래프 구성에 가장 중요한 것은 다른 노드를 어떻게 찾을 것인가 하는 것으로, 이를 흔히 노드 디스커버리라고 하는데 이더리움은 노드 디스커버리를 위해 DHT 프로토콜 중 하나인 카뎀리아의 일부를 수정해서 사용한다. 카뎀리아가 다른 DHT와 다른 가장 큰 특징은 노드 간의 거리를 XOR 거리로 측정하는 것으로, 거리는 대칭 하므로 노드 아이디만 알고 있으면, 노드 A가 생각하는 노드 B까지의 거리나, 노드 B가 생각하는 노드 A까지의 거리나, 노드 C가 생각하는 노드 A와 노드 B 사이의 거리가 같다. 따라서 각 노드는 자신이 알고 있는 노드 중에서 자신과 가까운 노드들과만 통신하면 적은 연결 수로도 큰 네트워크를 구성할 수 있다는 장점이 있고, 카뎀리아 페이퍼에는 대략 노드의 개수를 N이라고 할 때 각 노드는 개의 연결만 유지하면 된다. 이더리움이 이클립스 공격(Eclipse attack)에 취약했던 근본적인 원인은 카뎀리아 프로토콜에서는 거리를 노드 아이디를 기반으로 구하는데, 어떤 노드의 아이디가 무엇인지 네트워크 안에 있는 모든 노드가 같은 값으로 알고 있어야 카뎀리아가 주장하는 효율성을 가져올 수 있다. 문제는 분산 환경에서 각자의 아이디를 동의하는 방법이 없기 때문에 연결을 요청하는 노드가 자신의 공개 키를 알려주면 그 공개키는 노드 아이디를 케착 해싱(Keccak hashing)한 값을 노드 아이디로 준다. 노드가 자신의 아이디를 정하여 알려주는 것으로, 하나의 머신에서 여러 개의 노드 아이디를 생성해낼 수 있고, 악의적인 사용자가 하나의 머신을 여러 개의 노드인 것처럼 꾸미는 시빌 공격이 가능해진다. 이를 막기 위해 IP 주소와 노드 아이디를 기억하여 하나의 주소에서 여러 개의 키를 사용 못 하게 하는 것이 필요하다.[4]
- 프로토콜
- PING : 상대 노드가 여전히 살아있는지 확인
- STORE : 노드에 (키, 값) 쌍을 저장한다.
- FIND_NODE : 요청된 노드에 가장 가까운 들을 리턴 한다.
- FIND_VALUE : FIND_NODE와 동작 방식이 같으나, 해당 키가 노드 ID가 아니라 저장소에 있다면, 해당되는 값을 리턴 해준다.
- FIND_VALUE와 STORE는 데이터 분산 저장에 관련된 내용이니 분명히 이더리움에서는 FIND_NODE와 PING만 노드 디스커버리를 위해 사용되리라 추측할 수 있다. 카뎀리아 에서 사용하는 노드 디스커버리에 한정해서 예를 들면, 제주도 출신 A가 광화문 교보문고를 찾아가려면, 일단 서울역 가는 방법만 알면 되고, 그 후에 서울역에서 광화문 가는 방법을 물어보면 된다. 광화문에 가서 그 근처 사람에게 물어보면 교보문고를 찾을 수 있지만, 그 근처의 지리는 그 근처의 사람이 더 잘 안다는 매우 단순한 논리에서 시작된다. 각 노드가 모든 노드를 알 필요 없이 자기와 가까운 노드에 대해서는 세밀히, 먼 노드에 대해서는 대표 격으로 몇 개만 안다면, 서로서로 찾아갈 수 있으며, 카뎀리아의 주요 특징은 그 가까움의 거리를 XOR 연산으로 한다. 지리적인 토폴로지로 가까운 노드를 찾는 것이 아니며, 문제 될 소지가 있고, 한국에서 미국 노드와 연결돼 있으면 아무래도 추가 부담이 든다.
- 즉 노드 A의 ID가 1111이고 노드 B의 ID가 0111이고 노드 C의 ID가 1110이면 A와 B의 거리는 굉장히 멀고, A와 C의 거리는 매우 가까우면, 자기와 가까운 거리의 노드의 정보에 대해서만 많이 가지고 있어, 멀리 떨어진 정보는 대표 노드 한두 개씩만 가지고 있는 방식이다. 쿼리만으로도 모두 찾을 수 있다. 빨강색 노드인 0011 이 1100 노드를 찾기 위해서는 1로 시작되는 모든 노드 정보를 알 필요 없이 1로 시작되는 노드 하나만 알면 돼서, 그 노드를 통해 1100의 행방을 수소문 하면 된다. 결론은 카뎀리아는 모든 정보를 가지고 있을 수 없는 거대한 집합 군에서 특정 노드를 빠르게 을 찾기 위한 방식이다. [5]
- 네트워크 형성
- RLPx는 p2p 이웃 노드 탐색프로토콜로써 사용된 카뎀리아 식의 라우팅을 이용하고, RLPx 탐색은 XOR를 위해 512-bit 공개키를 이용하는데 DHT 전체 특징은 구현되지 않는다. 노드가 인터넷에 직접 연결되어 있거나, UPnP 옵션이 있다면 연결 요청을 받을 수 있다.[5]
- 새로운 노드는 신뢰할 만하게 접속 해야 할 노드를 찾을 수 있다.
- 노드들은 다른 노드들과 균일하게 접속하기 위해 충분한 네트워크 토폴로지를 갖는다.
- 노드 구분자는 랜덤이다.
- Pruning/Sync(ETH V64 관련)
- 이더리움 네트워크의 프로토콜은완전분산네트크를 위한 DHT(Distributed Hash Table) 프로토콜 중 하나인 카뎀리아를 일부 수정하여 사용하며, 노드 간 거리를 XOR 거리로 측정 공개키를 노드 ID로 하며, 이 노드 ID 간 거리를 XOR 연산 하여, 따라서 노드 개수를 N개라 할 때 각 노드는 개의 연결만 유지하면 연결 가능하다. 각 노드는 자기가 아는 노드 중 가까운 노드와 우선 통신함으로써 적은 연결 수로도 큰 네트워크 구성이 가능하다. 카뎀리아를 기반으로 이더리움만의 인코딩 방식과 암호화 및 인증기능 등을 추가한 RLPx프로토콜을 통해 P2P 오버레이 네트워크를 구성하고 노드탐색(NodeDiscovery)을 수행하면, 이 RLPx를 통해 분산 네트워크 환경이 조성되고, 비로소 ETH 와이어 프로토콜을 통해 실제 블록체인 데이터가 송수신된다.[6] 이더리움에 대해 자세히 보기
텔레그램
- 카뎀리아 거리(Kademlia distance)
- 256-비트 키와 256-비트, 반영구적 노드주소가 있다. 소위 XOR거리 또는 카뎀리아 거리 를 256-비트 배열 집합이다.
- 부호없는 256-비트 정수로 해석된다.
- 동일한 길이의 두 비트 배열의 비트별로 을 나타내며, 카뎀리아 거리는 모든 256-비트 배열의 집합 2256에 대한 미터법을 도입하여, 특히 와 같은 경우에만 이며, 다른 중요한 속성은 로부터 는 를 의미하고, 임의의 주어진 거리에 단하나의 점이 있다.[7]
- 카뎀리아 라우팅 테이블
- 카뎀리아 같은 DHT(Kademlia-like Distributed Hash Table)에 참여하는 노드는 대개 카뎀리아 라우팅 테이블을 유지 관리하고, TON DHT의 경우 부터 까지 번호가 매겨진 버킷으로 구성된다. 번째 버킷에는 노드의 주소 에서 카뎀리아 거리 부터 까지에 있는 일부 알려진 노드에 대한 정보가 포함되며, 35정보에는 해당 반영구적인 주소, IP 주소 및 UDP 포트, 마지막 핑의 시간 및 지연과 같은 일부 가용성 정보가 포함되어, 카뎀리아 노드가 일부 쿼리의 결과로 다른 카뎀리아 노드에 대해 알게 되면 이를 먼저 라우팅 테이블의 적합한 버킷에 후보 노드를 포함한 다음 해당 버킷의 '최상' 노드 중 일부가 실패하면 일부 후보에 의해 대체될 수 있어, 이 방법으로 카뎀리아 라우팅 테이블이 채워지며, 카뎀리아 라우팅 테이블의 새 노드는 3.1.7에서 설명한 ADNL 인접 테이블에도 포함된다. 카뎀리아 라우팅 테이블의 버킷에서 '최상' 노드가 자주 사용되는 경우 3.1.5에서 설명한 의미의 채널을 개설하여 데이터 그램의 암호화를 촉진한다. TON DHT의 특별한 특징은 카뎀리아 라우팅 테이블의 버킷에 대한 '최상' 노드로서 가장 작은 왕복 이동 지연을 가진 노드를 선택하려고 한다.[7]
- 카뎀리아 라우팅 테이블은 노드가 네트워크에 대한 상세한 지식을 가지며 기하급수적으로 정보를 줄이는 구조로 되어 있어, ID 간의 개념적 거리를 측정하는 비트 XOR을 사용하면 주어진 대상 ID에 대해 두 ID가 대상까지 동일한 거리를 가질 수 없다는 이점이 있다. ID가 00에서 63까지의 범위를 예를 들면, 순수한 수학적 차이는 거리의 척도로서 15와 35가 25에서 같은 거리가 될 것이고, 둘 다 거리가 10이다. XOR을 사용하면 15와 25 사이의 거리는 22이고, 25와 35 사이의 거리는 58이다. 이러한 방식으로, 타겟 ID에 대한 k개의 가장 가까운 ID의 그룹은 모호하지 않게 계산될 수 있어, 상수 k는 카뎀리아에서 몇 가지 용도로 사용되지만 주로 복제 요소로, 데이터 조각은 k개의 가장 가까운 노드에 데이터의 ID에 저장된다. 검색 프로세스는 k노드 그룹을 반환하거나 각 노드에 데이터를 저장하기 전에 단일 데이터를 반환하도록 설계되었으며, 조회 반복 중에 노드를 보유한 첫 번째 노드에서 반환한다. 단일 노드를 찾을 카뎀리아를 사용하려면 않은 경우에는 모든 노드는 같은 방법으로 대상 노드의 연락처 세부 정보를 반환으로 조회 일찍 경우 목푯값을 완료하는 것이 초기에 빨리 마무리하기 위해 조회 프로세스를 수정하는 가치가 있다.[8]
- 카뎀리아 네트워크쿼리
- 카뎀리아 노드는 대개 다음 네트워크 쿼리를 지원한다. PING은 노드 가용성을 검사하고, STORE(key, value)는 노드가 value를 키 key 의 값으로 유지하도록 요청하여, TON DHT의 경우 STORE 쿼리가 약간 더 복잡하다(cf. 3.2.9). FIND_NODE(key, l)은 카뎀리아에 가장 가까운 카뎀리아 라우팅 테이블에서 알려진 노드를 key로 반환하도록 노드에 요청하며, FIND_VALUE(key, l)은 노드가 키 key 에 해당하는 값을 알고 있으면 값을 반환한다.[7]
- 임의의 노드가 키 의 값을 검색하기를 원할 때 모든 알려진 노드들 사이에서 카뎀리아 거리에 관하여 에 가장 가까운 즉, 카뎀리아 라우팅 테이블에서 가져온 노드들의 세트 를 의 일부 작은 값 예를 들어, 먼저 생성한 다음 FIND_VALUE 쿼리가 각각에 보내지고 응답에 언급된 노드가 에 포함되면, 에서 가장 가까운 의 노드가 이전에 완료되지 않은 경우 FIND_VALUE 쿼리를 보내는데, 이 과정은 값이 발견되거나 세트 의 성장이 멈출 때까지 계속된다. 이것은 카뎀리아 거리와 관련하여 에 가장 가까운 노드의 일종의 빔 검색 이다. 일부 키 의 값을 설정하려면 FIND_VALUE 대신 FIND_NODE 쿼리를 사용하여 에 대해 동일한 절차를 실행하여 에 가장 가까운 노드를 찾고, 이후에 저장소 쿼리가 모든 키에 전송되면, 카뎀리아 같은 DHT 구현에는 덜 중요한 세부사항이 있다.
- 카뎀리아 노드 부팅
- 카뎀리아 노드가 온라인 상태가 되면 먼저 자체 주소를 찾아 카뎀리아 라우팅 테이블을 채우는데, 이 과정에서 자신에게 가장 가까운 노드 s를 식별하고, DHT의 일부분을 채우기 위해 알려진 모든 (key, value) 쌍을 다운로드할 수 있다.[7] 텔레그램에 대해 자세히 보기
이오스트
이오스트(IOST) 네트워크를 구성하는 각 노드는 카뎀리아 알고리즘을 사용하여 각 노드만의 게이트웨이 테이블을 구성하고, 카뎀리아 알고리즘은 노드들의 ID 값에 XOR 연산을 하여 노드 간의 거리를 계산하는데, 이때 노드들은 다른 노드들과의 거리를 기준으로 버킷에 배치된다. 이를 통해, 어느 한 노드를 쿼리 할 때에는 해당 버킷 내에서 가장 가까운 노드만 찾으면 돼서 일정한 수의 쿼리만으로 노드에 대한 정보를 찾을 수 있으며, 이러한 방식으로 카뎀리아 알고리즘은 속도가 빠르고, 여러 분야에서 쓰일 수 있다는 점에서 장점을 가지는 알고리즘이다.[9] 이오스트에 대해 자세히 보기
스토리지
스토리지(Storj)는 블록체인 기술을 기반으로 개발된 개인 대 개인 암호화 클라우드 스토리지 네트워크로서, 사용자가 타사 저장소 공급자에 의존하지 않고 데이터를 전송하고 공유 할 수 있다. 스토리지의 특징중 분산 해시 테이블 카뎀리아로, 분산 해시 테이블(DHT)은 이름대로 해시 테이블을 분산하여 관리하는 기술을 뜻하며, P2P 네트워크의 부하를 억제하고, 네트워크상의 콘텐츠를 빠르고 정확히 검색할 수 있는 것이 가능하다. 스토리지는 카데밀라를 사용해서 분산 네트워크 및 효율적 메시지 라우팅 등을 구현한다.[10]
스토리지의 카뎀리아는 이름대로 해시 테이블을 분산하여 관리하는 기술을 말하며 P2P 네트워크의 부하를 억제하고 네트워크상의 콘텐츠를 빠르고 정확히 검색할 수 있는 것이 가능하며, 스토리지는 카뎀리아를 통해 효율적인 메시지 라우팅 및 분산 네트워크를 구현하여, 몇 가지 메시지 유형과 코어 카뎀리아 기능을 향상했다.[11]
- 퀘이사(Quasar)
- 스토리지는 퀘이사라고 하는 P2P 출판 및 구독 시스템을 구현해 노드의 계약 매개 변수 범위를 설정하여 프로토콜 표준화를 통한 확장을 가능하게 한다. 퀘이사를 사용하기 위해 스토리지는 세 가지 새로운 메시지 유형 SUBSCRIBE, UPDATE, PUBLISH 으로 카뎀리아를 확장했고, 이 메시지는 필터 작성 및 전파를 쉽게 한다.[11] 스토리지에 대해 자세히 보기
비트토렌트
비트토렌트(BitTorrent)의 DHT(Distributed Hash Table)는 Mainline DHT로 카뎀리아의 일종인 카시미르(Khashmir)로 운영된다. 카뎀리아는 노드ID사이의 XOR연산을 통해 목적지 노드를 찾아가는 라우팅 알고리즘을 갖고 있어, 한번에 하나의 비트씩 움직여 가기 때문에 의 시간을 갖는다. XOR의 이점은 가 성립한다. 카시미르의 경우 라우팅테이블은 160개의 버킷(bucket)으로 구성되고 각 버킷에는 최대 8개의 엔트리가 들어가도록 되어 있다. 버킷는 부터 사의 거리차가 있는 노드들을 담고 있다. 토렌트파일은 받고자 하는 파일의 정보해시로 구성이 되는데 이 정보해시를 키로 한다. 키인 정보해시가 담고 있는 가치는 그 파일 조각(segment)를 가지고 있는 피어 리스트(peer list)가 된다. 키는 160비트 이다.[12] 비트토렌트에 대해 자세히 보기
전망
사용자의 편의성 제공으로 일반 대중에게 손쉽게 접근이 가능하였던 P2P 기술은 영역을 조금씩 넓혀가고 있다. 단순한 파일 공유가 아닌 대용량서버 관리의 한계를 해결하고자 이용하고 있다. 스카이프(skype)나 에뮬같은 메신저는 암호서비스와 익명성으로 유익하게 접근이 가능하여 우리에게 친숙하고 떨어질 수 없는 존재가 되었다. 하지만 peek-a-Booty,TOR에서의 익명성은 개인정보보호만을 강조하여 자율권을 통제할 수가 없게 돼서 문제가 된다. 이러한 시점에서 통제할 수 없는 방임적 기술을 제도권으로 유도하여 P2P 서비스 개발에 대한국제표준을 제정하여 사이버 기능을 강화하면 서비스 보급에 상당한 진전이 될 것이다.
각주
- ↑ 제임스 프레스 위치, 〈Kademlia and Colors〉, 《prestwi》, 2016-06-13
- ↑ sigmoid, 〈Kademlia like 와 Node Table〉, 《스팀잇》, 2018-11-16
- ↑ jkhkkk, 〈4주차 스터디 이더리움 p2p는 어떻게 연결하는걸까?〉, 《스팀잇》, 2018-05-17
- ↑ 슭, 〈이더리움과 Eclipse attack〉, 《개인 블로그》, 2018-03-26
- ↑ 5.0 5.1 하마, 〈블록체인(이더리움)에서 주변노드와의 연결은 어떻게 할까?〉, 《OKKY》, 2018-05-23
- ↑ 코인논객오공, 〈(Ethereum) '제57차 이더리움 개발자 회의' 분석 및 개인 논평 v1.0〉, 《블록체인 허브》, 2019-03-16
- ↑ 7.0 7.1 7.2 7.3 텔레그램오픈네트워크 PDF - http://a.to/19RtD20
- ↑ 코드데이 공식 홈페이지 - https://codeday.me/ko/qa/20190410/297740.html
- ↑ IOST Docs 공식 홈페이지 - https://developers.iost.io/docs/ko/next/2-intro-of-iost/Network-layer.html
- ↑ 스토리지(STORJ) 소개자료 - http://a.to/19raH87
- ↑ 11.0 11.1 코팡맨, 〈STORJ 리뷰 - 합리적이고 안정적인 클라우드 시스템 ([코팡 에어드랍 1등 커뮤니티-비트코인/가상화폐/블록체인 정보)]〉, 《네이버 블로그》, 2019-05-15
- ↑ Tumblr, 〈DHT #1〉, 《개인 블로그》, 2010-06-15
참고자료
- 스토리지(STORJ) 소개자료 - http://a.to/19raH87
- 텔레그램오픈네트워크 PDF - http://a.to/19RtD20
- 코드데이 공식 홈페이지 - https://codeday.me/ko/qa/20190410/297740.html
- 〈카뎀리아〉, 《위키백과》
- 제임스 프레스 위치, 〈Kademlia and Colors〉, 《prestwi》, 2016-06-13
- 하마, 〈블록체인(이더리움)에서 주변노드와의 연결은 어떻게 할까?〉, 《OKKY》, 2018-05-23
- sigmoid, 〈Kademlia like 와 Node Table〉, 《스팀잇》, 2018-11-16
- 코인논객오공 , 〈(Ethereum) '제57차 이더리움 개발자 회의' 분석 및 개인 논평 v1.0〉, 《블록체인 허브》, 2019-03-16
- IOST Docs 공식 홈페이지 - https://developers.iost.io/docs/ko/next/2-intro-of-iost/Network-layer.html
- jkhkkk, 〈4주차 스터디 이더리움 p2p는 어떻게 연결하는걸까?〉, 《스팀잇》, 2018-05-17
- 슭, 〈이더리움과 Eclipse attack〉, 《개인 블로그》, 2018-03-26
- Tumblr, 〈DHT #1〉, 《개인 블로그》, 2010-06-15
- 코팡맨, 〈STORJ 리뷰 - 합리적이고 안정적인 클라우드 시스템 ([코팡 에어드랍 1등 커뮤니티-비트코인/가상화폐/블록체인 정보)]〉, 《네이버 블로그》, 2019-05-15
같이 보기