비트코인 채굴 과정

IT 2013. 12. 5. 04:11

비트코인 기술  이론 정리(채굴 방법)


비트코인 일반정보 정리http://codens.info/532


* 블록체인
    - DB 구조 : 기원블록(genesis block, 최초의 블록)의 뿌리로 하는 트리구조
    - 블록 : 여러 거래의 묶음, 거래를 기록
    - 블록 체인(block chain, 체인(chain)) :
        - 모든 거래 기록을 보관
        - 각 블록 간의 경로
        - 메인 체인 : 공식으로 인정되는 경로(체인)
    - 블록체인 용량 문제


        - 크기가 무한대로 늘어날 수 있다. <- 큰 문제점
        - 제시된 해결책 : 가지치기 (Pruning), 분산저장
            - 하지만 아직 진행중
   

* 채굴, 채광, 마이닝(mining)
    - 블록을 생성(찾아냄)할때 마다 상금(화폐, 잔액, 출력)이 함께 생성됨
        - 약 4년단위로 21만블록, 상금이 50BTC -> 25BTC...->0 식으로 반씩 줄어듬
        - 2013년 현재는 한개 블록채굴당 25BTC
    - 비트코인 발행 총량은 2100만 BTC로 정해짐, 약 2040년도에 마무리
    - 생성된 블록은 100회(16시간 20분) 이상의 확인
        - 16시간동안 사용할수 없다는 얘기

* 채굴 난이도
    - 네트워크의 해쉬능력의 최근 2주간의 통계 기준으로 10분에 한 번씩 블록이 생성될 정도의 난이도로 조정됨
    - 블록 생성 속도 : 10분( 항상 일정)



//========================================
* 비트코인 수학문제, 작업증명(proof-of-work)
https://en.bitcoin.it/wiki/Proof_of_work
    - 정해진 데이터와 임의값(nonce)을 합친 값의 SHA-256 해쉬함수의 해쉬값이 일정한 수 이하인 nonce를 찾는다.

- SHA-256는 해쉬 알고리즘,


- 예) 문제 :  해쉬값이 0000으로 시작하는 nonce 찾기
"Hello, world!+(nonce)" => 해쉬값

"Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
...
"Hello, world!4249" => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

찾아진 nonce(해답) = 4250



//======================================
* 거래(transaction)
    (- A->B로 보낼경우)
    - B의 주소(공개키)로 입금액을 정해서 A의 개인키(비밀키)로 서명한다
    - A가 거래내역을 방송 -> 네트워크 노드들은 확인(입증)
    - 6회(1시간) 이상의 확인
        - 출력(output)은 입력(input)에 의해 소비되거나 사용가능
        - 비밀키를 가진 사람만 출력을 사용 가능
        - 지갑에서 생성한 키파일과 공개키를 잃어버리면 돈을 잃어 버린것과 같다

* 수수료(transaction fee)

    - 지갑만 달랑 가지고 있는 사람은 대용량 블록체인을 가진 채굴자(노드)에게 수수료를 지불해야 한다.

    - 거래시 수수료가 부가 되는 경우
        - 거래 데이터량이 10k byte 이상
        - 거래금액이 0.01BTC 이하
        - 우선권이 낮은경우 : priority = sum(input_value_in_base_units * input_age)/size_in_bytes
 

    - 수수료 금액 : 0.1 mBTC (0.0001 BTC) /kB ,
        - 통상적인 거래가 500byte이므로 수수료는 0.0001 BTC


   

//======================================

참고
https://en.bitcoin.it/wiki/Mining
http://pub.mearie.org/%EB%B9%84%ED%8A%B8%EC%BD%94%EC%9D%B8

비트코인 백서

bitcoin white paper-백서.pdf



반응형

'IT' 카테고리의 다른 글

OS , Browser 시장점유율 2013년  (0) 2013.12.13
비트코인의 장단점  (0) 2013.12.06
유튜브 저작권 관련 문제 해설  (0) 2013.11.21
비트코인, BitCoin  (0) 2013.11.20
휴대폰에 애드센스 달기 & 광고 용어 설명  (0) 2013.11.19
Posted by codens