본문으로 바로가기



세그윗 ch1 포스팅에 이어서 설명할께요!!

Transaction Malleability?

:모든 비트코인 거래에는 해당 거래를 식별할수 있는 거래의 ID(txid:transaction id)
를 포함하고 있다. Transaction Malleability는 실질적인 거래의 내용의
변화는 없지만 거래 ID만을 변경하여 새로운 거래를 만들어 낼수있는 일종의 버그입니다.

즉 이렇게 되면
거래 A와 거래 B는 거래 내역이 모두 동일하지만
서로다른 거래 ID(TXID-A,TXID-B)를 가질수있습니다.

Q. 버그라면 큰 문제가 아닐까?
:당연히 사용자에게 혼란을 줄수있습니다.


예를들어 보겠습니다.
1.철수는 영희에게 1BTC을 보내는 거래(거래A)를 비트코인 네트워크에 전파한다.
2.철수가 보낸 거래정보를 관찰한 영희는 해당거래의 TXID를 바꿔 다시 새로운 거래B를
네트워크에 전파한다.
3.영희가 전파한 거래 B를 포함한 블록이 채굴되어 블록체인에 기록된다.
4.영희는 철수에게 철수가 보낸 거래A가 오지 않았다고
얘기한다.철수는 자신이 보낸 거래A의 TXID를 찾아 보지만 블록체인에 없다.
5.자신의 거래가 없는 것을 확인한 철수는 다시 1BTC을 영희에게 보낸다.
이런 문제가 발생할수 있습니다.

Q.그럼 큰 문제가 아닌가요?
분명 문제긴 하지만 비트코인 커뮤니티에서는 Transaction Malleability를 비트코인의
근본적인 문제라고 생각하고 있지는 않다고 합니다.
그이유는 거래 ID가 다른 거래지만 결국 거래의 본질적인 내용은 같기 때문인데
채굴을 통해 블록체인에 기록되는 과정에서는 거래ID가 아닌 실질적인 거래내용을
바탕으로 검증이 이루어지므로 기본적인 주의만 기울인다면 이로 인해
큰 문제가 발생하지 않기 때문에 큰 문제는 아니라고 합니다.

다음 포스팅에서는 확장성의 문제에 대해 적겠습니다.