해시드 인터뷰: 코스모스 파운더 재권(Jae Kwon), “블록체인의 인터넷”
“궁극적으로 블록체인은 오늘날 우리가 직면하고 있는 인간 사회 문제들을 해결할 것이고, 우리는 소프트웨어를 만들어 함께 가치를 창조할 것입니다.” 해시드는 블록체인의 인터넷 코스모스를 개발하는 텐더민트(Tendermint)의 파운더 재권(Jae Kwon)을 인터뷰 했습니다. 이번 인터뷰에서 재권은 현재 블록체인이 가지고 있는 한계를 극복할 방안과 그리고 수천 개의 블록체인간 커뮤니케이션을 가능하게 한 기술을 논했습니다.
- 유튜브 인터뷰 영상은 한국어 CC를 제공합니다. (글자 크기, 위치 수정 가능)
두 종류의 질문을 준비했어요. 전체적으로 기본적인 이야기를 나눈 후에 더 기술 집중적인 대화를 해보려고 해요. 일단 재권 본인 소개와 팀 내에서의 역할에 대한 설명 부탁드립니다.
제 이름은 재권입니다. 프로그래머이고요. 실리콘 밸리 전역에서 약 12년 동안 프로그래밍을 해오고 있습니다. 원래는 아마존에서 웹서비스를 개발하는 일을 했었는데, 레스토랑이나 지역 상점을 찾아주는 Yelp라는 아이폰 앱을 개발했죠. 그리고 스타트업에 관심을 갖게 되었는데, 좀 더 재미있는 걸 만들고 싶다는 생각을 했어요. 수년 동안 제가 어떤 산업에서 일하고 싶은지 고민했는데, 블록체인 업계의 잠재력이 가장 매력적이라고 생각했어요. 그래서 합의 알고리즘으로 작업 증명을 대신하려고 하는 프로젝트인 텐더민트를 시작했고, 그 프로젝트를 통해 코스모스라는 퍼블릭 블록체인을 위한 소프트웨어를 개발하게 되었습니다. 코스모스는 확장성이라든지 지분증명이라든지 좀 더 어려운 문제들을 해결하려고 시작했습니다. 저는 지금 텐더민트와 코스모스 프로젝트에서 프로그래밍 등 많은 일들을 하고 있습니다.
합의 알고리즘으로 작업 증명을 대신하려고 하는 프로젝트인 텐더민트를 시작했고, 그 프로젝트가 기업이 되어서 코스모스라는 퍼블릭 블록체인을 위한 소프트웨어를 개발하게 되었습니다.
재권의 프로젝트들에 대해서 좀 더 자세히 이야기해줄 수 있을까요? 가령 업계 내에서 어떤 중요한 일을 맡고 있는지, 어떤 문제를 해결하려고 하는지에 대해서 설명 부탁드립니다.
일단 프로젝트를 시작한 이유인 작업 증명에 대해서 얘기해야 될 것 같아요. 작업 증명의 가장 큰 문제점은 에너지를 많이 사용해서 환경을 파괴시킨다는 것이죠. 물론 작업 증명이 대체하는 산업보다는 효율적이라는 반론을 제기하는 사람들도 있지만, 블록체인의 궁극적인 목표 대해서 생각해보고 블록체인을 어떻게 활용하고 싶은지를 고려한다면 네트워크를 확보하는 채굴자들뿐만 아니라 환경 측면에서도 좋지않고, 비용이 훨씬 높아지죠. 저희가 개발하려고 하는 지분 증명은 작업 증명만큼, 혹은 작업 증명보다 더 안전하고, 훨씬 더 빠르고, 텐더민트 작업 증명 내 signing identity를 안정성을 희생하지 않고도 병렬적으로 다른 블록체인에서도 활용할 수 있기 때문에 확장성 면에서도 훌륭합니다. 그러니 여러 가지 문제들을 해결하는 셈이 되죠. 코스모스는 블록체인 네트워크인데, 그 중 가장 먼저 론칭하는 블록체인 중 하나가 코스모스 허브입니다. 코스모스 허브가 유일한 허브는 아닙니다. 다른 블록체인들에 연결할 수 있는 블록체인의 역할을 맡고 있죠. 수천 개의 블록체인이 서로 연결될 수 있게 해서 상호운영성과 확장성을 확보한 토큰 경제를 활성화시킬 수 있습니다. 이렇게 코스모스 허브는 많은 일들을 해결하고 있습니다. 텐더민트 지분증명을 여러명의 서명자들과 최첨단 합의 알고리즘을 통해서 증명하고 있고, 추후에 생길 문제들을 거버넌스가 해결할 수 있게 권한을 위임하고 있습니다. 말그대로 자동으로 고쳐지는 장부가 되는거죠. 그리고 방금 얘기했듯이, 토큰 상호운용성을 위해 블록체인끼리 연결할 수 있게 해줍니다. 코스모스의 비전은 현재 블록체인 업계의 가장 골치아픈 문제들을 해결해서 궁극적으로 확장성과 상호운용성이 보장되는 블록체인 경제를 만드는 겁니다.
코스모스 허브는 다른 블록체인들에 연결할 수 있는 블록체인의 역할을 맡고 있죠. 수천 개의 블록체인이 서로 연결될 수 있게 해서 상호운용성과 확장성을 확보한 토큰 경제를 활성화시킬 수 있습니다.
저는 개인적으로 상호운용성에 대한 관심이 많은데요. 혹시 코스모스 체인 위에 실행될 수 있는 어플리케이션의 예를 들어줄 수 있나요?
코스모스 상호운용성의 요점은 모든 블록체인이 각자의 문제를 해결할 수 있다는 겁니다. 코스모스 허브는 누가 서명할 권한이 있는지, 유효성 검사기가 어떻게 변하고 있는지만 알고 있지, 그 외의 사이드 체인들이 쓰는 로직이라든지 정확한 상태에 대해서는 신경쓰지 않아요. 코스모스 허브는 그저 사이드 체인에 있는 토큰의 총 갯수만 파악하고 있습니다. 그래서 연결된 모든 체인이 각자의 로직을 사용할 수 있게 하죠. 그게 게임이나 지불 수단, 콘텐츠, 커뮤니케이션에 관한 것일수도 있고요. 블록체인 이슈들은 동떨어진 구역에서 해결할 수 있고, 코스모스 허브를 통해 다른 구역들에 연결될 수 있습니다.
좀 더 기술적인 질문으로 넘어가 봅시다. 개발자를 위한 코스모스의 SDK에 대해서 좀 더 이야기해 줄 수 있을까요? SDK로 개발자들이 무엇을 할 수 있나요?
제가 비트코인을 좀 더 진지하게 알아보고 있을 때가 2013년이었고, 지분증명 문제를 이렇게 해결하자고 마음먹은건 2014년이었어요. 시중에 있던 모든 소프트웨어 플랫폼들을 연구하고, 어떻게 변화시키면 지분증명 블록체인으로 고칠 수 있을까 등을 고민했죠. 당시에는 마땅한 플랫폼이 없어서 블록체인 생성을 위한 소프트웨어 프레임워크를 만들기로 했어요. 그때 당시에 새로운 블록체인을 만들고 싶으면 비트코인이나 획일적인 소프트웨어 스택에서 포크를 생성하는 방법밖에 없었거든요. 이더리움의 등장 이후로는 솔리디티를 이용해서 블록체인 댑을 만들 수 있었지만, 솔리디티로 고차원적인 어플리케이션을 만들기엔 어려운 점이 있었습니다. 새롭고 조금 다른 프로그래밍 언어였으니까요. 만약에 솔리디티가 잘 맞는다면 문제 없이 써도 된다고 생각해요. 텐더민트 같은 경우에는 아무런 제약 없이 블록체인의 어느 부분이든 수정할 수 있어요. 물론 합의 알고리즘은 건드릴 수 없지만, 모듈성이 굉장히 좋습니다. 코스모스 SDK에 넣은 모듈을 보시면, 스테이킹, 거버넌스, 피드 분산 외에도 저희가 뱅킹 모듈이라고 부르는 기능으로 다양한 자산들을 관리할 수 있습니다. 허브를 론칭한 뒤에는 IBC 모듈을 최종화시키는데 집중하려고 하기 때문에 그 모듈을 임포트하고 싶으면 다른 모듈들과도 연결이 가능하게 될 겁니다. 코스모스 SDK는 웹 2.0에서 루비 온 레일즈가 했던 역할을 맡을 거에요.단순한 어플리케이션의 경우에는 몇분만에 블록체인 생성이 가능하기도 하고, 개발하고 싶은 기능 어떤 것이든 잘 맞춰주는 프레임워크가 될 겁니다. 물론 코스모스 허브도 SDK위에 짓고 있고요.
시중에 있던 모든 소프트웨어 플랫폼들을 연구하고, 어떻게 변화시키면 지분증명 블록체인으로 고칠 수 있을까 등을 고민했죠. 당시에는 마땅한 플랫폼이 없어서 블록체인 생성을 위한 소프트웨어 프레임워크를 만들기로 했어요.
상호운용성에 대해서 질문을 하고 싶어요. 어떤 블록체인이 (코스모스 네트워크와) 연결되려면 파이널리티를 보장할 수 있어야 하는데, 파이널리티가 없는 이더리움은 코스모스와 어떻게 연결될 수 있나요? 혹은 존들이 (텐더민트가 아닌) 다른 합의 알고리즘을 사용하는 것도 가능한가요?
좋은 질문이네요. 코스모스 프로젝트가 쓰는 블록체인간 커뮤니케이션 프로토콜인 IBC는 TCP IP와 비슷한데, 초기 버전은 텐더민트 블록체인 사이에서만 사용될 겁니다. 텐더민트는 아주 큰 밸리데이터 세트가 아주 빠르게 파이널리티에 도달할 수 있게 해주는데, 이렇게 한다면 많은 사람들이 이 방식으로 서로 교류하는 블록체인을 생성할 것 같기 때문이에요. 굳이 텐더민트를 사용하지 않아도 상관 없습니다. 코스모스 허브과 IBC를 론칭한 후에는 파이널리티 도달속도가 빠른 합의 알고리즘을 위한 다른 어댑터들도 생겨날 것이기 때문입니다. PBFT가 그중 하나가 될 수도 있겠네요. 다른 케이스들도 개발 중이구요. 텐더민트처럼 파이널리티 증명이 빠르기만 하다면, 연동이 되게 할 수 있을 거에요. 이더리움 같은 작업 증명 체인 같은 경우에는, 어댑터 레이어를 이용해서 연동을 시킬 수도 있습니다. 저희가 이더리움 이용을 위해 디자인한 “페기(Peggy)” 같은 경우에는, 이더리움 작업 증명 노드를 작동하는 증인 서명자들이 자신들이 본 블록을 재가하는 방식을 사용합니다. 이 서명들을 블록체인에 달아 놓음으로서 이더리움 블록체인에서 어떤 일이 벌어졌는지에 대해 동의할 수 있는거죠. 그렇게 해서 이더리움에서부터 코스모스 허브 같은 곳으로 정보를 전달합니다. 그런 다음엔 간단해요. 이더리움에서 스마트 컨트랙트를 작성해서 공개된 서류를 열람하거나 코인을 확보하면 됩니다. IBC의 일종인 어뎁터 레이어고, IBC보다는 어렵고 좀 더 손이 많이 가는 작업이지만 무엇보다 중요하기 때문에 더 집중할 예정입니다. 비트코인 같은 경우에는 작업증명 뿐만 아니라 UTXO 기반이기 때문에 약간 다르고 좀 더 복잡해요. 창의력을 요하고, 해결책도 여러가지가 있습니다. Kops SDK를 이용해서 코스모스 스택에 연결하려고 하는 쪽도 있고요. 일단 IBC와 이더리움 페기를 론칭하는게 우선입니다.
텐더민트는 아주 큰 밸리데이터 세트가 아주 빠르게 파이널리티에 도달할 수 있게 해주는데, 이렇게 한다면 많은 사람들이 이 방식으로 서로 교류하는 블록체인을 생성할 것 같기 때문이에요.
코스모스가 프라이빗 블록체인도 연동시킬 수 있나요?
그럼요. 코스모스 허브는 퍼블릭 체인과 같은 밸리데이터 세트를 사용하는 체인들도 연동이 가능하지만, 컨소시움이나 프라이빗 체인에도 연결할 수 있습니다. 권한 위임이 필요 없는 시스템이에요. 프라이빗이든 퍼블릭이든 컨소시움이든 블록체인이라면 연결될 수 있습니다.
코스모스는 폴카닷과 비슷한 점이 많은데요. 확장성이나 상호운용성, 시큐리티 같은 면에서 어떤 다른점이 있는지 얘기할 수 있을까요?
확장성부터 이야기하자면, 코스모스는 좀 더 일반적이고 어디든지 사용 가능한, 여러 독립적인 체인들에 사용될 수 있는 프로토콜을 개발하려고 합니다. 코스모스 허브와 같은 밸리테이터 세트로 작동하는 블록체인들 뿐만 아닌 다른 블록체인들에도 사용 가능하게요. 한국에서 생성되고 있는 블록체인이나 전세계 어디에서나 폴카닷 프로젝트의 블록체인까지도 사용할 수 있을 겁니다. 말하자면 블록체인 간의 인터넷을 구현하려고 하는거죠. 하나의 강제적인 시큐리티 시스템이 운영하는 것보다는 존재 이유나 거버넌스 시스템이 제각각인 체인들이 서로 연결할 수 있게 도와주는 일을 하려고 합니다. 상호 운용성 이야기를 하자면, 폴카닷 프로젝트는 일종의 범세계적인 컴퓨터를 만들려고 합니다. 폴카닷의 릴레이 체인은 파라체인에서 파라체인으로 메시지를 전달해야 하죠. 하지만 코스모스 허브가 다루려고 하는 문제와는 좀 다른 것 같아요. 코스모스 허브로는 토큰에 집중하려고 합니다. IBC는 TCP IP처럼 일반적인 커뮤니케이션 프로토콜이기 때문에 토큰 이동 외에도 활용할 수 있지만 말이죠. 저희는 토큰 경제학을 주 활용 케이스로 삼고 싶습니다. 코스모스 허브는 릴레이 체인과 달리 연결된 각각의 체인에 있는 토큰의 개수를 파악해야 합니다. 또한 시스템이 다운됐을 시 코스모스 허브 지분 보유자들이 시스템을 복구할 수단을 결정 할 수 있게 하는 거버넌스 시스템이 있습니다. 코스모스와 폴카닷의 차이점 중 하나를 극명하게 드러내는 예시를 들어 볼게요. 보안 엔클레이브(enclave)나 인텔의 SGX의 프로젝트 같이 서로 다른 하드웨어 시스템 상의 블록체인도 코스모스 허브와 상호 운용될 수 있습니다. 반면 폴카닷은 모든 책임 합의를 릴레이 체인에 위임하는데 집중하고 있죠. 기술적인 면에서 이 차이점은 매우 큽니다. 처음엔 이해하기 어려울 수 있지만, 폴카닷과 코스모스는 디자인 철학에 있어서 우선순위가 다릅니다.
보안 엔클레이브(enclave)나 인텔의 SGX의 프로젝트 같이 서로 다른 하드웨어 시스템 상의 블록체인도 코스모스 허브와 상호 운영될 수 있습니다. 반면 폴카닷은 모든 책임 합의를 릴레이 체인에 위임하는데 집중하고 있죠. 기술적인 면에서 이 차이점은 매우 큽니다.
코스모스 허브는 어떻게 보안이나 데이터 완전성을 보장하나요? 만약 어떤 존(zone)에서 이중 지불이 일어난다면 어떻게 되죠?
사실 존들이 다운될 수 있는 경우는 많다고 봐요. 텐더민트 블록체인에서도 사용자들의 적어도 ⅓ 정도가 이중 지불을 하려고 했다는 수치가 나옵니다. 하지만 체인이 멈췄다거나 소프트웨어에 버그가 생기는 등 다른 이유가 있을수도 있죠. 이런 경우에는 좀 더 인간적인 해결책이 있어야 한다고 생각해요. 코스모스 허브의 지분보유자들은 다른 토큰홀더들과는 달리 상시 일하고 있습니다. 그들은 시스템을 유지하고 커뮤니티에게 훌륭한 서비스를 제공하고 있고, 사람들이 코스모스 허브를 이용할 이유가 되죠. 이런 거버넌스 시스템을 통해 특정 상황에서는 금방 복구가 됩니다. 그리고 시스템 장애를 자동적으로 복구하는 방법에 대해서는 끊임없이 연구를 하고 있어요. 복구 수단을 자동화시킬 방법은 다양해요. 블록체인상 의견 충돌이 생겨서 네트워크가 멈춘다면, 그 체인의 지분보유자들이 투표를 해서 자동적으로 더 우세한 쪽으로 가는 방법도 있죠. 하지만 모든 체인이 그런 방식을 채택하고 싶어하진 않을 거에요. 어떤 규칙을 세운다거나, 판단을 내리는 사람들을 따로 정해두고 싶을 수도 있죠. 코스모스 허브는 앞으로도 그런 다양한 해결책들을 연구하고 실행할 겁니다.
존들이 다운되는 경우에는 좀 더 인간적인 해결책이 있어야 한다고 생각해요. 코스모스 허브의 지분보유자들은 다른 토큰홀더들과는 달리 상시 일하고 있습니다. 그들은 시스템을 유지하고 커뮤니티에게 훌륭한 서비스를 제공하고 있고, 사람들이 코스모스 허브를 이용할 이유가 되죠.
코스모스의 토큰은 아톰 (원자)이죠. 그리고 최근 코스모스가 시스템에 포톤 (광자) 토큰을 도입할 예정이라고 밝혔어요. 포톤과 아톰의 차이점이 무엇인지, 그리고 포톤이 어떤 토큰인지 더 자세히 설명해 주실 수 있나요?
아톰은 스테이킹 토큰입니다. 대부분의 사람들이 보유하고 싶어하는 토큰은 아니죠. 비트코인의 채굴 도구나 ASIC같은 개념입니다. 비트코인 블록체인에 참여하고 싶어하는 모든 사람이 ASIC을 사야 하지는 않습니다. 아톰을 타인에게 지불 수단으로 주거나 수수료로 쓸 수는 있지만, 그게 주 목적은 아니고 아톰을 보유하고만 있는 건 좋지 않아요. 자동으로 인플레이션이 되게 디자인 된 토큰이기 때문이에요. 따라서 거래하지 않고 그냥 가지고만 있다면, 인플레이션으로 손해를 보게 될 겁니다. 포톤 토큰은 일종의 제안이에요. 코스모스 허브를 론칭하면 저희에게는 허브를 어떻게 운영할지에 대한 권한이 없어집니다. 지분 보유자들이 아닌 사람들이 쓸 만한 지불 토큰은 거버넌스를 통해서 증명할 겁니다. 따라서 에어드랍 같이 하드 포크나 하드 스푼을 통해서 이더를 지분증명 체인으로 보내 이더 보유자들에게 포톤을 비례적으로 제공할 겁니다. 시스템에 지불 토큰을 도입할 수 있는 하나의 방식이죠. 아니면 아톰 토큰의 복제품에 다른 이름을 붙인 토큰을 도입하자는 제안이 있을 수도 있고요. 거버넌스가 어떤 결정을 내릴지 기대가 됩니다.
제이 씨의 팔로워들이 코스모스 프로젝트의 다음 행보에 대해서 기대할 만한 소식이 있을까요?
Game of Stakes라는 테스트넷 론칭을 준비중입니다. 소프트웨어를 실제로 론칭하기 전에 외부 공격 시뮬레이션을 돌리는 인센티브가 가미된 테스트넷입니다. 아마 재밌는 게임이 될 것 같아요. 이미 300명 정도가 신청한 상태입니다. 모두가 참여할 수 있을지는 모르겠지만 아마 규모가 꽤 큰 테스트넷이 될 것 같아요. 3–4주동안 테스트를 한 뒤 코스모스 허브가 론칭됩니다. 코스모스 허브를 론칭하는게 가장 기대가 돼요.
Game of Stakes라는 테스트넷 론칭을 준비중입니다. 이미 300명 정도가 신청한 상태입니다.
마지막 질문이에요. 한국이나 해시드의 블록체인 커뮤니티에게 알려줄 만한 소식이 있나요?
블록체인이나 프로토콜 디자인, 아키텍처에 들어가는 엔지니어링이나 디자인의 수준이 굉장히 흥미롭게 느껴져요. 사람 간의 협력을 위한 새로운 시스템을 디자인하는게 저희의 목표입니다. 금융 시스템을 구축하려는게 아니에요. 물론 그것도 주요 목적 중 하나이지만..블록체인의 궁극적인 목표는 오늘날 우리가 접하는 광범위한 사회적, 인간적 문제에 해결점을 제시하는 것이라고 생각합니다. 저희가 소프트웨어를 계속 수정하고, 제가 매일 아침 출근해서 일을 하는 이유이기도 하고요. 여태까지 저희가 무엇을 했는지에 대해서 많은 관심 부탁드립니다. 감사합니다.
[Hashed Community]
Hashed Website: hashed.com
Facebook: facebook.com/hashedfund
Medium: medium.com/hashed-official
twitter: twitter.com/hashed_official
Telegram: t.me/hashedchannel