이일구 성신여대 융합보안공학과 교수
브룩 피어스 비트코인 재단 회장이 말한 것처럼 “블록체인은 1,000년내 가장 혁명적인 기술”이라는 평가를 받는다. ‘블록체인 혁명’의 저자 돈 탭스콧 대표도 “블록체인 기술로 인해 구글과 페이스북, 아마존이 더 이상 인터넷 세상의 주도권을 쥘 수 없을 것”으로 확신했다.
지금 당장 이 말에 고개를 끄덕일 사람은 많지 않을 것이다. 마치 20년 전에 “인터넷과 스마트폰이 인간의 삶을 확 바꿔 놓을 것이다”라는 말에 ‘귀신 신나락 까먹는 소리’라고 생각했던 것과 크게 다르지 않을 듯싶다.
그렇다면 블록체인은 왜 혁명적 기술일까? 앞선 글에서 블록체인이 디지털 데이터의 ‘이중 지불 방지’ 문제를 해결했고, 탈중앙화를 통해 개인간 직접 거래가 가능하도록 했다는 것에 대해 설명했다. 또 공개키 암호화 방식을 이용한 ‘신뢰 네트워크 구축’에 대해서도 소개했다.
결국 블록체인은 “개인끼리 디지털 데이터를 믿고 거래할 수 있게 한 기술”이다. 그래서 돈 탭스콧 대표도 “블록체인이 디지털과 인터넷을 새로운 차원으로 업그레이드한 ‘인터넷 2.0 시대’를 열어갈 것”으로 자신했다.
말은 그럴 듯하지만 멀게만 느껴진다.
과연 우리가 피부로 체감할 수 있는 ‘블록체인 기술’은 어디에 있을까?
필자는 계약서에서 가장 먼저 블록체인 기술을 접할 것으로 본다.
블록체인은 ‘신뢰의 기술’로 개인간 거래의 안전성을 획기적으로 높여줄 수 있다. 사람들이 가장 관심이 많은 ‘사유재산의 거래’를 확실하고 똑똑하게 처리해 줄 수 있는 기술이다. 그래서 이번 글에서는 ‘블록체인 기술로 만드는 똑똑하고 믿을 수 있는 자판기, 스마트 컨트랙트(Smart Contract)’에 대해 소개하고자 한다.
사람들은 살면서 수많은 계약에 서명한다. 일례로 하루에도 몇 번씩 카드를 긁고 사인을 한다.
특히 집이나 자동차 등 비싼 물건을 사고팔면서 계약서를 쓸 때는 신경이 많이 쓰인다. 집을 매매한다고 생각해 보자. 그러면 계약서에 권리, 의무 관계가 빠짐없이 잘 정리돼 있는지 예상치 못한 상황에서 손해를 보는 건 아닌지 따져보게 된다. 그리고 계약을 체결한 후에도 상대방이 약속을 잘 지킬 것인지 전전긍긍한다. 또 중개업자에게 너무 많은 복비를 준 건 아닌지 의심하기 마련이다.
만약 제 3자 없이 당사자끼리 계약을 하고, 계약서에는 필요한 내용이 모두 담기고, 계약을 체결한 후에는 조건이 성립되면 무조건 이행되는 시스템이 있다면 어떨까? 그러면 복비에 대한 고민도 없고, 계약 내용, 계약 이행 여부에 대한 걱정을 안 해도 된다. 마치 자판기에 돈을 넣고 버튼을 누르면 정해진 물건이 나오는 것과 같은 이치다. 물론 이 자판기는 돈만 먹고 물건을 안 내놓거나 약속된 물건이 아닌 다른 물건을 내놓는 일이 절대 없어야 한다.
이런 자판기, 이런 계약서를 만드는 기술이 앞서 언급한 ‘스마트 컨트랙트(계약)’다.
스마트 계약은 1994년 닉 쟈보(Nick Szabo)가 제안했다. 그가 정의한 스마트 계약은 “계약조건을 만족하면 제 3자의 개입 없이 프로그래밍된 대로 이행되는 자동화된 거래 규약”이다. 그래서 ‘계약서’는 사람이 쓰지만, ‘스마트 계약’은 ‘프로그래밍’이 쓴다.
앞서 언급한 자동판매기 사례를 통해 이해도를 높여보자.
자판기는 정해진 금액을 넣고 원하는 물건의 버튼을 누르면 정해진 물건과 거스름돈이 나오도록 프로그램된 기계다. 사람이 없어도 기계가 알아서 물건을 팔고 돈을 번다. 도난, 전력소모, 위생 등의 문제도 있지만 편리성과 고효율의 장점 덕분에 전 세계 곳곳에서 쓰인다. 상업적으로 가장 성공한 발명품 중 하나다.
이처럼 자판기에 들어있는 판매 프로그램이 스마트 계약이다. 닉 쟈보는 스마트 계약을 ‘글로벌 금융 머신’이라고 불렀고, 전문가들은 스마트 계약을 이용하면 자판기처럼 전 세계 사람들이 편하게 믿고 계약할 수 있을 것으로 기대한다.
이 같은 스마트 계약과 블록체인이 합쳐지면 다수의 참여자가 합의하고 조건에 따라 계약을 실행하는 것이 가능하다. 부동산중개업자와 같은 제 3자 없이 블록체인의 데이터 투명성과 거래자 익명성을 보장받으며 블록체인에 프로그래밍된 디지털 계약서를 믿고 거래하면 된다.
그래서 블록체인 기술을 쓰는 비트코인으로 스마트 계약을 하려는 시도가 있었다. 최초의 블록체인 기반 스마트 계약인 비트코인 스크립트다.
그런데 스마트 계약은 자판기처럼 반복해서 작동해야 한다는 점 때문에 비트코인 스크립트에 문제가 생겼다. 반복문을 허용할 경우, 무한 루프(반복)가 발생해 네트워크 전체가 멈춰 버리는 오류가 생겼다. 시스템을 공격할 수 있는 커다란 구멍이 발견된 셈이다.
이를 극복하기 위해 나온 것이 2013년 비탈릭 부테린 (Vitalik Buterin)이 창안한 이더리움(Ethereum)이다. 이더리움은 스마트 계약에 특화된 블록체인 플랫폼으로 비트코인 스크립트 시스템의 한계인 무한 루프 문제를 해결했다. 이더리움은 시스템이 무한 루프에 빠지지 않도록 각 라인을 실행할 때마다 수수료를 내도록 하고 수수료가 일정 수준을 넘어서면 계약이 중단되도록 했다. 누군가 반복문을 계속 시행하도록 시스템을 공격해도 매번 수수료를 내다가 수수료가 쌓여 한계점에 도달하면 반복문은 스스로 멈추게 된다. 수수료를 통해 무한 루프의 문제를 해결한 것이다. 물론 이는 다시 수수료가 비싸다는 문제가 제기되고, 새로운 스마트 계약 플랫폼 이오스(EOS)가 수수료 문제를 해결하겠다고 나섰다. 데이터를 조작할 수 없는 블록체인과 계약을 자동이행하는 스마트 계약을 접목한 기술들은 앞으로도 계속 나올 듯하다.
모든 스마트 계약은 블록체인에 기록되고 누구도 계약 내용을 바꾸지 못한다. 덕분에 서비스 또는 물건의 임대차 계약을 하는 두 당사자 사이를 중개하는 플랫폼으로 사용이 가능하다.
대표적인 사례가 2008년 시작한 숙박 공유 서비스 ‘에어비앤비’다. 사람들은 에어비앤비를 통해 자신의 방이나 집, 별장 등 모든 공간을 빌려준다. 에어비앤비는 임대인과 임차인 사이에서 임대 서비스를 중개하고 수수료를 받는다. 임대인은 공간을 빌려줘 수익을 얻고, 임차인은 저렴하게 공간을 빌릴 수 있어 인기가 많다.
만약 임대인과 임차인이 권리·의무 관계를 스마트 계약으로 맺으면 에어비앤비는 블록체인 상의 코드만 만들면 된다. 계약 당사자가 계약 내용을 이행하지 않거나 이행을 강제할 필요도 없다. 스마트 계약이 특정 조건을 만족하면 자동으로 실행되기 때문에 비용이 줄고 거래위험이 낮아진다. 금융거래는 물론 부동산 계약, 공증 등 다양한 곳에서 쓸 수 있다.
물론 스마트 계약이 잘 작동하기 위해선 넘어야 할 장벽이 존재한다.
우선, 프로그램으로 작성된 디지털 계약서가 법적 지위를 갖기 위한 노력이다. 현재 기술 수준에서 디지털 계약을 진행할 때 인간 사이의 복잡하고 미묘한 관계와 의미를 완벽히 프로그래밍하기는 쉽지 않다. 하지만 인공지능(AI) 기술이 발전해 거래 당사자에 따라 계약 조건을 섬세하게 조정하고 미묘한 갈등도 객관적으로 중재하면 이 같은 문제를 풀 수 있다.
또 스마트 계약 플랫폼을 구축할 때 분산 앱 (Decentralized Applications)의 안전한 코딩과 보안 내재화가 중요하다. 가령 자판기에 1,000원을 넣고, 300원짜리 밀크커피 버튼을 누르면 밀크커피와 잔돈 700원이 나와야 한다. 그런데 현실에선 잔돈 또는 밀크커피가 안 나오는 경우가 비일비재하다. 혹은 돈은 안 넣고 자판기를 발로 차면 동전 또는 제품이 나오기도 한다. 설계상 오류 혹은 해킹에 의해 설계한 의도대로 동작하지 않으면 피해가 크다.
스마트 계약도 마찬가지다. 안전하게 코딩되지 않거나 보안이 내재화되지 않으면 역공학(Reverse engineering)에 의해 분산 앱의 취약점이 공격당할 수 있고 해커가 퍼징(Fuzzing)에 의해 분산 앱의 오동작 패턴을 알아내 시스템을 무력화시킬 수도 있다.
스마트 계약은 블록체인과 결합해 엄청난 부가가치를 창출할 낼 수 있는 잠재력 있는 기술이다. 스마트 계약이 가져다 줄 다양한 편의성과 효율성을 극대화하기 위해 디지털 계약서의 법적 지위에 대한 개선과 보안이 내재된 안전한 분산 앱 개발 기술에 대한 아낌없는 투자와 노력이 요구된다.