(디지털) 블록체인을 활용한 디지털화
1. 블록체인을 활용한 디지털화 (1/2)
2. 블록체인을 활용한 디지털화 (2/2)
(디지털) 블록체인을 활용한 디지털화 (1/2)
블록체인의 개요
기술적으로 정의하자면, 블록체인은 네트워크에 분산된 참여자들이 합의 프로토콜을 통해 블록에 암호학적 해시 함수를통해 블록에 저장한다.
생성된블록은 블록끼리의 링크(체인)를 형성하여 삭제가 불가능한 분산 원장이다. 일반적으로 블록체인은 암호학적 해시 함수와 전자 서명 등의 암호기술을 이용하여 구현된다.
블록체인의 기술적인 특성
첫째 탈 중앙화를 통한 데이터의 분산과 협업이 가능하다.
둘째 투명성으로 다수의 참여자간의 투명한 계약이나 거래가 가능하다.
셋째로 블록단위로 데이터를 분산 저장하기 위해 참여자간의 합의와 데이터 검증을 통해 변조를 방지하는 불변성을 제공한다.
또 분산된 네트워크를 기반으로 단일 지점의 오류가 발생하더라도 안정성을 보장한다. 이러한 블록체인의 특징으로 정보의 보관과 유통을 안전하게 제공하는 신뢰성을 제공한다.
이러한 기술적 가능성에 대하여 금융 분야에서도 공정한 데이터 관리 측면에서 긍정적인 기술 도입을 시도를 하고 있다.
구분 | 특징 |
탈중앙화 Decentralization |
블록체인 네트워크 참여 개체 간의 분산ㆍ협업으로 운영 |
투명성 Transparency |
다수의 참여 개체가 일관된 트랜잭션 상태를 공유 |
불변성 Immutability |
블록체인에 기록된 내용의 변조 및 철회 불가 (무결성 및 부인 방지) |
안정성 Reliability |
단일 지점 오류가 발생하더라도 안정적인 네트워크 운영 가능 |
자료 : 블록체인 암호 기술 가이드라인(KISA, 2020) |
블록체인의 분류
블록체인은 일반적으로 참여 방법에 따라 다음과 같이 분류할 수 있다
구분 | 특징 |
비허가형 퍼블릭 블록체인 |
어느 개체나 제한 없이 네트워크에 참여하여 원장의 내용을 읽고, 블록을 생성하여 원장에 기록할 수 있는 블록체인 ex) Bitcoin, Ethereum 등 |
허가형 퍼블릭 블록체인 |
어느 개체나 제한 없이 네트워크에 참여하여 원장의 내용을 읽을 수 있지만, 블록을 생성하여 원장에 기록하기 위해서는 특정 그룹의 허가가 필요한 블록체인 ex) EOS, Ripple, Sovrin 등 |
허가형 프라이빗 블록체인 |
블록을 생성하여 원장에 기록하는 것뿐만 아니라 네트워크에 참여하여 원장의 내용을 읽기 위해서도 특정 그룹의 허가가 필요한 블록체인 ex) Hyperledger Fabric, Hyperledger Indy 등 |
블록체인의 동향
2009년 비트코인을 기반으로 한 가상화폐(cryptocurrency)가 등장한 이후 최근 가파른 가격상승과 함께 블록체인 기술을 활용한 새로운 디지털 화폐에 대한 개념이 변화하고 있다. 2020년 국제 결제 은행(BIS)에서는 G7 국가의 중앙은행을 중심으로 중앙은행 기반의 디지털화폐 (Central Bank Digital Currency: CBDC)를 주장하고 있다.
블록체인 기술을 통해 투명한 거래 및 외환거래가 가능하기 때문에 CBDC는 글로벌 화폐로 확장될 가능성이 크다.
향후에는 민간에서 발행하는 가상화폐와 구별되는 법정통화(legal tender)로 중앙은행이 발행하는 화폐로서 공신력을 키워 실물화폐와 함께 지불 수단으로 이용 할 수 있을 것으로 보고 있다.
블록체인의 암호화 기술 요소
1. 암호학적 해시 함수
암호학적 해시 함수 (cryptographic hash function): 암호 알고리즘의 일종으로 긴 길이의 데이터를 압축하여 일정 길이(256비트, 512비트 등)의 고유값을 출력한다. 해시 함수의 출력은 해시값 (hash value), 해시(hash), 메시지 다이제스트(message digest), 메시지 지문 (message fingerprint) 등으로 불린다.
대표적인 암호학적 해시 함수로는 우리나라 국가 표준 LSH, 미국 NIST 및 ISO/IEC에서 표준으로 제정한 SHA-2, SHA-3 등이 있다.
역상 저항성 pre-image resistance 주어진 해시값을 출력하는 입력 데이터를 찾기 어려운 성질 충돌 저항성 collision resistance 동일한 해시값을 출력하는 두 개 이상의 입력 데이터를 찾기 어려운 성질
2. 공개키 암호
공개키 암호로는 기밀성 제공을 위한 암호화 방식(encryption scheme), 무결성, 인증 및 부인 방지를 제공하는 전자 서명 방식(digital signature scheme), 그리고 비밀키 공유를 위한 키 교환 방식(key exchange protocol)이 있다.
데이터 전송 보안을 위한 전자 서명
블록체인은 전송되는 데이터의 보호와 위변조를 방지하기 위해서 전자 서명 방식을 활용하여 블록체인 시스템 내의 개체와 데이터를 주고받으려는 개체는 상호 인증을 수행 한다.
전자 서명은 서명자를 확인하고 서명자가 전자 문서(전자적 형태로 작성되어 송수신되거나 저장 되는 정보)에 서명하였음을 보증하기 위하여, 해당 전자 문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보이다
전자 서명 방식은 서명 생성 함수와 서명 검증 함수로 구성된다.
서명 생성 함수는 메시지와 개인키를 입력받아 전자 서명을 생성하는 기능을 수행하고 서명 검증 함수는 메시지, 전자 서명, 공개키를 입력받아 (메시지에 대한) 전자 서명의 유효성 (validity)을 검증하는 기능을 수행한다.
[보안가이드]
- 전자 서명은 식별자와 재전송 공격을 방지하기 위한 데이터를 포함해야 한다.
- 전자 서명을 사용할 수 없는 경우, 지식 기반 또는 소유 기반 인증 등을 사용할 수 있다.
블록체인 아키텍처
블록체인 아키텍처는 블록체인 SW 플랫폼, 블록체인 시스템, 블록체인 솔루션등 3가지로 구성된다
1) 블록체인 SW 플랫폼
블록체인 SW 플랫폼 각 블록체인 노드에 탑재되어 블록체인 노드가 블록체인 시스템에 참여할 수 있도록 제공되는
- 프로세스 (암호 기능, 트랜잭션 관리, 스마트 컨트랙트, 탈중앙화 애플리케이션 등),
- 저장소 (안전한 저장소, 원장 관리 등),
- 통신 기능 (P2P/통신 프로토콜, 합의 프로토콜, 애플리케이션 인터페이스 등)의 집합이다.
2) 블록체인 시스템
블록체인 시스템은 운영 정책, 네트워크 구성 방법 등 사전에 정의된 거버넌스ㆍ 정책에 따라 네트워크를 구성하고 블록체인을 공유할 수 있도록 구현한 것이다.
3) 블록체인 솔루션
블록체인 솔루션은 블록체인 기반 서비스를 제공하는 데 필요한 모든 기능을 통합 구현한 것이다. 일반적으로 블록체인 솔루션은 블록체인 시스템을 기반으로 블록체인 외부 시스템(블록체인 오라클, 오프체인 저장소 등), 외부 블록체인 솔루션과의 연계 기능을 포함한 개념이다
블록체인의 구조 : 트랜잭션, 블록, 원장
1) 트랜잭션 구조
트랜잭션은 자산의 이동 또는 생성과 같이 블록체인에서 발생하는 이벤트의 기록 이다. 트랜잭션은 일반적으로 헤더, 입력, 출력, 전자 서명으로 구성된다
헤더에는 트랜잭션 관련 정보들이 기록되고, 스마트 컨트랙트의 실행 결과 등을 포함한 트랜잭션 처리 데이터는 입력ㆍ출력에 포함되며, 트랜잭션 생성 개체의 전자 서명이 첨부된다.
- 스마트 컨트랙트의 실행 결과 등을 포함한 트랜잭션 처리 데이터는 입력ㆍ출력에 포함되며, 트랜잭션 생성 개체의 전자 서명이 첨부된다
- 암호화폐의 경우, 송금 개체의 정보와 수신 개체의 정보가 입력과 출력에 각각 기록되며, 송금 개체의 전자 서명이 첨부된다.
2) 블록 구조
블록은 일반적으로 블록 헤더, 블록 데이터, 블록 검증 데이터로 구성된다
(1) 블록 헤더
블록 헤더는 블록 번호, 블록 생성 시각, 블록 데이터의 해시값, 그리고 이전 블록 헤더의 해시값을 포함한다.
(2) 블록 데이터
블록 데이터는 다수의 트랜잭션을 포함한다.
(3) 블록 검증 데이터
블록 검증 데이터는 블록을 생성하는 개체의 공개키와 전자 서명 값을 포함한다
블록 헤더에 직전 블록의 해시값이 포함되어 있다. 해시값은 확정된 블록의 위ㆍ변조 및 삭제를 방지하도록 블록체인의 무결성을 보장 한다.
블록데이터의 트랜젝션에는 트랜젝션의 생성 과정에 참여한 모든 개체의 식별자 및 전자 서명, 재전송 공격을 방지하기 위한 데이터가 포함되어야 한다.
또 블록에는 블록을 생성한 개체의 식별자 및 전자 서명, 생성 시각이 포함되있어 적법 하지 않은 개체가 악의적인 블록 생성을 방지한다.
3) 블록 원장
블록체인 기술에서 원장은 블록체인 참여 개체가 합의한 블록들을 체인으로 연결해 놓은 자료 구조이다.
합의 프로토콜을 이용한 합의를 통해 모든 참여 개체가 동일한 원장을 공유할 수 있으며, 완결성을 제공하는 합의 프로토콜을 통해 원장에 기록된 블록이 삭제되지 않음을 보장할 수 있다. 해시 함수를 이용한 체인을 통해 원장에 기록된 블록이 변조되지 않는 특성을 제공한다.
상태DB(인덱스DB)
원장에는 거래가 단순 나열된 형태로 기록되기 때문에 블럭의 내용을 쉽게 찾기 위해 별도의 상태 DB를 관리한다.
예를들어 특정 계좌의 거래 내역 및 잔액을 확인하려면 블록에 기록된 모든 거래를 확인해야 한다. 이를 개선하기 위해 블록체인 참여 개체는 상태 DB에 계좌별 거래 내역 및 잔액을 정리하여 관리할 수 있다.
트랜잭션 처리 과정
합의 프로토콜
블록체인으로 제공하려는 서비스 환경에 요구되는 안전성ㆍ효율성 특성(장애 허용, 처리 속도 등)을 만족하는 합의 프로토콜을 사용해야 한다.
블록체인은 분산 컴퓨팅 기술에 기반을 두고 있으며 여러 참여 개체가 동일한 원장을 공유하기 위해 합의 프로토콜을 사용한다. 블록체인 네트워크에서는 일부 노드에 비잔틴 장애(내부 관리자의 악의적인 조작, 해킹 등)를 제외한 일반적인 장애(정전, 네트워크 연결 실패 등)가 발생하더라도 정상적으로 동작할 수 있는 합의 프로토콜이 사용된다
일부 노드에 장애 또는 공격이 발생할 경우, 충분한 수의 노드가 확보되지 않은 상황에서 위협이 발생한다.
- 참여노드 부족시 합의 도출 실패로 인한 서비스 중단 위협
- 공격자가 의도한 합의 도출로 인한 자산 탈취 등의 위협
합의 프로토콜 | 설명 | 적용 블록체인 |
장애 내성 |
완결성 | Throughput | time to finality |
확장성 | 활용 사례 |
PoW (Proof of Work) |
소모한 연산량이 많을수록 블록을 생성할 확률 증가 | 비허가형 | 비잔틴 장애 내성 |
무 | 낮음 | 매우 느림 | 매우 높음 | Bitcoin, Ethereum |
PoS (Proof of Stake) |
투자한 지분이 많을수록 블록을 생성할 확률 증가 | 허가형/ 비허가형 |
비잔틴 장애 내성 |
유/무 | 낮음 | 느림 | 높음 | Ethereum Casper, Algorand |
PoA (Proof of Authority) |
생성된 블록을 채택하는 과정에서 참여 개체들의 평가를 반영한 평판 활용 | 허가형 | 비잔틴 장애 내성 |
유 | 높음 | 빠름 | 보통 | Enterprise Ethereum |
DPoS (Delegated Proof of Stake) |
지분을 기반으로 한 투표를 이용하여 블록을 생성할 개체 선정 | 허가형/ 비허가형 |
비잔틴 장애 내성 |
유 | 높음 | 보통 | 매우 높음 | EOS.IO |
PBFT (Practical Byzantine Fault Tolerance) |
사전에 정의된 절차에 따라 블록을 생성할 개체를 선정하며, 생성한 블록에 대한 나머지 개체의 동의 요청 | 허가형 | 비잔틴 장애 내성 |
유 | 높음 | 빠름 | 매우 낮음 | |
Raft | 사전에 정의된 절차에 따라 블록을 생성할 개체를 선정하며, 생성한 블록에 대한 나머지 개체의 동의 요청 | 허가형 | 일반 장애 내성 |
유 | 높음 | 매우 빠름 | 낮음 | Hyperledger Fabric, R3 Corda |
(디지털) 블록체인을 활용한 디지털화
1. 블록체인을 활용한 디지털화 (1/2)
2. 블록체인을 활용한 디지털화 (2/2)
'Tech-Trends' 카테고리의 다른 글
★(트렌드) 할매니얼 과 MZ 세대: 뉴트로(NewTro), 복고풍 (0) | 2021.07.14 |
---|---|
★(트렌드) 프로토콜 경제와 플랫폼 경제 (2) | 2021.06.27 |
★(디지털) 블록체인을 활용한 디지털화 (2/2) (1) | 2021.06.19 |
Oreilly Free 무료 eBook PDF 받는 셀스크립트 (0) | 2021.06.17 |
Microsoft Build OpenJDK (0) | 2021.06.03 |
‘인터넷 익스플로러(IE)’가 2022년 6월 서비스를 종료 (0) | 2021.05.22 |
★(공유) 21년 디지털 트랜드 자료 (0) | 2021.05.14 |