Shared Security 소개라 쓰고 Cosmos 소개라 읽는 글

WARNING — 해당 문서의 곳곳에 작성자의 의식의 흐름이 녹아있으므로 충분한 주의가 필요함

Hyunbin Jeong
CURG
8 min readMar 13, 2020

--

시작하기에 앞서 이 글의 작성자는 공기 좋고 전망 좋은 코스모스 5300층 펜트하우스 거주자임을 밝힌다. 후원 주소는 cosmos15v50y….

이제는 널리 알려진 기초적인 정보이지만, 혹시라도 ‘코스모스 그거 개잡코 아님? 응 안 삼’ 또는 ‘뭐? 코스모?’ 같은 생각과 함께 관심을 끄고 계셨던 분들을 위해 간단한 배경지식부터 체크하고 가겠다.

다들 알고 있는 것처럼 비트코인과 이더리움은 기본적으로 상호 운용이 불가능한, 서로 독립된 별개의 블록체인이다. 비트코인 보유자가 비트코인 메인넷을 벗어나지 않고 이더리움을 보유할 방법은 없으며, 그 반대의 경우도 마찬가지다. 실제로 이더리움 기반의 DEX에서 비트코인을 거래하는 것은 불가능하다.

띠용?

위와 같은 말을 2~3년쯤 전에 했으면 꽤 그럴싸하게 들렸겠지만 애석하게도 현재 이더리움에는 1BTC의 가치를 보증하는 wBTC라는 ERC20 토큰이 존재하긴 한다.

어쨌든, 블록체인 분야의 최전선에 서 있는 개척자들은 생각했다.

‘서로 다른블록체인 간에 통신이 가능하게 할 수 없을까?’ 라고.

블록체인 상호운용성 기술의 심연을 들여다보고 원피스를 찾는 것에 성공한 어느 천재 연구개발팀에 의해 이종 블록체인 간 통신이 가능하게 됐다고 가정해 보자. 서로 분리되어 있었던 각 블록체인 생태계의 참여자들은 눈물을 흘리며 상봉의 기쁨을 누린다. 바야흐로 말로만 듣던 대 블록체인 인터넷 시대가 도래한 것이다.

그런데 만약 서로 연결고리를 갖고자 하는 모든 블록체인 사이에 일일이 서로 다른 다리를 놓아야 한다면 그것은 상당한 낭비일 것이다. 차라리 각 체인 사이에서 이들의 통신을 중개하는 또 다른 블록체인이 있다면 어떨까?

드디어, 코스모스를 소개할 때가 왔다.

코스모스라는 용어가 암호화폐의 이름으로 불리는 경향이 강한데, 일단 코스모스 백서는 코스모스를 ‘텐더민트에 기반한(Powered by Tendermint) 독립된 병렬 블록체인들의 네트워크’라고 소개한다. 이 네트워크를 구성하는 각 블록체인은 텐더민트를 베이스로 한다는 점에서 비슷하지만, 맡는 역할에 따라 존(Zone)으로 불릴 수도 있고, 허브(Hub)로 불릴 수도 있다. 또한 일반적으로 다수의 존이 소수의 허브를 매개로 이어져 있는 형태를 갖는다. (정확히는 그렇게 될 예정이다. 아직 개발 도중이기 때문에.)

백서 갈무리

그럼 거래소에 상장된, 즉 어떤 암호화폐의 이름으로 불리고 있는 ‘코스모스’는 무엇인고 하니, 그 정체는 바로 코스모스가 런칭할 때 출범한 기념비적인 첫 번째 허브 ‘코스모스 허브’의 네이티브 토큰인 ‘아톰(ATOM)’이다. 현재 코스모스 메인 네트워크에는 블록을 검증하는 125명의 검증인으로 구성된 코스모스 허브 하나만 덩그러니 놓여 있는데, 이 허브에 연결된 존이 없기 때문에 허브 내에서 처리되는 트랜잭션은 아톰의 입출금이나 홀더가 보유한 아톰을 검증인에게 스테이킹하는 위임(Bonding)에 관련된 것이 대부분이다.

* 초기엔 100명의 검증인으로 구성되어 있었다.

cosmos.network

이제 코스모스의 심장이라고 할 수 있는 IBC와 ICS로 넘어가자.

IBC는 Inter Blockchain Communication의 약자로 존 간 통신을 위해 제안된 프로토콜이고, ICS는 Inter Chain Standard의 약자로 IBC 구현을 위해 정의된 스펙이다.

* 어느 관계자(셨던 분)의 말을 빌리면, ‘오고 가는 패킷의 형태에 대한 정의 같은 것’이다.

백서 갈무리

간단한 설명을 위해 존A — 허브 — 존B 형태의 네트워크에서 존A → 존B로 어떤 패킷을 보내는 상황을 가정하면, 존A에서 존B로의 패킷 작성 증명(IBCPacketTx)과 존A의 블록 해시(IBCBlockCommitTx)가 허브에 게시되고, 마찬가지로 패킷 작성 증명과 허브의 블록 해시가 존B에 게시되는 것으로 상황이 일단락된다.

* 사이드체인과 유사한 메커니즘이라고 백서는 설명한다.

조금 전에 코스모스를 구성하는 각 블록체인은 텐더민트를 기반으로 한다고 했다. 그러면 비트코인 같은 아이들은 어떻게 코스모스와 상봉할 수 있을까?

답은 비트코인 블록체인과 코스모스 허브 사이에 비트코인 페그 존(Bitcoin Peg Zone)을 두는 것으로, 비트코인 메인넷 상의 BTC를 담보로 하는 코스모스 메인넷 상의 새로운 BTC(이를테면 cBTC)를 발행하는 것이다. Pow 기반인 비트코인은 확률적 완결성(Finality)을 갖기 때문에 cBTC의 담보가 되는 BTC는 반드시 일정 횟수 이상의 컨펌을 받을 필요가 있으며, cBTC의 가치가 BTC와 비슷한 수준으로 유지되어야 한다는 과제도 남는다.

조금 더 전에 언급한 wBTC와 다른 게 뭐냐고? 하하, 그건 여러분을 위해 숙제로 남기겠다.

IBC와 ICS는 아직 개발 단계이기 때문에 지금은 감이 오지 않아도 괜찮다.

IBC라는 심장이 빠진 메인넷에서 코스모스 허브 홀로 외로움을 삼키고 아톰이 깡톰이라 불리는 날이 당분간은 계속될 것으로 보인다.

후…

* 사실 필자도 아직 IBC ICS가 헷갈린다

그림은 주제와 큰 관련은 없다

자, 기본적인 이야기를 모두 했으니 마지막으로 Shared Security 이야기로 넘어가겠다. Shared Security라는 단어를 구글에 검색하면 블록체인과 관련된 결과가 좀처럼 보이지 않음을 알 수 있는데, 아마도 블록체인 쪽에서 꽤나 마이너한 용어가 아닐까 생각된다.

Shared Security는 간단히 말하면 문자 그대로 어떤 체인의 보안을 공유하는 것이다. 텐더민트 기반의 신규 블록체인 P가 코스모스에 합류하는 상황을 가정해 보자. 신생 체인인 P는 충분히 강력한 검증인 셋을 보유하지 못했을 가능성이 높다. 여기서 기존의 블록체인, 이를테면 코스모스 허브의 검증인들이 P의 검증에 참여하게 되면 P는 코스모스 허브의 Security Power를 제공받게 된다. 물론 그에 대한 대가로 P의 토큰 리워드 일부가 코스모스 허브의 검증인에게 돌아간다.

개념은 그럴듯하지만 고려해야 할 점도 있다. Shared Security를 제공하는 검증인이 부정을 저지르는 등의 Consensus Fault가 발생했을 경우 해당 검증인을 처벌하는 절차가 준비되어 있어야 한다. 또한 검증인이 Consensus Fault를 발생시킬 경우 이를 알려줄 Relayer가 필요할 수도 있다.

겉으로 보기에는 검증인들만의 문제인 것 같지만, 사실 Shared Security는 일반 홀더들에게도 중요한 이슈가 된다. 코스모스 허브의 경우, 아톰 토큰 인플레이션의 혜택을 받고자 하는 아톰 홀더는 특정 검증인에게 자신이 보유한 아톰을 위임한다. 그런데 각 검증인마다 Shared Security를 제공하는 존이 다를 수 있기 때문에(심지어 몇몇 검증인은 어느 존에도 Shared Security를 제공하지 않을 수도 있다), 각 홀더는 어떤 검증인에게 아톰을 위임할지 신중하게 선택할 필요가 있다.

코스모스에서 강력한 검증인 셋을 활용해 보안을 공유하는 ‘Shared Security’ 개념을 소개했다. 현재 ICS 깃허브에서 관련 논의가 진행중인데, 한 검증인이 ‘Cross Chain Validation’이라는 용어를 제시한 상태이므로 향후 용어가 바뀔 가능성이 있음을 참고해야 하겠다.

코스모스 핵심 개발자 중 한 명인 자키 마니안의 멘트를 살펴보면 결국 Shared Security의 목적은 아톰을 담보로 사용하게 하여 아톰의 활용도를 높이는 것으로 보인다. (예를 들어 Shared Security를 제공하는 검증인이 Consensus Fault를 일으키면 해당 검증인과 이 검증인에게 아톰을 위임한 홀더들의 아톰이 일부 삭감된다.)

더 중요한 것은, Shared Security는 ‘검증을 통신’하는 작업이 수반되는, 즉 IBC가 제대로 깔려 있음을 전제로 하기 때문에 실제로 도입되기 위해서 IBC의 개발이 충분히 진척될 필요가 있다는 점이다.

다시 말해서 당분간은 잊고 있어도 된다는 소리다.

--

--