
9
장
블록
237
트랜잭션은 비트코인을 한쪽에서 다른 쪽으로 전달하면서 서명으로 잠긴 비트코인을 해제하고
비트코인의 사용 권한을 부여합니다. 이렇게 하면 사용 권한이 있는 사람이 트랜잭션을 보냈다
는 것은 확실히 알 수 있습니다. 하지만 그 사람이 같은 비트코인을 여러 사람에게 보낸다면 확
인할 수 있을까요? 마치 집주인이 같은 집을 두 번 팔려고 하는 것과 같은 상황입니다. 이것을
이중 지불 문제
double
-
spending
problem
라고 합니다. 부도 가능성이 있는 수표를 받을 때 은행에 확인
하듯이 수신자는 트랜잭션의 유효성을 확인할 수 있어야 합니다.
비트코인의 주요 혁신은 바로 블록을 통한 이중 지불 문제를 해결한 것입니다. 비트코인에서
블록은 트랜잭션 순서를 정하는 방법이라고 할 수 있습니다. 트랜잭션 순서를 정한다면 같은
비트코인을 사용하려는 트랜잭션 중 첫 번째 것만 유효하고 나머지는 무효로 간주하여 이중 지
불을 방지할 수 있습니다.
모든 트랜잭션에 순서를 매길 수 있다면 이러한 방법으로 (맨 처음 트랜잭션만 유효하고 동일
한 후속 트랜잭션은 유효하지 않음 ) 이중 지불을 쉽게 방지할 수 있습니다. 이를 위해서는 네
트워크의 모든 노드가 시시각각으로 발생하는 모든 트랜잭션의 순서에 합의해야 하며, 어쩔 수
없이 이러한 합의에 도달하기 위해 ...