Liquid Staking

jaehwan chung
Decipher Media |디사이퍼 미디어
36 min readOct 27, 2023

Disclaimer: 서울대학교 블록체인 학회 디사이퍼(Decipher)에서 LiquidStaking을 주제로 Weekly Session에서 발표한 내용을 바탕으로 합니다. 본 아티클은 LiquidStaking의 등장배경과 대표적인 서비스들 그리고 리스테이킹 프로토콜 인 아이겐레이어와 비탈릭부테린이 언급한 컨센서스 오버헤드(Consensus Overhead)에 대해 살펴봅니다. 이 보고서에 포함된 어떠한 내용도 투자 조언이 아니며, 투자 조언으로 해석되어서도 안 됩니다.

Author

권순용, 정재환(@alexjhwan) of Decipher
Seoul Nat’l Univ. Blockchain Academy Decipher(@decipher-media)
Reviewed By 디사이퍼 미디어팀

목차

  1. Introduction
  2. Liquid Staking
  3. LSD(Liquid Staking Derivatives)
  4. Re-staking : EigenLayer
  5. Consensus Overhead
  6. Conclusion

1. Introduction

올 2월 기준, 세계에서 네 번째로 큰 미국 기반 암호화폐 거래소 크라켄(Kraken)이 미등록 암호화폐 스테이킹 서비스를 중단하기로 미국 증권거래위원회(SEC)와 합의했다. 사건의 발단인 크라켄의 스테이킹 프로그램은 투자자가 스테이킹을 위해 암호화폐 자산을 크라켄으로 양도하면, 크라켄은 투자자에게 광고된 연간 투자 수익을 제공하는 수탁 서비스의 일종이다. 미국 SEC는 크라켄 스테이킹 서비스가 증권법을 위반했기에 제재를 가했다고 밝혔다. 이에 블록체인 산업에 지대한 영향력을 행사하는 여러 인사들이 크라켄과 같은 중앙화 거래소(CEX) 스테이킹 서비스의 증권성에 대해서 흥미로운 이야기를 펼쳤지만, 본 글에서는 자세히 다루지 않겠다.

하지만, 아이러니하게도 대중들은 이러한 뉴스를 통해서 스테이킹 서비스라는 것에 대해 알게 되고, 이는 관심으로, 관심에서 투자로 이어지게 되며 전체 디파이 프로토콜 카테고리 중 가장 높은 수준의 투자금액(TVL)을 달성하게 되었다.

본 글을 통해 스테이킹이란 무엇인지 소개하고, 이러한 스테이킹의 한계를 보완하기 위해 등장한 유동성 스테이킹(Liquid Staking) 서비스 전반에 대해 소개하고자 한다.

2. Liquid Staking

스테이킹(Staking)

스테이킹이란 블록체인 네트워크 운영을 지원하기 위해 일정 기간 암호화폐를 잠그는 것을 말한다. 암호화폐를 스테이킹한 ‘스테이커(Staker)’는 트랜잭션의 유효성을 검사하고, 새로운 블록을 추가하는 역할을 수행한다. 이는 합의 알고리즘의 일종인 지분 증명(PoS) 방식에서만 관찰할 수 있는 고유한 기능으로, 검증인에게 해당 체인의 암호화폐를 보유하고 있는 경제적 지분에 따라 블록 생성 권한을 주는 PoS(Proof-of-Stake)의 특수한 성질에서 기인되었다. 이 때, 검증인은 밸리데이터(Validator)라고도 불리며, 스테이킹을 통해 블록체인 네트워크에 기여하는 참여자를 일컫는 용어다. 검증인은 해당 체인에 스테이킹 되어 있는 자신의 스테이킹 비율에 따라 블록 생성 권한을 가지게 되고 이에 따른 보상을 지급받을 수 있다.

하지만 일반 암호화폐 투자자가 검증인이 되기에는 몇 가지 제약이 존재한다. 첫째로, 높은 보증금과 기술적 장벽이다. 이더리움의 경우에 검증인이 되기 위해 요구되는 최소 스테이킹 수량은 32ETH로 이는 23.10.20기준 약 51,520달러(한화 약 6,970만원)이다. 또한 검증인으로서 네트워크에 참여하고 보상을 받기 위해서는 항상 온라인을 유지함과 동시에 지속적으로 네트워크에 기여를 해야하기 때문에, 이러한 역할을 수행하는데 필요한 높은 성능의 하드웨어 장비들, 소프트웨어 비용, 그리고 검증 업무를 수행하기 위한 블록체인 개발 역량이 요구된다. 특히, 이더리움은 악의적 행동을 하는 검증인을 방지하고자 슬래싱이라는 패널티를 설정해두었는데, 검증인이 잘못된 블록을 생성하거나 장시간 블록을 생성하지 못하는 등 해당 네트워크에 기여하지 못한다고 판단되면 스테이킹한 지분을 삭감시키는 방식이다. 이러한 높은 수준의 기술적 이해에 대한 요구치는 개인 투자자에게는 높은 허들로 다가올 수밖에 없다.

두번째 이유는 일종의 심화된 기술적 장벽 요인으로, MEV에 따른 보이지 않는 비용이다. MEV란 Maximal Extractable Value의 약자로 “블록 안 트랜잭션의 전략적 재배치를 통하여 추출 가능한 추가적인 블록생성보상”을 뜻한다. 이러한 MEV 추출을 위해서는 블록체인의 작동원리와 개발에 대한 깊이 있는 지식을 갖추어야 하기 때문에 일반 암호화폐 투자자가 향유하기에는 어려움이 있다. 하지만 이미 시장에는 전문적인 역량을 갖추고 MEV 추출을 통해 추가적인 수익을 향유하는 전문 밸리데이터들이 있고, 이는 개인에게 일종의 기회비용으로 작용한다.

마지막으로, 스테이킹된 기간 동안 토큰 락업에 따른 기회비용 및 리스크이다. 이더리움의 경우, 지난 3월 진행된 상하이, 샤펠라 업그레이드 이후 인출 기능이 추가되었기에 더 이상 인출 불가능의 리스크에 대해 걱정할 필요는 없게 되었지만, 그래도 여전히 스테이킹된 기간 동안 스테이킹 외의 경제활동을 할 수 없다는 단점이 있다. 또한 언스테이킹을 원하더라도 즉각적으로 이루어지지 않는 경우가 많기 때문에 본인이 스테이킹한 암호화폐의 이슈에 대해서 기민하게 반응할 수 없다는 리스크가 있다.

유동성 스테이킹(Liquid Staking)

이러한 스테이킹의 단점을 보완하기 위해 등장한 서비스가 바로 이번 글의 주제인 유동성 스테이킹(Liquid Staking) 서비스이다. 유동성 스테이킹이란 암호화폐 보유자로부터 온체인에서 자산을 수탁 받아 전문 밸리데이터를 통해 수탁자가 스테이킹 수익뿐만 아니라 MEV 수익 등 최대한의 수익을 향유할 수 있도록 하는 서비스이다. 특히, 수탁받은 암호화폐에 대한 증표로 이에 대응되는 유동화 토큰을 발행하고, 이러한 유동화 토큰을 Curve, AAVE 등 기타 프로토콜에서 사용할 수 있도록 사용처를 마련함으로써 솔로스테이커들의 고민거리 중 유동성에 대한 고민을 해결해준다.

출처 : 유동성 스테이킹 프로토콜 Lido의 MEV 수익에 대한 포스트

유동성 스테이킹 서비스의 대표적인 특징은 다음과 같다.

  1. 유동성: 스테이킹된 암호화폐에 대한 증표로 유동화 토큰을 발행하고, 이를 다른 프로토콜에서 사용할 수 있도록 한다. 가장 대중적인 사용처는 Curve, AAVE 등이 있다.
  2. 접근성: 최소 스테이킹 수량을 획기적으로 낮추어(일반적으로 0.01ETH) 경제적 장벽을 제거하고, 전문 밸리데이터에게 위임함으로써 기술적 장벽을 개선한다.
  3. 대체가능성: 체인 별로, (같은 체인이라도) 프로토콜 별로 보상 수준이 다르기 때문에 스테이킹 수요자는 본인의 니즈에 따라 서비스를 선택할 수 있다.
  4. 결합성: 유동화된 토큰을 활용하여 디파이 생태계 내에서 사용함으로써 다른 프로토콜과의 결합성을 추구한다.

위와 같은 특성 아래 유동성 스테이킹 서비스는 다음과 같은 3가지의 장점이 존재한다.

첫째로, 평균 디파이 수익률을 상회하는 수준의 스테이킹 보상을 제공한다. 디파이 평균 수익률에 대한 index로는 일반적으로 DefiLlama APY Trend(6개월 평균)를 사용하고 이는 글 작성일(23.10.21) 기준 2.3%이다. 반면에 대표적인 유동성 스테이킹 서비스들의 수익률의 경우 Lido 3.3%, Rocket Pool 3.07%, Coinbase 3.1%로 이러한 평균을 상회하는 모습을 보여준다. 이는 유동성 스테이킹 서비스 내 전문적인 밸리데이터들의 역할 수행으로 인해 최대 수익을 유저들에게 제공하기 때문이다.

둘째로, 자산에 대한 유동성 제공이다. 유동화 된 토큰을 lending protocol에서 담보 자산으로 활용하는 등 다른 디파이 프로토콜에서 활용 가능하기 때문에, 유동화 토큰의 존재는 하나의 투자 요인으로 작용하여 전체 시장의 파이를 키우는 효과를 가져온다.

마지막으로, 타 디파이 서비스들에 비해 낮은 위험성이다. 유동성 스테이킹 서비스는 사용자들의 투자를 통해 운영되는 다른 디파이 서비스들과 달리, 사용자들의 “자산수탁”으로 운영되기 때문에 보안에 각별히 신경을 쓰는 모습을 보인다.

하지만 모든 서비스들이 그러하듯, 유동화 스테이킹 서비스 또한 단점이 존재한다.

첫째로, 그럼에도 존재하는 스마트 컨트랙트 리스크이다. 모든 참여주체들의 행위가 온체인 상에서 스마트 컨트랙트를 통해서 이루어지기 때문에 아무리 보안에 만전을 기한다고 하더라도 헛점이 발생할 수 있다. 그렇기에 유동성 스테이킹 서비스들은 이러한 리스크를 인지하고 전문가들의 보안 활동을 통해 최대한 이러한 리스크를 제거하려하고, 이외에도 전문 감사 업체를 통해 주기적으로 코드 감사(Audit)를 수행하여 리스크를 제거하고자 한다.

전체적인 Lido의 Audit 이력은 https://github.com/lidofinance/audits 에서 확인할 수 있다.

둘째로, 유동화 슬리피지와 같은 프로토콜 외적인 리스크가 발생할 수 있다. 스테이킹된 자산에 대한 유동화 토큰은 일반적으로 탈중앙화 거래소(DEX)를 통해 유통된다. 슬리피지(Slippage)란 거래를 하고자 했던 가격과 실제 거래가 이루어진 가격이 다른 것으로, 중앙화 거래소(CEX)에 비해 상대적으로 유동성이 낮은 DEX에서는 거래 과정에서 슬리피지가 발생할 수 있고, 이는 유저 경험을 해치는 요소가 될 수 있다. 그렇기에 유동성 스테이킹 서비스들은 서비스별로 다른 방식으로 유동성 확보를 위해 노력하고, 유인을 제공하며 이러한 리스크를 제거하고자 한다.

마지막으로, 스테이킹 지분이 늘어났기에 슬래싱 등의 패널티가 발생했을 때 그 피해금액이 보다 증가하게 된다. 그렇기 때문에 유동성 스테이킹 서비스들은 밸리데이터에게 전문성을 요구하고, 밸리데이터들은 이러한 기준에 부합하기 위해 인프라와 전문성을 유지하기 위해 노력한다.

3. LSD(Liquid Staking Derivatives)

Lido Finance

Lido Finance는 2020년 Konstantin Lomashuk, Vasily Shapovalov, Jordan Fish에 의해 시작된 유동성 스테이킹 서비스이다. 이들은 이더리움 검증인 그룹, 개발자 출신으로, 이더리움 스테이킹의 허들을 낮춤으로써 이더리움의 보안에 기여하고 탈중앙성을 강화하겠다는 비전과 함께 발족했다.

Lido Finance는 최초의 유동성 스테이킹 서비스라는 점과 founder들의 믿음직한 경력을 무기로 대형 Crypto VC들로부터 공격적으로 투자를 받으며 빠르게 시장 점유율을 확대해 나갔다. 이들은 빠르게 시장 점유율을 확보하고, 사용자들에게 편리한 서비스를 제공함으로써 유동성 스테이킹 시장에서 압도적인 성과를 보이며 성장하고 있다. 특히, 글 작성일(23.10.21) 기준으로 전체 디파이 프로토콜 중 TVL 1위, 이더리움 유동성 스테이킹 시장 점유율 약 78%의 성적을 기록 중이다.

출처: Crunchbase

Lido의 핵심 요소는 Staking Pool, stETH, Oracle, Lido DAO이다.

서비스 이용자 A가 10 ETH를 Lido를 통해 스테이킹하고자 한다고 생각해 보자. 우선 A는 10 ETH를 Lido에 맡기게 된다. 그러면 Staking Pool에서는 수탁된 10 ETH에 대응하는 10 stETH를 발행(mint)하고 A는 10 stETH를 받게 된다. 그렇다면 이후 A는 어떤 방식으로 스테이킹 보상을 얻게 되는지 알아보자.

우선, A에 의해 수탁된 10ETH는 Staking Pool에 보관된다. 이후 B, C 등 다른 사용자들의 예치로 인해 자금이 이더리움 스테이킹 최소 단위인 32ETH를 초과한다면, Staking Pool은 이 중 32ETH를 Node Operator에게 위임한다. 그러면 이 후 Node Operator는 Ethereum Deposit Contract에 이를 예치하여 Validator를 활성화한다. Validator은 슬래싱, downtime 등의 패널티를 입지 않기 위해 Validator 운영에 신경쓰고, 네트워크에 기여함으로써 블록 생성 보상을 얻는다. 보상에 의해 늘어난 이더리움 Beacon Chain 상의 이더리움 잔고는 Oracle에 의해 추적되며 보고된다. 만약 패널티 없이 정상적으로 구동하여 이더리움 잔고가 증가했다면, 증가한 만큼 Staking Pool에서 stETH 발행이 이루어지고, 10%의 Commission Fee를 제한 뒤 A에게 (수수료를 제한 stETH증가분)*(10/32)만큼 지급된다. 이 때 10%의 수수료는 Node Operator에게 5%, LidoDAO의 Treasury로 5%가 배분되며, Treasury로 분배된 수수료는 Lido Finance에 대한 운영 및 개발비용으로 사용된다. Staking Pool은 Node Operator들에 대한 관리 및 보상 분배를 위해 이들의 주소와 validation에 사용하는 key, 보상의 분배 로직을 담고 있다.

여기서 Oracle은 발생한 보상에 대한 추적 및 보고라는 핵심적인 역할을 수행한다. Oracle의 보고는 frame이라는 시간 단위로 이루어지는데, frame은 DAO에 의해 설정된다. 만약 Oracle이 잘못된 수치를 보고하게 된다면 사용자들의 수익 분배에 문제가 생길 수 있기 때문에, Lido는 이에 대한 방지책으로서 복수의 Oracle로부터 정족수(quorum)에 해당하는 만큼 동일한 보고가 들어와야 정상적으로 보고가 되게끔 하고 있다.

출처: Lido Finance Blog, How Lido Works

Lido DAO는 Oracle의 Frame 설정 외에도 Lido가 원활하게 운영 및 발전할 수 있도록 하는 역할을 수행한다. 구체적으로는 Node operator 및 oracle 선정, 이더리움 스테이킹 프로토콜 변화에 대응 및 기능 추가, 슬래싱 등에 대비한 insurance provider 선정 등을 결정하는 역할을 한다. 이 때 Lido DAO의 거버넌스는 forum에서 충분한 논의를 거친 후 Proposal로 넘어가고, 이후 snapshot에서 7일간 5% 이상의 득표를 거친 후, 중요한 기능에 대해서는 72시간 동안 Aragon에서 50% 이상의 표를 획득해야 결정이 된다. 이 때 투표는 LDO라는 Lido Finance의 거버넌스 토큰을 투표권으로 사용한다.

Lido는 23년 5월 V2 Mainnet을 새롭게 적용하며 출시 이후 가장 큰 규모의 업그레이드를 진행했다. 업그레이드로 인해 추가된 가장 큰 기능은 출금 기능과 Staking Router라는 이름의 컨트롤러 컨트랙트이다.

지난 3월, 상하이/샤펠라 업그레이드로 인해 이더리움 Beacon Chain에 스테이킹된 ETH를 언스테이킹할 수 있게 됨에 따라, Lido 또한 출금 기능을 추가한 것으로 해석된다. Lido는 Deposit Buffer을 새로이 조직하여, 유저들이 스테이킹한 ETH 중 일부의 유휴 ETH를 예치해두고 buffer를 초과하지 않는 수량의 출금신청에 대해서는 신속하게 출금을 진행한다(터보모드). 만약 buffer를 초과하는 수량의 출금이 신청된 경우에는 운영되고 있는 Validator을 종료하고 스테이킹된 ETH를 회수함으로써 출금 신청을 수행하게 된다. 이외에 악의로 출금을 지연시켜 불공정 수익을 얻는 행위자가 있을 경우, 벙커모드를 활성화시켜 이를 야기한 사건이 해결될 때까지 출금을 지연시킴으로써 악의적 참여자를 방지한다.

Staking Router는 현재 Lido의 Node Operator 선정 과정이 중앙화되어 있다는 우려에 대한 해결책으로 새로이 등장한 것으로, Staking Module에 예치 가능한 ETH를 분배시켜 Solo Staker, 타 DAO 등 외부집단들도 허가를 받지 않고 노드를 운영하고 Lido의 인프라를 활용할 수 있게끔 한다. 23년 3분기까지 obol, SSV 네트워크에 대해 2번째 테스트가 성공적으로 마무리되었고, 4분기에는 다음 테스트를 진행할 예정이라고 밝혔다.

출처: Lido Finance, Introducing Lido V2

압도적인 점유율을 바탕으로 서비스를 운영하는 Lido의 업데이트의 배경에는 이더리움의 창시자인 비탈릭 부테린의 유동성 스테이킹 서비스로 인한 이더리움 중앙화 우려가 있다. 비탈릭은 날로 커져가는 유동성 스테이킹 규모에 의해 이더리움이 특정 대형 Node Operator 및 유동성 스테이킹 서비스사에 중앙화되는 것을 우려했다.

비탈릭이 제시한 유동성 스테이킹 서비스의 핵심 결함

Lido는 기존에도 특정 Node Operator들에게 과도하게 많은 수준의 ETH이 분배되어 중앙화되는 것을 방지하기 위해 전체 이더리움 시총 대비 하나의 Node Operator들의 지분에 대해 제한(soft cap)을 1%로 설정하고, DAO를 운영하는 등 노력을 기울인 바 있다. 하지만 탈중앙화 측면에서 몇 가지 아쉬움이 있는데 대표적으로 Whitelisting을 통해 선정되는 Node Operator, Lido DAO 견제 조직의 부재 등이다.

Lido는 v2 업그레이드 이외에도 몇 가지 새로운 제안을 통해 이러한 문제를 해결하고자 하고 있다. 첫째로, Dual governance의 도입이다. 이는 22년 6월 10일 최초로 제안된 기능으로, 기존의 의사결정 과정에 최종 거절 권한(Veto)를 stETH 홀더들에게 부여하는 것을 추가함으로써 Lido의 운영을 보다 다양한 주체에 의해 민주적으로 운영될 수 있게끔 한다. 또한 견제 세력의 등장으로 인해 LDO 토큰의 투표 효력이 상대적으로 약해짐에 따라 단기적인 가격 하락이 발생할 가능성이 있는데 DEX 등 외부 stETH 유동성 풀에 대한 인센티브를 LDO로 제공하는 Lido 입장에서는 비용 하락으로 인한 재무 구조 개선을 이루어낼 수 있기 때문에 일석 이조 효과를 누릴 수 있다는 장점이 있다. 하지만 아직 Dual governance에는 한 가지 결함이 있는데, 이는 현재 외부 프로토콜에 locked-in된 stETH의 물량이 전체 stETH의 약 30%라는 점이다. 따라서 외부 프로토콜이 담합하여 Lido를 공격한다면 Lido의 운영에 차질이 생기게 될 것이다.

출처 : Lido의 Dual governance

두번째로는 추가적인 Node operator 선정을 통한 기존 Node operator들의 지분 감소이다. 이는 staking router 도입 과정의 일환으로 보이는데, 기존 Node operator 선정 기준에 추가로 infra/client 다양성, 지리적/관할권 분포 등을 포함시킨 것으로 미루어보아 다양성 확보를 통한 중앙화 우려 회피의 일환으로 해석할 수 있다. 새로이 추가된 9곳의 Node Operator에는 APAC 지역, Latin America 등 기존의 주류 지역 외 지역에서 운영되는 곳이 포함되어 있으며, consensus layer client의 경우 1가지 client를 100% 사용하는 Node operator들은 선정 과정에서 제외시켰다고 공식 홈페이지를 통해 밝혔다.

출처 : 23.Q2 Lido의 Consensus Layer Client 구성

RocketPool

RocketPool은 유동성 스테이킹 서비스 중 2위의 점유율을 차지하고 있는 곳으로 약 8.5%의 점유율을 확보하고 있으며, 전체 디파이 프로토콜 TVL 기준 11위에 위치하고 있다. Lido 이후에 출시한 서비스들은 압도적인 점유율을 가지고 있는 Lido에 대항하기 위해 각자 프로토콜만의 강점을 한 가지씩 가지고 있는데, RocketPool의 경우 이들이 내세우는 강점은 “탈중앙성”이다.

RocketPool의 핵심 요소는 Node Operator, Minipool, Deposit Pool로 이루어져있다. 서비스 이용자 A가 10 ETH를 RocketPool을 통해 스테이킹하고자 한다고 생각해보자. A가 10ETH를 RocketPool에 예치하면 이는 Deposit Pool로 이동하게 된다. Deposit Pool은 사용자들이 예치한 ETH의 대기열로 limit을 두어 유휴 상태의 ETH을 최소화한다. RocketPool과 Lido의 가장 큰 차이점은 Node operator를 특정 주체가 선정하지 않는다는 점이다. 최소 자격 조건을 통과한다면 누구나 Node operator가 될 수 있다는 뜻이다. 실제로 글 작성일(23.10.21) 기준으로 RocketPool의 Node operator은 3,281개로 lido의 38개와 대조되는 숫자이다.

Node operator들은 본인의 8ETH과 담보성격의 2.4~12ETH 상당의 RPL토큰을 통해 minipool을 구축한다. 이 때 담보는 패널티 발생으로 인해 스테이킹된 토큰의 가치가 32ETH 아래로 떨어졌을 때, 청산시켜 32ETH 수준을 채우는 용도로 사용된다. 이 후 RocketPool은 A의 10ETH와 다른 투자자들이 예치한 ETH을 합쳐 24ETH을 minipool에 보내게 되고, Node operator들은 이를 활용하여 이더리움에 스테이킹하게 된다.

이 때 기존의 Lido는 발생한 수익만큼의 stETH를 새로이 발행 및 분배함으로써 사용자들에게 수익을 지급하였지만 RocketPool은 조금 구조가 다르다.

RocketPool은 OracleDAO(oDAO)를 통해 Validator의 상태와 잔고에 대한 정보를 Beacon Chain에서 Execution Layer로 전달한다. 그러면 Execution Layer에 추가된 ETH의 수량에 따라 rETH와 ETH간의 교환비가 조정이 되고, 유저들은 지급받은 보다 높아진 교환비를 통해 rETH을 ETH로 교환함으로써 수익을 얻는 방식이다.

예를 들어, 최초의 사용자가 1:1 비율로 10ETH를 10rETH로 교환하여 스테이킹하였고, 시간이 흘러 스테이킹 보상으로 32ETH이 발생하였다. 그렇다면 총 64ETH이 이더리움 Execution Layer에 존재하고 있고, 반면에 발행된 rETH는 32개뿐이다. 이 때 rETH는 oDAO에 의해 계산된 교환비에 따라 1rETH = 2ETH의 가치를 지니게 되고, 유저는 32 rETH를 64 ETH로 교환하여 수익을 얻을 수 있다.

이러한 보상 분배 방식으로 인해 만약 RocketPool에 스테이킹 하고 싶어하는 유저수가 많아 대기열인 Deposit Pool이 Limit에 도달하였다면, 외부 프로토콜인 DEX를 통해 rETH를 구입하는 것으로 RocketPool에 ETH를 스테이킹하는 것과 동일한 효과를 누릴 수 있다.

ETH와 rETH의 교환비

4. Re-staking : EigenLayer

이더리움 네트워크에 배포된 Dapp들은 이더리움의 보안을 활용할 수 있기 때문에 개발자들은 자체 신뢰 네트워크를 구축하는 노력과 비용을 절감하고 서비스 구축에 집중할 수 있게 되었다. 하지만 점차 다양한 Dapp들이 등장하게 되며 브릿지에 의존하는 크로스체인 자산전송이나 오라클의 가격피드에 의존하는 디파이 파생상품 등 이더리움 가상머신(EVM) 위에 배포할 수 없는 미들웨어 모듈을 포함하는 경우가 생기게 되었다.

파편화된 보안(fragmented security)

출처 : EigenLayer

미들웨어 모듈은 일반적으로 EVM위에 배포되거나 검증되지 않기 때문에 이더리움 보안의 공유가 불가능하다. 이에 따라 미들웨어 서비스는 자체적인 신뢰 네트워크를 구축해야 한다. 그러나 자체 구축 작업은 막대한 비용이 소요되며 상대적으로 낮은 보안 수준을 가질 수 있는 단점이 존재한다.

이로 인해 Dapp들의 보안이 파편화되는 현상이 발생하게 된다. 예를 들어 어떤 Dapp이 배포된 레이어 1의 보안 규모를 $10B, 연결된 미들웨어 모듈의 보안 규모를 $1B라고 가정하면, 이 Dapp의 실제 보안 수준은 가장 낮은 규모인 $1B 의존하고 있다고 볼 수 있다.

로닌브릿지 해킹사건

이러한 미들웨어 보안의 취약점으로 인한 해킹 사례가 증가하고 있으며 대표적으로 2022년 3월 로닌브릿지(Ronin Bridge)에서 발생한 해킹사태를 예로 들 수 있다. 로닌브릿지는 이더리움 체인과 로닌체인간 자산 이동을 가능하게 해주는 브릿지로, 당시에는 9개의 검증자 노드로 구성되어 있었다. 검증자 노드는 거래블록 생성 및 데이터오라클 업데이트와 같은 역할을 수행하는데, 이 사건에서 해커는 5개의 검증자 노드를 해킹하여 약 6억달러 규모의 자산을 탈취하였다.

즉, 로닌브릿지는 담보자산에 비해 적은 수의 외부 검증자에 의존하고 있었으며, 특히 해킹된 5개 노드 중 4개가 ‘스카이마비스’라는 단일 주체의 소유였기 때문에 네트워크 구조가 지나치게 중앙집중화되어 해킹에 취약한 상황이었다. 로닌 네트워크는 보안 취약점을 개선하고자 검증자 노드를 계속해서 추가하고 있지만 이더리움 네트워크에 비해 여전히 보안수준이 낮은 편이다.

아이겐레이어(EigenLayer)

아이겐레이어는 “리스테이킹(Re-staking)”을 통해 이더리움 생태계의 파편화된 보안 문제를 해결하고자 한다. 리스테이킹이란 이더리움 네트워크에 스테이킹된 ETH를 아이겐레이어에 다시 스테이킹 하는것을 의미하며 이를 통해 이더리움의 보안 공유를 가능하게 한다. 생태계 전반에 걸친 자본 효율성을 향상시키며 Staker에게 검증 서비스에 대한 추가 보상을 얻을 수 있는 기회를 제공한다.

Actors in EigenLayer

아이겐레이어의 Actor는 크게 AVS, Staker, Operator 3가지로 구분할 수 있다.

  1. AVS(Actively Validated Service)

AVS(Actively Validated Service)는 오라클, 브릿지, DA레이어 등 자체 분산 검증 체계가 필요한 모든 시스템을 말한다. AVS는 이더리움의 양, 증명 제출 빈도, 보상과 수수료 분배 방식 등 자체 로직과 매개 변수를 지정할 수 있으며 이러한 검증과정을 위한 자체적인 슬래싱 조건을 만들어야 한다.

2. Staker

Staker는 아이겐레이어를 통해 리스테이킹 하는 주체이며 현재 LST(stETH, rETH, cbETH) 리스테이킹 또는 ETH를 통한 네이티브 리스테이킹이 가능하다. 아이겐레이어의 컨트랙트를 통해 리스테이킹 할 수 있으며 네이티브 리스테이킹의 경우 BeaconChain과 EigenLayer에 동시에 스테이킹 할 수 있다.

또한 Staker는 자신의 지분을 특정 Operator에게 위임함으로써 AVS 서비스 검증에 간접적으로 참여할 수 있다. 그러나, 자신이 위임한 Operator가 의무를 이행하지 않을 경우 슬래싱위험에 노출될 수 있기 때문에 Operator 선정 시 리스크와 수익을 고려하여 신중하게 선택해야 한다. 또한 Operator가 목표에 부합하지 않는 AVS를 도입하는 경우 Staker는 위임을 철회할 수 있는 유예 기간을 가질 수 있다.

3. Operator

Operator는 아이겐레이어 위에서 AVS검증에 참여하는 주체를 말한다. AVS검증을 위해 Staker의 지분을 위임받을 수 있으며 Staker가 Operator가 될 수도 있다. AVS검증에 참여하기 위해서는 다음과 같은 작업이 필요하다.

a) 아이겐레이어 컨트랙트를 통해 Operator로 등록한다.

b) Slasher 컨트랙트를 통해 검증에 참여할 AVS서비스에 슬래싱 권한을 부여한다. 이때 슬래싱규칙 등의 조건을 확인해야 한다.

c) AVS 검증에 필요한 클라이언트인 AVS Software 를 설치 및 실행해야 한다.

d) 마지막으로 AVS서비스가 배포한 Registry 컨트랙트를 통해 해당 AVS 노드 검증을 시작한다.

거버넌스

아이겐레이어는 기능일시중지, 컨트랙트 업그레이드 등을 결정할 수 있는 자격을 3가지 주요 거버넌스에 위임한다. 요약한 내용은 아래와 같다.

1. The Operations Multisig

안전에 중요한 모든 작업에 대해 최소 10일 지연을 적용하는 시간 잠금을 통해 일상적인 업그레이드 및 유지 관리를 실행하며, 긴급 상황에서는 EigenLayer 기능을 일시 중지할 수 있는 권한을가진다.

2. The Pauser Multisig

긴급 상황에 EigenLayer 기능을 일시 중지할 수 있으며, 이외의 다른권한은 없다.

3. The Community Multisig

이더리움 커뮤니티 구성원으로 이루어져있으며 일반적인 상황에서는 단순한 관찰자 역할을 수행하게 된다. 특별한 상황에서 업그레이드를 즉시 실행하거나 개인키가 손상된 경우 멀티시그를 교체하는 등의 긴급 조치를 수행할 수 있다.

요약

아이겐레이어의 전체 구조와 Actor들의 인터페이스를 간단하게 요약하면 다음과 같다.

EigenLayer를 통한 신뢰

출처 : Eigenlayer Blog

아이겐레이어를 통해 사용할 수 있는 신뢰는 경제적신뢰(Economic Trust), 분산형신뢰(Decentralized Trust), 이더리움 포함 신뢰(Ethereum Inclusion Trust) 3가지로 구분할 수 있다. 첫 번째로 경제적신뢰는 개인의 약속과 그 약속을 금전적으로 보증하는데서 오는 신뢰를 말한다. 두 번째로 분산형신뢰는 독립적인 Operator가 운영하는 분산형 네트워크를 통한 신뢰를 말한다. 세 번째로 이더리움 포함 신뢰는 이더리움 벨리데이터가 실행 중인 소프트웨어와 함께 블록을 구상하고 포함할때 발생하는 신뢰를 말한다.

이더리움 포함 신뢰(Ethereum Inclusion Trust)
아이겐레이어가 제공하는 세 가지 신뢰 중 “이더리움 포함 신뢰”에 대해서만 부가적인 설명을 들어보겠다. 아이겐레이어에서 작동하는 AVS는 Operator 조건에 이더리움 벨리데이터를 포함할 수 있다. 이더리움 벨리데이터가 아이겐레이어 AVS의 Operator 역할을 수행할 경우, 이더리움 프로토콜을 수정하지 않고도 합의 프로토콜의 기존 제안자 약속 위에 새로운 제안자 약속을 추가할 수 있는 Opt-In 기능을 적용할 수 있다.

출처 : Eigenlayer Blog

LRT(Liquid Restake Token)

아이겐레이어는 사용자 입장에서 몇 가지 불편함이 존재한다. 첫 번째로 유동성 제약이다. 아이겐레이어는 프로토콜에 리스테이킹된 이더리움에 대한 유동화 토큰을 제공하지 않기 때문에 사용자는 리스테이킹 시 자산이 묶이게 되며 언본딩 기간이 끝나기 전 까지 시장상황에 즉각적으로 대응할 수 없게 된다. 또한 자산을 다른 서비스에 활용할 수 없게 되어 기회비용 측면에서도 손해를 보게 된다. 두 번째로는 선택의 어려움이다. 아이겐레이어의 AVS들은 각기 다른 슬래싱조건들을 정할 수 있는데 리스크와 수익을 동시에 고려해 AVS 혹은 위임할 Operator를 선정하는 것은 상당한 노력과 시간을 투자해야 한다. 이러한 불편함을 해결하기 위해 리스테이킹된 토큰을 유동화 시켜주는 LRT(Liquid Restaked Token) 이라는 개념이 등장하게 되었다.

출처 : StaderLabs

사용자는 LRT 프로토콜의 컨트랙트를 통해 ETH 또는 LST를 예치함으로써 아이겐레이어에 간접적으로 리스테이킹 할 수 있으며 해당 자산의 소유권을 나타내는 유동화 자산인 $LRT 토큰을 받을 수 있다. StaderLabs를 포함한 대다수의 프로토콜의 경우 예치된 자산은 자체 DAO에 의해 운영된다. LRT프로토콜은 사용자의 불편함을 해소시켜 줄 수 있는 프로토콜이지만 이로 인해 발생할 수 있는 리스크들이 존재한다.

중앙화 리스크
현재 출시예정인 대부분의 LRT 프로토콜은 자체 DAO 구조에 의해 아이겐레이어의 AVS 검증에 참여하는 방식으로 동작한다. LRT 프로토콜의 규모가 증가함에 따라 아이겐레이어의 본래 의도와 다르게 AVS 검증주체가 지나치게 중앙화 될 수 있으며 이로 인해 검증인끼리 공모하여 AVS을 공격할 수 있는 가능성 또한 생길 수 있다.

슬래싱 리스크
이미 리스테이킹을 통해 슬래싱 리스크에 2번 노출되어있는 자산을 한번 더 유동화 함으로써 프로토콜 합의 및 AVS 검증에 사용되는 자산의 담보가치가 불안정해 질 수 있다. 예를 들어 규모가 큰 디파이 프로토콜의 해킹사태와 같은 이슈 발생 시 연쇄청산이 발생하여 이더리움 생태계 전반에 걸친 악영향이 발생할 수 있다. 만약 담보대출을 통해 $LRT 토큰을 여러 차례 레버리지 한다면 이러한 위험성은 더욱 커지게 된다.

5. Consensus Overhead

비탈릭 부테린은 최근 컨센서스 오버헤드(Consensus overhead)에 대한 다양한 의견을 제시하고 있다.

출처 : VitalkButerin (notes.ethereum.org/@vbuterin)

23년 5월에는 “Don’t overload Ethereum’s consensus” 라는 글을 통해 LST 이중사용 즉, 리스테이킹에 관한 시스템적 위험에 대한 의견을 제시하였다. 의견을 요약하면 다음과 같다.

  • 리스테이킹은 이더리움 벨리데이터의 복잡성과 위험성을 증가시킨다.
  • 벨리데이터에게 더 많은 권한을 부여하고 보안을 유지하는 프로토콜에 대한 추가 규칙을 준수하도록 요구한다.
  • 이더리움 프로토콜이 외부의 분쟁해결을 위한 리스테이크 프로토콜에 사용될 경우 커뮤니티 분할의 위험을 증가시킨다. 이로인해 새로운 이더리움 포크가 발생하고 보안이 파편화될 수 있다.

이처럼 비탈릭 부테린은 이더리움의 합의과정이 본래의 목적과 다르게 사용됨에 따른 과부화와 위험성을 계속해서 강조하고 있다. 또한 그는 최근 “Protocol and staking pool changes that could improve decentralization and reduce consensus overhead” 라는 글을 통해 현재(23년 10월)시점의 스테이킹 구조에 관한 문제점을 지적했다.

위임자의 의미에 대한 비탈릭부테린의 가설 및 검증

비탈릭 부테린은 현재 스테이킹 시나리오의 문제점을 두가지로 지적한다. 첫 번째로는 Node Operator 중앙화 리스크이다. 현재 이더리움의 스테이킹모델은 2가지 클래스의 참가자(위임자, Node Operator)로 구분되며, 이러한 구조로 인해 Node Operator가 중앙화 되고 있다. 두 번째로는 불필요한 합의 계층 부담(Needless consensus layer burden)이다. 최근 LSD, 리스테이킹등의 프로토콜이 출시되며 합의과정에 복잡성과 위험성이 증가한다는 주장이다.

“프로토콜의 관점에서 위임자(delegators)들이 갖는 의미는 무엇인가?”

컨센서스 과정에 간접적으로 참여하는 위임자의 비중이 큰 것에 비해 실제로 이 부하를 감당하는데 따른 이점이 존재하는지에 관한 질문이며 비탈릭 부테린은 이러한 질문에 대해 아래와 같은 가설을 제시했다.

가설은 두 가지 상황으로 분류한다. Case 1은 로켓풀의 시장점유율이 100%인 상황, Case 2는 네트워크상의 Node Operator를 100% 솔로 스테이킹으로 가정한다. 스테이킹한 자본(LST)들은 직접 노드를 운영할 의사가 없는 주체라고 가정한다.

  • Case 1.이더리움 검증의 슬래싱 패널티는 2ETH 이며 이더리움의 총 발행량은 1억개로 가정한다. (슬래싱 패널티는 로켓풀 오퍼레이터의 최소 예치금이 될 수 있다)
  • Case 2.위임자들은 직접 노드를 운영할 의사가 없으므로 이러한 가정을 위해 솔로스테이킹의 최소예치금을 2ETH (즉 Case2의 Node Operator = Case1의 staked by node operators)로, 이더리움의 총 발행량은 625만개로 가정한다.

결과 및 해석

case 1.

출처 : VitalkButerin (notes.ethereum.org/@vbuterin)

case 2.

출처 : VitalkButerin (notes.ethereum.org/@vbuterin)
  • 공격비용 (cost-of-attack perspective)
    Case 1 : 공격자는 위임자로 등록하지 않으며, Node Operator로 등록하는데 모든 ETH를 투입한다. 위임자가 스테이킹한 ETH(93.75%)는 권한이 없으므로 아무런 의미가 없다. 전체 지분의 1/3을 얻기 위해서는 2.08M ETH를 투입해야 한다.
    Case 2 : 공격자는 스테이킹을 해야 하며, 전체 지분의 1/3을 얻기 위해서는 2.08M ETH를 투입해야 한다.
  • 스테이킹 경제성 (staking economics perspective)
    Case1, Case2
    모두 Node Operator가 보유한 전체 ETH공급량 중 하루 0.00256%씩 증가하고, 비노드 운영자가 보유한 갯수는 0.00017%씩 감소한다.

즉, 스테이킹 보상을 4배로 줄이고, 스테이킹 가능한 ETH를 625만 개로 제한해도 공격비용과 스테이킹 경제성 관점에서 결과는 동일하며 중개자를 제거하고 스테이킹 보상을 줄이는 것이 나을수도 있다는 결론이 나오게 된다.

위임자의 역할 확대

이러한 근거로 비탈릭 부테린은 위임자가 의미 있는 역할을 해야 한다고 주장하며 위임자에게 다음와 같은 두가지의 역할을 부여하는것을 제안한다.

첫 번째로 대리인 선택 권한이다. 대리인은 자신의 지분을 위임할 Node Operator를 선택할 수 있어야 한다. 두 번째로는 위임자의 컨센서스 참여이다. 위임자에게는 컨센서스에서 수행할 역할을 맡을 수 있는 가벼운 옵션을 제공할 수 있으며, 이는 슬래싱 및 철회기간과 같은 리스크가 없지만, Node Operator를 견제하는 역할 수행할 수 있다.

2계층 스테이킹(two-tiered staking)

비탈릭 부테린은 위임자의 역할 확대를 위해 staked ETH의 계층을 2개로 분리하여 검증인이 두 개의 스테이킹 키를 지정할 수 있도록 하며 블록당 필요한 서명 수를 약 10,000개로 줄일 수 있는 프토토콜 변경을 제안한다. 복잡성이 높은 계층이 대부분의 작업을 처리하고 복잡성이 낮은 계층은 경우에 따라 호출되어 참여한다.

  • 첫 번째 계층 — Node Operator
    높은 복잡성을 가진 계층으로 슬래싱이 가능하며 매 슬롯에서 활동하지만 참여자가 10,000명으로 제한될 수 있다.
  • 두 번째 계층 — 위임자
    낮은 복잡성을 가진 계층으로 특정 Node Operator를 선택할 수 있으며, 슬래싱을 완전히 면제할 수도 있고, 소규모 스테이킹 역할 참여 여부에 따라 일시적으로(ex: 몇 개의 슬롯 동안) 슬래싱 대상이 될 수도 있다.

소규모 스테이킹 역할이 어떻게 작동되는지에 대한 몇 가지 아이디어는 다음과 같다.

  1. 이더리움의 각 슬롯에는 10,000명의 소규모 스테이커가 무작위로 선택되며, 소규모 스테이커와 Node Operator 사이에 차이가 발생하면 블록이 확정되지 않고 오류가 발생하며 커뮤니티가 상황을 중재하게 된다.
  2. 위임자는 현재 온라인 상태이며 다음 1시간 동안 소규모 스테이커로 서비스할 의사가 있다는 내용을 이더리움 네트워크에 선언하는 트랜잭션을 전송한다. 노드의 메시지가 승인되려면, 노드와 무작위로 선택된 위임자 모두의 승인이 필요하다.
  3. 위임자는 현재 온라인 상태이며 다음 1시간 동안 소규모 스테이커로 서비스할 의사가 있다는 내용을 이더리움 네트워크에 선언하는 트랜잭션을 전송한다. 매 에포크(epoch)마다 10명의 무작위 위임자가 포함 목록(inclusion list) 제공자로 선택되며, 추가로 10,000명이 투표자로 선택된다. 위임자는 블록 검증을 위해 포함 목록(inclusion list)을 게시할 수 있으며, 각 포함 목록에 대해 해당 포함목록의 트랜잭션을 포함하거나, 포함목록이 사용 불가능하다는 것을 증명하는 투표의 절반이 포함되지 않으면 블록이 유효하지 않게 된다.

이러한 역할의 공통 목표는 모두 Node Operator의 51% 공격을 방지하는 것이다. 첫 번째와 두 번째는 거래의 최종성 무효화(finality reversion)를 방지하며, 세 번째는 검열에 보다 초점을 두고 있다.

소규모 스테이커 역할은 각 슬롯의 활동에 매번 참여하지 않으며 슬래싱의 위험이 비교적 낮으며, 풀 노드를 실행할 필요 없이 컨센서스 레이어만 검증하는 가벼운 역할이 주어진다. 따라서 하드웨어 요구사항 또는 기술적인 요구사항이 낮은 앱이나 브라우저 플러그인을 통해 구현될 수 있다.

6. Conclusion

이더리움의 합의 알고리즘이 POS로 전환됨에 따라 스테이킹을 통해 트랜잭션 검증에 참여할 수 있게 되었다. 하지만 일반 사용자가 참여하기에는 높은 보증금과 기술적 장벽이 존재하였고 이러한 단점을 보완하기 위해 Lido와 RocketPool같은 LSD 프로젝트들이 나타나게 되었다. 또한 스테이킹된 이더리움을 활용해 이더리움 생태계의 파편화된 보안 문제를 해결하고자 하는 아이겐레이어와 같은 리스테이킹 프로토콜도 등장하게 되었다.

하지만 이러한 프로토콜로 인해 Node Operator가 중앙화 되고 합의 과정의 복잡성과 위험도가 증가하는 등 컨센서스 과부화 문제가 발생 하였다. 이를 해결하고자 관련 프로토콜들은 Staking Router를 통한 Node Operator 탈중앙화 및 DAO 구조 개선, 클라이언트 다변화 등 많은 노력을 하고 있지만 장기적인 관점에서 보았을 때 근본적인 해결 방법은 여전히 나오고 있지 않고 있다.

비탈릭 부테린은 이러한 문제들을 해결하기 위한 대안으로 위임자의 역할을 확대하는 방법을 제안한다. 그가 제안한 2계층 스테이킹을 통해 위임자는 권한이 확대되어 Node Operator를 견제하는 역할을 수행할 수 있게 된다. 이러한 제안은 위임자와 Node Operator 사이의 균형을 달성할 수 있는 좋은 아이디어이며 인간의 도덕적 압력에 의존하지 않고 현시점의 상황을 반영한 여러가지 가설 검증 등의 시뮬레이션을 통해 보다 현실적인 대안을 찾아나가고 있다는 점에서 긍정적이라 생각한다.

하지만 이러한 역할은 모든 참가자가 반드시 선택해야 하는 필수 조건이 아니며 충분한 보상 등 동기부여가 이루어지지 않을 경우 원하는 결과가 나오지 않을 가능성 또한 존재하기 때문에 앞으로 해당 제안이 구체화 되며 진행되는 과정을 지켜볼 필요가 있다.

References

https://blog.chain.link/liquid-staking/

https://blog.lido.fi/how-lido-works/

https://docs.rocketpool.net/

https://docs.eigenlayer.xyz/overview/whitepaper/

https://www.blog.eigenlayer.xyz/

https://4pillars.io/ko/article/38

https://consensys.io/blog/eigenlayer-a-restaking-primitive/

https://github.com/Layr-Labs/eigenlayer-contracts/

https://www.coindesk.com/tech/2023/09/27/eigenlayers-sreeram-kannan-on-the-hot-and-risky-ethereum-trend-of-restaking

https://vitalik.ca/general/2023/05/21/dont_overload.html

https://notes.ethereum.org/@vbuterin/staking_2023_10/

--

--