블록체인(Blockchain)
#블록체인(Blockchain)
정의 : 관리 대상 데이터를 '블록(Block)'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술(데이터 위변조 방지 기술)이다. 하여 '공동 거래 장부'라고 불리기도 한다. 공동 거래 장부 = 블록체인은 아니지만, 현재 공동 거래 장부를 구현하기 위해 채택된 데이터 구조 중 가장 대표적인 것이 블록체인이기 때문이다.
블록체인은 대규모의 노드들 사이에서 각 노드에 분산 저장된 장부의 데이터를 항상 있도록 하는 합의 수렴 알고리즘으로 볼 수 있다. 이러한 능력은 노드가 익명으로 실행되거나, 연결이 좋지 않거나, 심지어 신뢰할 수 없는 운영자가 참여하는 것도 가능하게 한다.
#P2P(Peer-to-peer network) ; 동등 계층간 통신망
정의 : 비교적 소수의 서버에 집중하기보다는 망구성에 참여하는 기계들의 계산과 대역폭 성능에 의존하여 구성되는 통신망이다. 중앙 집중식 관리 시스템을 사용하지 않고 상호 연결된 노드(피어)들이 서로 간에 자원을 공유하는 것이 P2P 네트워크이다.
#노드(Node)
정의 : 사전적 의미는 '(나무줄기의)마디', '(연결망의)교점, 접속점'이다.
컴퓨터과학/공학에서 의미하는 노드는 크게는 통신망(Telecommunications network)을 의미하고, 자세히는 통신망 가운데도 시간을 잇는 기간회선과 단말에 연결되는 지회선과의 접속 부분을 일컫는다.
#피어(Peer)
정의 : 사전적 의미는 (나이·신분이 같거나 비슷한) 또래, 동배. 컴퓨터공학에서는 동등한 지위의 컴퓨터들을 말한다.
#합의 알고리즘(Consensus algorithm)
정의 : 분산원장 시스템 내의 모든 노드가 일관성 있는 분산원장을 보유할 수 있도록 통신을 통해 새로운 기록의 공유, 검증 및 추가에 대한 전체의 동의를 이끌어 내는 알고리즘.
분산 시스템에서의 '합의'란 네트워크에 존재하는 독립적인 참여자들이 동일한 블록체인 원장을 유지할 수 있도록 원장에 포함할 블록을 결정하는 방식이다. 이들 참여자들 중에는 신뢰할 수 없는 참여자가 포함될 수 있다고 가정하며, 그런 상황에서도 통일된 의사결정을 가능하게 하는 알고리즘을 '합의 알고리즘'이라고 한다.
원리 : 분산원장을 구현하기 위해 분산원장 시스템은 새로운 거래를 모든 노드에 배포해야 하고, 그 거래의 유효성을 검증하며 거래들을 포함하는 원장 기록을 생성하거나 채택하고 이를 배포해야 한다. 이 과정을 통해 최종적으로는 각 노드에 존재하는 분산원장의 모든 사본의 일관성을 보장해야 한다. 이러한 기능을 수행하는 것이 합의 알고리즘이다. 노드는 네트워크 상에 분산되어 있으며 각 노드는 원장에 포함시키기 위한 새로운 기록을 생성하거나 다른 노드가 원장에 포함시킨 새로운 기록을 받게 된다. 그러나 분산 시스템에서 노드 간의 동기화는 동시에 일어나지 않기 때문에 네트워크 상에는 일시적으로 서로 다른 새로운 원장 기록이 포함된 원장들이 존재할 수 있다.
합의 알고리즘은 분산원장 시스템 내의 노드들이 서로 간의 통신을 통해 최종적으로 동일한 기록을 채택하게 하는 방법이다. 분산원장 시스템에서는 다양한 합의 알고리즘들이 사용될 수 있다. 예로는 작업증명(PoW ; Proof of Work), 지분증명(PoS ; Proof of Stake), 위임지분증명(DPoS ; Delegated Proof of Stake), 경과시간증명(PoET ; Proof of Elapsed Time), 권한증명(PoA ; Proof of Authority), 비잔틴장애허용(Byzantine Fault Tolerance 같은 것들이 있다. 이것들로 분산원장 시스템은 신뢰할 수 없는 제3자의 시간표시거래가 블록체인에 추가되는 것을 피할 수 있다.
#블록체인의 원리 : 탈중앙
암호화폐의 노드는 부분 또는 전체의 블록체인을 가지고 있다. 하여 페이팔과 같은 시스템에서 필요로 하는 중앙 집중형 데이터베이스를 가지고 있을 필요가 없다.
일반적인 장부는 수표나 영수증 또는 약속어음 등 거래증서의 교환내역이 기록되는 것인 반면, 블록체인은 블록체인 자체가 거래장부인 동시에 거래증서이다. '지불인 A가 수취인 B에게 100원을 보낸다'라는 거래는 소프트웨어 앱(비트코인 지갑앱 등)을 통해 블록체인 네트워크에 뿌려지고, 블록체인 네트워크의 노드들은 거래를 검증한 다음 자신의 장부에 그 거래를 추가한다. 그리고 이 거래가 추가된 장부를 네트워크의 다른 노드들에 배포한다.
#분산원장(공유원장) = 블록체인?
분산원장은 복제, 공유 또는 동기화된 디지털 데이터에 대한 합의 기술이다. 중앙집중적인 관리자나 데이터 저장소가 존재하지 않고, 데이터들은 여러 사이트, 여러 기관, 여러 국가에 분산된다. 분산원장을 채택하려면 사용자 개인간 직접 접속(P2P) 네트워크가 필요하며, 합의 알고리즘이 수행되어야 한다.
블록체인은 분산원장과 같은 의미가 아니라, 분산원장을 구현하기 위한 데이터 구조 중 한 가지일 뿐이다.
2016년에 많은 은행들이 국가간 지불용으로 분산원장 기술을 테스트했고, 비용과 운영 리스크를 줄이기 위한 목적으로 지금도 많은 은행들이 분산원장 기술에 엄청난 투자를 하고 있다.
#참고
비트코인의 창조자 나카모토 사토시는 블록체인을 먼저 개발하고 그것을 비트코인에 적용한 것이 아니라 반대로 P2P만으로 운영되는 전자 화폐 시스템인 비트코인을 개발하면서 발생하는 문제를 블록체인을 개발, 적용함으로써 해결한 것이다. Nakamoto Satoshi의 비트코인 백서 "Bitcoin : A Peer-to-peer Electronic Cash System" 참조. 비트코인이 블록체인의 첫 구현체이다.
#블록체인 구현사례
비트코인 - PoW
디지털노트 XDN - 블록체인 위에 인스턴트 메신저, 블록체인 작업 증명에 그반을 둔 뱅킹 예금 시스템
네임코인 - 블록체인에 데이터 저장 기능 제공
마스터코인 - 다양한 거래를 처리 가능한 블록체인
피어코인 - 작업증명의 대안으로 지분증명 추가
이더리움 - 튜링 완전 스마트 컨트랙트 및 12초의 블록생성주기 지원
에이코인 - 2014년 PoW 기반으로 시작한 퍼블릭블록체인 기반의 코인으로 시작하여 금, 물, 에너지, 부동산, 유가증권, 공기 등 총 9가지 가치 증명코인으로 세분화됨.
<요약>
ⓐ 분산원장, 공동 거래 장부는 P2P 네트워크를 이용하여 중앙통제 시스템 없이 안전하고 투명한 거래를 하는 것이고, 그 P2P 네트워크의 데이터 구조로 채택되는 가장 대표적인 기술이 블록체인이다.
ⓑ 탈중앙화를 이루기 위해 블록체인을 채택했다면 안전성과 투명성을 이루기 위해 '합의 알고리즘'을 채택했다. 합의 알고리즘은 PoW, PoS 등 다양하다.
ⓒ 비트코인은 블록체인 자체가 아니라 P2P로 운영되는 전자 화폐 시스템을 일컫는 말이며, 그 시스템을 운영하면서 발생하는 갖가지 문제를 해결하기 위해 채택, 개발된 데이터 구조 기술이 블록체인이다.
ⓓ 블록체인은 '데이터 구조', 합의 알고리즘은 '노드 간 합의를 이끌어내는 방식'으로 구분하면 된다.
'지식들 > 조각지식' 카테고리의 다른 글
[암호화폐] 채굴(Mining) (0) | 2021.01.11 |
---|---|
[기술] 블록체인과 합의 알고리즘의 유형 (0) | 2021.01.11 |
[금융] 채권(Bond) (0) | 2021.01.10 |
[금융] 주식과 채권(Share and Bond) (0) | 2021.01.10 |
[주가지수] 다우존스 산업평균지수 (0) | 2021.01.02 |