BIP30은 동일한 TxID를 가진 중복 트랜잭션이 UTXO 셋을 오염시키는 문제를 막기 위한 합의 규칙입니다.
문제 배경
초기 비트코인 구현에서는 동일한 TxID의 트랜잭션이 블록에 포함되면 이전 UTXO를 덮어쓸 수 있었습니다. 실제로 2012년에 같은 TxID를 가진 코인베이스 트랜잭션 쌍이 두 번 발생했습니다.
해결책
이미 UTXO 셋에 같은 TxID의 출력이 존재하면 해당 트랜잭션이 포함된 블록을 무효로 처리합니다. BIP34(코인베이스에 블록 높이 포함)가 활성화되면서 코인베이스 중복은 구조적으로 불가능해졌습니다.