Defi (1) – Liquid Staking, Restaking, Liquid Restaking

요즘 Defi 생태계는 복잡하다. Liquid Staking, Restaking, Liquid Restaking, LST, LRT 등등..

오늘은 이더리움 생태계를 기준으로 해당 개념들에 대해 알아보자.

<이더리움의 합의 메커니즘>

이더리움의 합의 메커니즘은 2022년 9월 ‘The merge’ 업그레이드를 통해 작업증명(PoW)에서 지분증명(PoS)으로 바뀌었다.
지분증명은 그 이름에서 알 수 있듯이, 블록 생성 및 검증에 참여하기 위해 해당 체인에 대한 나의 지분을 증명해보여야 한다.
이를 증명하는 방식이 스테이킹(staking)이고, 이더리움 네트워크의 검증자가 되어 블록 생성 및 검증에 참여하기 위해서는 32 ETH을 스테이킹 해야 한다.
이렇게 스테이킹 된 이더리움은 검증자가 잘못된 행동을 했을 때 차감되는 담보로 사용되기도 한다. 이 담보라는 개념은 추후 설명할 리스테이킹(restaking)에서도 중요한 개념이다.

추가) 25년 5월 7일 이더리움 pectra 업그레이드가 진행되며 최대 스테이킹 물량이 32ETH에서 2048ETH로 늘어났습니다. 본 글은 25년 1월에 쓰인 내용으로 해당 내용이 반영되지 않았으니 참고하시기 바랍니다.

(참고) 이더리움 블록체인의 생성 및 검증 과정


1) 사용자가 dapp을 통해 트랜잭션(transaction)을 요청한다.

2) dapp과 연결된 풀 노드(full node) 혹은 rpc 노드로 트랜잭션이 전달된다.

3) 트랜잭션을 전달받은 노드에서 트랜잭션의 유효성을 검증한 후, 유효한 트랜잭션을 메모리 풀(mempool)에 등록한다. 유효한 트랜잭션은 피어 네트워크(peer network)에 연결된 다른 노드로 다시 전송되며 같은 과정이 반복된다.

4) 채굴자(miner) 혹은 검증자(validator)가 자신과 연결된 노드의 메모리 풀에서 유효한 트랜잭션을 모아 새로운 블록을 생성한다.

  • PoW 방식에서는 채굴자가 블록의 헤더와 논스(nonce) 값을 더한 뒤 해싱(hashing)하여 해시(hash) 값을 생성하는데, 그 해시 값이 특정 해시 값보다 작은 값이 나올때까지 논스 값을 증가시키며 작업을 반복한다. 이 목표에 가장 빨리 도달하는 채굴자가 블록을 생성하게 된다.
  • PoS 방식에서는 검증자 중 하나를 선택하여 블록을 생성할 권한을 부여한다.

5) 생성된 블록을 검증하고 유효한 블록을 네트워크에 추가한다.

  • PoW 방식에서는 모든 노드가 생성된 블록의 유효성을 독립적으로 검증하고 이를 블록체인에 추가한다. 각 노드는 ‘해당 블록이 추가된 자신의 체인’이 ‘네트워크 상의 가장 긴 체인’과 일치하는지 확인한다. 이때 가장 긴 체인이 정상적인 체인으로 채택된다.
  • PoS에서는 검증자 중 일부 집단이 블록에 대해 검증하고 이를 블록체인에 추가한다.

6) 블록이 추가된 상태를 모든 노드가 다운로드하여 동기화된다.

<The merge 업그레이드 당시의 문제점>

처음 The merge 업그레이드가 이루어졌을 당시에는 다음과 같은 문제가 있었다.

  • 첫째, 스테이킹을 하면 일단 유동성이 묶이고, PoS로의 완전한 전환이 이루어지기 전까지는 스테이킹한 이더리움의 출금이 불가능했다.
    (2023년 4월 상하이 업그레이드가 완료되며 출금은 가능해졌다. 검증자로서 스테이킹을 했을 때 유동성이 묶이는 문제는 여전히 존재한다.)
  • 둘째, 개인이 블록 생성 및 검증에 참여하기에 필요한 $ETH 최소 수량이 32 ETH로 너무 높다
    (25년 1월 4일 기준 32ETH은 한화 약 1억 6천만 원에 해당한다.)
  • 셋째, 개인이 직접 오퍼레이터가 되기에는 운영 및 유지 보수가 기술적으로 어렵다.

<Liquid Staking>

The merge 이후 스테이킹과 관련된 문제를 해결하기 위해 다양한 서비스가 출시되었다.
 
특히, 스테이킹된 이더를 출금할 수 없어서 유동성이 오랜 기간 묶여버리는 문제를 해결하기 위해 유동성 스테이킹(Liquid Staking) 이라는 개념이 등장했다.
유동성 스테이킹을 제공하는 프로토콜에서는 이더리움을 (직접 스테이킹 하지 않고) 검증자에게 위임하면 그 증서로 Liquid Staking token(LST)을 발행해준다. 아이렇게 얻은 LST를 활용하면, 스테이킹을 통한 reward를 받으면서도 다른 Defi protocol에서 대출 등을 받을 수 있다. (현재는 이더리움을 자유롭게 출금할 수 있지만, 어쨌든 스테이킹을 하게 되면 유동성이 묶이는 것은 마찬가지이기 때문에 유동성 스테이킹은 여전히 의미가 있다.)

유동성 스테이킹을 제공하는 대표적인 서비스로는 Rocket pool, Lido 등이 있다.

예를 들어,
Rocket pool에서는 단순 Defi 활동 참여자(위임자)와 노드 운영자에게 다음과 같은 서비스를 제공한다.

<단순 Defi 활동 참여자(위임자)를 위한 서비스 – liquid staking>

  • Rocket pool에서는 ETH을 예치(위임)하면 rETH라는 LST를 발행해 준다. 이 LST를 다른 defi 활동에 활용할 수 있다. 이를 통해 첫 번째 문제를 해결할 수 있다.
     
  • 위임자들은 0.01ETH부터 스테이킹(위임)에 참여하여 이자를 지급 받을 수 있다. (대신, 노드 운영자가 설정한 수수료를 지불해야 한다.) 이를 통해 두 번째, 세 번째 문제를 해결할 수 있다.

<노드 운영자(검증자)를 위한 서비스 – node staking>

  • Rocket pool에서는 노드 운영을 원하는 사람이 8 ETH 혹은 16 ETH을 예치하면 스테이킹 풀에 모인 위임자들의 ETH을 모아 나머지 24 ETH 혹은 16 ETH을 지원해준다. 이를 통해 노드 운영에 필요한 자금의 진입장벽을 낮춘다.
     
    • 21년 문서 기준으로는 최소 예치량이 16 ETH 이었으나, 23년 4월 atlas 업데이트 이후 최소 예치량이 8 ETH로 낮아졌다.
       
    • 단, 노드 운영자가 예치한 ETH에 대해서는 LST가 발행되지 않는다. (liquid staking이 아니다)
       
    • 노드 운영자가 ETH을 빌린 후 노드를 불성실하게 운영하지 않도록 다양한 장치가 마련되어 있다.

Lido 또한 비슷한 서비스를 제공하나 Lido에서는 (위임자로부터 ETH을 위임 받아 노드를 운영하는) 노드 운영자를 DAO에서 직접 선출한다. (엄격한 과정을 거쳐 선출되는 만큼 노드 운영자가 직접 예치해야 하는 ETH은 없고, Lido에 위임된 ETH로 32ETH를 채워주는 것으로 보인다.)
일반 사용자는 ETH을 예치하여 stETH라는 LST를 받을 수 있고, 최소 스테이킹(위임) 수량은 0 이상이기만 하면 되는 수준으로 매우 낮다.
(여담으로, Lido의 stETH는 rebase라는 방식을 통해 리워드를 제공하는데, 이는 추후에 다른 글에서 다뤄보도록 하겠다.)

<Restaking>

이후 Eigenlayer라는 프로젝트가 등장하며 리스테이킹(restaking)이라는 개념이 등장했다. 리스테이킹은 이더리움 검증자가 이더리움 네트워크 검증에 참여하기 위해 담보로써 예치한 이더리움을 다른 모듈(다른 서비스)에서도 동시에 담보로 사용할 수 있도록 만드는 것이다. 이미 담보로 스테이킹한 이더리움을 다른 곳에서도 (담보로) 활용할 수 있게 해주기 때문에 스테이킹이라는 용어를 사용한 것으로 보인다.

예를 들어, A라는 프로젝트가 가장 아랫단부터 자체 체인을 만들고, 자체 토큰을 스테이킹 하는 방식으로 자신들만의 네트워크를 구축해야 한다면, 많은 시간적, 물리적, 인적 비용이 들어갈 뿐만 아니라, 자체 네트워크를 구성한다고 해도 이더리움 만큼의 신뢰도를 보장할 수 없다.

Eigenlayer는 이더리움 검증자로 참여하고 있는 이들이 이더리움 네트워크에 스테이킹한 ETH을 담보로 걸고 각 프로젝트가 필요로 하는 작업을 대신 처리해 준 뒤 그 대가(수수료)를 받아갈 수 있도록 해준다.

  • Eigenlayer에서는 A와 같은 프로젝트들을 모듈 혹은 AVS(actively validated services)라고 부른다.
     
  • 신뢰도가 높다는 것은 이더리움 PoS에 참여하는 참여자들이 매우 많고 그 경제적 규모가 크기 때문에 보안의 수준이 높다는 것이다. 그러나 AVS가 얻는 신뢰도는 이더리움 전체의 신뢰도가 아니라, 이더리움 검증자들이 리스테이킹을 통해 해당 AVS에 얼마나 참여하는지에 따라 달라진다. 리스테이킹된 ETH의 양과 리스테이킹에 참여한 검증자의 숫자만큼의 보안을 가져오는 것이기 때문이다.
     
    Eigenlayer에서는 정직한 노드의 경우 슬래싱(slashing)*될 위험이 없기 때문에 리스테이킹에 참여하는데 드는 추가 자본 비용이 매우 적거나 이론적으로는 0에 가까우므로 검증자들이 리스테이킹 참여하지 않을 이유가 없다는 식으로 논리를 전개하는데, 실제로는 어떻게 될지 지켜볼 일이다.
     
    *(노드 운영 과정에서 잘못된 행위를 저질렀을 때 처벌로 예치된 이더리움의 일부를 잃게 되는 것)
     
  • 별개의 이야기이나, 비탈릭 부테린은 이를 보고 리스테이킹을 통해 검증자들이 여러 프로토콜에 동시에 참여함으로써, 하나의 프로토콜에서 발생한 문제가 다른 프로토콜로 확산될 수 있는 위험이 있다고 지적하였다. 리스테이킹이란 하나의 담보(ETH)를 사용해서 여러 프로토콜의 활동에 참여하는 것인데, 특정 프로토콜에서 문제가 발생하여 슬래싱이 이루어지면, 하나의 프로토콜에서 발생한 문제임에도, ‘공통’으로 사용하는 담보가 사라져 해당 프로토콜에 참여한 검증자가 참여하는 모든 프로토콜에 영향을 미치기 때문이다. 프로토콜이 많아질수록 취약점은 늘어난다.
     
    예를 들어, 모든 검증자가 이더리움 외의 모든 프로토콜에 공통으로 참여하고 있다고 가정해보자. 이때 하나의 프로토콜에 문제가 발생하여 담보가 사라졌다고 가정하면, 전체 네트워크에 대한 모든 담보가 순식간에 사라질 수 있고 하나의 프로토콜에서 발생하는 문제가 다른 프로토콜, 심지어 본체인 이더리움까지 확산될 수 있는 것이다. (X라는 프로토콜의 보안이 아무리 강하다 해도 Y라는 프로토콜의 보안이 약하다면 가장 약한 곳 만큼의 보안이 전체 네트워크의 보안이 된다. Law of the Weakest Link)

Eigenlayer는 백서에서 자신들이 보안을 사고 파는 open market mechanism을 제공한다고 설명한다.

AVS는 이더리움의 보안을 구매하는 구매자가 된다. (Eigenlayer에 어떤 AVS가 있는지는 여기서 확인할 수 있다.)

반대로, Native ethereum staker(이더리움을 직접 스테이킹하고 검증자로 활동하는 주체) 혹은 LST를 Eigenlayer에 리스테이킹한 위임자들은 신뢰를 판매하는 판매자가 된다.

  • Native ethereum staker의 경우, eigenpod이라는 스마트 컨트렉트를 작성함으로써 기존에 스테이킹 되어 있는 이더리움의 출금 권한(widthrawal credentials)을 eigenpod으로 돌리고 이를 통해 리스테이킹에 참여한다. 그리고 이를 통해 AVS는 정해진 패널티 조건에 따라 담보로 제공된 ETH를 슬래싱할 수 있는 권한을 가질 수 있으며, 사용자는 AVS가 요청하는 활동에 참여하여 보상을 획득한다.
     
  • 위임자의 경우, 이더리움을 스테이킹(위임)하고 받은 LST를 예치하는 경우 Eigenlayer에 스테이킹하면 알아서 처리해준다.

이를 통해 각 주체가 얻는 이득은 다음과 같다.

  • AVS는 자체 네트워크를 구축하지 않고도 이더리움 네트워크의 검증 네트워크를 빌려 쓸 수 있다.
  • Native ethereum staker(검증자)는 추가적인 수익을 낼 수 있다. (Eigenlayer로부터 받는 지원금, AVS가 지불하는 fee(ETH 혹은 AVS가 정한 ERC-20 토큰) 등)
  • 위임자는 LST를 리스테이킹하여 추가적인 수익을 낼 수 있다.

이때, 신뢰할만한 AVS를 선택하는 것이 중요하다. 왜냐하면 AVS의 실수나 악의에 의해 슬래싱이 발생할 수 있기 때문이다. 아래는 슬래싱이 발생할 수 있는 예시 상황이다.

  • 예시 1) AVS 소프트웨어 버그: AVS의 소프트웨어에 버그가 있을 경우, 검증자가 해당 소프트웨어를 실행하는 과정에서 예기치 않은 오류가 발생하여 슬래싱될 수 있다.
  • 예시 2) 악의적인 AVS 설계: AVS가 악의적으로 설계되어 검증자의 자산을 탈취하거나 부당하게 슬래싱할 수 있다.
  • 예시 3) AVS의 취약점: AVS의 프로토콜이나 스마트 컨트랙트에 취약점이 있을 경우, 공격자가 이를 악용하여 검증자의 ETH을 슬래싱할 수 있다.

<Liquid Restaking>

이에 믿을 만한 AVS가 누구인지 대신 판단해주는 서비스들이 나왔는데, 이것이 Puffer, Swell과 같은 서비스들이다.
이러한 서비스를 이용하면 Eigenlayer에서 제공하는 혜택을 받으면서도 다음과 같은 추가적인 혜택을 받을 수 있다.

  • 리스테이킹을 하면서도 유동성을 유지할 수 있다.
     
    이러한 서비스들에 ETH 혹은 LST를 위임하여 리스테이킹하면 LRT(Liquid Restaking Token)을 발행해준다.
     
    ETH을 스테이킹(위임)하고도 유동성을 유지할 수 있도록 LST를 발행해 주었듯이, Restaking(위임)을 한 이후에도 유동성을 유지할 수 있도록 LRT를 발행해 주는 것이다. 그래서 이러한 서비스들을 ‘liquid’ restaking protocol 이라고 한다.
     
    • 예) puffer에 ETH나 LST를 리스테이킹하면, pufETH라는 LRT를 발행해주고, Swell에 ETH을 리스테이킹하면 rswETH라는 LRT를 발행해준다.
       
    • 참고) ETH을 스테이킹한적이 없는데 어떻게 리스테이킹이 가능하냐고 물어본다면, 해당 서비스에 ‘리스테이킹’을 신청하면 서비스 측에서 자체적으로 스테이킹 과정을 거쳐서 리스테이킹 하기 때문에 가능한 것이다.
       
    • 참고) Eigenlayer는 리스테이킹에 대해 LRT를 제공하지 않는다. 그렇기 때문에 유동성 리스테이킹(liquid restaking)이 아니라 그냥 리스테이킹(restaking)이다. 서비스들은 ETH을 서비스에 ‘위임’한 경우에 한해 LST나 LRT를 발행해준다. (LST를 예치하고 LRT를 받는 것은 서비스 내부에서 LST를 다시 ETH으로 바꾸고 리스테이킹하는 과정을 거치므로 ETH을 위임한 것으로 간주)
       
  • 경우에 따라 해당 서비스의 거버넌스 토큰(ex. puffer, swell 등)을 받을 수도 있다. (토큰 출시 전에 해당 서비스를 참여하여 에어드랍을 받거나, 출시 이후라도 각 서비스의 정책에 따라 특정 기능을 사용하여 리스테이킹을 하면 거버넌스 토큰을 주기도 함)
     
  • 해당 서비스들이 참여한 AVS의 거버넌스 토큰도 받을 가능성이 있다. (AVS의 거버넌스 토큰이 아직 출시 전이라면 해당 토큰이 출시될 때 리스테이커(restaker)들에게 airdrop 해줄 가능성이 있다)

물론, ETH > LST > LRT로 넘어오면서 리스크가 중첩되기 때문에, 어떤 수준의 서비스까지 사용할지는 개인의 선택이다.

<도식화>

일단 급한대로 도식화를 해보았는데(ㅎ…), 추후 조금 더 다듬어서 올리도록 하겠다…

스테이킹 및 리스테이킹 생태계 도식화

Leave a Comment