블록체인에서 이중지불방지 문제를 어떻게 해결하고 있나요?
안녕하세요?
이중지불은 말그대로 단일 화폐 단위가 두번(이중) 결제되어 발생하는 문제입니다. 물리적인 현실에서는 이중지불문제가 일어날 수는 없지만 네트워크상에서는 이중지불 문제가 생길 수 있는 것으로 알고 있습니다.
블록체인도 네트워크에서 거래가 되는 방식인데 이 이중지불 문제점을 어떻게 해결하고 있나요?
답변 미리 감사드립니다.
- 안녕하세요. 질문주신 이중지불 문제는 51%공격에 의해 발생되는 문제입니다. 51% 공격은 블록체인 전체 노드 중 50%를 초과하는 해시연산력을 확보한 뒤 거래정보를 조작하여 이익을 얻으려는 행위입니다. 좀 더 자세히 설명 드리자면 악의적인 공격자가 전체 네트워크의 50%를 초과하는 막강한 해시 연산 능력을 보유하고, 다른 일반 노드들보다 더 빠른 속도로 신규 블록을 생성하여 네트워크에 전파함으로써, 다른 노드들이 정상적인 데이터가 아니라 위변조된 데이터가 포함된 블록체인을 채택하도록 만드는 공격 기법입니다. 이러한 문제로 인해 51프로 이상의 공격에 대해 사람들이 걱정을 하고 있습니다. - 하지만 51% 공격을 성공하려면, 해당 블록체인 네트워크에 참여한 다른 모든 노드들의 해시 연산 능력을 합친 것보다 더 큰 해시 파워를 보유해야 합니다. 블록체인 네트워크에 참여자 수가 늘어남에 따라 50% 이상의 해시 파워를 확보하는 것이 매우 어렵기 때문에, 51% 공격은 사실상 불가능하죠. 
- 안녕하세요. - 비트코인의 예를 들어 설명하자면 비트코인은 네트워크는 작업 증명방식의 합의 알고리즘(PoW)과 UTXO의 개념을 사용하여 이중지불 문제를 해결하였습니다.(51% 공격 상황은 고려하지 않았습니다) - 블록체인에 기록된 내역중 INPUT이 되고 아직 OUTPUT 되지 않은 거래 정보를 UTXO라고 하는데,이것이 2번 사용되지 않는다면 이중지불 문제를 해결할 수 있습니다. - 채굴자는 동일한 UTXO를 가진 트랜잭션을 동시에 담을 수 없고, 각각 다른 채굴자가 동일한 UTXO를 가진 트랜잭션을 각각 담았다고 해도 추후에 거래로 인정되지 않기 때문에 이중지불 문제가 발생하지 않습니다. - 도움이 되셨으면 좋겠습니다. - 감사합니다.