아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
정직한그늘나비112
정직한그늘나비11219.07.24

블록체인 암호화폐에 대한 '이중 지불 공격'이란 무엇 인가요?

이더리움 클래식이 51% 공격을 당했을 당시에 11차례에 걸쳐 이중지불 공격이 발생하였고, 이 과정에서 해커는 8만 8500 ETC를 챙겼다...라고 하는데요.

여기서 말하는 이중 지불 공격은 어떤 공격 인가요?

55글자 더 채워주세요.
답변의 개수
3개의 답변이 있어요!
  • 이중 지불 공격이라는 것은 암호화폐로 대가를 지불할 때 원래는 한 번만 사용이 가능해야 하는 것인데 블록체인의 특성을 악용하여 지불을 할 때 두 번 사용함으로써 경제적 피해를 야기하는 공격이라고 할 수 있습니다.

    예를 들어 A가 B에게 100ETC를 5천 달러에 팔기로 했다고 해 보겠습니다. 이때 A는 이더리움 클래식의 해시 파워를 51%이상 장악하고 있는 상황입니다.

    1. A가 B에게 100ETC를 보내는 트랜젝션a를 발생시키고 동시에 해당 트랜젝션이 컨펌을 여러 번 받아서 확정되기 전에 자신이 개인적으로 구축한 프라이빗 체인에서 블록체인을 포크하여 트랜젝션a가 포함되지 않은 블록을 생성하고 이어 나갑니다.

    2. B는 A가 100ETC를 보냈다는 것을 TxID를 조회하여 확인하고 5천 달러를 A에게 보냅니다. 돈을 받은 A는 자신이 프라이빗 체인에서 생성한 블록(트랜젝션a가 포함되어 있지 않은 것)을 다른 노드들에게 전파합니다. 그리고 51% 이상의 해시 파워를 동원하여 자신이 생성한 블록을 메인 체인으로 만듭니다. 이렇게 되면 블록체인의 거래 내역에서 트랜젝션a는 존재하지 않게 됩니다. 결국 A는 B에게 100ETC를 주지 않고서도 5천 달러를 받은 것이 됩니다.

    3. 그리고 이번에는 A가 C가 거래를 하기로 합니다. A가 C에게 원래 B에게 보냈어야 하는 100ETC를 보내고 TxID를 확인한 C는 5천 달러 A에게 송금하고 A는 5천 달러를 받습니다.

    이렇게 A는 B와 C에게 100ETC를 두 번 지불하고 1만 달러를 받은 것이 되고 이중 지불 공격은 성공하게 됩니다.

    답변이 도움이 되길 바랍니다.


  • 안녕하세요. 이중지불에 대하여 답변드리겠습니다.

    • 이중지불이란?

      • 동일할 암호화폐로 한번의 거래로 두 번이상 거래되는 현상을 말합니다.

      • 즉, A가 1Aha를 B와 C에게 동일한 거래 내역을 보내게 되고 승인 대기(팬딩) 상태 노드의 네트워크를 차단(거랜내역을 인근노드에게 전파 차단)하게 됩니다. 이때 51%의 블록체인 네트워크 점유율을 가지고 있는 A가 B에게 1Aha에 대한 거래완료 후 조작된 블록을 생산하게 하게 된 후 다시 네트워크를 연결하여 인근 노드에게 전파를 하게 됩니다.

      • 이렇게 되면 49%의 점유율을 가진 노드에도 블럭이 생산(정상거래 완료) 되지만 51% 점유율을 가진 A가 더 높은 힘에 의해 49%의 점유율을 가진 쪽의 블럭은 취소되고 51%의 점유율을 가진 A쪽이 정상적인 블록으로 인정받게 됩니다.

      • 이렇게 되면 이미 49%의 노드쪽의 거래도 완료되고, 차후에는 51%의 노드쪽의 거래도 완료되게 되어 이중지불 상태가 되게됩니다.

    감사합니다.


  • 이중 지불 문제는 말 그대로, 단일 화폐 단위가 두번(이중) 결제되어 발생하는 문제입니다.

    은행의 경우 중앙제어 시스템이 있기 때문에 거래 요청이 발생한 순서대로 거래를 진행하면 이중 지불 문제가 발생할 수 없습니다.

    예를들어 A의 잔고가 1,000원 밖에 없는 상태에서 A가 B에게 1,000원 송금을 요청함과 동시에 C에게도 1,000원 송금을 요청했을 경우 중앙 제어 시스템은 먼저 들어온 거래를 순차적으로 처리 하면됩니다.

    B에게 송금하는 거래가 먼저 들어왔다면, 해당 거래를 처리하고 잔액을 차감합니다. 그리고 A의 통장 잔고는 이미차감이 되었기 때문에 C에게 송금 요청을 했던 거래는 잔액 부족 오류를 출력하면 되겠죠?

    그렇다면 신뢰할 수 있는 단체가 없는 비트코인에서는 어떻게 이중 지불 문제를 해결했을까요?

    비트코인 네트워크는 작업 증명방식의 합의 알고리즘을 이용하여 이중지불 문제를 해결하였습니다.