Bitcoin


A Peer-to-Peer Electronic Cash System

Bitcoin?


  • 기존 전자상거래에서는 이중 지불(Double Spending) 문제가 발생함
  • 비트코인은 P2P 분산 네트워크 기반으로 번복이 불가능한 거래 방식
    • 금융기관 등 제3자 신용기관을 필요로 하지 않음
    • 비트코인은 블록체인을 화폐 발행과 운영에 응용한 것
  • 악의적인 노드보다 정직한 노드가 더 많은 컴퓨팅 파워를 제어하는 한 안전함
    • 전체 네트워크의 25% 이상의 CPU를 점유해야 조작이 가능
      • Majority is not Enough: Bitcoin Mining is Vulnerable, Ittay Eyal, et al.
      • 사토시의 논문 상에는 과반이라고 나와 있으나 Ittay Eyal의 논문에서는 25% 이상만 점유하면 조작이 가능하다고 밝혀짐

Satoshi Nakamoto?


  • 비트코인을 창시한 사람 (논문의 저자)
  • P2P재단 웹 사이트에 등록해 놓은 정보
    • 2017년 기준 42세, 일본에 거주
  • 의혹
    • 일본어를 사용한 적이 없고 국적, 이름 등 어떤 것도 진실인지 확인할 방법이 없음
    • 커뮤니티상에서 영국식 영어, 미국식 표현을 혼재하여 사용
      • 한 사람이 아닌 여러 명으로 구성된 집단일 것이라고 추정하기도 함
    • 호주 국적의 크레이그 스티븐 라이트가 자신이 사토시라고 주장
      • 첫번째 거래의 개인키를 사용하여 거래 내역 증명
      • 증빙 자료가 조작이 가능하다는 의혹이 나옴

Bitcoin Process


Paper Review


  • Transactions
  • Timestamp Server (Block Chain)
  • Proof-of-Work
  • Network

Transactions


  • 전자화폐(코인) = 디지털 서명의 연속
  • 거래 과정의 사기를 방지하기 위해 이전 거래의 서명을 일일이 확인
  • 모든 거래는 공개적으로 알려져야함
  • 시간 순서에 따라 단일 거래내역으로 수용하는 시스템
  • 과반수 이상의 노드들이 최초의 거래라고 인정해주는 시간 증명

Transaction Hash Example


  • 0이 1에게서 공개키를 받음
  • 0이 1의 공개키와 0의 비밀키를 결합
  • Hash0 + 1의 공개키 + 0의 비밀키 -> Hash1
  • Hash1은 1만이 풀 수 있음 (1의 공개키-1의 비밀키)

Timestamp Server


  • 시간 내역이 기록된 항목들의 블록 해시를 취함
  • 신문이나 유즈넷 포스트처럼 해시를 널리 발행
  • 타임스탬프 내역은 해시에 포함될 수 있도록 그 시간에 데이터가 명백히 존재했다는 것을 입증
  • 각 타임스탬프 내역은 이전 타임스탬프로부터 받은 해시 내역을 포함시킴으로써 보강하는 체인을 형성

Timestamp Server - Block 구조


  • JSON 형태로 기록
  • 비트코인 거래를 약 10분 단위로 모은 것이 담겨 있음
  • Block Header
    • hash, prev_hash, time, bits, nonce, ...
  • Block Body
    • transactions, merkle tree
    • 거래의 변조를 막기 위해 거래내역을 해시 트리로 만듦

Timestamp Server - Block Chain


  • Genesis Block 생성 이후 현재까지 블록이 링크드 리스트 형태로 이어져 있는 거래 장부
  • 네트워크상의 모두에게 나누어지는 공개된 공공원장

Proof-of-Work


  • 고정값(prev_hash, time ...)에 nonce를 대입하여 블록 hash 생성
  • Hash 값이 조건(0비트의 요구 개수)을 만족할 때 까지 nonce를 증가
    • 0비트의 요구 개수에 따라 지수적으로 작업 시간 증가
  • 조건을 만족하게되면 블록을 고정
  • 생성된 블록을 네트워크에 전파
  • 체인에서 중간의 블록을 조작하면?
    • 해당 블록으로 시작하여 후에 생성된 모든 불록에 대해 작업 증명을 해야함

Proof-of-Work: 난이도 조절


  • 평균적으로 10분마다 블록이 생성되도록 조절
  • 0비트의 요구 개수를 변경하여 난이도 조절
  • 블록체인 참여자 수와 컴퓨팅 파워에 따라 난이도 변동
  • 2,016 블록 생성마다 변경됨

Proof-of-Work: Incentive


  • 새로운 블럭의 생성자에게 코인 지급
    • 최초 50 BTC로 시작해서 21만개 블록 생성마다 반감
    • 현재 약 1,650만 BTC가 채굴되었고 12.5 BTC 보상
    • 분산 저장소에 참여를 유도하여 거래 조작을 방지
  • 거래 수수료
    • 출력되는 돈과 입력되는 돈의 차액
    • 포함된 거래수가 2,000일 때 약 2 BTC

Network: 동작 과정


  1. 새로운 거래 내역이 모든 노드에 전파
  2. 각 노드들은 새로운 거래 내역을 블록에 취합
  3. 각 노드들은 생성한 블록에 대한 작업증명 수행
  4. 노드들은 해당 블록의 모든 거래가 이전에 쓰이지 않은 경우에만 승인
  5. 작업증명이 완료된 블록에 이전 블록의 해시를 사용하여 다른 노드에 전파

Network: 규칙



  • 블록 생성 시점에 따라 블록이 분기 될 수 있음
  • 긴 블록 선호 정책을 통해 해소
  • 다수의 결정은 긴 체인을 나타냄

Network: 규칙


  • 블록체인에 거래가 포함됐을 때 거래 승인
  • 소액 거래의 경우 편의상 거래가 블록체인에 포함되기 전에 완료
  • 규모가 큰 거래는 일정한 깊이 이상 블록이 쌓인 후 승인
    • 깊이의 결정은 거래 당사자가 정함

Network: Peer 검색


네트워크 종류DNS Seed
Mainnet bitseed.xf2.org
dnsseed.bluematt.me
dnsseed.bitcoin.dashjr.org
...
Testnet3testnet-seed.bitcoin.jonasschnelli.ch
seed.tbtc.petertodd.org
...

  • 기본적으로 이전에 연결했던 Peer에 연결
  • Peer가 모두 끊겼거나 초기 연결시
    • 코드상에 정의된 DNS Seed에서 Peer 검색
  • ./src/chainparams.cpp에 정의되어 있음

Conclusion


  • 비트코인은 디지털 서명으로 이루어진 전자화폐
  • 신용에 기반하지 않은 전자 시스템
  • P2P 기반 공공원장에 의해 이중지불 문제 방지
  • 참여 유도 또는 문제 해결을 위해 규칙과 보상을 제공

추가자료


블록체인의 종류


종류특징예시
Public Blockchain
  • 인터넷을 통해 모두에게 공개
  • 컴퓨팅 파워를 네트워크에서 제공함으로써 누구든 공증에 참여
  • 거래속도가 느림
비트코인, 이더리움, ...
Consortium Blockchain
  • 미리 선정된 주체들만 참여 가능
  • 주체들간 합의된 Rule을 통해 공증
  • 거래속도가 빠름
City Group, ...
Private Blockchain
  • 개인형 블록체인
  • 하나의 주체가 내부 전산망을 블록체인으로 관리
NASDAQ

비트코인 지갑의 종류




  • Client Wallet
    • 프로그램을 설치하여 직접 생성
    • 비밀키를 직접 보관함
    • 키를 삭제하면 지갑을 분실함
  • Web Wallet
    • 웹 서버에서 지갑 생성
    • 비밀키를 서버에 보관
    • 서버가 해킹당하면 거래 조작 가능

블록체인 활용


산업분야국가사례
의료미국IBM 왓슨 헬스와 미 FDA는 민감한 전자 의료 기록, 임상 시험, 모바일 장치 및 웨어러블로부터 생성되는 데이터의 안전한 환자 데이터 교환을 위해 블록체인을 활용하는 방법을 연구
금융버뮤다(영국)Genpact는 블록체인 기반의 스마트 계약을 이용해 고객과 조직 사이에서 모든 조건을 캡처하는 금융 및 회계용 서비스를 공개
보안미국아크로니스(Acronis)는 자사의 True Image 2017 데이터 백업 소프트웨어에 블록체인 기술을 도입 (데이터 인증 및 확인)
에너지미국블록체인을 통한 태양광 에너지 생산 보상 프로그램 구축하여 태양광 패널 시설 보급 장려 및 발전량에 따라 “솔라코인” 가상화폐 지급

References


The End