벡터76어택(Vector76 Attack)이란 무엇인가요?
직접 채굴에 참여하는 공격자가 자신의 체인이 공격에 실패하는 경우와, 성공하는 경우 모두에서 이익을 얻을 수 있게 된다는 벡터76 어택(Vector76 Attack)이란 무엇인지 알고싶습니다.
예를 들어 A가 B에게 1BTC를 1만 달러에 판다고 가정해 보겠습니다. 이때 A가 B에게 1BTC를 보내는 트랜젝션을 발생시킨 후 해당 트랜젝션이 포함된 이전 블록에 이어지는 새로운 블록을 생성한 채로, 다른 노드에게는 전파하지 않고 기다립니다.(0 컨펌 상태)
그 후 제3의 노드인 C가 이전 블록에 이어지는 바로 다음 블록을 생성한다고 할 때(A가 B에게 1BTC를 보내는 트랜젝션이 포함되지 않은) A는 자신이 생성한 블록을 가까운 노드에게 전파합니다. 이렇게 되면 A가 B에게 1BTC를 보내는 트랜젝션이 포함된 블록이 1컨펌 상태가 되고 A는 B에게 1만 달러를 받을 수 있습니다. (이 Vector76 공격은 1컨펌 상태의 트랜젝션을 신뢰하는 상대방을 전제로 함)
하지만 A가 생성한 블록과 다른 노드인 C가 동시에 생성한 블록으로 인해 블록체인은 포크 상태가 되고 어느 블록이 메인체인에 포함되어 이어지게 될지, 또 어느 블록이 고아블록이 될지를 뒤이어 생성되는 블록체인의 길이를 통해 결정하게 됩니다.
이때 A가 생성한 (A가 B에게 비트코인을 전송하는 트랜젝션이 포함된) 블록이 메인체인이 되면 공격이 실패하여 A는 B에게 1BTC를 전송해 주게 되지만 1만 달러와 함께 추가적으로 채굴 보상을 받을 수 있고,
만약에 A가 생성한 블록이 메인 체인이 되지 않으면 채굴 보상은 받지 못하지만 B에게 1BTC를 전송하는 트랜젝션이 무효가 되므로 B에게 1BTC를 보내지 않고서도 1만 달러를 받은 것이므로 공격이 성공하게 됩니다.
따라서 공격자인 A 입장에서는 공격이 성공하든, 실패하든 손해를 보지 않을 수 있는 것입니다.
답변이 도움이 되길 바랍니다.