블록체인의 원리는 좀 엉뚱한 발상에서 시작되었다. 한 방향 계산은 쉬운데, 역으로 계산하기는 어려운 계산식을 푸는게 블록체인의 기본 원리의 출발이다. 입력이 X일 때 결과값인 Y를 계산하기는 쉽지만, 역으로 Y를 갖고 X를 계산하기는 어려운 식이다. 예를 들어 ‘X가 10일 때 Y는 3’이나, ‘X가 9일 때 Y는 2’라고 할 때 X로 해시값인 Y를 구하기는 쉽다. 대충 짐작해봐도 10을 7로 나눌 때의 나머지가 3, 그리고 9를 7로 나눌 때 나머지가 2임을 쉽게 알 수 있다. 그러나 반대로 해시값인 Y, 즉 3이나 2로 X를 알아내는 건 쉽지 않다. 쉽지 않은 정도가 아니라, 수식, 즉 해시함수가 복잡해질수록 거의 불가능한 것처럼 보인다.
블록체인은 그런 불가능해보일 것 같은 해시함수를 거꾸로 이용할 방법을 고민한데서 태동했다. 자못 위대하기까지 한 발상이라고나 할까. 해시값으로 헤더 즉 X값을 알기 위해, X값에 가능한 모든 값을 대입해서 Y를 계산해본다. 아니면 Y값의 범위를 넒게 정하는 방식도 있다. 역방향 계산이 어려운 해시함수를 풀어헤치는 해시 알고리즘(SHA)도 등장했다. 해시함수의 비밀번호에 비유할 수도 있겠다. 그렇다보니 네트워크 상의 참여자들이 믿는 건 오로지 해시함수다. 참여자 서로의 ‘인간성’엔 무관심하다. 그저 해시함수 알고리즘으로 작업증명을 하고, 데이터와 원장을 검증하고 승인할 뿐이다.
그러나 역설적으로 블록체인 해시함수는 알고리즘 지상주의와는 거리가 있다. 흔히 공정하다고 여겨지는 알고리즘 모형들에도 육질적인 ‘인간’과, 그 인간적 의도와 이념이 투영되곤 한다. 심지어는 개발자 뜻에 따라 왜곡된 모형이 그대로 통용되고, 신뢰성있는 데이터가 작위적으로 배제되기도 한다. 그러나 이는 새삼스러울게 없다. 인간은 본래 머릿 속에 존재하는 일종의 정신예측 모형(선입견의 알고리즘)에 따라 행동하기 마련이다. 그 모형은 결함이 많고 불완전하며, 특수함을 일반화한 오류 투성이의 데이터로 만들어지기 십상이다. 반드시 A=B이며, C, D 등이 결코 될 수 없다는 이분법적 편향으로 가득하다.
블록체인이 갈수록 주목받는 것은 여러 가지 기술적, 과학적 장점 때문이다. 그 중에서도 단언컨대 이런 음습한 ‘인간성’에 의한 오염을 제어하는 기능이 으뜸이 아닐까 한다. 어떠한 인간적 판단도 해시함수의 원리에 범접할 수 없다. 하다못해 스팸 이메일을 자동으로 걸러낼 때도 ‘인간’은 없다. 송신자는 자신이 ‘스팸’이 아님을 입증하기 위해 이메일 헤더와 해시캐시를 함께 보낸다. 해시캐시는 버전 비트수와 날짜, 수신자 주소, 랜덤값과 카운터값으로 되어있다. 수신자는 이를 해시함수로 계산해서 스팸이 아님을 검증해내는 것이다.
해시함수의 위대함은 거기서 머무르지 않는다. 블록체인에선 어떤 인간에게도 물어볼 필요가 없다. 해시함수의 특성을 역으로 이용해서 체인으로 연결된 블록이 순차적으로 만들어졌음을 확인하면 된다. 제3자의 인증 따윈 필요없다. 내용이 위조되지 않았음을 현재의 블록 해시값을 계산해서 검증할 수 있다. 블록체인의 진가가 더욱 돋보이는 대목은 또 있다. 다중 혹은 대중이 함께 하는 기술민주주의의 원형과 닮았다는 사실이다. 블록체인은 나 혼자 사용하면 아무 가치가 없다. 남들이 만든 블록을 해시함수로 내가 검증할 수 있다는게 큰 매력이다. 더 많은 사람들이 참여할수록 블록체인의 경제적, 사회적, 문화적 힘은 커진다.
이는 마치 ‘대중역학’과도 닮았다. 이에 따르면 유전공학이나 합성물리학, 사물인터넷, 그리고 블록체인 구축과 공유 등의 과정에서 참여자들은 데이터 제공자로만 머무르지 않는다. 특정 애그리게이터의 독점을 견제하면서, ‘정보를 수집하고, 전문가들의 지식과 자원을 총괄하고 동원하는’ 주체로 작동하는 것이다. “감히 전문가의 영역을 침범해선 안 된다”는 관념 자체를 삭제해버린 ‘대중역학’ 정신과도 맥이 닿는다. 그런 점에서 블록체인은 대중을 위한 기술민주주의로 나아가는 작은 ‘힌트’라고 할 만하다. 해시함수와 그것에 의한 작업증명, 탈중앙적 피어투피어 네트워크의 작동을 도구로 한 혁명이다. 거꾸로 된 수식 계산의 형용 모순이 낳은 위대한 거사다.
