TigerCow.Door


이전글

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

#2_블록체인 무엇인가::분산 P2P 시스템

#3_블록체인 무엇인가::블록체인의 과제



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

지난 포스팅에서는 블록체인의 과제에 대해서 알아보았습니다. 이번에는 소유권의 본질에 대해 알아보도록 하겠습니다. 즉, 내가 가진 것을 내 것이라고 어떻게 증명하는지 함께 생각해보도록 합니다.



1. 소유권?


하나의 상황을 함께 생각해보겠습니다. 회사를 가기 전에 오전에 간단히 먹기 위한 쿠키를 하나 가지고 집을 나와 출근을 하기 위해 가는 길에서 목이 말라 편의점에 들려 바나나우유를 하나 구입하려 합니다. 헌데 편의점 직원이 가방 안에 있는 쿠키를 빤히 쳐다보고 있습니다. 하필이면 편의점에 있는 쿠키와 같은 쿠키입니다. 이런 상황이라면 불행히도, 직원은 내가 쿠키를 고르고 계산하지 않거나, 훔친 것으로 생각할지도 모릅니다. 더군다나 현재 편의점에는 다른 인원도 없고, CCTV도 없습니다.

이런 상황에서 그 쿠키가 나의 것이라는 것을 어떻게 증명할 수 있을까요?


너무나 당연한 것일지 모르지만, 내가 가지고 있는 것을 내 것이라고 증명하는 일. 그것을 어떻게 해야할 지 생각해본 적이 있나요?


과연 편의점에서 내가 가지고 있는 쿠키가 나의 것이라는 것을, 내가 훔치지 않았다는 것을 어떻게 증명해야 할까요?


물론 이러한 상황에서 법정을 가게 된다 하더라도, 내가 쿠키를 훔쳤다는 것을 증명할 사람도 없으므로 절도 혐의는 풀리겠지만 그렇다고 해서 소유권이 증명된 것은 아닙니다.


만약에, 내가 이전에 쿠키를 구입한 가게의 직원이 증명해준다면 어떨까요? 분명히 소유권을 증명하는데 도움이 될 것 입니다.

그러나, 법정에서 목격자에게 까다로운 질문 즉, 당신이 판매한 쿠키가 맞는지, 그 쿠키가 구체적으로 어떤 것인지, 그 쿠키를 산 것이 내가 맞는지 확신할 수 있는지, 그리고 그 모든것을 어떻게 세부적으로 기억하는지, 혹시 내가 목격자를 매수한 것은 아닌지 등을 이야기한다면 한 명의 독립적인 목격자보다, 독립적인 다수의 목격자를 확보하는 것이야 말로 소유권을 증명하는 좋은 방법이 될 것입니다.


즉, 동일한 사실을 증언하는 독립적인 목격자가 많을수록 그 사실은 진실일 가능성이 더 높아집니다. 그리고 그것이 블록체인의 핵심 개념 중 하나입니다.



2. 소유권 입증의 3요소


위의 상황을 개념화해본다면, 소유권을 입증하는데 필요한 세가지는 다음과 같습니다.


- 소유자가 누구인가

- 소유 물건은 무엇인가

- 소유자와 물건의 매핑


결국 목격자의 증언은 이 모든 것을 포괄하고 있습니다. 과거에는 이러한 목격자의 증언이 유일한 방법이었지만 최근에는 다양한 문서와 매체로 증언이 대체되고 있습니다. 



위의 사진은 소유권을 관리하는 소프트웨어를 디자인할 때 고려하는 여러 가지 개념 간의 관계를 보여주고 있습니다.

특히, 소유권을 증명하는데 있어서는 단순히 자산과 소유자의 매핑 뿐만 아니라 식별도 해야하고, 소유권을 사용하는데 있어서는 식별 뿐 아니라, 인증과 승인의 과정도 필요합니다.


이러한 식별과 인증, 승인은 보안의 개념으로 사용되는데 이에 대해서 조금 더 자세히 이해해야 합니다.


1. 식별(Identification)

식별이란 이름 또는 다른 식별자를 사용해 '누구'라고 주장하는 것이다. 하지만 식별은 누구라고 주장된 사람과 주장한 사람이 일치하는지는 증명하지 못합니다. 즉, 식별은 단순히 '누구'라고 주장하는 것을 의미합니다.


2. 인증(Authentication)

인증의 목적은 어떤 사람이 다른 누군가를 사칭하는 것을 방지하기 위함입니다. 인증이란 당신과 당신이라고 주장한 누군가가 서로 일치하는지 증명하는 것입니다.

이때 중요한 건 주장하는 바를 증명해주는 것은 그 사람만의 고유한 무엇이어야 한다는 점입니다.


3. 승인(Authorization)

승인은 식별된 사람의 성질과 특성에 기반해 특정 자원이나 서비스에의 접근을 허가해 주는 것을 의미합니다. 승인은 성공적인 인증과 함께 인증된 특정인이 가진 특성과 권리에 대한 평가를 토대로 얻는 최종 결과입니다.



3. 원장은 소유권을 증명하기도, 이전하기도 한다.


원장은 단순히 하나의 기능을 하는 것이 아니라, 두 가지 상반된 역할을 수행합니다. 하나는 원장에서 읽은 과거 데이터를 이용하여 소유권을 증명해주는 역할이고, 다른 하나는 소유권의 이전이 발생한 경우 원장에 새로운 데이터를 생성하여 이 사실을 문서화해 두는 역할입니다.


만약 원장이 누구에게나 공개되어 있다면 소유권 증명은 훨씬 쉬워집니다. 그러나 소유권 이전은 법적등의 권리를 가진 특정인에게만 배타적으로 허가되어야 합니다. 따라서 소유권 이전의 기초에는 개인정보 보호가 필요합니다.

원장에 쓴다는 것은 소유권이 변경되었다는 의미이므로 상당히 신뢰할 수 있는 개체에게만 쓸 수 있는 권한이 주어져야 합니다.

그리고 이러한 원장은 블록체인에서도 찾아볼 수 있습니다. 블록체인은 누구나 읽을 수 있게 개방된 원장과 유사한 데이터 구조를 가지는 거대한 분산 P2P 시스템입니다.



4. 소유권 관리자, 블록체인


만약 위에서 이야기한 것과 같은 원장이 손상되거나 파괴되면 어떻게 될까요? 또는 원장을 갱신하는 담장자가 실수를 하거나 고의로 위조하면?

이러한 경우 원장은 더 이상 진실을 반영하지 않게 됩니다. 원장의 내용이 진실이라고 믿고있는 이들에게 이것은 재난과도 같은 일 입니다.


원장 하나에만 의존해 소유권을 판정하는 문제는 법정에서 여러 명의 목격자에게 증언을 듣는 것과 비슷한 방식으로 해결할 수 있습니다. 

즉, 조작될 위험이 있는 원장을 하나만 유지하는 대신 원장의 순수 분산 P2P 시스템을 이용하여 다수의 노드가 동의하는 진실을 통해서 소유권을 확인하면 되는 것이죠.


그래서 결국, 소유권 관리를 위해 사용된 개별 원장은 소유권 관련 데이터를 저장하기 위해 사용된 블록체인-데이터-구조 하나와 같습니다. 즉, 개별 원장들은 P2P 시스템의 개별 컴퓨터(노드)에 저장됩니다.

이에 따라서, 블록체인-알고리즘은 개별 노드들이 최종 판결의 기초가 되는 하나의 일관된 소유권 상태에 집단적으로 도달하게 해줍니다. 

그리고, 그 과정 중 식별, 인증, 승인, 데이터 보안을 믿을 수 있는 수단으로 만들기 위해서 암호화 기법이 필요합니다.



이렇게 이번에는 소유권에 대해 그 본질을 알아보는 시간을 가졌습니다.

다음 포스팅에서는 분산 P2P 시스템에서 무결성을 침해와 가장 관련된 문제 중 하나인 이중사용 문제에 대해서 알아보겠습니다.

블로그 이미지

Tigercow.Door

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

댓글을 달아 주세요


이전글

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

#2_블록체인 무엇인가::분산 P2P 시스템



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

지난번 포스팅을 통해 분산 P2P 시스템에 대해서 알아보고, 실제로 많은 사람들이 사용하는 토렌트 서비스를 통해서 이해해 보았습니다.

그럼 이번 포스팅에서는 이러한 분산 P2P 시스템을 왜 아직 많은 곳에서 사용하지 않는지, 그리고 그것을 블록체인이 어떻게 해결해 줄 수 있는지에 대해서 알아보며 블록체인에 대해 정의를 내려보도록 하겠습니다.


1. 순수 분산 P2P 시스템의 지속 가능성


사실 우리는 두번째 포스팅에서 순수 분산 P2P 시스템이 산업 전체를 뒤바꿀 수 있을 만큼 강력한 잠재력을 지니고 있다고 알아보았습니다. 그런데 왜 아직 많은 곳에서 사용되지 않는 것 일까요?

즉, 순수 분산 P2P 시스템이 산업 전반에 사용되기 위하여 해결해야 할 주요과제는 무엇일까요?


P2P 시스템에 대한 지속 가능성은 우리가 첫번째 포스팅에서 알아보았던 개념, 신뢰와 무결성에 달려 있습니다.

소프트웨어 시스템의 관점에서 무결성은 시스템의 안전성, 완결성, 일관성, 정확성 및 변형과 오류 없음을 의미하는 비기능적 측면이고, 신뢰란 별도의 증거나 증명 또는 조사 과정 없이도 누군가 또는 무엇인가의 신뢰성, 진실성, 능력을 믿어주는 확고한 신념을 의미합니다.


즉, 사용자들은 P2P 시스템에 대해 일단 시스템에 합류를 하고 시스템에 기여합니다. 이후 지속적인 상호작용에 대한 결과가 기대했던 바와 같으면 더 큰 신뢰가 쌓여가면서 지속적으로 시스템의 구성원으로 남게 됩니다. 이렇게 사용자들의 기대를 충족시키며 시스템에 대한 신뢰를 강화시키기 위해서는 무엇보다 시스템의 무결성이 필요합니다. 

다시 말해, 시스템에 대한 무결성이 확보되지 않는다면 시스템은 사람들에게 신뢰를 잃어갈 것이며, 결국 사용자가 떠나는 문제가 발생하게 됩니다.


그렇다면, 우리가 순수 분산 P2P 시스템의 존립과 직결된 신뢰, 무결성에 대한 중요성을 이해했다면 다음과 같은 질문을 생각해볼 수 있습니다.


"순수 분산 P2P 시스템의 무결성을 확보하고 유지할 수 있는 방법은 무엇일까?"


순수 분산 P2P 시스템의 무결성을 확보하고 유지하는 일은 여러가지 요인에 달려 있지만 가장 중요한 두가지는 다음과 같습니다.


- 전체 노드 또는 피어의 개수를 아는가?

- 각 피어의 신뢰성에 대해 어느 정도 알고 있는가?


분산 P2P 시스템 내의 전체 노드 개수와 각 노드의 신뢰성을 알고 있다면 무결성을 확보할 가능성은 더 커집니다. 최악의 환경은 시스템에 참여한 노드의 개수도 모르고 각 노드의 신뢰성도 전혀 모르는 경우입니다. 모두에게 개방된 순수 P2P 시스템을 인터넷 상에서 운영하는 경우가 바로 그 최악에 해당 하는 것이죠.



2. P2P 시스템의 무결성을 위협하는 요소


그렇다면, P2P 시스템에서 우리가 중요하다고 이야기하는 무결성을 위협하는 요소는 또 무엇이 있을까요?


1. 기술적 결함

P2P 시스템은 인터넷으로 통신하는 사용자들의 개별 컴퓨터로 구성됩니다. 그런데 컴퓨터를 비롯한 모든 전자기기는 언제든지 고장이나 오류가 발생될 수 있습니다. 즉, 모든 분산 시스템에서는 개별 컴퓨터를 비롯하여 네트워크 장비 등이 고장이나 오류가 발생했을 때에 대한 대처가 가능해야 합니다.


2. 악의적 피어

P2P 시스템에서 무결성을 위협하는 두번째 요소는 악의적인 의도를 가진 사용자입니다. 이 요소는 첫번째와 같은 기술적 원인이 아니라, 시스템을 이용해 자신 개인의 이득을 취하려는 악의가 원인입니다.

부정직하고 악의적인 피어는 P2P 시스템의 근간인 신뢰성을 공격하려 하기 때문에 가장 심각한 위협 요소 입니다. 이러한 위협으로 인해 P2P 시스템 내의 사용자들이 다른 피어를 믿지 못하게 된다면 시스템을 떠나게 되고 더 이상 계산자원에 기여하지 않게 됩니다. 결국 전체 시스템 구성원이 감소되고 이로 인해 시스템의 효용성이 저하되며 또 다른 이탈자가 반복되는 악순환이 형성될 수 있습니다.



3. 블록체인, 무결성을 확보하라.


사실 위에서 이야기 한 것과 달리 최고의 상황, 최적의 상황에서 신뢰와 무결성을 확보하여 시스템을 유지하는 것은 어렵지 않습니다. 하지만 실제로 우리가 해야되는 것은 위에서 나온 것들을 바탕으로 한 최악의 조건을 가진 분산 시스템에서 신뢰와 무결성을 확보하는 점 입니다.

그리고 바로 이것이 블록체인이 해결해야 하는 과제 입니다.

즉, 블록체인이 해결해야 되는 문제는 '개수도 알려져 있지 않고 신뢰성과 안정성도 알 수 없는' 피어들로 구성된 순수 분산 P2P 시스템의 무결성을 확보하고 유지하는 것 입니다.



4. 그래서 '블록체인' 이란?


그래서 도대체 '블록체인'이 무엇일까요?

사실 블록체인은 다양한 의미로 사용될 수 있습니다.

먼저 4가지 다른 의미에 대해서 간략하게 알아보도록 하겠습니다.


1. 데이터 구조의 명칭

컴퓨터 과학이나 소프트웨어 공학에서 말하는 데이터 구조(data structure)란, 구체적인 정보나 내용과 상관없이 데이터를 정리하는 방식을 이야기 합니다. 

데이터 구조는 간단하게, 건물 설계도의 평면도 쯤으로 생각해볼 수 있습니다. 평면도는 공간의 구체적인 용도와 상관없이 벽과 바닥 그리고 계단을 사용하여 공간을 분리되기 때문 입니다.

블록체인이 데이터 구저의 명칭으로 사용될 때에는 블록이라 불리는 단위에 모인 모든 데이터를 지칭합니다. 그리고 이 블록들은 책을 구성하는 페이지들과 유사하게 마치 체인처럼 서로 연결되어 있어서 블록체인이라는 이름이 붙었습니다.


2. 알고리즘의 명칭

소프트웨어 공학에서 알고리즘(algorithm)이란 컴퓨터가 실행해야 할 일련의 명령어들을 의미합니다. 그리고 이 명령어들은 대개 데이터 구조를 포함합니다.

블록체인이 알고리즘의 명칭으로 사용될 때에는 순수 분산 P2P 시스템에서 여러 블록체인 데이터 구조 내의 정보 내용을 민주주의 투표 방식과 비슷한 방법을 써서 서로 협상하는 일련의 명렁어를 의미하는 것 입니다.


3. 기술묶음의 명칭

블록체인이 기술 묶음의 명칭으로 사용될 때에는 블록체인 데이터 구조(blockchain-data-structure), 블록체인 알고리즘(blockchain-algorithm), 암호화 및 보안 기술의 조합을 의미하게 됩니다.

이들의 조합은 응용분야와 상관없이 순수 분산 P2P 시스템의 무결성을 확보하는데 이용될 수 있습니다.


4. 일반 응용분야를 가지는 순수 분산 P2P 시스템을 포괄하는 용어

블록체인은 블록체인 기술묶음을 활용하는 거래장부들의 순수 분산 P2P 시스템을 지칭하는 포괄적인 용어로도 사용됩니다. 

즉, 순수 분산 시스템을 구성하는 한 부분인 소프트웨어의 단위를 의미를 이야기하는 것이 아니라 순수 분산 시스템 전체를 의미합니다.


그리고 우리가 이어서 블록체인에 대한 이야기를 할 때, 위에서 알아본 4가지 의미 중 4번째인, 순수 분산 P2P 시스템 전체를 의미하는 용어로 블록체인이라는 단어를 사용합니다.


그럼, 아직 중요하게 알아볼 내용들이 많지만 임시적으로 블록체인에 대한 정의를 내려보면 다음과 같습니다.


블록체인이란 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들의 정보 내용을 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(거래장부)의 순수 분산 P2P 시스템을 의미한다.



5. 비트코인 기술이 블록체인의 전부는 아니다.


위에서 임시적으로 정의한 내용에서 비트코인(Bitcoin)이나 암호화폐(Cryptographic money)에 대한 어떠한 언급도 존재하지 않습니다.

사실 많은 기사나 읽을거리에서 블록체인의 목적이 디지털 화폐의 소유권을 관리하기 위한 것으로 기술하고 있는데, 이렇게 암호화폐의 소유권을 관리하는 것은 아주 중요하고 자연스러운 블록체인의 응용분야 중 하나일 뿐이며 그 자체가 블록체인의 전부는 절대 아닙니다.


블록체인은 다양한 분야에 폭넓게 응용될 수 있습니다. 그럼에도 블록체인에 따라 암호화폐, 디지털화폐 등에 대한 소유권 관리 측면이 부각되는 이유는 두가지가 있습니다.

첫번째, 이해하기도 설명하기도 가장 쉽기 때문입니다.

두번째는 경제에 가장 크게 영향을 끼치는 실 사례이기 때문입니다.


블록체인을 원장(거래장부)의 분산 P2P 시스템을 관리하는 기술묶음의 용도로 활용하게 된다면 디지털 재화의 소유권 관리나 암호화폐와 같은 특별한 분야에 사용할 수 있습니다. 그러나 우리가 알아볼 때에는 이렇게 특정 분야만 고려하지 않지만, 블록체인을 더 쉽게 이해하도록 특정 재화와 상관없이 소유권을 관리하고 명료화하는 일반적인 응용 예에 대해서만 다룰 것 입니다.



이렇게 순수 분산 P2P 시스템이 유지되기 위해 필요한 점, 그리고 그것을 위협하는 요소들에 대해서 알아보고 이어서 블록체인이라는 용어에 대해 알아보며 임시적인 정의를 내려보았습니다. 그리고 비트코인 기술이 블록체인에 대해 보다 쉽게 이해하기 쉬운 사례일 뿐임을 말씀드렸습니다.

이후 포스팅에서는 우리가 블록체인에 대해 본격적으로 이해하기 위해 먼저, 소유권이라는 본질에 대해서 알아보도록 하겠습니다.

블로그 이미지

Tigercow.Door

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

댓글을 달아 주세요


이전글

#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

댓글을 달아 주세요