블록체인

블록체인 + 스타트업 = ???

1. 어제 술 좀 마시고 좀 그지 같은 이야기를 트위터에서 했다. 그지 같은 이야기라고 하지만, 그냥 별로 이야기를 하고 싶지 않았던 것들이라고 하는 게 정확한데, 스타트업 하면서 쌓인 게 한두 가지가 아니라는 것이다. 개발 관련해서도, 업계 관련해서도, 그리고 운영에 관해서도. 경영학이라는 학문에 대한 의구심을 갖고 있었지만, 경영을 해보면서 느끼는 건 "이런 경영학의 기초도 모르는 사람이 경영을 하면 안 되는구나"라는 걸 자주 깨닫고, 그것을 반면교사 삼으면서 계속 버티고 있다는 게 정확한 표현일 것이다. 경영학 그 자체는 상당히 다양한 분야로 나뉘어있고, 각각의 분야는 대략 6가지 꼭지로 수렴이 되게 된다. 마케팅, HR, 오퍼레이션 관리, 회계, 재무, MIS가 그것인데, 대부분의 기업은 이 6가지 (혹은 회계와 재무를 합쳐 5가지)에 대해서 일정 수준의 이해를 요구받거나, 한 분야의 전문성을 요구받는다. 이 글을 쓰는 사람조차도 이 6가지 중에서 회계를 잘 못 하며(C+로 도배를 했고, 아직도 회계 관련한 부분은 별로 안 좋아한다), 오퍼레이션 관리나 MIS는 역시 백그라운드가 백그라운드인지라 중간은 간다고 생각하고 있다. 뭐 재무, HR, 마케팅은 곁눈질로 배운 게 다이며, 일단 전공 서적과 케이스 스터디를 통해서 공부를 했었지만, 역시 마케딩은 디자인의 연장선상으로, HR은 인간관계의 연장선상으로, 재무는 스타트 업식 땜빵으로 커버를 치는 경우가 더 많다고 하고 싶다. 결국, 지금 갖고 있는 경영학이라는 인식은 그렇게 깊지도 넓지도 않다는 것을 매번 깨달으며 계속 공부하는 처지에 놓인 것이다. 최소한 회계라도 제대로 하면 좀 더 장기적으로 뽑아낼 수 있는 수치가 많지 않을까, 자금 흐름의 예측을 좀 더 잘하지 않을까 생각을 많이 하게 되는데, 역시 이런 것들은 단순하게 돌아가지는 않는다. 외부에서 오는 일감이나 프로젝트는 제한적이고, 시기를 타는 경우가 많은데, 이런 것들은 조절할 수 있는 변수가 아니다. 대부분 BI나 CI라는 마케팅 카르마를 쌓아야 하는데, 이런 카르마를 초창기에 쌓지를 못했다는 점, HR을 인간관계로 땜빵을 때렸다는 점 (장기적으로 이렇게 운영하면 안 된다), 기업 간 라인 구축을 제대로 하지 못했다는 것 등등이 문제라면 문제라고 할 수 있다. 이런 것들을 해결을 어떻게 하느냐가 핵심인데, 일반적으로 블록체인 업게라는 특수성이 사실상 스타트업의 활로를 너무 제약하지 않나 싶다. 타 업종에서는 기피하고 있는 분야이고, 재정 건전성이 언제나 의심을 받는 구조이고, 그리고 언제나 ICO나 IEO로 귀결되는 시스템이기 때문에 활로라고 할 수 있는 방향성이 없다. ICO는 일종의 시작점이자 종점인데, ICO를 성공적으로 한 후, 메인 넷 론칭에 있어서는 그 누구도 검증 가능하거나 검증을 할 수 있는 방법이 없다고 보고 있고, 사실 이더리움을 제외한 어떤 프로젝트도 제대로 ICO 이후의 플랜(심지어 이더리움은 ICO다운 ICO도 아니었다)을 지키지도 못했다. 뭐, 그런 면에서 엣식의 기회나 투자의 기회는 애매하기 짝이 없는데, 엑싯 사례는 없다고 봐야 하고, ICO는 사실상 성공할 수 없는 독이 든 성배이며, 이 두 상황에서 투자를 받는 거 자체가 불가능한 무언가라고 봐야 한다는 것이다. 결과적으로 이 회사가 선택할 수 있는 방법은 상황유지라는 방법이나 자체 상품을 개발 후 탈 블록체인 하는 수밖에 없는 것이다. 실제로 많은 기업들이 블록체인이 아닌 일들을 하기 시작했다. 뭐 말이야 블록체인의 오딧팅, 보안 감사, Dapp 제작 등이라는 형태를 띠지만, 오딧팅/보안감사는 언제나 보안 감사 전문 업체의 일이었고, Dapp 제작은 앱 제작과 별반 차이가 없다는 것을 알아야 한다. 일반적으로 이러한 상황에서 추가적인 메인넷 개발을 하는 팀을 국내에서 찾기는 엄청 힘든데, 토종 코인이라고 할 수 있는 BOS는 실제로 프로젝트가 망했다고 보고 있고, 그 외 몇몇 메인넷 런칭 준비 중인 프로젝트들의 경우 경험상 이것을 메인넷이라고 부를 수 있는가에 대한 질문을 할 수밖에 없고, 런칭 된 메인넷의 경우 이더리움의 변종인 경우가 많다. 결과적으로 포크나 약간의 시스템 개선 이후 중앙화 된 노드들이 사용되는 형태로 변화하고 있는데, Quorum을 그렇게 많이도 참고하는 거 같다. 뭐 이런 상황에서 일반적인 스타트업 방법론이나 중견기업 이상에서 먹힐 만한 방법론이 통하는 업계가 아니라는 건 알 수 있다. 일종의 미궁 속을 계속 헤매고 있는 것과 같은데, 이걸 해결할 일종의 돌파구가 어디서 나올지는 잘 모르겠다.

 

2. 실제로 블록체인의 경우 기술의 난이도가 높지 않은 편이다. 정확히 말하자면, 기술 성숙도가 낮기 때문에 현재는 접목할 수 있는 기반 기술들이 상당히 많으며, 선행 연구가 많이 되어있는 편이다. 하지만, 문제는 이것이 통화 경제학, 금융공학, 게임이론, 분산처리, VM, 암호학 등등 각 학문에 있어서 거의 끝판왕이라고 할 수 있는 것들의 총집합이라는 것이다. 게임이론을 주로 다루거나 시뮬레이션을 돌리고 있는 (Truebit 시뮬레이션으로 유명한) 디콘 같은 데를 눈여겨볼 수도, SOOHO나 HACHI 같은 오딧팅이나 보안 감사를 하는 곳을 생각할 수도, 플라즈마 네트워크 임플레멘테이션을 만드는 온더를 생각할 수도 있겠지만, 실제로 아직은 기술력에 대한 의문점이나 기술 성숙도에 대한 의문점을 지울 수 없다. 일반적으로, 이 업계가 갖고 있는 문제는 한 분야의 최고가 아니기 때문에, 혹은 블록체인이 핫하기에 들어왔다가 발을 못 빼니 계속 하고 있는 경우가 대부분이기 때문이다. 그런 특징들은 현재 어떤 문제를 해결하려고 노력하는 것을 통해서 알 수 있는데, 현재 블록체인의 코드나 사용하는 언어를 좀 보자. 블록체인 메인넷 코드들에서는 오딧팅 툴에 바로 걸리는 잘못된 사용(Use After Free, Double Free...)이나 배포 환경에 대한 대응 미비(nix를 팩키지 매니저로 쓰라는 Cardano라던지), 특정 라이브러리 의존성(Bticoin 계열의 BDB 4.8, OpenSSL 1.0) 등등이 발견됨에도 불구하고, 국내 몇 팀 제외하고 이런 부분에 대한 패치나 개선을 하지 못하거나, 이 문제 자체를 이해를 못 하는 경우가 많다. 언어의 경우 새로운 단어를 재발명해서 사용하고 있다는 점을 눈여겨봐야 한다. 핀테크(Fintech)보다는 DeFi 같은 단어가 더 간지나보이고 Decentralized 된 것처럼 보이리라 생각하지만, 실제로는 뜯어보면 구조는 대부분 같다. 탈중앙화 되어있다지만, 중앙화 된 무언가가 정부에서 기업으로 이전되는 것일 뿐이고, 실제로 그 이전되는 기업은 탈중앙화를 외치는 그 기업들이라는 것이다. 대중은 결국 블록체인이라는 것이 섞여있는 무언가만 보면 알레르기 반응을 보이는 상황까지 와 버렸고 (비트코인 25000달러 돌파와 김치 프리미엄에 기인한 것이 대부분이지만) 이러한 단어들의 선택은 블록체인 업계가 얼마나 안일하게 시장을 파악하고 끌어가고 있는가에 대한 방증일 뿐이다.

 

3. 강의를 나가거나 술자리에서 이야기를 할 때마다 하는 소리는, 토렌트랑 GPG/PGP랑 합쳐놓으면 그게 블록체인이라는 이야기를 많이 한다. 블록체인 자체 저장 시스템은 링크드 해시드 리스트와 머클 트리, 스테이트 관리를 위한 트라이(Trie)의 집합일 뿐이다. 거기다가 버클리 디비나 레벨 디비를 사용하고 있으니 실제로 저장은 키-밸류 스토리지에 쳐 박히는 구조인데, 이것이 뭔가 대단한 것처럼 말하는 것도 좀 그시기하다. 사실 보면 그냥 학부 3~4학년이 열심히 노력하면 (그게 뭐 본인 대학 기준으로 말하니 타 대학 기준으로는 석사까지 갈 수도 있다.) 만들 수 있는 시스템이고, 실제로도 많은 강좌들이 주목하는 지점은 Hash와 ECC, 분산 네트워크에 관한 것이다. 뭐 더 나아가면 데이터를 압축해서 저장하거나 패딩을 넣거나, 아님 블록 바이너리를 어떻게 다루는지에 대한 부분인데, 이 부분은 임베디드 시스템에서 메모리 최적화하는 기법이랑 별 반다를 바가 없다. 사실 바이트 단위로 블록 데이터를 저장하고 이를 가져와서 처리를 개떡같이 하니 사람들이 공포감에 휩싸이는 거지, 이것도 CTF에서 낮은 레벨의 문제이다. 대부분 노가다하면 풀리니는 부분이니

 

그렇다면, 블록체인의 문제는 무엇인가? 아니 문제라기보다는 업계의 문제는 무엇인가?

 

블록체인 업계 문제점은 의외로 단순 명료하다. 기술 공유의 부재, 별 것 아닌 지식의 무기화 및 자산화, 기존 방법론에 대한 적용 미비, 리서치 미비 등등일 것이다. 요즘 DID가 대세가 돼가고 있다. DID가 대세가 되리라는 것은 쉽게 할 수 있는데, ECC로 비대칭키를 구현하고 사이닝까지 하는 구조에서, PKI 인증(공인인증서에 쓰이는 그것 맞다)을 블록체인으로 할 수 있을 거 같은데 왜 안 하냐라는 질문이 나오는 건 당연한 것이다. 구조적으로 PKI 인증을 해서 그 기반으로 암호화폐가 전송되는 것인데, PKI 인증을 암호화폐에만 하면 좀 거시기하지 않는가? (실제로 이렇기에 카카오톡 PKI인증은 초반에 비트코인에 OP_RETURN으로 데이터를 쓰고 그것으로 인증 결과를 블록체인에 올렸다고 주장했다)

 

근데 까놓고 말해서, 이런 거 새로 만드는 건 바퀴를 재발명하는 것과 같다. 이미 DID가 아닌 PKI 인증에는 표준 규격이 존재하고, 이미 DID 관련해서도 규격화된 것들이 많다. 그냥 갖다 쓰면 되는 것이다. 오히려 지금 업계가 해야 할 일은 기존 시스템에 잘 붙게 라이브러리 만들고, 표준 스펙 만들고, 스펙 공유해서 각 블록체인 노드를 하나로 통합하는 일이다. 솔직히 Litecoin과 Bitcoin의 소스코드 디핑만 떠봐도 얼마나 유사도가 높은지, 루니버스니, 클레이튼이니를 Quorum이나 Geth와 디핑을 떴을 경우 유사도가 얼마나 되는지를 본다면, 실제로 이게 뭔 개 짓거리인지를 쉽게 파악할 수 있다. 대부분 베끼고, 개선이라는 명목 아래 새로운 체인을 만들고, 그 체인에서 암호화폐를 발행함으로써 일종의 채권을 만들어서 파는 것뿐이다. 이러한 무안단물 장사는 그만 되어야 한다. 통일화된 스마트 컨트랙트 규격, 스크립트 바이트 코드, 호환 가능한 VM 등등이 선행되지 않는다면 이 시장은 파편화가 되거나, 아예 몇몇 메이저 플레이어를 제외하고 다 망하는 대청소 시간이 올 것이라는 것은 누구라도 알 것이다. 하지만, 앞서 말했듯이 이 업계에서 그런 실력을 갖고 있는 데가 얼마나 되는가?

 

4. 기존 업체들은 신규 플레이어의 진입이 시작되는 것을 제일 두려워한다. 뭐 기술력의 부재는 이미 앞에서 길게 말했으니 넘어가고, 여기서 다룰 꼭지는 신규 플레이어의 강력함이다. 나 자신도 처음에는 JP 모건의 Quorum을 보면서 콧웃음을 쳤지만, 클레이튼이나 루니버스에 적용되는 것을 보고 가능성에 대해서 생각을 하게 되었는데, 실제로 이러한 시스템이 널리 퍼지고, Geth나 Parity에 확장된 코어를 붙여 여러 개의 암호화폐를 사용할 수 있는 단일 클라이언트가 나온다면 상당히 새로운 서비스를 구상할 수 있다. 일반적으로 인터체인이라고 할 수 있는 Polkadot이 그것을 하는 것처럼 보이지만, 이러한 인터체인 기술은 그렇게 어려운 것도 아니다. 그냥 블록체인 클라이언트가 여러 체인 데이터를 다룰 수 있으면 되는 것 뿐이고, 그걸로 채굴을 할 것도 아니니 SPV 같은 기술과 엮으면 실제로 하나의 온전한 블록체인에 접근할 수 있는 무언가가 나올 것이다. 또한, 분산처리나 언어론을 주구장창 하던 대학교 랩들이 분산처리 관련해서 이더리움 프로젝트에 컨트리뷰트하거나 새로운 합의 알고리즘을 만들어내던가, 정적 분석기 개발된 것들을 좀 더 개량해서 자바스크립트 분석기를 솔리디티 분석기로 가져다 쓰는 경우 같은 것도 생기고 있다. 이미 거래소 솔루션 장사로 몇 십억씩 돈을 번 케이스도 목격되는데, FX 마진이나 해외 선물 시장 솔루션 만들던 증권사 SI들이 달려들어서 암호화폐 거래소 솔루션 만들어서 돈을 벌어먹었다는 사례는 정말 유명하고, 실제로 몇몇 메이저 거래소를 제외하고는 대부분 이러한 솔루션 빵판으로 찍어낸 것들이 대부분이다. (그렇기에 비슷한 취약점을 공유하고 해킹도 많이 된다)

 

기업, 대학교, 연구소가 아니라도, 데프콘이나 코드게이트, 코드엔진만 봐도 실제로 블록체인 이슈가 얼마나 핫한지 알 수 있다. 보안하는 사람들 안 좋은 버릇이 파이 좀 커지고 먹을만해지면 이제 취약점 찾아서 돈과 명성을 얻는 것인데, 실제로 발표장에서 이제 이거 이렇게 공략하면 크레딧 이 정도 나온다를 공유할 정도의 사이즈까지 되었고, 비슷한 예시로 IoT, 즉 임베디드 산업이 2014년 이후로 엄청나게 핫해지면서 기존 공격 기법들 재활용(리눅스 2.6이 돌아가는 시스템이니 15년 전 기법도 통한다)을 하면서 명성을 쌓는 경우를 많이 봤다. 심지어 글쓴이도 그렇게 IoT 장비들을 분석하고 공격하면서 명성을 쌓았었다. 블록체인으로 방향을 우연히 틀게 되면서 블록체인에서도 동일한 깃발 꼽기 싸움이 생길 거라는 것을 직간접적으로 경험하게 되었는데, 역시 코드 퀄리티가 개판이라는 점과 단순 DoS 같은 공격으로 전체 시스템이 마비되는 수준이라는 것은 공유되는 CVE나 공격 사례들로 증명이 이미 충분히 되었고, 실제로 스마트컨트랙트 실행이나, 네트워크 공격 관련된 부분에 대해서 상당히 취약점이 많으리라고 생각된다. 일반적으로 Gas라는 개념이나 Fee라는 개념으로 이를 방어를 하지만, DAO Attack 때도 그렇듯이 이런것들을 우회할 수 있는 공격들을 찾아서 공격을 하는게 주된 방식이고, 스마트컨트랙트는 시스템의 복잡도를 높여 이런 취약점을 만들어낼 가능성이 높다는 것이다.

 

금융공학이나 게임이론 쪽은 결과적으로 JP 모건 같은 금융사에서 들어오기 시작하면서 시장이 꽤 많이 바뀔 것이라고 생각한다. 기술에 대한 이해도는 낮겠지만, 금융 서비스의 보급에 있어서는 상당히 큰 역할을 할 것으로 보이고, 사실 엔지니어 입장에서는 몸값이 더 높아지는 거니 사실 나쁘지 않은 상황일 것이다. 탈중앙화를 지지하거나, 자유주의적 사상에 경도되어있다면 좀 많이 암울한 느낌이 들겠지만, 결과적으로 중앙이나 큰 손들의 영향을 벗어나기는 상당히 힘들다는 것이고, 개인에게 좀 더 큰 자유와 덜 중앙화 된 무언가를 제공해야 한다는 것에 만족을 할 수밖에 없을 것으로 보인다. 아니면 진짜 완벽하게 정부를 엿 먹이는 자체 네트워크를 구축하는 쪽으로 가야할텐데 쉽지는 않을 것이다.

 

5. 사실 너무 두서 없는 글이 되어버렸는데, 실제로 기존 업계 디스와 스타트업 운영하면서 겪게 되는 스트레스와 뭐 이런저런 이야기들을 다 섞어서 하게 되어버렸다. 2~3번의 퇴고를 거쳤지만, 메인 주제라고 할 수 있는 건 없고, 그냥 약 2년간 블록체인 관련 일을 하면서 겪었던 것들에 대한 푸념이라고 해야하나? 그런 글이 되어버렸다. 뭐, 그렇다고, 아니 그렇다고 뭐 이게 바뀌겠는가. 뭐 그러니 우리나 잘 해야지. 아 엄마 보고싶다. 블록체인 거지 같아요. 엄마 살려줘요. 이게 입에 붙어버렸다. 엄마 으악 X스