1. 머리말
블록체인을 기반으로 한 기술을 조사하여 비교한다. 비트코인, 이더리움, Hyperledger Fabric, Corda, EOS 등의 유형을 분석한다. 위의 블록체인 기술들의 합의 알고리즘, 결제 완료성, 계정관리, 데이터 모델, 스마트 계약개발 등에 대해 특성을 설명한다.
2. 사전연구
2.1 블록체인(Block Chain)
블록체인(Block Chain)은 거래 목록 기록 방식을 투명하고 분산화된 형태로 관리하기 위한 기술로 지난 몇 년 사이 큰 발전을 보이고 있다[1]. 공공거래 장부라고 불리는 블록체인은 거래 발생 시 기존의 중앙집중형 방식이 아닌, 모든 거래 참여자(노드, node)가 거래 관련 데이터를 묶음(블록)으로 분산 및 저장하는 분산형 방식이다[2]. 거래 당사자는 모두 동적으로 업데이트된 원장을 중앙 관리자나 데이터베이스 서버 없이 모든 사본을 유지할 수 있다. 블록체인 기술은 데이터 과학 분야에서의 하나의 획기적인 도약으로 인정받고 있다[3]. 시스템에 참여하는 다수가 공동으로 관리하고 유지하며 검증하는 방식을 사용하기 때문에 특정 개인이 임의로 그 값을 추가, 삭제 및 수정할 수 없으며, 이 정보 단위를 하나의 블록 형태로 관리한다. 사용자들의 거래를 사용자들끼리 공유하기 때문에 지배구조의 투명성을 제공한다.
3. 블록체인 기반 기술 분석
3.1 비트코인(Bitcoin)
2008년 사토시 나카모토라는 개발자가 “P2P 전자화폐시스템”이라는 논문에서 발표한 최초의 P2P 네트워크 상에서 구현한 암호화폐이다. P2P 네트워크로 거래 기록을 받은 참가자들은 거래 기록을 승인하기 위한 합의 알고리즘으로 작업증명(PoW)을 수행해야 한다.
탈중앙화라는 구조적 특징으로 비트코인은 다른 통화에 비해 장점이 있다. 중개 기관을 거치지 않고 개인 간에 송금을 수행하기 때문에 수수료가 거의 무료이고 국경과 세금이 없다.
3.2 이더리움(Ethereum)
이더리움은 블록체인 기술을 기반으로 스마트 계약 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이다. 비트코인에 사용된 핵심 기술인 블록체인에 화폐 거래 기록뿐 아니라 계약서 등의 추가 정보를 기록할 수 있다. 사용자들은 컴퓨팅 자원을 활용해 가상머신(EVM)을 만들고 SNS, 이메일, 전자투표 등 다양한 정보를 기록하는 시스템을 창안한다. 이더리움은 C++, 자바, 파이썬 등 주요 프로그래밍 언어를 지원한다.
3.3 Hyperledger Fabric
Hyperledger Fabric은 리눅스 재단에서 주도하는 엔터프라이즈용 블록체인 기술 개발을 위한 오픈 소스 프로젝트이다. Fabric은 모듈화된 프라이빗 블록체인 프로젝트로, 기존에 알려진 비트코인이나 이더리움에 비해 복잡하다. 퍼블릭 블록체인은 가지지 않는 합의 알고리즘의 선택적 사용, 네트워크 참여 권한 통제, 채널 및 멀티 장부 사용 등의 추가적인 기능들을 가진다.
각 기반 기술을 비교 분석한 것은 다음과 같다.
|
비트코인 |
이더리움 |
Hyperledger Fabric |
자체 화폐 |
비트코인 |
이더(Ether) |
없음 |
네트워크 |
공개 |
공개형 |
허가형 |
거래 |
익명 |
익명 또는 비공개 |
공개 또는 기밀 |
합의 |
PoW |
PoW, PoS |
SOLO, Kafka, SBFT |
3.4 합의 알고리즘(Consensus)
합의 알고리즘에는 PoW, PoS, PBFT에 대해 설명한다. 각 특징의 비교는 다음과 같다.
1. 작업 증명(PoW: Proof-of-Work) : 새로 생성된 블록을 블록체인에 추가하는 작업을 완료했음을 증명한다. P2P 네트워크를 사용하는 암호화폐는 해시 함수를 계산해서 블록체인에 새로운 블록을 추가하는 방식으로 화폐를 만들거나 송금을 수행한다.
2. 지분 증명(PoS: Proof-of-Stake) : 컴퓨터의 연산 능력에 기대지 않고, 이자와 같은 방식으로 코인이 지급된다. 작업증명이 노드들과 경쟁하는 방식이라면, 지분 증명은 신규 블록을 생성하여 보상을 얻는 자격이 각 노드의 지분에 따라 확률로 정해지게 된다.
3. PBFT(Practical Byzantine Fault Tolerance) : 비잔틴 장군 문제에 기인한 합의에 실패하는 “비잔틴 공격”을 해결하기 위한 알고리즘이다. 참가자 중 한명이 프라이머리(Primary, 리더)가 되어 자신을 포함한 모든 참가자에게 요청을 보낸다.
|
PBFT |
PoW |
PoS |
장애 모델 |
Byzantine Fault 대응 |
Byzantine Fault 대응 |
Byzantine Fault 대응 |
통신 비용 |
각 노드간 통신을 수행하므로 비용 높음 |
로컬 통신만을 수행하므로 비용 낮음 |
로컬 통신만을 수행하므로 비용 낮음 |
결함 허용 대수 |
1/3 미만까지 보증 |
1대라도 남아있다면 문제 없음 |
1대라도 남아있다면 문제 없음 |
다수결 대신이 되는 것 |
다수결 |
CPU 계산량 |
보유한 자산 크기 |
CPU 연산 비용 |
낮음 |
높음 |
중간정도 |
권한의 분산 |
참가 노드 모두가 평등 |
전기세가 낮은 지역에 집중될 가능성이 있음 |
화폐 보유는 집중될 가능성이 높음 |
참가 노드의 조건 |
신뢰된 노드만 참가 |
어떤 노드도 참가 가능 |
어떤 노드도 참가 가능 |
비밀 보호를 위한 인증 |
사전에 서로 신뢰한 공개 암호화 키를 사용 |
참가시 준비한 공개 암호화 키를 사용 |
참가시 준비한 공개 암호화 키를 사용 |
단점 |
탈중앙화에 어긋난다는 비판 |
높은 전력소모로 자원 낭비 |
지분이 많은 참여자에게 권력 독점 가능성 |
2019년 7월 기준으로 블록체인 기반 기술의 합의 알고리즘은 다음과 같다.
|
Bitcoin |
Ethereum |
Hyperledger |
합의 알고리즘 |
PoW |
PoS |
PBFT |
3.5 블록체인 기술 유형
3.5.1 Public형
대중 모두가 이용 가능한 공공의 블록체인이다. 사용자 모두가 해당 블록체인에 대한 접근성을 가진다. 많은 수의 노드가 참여하고 해당 트랜잭션을 승인하는 만큼 상대적으로 느린 속도로 처리한다. 분산 원장 기술을 이용하기 때문에 탈중앙화를 가장 완벽한 형태로 이룬다.
3.5.2 Private형
한 집단의 독자적인 블록체인이다. 대중의 접근이 제한되어 있고 블록체인을 접근하기 위해서는 권한의 획득이 있어야 한다. 기존의 분산 서버 방식을 이용하던 기업이나 기관에서 구조를 유지하면서 블록체인 시스템으로 넘어올 때 채택하는 방식이다. 민감한 정보를 처리할 때 사용된다. 제한된 수의 노드는 트랜잭션 처리 속도의 향상을 보장한다.
3.5.3 Consortium형
Consortium형 블록체인은 Private형과 유사하게 허가가 필요한 유형이다. Private형은 한 집단의 독자적인 블록체인 네트워크이지만, Consortium형은 특정한 몇몇의 집단이 참가해 해당 집단만 사용이 가능한 네트워크이다. 따라서
각 유형의 특징은 다음과 같다.
|
Public |
Private |
Consortium |
Node |
제한 없음 |
제한 가능 |
제한 가능 |
블록체인 검색 |
제한 없음 |
제한 가능 |
제한 가능 |
블록 생성 |
높은 난이도 |
임의 |
임의 |
마이닝 보수 |
필요 |
임의 |
임의 |
3.6 스마트 계약(Smart Contract)
블록체인 장부는 계약 당사자가 사전에 협의한 내용을 미리 프로그래밍하여 전자 계약서 문서 안에 넣어두고, 이 계약 조건이 모두 충족되면 자동으로 계약 내용이 실행되도록 하는 시스템이다. 기존의 블록체인 기술이 '과거에 일어났던 일'을 기록한다면, 스마트 계약 기능을 구현한 블록체인 기술은 '미래에 일어날 일'을 기록해 둔다는 점에 차이가 있다. 계약 이행 및 검증의 과정이 네트워크로 자동화되고, 중재하는 사람이나 기관이 없어 자금이나 가치가 있는 그 무엇이라도 투명한 거래를 완료할 수 있다.
각 기반 기술 별 특징은 다음과 같다.
|
비트코인 |
이더리움 |
Hyperledger |
특징 |
최초의 블록체인 기반 스마트컨트랙트 비트코인 트랜잭션에 OPCODE로 스크립트 작성 |
함수를 컴파일된 코드 형태로 거래에 포함하여 동기화 |
체인코드(Chain Code)를 통해 컨트랙트 구현 가능 |
4. 맺음말
최근 블록체인 기술은 다양한 산업에서 시범사업이 진행되고 있다. 일부는 블록체인이 심하게 과장되었다는 의견도 있지만[5], 비즈니스 세계를 변화시킬 블록체인의 완전한 잠재력은 앞에 있다는 공감대는 형성되어 있다.
블록체인을 기반으로 거래나 결제 뿐만 아니라 '가치 교환'이라는 가장 단순한 형태의 거래를 완벽하게 디지털 형태로 옮길 수 있다는 장점을 가진다. 따라서 디지털 암호 화폐, 스마트콘트랙트 등 다양한 애플리케이션을 투명하게 운영할 수 있도록 영향성을 확장하고 있다. 이러한 이유에서 정부와 기업들은 블록체인 기술 연구개발을 통해 자체 서비스를 개선하고 혁신하려는 시도를 보이고 있다[6]. 이 연구로 파악된 기술의 특성을 비교하여 범위와 목적에 부합하는 기술 유형을 사용할 수 있다.
5. References
[1] S. Kim. 2017. Analysis and Implications of Block Chain Ecosystem. Seoul : KISTEP
[2] 한국산업기술진흥원 유럽사무소. 2018. 유럽의 블록체인 기술 도입 현황과 전망. 산업통상자원부
[3] Sulkowski, A. J. 2019, Blockchain, Business Supply Chains, Sustainability, and Law: The Future of Governance, Legal Frameworks, and Lawyers? Delaware Journal of Corporate Law, 43 (2), 303-345.
[4] 사토시 나카모토, 2008, Bitcoin: A peer-to-peer Electronic cash system“.
[5] See Melanie Swan, 2015, BLOCKCHAIN: BLUEPRINT FOR A NEW ECONOMY.
[6] 조용희. 2018. 블록체인 기술도입과 물류 프로세스 혁신을 위한 실무자의 인식 연구:콜드체인 분야 전문가인터뷰와 AHP기법을 중심으로.
'Report > Term paper' 카테고리의 다른 글
[컨텐츠 보안] Steganography 스테가노그래피 기법 (0) | 2020.12.16 |
---|---|
BUFFRER OVERFLOWS ON REDHAT 6.2 (0) | 2020.11.25 |
산술 부호화 (0) | 2020.11.22 |
설치형 소프트웨어의 라이선스 관리와SaaS 환경에서의 보안 기술 (0) | 2020.11.16 |
데이터 3법 개정안 쟁점사항 (0) | 2020.11.15 |