Validator’s Note 4 — Game of Chains를 되돌아보며

Youngbin Park
DSRV
Published in
9 min readDec 13, 2022

Disclaimer: 이 글은 정보 전달을 위한 목적으로 작성되었으며, 특정 프로젝트에 대한 투자 권고, 법률적 자문 등 목적으로 하지 않습니다. 모든 투자의 책임은 개인에게 있으며, 이로 발생된 결과에 대해 어떤 부분에서도 DSRV는 책임을 지지 않습니다. 본문이 포괄하는 내용들은 특정 자산에 대한 투자를 추천하는 것이 아니며, 언제나 본문의 내용만을 통한 의사결정은 지양하시길 바랍니다.

코스모스(Cosmos)의 Incentivized Testnet 프로그램인 Game of Chains(GoC)이 성공적으로 마무리 되었습니다! 과거부터 코스모스에서는 Proof-of-Stake를 위한 Game of Stakes, IBC를 위한 Game of Zones등의 Incentivized Testnet들이 진행되어 왔는데요. 올해 진행된 GoC는 내년 런칭 예정인 코스모스의 Interchain Security(ICS) 기능에 대한 이해를 높이고, 참여자들의 다양한 시각으로 ICS의 새로운 위험 요소를 발견하기 위해 치뤄졌습니다.

ICS는 Cosmos Hub와 같이 보안성이 높은 프로바이더(Provider) 체인이 비교적 보안성이 낮은 컨슈머(Consumer) 체인에 벨리데이터를 공유하여 대신 블록을 검증해 줄 수 있도록 하는 공유 보안의 개념입니다. 따라서 이번 GoC에서는 ICS를 테스트해 보기 위해 3단계로 구성된 테스크들을 수행했습니다. 1단계는 프로바이더 체인 및 아폴로(Apollo) 및 스푸트니크(Sputnik)라는 2개의 컨슈머 체인을 띄워보며 그 과정을 익히는 단계였습니다. 2단계에서는 뉴트론(Neutron)과 같은 실제로 운영될 컨슈머 체인 및 테스트를 위한 히어로(Hero), 고퍼(Gopher) 체인을 포함한 3개의 컨슈머 체인을 운영하였으며, 3단계에서는 벨리데이터들이 직접 각자의 커스텀 컨슈머 체인을 만들었습니다.

출처: https://interchainsecurity.dev/game-of-chains-2022#scoreboard

GoC에는 DSRV를 포함하여 약 150팀이 참여하였고, 참여한 벨리데이터들은 각 단계의 테스크를 수행하고 테스크에 부여된 포인트를 얻어 경쟁하였습니다. 테스크 수행 증거의 제출 기한은 UTC기준 12/12일에 공식적으로 종료되었습니다. 현재 운영팀에서 제출된 증거를 검토하는 중으로 최종 순위 발표만를 남겨두고 있는 상태입니다. 최종 순위는 변경될 수 있지만, DSRV는 종료일(12/12) 기준 3위라는 등수를 기록하였습니다!

오늘은 DSRV 벨리데이터 팀에서 GoC을 담당하여 열심히 참여해 주신 세 팀원들의 인터뷰를 통해, 저희가 Game of Chains에 참여하는 과정에서 얻은 경험과 의견을 공유해 보려고 합니다.

1. 각자 Game of Chains 에서 어떤 부분을 맏았었는지 소개해 주세요.

희진 : 안녕하세요. DSRV 벨리데이터팀의 소프트웨어 엔지니어 이희진이라고 합니다. GoC에서는 함께 담당하는 팀원들의 리드로서 주어진 테스크들을 분석하고, 어떠한 테스크들을 수행할지 전략을 수립하는 역할을 맏았습니다.

승곤 : 안녕하세요. DSRV 벨리데이터팀의 소프트웨어 엔지니어 황승곤이라고 합니다. 저는 GoC 에서 모든 프로바이더 및 컨슈머 체인의 노드 셋업과 운영을 담당하였습니다.

진홍 : 안녕하세요. DSRV 벨리데이터팀의 소프트웨어 엔지니어 최진홍입니다. 저는 프로바이더와 컨슈머 체인을 연결하는 릴레이어의 운영을 담당하였습니다.

2. Game of Chains 에서 가장 기억에 남는 테스크는 무엇인가요?

희진: 3단계에서 직접 커스텀 컨슈머 체인을 만들어보는 테스크가 있었는데요. 각자 커스텀 체인 바이너리를 준비하고, 프로바이더 체인에 거버넌스 제안을 올려 체인을 시작 및 중단해야 하는 테스크였습니다. 저희 만의 커스텀 체인을 시작하기 위해 팀원들과 여러가지 기획을 고민했던 것이 기억에 남습니다. 그 과정에서 여러가지 재미있는 아이디어가 나왔고, 그중에서도 코스모스 체인을 위한 랜덤값을 뽑아내는 컨슈머 체인을 만들게 되었습니다.

DSRV가 컨슈머 체인을 시작한 과정은 이전 벨리데이터 노트에서 더욱 자세하게 읽어보실 수 있습니다.

승곤: 저는 특정 테스크 보다는 노드 운영을 담당하여 다수의 컨슈머 체인을 최대한 리소스 효율적으로 실행시키기 위하여 노력했습니다. 하나의 머신에 6개의 체인을 동시에 돌렸던 경험이 기억에 남습니다.

진홍: 저는 DSRV의 IBC 릴레이어 담당자로서 ICS에서 릴레이어는 어떤 차이가 있는지 알아볼 수 있어 좋았습니다. 저희 팀은 기존에도 멀티체인 벨리데이터로서 여러 다른 체인들의 릴레이어 또한 운영하고 있는데요. 이 경험을 살려 릴레이어를 운영해본 경험이 없는 다른 벨리데이터들을 위해 IBC 릴레이어를 운영할 수 있도록 셋업 가이드를 공유하거나, 테스크 증거를 쉽게 제출할 수 있게 해주는 툴을 만드는 등의 컨트리뷰션 했던 것이 기억에 남습니다.

3. Game of Chains 진행 중 아쉬웠던 점은 없었나요?

희진 : 컨슈머 체인은 거버넌스 투표를 통하여 시작될 수 있기 때문에 다른 벨리데이터들의 투표를 얻는 것이 중요했습니다. 거버넌스 프로포절을 올려 자체 컨슈머 체인을 띄운 벨리데이터는 포인트를 얻게 되는데요. 반면 프로포설을 올린 당사자 외의 벨리데이터들은 별도의 포인트등의 인센티브가 없을 뿐더러 새로운 노드를 셋업해야 하는 부담도 가지게 됩니다. 때문에 벨리데이터 들이 프로포절을 통과시킬 유인이 부족하여 컨슈머 체인을 시작하기가 어려웠던 부분이 아쉬움이 남습니다. 또한 거버넌스 투표기한이 이틀로 매우 짧아 커스텀 컨슈머 체인을 시작기 위한 투표를 충분히 이끌어내기 어려웠고, 저희가 거버넌스 제안을 올려 이를 3일로 늘리게 되었습니다.

승곤: GoC 마지막 단계에서 벨리데이터의 최대 슬래싱 비율을 제한하는 기능을 테스트하는 도중에 프로바이더 체인이 중지되는 사고가 있었습니다. 이 테스트를 위해 만들어진 slasher라는 컨슈머 체인은 의도적으로 모든 벨리데이터를 한번에 슬래싱 하는 패킷을 전송합니다. 하지만 slasher체인이 슬래시 패킷을 보내기 시작하자 마자 프로바이더 체인이 중지되었고, 해당 기능을 테스트 해보지 못하고 GoC가 종료된 것이 아쉬움이 남았습니다.

4. Game of Chains 참여 후 ICS 도입에 대해 우려되는 부분이 있을까요?

희진: GoC에는 벨리데이터들이 의도적으로 컨슈머 체인에서 슬래싱 및 일정 시간 동안 검증을 하지못하게 제한(jail)당해야 하는 테스크도 있었습니다. 테스크를 수행할 때 하나의 컨슈머 체인에서 처벌 조건이 충족되면 프로바이더 체인에 이가 적용되고, 이 프로바이더 체인 뿐만 아니라 프로바이더 체인의 보팅 파워로 운영되는 다른 컨슈머 체인들에서도 블록 검증을 할 수 없게 되었습니다. 이처럼 하나의 컨슈머 체인에서 발생한 사건이 모든 컨슈머 체인의 보안에 연쇄적인 영향을 주게 되는 점이 우려되었습니다.

진홍 : 컨슈머 체인은 프로바이더 체인에 의존적이기 때문에, 체인을 정상적으로 가동시키기 위해서는 프로바이더 체인과 통신하기 위한 IBC 릴레이어가 필수적으로 필요합니다. 하지만 릴레이어 입장에서는 프로바이더 및 컨슈머 체인사이에 주기적으로 전달해야할 패킷이 늘어 수수료를 더 지불해야 하는데, 이를 위한 마땅한 인센티브가 없는 상황입니다. 적은 수의 릴레이어는 ICS로 코스모스 허브로 부터 공유 되는 보안의 외부에 있기 때문에 비교적 취약한 공격 포인트가 될 수 있습니다. 컨슈머 체인이 안정적으로 작동하기 위해 필요한 릴레이어 생태계를 키우기 위한 인센티브 및 그랜트 구조에 대한 논의의 필요성이 증가한 것 같습니다.

5. ICS는 벨리데이터들에게 어떤 영향이 있나요?

승곤 : 코스모스의 다른 앱체인들은 벨리데이터들이 노드운영 여부를 스스로 결정할 수 있습니다. 하지만 ICS의 경우에는 프로바이더 체인의 거버넌스에서 컨슈머 체인을 운영하기로 선택한다면, 컨슈머 체인을 돌리지 않으면 프로바이더 체인의 지분이 삭감되기 때문에 무조건 운영해야 합니다. 이렇게 컨슈머 체인이 생성 될 수록 벨리데이터들의 부담이 급격히 커지는 것이 우려되었습니다. 거버넌스를 통해 컨슈머 체인이 통과된 후에도 벨리데이터들이 각자 체인을 실행할지를 결정할 수 있는 기능 또한 빠른 시일 내에 추가 되어야 할 것 같다고 생각됩니다.

희진: 동의합니다. 스팸성 체인을 포함하여 다수의 컨슈머 체인들이 시작되면 특히 소규모 벨리데이터팀들에게는 더욱 큰 부담이 될 수 있습니다. 현재는 시작할 수 있는 컨슈머 체인의 갯수의 제한이나, 어떠한 컨슈머 체인을 통과시킬 것인지에 대한 기준이 존재하지 않습니다. 저는 벨리데이터들의 리소스의 한계를 고려하여 이와 같은 정책에 대한 논의가 꼭 필요하다고 생각합니다. GoC가 이러한 논의의 좋은 시작점이 되기를 기대합니다.

6. 마지막으로, Game of Chains에 참여하신 소감이 어떠신가요?

희진: 저희는 현재 코스모스 허브의 액티브 벨리데이터는 아닙니다. 하지만 다수의 앱체인 및 릴레이어를 운영하는 코스모스 생태계의 참여자로서 GoC를 통해 코스모스의 새로운 바람인 ICS라는 기술이 무엇인지 알아보고 테스트 해보기 위해 최선을 다해 참여하였고 좋은 경험을 쌓은 것 같습니다.

진홍 : ICS 도입에 여러가지 우려되는 점들이 분명이 존재하여 아직은 발전될 부분이 많은 기술인 것 같습니다. 그럼에도 불구하고, ICS가 코스모스 허브에 새로운 기능을 더한 다는 측면에서 긍정적으로 받아들이고 있습니다. 앞으로 컨슈머 체인들이 어떠한 기능들로 확장될지가 기대됩니다.

인터뷰를 통해 Game of Chains 경험을 공유해주신 DSRV 벨리데이터팀의 황승곤(@skonhwang) , 이희진(@heeheejin), 최진홍(@_Gnong)님께 깊이 감사드립니다.

Written by
Youngbin Park, Research Engineer, DSRV Validator Team (Twitter @bin0_0bin)

--

--