Substratum 시리즈 15 (SubstratumCORES Network Topology Introduction, SubstratumCORES 네트워크 구성 소개)
SubstratumCORES Network Topology Introduction (SubstratumCORES 네트워크 구성 소개)
- 그 동안에...
갑자기 동영상 상의 날짜가 9월에서 12월로 옮겨졌습니다. 제가 이 포스팅을 통해서 알려드리고자 하는 바는 Substratum의 구동 방식이지 여러 이벤트가 아니었기 때문에 잠시 시간이동을 했습니다.
그 동안에 Substratum에겐 많은 일이 있었습니다. 이제는 한국에서도 유명한 Binance 거래소 및 HitBTC 거래소에 SUB가 상장되었으며, 두 차례에 거친 토큰 소각이 이루어졌고, 세계 여러 나라에서 지원자를 받아 시행한 알파 테스트 #1이 끝났습니다. 또한 개발자들 밋업 및 현재 SUBLOCC이라고 그들이 명명한 Substratum 블록체인 밋업 또한 시작되었습니다. Substratum은 점점 자리를 잡기 시작했고 제가 투자를 시작한 시점도 이 즈음이었을 겁니다.
알파 테스트 #1을 끝낸 그들은 Substratum 네트워크의 구동 방법에 대한 좀 더 자세한 포스팅을 올렸습니다.
- 내용
안녕하세요, 오늘은 Substratum 네트워크에 힘을 불어다 줄 수 있는 요소인 통칭 Substratum CORES 시스템에 대한 자세한 정보를 알려드리려고 합니다. 그 세부사항은 다음과 같습니다(아래 내용은 동영상을 보면서 같이 읽는 것이 도움이 됩니다)
첫 번째, Substratum 네트워크는 Substratum 노드 소프트웨어를 구동하면서 시작됩니다.
두 번째, 각 Substratum 노드는 Neighborhood(이웃)에 속해있습니다.
세 번째, Substratum Neighborhood는 여러 Substratum 노드들로 구성되어 있습니다. 각 노드는 바로 근접해 있는 노드만 인식할 수 있고, 이는 공격자들이 네트워크 안으로 침투하는 것을 막을 수 있어 각 노드들의 익명성을 보장하고 네트워크의 안정성을 증가시킵니다.
네 번째, 웹 이용자가 웹사이트를 이용하겠다는 요청을 보내면(사이트에 접속하면) Substratum 노드(A)는 근접한 노드에게 전해 줄 요청 패키지를 만듭니다. 요청 패키지에 대한 내용은 다음과 같습니다.
- 암호화된 route stack은 웹 이용자와 웹 호스트 사이를 오고갑니다.
- route stack 안에는 암호화된 패키지가 들어있습니다.
- 암호화된 패키지 안에 암호화된 정보가 들어있고 암호화된 정보는 처음의 웹 이용자의 요청사항입니다.
다섯 번째, 처음 웹 이용자의 요청을 받았던 그 노드(A)는 route stack을 만듭니다.
route stack은 다음과 같습니다.
- 웹 이용자는 크롬과 같은 웹브라우저를 이용하여 https://substratum.net 이라는 요청을 보냅니다.
- Substratum 노드는 암호화된 패키지를 만드는데, 이는 route path를 따라서 있는 각 노드들이 각각의 정보를 암호화 합니다. route path는 처음 요청을 받은 노드(A)에 의해서 결정되며, 요청과 응답의 통로가 다릅니다. 웹 호스트가 웹 이용자에게 정보를 보내는 루트와, 웹 이용자가 웹 호스트에게 정보를 보내는 루트가 다르기 때문에 이 방식은 매우 안전합니다.
- 암호화 된 패키지는 바로 근접해 있는 노드에게 전달됩니다. 각 Substratum 노드들은 바로 근접해 있는 노드들의 IP주소밖에 모르기 때문에, 이는 공격에 대한 방지책이 될 수 있습니다.
- 근접해 있는 노드는 암호화 된 패키지를 받고 이를 복호화합니다. 이는 지문이 일치하는 Substratum 노드만이 복호화 할 수 있습니다.
Substratum 노드가 암호화 된 패키지를 복호화 하는 방식에 대해서 말씀드리겠습니다.
- 패키지를 받은 Substratum 노드는 전체 패키지를 복호화 하는 것이 아니라 '다음 지시사항'에 대해서만 복호화 합니다.
- '다음 지시사항'에는 route stack에 있는 퍼블릭 키를 이용하여 요청을 다음 노드에게 연결하도록 하는 내용이 있습니다.
- 다시 암호화된 패키지를 받는 Substratum 노드도 '지시사항'에 따라 요청을 다음 노드에게 연결합니다. 최소 세 번의 정보 전달 과정이 있으면 네트워크에 대한 인식이 구분될 수 있습니다. (노드는 서로 근접한 노드의 IP 주소밖에
모르므로 네트워크가 구분된다는 뜻) Substratum 노드는 바로 근접한 노드들 이외의 노드들의 IP 주소를 모르기 때문에 네트워크 공격에 대한 우려가 줄어듭니다. - 최종 목적지를 향한 정보 전달 및 응답 과정은 웹 이용자의 요청대로 요청을 전달했던 첫 번째 노드(A)를 대신해서 지시사항을 따르는 여러 Substratum 노드들에 의해서 이루어집니다. 요청에 대한 응답은 안전성과 익명성을 보장할 수 있는 최적의 루트로 보내집니다.
- 응답 과정은 요청 과정과 비슷하지만, 웹 이용자를 위한 '응답'이 암호화되어 있습니다. 오직 첫 요청을 받았던 그 노드만이 '응답'을 복호화 할 수 있으며 웹 이용자에게 브라우저를 통해서 전달할 수 있습니다.
사견
한국말이고 제가 쓴 말인데도 어렵네요.. 여러 번 반복해서 읽어봐도 내공이 부족해서 저도 내용 파악이 쉽지 않은 부분이 있습니다. 이 전에 Substratum에서 정보전달이 어떻게 이루어지는지에 대한 간단한 포스팅을 한 적이 있었는데 이 때는 ICO 당시로, 그 때보다 컨셉이 좀 더 구체적이 되었음을 알 수 있습니다. (그래서 베타 출시가 이렇게나 늦었니...)
현재 Substratum은 프라이빗 베타가 출시되었고 베타테스터들에게 메일을 보내 다운로드 링크를 보낸다고 합니다. 또한 이번 프라이빗 베타 테스트가 지나면 모든 사람들이 볼 수 있는 오픈 소스로 제너럴 퍼블릭 베타를 출시한다고 하는군요 :) 그래서 그런지 오늘 Substrate의 가격도 약 20% 상승을 기록했습니다. 한참 폭락장이었는데 기분좋은 뉴스로 찾아와 준 Substratum 팀에게 박수를 보냅니다.