사용자 레벨의 블록체인 공격인 Finney Attak과 Race Attack은 어떤 구별점을 가지나요?
사용자 level의 브록체인 공격으로서, 공격자가 직접 채굴에 참여한다는 핀니어택(Finney Attack)은 레이스어택(Race Attack)과 어떤 점에서 구별되는지 궁금합니다.
우선 레이스 어택의 공격자는 채굴자가 아니지만 핀니 어택의 경우 공격자가 채굴자이며 블록을 생성한다는 점에서 차이가 있습니다.
즉, 레이스 어택의 경우 공격자 A가 트랜젝션1, 2를 발생시켜 이것을 경쟁시키는 방법을 취하지만, 핀니어택의 경우 공격자 A가 자신의 지갑 주소로 자신의 BTC를 전송하는 트랜젝션1을 발생시키고 블록을 생성한 후 전파하지 않고 있다가 정상적인 트랜젝션 2를 발생시킨 다음 상대방으로부터 돈을 받고 미리 생성한 블록을 전파하는 방식을 취하게 됩니다.
또한 레이스 어택의 경우 공격자가 채굴자가 아니므로 공격이 성공하더라도 블록 채굴 보상을 받지 못하지만 핀니 어택의 경우 공격자가 채굴자이므로 공격이 성공하게 되면 공격 성공으로 인한 이익 외에도 채굴 보상을 추가적으로 받을 수 있게 된다는 점에서 차이가 있습니다.
끝으로 레이스 공격의 경우 핀니 공격과 달리 공격자의 공격이 성공하지 못하더라도 공격자는 손해를 보지 않습니다. 왜냐하면 A가 1BTC를 B에게 1천만원에 판다고 했을 때 공격에 성공하지 못하더라도 1천만원을 제값에 판 것이 되기 때문입니다.
하지만 핀니 어택의 경우에는 공격을 위해 만들어 둔 블록이 체인에 성공적으로 연결되지 못하게 되어 공격이 실패하게 되면, A가 B에게 1BTC를 1천만원에 판다고 했을 때 제 값을 받게 되더라도 공격을 위해 생성한 블록에 대한 '블록 생성 보상'을 받지 못하게 되므로 공격자가 손실을 입을 수가 있게 된다는 차이가 있습니다.
답변이 도움이 되길 바랍니다.