← 홈으로

Blockchain · 2025/08

블록체인에는 Ctrl+Z가 없다

블록체인에는 Ctrl+Z가 없다

디지털 세계는 실수에 관대하다.

문서를 쓰다 잘못됐으면 Ctrl+Z, 사진을 지웠으면 휴지통, 문자를 잘못 보냈으면 삭제 요청. 우리는 "취소"가 항상 있다는 걸 당연하게 여기며 살고 있다.

블록체인은 이 당연함을 깨버렸다.

한 번 기록된 건 수정도, 삭제도, 복구도 안 된다. 이건 버그가 아니라 설계다.

왜 이렇게까지 만들었을까?

블록체인에는 "정답은 이거야"라고 선언해주는 관리자가 없다. 모든 참여자가 서로의 기록을 직접 검증해야 하는 구조다.

만약 누군가가 과거 기록을 바꿀 수 있다면, 검증 자체가 의미 없어진다. 그래서 블록체인은 처음부터 수정 불가능하게 설계됐다.

누가 언제 뭘 했는지가 영구히 기록된다. 기술이 신뢰를 대신하는 구조다.


블록체인 구조

블록체인에서의 '블록'은 트랜잭션 데이터를 담는다.
이 블록 하나만으로는 아무 의미가 없다.

모든 블록은 이전 블록의 **해시(hash)**를 가지고 있다.

이 해시는 단순한 요약이 아니라,
SHA-256이라는 해시 함수가 만들어낸 고유한 값이다.

하나만 바꿔도 해시가 완전히 달라지기 때문에,
연결된 전체 구조가 흔들린다.

해시는 이렇게 작동된다

느낌표 하나만 바꿨는데 해시 값이 완전히 달라진다.

"안녕하세요" → SHA-256 → 
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
 
"안녕하세요!" → SHA-256 → 
7d793037a0760186574d028a8c4d0b3c4c5e2c4c5e2c4c5e2c4c5e2c4c5e2c4c

이걸 눈사태 효과(Avalanche Effect) 라고 한다.
입력에 아주 작은 변화만 있어도 결과가 완전히 바뀐다.

그리고 SHA-256은 단방향 해시 함수이다.
결과값만 보고는 절대 원래 데이터를 알 수 없다.

그래서 블록체인은 이걸 변조 방지 장치로 쓴다.

해시가 연결된 구조

블록체인에서 각 블록은 이전 블록의 해시를 기억한다.
이 덕분에 모든 블록이 사슬처럼 연결된다.

만약 블록 2의 내용을 바꾼다면?

Block 1: Hash = ABC123
Block 2: Hash = DEF456 (이전 블록 ABC123 참조)
Block 3: Hash = GHI789 (이전 블록 DEF456 참조)

블록 2의 내용이 바뀌면,

  1. Block 2의 해시가 변경됨 (예: DEF456 → XYZ999)
  2. Block 3이 Block 2의 새로운 해시를 참조해야 함
  3. Block 3의 해시도 변경됨 (GHI789 → ???)
  4. 체인이 끊어짐

그 즉시 체인이 끊기고, 이후 블록들이 다 무효가 된다.


실제로 바꾸면 어떻게 될까?

누군가가 중간의 블록을 바꾸고, 그 이후 블록들까지 전부 다시 만든다면?

이론적으로는 가능하지만, 현실적으로 거의 불가능하다.

왜 불가능한가?

  1. 계산량의 압도적 차이

    • 몇백 개, 몇천 개의 블록을 전부 다시 계산해야 함
    • 이미 존재하는 블록체인보다 더 빠르게 많은 블록을 만들어야 함
  2. 네트워크 합의

    • 네트워크 참여자 다수가 그 체인을 '진짜'라고 인정해줘야 함
    • 51% 이상의 해시파워가 필요
  3. 경제적 비용

    • 실제로 이걸 하려면 수십억 달러어치 장비가 필요
    • 전 세계 채굴자들보다 더 빠르게 마이닝을 해야 함

사실상 불가능에 가깝다.


그럼 블록체인은 절대 바뀌지 않나?

블록체인에서도 가끔 구조가 바뀌는 순간이 있다.
대표적으로 Reorg(재구성) 이라는 현상이다.

Reorg가 발생하는 경우

예를 들어 두 명의 채굴자가 거의 동시에 블록을 만들면, 잠시 동안 체인이 두 갈래로 나뉜다.

        Block A
       /
Block 1
       \
        Block B

잠깐 동안은 둘 다 살아 있지만,
시간이 지나면 더 긴 쪽만 인정받고 짧은 쪽은 사라진다.

짧은 쪽의 블록에 들어있는 기록들도 함께 사라진다.

이건 조작이 아니다

이건 조작이 아니라,
애초에 이런 상황을 감안하여 설계된 구조다.

그래서 거래가 블록에 올라가도, 일정 시간 동안은 완전히 확정된 게 아닐 수 있다.


결국 불변성이란

블록체인은 누구나 볼 수 있고, 누구나 기록할 수 있지만 아무도 조작할 수 없도록 설계됐다.

조작이 불가능한 이유는 강력한 보안 장치 때문이 아니다. 구조 자체가 조작을 허용하지 않기 때문이다.

블록 하나를 바꾸면 해시가 달라진다. 해시가 달라지면 다음 블록이 참조하는 값이 틀어진다. 그 뒤 모든 블록이 연쇄적으로 무너진다.

신뢰를 사람이 아닌 수학 구조에 맡긴다는 게, 블록체인이 하고 싶었던 말이다.