Skip to content

Instantly share code, notes, and snippets.

@longfin
Last active May 29, 2022 22:12
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save longfin/2037fe830e7efe1f605c38752d651988 to your computer and use it in GitHub Desktop.
Save longfin/2037fe830e7efe1f605c38752d651988 to your computer and use it in GitHub Desktop.

이족 보행 병기와 람다 드라이버

어쩌다 보니 그래도 이젠 나이를 좀 먹은 축이 되어놓으니, 중학 시절이라고 하면 물경 20년은 거슬러 올라가야 하는 나이가 되었습니다. 저는 중고교 시절 책을 좋아하는 편이었는데, 그중에서 특히 소설류를 좋아했습니다. 특히 2002년 나온 "풀 메탈 패닉!"이란 라이트 노벨은 완결이 나올 때까지 신경 쓰면서 챙겨 읽었던 기억이 납니다.1 대충 당시 제 또래 학생들이 좋아할 법한, 적당히 과학적인 설정이 덧붙여졌지만 그런데로 폼도 나는 그런 이족 보행 병기, 즉 전투용 로봇2들이 나오는 그런 내용입니다.

한 가지 특이한 점은, 이 소설은 큐브릭의 전쟁 영화인 풀 메탈 재킷을 패러디한 제목에서 알 수 있듯이 밀리터리 분위기를 내려는 소설이고, 극 중 등장인물도 이런 이족 보행 병기에 대해서 의문과 의혹을 가지고 있다는 점입니다. 상식적으로 탱크나 공격 헬기 같은 물건을 놔두고 굳이 병기를 인간형으로 만들 필요가 있냐는 지극히 상식적인 비판이죠. 더군다나 여기에 더해 주인공이 타는 시작기3에는, 탑승자의 정신력에 기반해서 "람다 드라이버"라는 초자연적인 현상을 일으키는 이상한 장치까지 들어갑니다. 이쯤 되면 SF라는 장르는 포기해야 할 지경이죠.

제가 인상 깊었던 건, 작가가 나름대로 반전(?)으로 준비해 둔 설정이었습니다. 아주 짧게 얘기하자면,

  1. 초자연적 현상을 발생시키는 장치는 인간의 신경계가 극한 상황에 처해야만 동작하는데
  2. 이런 상황을 만들기 위해 일부러 인간형 이족 보행 인간 병기를 만들었다.

밀리터리 적 현실성을 추구하는 작가가 얼마나 주변에서 "이족 보행 병기"가 말이 안 되는지에 대해 들었을지는 익히 상상이 갑니다. 그래도 소설 내의 핍진성을 위해서 허구의 설정을 집어 넣었어야 했을 것인데, 작가는 초능력과 이족 보행 병기를 묶어버리고 그 인과 관계를 뒤집는 것으로 나름대로 재밌는 이야기를 만들었다고 생각합니다.

탈중앙 애플리케이션과 탈중앙 금융

다행인지 불행인지 우리가 사는 세상에는 초능력도 없고 이족 보행 병기도 없습니다. 그런데 비슷한 이야기는 있는 것 같습니다. 기술을 만들기 위해 제품을 만드는 그런 시도들 말이죠.


22년 5월 둘째 주는 블록체인 기술 업계, 그리고 가상 자산 업계에 참여하고 있는 많은 사람이 바쁘고 곤혹스럽고 힘든 한 주였습니다. 탈중앙 금융(DeFi) 생태계에서 한 축을 차지하고 있던 Terra가 완전히 붕괴해버리고 만 것이죠.

사실 전 탈중앙 금융에 대해서 아주 잘은 모릅니다. 끽해야 UniSwap과 같은 스와프 프로토콜들 몇 개를 써보고, 그들이 이야기하는 자동화된 시장 조성자(Automated Market Maker, AMM)에 대해서 사용자 관점에서 수박 겉핥기 정도로 이해하고 있을 뿐입니다. 하지만 동시에, 전 계속된 의혹을 품고 있었습니다. 금융이란 기본적으로 돈이 필요한 사람이 돈을 쉽게 얻을 수 있게끔 도와주는 목적이고, 탈중앙 금융에서도 이는 같을 것입니다. 즉 가상 자산이 필요한 사람이 이를 쉽게 얻을 수 있게 도와주는 것이죠. 근데 사람들이 가상자산을 필요로 하지 않는다면 어떻게 되는 것일까요? 이 시점에서 우리는 투자 이외의 용도로 가상자산이 필요한 탈중앙 애플리케이션들이 먼저 필요했던 것 아닐까요?

저는 사람들이 이 문제를 외면했었다고 생각합니다. 초자연적 현상을 불러일으키는 "람다 드라이버"를 너무 만들고 싶은 나머지, "이족 보행 병기"는 건너뛰어 버린 셈이죠. 물론 "람다 드라이버"와 "이족 보행 병기"는 전적으로 소설적 허구이며 창작입니다. 이런 믿음을 가졌을지 모릅니다.

일단 돈을 모아 놓으면, 애플리케이션은 따라 올 것이다.

글을 쓰는 시점(22년 5월)의 저는 이 의견에 찬성하기 어렵습니다. 왜냐하면

  1. 투입된 자본 이외의 가치를 생산하는 애플리케이션이 없다면, 투자에 대한 보상을 지급할 방법은 그 유명한 폰지 사기 외엔 없고
  2. 설령 지금은 못 풀지만, 나중에 풀릴 문제라고 제가 믿는다고 하더라도, 지금은 어렵지만, 나중에 가능해지는 그 구체적인 까닭을 설명할 수 없다면 이는 앞서 말한 소설적 허구나 창작과 크게 다르지 않습니다.

하지만 다른 한편으로, 저는 이런 탈중앙 금융의 발전이 전적으로 탐욕에 기인한 사기나 기만행위라고 보진 않습니다. 탈중앙화된 범용 애플리케이션은 만들기 무척 어렵고 고려해야 할 요소가 많지만, 용도를 다소 한정한다면 어느 정도는 쓸만한 물건을 만들 수 있다는 자신감이나 합의가 있었다고도 생각됩니다. 바로 투자 시장이죠. 적어도 사람들은 2018~2019년도의 초기 코인 공개 (Initial Coin Offering, ICO) 붐과 이후 찾아온 초기 DEX 공개 (Initial DEX Offering, IDO) 붐들로 인해, 토큰 다루는 정도는 충분히 탈중앙 애플리케이션으로 할 수 있다고 믿었고, 또 해냈습니다. 그리고 여기서 혁신성을 느꼈을 것이고요. 기술자로서 기술이 쓰이는 곳을 찾았다는 것만으로, 더 어려운 문제는 뒤에 올 누군가가 해주리라 생각한 것뿐 아닐까 생각합니다.

블록체인과 탈중앙 애플리케이션

"풀 메탈 패닉!" 에선, 이족 보행 병기를 만들 때 필요한 기술이 판타지스러운 방법으로 묘사됩니다. 초능력자들이 미래에서 보낸 메시지를 수신하죠. 당연히 이 해결책은 우리가 쓸 수 없습니다. 초능력자도 없고, 우리가 원하는 가상 자산들이 원활히 쓰일 수 있는 그런 미래가 있는지도 아직 의문입니다.


Terra 사태를 지켜보면서 마음이 아프면서도 또 부럽기도 한 부분이 있었습니다. 많은 개발자가 Terra의 "알고리즘 스테이블"을 포기해서라도, 레이어1 생태계로서의 Terra를 지켜달라는 이야기를 했었습니다.

전 Terra의 "알고리즘 스테이블" 이나 "탈중앙 금융 허브"로서 가치를 담보하겠다는 논리에는 동의하기 어려웠지만, 블록체인 애플리케이션으로서 가지고 있는 독특한 가치는 인정하지 않을 수 없었습니다. 바로 Cosmos SDK를 사용한 가장 거대한 프로젝트였다는 것입니다.

Cosmos SDK는 이더리움과 같이 여러 애플리케이션이 한 메인넷을 공유하는 것이 아니라, 애플리케이션별로 블록체인 네트워크를 만들고 이를 연결하는 것을 핵심으로 하는 블록체인 빌더입니다.4 이 Terra는 이 Cosmos SDK를 도입하여 프로덕션 레벨에서 꽤 오랫동안 성공적으로 가동했던 네트워크였으며, 이후 다른 네트워크들과의 연동을 통해 Cosmos SDK를 통한 블록체인 네트워크 확장이 기술적으로 가능하다는 것을 보여준 사례였습니다.

어쩌면 Terra는 제 회의론과는 다르게, Cosmos SDK를 통한 탈중앙 애플리케이션의 구현 가능성만을 놓고 본다면 중요한 모범사례이자 희망입니다. 이 둘을 구분하는 것이 어떤 사람들에게는 다소 기만적이거나 미련하게 보일 수도 있겠지만, 저 역시 어떤 제품을 만드는 엔지니어의 한사람으로서 이해할 수 있었습니다.

제가 속한 플라네타리움, 그리고 거기서 만들고 있는 Libplanet 역시 Cosmos SDK와 같은 취지로 만들어진 도구입니다. 저희 역시 범용 메인넷에서 게임의 핵심 로직을 만드는 것을 목표로 했었기 때문에, Cosmos SDK는 일종의 동경과 부러움, 그리고 저희의 필요에 대한 의문을 일으키는 그런 존재기도 합니다. 5

Libplanet과 같은 도구를 통해 모든 상태가 블록 체인 위에서 계산되는 이른바 "풀체인 게임"6 을 만드는 건 결정적으로 게임 로직을 구성해야 한다는 점과, 블록 생성에 걸리는 지연을 모두 게임 기획이 감내해야 한다는 점, 그리고 결정적으로 모든 연산을 네트워크의 모든 노드가 똑같이 해야 하므로 태생적으로 확장성에 한계를 가지고 있습니다. 구현 시 신경을 많이 써서 개발이 어렵다는 건 그럭저럭 참아 넘길 수 있는 부분이었지만, 뒤의 2가지는 마땅히 극복할 방법이 없는 상태입니다. 78

서두에 장난처럼 이야기했지만, 저희에게는 미래에서 신탁을 내려주는 초능력자가 없으며, "풀체인 게임", 혹은 "탈중앙 게임"을 만드는 건 "이족 보행 병기"를 만드는 것만큼이나 그 당위나 현실성에 대해 도전적이며, 회의적인 사람들도 많습니다. 하지만 저는 "탈중앙 금융"을 포함한 "탈중앙 애플리케이션"이 가져올 가치를 믿고 있으며, 이를 온전하게 증명하기 위해선 이 도전에 진지하게 임해야 한다고 생각합니다.

마치며

마신이 불을 뿜으며 쓰러진다. 세계 최강의 힘을 가진 벨리알을 쓰러뜨린 것은 낡아빠진 구식 로켓탄이었다.

"풀 메탈 패닉!"의 마지막 전투는 꽤 인상적입니다. "람다 드라이버"를 적극적으로 사용하는 악역 로봇과의 전투에 고전하던 주인공은 "람다 드라이버"를 무효화 하는 장치를 사용하고, 로봇에서 내려 구형 로켓 런처로 상대 동력로를 파괴합니다.


전개가 모호하고 표현이 난삽한 졸문을 읽어주셔서 감사합니다. 제가 드리고 이 글로 드리고 싶었던 말씀을 3가지로 요약하면 다음과 같을 것입니다.

  • 금융은 애플리케이션 없이 성립할 수 없고,
  • 만들고 싶은, 혹은 만들기 쉬운 기술이 필요한 기술과 다를 수 있는데,
  • 필요한 기술은 소설처럼 하늘에서 떨어지는 것이 아니다.

충동적으로 작성된 글이라 중간중간 다듬어도 이 정도가 한계인 것 같습니다. 기회가 되면 더 다듬어서 조금 더 영양가 있는 글로 찾아뵙겠습니다.

아 그리고, "풀 메탈 패닉!"은 시간 때우기로 봐도 재밌는 소설이니 기회가 되면 읽어보세요. (애니메이션은 그렇게 인상적이지 않았던 걸로 기억합니다.)

Footnotes

  1. 이 글을 적으며 찾아보니 2012년도이 되서야 완결이 출간되었네요.

  2. 작중에선 암 슬레이브(Arm Slave, AS)라고 부릅니다.

  3. 많은 일본 창작물은 "전설의 무기"를 "시작기"로 표현하는 경향이 있으며, 이 소설 또한 예외가 아닙니다.

  4. 쉬운 예로는, REST API를 찍어내기 위해 Flask를 사용하는 감각과 비슷합니다.

  5. 이 이야기는 나중에 다른 글로 자세히 소개하겠습니다.

  6. 이 용어는 전적으로 저희 팀에서 조작적으로 정의해서 부르는 것이기 때문에, 아마 검색해도 의미 있는 정보가 나오지 않을 가능성이 높습니다.

  7. 그나마 다행히도 이런 결함들을 짊어지고 만든 게임인 나인 크로니클은 만드는 모두가 너무 노력해주셨고, 시장에서도 좋게 봐주셔서 흥행적으론 기대를 상회했습니다. 하지만 아마 지금 상태로 재연이 가능한 것인지에 대해선 여러 다른 의견이 있을 것 같습니다.

  8. 때문에 "풀체인 게임"이 아닌 "탈중앙 게임"에 대해서도 팀에서 진지하게 검토하고 있습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment