티스토리 뷰

로고

인생꿀팁 (honey life tip)

블록체인과 비트코인에 대해서

2021. 4. 1. 23:28

비트코인은 죽을지 모르나 블록체인은 살아남는다 블록체인은 분산되고, 독립적이며, 개방된 공통 장부(원장, ledger) 관리 기술 비트코인은 이 공통 장부를 거래기록 용도로 활용한 애플리케이션.

Hash 함수
한 방향 계산은 쉬우나 역방향 계산은 매우 어려운 수식
입력에서 출력으로 한 방향 계산은 쉬우나 역으로 출력 값에서 입력값을 계산하는 것은 불가능하거나 매우 어려운 함수. 역함수 계산은 대입법뿐

블록체인 요약
블록을 만드는데 노력을 들였다는 것을 객관적으로 증명하는 방법
누구나 블록을 만들 자격이 있다
누구나 블록이 정당한지 검증할 수 있다

Distributed Ledger Management
블록을 연결하여 하나의 공통 문서(기록 혹은 장부, ledger)를 축적해 가는 방법
블록이 연결될수록 이전 블록의 신뢰는 점점 커짐
위에 쌓이는 새 블록은 아래에 놓인 이전 블록이 옳다는 것을 검증하고 쌓인 것이기 때문
체인의 구조에 의해 직전 블록의 해쉬값만 검증해도 모든 블록이 옳다는 것을 검증한 것임
(주의) 여기서 검증했다는 것은 많은 노력을 들여 블록체인을 만들었다는 의미이며 정말무결하다는 의미는 아님
중앙집중적인 관리 주체 없이 블록체인의 동작과 검증이 가능
완전 분산화된 Peer-to-peer 네트워크에서 운영이 가능한 아키텍처
피어가 많을수록 더 안전해 짐


비트코인 개념
블록체인을 통화에 적용한 응용 사례
블록의 payload에 거래 내역 보관
Hashcash의 proof-of-work는 정체가 뭔가?
이메일을 보내기 위해 노력한 증거, 즉 신뢰
통화의 정체는 뭔가?
같은 가치의 다른 것으로 교환할 수 있다는 신뢰
신뢰는 제삼자에 의해 보증됨 – 발행 국가
이 신뢰는 절대 100%가 아님
신뢰가 가치임
일정한 노력을 들여 획득했다는 신뢰를 줄 수 있으면 통화로 쓸 수 있다는 아이디어

비트코인 채굴
채굴, Mining은 새 블록을 만드는 작업
이전 블록의 해쉬값을 찾아낸 것이 Proof-of-work
채굴은 조금씩 코인을 쌓아가는 과정이 아니라 10분에 한 번씩 벌어지는 달리기 경주나 로또와 유사
전 세계에서 채굴에 참여한 모든 컴퓨터가 평균 10분에 한 번씩 전 세계의 거래(트랜잭션)를 모아 조건을 만족하는 Hash값을 구하여 새 블록 생성 새 Block이 만들어지면 즉시 다른 노드에 전송
계산 중에 다른 노드가 만든 블록이 입수되면 즉시 계산 중단하고 그다음 블록을 만드는 계산에 착수
새 블록이 블록체인에 추가된 노드만 채굴 보상금 수령 (신규 발행 + 거래 수수료 : 코인베이스 거래)
평균 10분에 한 노드만 비트코인을 받도록 지속적으로 튜닝.

동시에 여러 노드가 채굴에 성공하면? 긴 블록 선호 정책
채굴 보상금은 즉시 사용할 수 없음 (수령 후 100 블록 추가된 이후)

거래
블록체인의 payload에 거래 기록 보관
전 세계에 오직 하나의 거래 장부(ledger)만 존재 (궁극적으로는)
각 비트코인은 거래내역이 아니라 실세계의 화폐(코인)와 유사
화폐인데 액면가가 미리 정해진 것이 아니라 거래의 결과에 의해 결정됨
예) 100원 내고 30원을 쓰고 70원을 거슬러 받으면
내 100원이 사라지고
새로 내 70원이 생기고
상대방의 30원도 새로 생긴다
디지털 서명과 지급할 주소 표현은 비대칭키 이용


거래 요약
거래 기록
신뢰는 불특정 다수의 채굴(Proof of Work) 과정에서 온다
검증은 각 채굴자의 개별적 검증

화폐와 대응
화폐는 물리적 이동
비트코인에서는 이동한 기록
거래 행위
지불할 때 내가 가진 화폐를 주고 잔액을 받는다
비트코인에서는 내가 가진 코인을 없애고 수신인의 새 코인을 만들고, 잔액만큼의 내 코인도 새로 만든다

블록의 확산 요인
각 노드가 자신의 이익을 극대화하려는 활동에 의해 전파되어 전체 블록체인이 동기화
분산, 독립, 효율
노드 작업의 우선순위
외부에서 전달된 새 블록 검증과 전파
다음 블록 채굴
이것이 자신의 이익을 위해 가장 유리한 선택임
새 블록 검증하지 않으면 -> 다른 노드에 의해 검증되므로 의미 없는 노력의 낭비
전파하지 않고 계속 채굴하면 -> 어차피 전파되고 있음. 최악의 경우 나만 최신 블록에 대한 정보에 뒤져서 손해 볼 수 있음. (예. 이미 채굴되고 검증된 과거 블록에 대한 채굴)

절차

채굴이 성공하면 즉시 모든 이웃 노드에게 해당 블록 전송
각 노드는 새 블록을 전송받아 검증한 후 전파
각 노드는 새 블록을 자신의 블록체인 복사본에 추가
각 노드는 다음번 블록에 대한 채굴 시작  대략 수 초 내에 전 세계로 퍼짐

반응형

댓글