블록체인 1강, 2강

비트코인

Posted by 동식이 블로그 on June 3, 2019

1강 비트코인 암호기초 | 2강 비트코인이란?

제1강 비트코인 암호기초

1. 관련 보안 기술 기초

  • 해시함수(hash function)

    • 메세지에 대해 짧고, 일정하며, 고유한 메세지 지문(해시값, 메시지 다이제스트) 생성

    • 지문의 길이는 해시 함수에 따라 128 ~ 512 비트의 동일한 결과값이 나옴

    • 입력값과 결과값은 항상 일대일로 매핑됨 : 고유한 값

    • Hash Value

    • 비트코인은 256비트를 사용

    • 특징

      • 일방향성
        • 메시지와 해시함수의 결과값의 1:1 대응 관계 보장
        • 주어진 해시값 h에 대해 H(x) = h인 메세지 x를 찾는 것은 계산상 불가능 -> 일방향성을 가진다 (역상 저항성을 가진다)
      • 임의성
        • 해시함수의 입력값이 다르면 완전히 다른 결과값을 생성- 입력값에 1비트만 차이가 나도 완전히 다른 결과값을 생성
        • 입력값과 결과값의 상관 관계를 추론 할 수 없다 : 입력값에 따른 결과값, 결과값에 따른 입력값 예측 불가
    • 활용

      • 서명을 위한 문서 지문 생성
      • 블록체인에서 블록간 연결(체인) - 해시값으로 체인을 만든다
      • 작업증명(목표값 보다 작은 해시값 찾기) - PoW(Proof of Work)
  • 공개키 암호(public key encryption)

    • 한 쌍의 키 생성(Key Pair)
      • 수학적으로 서로 다른 키를 생성하고 암호화와 복호화에 서로 다른 키를 사용
      • 한 개의 키는 공개(공개 키-Public Key, k+), 한 개의 키는 비밀로 보관(개인 키 - Private Key, k-)
      • 계산상의 어려움으로 공개키로부터 개인키 추론 불가
    • 암호화(encryption)
      • 공개키를 사용하여 암호화 - 대응되는 개인키로 복호화
      • 개인키를 사용하여 암호화 - 대응되는 공개키로 복호화
    • 활용
      • 공개키 : 주소 생성과 서명 검증 - 공개 키에 대한 해시값을 주소로
      • 개인키 : 서명 생성
  • 서명(digital signature)

    • 서명 생성
      • 공개키 공개 : 인증서 발행, 서버에 등록, 주소로 공개
      • 메시지에 대한 해시값 계산
      • 개인키를 사용하여 메시지의 해시값을 암호화(서명)
      • 메시지와 서명을 전송
    • 서명 검증
      • 수신 메세지의 해시값 계산
      • 공개키로 서명을 복호화
      • 계산된 해시값과 서명의 복호화 값을 비교
    • 활용
      • 거래 생성자 확인
      • 특정 주소의 코인 소유자 확인

제2강 비트코인이란?

  • 비트코인

    • 비트코인 네트워크에서 발행되는 통화의 이름

    • btc, Satoshi(1/100,000,000 BTC)

    • 비트코인 통화가 운영되는 네트워크 시스템 전체를 통칭하는 이름

      • 거래(transaction) 장부인 블록체인
      • 거래 및 블록 전송을 위한 네트워크
      • 블록체인을 생성하고 검증하는 채굴자 집합
    • 개념발표

      • 2008년 사토시 나카모토가 “비트코인 : P2P 전자 화폐 시스템”이라는 논문 발표
    • 시스템 운영

      • 2009년 참조 구현 배포
      • 태초 블록 생성(50 BTC 발행) - 제네시스 블록
      • 10분마다 1개의 블로깅 생성되어 블록체인에 연결 중
    • 비트코인 : 참여자간 직접 전자 현금 지불 시스템

    • 현금거래

      • 오프라인상의 현금(cash)거래
        • 거래 당사자간에 거래의 가치에 맞게 현금을 직접 지불
        • 간단하지만 불편
      • 온라인상의 신용 거래
        • 신뢰할 수 있는 기관(은행, 카드호시ㅏ)이 부여한 신용(credit)을 활용한 외상 거래
        • 편리한 시점에 현금 또는 다른 신용 거래로 정산하고, 대신 신용 거래에 대한 수수료(이자) 지불
        • 비용이 발생하고, 거래 상대방 위험(counter-party risk) 발생
    • 목표

      • P2P거래
        • 참여자간의 직접 거래
        • 거래 결재 기관 불필요
      • 전자 현금 거래
        • 참여자간에 전자 현금 거래
        • 전자거래 문서에 대한 신용을 담보할 제3의 거래 기관(은행 등) 배제
        • 수수로 불필요 / 최소화, 거래 상대방 위험 해소
      • 투명한 화폐 발행
        • 가치를 담보할 수 있는 투명한 화폐 발행
      • 비트코인
        • 누구나 화폐 발행(채굴)에 참여 가능
        • 발행 시기, 발행량은 수정 불가하게 수학적으로 결정
          • 현재는 10분마다 12.5BTC
    • P2P 전자 화폐 시스템
      • 완전한 소유 증명
        • 어떤 경우에도 전자 화폐 소유 증명
        • 공개키 기반 주소에 대응되는 서명에 의한 증명
      • 직접거래
        • 어떤 개인(P2P)간에도 전자 화폐 직접 지불 가능
        • 제3의 중재 기관 배제
        • 참여자에 의해 자발적으로 구축되고 운영되는 P2P네트워크 사용
        • 누구나 거래 정보 수신 및 확인 가능
      • 원장 관리(Ledgey)
        • 투명하고 안전한 거래 승인 및 전자 화폐 이동 관리
        • 모든 지불 거래 정보를 블록체인에 저장
        • 블록체인에서 승인된 거래 기록 변경 불가
        • 누구나 블록체인 생성에 참여 가능
        • 누구나 블록체인 유지 및 내역 확인 가능 - 투명하게 관리
      • 이중 지불 방지
        • 전자 화폐 복제 및 이중 사용 방지
        • 동일 화폐 사용 이중 거래 탐지 및 제거
        • 거래 장부(블록) 변경 불가능
  • 즉 비트코인이란 참여자간 직접 전자 현금 지불 시스템
1
2
3
4
5
6
참여자가 자율적으로 구축하는 네트워크 상에서, 
수학적으로 변경 불가한 방식으로 미리 정의된 발행 방식에 따라 참여자가 자율적으로 화폐를 발행하고, 
참여자간에 직접 거래를 통해 전자 화폐를 지불하고, 
화폐의 소유와 이동을 위한 모든 거래 내역이 투명하고 안전하게 관리되는 블록체인에 저장되고,
누구나 블록체인의 생성과 소유와 확인에 참여할 수 있는 
참여자간 직접 전자 현금 지불시스템