1. 해시 함수는 데이터의 ‘지문’이다
해시 함수는 어떤 데이터를 넣든 늘 같은 길이의 값 하나로 압축해 내놓는 함수입니다. 비트코인이 쓰는 SHA-256은 이름 그대로, 입력이 한 글자든 두꺼운 책 한 권이든 256비트(64자리 16진수) 한 줄로 바꿔 줘요. 이렇게 나온 결과를 해시값이라고 부르는데, 사람의 지문처럼 원본마다 사실상 고유한 값이 나온다고 보면 됩니다.
중요한 건 같은 입력을 넣으면 언제 어디서 돌려도 똑같은 해시가 나온다는 점이에요. 그래서 누구든 같은 데이터를 받아 직접 해시를 계산해 보면, 그게 중간에 손상되거나 바뀌지 않았는지 단번에 확인할 수 있습니다. 블록체인이 믿을 만한 중개자 없이도 장부를 신뢰하게 만드는 출발점이 바로 이 성질입니다.
2. SHA-256을 떠받치는 세 가지 성질
첫째는 단방향성입니다. 해시값만 보고 원래 입력을 거꾸로 알아낼 방법이 사실상 없어요. 둘째는 눈사태 효과입니다. 입력에서 점 하나, 띄어쓰기 하나만 바꿔도 결과 해시가 완전히 다른 값으로 튀어요. 비슷한 입력이라고 비슷한 해시가 나오는 게 아닙니다. 셋째는 충돌 저항성이에요. 서로 다른 두 데이터가 우연히 같은 해시를 갖도록 만드는 일이 현실적으로 불가능에 가깝습니다.
이 세 가지가 합쳐지면 해시는 ‘위조하면 반드시 들통나는 봉인’이 됩니다. 데이터를 한 글자라도 손대는 순간 해시가 달라지니, 원본과 대조만 해도 변조 여부가 그대로 드러나거든요.
3. 블록체인은 해시로 사슬을 엮는다
블록체인이라는 이름도 이 해시에서 나옵니다. 각 블록은 자기 안에 담긴 거래뿐 아니라 ‘바로 앞 블록의 해시’를 함께 적어 둬요. 그래서 블록들이 해시로 줄줄이 엮인 사슬이 됩니다. 만약 누군가 과거 어느 블록의 거래를 슬쩍 바꾸면 그 블록의 해시가 달라지고, 그 값을 품고 있던 다음 블록, 또 그다음 블록까지 줄줄이 어긋나 버려요. 결국 사슬 전체를 다시 계산하지 않는 한 위조가 불가능합니다.
비트코인의 작업증명도 따지고 보면 해시 찾기 게임이에요. 채굴자는 조건을 만족하는 해시, 그러니까 맨 앞에 0이 잔뜩 붙은 값이 나올 때까지 숫자를 바꿔 가며 SHA-256을 수없이 돌립니다. 이 경쟁이 어떻게 합의로 이어지는지는 합의 알고리즘 글에서 더 자세히 풀었는데, 해시를 알고 보면 그 게임의 규칙이 한결 또렷해집니다.
마무리 — 해시 한 줄로
해시 함수는 데이터를 고정 길이 지문으로 바꾸는 단방향 함수이고, 작은 변화에도 결과가 완전히 달라져 위조를 막는 봉인 역할을 합니다. 블록끼리 해시로 엮여 사슬이 되기에, 한 곳을 건드리면 전체가 어긋나죠.
눈에 잘 띄지 않는 이 수학 덕분에 비트코인은 누가 일일이 관리하지 않아도 ‘이미 적힌 기록은 못 바꾼다’는 약속을 지킵니다. 위조 불가능성이 있어야 비로소 디지털 자산이 금 같은 희소 자산처럼 신뢰를 얻을 수 있다는 점에서, 해시는 암호화폐의 가장 밑바닥 토대라 할 만합니다.