본문 바로가기
카테고리 없음

비트코인: 개인 대 개인 전자 화폐 시스템 설명

by 코코랑희희랑 2024. 5. 30.
이 글에서는 비트코인의 기본 개념, P2P 전자 화폐 시스템, 작동 원리, 주요 특징을 상세히 설명합니다.  비트코인의 개념과 작동 원리에 대해 알아보고 비트코인에 대한 이해를 높여보세요.

 

비트코인은 전적으로 개인 대 개인 버전의 전자 화폐 시스템을 제안합니다. 이 시스템은 금융기관을 거치지 않고 한쪽에서 다른 쪽으로 직접 전달되는 온라인 결제를 실현합니다. 전자 서명은 일부 문제를 해결하지만, 이중 지급(double-spending)을 막기 위해 신뢰받는 제삼자를 둬야 한다면 주요 이점을 잃게 됩니다. 비트코인은 P2P 네트워크를 통해 이중 지급 문제를 해결합니다. 네트워크가 거래를 해시한 타임스탬프를 일련의 해시 기반 작업증명 체인에 찍고, 이를 변경할 수 없는 기록을 생성합니다. 가장 긴 체인은 사건의 순서를 증명하며, 이를 공격하려면 노드가 CPU 파워 대부분을 제어해야 합니다.

 

★ 비트코인 백서_개인 대 개인 전자 화폐 시스템 파일 다운로드 

bitcoin_개인 대 개인 전자 화폐 시스템.pdf
0.30MB
비트코인 백서
비트코인 백서

비트코인: 개인 대 개인 전자 화폐 시스템 설명

1. 거래

비트코인의 전자 화폐는 디지털 서명의 체인으로 정의됩니다. 각 화폐 소유자는 이전 거래 명세와 다음 소유자의 공개키를 해시 처리한 값에 디지털 서명하여 송금합니다. 수취인은 서명을 검증해 화폐 소유권의 체인을 확인할 수 있습니다. 그러나 이중 지급 문제를 해결하기 위해서는 모든 거래를 공개적으로 알려야 하며, 이를 위해 타임스탬프 서버를 사용합니다.

용어 해설:

  • 이중 지급(double-spending): 동일한 화폐 단위를 두 번 이상 사용하는 사기 행위.
  • 해시(hash): 데이터의 고유한 고정 길이 값을 생성하는 암호화 기법.
  • 공개키(public key): 암호화된 메시지를 해독하거나 전자 서명을 확인하는 데 사용하는 키.

2. 타임스탬프 서버

타임스탬프 서버는 타임스탬프가 찍힌 항목 블록의 해시값을 가져가 널리 배포합니다. 각 타임스탬프는 직전 타임스탬프를 포함해 체인을 형성하며, 추가되는 각 타임스탬프가 이전 타임스탬프를 강화합니다.

용어 해설:

  • 타임스탬프(timestamp): 특정 데이터가 특정 시간에 존재했음을 증명하는 정보.
  • 블록(block): 거래 정보를 담고 있는 데이터 단위.

3. 작업증명

비트코인은 해시캐시와 유사한 작업증명 시스템을 사용합니다. 이는 해시 처리를 통해 특정 값을 찾는 작업을 수반합니다. 작업증명은 블록의 해시에 필요한 값을 찾을 때까지 블록 안에 임시값을 증분 하여 구현됩니다. 일단 작업증명을 충족하면 해당 블록은 변경할 수 없습니다.

용어 해설:

  • 작업증명(proof-of-work): 특정 계산 작업을 완료했음을 증명하는 시스템. 주로 채굴에 사용됨.
  • 해시캐시(hashcash): 작업증명 시스템의 일종으로, 이메일 스팸 방지 등에 사용됨.

4. 네트워크

비트코인 네트워크는 다음 단계를 거칩니다:

  1. 새로운 거래가 모든 노드에 전파됩니다.
  2. 각 노드가 새로운 거래를 블록에 수집합니다.
  3. 각 노드가 블록에 맞는 작업증명을 찾습니다.
  4. 노드가 작업증명을 찾으면 블록을 모든 노드에 전파합니다.
  5. 노드는 모든 거래가 유효할 때만 블록을 받아들입니다.
  6. 노드는 가장 긴 체인을 옳은 것으로 간주하고 이를 계속 이어갑니다.

용어 해설:

  • 노드(node): 블록체인 네트워크에 참여하는 컴퓨터.
  • 체인(chain): 블록들이 순차적으로 연결된 구조.

5. 인센티브

블록 안의 첫 거래는 블록 창조자가 소유하는 새 화폐를 발행하는 특별한 거래입니다. 이는 네트워크를 지원할 인센티브를 제공합니다. 화폐 발행은 중앙기관 없이 이루어지며, 거래 수수료로 인센티브를 충당할 수 있습니다. 인센티브는 노드가 정직하게 행동하도록 유도합니다.

용어 해설:

  • 인센티브(incentive): 특정 행동을 장려하기 위해 제공되는 보상.
  • 거래 수수료(transaction fee): 거래를 처리하는 대가로 지불되는 소액의 금액.

6. 디스크 공간 회수

거래는 머클트리(Merkle Tree)로 해시 처리되며, 루트 정보만 블록의 해시에 포함됩니다. 오래된 블록은 해당 트리의 분기를 쳐내어 작아질 수 있습니다.

용어 해설:

  • 머클트리(Merkle Tree): 대량의 데이터를 소량의 해시 값으로 요약하는 구조.

7. 간소화한 결제 검증

사용자는 네트워크 노드를 조회해 얻을 수 있는 가장 긴 작업증명 체인의 블록 헤더 사본을 유지하면서 거래를 검증할 수 있습니다. 이 방법은 공격자가 네트워크를 장악할 때 취약하지만, 유효하지 않은 블록을 탐지한 네트워크 노드의 경고를 받아들여 온전한 블록과 경고 대상 거래 정보를 내려받아 검증할 수 있습니다.

용어 해설:

  • 블록 헤더(block header): 블록에 대한 요약 정보가 포함된 데이터.
  • 머클 분기(Merkle branch): 특정 거래가 머클트리에 속해 있음을 증명하는 정보.

8. 프라이버시

비트코인은 공개키 익명성을 통해 프라이버시를 유지합니다. 거래마다 새로운 키 쌍을 사용해 정보의 흐름을 끊습니다. 여러 입금이 동일 소유자의 소유임을 드러내는 다중입금 거래에서는 일부 연결이 불가피합니다.

용어 해설:

  • 익명성(anonymity): 개인의 신원이 드러나지 않도록 보호하는 특성.

9. 계산

공격자가 정직한 체인보다 더 빨리 대체 체인을 생성하려는 시나리오를 고려합니다. 공격자가 따라잡아야 하는 블록 수가 늘어날수록 따라잡을 확률은 기하급수적으로 감소합니다.

용어 해설:

  • 이항 임의보행(Binomial Random Walk): 확률적 사건의 누적 효과를 분석하는 방법.

마무리말

비트코인은 신뢰에 의존하지 않는 전자 거래용 시스템을 제안합니다. 디지털 서명을 사용해 강력한 소유권 제어를 제공하며, 이중 지급 방지 수단으로 작업증명을 사용합니다. 정직한 노드가 CPU 파워 대부분을 제어하면 이력을 변경하는 것은 전산적으로 불가능합니다. 비트코인의 견고함은 그 비정형적 단순함에 있으며, 노드는 거의 조정 없이 동작합니다.

 

참고문헌

  • W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998.
  • H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements, " In 20th Symposium on Information Theory in the Benelux, May 1999.
  • S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991.
  • A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002.
  • R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
  • W. Feller, "An introduction to probability theory and its applications, " 1957.

댓글