블록체인으로 SIB 만들기

 

2018년 초에 팬임팩트코리아는 SIB와 블록체인을 결합하여 SIB의 투자금 운용과 복잡성 문제를 개선한 ‘스마트 SIB’를 개발하였다. 세계 첫 사례이다 보니 이후 이와 관련한 문의와 질문들을 많이 받았는데 어떤 업체와 협력했는지, 누가 어떻게 만들었는지 등 과정과 관련한 질문들이 꽤나 많았다.

유사한 질문과 답변을 이어가면서 이에 대해 글로써 공유해야 할 필요성을 느껴 이를 만들게 된 과정을 이야기하고자 한다.

 

고민의 계기

사회성과연계채권(SIB)은 가장 혁신적인 사회문제 개선 수단 중 하나이지만 몇 가지 제약도 있다. 먼저 ‘채권’이라는 이름과 달리 실제로는 투자 ‘계약’이었기에 시장에서 거래가 되지 않고 투자금의 유동성이 낮다는 점이다. 또한 일부 SIB 사업의 경우 성과측정과 관련된 수식들이 많아 성과보상금의 계산이 복잡하고, 이에 따라 오류방지와 합의에 대한 거래비용이 발생하는 단점도 있었다.

나는 SIB를 우리나라에 도입하고 확산하는 입장에서 SIB의 약점으로 지적된 부분들을 해결하고 싶었고, 정부에 법을 제안하거나 정책 제안서를 제출하기도 하였으나 받아들여지지 않았다.

 

돌파구 모색

2017년 어느 날, 우리 직원이 블록체인으로 비영리단체에 기부하는 일을 하면 좋겠다는 말을 하였다. 나는 그 말을 들었을 때 그러한 일은 우리 법인의 업무 영역이 아니기 때문에 그냥 듣고 넘기려다가, 문득 ‘블록체인’이라는 기술을 그동안 고민해오던 SIB 문제를 해결하는 데에 활용할 수 있겠다는 생각이 들었다. 다행스러운 점은 당시 블록체인이 암호화폐의 개념과는 다르며 분산된 시스템에 데이터를 저장하는 기술이라는 기본적인 이해는 가지고 있었다는 것이다.

처음에는 블록체인을 잘 아는 프로그래머를 채용하면 된다고 생각하였다. 그런데 블록체인이라는 기술이 세상에 알려진 지 오래되지 않아 당시 이를 활용할 수 있는 개발자가 많이 없었고, 개발자가 있더라도 당시 폭증하는 수요로 인해 몸값이 천정부지로 뛰어올라 있었다. 적합한 블록체인 개발자를 찾는 것이 불가능했으며, 특히 임팩트투자나 사회적금융 업계에서는 블록체인에 대한 이해가 거의 없는 상황이었다.

결국 나는 시장에 사람이 없다면 차라리 직접 개발하는 게 낫겠다는 생각을 하게 되었다. 그리고 이 업계에 사례가 없다면 먼저 뛰어들어 좋은 모델을 만들어야겠다는 생각도 하였다. 선도적인 사례가 창조하는 지식과 파급력이 있기에 이러한 일을 통해 세상에 좋은 영향을 주고 싶었다.

 

난관의 연속

먼저 블록체인을 올바로 이해하기 위해 시중에 나온 블록체인 책자들을 사서 보았고, 이내 ‘스마트 컨트랙트(smart contract)’라는 것을 알게 되었다. 스마트 컨트랙트를 쉽게 설명하면 블록체인에 설치되어 작동하는 프로그램으로 이해해도 된다.

나는 SIB를 전자증권화 한 뒤 각 투자자가 자신의 계좌를 관리할 수 있도록 하고, SIB 계약서에 담긴 복잡한 수식들을 코딩하여 자동으로 성과보상금 산출이 되도록 만들 생각이었다. SIB를 위한 새로운 운용 시스템을 만들고 싶었다.

그러나 문제가 생겼는데, 스마트 컨트랙트를 만들려면 ‘솔리디티(Solidity)’라는 기존에 없던 새로운 프로그래밍 언어를 배워야 한다는 것이다. 당시에 학습할 수 있는 도서가 거의 없었고, 이를 가르쳐주는 곳도 없었다. 번역서나 해외 도서를 구해서 봤는데 전문 개발자용으로 다소 무성의하게 쓰여 있어 봐도 무슨 말인지 알 수가 없었다. 게다가 새로운 언어이기 때문에 빠른 속도로 개정되어 명령어나 문법이 수시로 바뀌는 것도 문제였다. 책에 나온 대로 코딩을 하면 허무하게도 작동이 되지 않았으며, 처음에는 원인을 파악할 수도 없었다.

결국 활용 가능한 학습의 수단이 없는 상황에서 하나의 방법을 찾아내었다. 그것은 해외 IT 개발자 커뮤니티를 뒤져서 필요한 명령어와 문법을 익히고, 하나씩 테스트해 보는 것이었다. 그러나 여기에도 문제가 있었다. 커뮤니티의 많은 개발자들이 컴퓨터 운영체제로 대부분의 사람들이 사용하는 윈도우 대신 ‘리눅스(Linux)’를 사용한다는 것이었다. 개발자들이 리눅스를 기초로 개발도구 설정이나 테스트 환경에 대한 설명을 하는 경우가 많아 윈도우 사용자로서 난감할 때가 많았다.

그래서 아예 리눅스 운영체제부터 공부를 하였다. 리눅스도 종류가 많아 컴퓨터에 리눅스 운영체제를 수없이 설치했다 제거하곤 하였다. 최종적으로 ‘데비안(Debian)’이라는 리눅스를 사용하게 되었는데 다행스러운 점은 스마트 컨트랙트와는 달리 학습을 위한 자료들이 충분히 있었다는 것이다. 나는 책을 여러 권 구입하여 리눅스의 작동원리와 명령어를 익히고, 다양한 작업을 해보면서 학습을 하였다.

 

스마트 SIB의 완성

나는 리눅스에 어느 정도 익숙해진 뒤 본격적으로 해외 사이트를 뒤져가면서 개발도구들을 익히고, 명령어 설명을 읽으면서 스마트 컨트랙트 개발을 위한 언어를 학습하였다. 주중에는 밤에, 주말에는 종일 학습을 하며 해결책을 찾아 나갔다. 자려고 침대에 누웠다가 갑자기 발상이 떠올라 벌떡 일어나 테스트하는 일은 다반사였고, 수면이 부족하여 작업 중에 쌍코피가 나기도 하였다. 나는 이와 같이 문과 출신의 초급 개발자가 되어 갔다.

집중력을 발휘한 끝에 2018년 1월, SIB 스마트 컨트랙트, 즉 ‘스마트 SIB’의 첫 버전을 완성하였다. 이는 블록체인과 실제 SIB를 결합한 최초의 모델이며, SIB의 한계로 지적되었던 문제들을 극복한 사례가 되었다. 블록체인을 활용하였기 때문에 효율적으로 보안 문제를 해결하였고, 기록의 유지도 수월하게 되었다. 2018년 2월 5일, 나는 완성된 스마트 SIB를 이더리움(Ethereum) 블록체인에 설치하였고, 투자자들은 스마트 SIB가 시작한 혁신을 높이 평가하였다.

나는 이후 코딩 실력이 더 나아지자 첫 스마트 SIB의 미흡함이 눈에 띄고 마음에 안 들기 시작하여 추후 다른 사업에 적용하기 위해 업그레이드된 버전을 개발하였고, 그 외에 블록체인을 활용한 몇 가지 사회혁신 프로젝트도 개시하였다. 이러한 일을 계기로 해외 여러 국가의 단체들로부터 스마트 SIB와 유사한 것을 만들겠다는 연락이 오기도 하였고, 한국에서 시작된 새로운 시도를 알릴 기회들도 얻게 되었다.

 

후기

IT 회사가 아닌 법인의 대표로 일하면서 프로그램 개발을 병행하기에는 나의 시간과 자원이 충분하지 않기 때문에 커다란 어려움이 있다. 그러나 개인적으로 기술의 사회과학적 적용, 기술과 사회적 가치의 연결에 관심이 높기에 이와 같은 시도는 지속해 나갈 예정이다.

현재 사회문제 개선에 관심 있는 대부분의 사람들은 기술에 대한 몰이해로 이를 외면하고, 반대로 엔지니어들은 기술 자체에만 매료되어 사회적 가치와 괴리된 사업모델을 양산하는 경향이 있다. 만약 기술을 활용한 좋은 사례들을 축적해 나간다면 실질적인 사회문제 해결의 효과를 높이면서, 이를 통해 관련 기술이 각광받도록 하는 상호지지적인 관계가 형성될 수 있을 것이다.

지금까지의 이야기가 별 것 없어 보일 수도 있으나, 나와 같은 사람도 전혀 새로운 것을 습득하고 만들어낸 사례가 주는 위안과 메시지는 있을 것이다. 개인적으로 “누구나 할 수 있다” 같은 식상하고 무책임한 말을 좋아하지 않지만, 사실 새로운 지식을 배우는 것은 대단히 큰일도 아니며 실천이 어려운 것도 아니다.

 

원문출처 : http://panimpact.kr/sibmag-sib-story-201906

(이 포스팅은 필자가 SIB 매거진 2019년 5·6월호에 게재한 글을 옮긴 것입니다.)

 

Print Friendly, PDF & Email