지능이라는 이름의 게임(17): 집단지능과 블록체인(9)

앞 포스팅에서는 블록의 구성과 채굴에 관해 살펴보았다. 이번에는 그러한 블록들로 구성된 블록체인(blockchain), 그리고 블록체인이 노드(참여자)들에 의해 공유되는 분산 블록체인(distributed blockchain)에 대해 알아보자.

다시 MIT의 블록체인 사이트의 신세를 진다. 위의 그림을 클릭하면 모의 블록들로 이루어진 블록체인이 보일 것이다. 블록체인 아래 부분의 슬라이딩 바를 움직이면 5개의 블록을 볼 수 있다. 앞 포스팅의 블록과 달리 이 블록들에는 Data 칸 아래에 Prev.(Previous)라는 칸이 있다. 1번 블록은 Prev.가 전부 0으로 채워져 있다. 당연히 그것은 이전 블록의 해시가 없다는 의미이다. 그리고 첫번째 블록의 해시는 두번째 블록의 Prev.와 정확히 동일한 해시이다. 마찬가지로 두번째 블록의 해시는 세번째 블록의 Prev.에 들어와 있고, 세번째 블록의 해시는 네번째 블록의 Prev.에, 네번째 블록의 해시는 다섯번째 블록의 Prev.에 들어와 있다.

여기서 중요한 점은 각 블록의 해시는 Prev.의 해시를 포함해서 생성된 것이라는 사실이다. 그것이 블록체인(blockchain)에서 체인(chain)의 실질적 의미라고 할 수 있다. 블록들은 단순히 병열적으로 나열되어 있는 것이 아니라 해시 생성을 통해서 수학적으로 연결되어 있는 것이다.

바로 그점 때문에 어떤 블록의 데이터가 변하면 곧 바로 그 사실을 탐지할 수 있으며, 특정한 블록을 변조하려는 자는 그 블럭 뿐 아니라 그 블럭과 해시로 묶여 있는 블록들을 모두 채굴해야만 한다.

한번 두번째 블록에 hi 라고 써보라. 1번을 제외한 모든 블록이 핑크색으로 바뀔 것이다. 그 블록들이 모두 다시 채굴되어야 함을 나타내는 신호이다.

블록체인이 블록의 변조를 방지하는 장치는 그것 뿐만이 아니다. 블록체인이 참여자들 모두에 의해 공유되어 있다는 점은 더욱 강력한 변조 방지 장치이다. 아래 그림을 클릭하면 분산 블록체인(distributed blockchain) 페이지가 열릴 것이다. 그것은 참여자(peer라고 되어 있다)가 3명인 가상적 블록체인 시스템이다.

참여자 A, B, C의 블록에 있는 논스와 해시를 보면 모두 동일함을 확인할 수 있을 것이다. 블록체인의 분산원장에 문제가 없는 상태이다. 그런데 만약 그들 중 누군가의 블록과 블록체인에 변조가 발생하면 다른 참여자의 블록 및 블록체인과 이질성이 발생한다. 한번 Peer B의 두번째 Data 칸에 hi 라고 치고 핑그색으로 변한 블록들을 모두 채굴해 보라. 그리고 그 블록들의 논스와 해시를 Peer A와 C의 해당 블록의 논스와 해시를 비교해 보자. 비록 Peer A의 블록들의 채굴에 성공하였지만 그렇게 해서 얻은 논스와 해시가 다른 참여자들이 가진 블록들의 논스와 해시와 달라져 버렸다는 사실을 발견할 수 있을 것이다. 이렇게 해서 블록체인의 일부인 블록의 변조가 쉽게 탐지된다. 만약 블록체인을 위조하려면 적어도 블럭체인 시스템의 참여자들의 51%가 가지고 있는 블록체인을 모두 채굴해야 한다. 그것도 10분 안에 끝내야 한다.

그런 조건에서 블록체인의 변조나 위조가 성공하는 것은 불가능하지는 않겠지만 현실적으로 가능성이 희박할 것이다. 어떤 블록체인 전문가는, 전세계에서 가장 강력한 컴퓨팅 파워를 지닌 슈퍼컴퓨터를 다섯 대 정도 동원해야 블록체인의 위변조가 가능할 것이라고 말한다.

블록체인과 분산원장은 블록체인 시스템의 참여자들이 기술적으로 신뢰를 확보하는 강력한 수단이다. 그리고 그것의 능력은 참여자 수가 많을수록 더욱 강력해진다. 블록체인과 분산원장은 집단지능으로서의 블록체인이 지닌 집단성을  구현하는 장치인 것이다. (윤영민, 2018-05-14)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.