• 검색 결과가 없습니다.

블록체인 핵심 기술

문서에서 저작자표시 (페이지 47-50)

가. P2P(Peer-to-Peer) 네트워크

P2P 네트워크란 Peer-to-Peer의 약자로서 ‘동등한 자’, ‘대등한 자’를 의미한다. P2P 네트워크는 대등한 관계의 노드(참여자)들로 이루어지는 네트워크로서 각 노드는 서비 스 제공을 하기도 하고 받기도 한다. 과거의 Server-based 방식과는 다르게 P2P 중앙 의 서버를 따로 구축할 필요가 없이 각 노드의 자원 및 네트워크를 이용하여 부하를 분산시킨 시스템을 운영하기 때문에 높은 확장성을 가진다.

<그림 2-8> Server-based network와 P2P network

자료 : 최경화, 전게서, p.14.

P2P 네트워크는 크게 구조적 P2P인 structured P2P와 비구조적 P2P인 unstructured P2P로 분류할 수 있다. Unstructured P2P는 서버를 중심으로 서버의 참여자들 간에 망이 형성이 되는 중앙 집중형 방식 및 데이터의 flooding 알고리즘을 기초하는 분산 형 P2P 네트워크로 구분된다. 블록체인 기술의 목표이자 특징인 탈중앙화 분산 네트워 크 구축을 위해 flooding 기반의 unstructured P2P 네트워크를 사용하며, UDP 대신에 TCP/IP 기술을 사용해 블록체인 노드들은 자신들과 물리적으로 제일 가까운 참여자의 IP를 유지하고 이를 사용해 거래를 한다.

나. 암호 기술

블록체인 기술에서 사용하는 암호 기술에는 공개키 기반 검증 및 해쉬 암호(SHA-2) 가 있다. 공개키 기반 검증은 거래할 때 발생되는 디지털 검증을 통해서 거래 내역이 변경되지 않았다는 것을 증명하는 것으로서 미국 전자서명 표준인 186-2로 승인된 ECDSA(The Elliptic Curve Digital Signature Algorithm) 전자서명 알고리즘을 사용 하고 있다. 데이터 검증을 할 때 사용자가 루트 노드의 해시 값을 안다면 데이터가 참 인지 검증이 가능하며, 익명의 공개키를 거래 정보로 이용해 누가 다른 누군가에게 얼 만큼 전송했는지 알 수는 있으나 따로 거래자에 대한 정보는 연결되지 않으므로 소유 한 자에 관한 정보는 알 수 없어서 익명성 보장이 된다.

이에 거래 내역이 포함된 블록의 정보가 위조나 변조가 되지 않았다는 것의 증명과 함께 새로운 블록을 찾기 위하여 넌스 값을 찾는데는 해시 암호가 사용이 된다. 여기 서 해시 함수에 이전의 블록 해시 값, 넌스 값, 거래 내역을 넣어 정해진 조건에 만족 되는 결과가 도출이 되도록 유추하여 가는 과정을 채굴(Mining)이라고 한다.

<그림 2-9> 머클트리 구조도

자료 : https://medium.com/@drhot552

각각 거래의 내역 해시 값이 누적되는 머클 트리 구조에서는 루트해시를 소유함으로

인해 도중에 값이 변경되면 루트 해시 값도 자동적으로 변경됨으로써 위조 및 변조의 유무를 쉽게 알 수 있다. 머클 트리는 거래를 2개씩 묶은 알고리즘을 통하여 해시값으 로 나타내며, 이 과정을 통해서 묶은 값들을 또다시 2개씩 묶어 해싱을 통하여 수 백 여개의 거래 값들을 최고 상층에 위치하는 하나의 데이터로 만드는 것이다. 해시트리 는 2개씩 묶어서 올라가기 때문에 거래량이 급격하게 늘어나더라도 특정 거래를 찾는 경로는 쉽다는 장점이 있다.

다. 투명하고 분산된 거래 기술

분산 장부(Distributed Ledger)는 모든 참여자들 간의 합의에 따라 복제, 공유 및 동 기화된 정보의 기록 저장소로서 분산 장부를 통하여 블록체인의 탈중앙화가 가능해졌 다. 분산 장부가 P2P 네트워크에 적용이 되기 위해서 분산 장부의 기록마다 모든 참여 자들의 합의가 필요하고, 분산 장부는 발생되는 모든 거래 및 정보 등을 모든 참여자 들의 검증을 거쳐서 기록되고, 기록된 정보는 모든 참여자들에게 동일하게 소유된다.

거래 검증을 할 때 분산 장부에 저장이 되어 있는 정보들과의 연결성을 검증하고 모든 참여자들 간의 합의를 거쳐서 적합한 거래 및 정보들만이 블록체인 내의 분산 장부에 축적되며, 거래 및 정보를 저장할 때에는 정보를 일정 시간동안 누적해 블록 단위로 저장한 후 이 블록 간에 연결성을 준 상태로 분산 장부에 저장된다.

<그림 2-10> 분산 장부에 저장되는 블록 구조도

자료 : 최경화, 상게서, p.17.

분산 장부는 블록체인에서 제공되는 거래 정보에 대한 무결성을 보장한다. 블록체인 에 참여하고 있는 모든 참여자들은 동일한 분산 장부 정보를 갖고 있으므로 만약 외부 에서 공격자들이 특정 정보를 위조 및 변조하려면 모든 참여자들이 갖고 있는 분산 장 부에 대하여 공격을 해야 하므로 높은 비용과 함께 컴퓨터 리소스가 수반되기 때문에 채굴자가 대다수의 거래 생성을 하지 않는다면 정보의 위조 및 변조가 매우 어렵다고 할 수 있다.

분산장부는 위조 및 변조가 어려우므로 무결성을 보장한다는 장점이 있지만 참여자 에게 많은 저장 용량을 요구하며, 계속되는 거래로 인하여 정보가 늘어난다는 특징들 이 있어 거래에서 요구되는 용량은 지속해서 증가하는 구조를 가지므로 블록체인이 확 산되기는 어렵다는 한계점도 있다.

라. 스마트 계약(Smart Contract)

스마트 계약이란 블록체인 네트워크에서 실현되는 소프트웨어로서 정해져 있는 조건 이 완료가 되면 블록체인에 담긴 거래에 대해서 자동적으로 이행이 되는 것이 보장되 는 기술이다. 스마트 계약은 미리 정해놓았던 계약이 이행되면 따로 제3자의 개입이 없이 이를 확인해 자동적으로 계약이 진행되며, 다른 블록체인 참여자들에 의해서 검 증 및 이행이 된다.

이행이 된 결과는 블록체인에 기록이 되어 거래에 관한 정보의 무결성 및 신뢰성이 보장된다. 스마트 계약은 금융 거래분야 뿐만이 아니라 다양한 분야에서도 상용화될 개념으로 여겨지고 있다.

문서에서 저작자표시 (페이지 47-50)