TigerCow.Door


이전글

#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처



안녕하세요. 문범우입니다.

지난 첫번째 글에서 '소프트웨어 시스템 아키텍처'에 대해서 알아보았습니다. 그 중에서도 블록체인이 도구로서 활용될 분산 시스템에 대해서 주로 알아보았습니다.

그리고 이번 포스팅에서는 분산 시스템 중에서도 특수한 형태로 나타난 '분산 P2P 시스템'에 대해서 알아보도록 하겠습니다.




1. 분산 P2P 시스템이란


피어 투 피어(peer - to - peer) 시스템은 분산 시스템의 특수한 형태입니다. P2P 시스템에서는 개별 컴퓨터(노드)로 구성되어 있으며 분산 시스템이기 때문에 중앙 노드의 조정 없이 네트워크의 모든 구성원이 서로에게 계산 자원을 제공합니다.

무엇보다 중요한 것은 네트워크 상에서 각 노드는 시스템 내에서 동등한 권리와 역할을 가집니다. 즉, 모든 노드가 자원의 공급자인 동시에 소비자가 됩니다.

쉽게 생각해보면 많은 사람들이 사용하고 있는 '토렌'를 생각해볼 수 있습니다.

토렌트또한 개방형 P2P 시스템으로써, 동일한 네트워크에 참여한 모든 노드가 소비자로서, 피어의 역할을 하게 되며 공급자로서 시드의 역할도 하게 됩니다.


추가로 보다 세부적인 내용에 대한 설명은 아래 블로그들을 참고하시면 좋을 것 같습니다. 아무래도 블록체인과 토렌트의 네트워크 방식이 동일하기 때문에 관련되어 설명하는 부분들이 많습니다. 만약 블록체인과 관련된 내용에 대해 이해하기 어렵다면 무시하시고, 토렌트에서 사용되는 P2P 네트워크에 대해서만 이런거구나 하는 느낌으로 이해하시면 좋을 것 같습니다.

토렌트를 알아보자

토렌트 개념잡기

토렌트와 블록체인


그 내용을 대략적으로 이해해본다면, P2P 네트워크 상에는 더 많은 사용자가 네트워크에 참여할수록 네트워크는 더 거대해지고 더 강력해집니다. 토렌트를 사용해보신분들도 있겠지만 많은 사람들이 다운받으려고 하는 최신 파일을 다운 받을때는 정말 빠른 속도로 다운받을 수 있죠.(물론 우리나라에서는 저작권등의 문제로 불법입니다!)

하지만 토렌트의 단점으로는 오래되거나 사람들에게 관심없는 파일의 경우에는 파일의 조각을 공급해주는 시더가 없기 때문에 다운받는 속도가 느립니다. 그리고 이것이 블록체인과 토렌트의 차이이기도 합니다. 추후에도 알아보겠지만 블록체인에서는 이러한 문제를 막기위해, 시더의 존재를 유지하기 위해 '채굴'이라는 개념이 존재합니다.



2. P2P 네트워크의 잠재력


사실 P2P 네트워크는 과거에도 존재했으며, 특정 산업에 대한 변화도 이끌어내었습니다. 대표적인 것은 바로 음악산업입니다.

요즘은 음악을 듣기 위해 CD를 사기보다 MP3 파일을 공유하는 스트리밍 서비스를 주로 이용합니다. 이런 변화는 사람들이 각자 가지고 있는 음악 파일을 서로 공유할 수 있는 소프트웨어의 등장으로 가능해졌습니다. 그리고 그것의 시작은 냅스터(Napster) 서비스 이었으며 냅스터의 공동 창업자 숀 패닝(Shawn Fanning)은 다음과 같은 말을 하였습니다.

"이 시스템의 어떤 점이 그렇게 흥미로운가 하면, 바로 동료들과 상호작용한다는 점이다. 길거리 사람들 그 누구와도 서로 정보를 주고받을 수 있다."


음악산업은 과거에 다음과 같이 작동하였습니다. 먼저 음악가와 스튜디오가 계약을 맺습니다. 계약이 성사된 후에, 스튜디오는 음악가의 노래를 녹음하고 CD와 테이프와 같은 다양한 매체에 담아서 이를 판매하였습니다. 즉, 스튜디오는 결국 음악가와 음악을 듣고자하는 소비자 사이에서 중개자 역할을 수행하였습니다.

이렇게 스튜디오가 중개자 역할을 할 수 있었던 이유는 음반 제작, 마케팅, 판매채널등에 대한 전문적인 지식을 보유하였기 때문입니다. 그러나 2000년 이후에 스튜디오 환경은 급격히 변화되었습니다.

음악의 디지털화, 저렴한 녹음시설 및 개인 PC의 보급, 인터넷의 등장은 사실상 음악 스튜디오가 사람들에게 필요없게 된 배경입니다. 이전에 스튜디오가 주로 하던 음반 제작, 마케팅, 판매채널에 대한 전문적인 지식의 장벽이 낮아짐에 따라 작곡가나 소비자 스스로가 해결할 수 있게 되었기 때문이죠.

즉, 냅스터는 중개자로서의 음악 스튜디오를 대체하는데 주된 역할을 수행한 것입니다.

냅스터의 등장으로 음악을 듣고자 하는 소비자들은 CD를 구입하지 않아도 최신 인기곡을 들을 수 있게 되었고, 다양한 사람들과 음악 파일을 공유할 수 있게 되었습니다. 스튜디오 산업에는 큰 타격을 입히게 되었지만 결국적으로 음악 소비자들은 이전에 경험하지 못한 폭넓은 음악 세계를 접하게 되었습니다.


이와 같이 P2P 네트워크는 거의 모든 산업을 뒤흔들 잠재력을 가지고 있습니다.

최소한 무형의 상품이나 디지털화 된 상품 또는 서비스를 중개하는 역할을 주업으로 하는 산업은 거의 모두 P2P로 대체될 가능성이 높은 것이죠. 그리고 우리 주변에 이런 종류의 산업중 가장 크게 다가오는 것은 금융업입니다.


은행계좌나 신용카드, 직불카드에 들어있는 것은 결국 무형의 비트와 바이트, 즉 디지털 정보입니다. 즉 이 세상의 대부분의 돈과 자산은 무형의 비트와 바이트 형태로 금융회사의 중앙 정보 기술 시스템에 저장되어 있습니다.

은행을 비롯한 금융계의 많은 회사들은 돈과 재산을 나타내는 비트와 바이트를 생산하고 소비하는 사람들 사이를 단순히 이어주는 중개자 역할을 주로 수행합니다. 우리가 돈을 빌리고, 빌려주는 등의 행위는 사실 중개자가 무형의 상품을 시스템 속에서 대상자에게 전달함으로 이루어집니다. 실질적으로 이용하는 우리는 느끼지 못하지만 간단한 거래하나에도 많은 중개자가 관여하게 됩니다.

'블록체인 무엇인가?'의 책에서 이야기하기로는 국가간의 은행 자금이체의 과정에서는 5개의 중개기관이 관여하게 되며 각 처리단계마다 일정 시간이 소요되며 해당 비용을 청구하게 됩니다. 하지만 P2P 거래에서는 동일한 행위가 훨씬 간단하며 시간과 비용도 거의 들지 않습니다.


즉, 중앙 통제 시스템과 비교하여 P2P 시스템이 가진 장점으로는, 중개자를 통해 간접적으로 상호작용하지 않고 거래 당사자끼리 직접 상호작용한다는 점이며 그 과정속에서 처리 시간과 비용이 현저하게 줄어든다는 점 입니다.



3. P2P 시스템과 블록체인의 연관성


그래서, 이렇게 좋은 P2P 시스템과 우리가 알고자하는 블록체인은 정말 무슨 연관이 있는 것 일까요?

다시한번 P2P 시스템에 대해 결론을 내려보면서 블록체인과의 연관성을 알아보겠습니다.


1. P2P 시스템의 정의

P2P 시스템은 여러 노드(개별 컴퓨터)로 구성된 분산 소프트웨어 시스템으로, 한 노드의 자원(계산 능력, 저장 공간, 정보 배분 등)을 다른 노드들이 직접적으로 사용할 수 있다는 특징을 가집니다. 따라서 모든 사용자의 컴퓨터는 자원의 공급자인 동시에 소비자가 됩니다.


2. P2P 시스템의 아키텍처

P2P 시스템은 구조 자체가 분산 컴퓨터 시스템으로 되어 있습니다. 하지만 여전히 중앙 통제 요소를 가지는 P2P 시스템도 존재합니다. 중앙 통제 P2P 시스템은 중앙 노드를 이용하여 노드 간 상호작용을 중재하고, 피어 노드가 제공하는 서비스 목록들을 유지 관리하고 노드를 검색하며 식별합니다. 이러한 중앙 통제 P2P 시스템의 대표적인 예는 위에서 이야기한 냅스터입니다. 냅스터는 중앙 데이터베이스에 접속한 모든 노드와 각 노드가 보유한 노래 정보를 저장하고 있습니다.

반면 순수 분산 P2P 시스템에는 중앙에서 통제하거나 조정하는 어떠한 요소도 없습니다. 따라서 시스템의 모든 노드는 동일한 과제를 수행하며, 자원과 서비스의 생산자인 동시에 소비자 역할을 수행합니다.


3. P2P 시스템과 블록체인의 연관성

결론부터 이야기하면, 블록체인은 분산 시스템에서 무결성을 확보하고 유지하는 도구입니다. 즉 순수 분산 P2P 시스템은 무결성의 확보와 유지를 위해 블록체인을 도구로서 활용합니다.


즉, 사람들은 전체 산업을 통째로 뒤바꿀 수 있는 장점을 가진 순수 분산 P2P 시스템이 블록체인을 활용하여 무결성을 확보하고 유지할 수 있다는 점 때문에 블록체인에 대해 열광합니다. 그러나 엄밀히 이야기하면 사람들을 정말로 흥분시킨 요소는 '탈중개화'입니다. 즉, 블록체인은 단지 탈중개화를 위한 도구일 뿐입니다.


다시 한번 정리한다면, 사람들이 블록체인에 열광하는 이유는 탈중개화를 통해 전체 산업 생태계를 변화시킬 잠재력을 지닌 순수 분산 P2P시스템이 무결성의 확보와 유지를 위한 도구로 블록체인을 사용할 수 있기 때문입니다.



이렇게 해서 분산 P2P 시스템에 대해서 알아보았습니다.

다음 포스팅에서는 본격적으로 블록체인에 대해서 포커싱을 두며 '왜 우리에게 블록체인이 필요한가', 즉 블록체인이 해결해야 하는 문제점들과 그 문제점을 해결하는 것이 왜 중요한지등을 알아보며 이야기를 해보겠습니다.

추가적으로 궁금하거나 의문이 드는 점, 잘못된 내용들에 대한 피드백은 언제든지 댓글이나 메일, 카톡을 통해서 말씀해주시면 감사하겠습니다.



블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc

댓글을 달아 주세요