"Code is Law"
이 말을 처음으로 한 사람이 누구인지는 모르겠지만, 1999년 어느 하버드 법대 교수가 쓴 책의 제목이기도 하다.
인터넷의 세계로 급속히 빨려 들어가기 시작한 즈음, 우리 삶을 규제하는 새로운 시스템으로서의 코드가 등장하고 있다는 것이다. 인터넷을 어떻게 해야 사용할 수 있는지는 TCP/IP 프로토콜을 구현한 기본 코드가 규제한다. 이 TCP/IP 프로토콜의 특징들은 인터넷 활동에 대한 규제성(regulability)을 초래한다. 사람들은 자유를 규제로부터의 자유로 여기고, 인터넷이 이러한 자유를 증가시키리라 기대한다.
인터넷의 독특한 프로토콜은 이러한 자유 개념에 부합하기도 한다. 인터넷 시대에는 정부가 말할 수 있는 자유를 '규제'하기가 훨씬 어려워진다. 반면 규제의 어려움이 꼭 좋은 것만은 아니다. 아동 포르노와 나치를 선전하는 강연물이 쉽게 떠돌아다니는 것을 자유라고 칭송하기는 힘들다. 'unregulability'라는 성격은 인터넷이 이커머스와 같은 영역으로 더 확장하는데 오히려 장애가 되기도 한다.
과연 코드에 의해 자유가 보장되는가?
TCP/IP 라는 베이스 프로토콜 위에 새로운 많은 레이어의 아키텍처가 추가되어 왔다. 예를 들어 개인을 식별하기 위한 identification, 컨텐츠의 질을 평가하는 rating system 등이 추가된다. 이러한 레이어의 코드들은 인터넷의 규제성을 더욱 강화시키기도 하고 사람들이 인터넷을 사용하는 양식까지 바꾼다. 어떤 시스템을, 어떤 아키텍처를 도입하는가에 따라 인터넷의 규제성이 달라진다는 것이다.
결국 코드는 우리의 삶과 가치 판단에 영향을 주고 있는 것일까? 그렇다면 누가 이 코드를 결정하는가? 저자는 "사이버스페이스의 법은 어떻게 사이버스페이스가 그것을 코딩하는가에 달려 있고, 우리는 결국 그 법을 결정하는 역할을 잃게 될 것이다"라는 결론을 내린다. 좀 과장된 면이 있지만, 우리의 사고와 가치, 결국 우리의 삶을 규정하는 주체로서의 코드에 대한 근본적인 성찰이 필요하다는 이야기이다.
Code is Law
이 말을 다시 유행시킨 것은 사실 이더리움이다. 특히 2016년 THE DAO 프로젝트(탈중앙화된 프로젝트 펀딩 플랫폼)가 'unstoppable code'라는 표어와 함께 블록체인에 올라간 코드는 정부를 포함한 누구도 바꿀 수 없고, 중단시킬 수도 없다는 자신감을 드러내는 표현이었다. 이미 이더리움 백서에서 스마트 컨트랙에 의해 자율적으로 작동하는 시스템이 가능하다는 기술적 근거가 있었지만 말이다. 이더리움이 'Contract'라는 단어를 골라 쓴 것도 다분히 'Law'라는 뉘앙스를 담은 것이다. 외부의 법이 아니라 내부의 코드에 의해 모든 규칙이 관할 된다는 것이다.
그러나 THE DAO 프로젝트의 해킹과 그 이후의 사태 해결 과정에서 보면, 그 컨트랙의 코드는 변하지 않은 영속 자체가 목적이 아니라, 커뮤니티의 합의가 그 기반이라는 인식도 확대되게 된다. 또한 스마트 컨트랙에 의한 계약이 오픈체인에 존재하는 실정법으로부터 자유로운 것이 아니라는 점도 명확해진다.
그럼에도 불구하고 'Code is Law'라는 선언의 무게가 더 가벼워진 것은 아니다. 블록체인에 의해 도입된 코드의 투명성, 강제성, 지속성, 일관성, 결정론적인 예측성이라는 특성들은 이전 시대의 인터넷이 가졌던 무게감보다 훨씬 더 강력하게 이 선언의 의미를 부각시키고 있다. 외부 제3자에 의한 판단이나, 중재자 없이도 코드가 부여해준 규칙에 따라 트랜잭션을 처리할 수 있다. 인공지능과는 또 다른 차원에서의 자율적(autonomous) 시스템이 가능해진 것이다.
인터넷의 성장과 더불어 규제가 더욱 강화되고 확대되어 온 것처럼, 블록체인과 암호화폐의 성장 또한 대부분의 국가에서 규제 이슈를 불러일으키고 있다. 블록체인은 현실 세계로부터 벗어난 '가상적인' 세계가 아니라, 현실 세계를 구성하는 일부분이며, 현실 세계를 재규정하는 공간인 만큼 외부의 규제 시스템과 만날 수밖에 없다. 그 과정에서 무엇이 공익을 위한 것이며, 무엇이 기득권을 방어하기 위한 것인지는 끊임없는 논쟁과 싸움의 과정일 수밖에 없기도 하다.
다른 한편, 우리는 코드가 우리를 규정한다는 근본적인 문제의식도 외면해서는 안 된다. 코드를 알아야 한다. 그냥 시키는 대로 코딩을 해주는 '공돌이'에게 맡기면 되는 그런 세상이 아니다. 만일 법을 제정하는 국회의원이나 자신을 변호해 줄 변호사나, 이를 재판할 판사가 글을 읽을 줄 모르는 문맹이라면 어떨까? 여러분이 전문가랍시고 상담을 해준 변호사가 사실은 한 번도 관련 법조문을 읽은 적이 없는 사람이라면 그 사람을 신뢰할 수 있을까?
물론 모든 사람이 코딩 전문가가 되어야만 한다는 이야기는 아니다. 요즘은 코딩 없이도 애플리케이션을 만들 수 있는 도구를 만드는 회사가 각광을 받는 시대이다. 하지만 이 바닥에서 나름의 전문성을 인정받기 위한 최소한의 요건에는 코드를 읽을 줄 아는 능력이 포함되어야 한다. 코드를 읽을 줄 알되 그것의 철학적, 경제적, 사회 사상사적 맥락까지 파악할 수 있는 관점을 가진다면 그 분야의 전문가로 인정해줄 만 하다. 자칭 전문가 행세를 하지만, 사실은 문맹인 사람들의 이야기는 1도 믿기가 힘들다. 새로운 계급이 생겨나고 있다.