Blockchain papers : [2008] Bitcoin: A peer-to-peer electronic cash system (KOR)

블록체인 관련 논문들을 정리중에 있습니다. 핵심적인 부분에 한하여 개조식으로 정리하려 합니다. 궁금한 점이 있으시거나 틀린 부분이 있다면 가감없이 댓글 부탁드립니다.

Nakamoto, S., 2008. Bitcoin: A peer-to-peer electronic cash system.

  • 신뢰할 수 있는 제3자 (Trusted Third Party) 없는 P2P 네트워크로 통화 거래를 가능하게 함
  • 네트워크 및 거래를 암호화 -> 작업 증명(Proof-Of-Work)으로 기록 -> 체인으로 연결 -> 가장 긴 체인만 유지하여 이중지불 문제를 해결함

전자화폐 : 디지털 서명의 연속

  • 함의되어 있는 뜻은 다음과 같다. 화폐의 경우 신뢰를 기반으로 가치가 부여된다. (예: 금->런던 금 거래소, 달러->연준위, 원->한국 정부) 디지털 자산의 신뢰는 '불변성(immutable)'으로부터 발생할 것이다. 디지털 서명의 연속으로 불변성을 충분히 유지할 수 있다. 그러므로 디지털 서명의 연속으로 전자화폐를 정의 가능하다.

이중지불이 없음을 어떻게 검증할 것인가?

  • 중앙기관을 두는건 촌스럽고 문제가 좀 많음
  • 간단함. 거래마다 자신의 자산에 서명을 하게 함. 그리고 모든 거래를 뒤져서 이전에 그 자산에 서명한적이 없는지 확인함
  • 이렇게 확인하기 위해서는 모든 거래 기록이 공개되어야 함. 그래야 함
  • 공개 장부에 타임스탬프 서버와 작업증명을 섞으면?

타임스탬프 서버

  • 거래가 특정 시점에 이루어짐을 인증하는 서버. 거래를 블록에 넣으면 특정 기간에 발생함을 증명할 수 있음

작업증명

  • 누군가 장부를 기록해야 한다. 기록하는 권한을 누구한테 줄 것인가?
  • 작업증명
  • 채굴꾼들로 하여금 간단한 수학문제를 풀게 함. 간단하지만 정답이 될 수 있는 후보가 넘나 많은 문제임. 예컨데 단방향 해시 함수
  • SHA256(SHA256(prev_hash + merkle_root + nonce))
  • 이전블록해시+머클루트(거래의 해시)+임시값(nonce)를 해싱 -> 목표치(target)에 적합한 해싱값이 나오면 성공
  • 성공한 노드는 장부를 블록 단위로 기록
  • 많은 계산량을 보유한 노드가 블록을 만들 수 있음
  • 전체 계산량의 50%(혹은 25%)를 독점하지 않는 이상 이중거래 조작은 불가능에 가까움 (논문의 후반부에 확률적 증명이 있음)

네트워크

  • P2P로 장부 관리자(노드)를 엮음
  • 거래를 일으키면 인접 노드한테 알려줌
  • 그러면 노드끼리 서로 전파
  • 노드는 블록 크기를 넘지않게 거래를 모아서 블록을 만듦
  • 작업증명 ㄱㄱ
  • 성공하면 블록을 전파
  • 받은 노드들은 블록을 검사해서 거래들의 무결성이 입증되면 블록체인에 블록을 추가
  • 가장 긴 체인이 왕, 그러므로 포크가 발생해도 금방 돌아옴

보상

  • 블록 만들면 돈줌
  • 수수료도 언져줌

저장공간 재확보

  • 소비되었으며 오래된 거래는 제거할 수 있음
  • 그래도 머클트리는 유지해야지

지불입증 간소화

  • 머클 트리 쓰면 됨

금액의 결합과 분할

  • 하나의 거래에 대하여 [입력-출력]을 [n-m] degree로 할 수 있음
  • 돈을 쪼갤 수도 있고..
  • 여러개를 합칠 수도 있고..

개인 정보 보호

  • 제3자 신용기관이 없음요
  • 그래도 지갑 ID(공개키)를 알면 개인 신상이 노출될 수 있으니
  • 거래마다 지갑 ID(공개키)를 새로 파는 것도 좋음

결론

  • 컴퓨팅 파워를 통해 의사결정으로 하고, 유효한 블록에 대해서만 작업을 수행
H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now