블록체인 정의와 요소 기술 정리

블록체인 정의와 요소 기술 정리

블록체인은 분산장부(Distributed Ledger) 기술로서 네트워크 참여자들이 데이터를 저장하고 검증하는 형태로 설계 되어있다. 기존의 금융 업무는 자산에 대한 소유권의 실물 보관 여부와 무관하게 특정한 기관에서 관리하는 원장(Ledger)에 기록(Record)된 바에 따라 결정되었다. 현재 유통되는 통화의 대부분을 차지하는 결제성 예금은 은행이 고객별로 잔고를 관리하면서 입출금을 승인하고 기록하며, 중앙은행은 다시 은행별 잔고를 원장에 기록하고 은행간 자금이체를 처리하는 방식이다.

즉, 장부를 중앙집중형으로 관리하는 기존 시스템은 신뢰할 수 있는 제 3의 신뢰할 수 있는 기관(TTP : Trusted Third Party)을 설립하고 해당 기관에 대한 신뢰를 확보하는 방식으로 발전해왔다. 이에 따라 특정 기관에서 조작 등 문제가 발생하여 시스템에 대한 신뢰가 훼손되는 것을 예방하기 위한 높은 관리비용과 해킹이라는 문제점을 갖게 된다.

그러나 블록체인은 거래정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 참가자가 공동으로 기록하고 관리하게 함으로써 이러한 문제점을 해결하고자 하였다. 블록체인은 중간에 제 3자를 거치지 않기 때문에 수수료와 관리비용을 절감의 효과를 볼 수 있으며 정보공동소유로 데이터의 임의조작이 어렵다.

블록체인 요소 기술
블록체인에는 거래를 투명하고 안전하게 보호하기 위한 분산 네트워크 운영, 암호화 등 다양한 기술이 적용되지만 본 보고서에서는 다양한 요소기술 중에 대표적인 기술인 체이닝 기술과 동의·합의기술에 대해 살펴보고자 한다. 아래는 새로 생성되는 블록을 기존 블록에 연결시키는 체이닝 기술을 설명한다. 또한, P2P 네트워크 기반이기 때문에 서로를 믿을 수 없어 나타날 수 있는 문제점과 함께 데이터의 무결성을 보장하기 위한 동의·합의기술에 대해 상세하게 기술하였다.

체이닝 기술

체이닝 기술이란 트랜잭션들이 모여 하나의 블록에 생성되었을 때 이를 블록체인에 연결시키는 기술이다. 연결되는 블록은 앞선 부모 블록의 해시 값이 기록되어 있어 해시기반 트리구조 및 연결리스트 구조로 블록들이 연결 되어있다. 중간에 있는 블록의 변조를 위해서는 마지막 연결 블록에서부터 변조하고자 하는 블록까지를 빠른 시간 안에 순차적으로 조작해야 하는데, 이 과정은 검증시간보다 오래 걸리기 때문에 데이터 위 ·변조가 어렵다.

체이닝 기술에서는 생성된 블록을 블록체인에 연결시키고자 할 때 보다 많은 블록이 연결되어 있는 블록체인이 악의적인 조작 가능성이 낮은 것으로 간주하여 이에 연결시킨다.

동의·합의 기술

블록체인은 인터넷에서 사용자끼리 직접 연결해 데이터를 주고받는 구조인 P2P 네트워크를 기반으로 하고 있기 때문에 사용자 간의 신뢰가 중요한 이슈이다. 이러한 문제를 컴퓨터 공학계는 ‘비잔틴 장군 딜레마 (Byzantine generals problem)’8) 라고 하며, 블록체인은 P2P 분산 컴퓨팅의 오랜 딜레마인 정보간 충돌(중복사용) 문제를 해결했다. 비잔틴 장군 딜레마에서 일부 장군이 악의적으로 거짓 공격 시점을 전달하게 된다면 과반수이상의 장군이 공격에 참여 할 수 없으므로 공격에 실패하게 된다.

만약 거짓 공격 시점을 전달하는 것을 막기 위해서 A장군이 B장군에게 메시지를 보낼 때 자신이 작업한 것이라는 것을 증명하는 10분간의 작업을 한다면 B장군은 그 증명작업을 보고 A장군이 보냈다고 확인할 수 있으며 자신도 같은 작업을 하여 C장군에게 보낸다. 이 때, C장군이 거짓 공격 시점으로 위조한 메시지를 보내고자 해도 A장군과 B장군의 증명작업이 필요하기 때문에 불가능하며 이러한 개념을 가지고 제안된 알고리즘이 바로 PoW(Proof of Work)이다. 그 이후 PoW 이외에도 PoS(Proof of Stake), PoI(Proof of Importance), Consensus by bet과 같은 다양한 합의 알고리즘이 제안되었으며 이를 통해 정보의 무결성을 보장 할 수 있게 되었다.

동의·합의를 위한 검증 알고리즘에는 다양한 유형들이 존재하지만, 크게 퍼블릭 블록체인에서 사용하는 PoW(Proof of work), PoS(Proof of Stake), PoI(Proof of Importance)와 컨소시엄 블록체인에서 사용하는 Consensus by bet으로 나눌 수 있다.