# 불변성 (Immutability)

불변성(immutability)은 한번 기록된 것을 변경할 수 없거나 사실상 변경되지 않는 성질로, 비트코인과 블록체인 기술의 핵심 특성 중 하나입니다. 블록체인에서는 확정된 트랜잭션 기록을 나중에 고치려면 막대한 비용이 들고 변조가 곧바로 드러나기 때문에 기록이 사실상 바뀌지 않습니다. 절대적인 불가능이 아니라 암호학적 연결과 재작성 비용, 네트워크 합의에 기대는 성질이라는 점이 중요합니다.

## 불변성을 만드는 장치

- **해시 연결:** 각 블록 헤더에는 이전 블록의 해시와, 블록 안 트랜잭션들을 요약한 머클 루트가 들어 있습니다. 과거 트랜잭션 하나를 바꾸면 그 블록의 해시가 바뀌고 이후 모든 블록과의 연결이 끊어지므로 변조가 바로 드러납니다.
- **재작성 비용:** 작업증명 체인에서 기록을 바꾸려면 해당 블록부터 최신 블록까지 작업증명을 다시 계산하고, 정직한 네트워크보다 빠르게 누적 작업량이 더 큰 체인을 만들어야 합니다. 네트워크 연산력의 과반을 확보하는 51% 공격이 이론적인 예외로 꼽히는 이유입니다.
- **확인 수와 확정성:** 비트코인의 확정성은 확률적입니다. 트랜잭션이 담긴 블록 위에 블록이 쌓일수록(확인 수) 되돌려질 확률이 급격히 줄어들어, 큰 금액은 흔히 6회 확인을 기준으로 삼습니다. 이더리움 같은 지분증명 체인은 검증자 투표로 블록을 확정(finality)하며, 보통 약 13분(2 에포크) 뒤 확정된 블록을 되돌리려면 대량의 스테이킹 자산이 몰수되는 것을 감수해야 합니다.

## 불변성이 중요한 이유

- **변조 방지:** 기록을 몰래 고칠 수 없으므로 누구나 과거 거래를 검증하고 감사할 수 있습니다. 모든 트랜잭션은 타임스탬프와 함께 공개 원장에 남습니다.
- **이중 지출 방지:** 확정된 트랜잭션이 바뀌지 않으므로 같은 코인을 두 번 쓸 수 없습니다.
- **결제 확정성:** 트레이더와 거래소에도 확정된 거래 기록이 나중에 바뀌지 않는다는 점이 결제 완료의 근거가 됩니다.

## 한계와 주의할 점

- **되돌리기 어려움:** 잘못 보낸 트랜잭션도 취소하기 어렵습니다. 바로잡으려면 기존 기록을 고치는 대신 반대 방향의 새 트랜잭션을 덧붙여야 하며, 이미 배포된 신문 기사를 정정 기사로만 바로잡을 수 있는 것과 비슷합니다.
- **지울 수 없는 정보:** 민감한 정보가 실수로 기록되면 영구적으로 삭제하기 어렵습니다.
- **합의에 의한 변경:** 불변성은 사회적 합의로 깨질 수도 있습니다. 2016년 The DAO 해킹 뒤 이더리움은 하드포크로 자금을 되돌렸고, 원래 체인을 유지한 쪽은 이더리움 클래식이 되었습니다.
- **기록과 상태의 구분:** 과거 기록이 바뀌지 않는다는 뜻이지 상태가 고정된다는 뜻은 아닙니다. 업그레이드 가능한 스마트 컨트랙트는 동작이 바뀔 수 있고, USDT·USDC 같은 스테이블코인의 발행사는 컨트랙트 기능으로 특정 주소의 잔고를 동결할 수 있습니다. 이 경우에도 동결은 새 트랜잭션으로 기록되며 이전 기록은 그대로 남습니다.
- **정확성과는 별개:** 불변성은 기록이 바뀌지 않는다는 보장일 뿐, 처음 기록된 내용이 사실이라는 보장은 아닙니다.

---
출처: https://achivx.kr/glossary/immutability-%EB%B6%88%EB%B3%80%EC%84%B1/ · ACHIVX 용어 사전 · 수정일 2026-10-20
