블록체인의 해킹이 불가능한 이유
블록체인의 개념을 이해하기 위해 기본적으로 알아두면 좋은 해시(hash)
블록체인에서 데이터의 위변조를 더욱 어렵게 하는 장치가 바로 해시이다.
해시(Hash)는 어떤 문자열을 더 짧은 길이의 값이나 키로 변환하는 것이다.
문장길이에 관계없이 일정한 길이의 값으로 변경이 가능하여, 방대한 내용의 문자도 짧은 몇 개의 문자로 표현이 가능하다. 하지만 여기서 중요한 점은 내용 중 한글 자라도 다르면 완전히 다른 해시값을 가지기 때문에 정보의 미세한 위변조도 빠르고 쉽게 확인할 수 있게 해 준다는 것이다.
원문이 같으면 해시값도 완벽히 일치하나 한글 자라도 달라지면 완전히 다른 해시값이 나오게 된다.
블록에는 거래내역과 블록 생성 시각, 논스 값 등의 다양한 데이터들이 들어있고 이것들을 해시값으로 만들어 놓는다. 또한 블록에는 해당 블록의 해시값과 더불어 직전 블록의 해시값이 있다.
블록에 직전 블록의 해시값이 있기 때문에 블록은 이전 블록과 연결되어 있고 모든 블록들이 해시를 통해 순차적으로 연결되어 있기 때문에 '블록체인'이 된다.
즉 체인 역할을 하는 것이 바로 해시인 것!
만약 해시로 연결되어 있는 블록 중에 하나를 내가 위조한다면 해당 해시값이 완전히 변하게 되고 이로 인해 연결된 모든 블록들을 수정해야 한다. 게다가 위조를 하는 동안에도 비트코인 같은 경우 10분마다 하나씩 블록이 계속 추가되기 때문에 현재 해킹기술로는 현실적으로 위조가 불가능하다.
이렇게 위조나 변조가 어려운 특성을 통해서 해시는 블록의 유효성 검사에도 사용되고 있고, 블록 속 방대한 양의 데이터를 비교하는 대신 블록의 해시값만을 비교하여 처리할 수 있기 때문에 블록의 저장공간 효율도 증가하게 된다.
- 끝 -