지분증명 합의알고리즘을 따르는 프로젝트의 포크에서 볼 수 있는 Nothing at stake란 무엇인가요?

지분증명 (POS:Proof Of Stake) 합의 알고리즘에서 포크가 발생할 때 이중지불 가능성의 문제점으로 지적되는 Nothing at stake 란 어떤 것인지 알고 싶습니다.

    1개의 답변이 있어요!

    • 안녕하세요. 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이란?

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

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

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

      감사합니다.