이중지불 공격 가운데 Nothing at Stake Attcak란 무엇인가요?

안녕하세요. 2019년 8월 14(수)일 오늘도 35도에 이르는 폭염이 예고되어있습니다.

아하의 블록체인 전문가님들 건강에 유의하시고 성공하는 하루 되시기를 바랍니다.

지분증명(POS)방식의 알고리즘을 사용하는 블록체인에 대한 공격으로서 포크(Fork)발생시 주로 사용된다는 Nothing at Stake Attack이란 어떤 공격인지 알고싶습니다.

    2개의 답변이 있어요!

    • PoS가 처음 등장했을 때, 암호 공동체의 상당 부분은 악의적인 행위를 불식시키기에 토큰을 소유하는 것만으로도 충분하다고 확신하지 못했습니다. 그들의 주요 관심사 중 하나는 Nothing at Stake 문제입니다.

      이 이론은 PoS의 초기 버전에서 포크가 발생할 때마다 모든 유효성 검사기가 모든 포크에서 빌드된다는 가정입니다.유효성 검사기가 이를 수행 할 것으로 기대되는 두 가지 주요 이유가 있습니다.

      첫째, PoW와 달리 여러 포크에서 트랜잭션의 유효성을 검사하는 데에는 검사기 비용이 들지 않습니다. 블록을 생성하기 위해 더 이상 PoW 가 필요 없기 때문에 모든 포크를 구축하는 것이 계산 상 저렴합니다.

      둘째, 유효성 검사기는 금융 사기에 맞춰 이론화되기 때문에 모든 포크 위에 구축해야합니다. 밸리데이터가 두 개 이상 체인에서 마이닝을 할 경우, 포크가 끝나면 거래 수수료를 징수합니다. 밸리데이터가 모든 포크에 스테이크(채굴)를 할 경우, 이것은 합의에 혼란을 야기 할 것이며 네트워크 이중 지출 공격에 더욱 취약하게 만들 수 있습니다.

      PoW 에서는 다중 체인을 동시에 채굴 할 인센티브가 존재하지 않습니다. 마이너가 해싱파워를 두 개의 체인으로 나누어서 채굴을 한다 할지라도 블록 채굴 확률이 높아지지 않습니다.

    • 안녕하세요. Nothing at Stake Attack에 대하여 답변드리겠습니다.

      • Nothing at Stake Attack란?

        • 지분증명에서 사용되는 이중지불공격의 일종으로 일명 "손해보지 않는 공격" 이라는 뜻을 가지고 있습니다.

        • 공격자가 이중지불을 발생시키기 위해 만든 기존 블록 외 새 블록을 추가로 전파하게 되면 포크가 발생하게 됩니다. 이때 블록 중 정상적인 블록을 인정받기 위한 투표를 실시하게 되고 두가지 중 하나만 인정 받아도 정상적인 거래가 성립됩니다.

        • 즉, 약간의 팬딩(거래 대기)을 이용하여 두가지의 트랜젝션(거래)을 발생시켜 그 중 하나만 인정받아도 이익이 되는 상황을 말합니다.

        • 쉽게 말해 A에 사용되는 거래를 위해 트랜잭션을 실행하고 팬딩이 시작되면 거래가 완료되기 전에 다른 거래를 B에게 거래를 신청합니다. 그런 경우 실제 거래가 두가지가 신청되고 둘 중 하나만 인정받아도 실제 거래가 성립되게 됩니다.

        • Nothing at Stake Attack에는 "Long Range Attack"과 "Short Range Attack"이 존재합니다.

          • Long Range Attack이란?

            + 포크된 상태에서 올바른 블록을 검증하기 위해 투표를 할 경우 많은 지분을 가지고 있는

            노드가 거짓 블록을 옮바른 블록인 것 처럼 계속해서 체인에 연결되도록 조작하여

            올바른 블록을 검증한 노드들에게 손해를 보게 하는 공격입니다.

          • Short Range Attack이란?

            + 포크된 상태에서 지분을 많이 가지고 있는 공격자의 결정에 의해 둘 중 하나의 블록만

            인정받게 되기 때문에 지분이 상대적을 낮은 정상적인 노드들은 어느쪽이 올바른

            블록인지를 알 수 없어 두 곳 모두 검증하지 않으면 손해를 보게 되는 상황을 말합니다.

      감사합니다.