[TIL & Issue Note] 20220303

1. 블록체인의 탄생 배경

개요

  1. 블록체인의 작동원리와 기반 기술
    • 세부기술에 대한 자세한 설명을 통해 블록체인의 정한 효용
  2. 초보자와 프로그래머에게 모두 열린 학습
    • 비유를 통한 원리 이해
    • 현업에 발판이 되는 전문 지식

1. 블록체인의 탄생 배경

Cipherpunk 운동

  • Cipher(암호) + Punk의 합성어
  • 암호로 개인의 프라이버시 보호를 극대화하고자 했던 행동주의자

등장 배경

  1. 1980년대 미국, 국가나 대형 기관에 의한 개인의 인권 및 개인정보 침해 심각
    • 개인의 프라이버시 보호하고자 하는 의식 확산
    • 암호화 기술은 국가/군 기관이 점유 -> 개인에게는 허용 불가
  2. 1970년 IBM에서 일반인들도 사용할 수 있는 암호화 체계 등장 -> DES (Data Encryption Standard, DES)
  3. 1983년, E-cash (David Chaum)
    • 모든 금융 거래의 이체 내역 암호화
    • 은행과의 제휴를 통해 계좌 이체 내역에 대해서만 본인이 알 수 있도록 함.
  4. 1998년, B-money (WeiDai)
    • 분합산의 계산 퍼즐 사용
  5. 2002년, Hash cash(Adam back)
  6. 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. 블록체인과 전통적 거래원장의 비교

전통적인 거래원장

  • 누구에게 얼마를 주었는지 원장/장부에 기록
  • 거래내역이 순차적으로 기입
  • 송신자, 수취자, 입금액 기록

블록체인

  • 블록 = 전통적인 원장/장부의 페이지
  • 블록체인 = 전체 장부
  • 시간 순서에 맞춰서 기록하는 장치 = 거래내역을 순서대로 기록하는 저 장장치
  • 한 번 쓰인 기록은 삭제나 변경이 불가능 -> 블록체인의 속성
  • 각각의 블록에서 지금까지 비트코인을 주고받은 모든 거래내역 확인

비트코인 거래 원장의 내용

  1. 보내는 사람의 비트코인 주소(비트코인주소 = 은행에서 계좌번호 역할)
  2. 받는 사람의 비트코인 주소
  3. 보내는 금액
  4. 수수료
    • 비트코인 소유자가 비트코인을 처리하기 위해 블록을 만든 사람에게 지불하는 금액
    • 수수료 액수에 따라 비트코인 유통 속도가 좌우
    • 소유자가 스스로 수수료 책정

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

비트코인의 교환 방식

  • 지폐를 물리적으로 나누어 지불하지 않는 것과 유사
  • 전체 금액을 모두 지불하고 거스름돈을 돌려 받는 방식
  • 소유자가 모든 내역을 기술하는 방식임
  • 거스름돈도 소유자가 직접 작성해야 함
  • 수령자는 어떤 거래내역도 기록하지 않음
  • 소유자가 수수료를 부담함

정해진 액면으로서 블록에 기록 -> 주고받은 거래내역 중 나머지 돈이 새로운 화폐로 발생

새로운 액면 단위 생성 -> 생성되는 액면 가지 수 무한대

약속된 금액의 부재 -> 합의된 거스름돈의 부재 -> 거래가 반복됨에 따라 새로운 액면 발생