[이정훈의 암호화폐 읽기]<6>`더 빠르게, 더 안전하게` 해시의 마법

블록내 해당·직전블록 해시값 저장…빠르고 안전하게 대조 가능
복호화 안되는 불가역적 암호화…블록체인 가능케하는 핵심기술
  • 등록 2018-01-24 오전 6:11:12

    수정 2018-01-24 오전 6:11:12

일반적인 블록체인의 구조. 각각의 블록에는 연결된 이전 블록의 정보가 해시값으로 담겨있어 거래내역을 구체적으로 보지 않고도 사실여부를 빠르게 대조할 수 있게 된다.


[이데일리 이정훈 기자] 이제 블록체인의 기본 개념은 다들 잘 알게 됐을 겁니다. 다시 정리하자면 블록체인은 말 그대로 거래기록이 담긴 블록이 체인처럼 서로 연결돼 있다는 뜻입니다. 블록체인 네트워크에 참여한 각 참가자(=노드)의 거래기록은 블록에 담기게 되구요, 그 블록은 일정한 크기와 시간이 지나면 하나의 블록으로 완성되고 새로운 거래내용은 다음 블록에 담기는 식입니다.

이 때 이 블록체인을 가능하게 만들어주는 기술이 바로 해시(hash)입니다. 영어단어 hash는 원래 ‘끌어 모으다’ 또는 ‘(고기 등을) 잘게 다지다’라는 뜻인데요, 컴퓨터 용어로는 블록의 길이에 맞추기 위해 메모리에 기입하는 의미없는 정보를 뜻합니다. 즉, 문장 길이에 관계없이 원래 문장을 일정한 길이의 값으로 바꿔주는 기술입니다. 예를 들면, ‘나는 Tom이다’라는 문장을 ‘13DGI%ETN!35g’ 이런 의미없는 문자열로 표시해 주게 됩니다. 원래 문장이 완전하게 같으면 완전히 다른 해시값을 가지게 되는 반면 문장내에 약간이라도 다른 부분이 있으면 완전히 다른 해시값을 가지게 됩니다. ‘나는 Tam이다’라는 문장이라면 ‘34&ehTIDF22GS’ 이런 식으로요. 따라서 해시값을 조합해서 원문을 절대 유추할 수 없기 때문에 보안성을 높여주는 특징을 가집니다.

일반적인 정보를 담은 평문을 해시함수를 통해 암호화된 문자열로 바꿔주는 게 해시 알고리즘이다.


블록체인으로 연결된 블록에는 이전 블록들의 모든 거래정보를 담아두게 되는데 이 때 해시라는 복호화가 불가능한 불가역적 암호화 방법을 쓰게 되는 겁니다. 일반인들이 이해할 수 있는 형태의 정보를 암호화 키를 통해 암호문으로 만드는 걸 암호화(encryption)라고 하구요, 암호화된 암호문을 평문으로 다시 바꾸는 걸 복호화(decryption)이라고 하는데요. 블록체인에서의 해시는 SHA256이라는 방법을 활용해 암호화 과정을 거친 암호문을 다시 복호화할 수 없도록 하는 일방향(단방향) 암호화 기법입니다.

블록체인에서 사용되는 해시는 어떤 크기의 문자열이라도 256비트 크기의 해시 문자열을 만들어 저장하게 됩니다. 즉, 하나의 블록 안에는 일정 시간의 거래내역과 해당 블록의 해시값, 직전 블록의 해시값이 동시에 담겨있다고 볼 수 있습니다. 만약 A와 B의 PC가 가지고 있는 해시값이 완전히 같으면 거래내역을 일일이 들여다 보지 않고도 서로 대조가 가능합니다. 해시 덕에 적은 데이터 양으로도 원본 내용이 모두 완전히 같다는 걸 비교할 수 있게 되는 것이죠. 이 때문에 짧은 시간내에 수많은 데이터를 원본과 대조할 수 있게 되구요, 이 덕분에 공공거래장부의 위조도 막을 수 있는 겁니다. 아울러 이런 이유 때문에 체인이 더 길어질수록 해당 블록체인의 신뢰도는 더 높아진다고 할 수 있겠습니다.

이처럼 하나의 블록 안에는 10분간의 거래내역이 담겨 있고 해당 블록의 해시값이 있고 이전 10분간 거래내역을 적어놓은 직전 블록의 해시값도 함께 담긴다고 했는데요, 이런 해시가 있음으로해서 비로소 블록간에 순차적으로 체인처럼 연결이 가능해지는 셈입니다. 만약 블록에 담겨있는 하나의 거래내역을 위조하려면 그 시간에 일어난 거래를 위조한 뒤 그걸 네트워크상 다른 모든 PC들로 배포해야 하는데요, 그러나 이를 바꾸는데 성공한다 해도 원본 블록과의 해시값이 달라지기 때문에 직전 블록의 내용도 같이 조작해야 합니다. 그렇지 않을 경우 위조한 블록은 다른 참가자들로부터 과반수 이상 승인을 받지 못하게 됩니다. 또한 그 거래내역을 위조하는 동안에도 실시간으로 새로운 블록이 생성되고 있기 때문에 블록체인 네트워크보다 빠르게 위조와 배포를 해야 하기 때문에 결국 물리적으로 위·변조가 불가능해지는 것입니다.

하여튼 이런 식으로 거래내용을 블록에 기록하고 블록들을 주기적으로 생성하고 생성된 새로운 블록에 이전 생성된 모든 블록들의 정보를 담은 해시값을 기록함으로써 블록에 기록된 거래내용을 해킹해 위조 또는 변조하기 어렵게 만든 것이 바로 블록체인의 핵심이라고 하겠습니다.

이데일리
추천 뉴스by Taboola

당신을 위한
맞춤 뉴스by Dable

소셜 댓글

많이 본 뉴스

바이오 투자 길라잡이 팜이데일리

왼쪽 오른쪽

스무살의 설레임 스냅타임

왼쪽 오른쪽

재미에 지식을 더하다 영상+

왼쪽 오른쪽

두근두근 핫포토

  • 홈런 신기록 달성
  • 꼼짝 마
  • 돌발 상황
  • 우승의 짜릿함
왼쪽 오른쪽

04517 서울시 중구 통일로 92 케이지타워 18F, 19F 이데일리

대표전화 02-3772-0114 I 이메일 webmaster@edaily.co.krI 사업자번호 107-81-75795

등록번호 서울 아 00090 I 등록일자 2005.10.25 I 회장 곽재선 I 발행·편집인 이익원

ⓒ 이데일리. All rights reserved