1. 블록체인의 탄생 배경
개요
- 블록체인의 작동원리와 기반 기술
- 세부기술에 대한 자세한 설명을 통해 블록체인의 정한 효용
- 초보자와 프로그래머에게 모두 열린 학습
- 비유를 통한 원리 이해
- 현업에 발판이 되는 전문 지식
1. 블록체인의 탄생 배경
Cipherpunk 운동
- Cipher(암호) + Punk의 합성어
- 암호로 개인의 프라이버시 보호를 극대화하고자 했던 행동주의자
등장 배경
- 1980년대 미국, 국가나 대형 기관에 의한 개인의 인권 및 개인정보 침해 심각
- 개인의 프라이버시 보호하고자 하는 의식 확산
- 암호화 기술은 국가/군 기관이 점유 -> 개인에게는 허용 불가
- 1970년 IBM에서 일반인들도 사용할 수 있는 암호화 체계 등장 -> DES (Data Encryption Standard, DES)
- 1983년, E-cash (David Chaum)
- 모든 금융 거래의 이체 내역 암호화
- 은행과의 제휴를 통해 계좌 이체 내역에 대해서만 본인이 알 수 있도록 함.
- 1998년, B-money (WeiDai)
- 분합산의 계산 퍼즐 사용
- 2002년, Hash cash(Adam back)
- Hal Finney
비트코인
- 1983년부터 시작되어 쌓여온 많은 기술들이 집대성 된 소프트웨어
- 2008년 인터넷에 9페이지 분량의 논문으로 게재 -> 2009년 1월 3일 소프트웨어로 등장함
- 최초의 블록체인
비트코인 기반 기술
- 이미 존재하던 기술과 새로운 방식의 조합
- 기존 중앙서버로만 처리 -> 현재 중앙 서버 없이 처리 가능
2. 사토시 나카모토와 비트코인
- 사토시 나카모토 - 익명의 단체이며, 5~6명의 정도가 모인 단체
비트코인의 목적
- 비트코인을 사용해서 서로 금융거래 시 익명성 보장한다. -> 개인의 프라이버시 보호
비트코인의 특징
- 2009년 1월 3일 최초의 블록(제네시스 블록) 탄생
- 2009년 1월 9일부터 블록 본격적으로 생산 시작 -> 평균에 10분에 하나씩
- 2017년 말 대략 50만개 이상 생성 -> 약 3억개의 거래 내역 보유
블록(Block)
- 논리적인 데이터 단위
- 예시) 데이터베이스 관점에서 학생을 식별할 수 있는 데이터 (이름, 성적, 성별, 반 등)
비트코인에서 블록의 정의
- 1MB 까지 담을 수 있는 논리적 저장장치
- 이더리움에서 블록 개념은 조금 다름
비트코인/블록체인에서의 블록
- 거래내역이 약 3천개 정도가 담긴 논리적인 저장 단위
- 비트코인논문에는 블록체인이라는 고유명사가 사용 되지 않음 -> 블록체인에 대한 정확한 정의 없다.
- 어떤 계정이 다른 계정으로의 얼마 정도의 비트코인이 주고받았다는 거래내역의 기록
블록 체인
- 블록들이 만들어진 순서대로 차곡차곡 쌓여서 마치 쇠사슬에 묶여있는 모양
- 블록체인에 대한 정의 -> 각자의 방식대로 다양한 해석이 존재 -> 블록체인에 대한 정의가 상호간 불일치
3. 0 번째 블록과 500,000 번째 블록 비교
구분 | 제네시스 블록 | 500,000번째 블록 |
---|---|---|
블록번호(높이) | 0 | 500,000 |
생성 시각 | 2009-01-03 | 2017-12-18 |
크기(바이트) | 285 | 2,701 |
- 2009년 : 비트코인을 사용한 사람이 없었으므로 거래내역이 존재하지 않음
- 2017년: 비트코인의 거래가 활발
비트코인의 제약조건
- 한 블록당 1MB를 넘기지 못하는 제약 조건이 있다.
- 블록크기의 제약은 거래를 처리하는 시간과 연관이 있다.
- 비트코인의 수요가 늘더라도 처리 능력이 그것을 따라가지 못함을 암시
비트코인 보상금
- 블록을 생성한 사람들에게 보상금이 주어짐
- 고정금인 보조금 + 변동금인 수수료 -> 거래내역으로부터 거둬들인 금액
- 비트코인의 소유주가 건네주는 사람을 대신하여 수수료를 지불 -> 수수료 액수에 따라 비트코인 처리 속도가 좌우
- 블록생성에 경쟁의 동인 -> 비트코인 시세 영향 (시세하락 시 블록생성의 동기부여가 저하)
- 비트코인 소유자가 결정 : 점점 많은 사람들이 수수료 경쟁
블록 생성의 난이도
- 에너지와 하드웨어의 상대 척도
- 필요 에너지의 지속적인 변화
- 1조 9000억 배 이상의 에너지 소모
- 블록 생성을 위한 에너지는 계속 증가
- 블록 생성에 대한 보상금, 난이도 -> 블록체인이 영속성과 직결
구분 | 제네시스 블록 | 500,000번째 블록 |
---|---|---|
블록 보조금 | 50 BTC | 12.5 BTC |
트랜잭션 수수료 | 0 BTC | 3.39351625 BTC |
비트코인 블록체인 기초지식
1. 블록체인과 전통적 거래원장의 비교
전통적인 거래원장
- 누구에게 얼마를 주었는지 원장/장부에 기록
- 거래내역이 순차적으로 기입
- 송신자, 수취자, 입금액 기록
블록체인
- 블록 = 전통적인 원장/장부의 페이지
- 블록체인 = 전체 장부
- 시간 순서에 맞춰서 기록하는 장치 = 거래내역을 순서대로 기록하는 저 장장치
- 한 번 쓰인 기록은 삭제나 변경이 불가능 -> 블록체인의 속성
- 각각의 블록에서 지금까지 비트코인을 주고받은 모든 거래내역 확인
비트코인 거래 원장의 내용
- 보내는 사람의 비트코인 주소(비트코인주소 = 은행에서 계좌번호 역할)
- 받는 사람의 비트코인 주소
- 보내는 금액
- 수수료
- 비트코인 소유자가 비트코인을 처리하기 위해 블록을 만든 사람에게 지불하는 금액
- 수수료 액수에 따라 비트코인 유통 속도가 좌우
- 소유자가 스스로 수수료 책정
2. 비트코인 발행량
비트코인 발행량
- 비트코인은 새로운 블록이 생성 될 때마다 소프트웨어적으로 발생한다 -> 보조금 개념
- 보상금 : 블록을 생성한 사람한테 주어짐
- 보조금 : 보상금 + 수수료
- 약 210,000 개마다 생성량이 저감되게 설계 =
- 보조금이 약 4년을 주기로 반감하도록 설계(210,000 4년 소요)
- 0번 블록 : 50 BTC -> 500,000 블록 : 12.5 BTC
- 2140년이 되면 비트코인 발행 중단 = 발행량은 대략 2,100만 비트코인으로 추정
비트코인의 가치
- 비트코인은 한정된 자원 -> 미래에는 금과 같은 가치가 될 것(?)
- 하지만 단순히 프로그램일 뿐
- 코드의 변경으로 발행량을 변경가능
- 비슷한 프로그램도 얼마든지 복제 가능
- 미래 화폐로서 가능성이 있는가? -> 미래 가치는 사람들의 인식에 의해 결정
블록생성 보조금이 감소되게 되면
- 블록생성 보조금이 감소 -> 수령하는 보상금 감소 -> 비트코인 가치 폭락 => 블록을 만들 수 있는 동인 소멸
- 비트코인의 가치가 블록체인의 존립을 결정
결론
- 발행량이 제한 -> 그 가치를 보장해 주지는 않음.
- 동인의 저하로 리스크 요인으로 작용할 수 있음
3. 비트코인과 이더리움 등의 거래 방식과 단위
단위
- 암호화폐의 경우 통용 화폐 단위에 비해서 매우 정교하고 작은 형태
달러
- 센트 + 달러
- 100센트 = 1달러
비트코인
- 사토시 + 비트코인
- 1억 사토시(Sat.) = 1비트코인(BTC)
이더리움
- Ether + … + Wei
- 1Ether = 10^18 wei
- 1,000,0000 Szabo
- 1,000 Finney
비트코인의 교환 방식
- 지폐를 물리적으로 나누어 지불하지 않는 것과 유사
- 전체 금액을 모두 지불하고 거스름돈을 돌려 받는 방식
- 소유자가 모든 내역을 기술하는 방식임
- 거스름돈도 소유자가 직접 작성해야 함
- 수령자는 어떤 거래내역도 기록하지 않음
- 소유자가 수수료를 부담함
정해진 액면으로서 블록에 기록 -> 주고받은 거래내역 중 나머지 돈이 새로운 화폐로 발생
새로운 액면 단위 생성 -> 생성되는 액면 가지 수 무한대
약속된 금액의 부재 -> 합의된 거스름돈의 부재 -> 거래가 반복됨에 따라 새로운 액면 발생