본문 바로가기
암호화화폐 투자/암호화화폐 공부

가상화폐 핵심 기술 정리 : 해시 / P2P / 비잔티움 장군 문제 / 이중지불 / 합의 알고리즘 / 포크

by 함께 만드는 블로그 2021. 1. 31.
반응형

▷해시(hash)

 해시란 단방향 암호화 기법. 해시함수를 이용하여 고정된 길이의 암호화된 문자열로 바꾸는 것. 이런 암호화 기법으로 가상화폐의 보안성을 높일 수 있음. 

 

 

피어투피어(peer to peer)

 일명 P2P. 컴퓨터와 컴퓨터를 직접 연결해 서버 없이도 서로 데이터를 전송할 수 있게하는 기술. 코인에서 피어투피어 방식이라 하면, 각 사용자가 전체 코인 네트워크를 이루는 작은 조각 그 자체라는 뜻임. 분산형 네트워크와도 비슷한 말이라고 할 수 있다.

 P2P 방식은 분산화되어 보안성이 뛰어나다는 장점이 있으나, 각 참가자(노드)들의 트렌젝션을 다 모아서 일일이 처리해야하기 때문에 연산량이 많아져 효율성이 떨어지게 된다. 효율성이 떨어진다는 말은 가상화폐의 확장성도 떨어진다는 뜻이다. 이렇게 보안성 / 확장성 / 탈중앙성을 모두 향상시키기는 상당히 어렵다. 

 

 

분산형 네트워크(Distributed Network)

 

 정보처리, 기억 및 연산처리 등이 상호 접속된 개별적인 장치에 의해 실행되는 정보통신 네트워크. 즉 하나의 과제를 여러 대의 컴퓨터(노드)들이 힘을 합쳐 처리하는 것. 

 하지만 이런 분산형 네트워크에서 몇몇 사람들(노드)이 악의적으로 행동할 때에도 분산형 네트워크는 신뢰성과 안전성을 유지할 수 있을까? 비잔티움 장군의 문제라는 가상의 문제를 통해 알아 볼 수 있다. 

 

 

비잔티움 장군의 문제

 위의 문제가 바로 '비잔티움 장군의 문제'이다. 뭔가 어려워 보이지만 간단하게 설명하면 모두가 힘을 합쳐 동시에 성을 공격하면 성을 함락시킬 수 있지만, 몇몇만 배신해도 큰 피해를 입고 성을 함락할 수 없는 문제 상황이다. 

 이런 경우를 통해 살펴볼 수 있듯이, 분산형 네트워크에서는 데이터 처리에 모든 노드들이 참여하기 때문에, 소수의 악성 노드에 의해서도 심각한 문제가 생길 수 있다. 가상화폐 시스템에서 생길 수 있는 문제들을 살펴보자. 

 

 

51공격

  51 공격이란 의사결정권의 51%를 장악해 가상화폐 시스템을 원하는대로 조작하는 것. 중앙화 시스템이라면 검증된 관리인이 합리적 판단을 내리기 때문에 다수에 의한 조작이 어렵다.(중앙 정부에 의한 조작은...??^^;;) 하지만 분산형 시스템에서는 중앙화된 관리자가 없기 때문에 누군가 의사결정권의 51%를 장악한다면 그 시스템을 마음대로 장악할 수 있다. 

 

 

이중지불(double spending)

  위의 51 공격을 통해 나타날 수 있는 대표적인 부적절성이 '이중지불'이다. 말 그대로 하나의 화폐로 2번 거래를 지불했다는 뜻. 기존의 중앙화 금융체계에선 일어날 수 없는 일이다. 중앙 관리자가 서버 전체를 관리하여, 거래가 일어나면 잔고를 삭제하기 때문. 하지만 분산형 네트워크 시스템에서는 51%의 의사결정권을 차지하게 되면 거래 내역을 되돌리고 수정해가며, 가상화폐를 여러번 지불할 수 있다. 

 비잔티움 장군 딜레마에 의해 생길 수 있는 여러 문제들을 피하기 위해 적절한 의견 합의 방식이 필요하다. 이것을 '합의 알고리즘' 이라고 한다.

 

 

 합의 알고리즘

 합의 알고리즘은 블록체인 네트워크에서 네트워크 연결을 통해 새로운 기록의 공유, 검증 및 추가에 대한 전체의 동의를 이끌어 내는 알고리즘이다. 가장 보편적인 방식으로 크게 2가지로 분류할 수 있다.

 작업 증명(POW : Proof Of Work) /  지분 증명(POS : Proof Of Stake

 

 

작업 증명(POW : Proof Of Work)

 작업 증명 방식은 각 노드(개인)들이 의사결정권을 가질 권리를 '작업'을 통해 증명하는 방식이다. 즉, 복잡한 연산이 필요한 해시함수를 푸는 작업에 참여함으로서 자신이 의사결정권을 가질 권리가 있음을 증명한다. 

 또 이런 작업의 보상으로 새롭게 생성되는 코인을 얻게 되는데, 이런 과정을 '채굴'이라고 한다.  

 

 

 지분 증명(POS : Proof Of Stake

 반면에, 지분증명은 암호화폐를 보유한 지분율에 비례해 의사결정 권한을 주는 방식이다. 노드(node)가 보유한 자산을 기준으로 권한을 분배하여 합의하고 보상을 분배한다.

 주주 총회에 갔을 때, 보유하고 있는 주식 비율에 해당하는 의결권을 가지는 것을 생각하면 된다. 또, 보유하고 있는 주식만큼 배당금을 받듯이, 지분 증명 방식에서는 새로운 생성되는 암호화폐를 각 노드가 보유하고 있는 지분율에 비례해 분배한다.

 

 

포크(Fork)

출처: 뱅크샐러드

 블록체인 구성원들 사이에서 합의가 이뤄지지 않을 때 위의 그림처럼 블록체인이 둘로 나눠지게 되는데, 이렇게 갈리진 모양이 포크 같다고 해서 '포크(Fork)' 라고 한다. 이런 포크에는 두 종류가 다.

 소프트포크(Soft Fork) / 하드포크(Hard Fork)

 

 

소프트포크(Soft Fork)

출처: 뱅크샐러드

 소프트포크는 블록체인 시스템의 부분적인 업데이트가 일어나는 것이다. 이때 기존의 규칙을 적용하는 블록과 새로운 규칙을 적용하는 블록들로 나뉘게 되는데, 이 두 블록들 간에 호환이 가능한 특징이 있다. 또 마지막에 두 블록들 간에 합의가 이뤄진다면, 하나의 블록체인으로 합쳐질 수도 있다.

 

 

하드포크(Hard Fork)

 하드포크는 블록체인 시스템의 근본적인 업데이트가 일어나는 것이다. 이때 기존의 규칙을 적용하는 블록과 새로운 규칙을 적용하는 블록들로 나뉘게 되는데, 이 두 블록들 간에 호환이 불가능한 특징이 있다. 이렇게 한 번 나뉘어진 블록들은 서로 다른 블록체인으로 존재하게 된다. 

 이런 하드포크의 대표적인 예로 이더리움 클래식과 이더리움 클래식에서 하드포크된 현 이더리움이 있다.

 

반응형

댓글