Validator’s Note 24 — ICS 2.0

Youngbin Park
DSRV
Published in
8 min read5 days ago

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

ICS는 2023년 3월 v9 업그레이드에서 코스모스 허브에 처음 추가되었습니다. (초기 ICS가 궁금하신 분들은 이전 글을 참고하시길 추천드립니다.)이후 대표적인 컨수머 체인(consumer chain)인 Neutron과 Stride가 출시되었으며, 다양한 변화와 발전이 있었습니다. 최근 진행된 코스모스 허브 v17에서는 ICS 2.0, 즉 Partial Set Security(PSS)의 첫 번째 버전이 도입되었습니다.

DSRV는 ICS 1.0을 위해 진행되었던 Game of Chain 테스트넷에 참여했으며 최근 ICS 2.0을 위한 ISLE(Interchain Security Lightning Experiment) 테스트넷에도 참여하여 밸리데이터들에게 적용되는 변경사항을 미리 테스트해 보았습니다. 오늘은 이 경험을 토대로 ICS 2.0 Partial Set Security가 ICS 1.0 Replicated Security와 어떤 차이가 있는지 살펴보겠습니다.

ICS 2.0 이란?

ICS 1.0은 코스모스 허브의 모든 활성 밸리데이터들이 컨수머 체인의 블록을 검증해야하는 방식으로 구현되었습니다. 이후 수익성이 낮은 밸리데이터들이 모든 컨수머 체인을 의무적으로 돌려야하는 부담이 대두되어 위임이 적은 하위 95% 미만의 밸리데이터에게는 그 의무를 지우지 않는 soft opt-out 기능이 도입되기도 하였습니다.

이러한 배경에서 ICS 2.0 즉 PSS는 soft opt-out과 유사한 기능을 포함하여, 활성 밸리데이터 일부만이 컨수머 체인을 검증을 할 수 있게 합니다. 일부 밸리데이터 세트를 가지고 검증을 한다는 것은 크게 두가지 방식으로 나누어 볼 수 있습니다.[1]

1. Opt-in 컨수머 체인

Opt-in 컨수머 체인은 모든 활성 밸리데이터들이 컨수머 체인의 참여 여부를 스스로 선택할 수 있게 합니다. Opt-in 컨수머 체인은 AllowList 를 설정하여 희망 하는 밸리데이터들만 참여할 수 있게 하거나, DenyList 로 금지 밸리데이터를 설정할 수 있습니다. 뿐만 아니라 ValidatorNumberCap을 설정하여 참여 밸리데이터 수를 조정하거나 VotePowerCap으로 밸리데이터당 보팅 파워를 균등하도록 제한함으로서 보다 유동적으로 밸리데이터들이 참여하고 체인이 원하는 수준의 보안을 제공받을 수 있도록 합니다. 그리고 밸리데이터들이 컨수머 체인별로 수수료율을 다르게 설정할 수 있는 기능도 추가되었습니다.

2. Top-n 컨수머 체인

밸리데이터는 참여할 컨수머 체인에 대한 선택권을 가지게 되지만 일부 높은 보안성을 원하는 컨수머 체인은 코스모스 허브의 거버넌스 동의를 받아 상위 n% 의 밸리데이터가 검증의 의무를 가지도록 설정할 수 있습니다. 따라서 거버넌스를 통한 동의를 받아야 하며, 기본적으로 일정 %의 허브 벨리데이터 세트를 복제하는 ICS 1.0 방식과 유사합니다. n이 0인 경우 Opt-in 컨수머 체인을 의미하며, 최소한의 정직한 밸리데이터가 검증하는 것을 보장하기 위하여 Top-n 컨수머 체인의 경우 n을 50–100 으로 설정하도록 제한되어 있습니다. Netron 과 Stride의 경우에는 기존과 동일하게 95% 의 보안을 가지는 Top-n 컨수머 체인으로 마이그레이션되었습니다.

그리고 추가적으로 PSS는 Opt-in을 필두로 하여 거버넌스의 허가 없이 누구나 컨수머 체인을 자유롭게 배포하는 것을 목표로 하지만, v17에서 도입된 PSS에서는 아직 Opt-in 과 Top-n 컨수머 체인 모두 거버넌스를 통해 등록해야 합니다.

컨수머 체인은 ID를 가지고 코스모스 허브와 CCV 채널을 등록하게 되는데 이때 한 컨수머 체인이 해당 ID로 채널을 먼저 생성하여 ID를 점유해 버리면 이후 다른 컨수머 체인에서 동일한 ID로 CCV채널을 생성할 수 없게 됩니다. 따라서 현 버전에서 Opt-in 방식은 스팸 컨수머 체인의 ID 점유를 막기 위하여 거버넌스를 사용합니다.

밸리데이터가 컨수머 체인을 시작하는 방법

밸리데이터는 컨수머 체인의 spawn time이 지나고 CCV 채널이 생성된 후, 코스모스 허브에 MsgOptIn tx를 전송하여 간단하게 Opt-in을 시작할 수 있습니다. 기존 ICS에는 더블 사이닝의 위험으로 인하여 MsgAssignConsumerKey 트랜잭션으로 컨수머 체인에서 사용할 키를 코스모스 허브와 다르게 설정하였습니다. MsgOptIn 트랜잭션은 해당 기능을 포함하고 있어 별도의 트랜잭션없이 Opt-in과 키 할당을 한번에 수행할 수 있습니다.

Opt-in 트랜잭션을 전송한 밸리데이터는 컨수머 체인의 밸리데이터 세트가 업데이트된 후 블록 사인을 할 수 있으며, 밸리데이터 세트가 업데이트 된 후에는 컨수머 체인의 downtime jail 기간 이내에 밸리데이터를 시작해야 합니다. Opt-in 컨수머 체인의 경우 슬래싱을 당하면 컨수머 체인에서 자동으로 Opt-out 되지만 코스모스 허브에서의 동작에는 영향을 주지 않습니다.

그리고 Opt-in 된 이후에 MsgSetConsumerCommissionRate 트랜잭션을 통하여 각각의 컨수머 체인 별로 수수료를 설정할 수 있습니다. 컨수머 체인 검증을 그만두는 Opt-out 또한 코스모스 허브에 간단히 MsgOptOut tx를 전송하여 가능합니다. Opt-out 한 후 다시 Opt-in 할 수 있지만, 슬래싱으로 Opt-out된 경우에는 일정 기간동안 재 Opt-in이 불가능 합니다.

Top-n 방식에서 상위 n% 즉 컨수머 체인 검증이 의무인 밸리데이터들에게는 ICS 1.0과 동일합니다. 하지만 n% 에 포함되지 않는 하위 밸리데이터의 경우에는 약간의 차이가 있습니다. 이들에게는 기존에는 soft opt-out이 적용되어 참여 여부와 관계없이 컨수머 체인에서 슬래싱이 아예 발생하지 않았습니다. 따라서 자발적으로 컨수머 체인에 참여하는데에는 추가적인 과정도 없었습니다. 하지만 PSS의 경우 하위 밸리데이터는 Top-n 컨수머 체인 검증에서 참여하기 위해서는 Opt-in을 해야하며 Opt-in을 한 경우 컨수머 체인에서 패널티를 받을 수도 있습니다. 추가적으로 Top-n 컨수머 체인은 체인 검증이 의무화 되는 만큼 컨수머 체인에서의 슬래싱이 코스모스 허브에 까지 영향을 미칩니다.

마무리

위에서 언급한 바와 같이 PSS는 이론적으로 무허가 컨수머 체인의 런칭에 필요한 기능을 지원하고 있으나, 거버넌스 제안을 통해 등록하도록 하는 프로세스를 따르고 있습니다. 이후 체인 ID의 중복을 허용하며, 거버넌스 없이 트랜잭션으로 컨수머 체인을 생성하고, 컨수머 체인의 소유 계정이 밸리데이터 세트 관련 설정값을 변경할 수 있도록 하는 구현이 진행될 예정입니다.[2]

현재 컨수머 체인 런칭의 진입 장벽을 낮추려는 지속적인 노력의 일환으로, 컨수머 체인을 검증할 수 있는 밸리데이터의 풀을 넓히기 위하여 코스모스 허브의 비활성 밸리데이터들이 컨수머 체인에 참여할 수 있게 하는 기능에 대한 거버넌스 투표도 통과 되었습니다.

밸리데이터가 컨수머 체인 검증을 선택할 수 있게 하는 기능은 ICS 출시 초기부터 매우 필요했던 기능입니다. 밸리데이터들은 기다렸던 PSS의 도입으로 컨수머 체인을 의무적으로 검증해야 하는 부담은 해소되었으나, 이제는 누구나 쉽게 만들 수 있는 컨수머 체인들의 경쟁 시장이 시작되면서 많은 컨수머 체인들 속에서 수익성과 좋은 프로젝트를 판단하는 눈이 더욱 필요해졌습니다.

수익성뿐만 아니라 밸리데이터의 입장에서는 체인을 안정적으로 운영하는 것 또한 중요한 부분입니다. 밸리데이터들의 참여 장벽을 낮추는 것은 컨수머 체인의 입장에서는 긍정적인 요소이지만, 비성숙하거나 악의적인 검증자들의 참여 또한 늘어날 수 있기에 앞으로 이 둘 사이에서 체인을 안정적으로 운영할 수 있는 적절한 선을 찾을 수 있도록 지켜보아야 할 것입니다.

--

--