비트코인 합의 알고리즘 개요

블록체인

개요

비트코인은 작업 증명(Proof of Work)을 통해 분산된 노드들이 거래 순서에 합의하도록 설계되었다. 중앙 신뢰 기관 없이도 이중 지불 문제를 해결하기 위해, 가장 긴 체인이 정당한 체인이라는 단순한 규칙을 채택한다.

작업 증명의 핵심 아이디어

각 블록의 헤더에 논스(nonce) 라는 임의 값을 포함시키고, 블록 헤더의 SHA-256 해시가 미리 정해진 난이도 목표 값보다 작아질 때까지 논스를 변경한다. 이는 본질적으로 결과를 미리 알 수 없는 계산을 다수 시도해야 하는 작업이다.

합의 규칙

  1. 노드는 새로운 거래를 수신하면 자신의 풀에 추가한다.
  2. 채굴자는 거래를 묶어 블록을 만들고, 유효한 논스를 찾으면 네트워크에 전파한다.
  3. 다른 노드는 블록의 유효성(서명, 잔액, 해시)을 검증한 뒤 자신의 체인에 연결한다.
  4. 동시에 두 블록이 발견되어 분기되면, 노드는 더 긴 체인을 따른다.

보안 가정

전체 해시 파워의 과반수가 정직한 행위자에게 있다는 가정 아래, 공격자가 자신만의 더 긴 체인을 구축하는 것이 시간이 갈수록 기하급수적으로 어려워진다.

한계