비트코인의 등장 배경
-
기존 중앙 집권형 금융 시스템의 문제를 느낌
-
중앙의 역할을 하는 신뢰 주체와 관련된 문제가 생김
-
Peer-to-Peer 방식으로 개인 간의 거래가 이루어질 경우 이중 지불의 문제가 발생함
신뢰 주체가 필요한 이유
-
물리적인 화폐는 물리적인 위치를 이동시킴으로써 소유권을 이전함
-
디지털 자산은 물리적인 화폐와 달리 위치의 이동으로 소유권 이동함
-
디지털 데이터는 복사를 통해 전달되는데, 이때 원래 저장소에서 삭제를 강제할 수 없기 때문
-
그렇기에 전자 상거래를 위해서는 신뢰할 수 있는 주체가 필요함
신뢰 주체와 관련된 문제점
-
개인정보 유출 등의 보안 문제
-
복잡한 절차를 거쳐서 증명해야 함(소액거래 또한 어려움)
-
해외송금을 위한 수수료와 느린 속도
-
제3세계 국가 혹은 독립국가는 신뢰 주체가 부재할 수 있음
P2P 거래의 문제
-
소유권의 증명은 '전자 서명'방식을 통해 증명할 수 있음
-
한 사람이 여러 개의 서로 양립할 수 없는 거래를 발생시키는 것을 막지 못함
-
이중 지불 문제 발생
비트코인의 역사
2008년 10월: 사토시 나카모토(Satosi Nakamoto)란 익명의 저자가 비트코인 논문 공개
2009년 1월 3일: 비트코인의 첫 번째 블록 생성(Genesis Block)
해당 블록에 재무장관 은행에 두 번째 구제금융 임박이라는 문구가 입력되어 있음
2010년 5월 22일: 1만 비트코인을 피자 두 판과 교환함
해당 사건을 기념으로 비트코인 피자데이가 되었음
비트코인의 기술적 이해
P2P 네트워크(Peer-to-Peer Network)
- 중앙 시스템 없이 상호 연결된 노드(peer)들이 서로 간에 자원을 공유하는 네트워크
분산 원장(Distributed Ledger)
- 신뢰 주체 대신에 P2P 네트워크를 구축하고 모든 참여자들이 원장을 저장 및 공유
- 블록체인에선 각 참여자는 거래들을 블록이라는 단위로 묶어서 처리하고 보관함
- 네트워크 참여자가 같은 원장을 공유하고 있기 때문에 과반수가 정직하다면 원장은 조작될 수 없음
합의 알고리즘(Consensus Algoruthm)
- 분산된 노드들끼리 올바른 하나의 원장을 이끌어내는 규칙에 대한 알고리즘(이중 지불 문제 발생 시 혹은 체인이 두 개로 나눠졌다면, 어떤 것을 선택해야 할지에 대한 합의)
비트코인의 합의 알고리즘: 나카모토 컨센서스(Nakamoto Consensus)
작업 증명(Proof of Work)
-
네트워크 참여자는 유효성을 검증한 거래들을 모아 블록을 만듦
-
참여자는 체인에 다음 블록을 연결하기 위해 복잡한 컴퓨팅 문제를 풀어야 함(채굴)
-
작업 증명을 완료해 새로운 블록을 연결한 노드는 다른 노드들에게 해당 블록을 전파함
-
전파받은 노드는 상대의 체인을 검증한 후, 자신의 체인과 비교하여 체인 선택 규칙에 따라 원장을 업데이트함
체인 선택 규칙(Chain Selection Rule)
-
블록 및 거래는 전파되는데 시간이 걸림
-
우연히 두 개 이상의 노드들이 서로 멀리 떨어진 곳에서 블록을 생성해 전파한다면 각 노드들이 받은 블록들이 서로 달라져서 일관성이 깨짐
-
비트코인과 이더리움은 가장 긴 체인을 선택(Longest Chain Rule)
난이도
-
전체 네트워크의 컴퓨팅 파워를 투자하였을 때 약 10분이 걸리는 난이도로 설정됨
-
네트워크 참여자가 많아질수록 채굴의 난이도 상승, 원장의 안정성 증가
확률적 완결성
-
사토시의 논문에 의하면, 비트코인의 경우 6블록이 지나면 확률적으로 완결성을 가짐
-
이전 원장을 수정하려면, 전체 네트워크를 상대로 체인을 역전해야 함
-
6블록이 지나면 확률적으로 불가능
보상
-
블록 채굴에 성공한 참여자는 ‘비트코인’이라는 블록체인 상 화폐를 보상으로 지급받음
-
해당 보상은 채굴 유인이 되어 네트워크 안정성을 높이는 촉매가 됨
비트코인의 거래
공개 키 암호화 방식을 사용하면 전자 서명을 만들 수 있다.
1) 해시함수를 이용해 트랜잭션의 해시값을 구함
2) 사용자는 서로 암호학적으로 짝지어진 공개키와 비밀키를 가지고 있음
3) 해시 값을 비밀 키로 암호화하여 서명을 만들고 트랜젹션과 함께 전송함
4) 트랜잭션을 받은 주체는 같은 해시함수를 사용해서 트랜잭션의 해시값을 구하고 전자서명을 공개키로 복호화한다.
5) 두 값을 비교해 일치하는지 확인하면 자산 소유자의 신원을 확인할 수 있음
비트코인의 거래는 사용되지 않은 이전 거래(UTXO)들의 조합이다.
-
이전 자신의 공개키로 서명되어 전달된 거래의 소유권을 증명할 수 있음
-
이를 통해 새로운 거래를 생성함
-
거래를 블록에 담아 채굴자가 블록체인에 기록하며, 차익은 수수료로 채굴자에게 지급된다.
'블록체인' 카테고리의 다른 글
블록체인 공부 - 이더리움(Etherium, ETH)편 (0) | 2019.09.22 |
---|