검수요청.png검수요청.png

슬래싱

해시넷
ghdrn221 (토론 | 기여)님의 2019년 8월 27일 (화) 15:05 판
이동: 둘러보기, 검색

슬래싱(Slashing)은 지분 삭감이라고도 하며, 검증인이 장시간 블록을 갱신하지 못하거나 사전-커밋(Pre-commit)을 놓칠경우, 이중 서명(Double Sign)을 할 경우 발생한다. 검증인의 슬래싱은 해당 검증인에 위임한 위임인에게도 동일한 비율로 적용된다.

개요

슬래싱은 코스모스 코인의 지분의 삭감 이라고도 불리며, 검증인이 장시간 블록을 갱신하지 못하거나 사전-커밋(Pre-commit)을 놓칠경우, 이중 서명(Double Sign)을 행할 경우 발생하게 되고, 검증인의 슬래싱은 해당 검증인에 위임한 위임인에게도 동일한 비율로 적용되며, 슬래싱이 위임인에게도 직접적으로 영향을 미치기 때문에, 해당 검증인의 과거 전적, 다운타임(Downtime) 같은 지표들을 꼭 확인하여 안전한 검증인을 선택해야 리워드를 받으면서도, 지분을 안전하게 지킬 수 있다.[1]

특징

코스모스 블록체인의 경우 네트워크를 안전하게 지키지 못한 검증인에게 슬래싱 이라는 패널티가 주어진다. 검증인이 패널티를 받은 경우 검증인에게 아톰을 위임한 위임자의 아톰도 줄어든다. 패널티가 존재하기 때문에 메인넷 런칭 전 아톰 보유자들에게 최대한 어떤 검증인이 안정적으로 노드를 운영할 수 있는지 객관적인 지표로 보여주는데, 코스모스 블록체인의 경우 각 검증인이 노드를 제대로 관리하지 못해 자신의 차례에 반복적으로 블록을 만들지 못한 경우 슬래싱의 패널티를 당하고, 지분 삭감(Slashing)의 패널티를 당하면 업타임(Uptime)이라는 수치가 100%에서 점차 낮아진다. 아톰 보유자들은 이 업타임을 보면서 어떤 검증인이 네트워크 보안에 지식이 있어 텐더민트 엔진을 잘 이해하며 객관적으로 판단한다. 리더가 프로토콜에서 거짓 데이터를 기록하는 등 비정상행위를 하면 슬래싱을 통해 자금을 삭감해 리더를 처벌하는데, 슬래싱 메커니즘에는 리더가 수행한 옳은 행위에 대한 별도의 보상이 없고 잘못된 행위가 발생하면 돈을 회수한다.

특정 검증인이 악의적으로 행동할 경우, 검증인에게 본딩된 아톰은 슬래싱이 되고, 슬래싱 페널티는 악의적인 행동에 비례한 가중치가 적용되는데, 검증인과 위임인들의 스테이크가 슬래싱 되는 경우는 세가지가 있다. 첫번째로 이중 서명(더블 사이닝)은 누군가 체인A에서 특정 검증인이 동일한 높이의 두개의 블록을 체인A와 체인B에서 서명한 경우 해당 검증인은 체인A에서 슬래싱될 수 있다. 두번째로는 오프라인(unavailability)이다. 특정 검증인의 서명이 × 블록동안 포함되지 않았을 경우, 해당 검증인은 × 에 비례한 소량의 아톰이 슬래싱된다. 만약 ×가 사전에 설정된 Y 한도보다 높을 경우, 해당 검증인은 언본딩 된다. 마지막으로 세번째는 미투표(non-voting)는 특정 검증인이 거버넌스 프로포절에 투표를 하지 않는 경우 소량의 스테이크가 슬래싱될 수 있다.

코스모스(Cosmos)

프로토콜 내(in protocol)에서 작업증명(Proof of Work, PoW)의 희소성과 경제적 인센티브를 가지면서 최고 수준의 탈중앙화 및 보안을 유지하고 위임, 본딩 및 슬래싱 조건을 갖춘 순수한 지분증명(Proof of Stake, PoS) 네트워크를 구축하고 있다. ABCI(Application BlockChain Interface) 앱이 한 블록으로 설정된 실제 서명하는 검증인 세트를 통해 SDK(Software Development Kit)로 보내는 업데이트의 적용을 지연하는 다음 검증인 세트(NextValSet)라는 개념을 도입했다. 다음 검증인 세트는 암시적이 아니라 명시적으로 다음 검증인 세트로 블록 헤더에 서명되므로 임의의 검증인 세트 변경이 있더라도 라이트 클라이언트 동기화가 안전할 수 있도록 하고, 검증인 세트 업데이트가 한 블록만큼 지연되며, 보팅 파워만으로 누군가 위반(infraction)을 했는지를 판단하기 위해 슬래싱 기간, 언본딩, 위임, 그리고 재위임은 정확하게 추적해야 한다.[2]

슬래싱 기간이란 검증인이 본딩되어 있던 순간부터 언본딩된 순간 사이의 기간을 말하며, 연속적(successive)으로 행해지는 위반 사항의 영향을 완화하기 위해 설계되었고, 악의적인 행동에 대한 인센티브와 불이익을 균형 맞추기는 쉽지 않으며, 네트워크 보안을 위협하는 행위에 대해서는 가혹하게 처벌한다. 예를 들어, 텐더민트에서의 HSM(Hardware Security Module)을 잘못 구성해서 모든 블록을 더블 사이닝하기 시작했다고 가정 하거나 검증인 컨센서스 서명 키가 노출되어 해커가 이를 악용했다고 가정하고, 슬래싱 기간의 개념이 없다고 하면 모든 위반사항에 대해 슬래싱을 당했다. 각각의 더블 사이닝은 엄청난 규모의 처벌을 일으키고 이것이 모두 더해지면 당신이 스테이킹한 물량은 제로가 될 수도 있지만, 이제는 특정 슬래싱 기간내에서 가장 중대한 위반 사항에 대해서만 슬래싱을 당하게 된다.

스테이킹 수량으로 결정되는 검증인의 가중치(weight)는 해당 검증인이 실제 블록 생성에 참여할 수 있는지를 결정하며, 얼마나 자주 블록은 제안할 수 있는지와 얼마나 많은 보상을 가저가는지에 영향을 끼친다. 초기에는 가중치가 높은 100개의 검증인들이 실제 블록생성에 참여하고, 검증인이 이중서명을 하거나, 자주 오프라인 상태로 전환되거나, 거버넌스 절차에 참여하지 않을경우 위임된 자체물량과 위임 받은 물량 포함한 모든 아톰 은 슬래싱되어 사라지게 된다. 위임인은 검증인들과 보상을 나누기 때문에, 위임인에게도 책임이 주어지는데, 검증인이 악의적인 행동을 한다면 위임인들의 토큰 또한 함께 슬래싱 되기에 위임인들은 위임을 하기 전 충분한 검토와 조사를 실시한 후 위임을 해야하며, 다수의 검증인에게 분산위임하는 방법을 해야 한다.

밸리데이터들의 상태(state)
  1. 본디드(bonded) : 검증인은 현재 합의에 참가하고 있는 활성화된 검증인으로 블록 보상을 받을 수 있으며, 악의적인 행동에 대한 슬래싱 페널티를 받을 수있다.
  2. 언본딩(unbonding) : 검증인은 현재 합의에 참가하고 있지 않으면 활성화된 검증인 세트에 포함되어있지 않고 블록 생성을 받지 않지만 악의적인 행동에 대한 슬래싱 페널티는 적용되고, 언본딩 상태인 검증인이 언본딩으로 전환되는 중간 상태이며, 언본딩 상태에서 리바운드 트랜잭션을 발생하지 않으면 최대 3주간 중간 단계에 머무른다.
  3. 언본디드(unbonded): 검증인은 합의에 참가하고 있지 않은 검증인이며, 활성화된 검증인 세트에 포함되지않는다. 검증인은 블록 생성 보상을 받지 않으며 슬래싱 페널티도 적용되지도 않고, 검증인에게 아톰을 위임하는 것은 가능하다. 언바운디드 상태인 검증인으로 부터의 언본딩은 바로 처리된다.
다운타임 슬래싱(Downtime Slashing) : 다운타임(Downtime)은 검증인이 사전-커밋(Pre-commit), 블록에 서명을 놓칠 때마다 발생하고, 가장 최근 10000개의 블록 중 500개 이상을 놓치게 되면 다운타임 슬래싱이 발생하게 되는데, 다운타임 슬래싱 비율은 검증인과 위임인의 물량 전체의 0.01%이다.[3]
이중서명 슬래싱(dual signature Slashing) : 검증인이 가장 치명적인 오류인 이중서명을 발생시켜도 해당 검증인의 위임인의 지분도 같이 위험해진다. 다운타임 슬래싱과는 다르게 이중 서명 슬래싱 비율은 5%이며, 해당 검증인의 노드는 네트워크에서 영원히 차단되게 된다.
메인넷(mainnet)
아톰(Cosmos Coin) 보유자는 메인넷에서 본인의 아톰을 검증인에게 위임하고 거버넌스 프로포절에 투표를 할 수 있는 권리를 가진다. 위임자들의 선택이 코스모스 네트워크의 성공을 좌우할 수 있으며, 런칭 초기 아톰 송금 기능은 프로토콜 레벨에서 비활성화될 계획이고, 하드포크를 통해 활성화된다. 아톰을 위임하는 행위에는 매우 큰 리스크가 존재한다. 한번 검증인에게 위임된 아톰은 일정 기간동안 묶이게 되며, 스테이킹 기간 동안 검증인의 실수로 슬래싱(아톰 삭감)이 발생하는 경우 위임자의 아톰 또한 함께 삭감된다. 검증인들에 대한 충분한 정보를 미리 확인하고 위임을 진행하는 것은 각 위임자의 책임이다.[4]

사례

검증인들은 거버넌스 시스템에서 특별한 역할을 한다. 코스모스 허브의 기둥으로써 모든 프로포절에 투표하며, 투표에 참가하지 않는 위임인들이 검증인들의 투표를 따르고, 프로포절에 투표를 하지 않는 검증인에게는 슬래싱 페널티가 부여된다. 검증인들은 위임인들의 자산을 직접적으로 탈취할 수 없지만, 검증인들의 악의적인 행동으로 발생하는 페널티에 대한 슬래싱은 검증인과 위임인들에게 동일하게 적용되며, 검증인과 해당 검증인에 위임을 한 위임인들은 블록 생성에 대한 보상, 수수료 보상, 그리고 거버넌스에 참여할 권한을 부여받는데, 특정 검증인이 악의적인 행동을 한다면 해당 검증인의 검증 권한에 있는 아톰은 슬래싱 페널티를 받기 때문에, 위임인들은 검증인이 안정적이고 안전성을 보장할 수 있는 여부를 확인할 필요가 있다.[5]

모든 후보에게 투표해도 자신은 잃을 것이 없는 유리함을 의미하는 것이 손해가 없는(Nothing at stake) 이다. 블록체인에서 블록을 생성한 경우 그 댓가로 일정량의 토큰을 받지만 만약 누군가 다른 블록을 동일하게 생성한 경우 두 블록은 누가 더 긴 블록체인이 되는지 경쟁하고, 경쟁에서 탈락한 사람은 블록 보상을 잃게된다. 자신이 지지한 블록체인이 경쟁에서 지는 경우 그 동안 블록을 생성하며 받은 블록 보상은 전부 무효처리가 되므로 모든 경쟁 중인 블록체인을 다 지지하는 것이 유리하다. 각 개인은 유리하지만, 블록체인 전체로 봤을때는 결과값이 확정되기 까지 더 많은 시간과 자원이 필요한 문제가 발생하는데, 문제를 해결하기 위해 매 블록이 결과값으로 인정되는 텐더민트(Tendermint) 합의 알고리즘을 제안해서 POS의 가장 큰 문제인 Nothing at stake 문제를 해결했다. 텐더민트 알고리즘은 사전 투표(Pre-voting)와 잘못된 행동에 대한 슬래싱(Slashing)을 통해 이 문제를 해결한다.[6]

각주

  1. CosmosKorea, 〈코스모스 최신 소식 — (필독) 10월 커뮤니티 업데이트〉, 《블록체인 허브》, 2018-11-14
  2. BIP, 〈코스모스 테스트넷 검증인 게임 발표〉, 《블록인프레스》, 2018-06-28
  3. Node A-Team, 〈코스모스 기능 쉽게 이해하기〉, 《미디엄》, 2018-05-03
  4. 브릿지, 〈코스모스 허브 메인넷의 시작〉, 《블록체인허브》, 2019-02-11
  5. 코스모스허브 공식 홈페이지 - https://hub.cosmos.network/ko/validators/validator-faq.html
  6. 브릿지, 〈코스모스 관련 F&Q〉, 《블록체인허브》, 2018-01-17

참고자료

같이 보기

  검수요청.png검수요청.png 이 슬래싱 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.