brunch

You can make anything
by writing

C.S.Lewis

by 김재윤 May 21. 2023

나의 이더리움 스테이킹 일지

28개월 간 318%의 수익율을 기록하다.

나는 디파이 썸머가 한창이던 2020년 11월에 이더리움 2.0 벨리데이터를 시작했었다. 당시 이더리움의 시장가는 약 68만원이었고, 이더리움 벨리데이터를 시작하기 위해서는 32ETH를 스테이킹해야 했다. 당시에는 암호화폐 뿐만 아니라 주식과 부동산 등 모든 자산 가격이 폭등하기 시작하던 시기라서 이더리움에 투자하는게 최선의 선택지는 아니었지만, 이더리움이 지분 증명 합의 방식(Proof-of-Stake; PoS)으로 전환되면서 누구나 이더리움의 벨리데이터가 될 수 있게 되었고, 이에 따라 이더리움의 벨리데이터가 되어 보고 싶은 생각이 들었다. 그래서 약 2,176만원을 투자해 32ETH를 구매하고 이더리움의 벨리데이터가 되기 위한 대기열에 들어갔다.


2020년 11월, 이더리움 벨리데이터 대기열에 등록하면서 영상을 찍었고, 유튜브 활동을 본격적으로 시작하게 되었다.


사실 이더리움의 벨리데이터가 되기 위해 32ETH를 묶어두고 노드를 운영하는 것은 상당한 리스크를 동반하고 있었다. 벨리데이터가 되는 방법은 있지만, 벨리데이터를 중단하고 투자금을 회수하는 방법이 언제 구현될지는 미지수였기 때문이다. 따라서 이더리움의 가격이 어떻게 움직이던지 꼼짝없이 32ETH를 들고 벨리데이터 운영을 해야만 했다. 또한, 연간 이자율이 당시 기준으로 약 7%, 그것도 ETH로 이자를 주기 때문에 이더리움의 가격 상승에 풀 베팅을 하는 것과 같았다. 게다가 이더리움 노드 운영을 위해 서버를 구축해야 했고, 출금이 가능해질 때까지 노드를 계속해서 잘 운영해야 한다는 부담이 있었다.


2019년에 운영하던 나의 작은 채굴장. 이더리움의 채산성이 떨어져서 운영을 중단했었다.


그럼에도 불구하고 노드를 운영해보고 싶다는 욕망을 억누를 수 없었다. 왜냐하면, 나는 2019년에도 신림동의 근린생활시설을 임대하여 이더리움 채굴장을 만들어서 운영했을 정도로 채굴에 진심이었기 때문이다. 나 같은 개인이 글로벌 금융 인프라를 운영하는데 기여하고 그 댓가로 수수료 수익을 받아갈 수 있다니 정말 매력적이지 않은가?! 그 당시에 중고 채굴기를 구하기 위해 전국을 돌아다녔었지만 아쉽게도 이더리움의 채산성이 떨어지면서 운영이 어려워져 채굴을 중단했었다. 하지만 PoS 업데이트가 되면서 채굴기 없이 일정량 이상의 이더리움만으로 다시 벨리데이터가 되어 네트워크에 기여하고 수수료 수익을 받아갈 수 있게 된 것이다.


그렇게 2년이 넘는 시간 동안 이더리움 벨리데이터를 운영해왔고, 그 동안 유튜브도 성장하고 창업도 하게 되었다. 마침내 2023년 4월, 약 28개월만에 벨리데이터 운영을 중단하고 이더리움을 회수할 수 있는 샤펠라 업그레이드가 이루어졌고, 2023년 5월, 벨리데이터를 중단하고 37.2ETH (32ETH + 5.2ETH)을 출금했다. 그 결과 약 9,100만원을 손에 쥐게 되었다. 투자금 대비 318%의 수익율을 기록한 것이다! 사실 약 1ETH 정도를 더 벌었는데, 벨리데이터를 운영하면서 플래시봇이라는 프로그램을 함께 돌렸고, 이 플래시봇이 내가 블록을 만들 차례가 되었을 때 처리할 트랜잭션들을 선정하고 정렬하는 과정에서 알파를 찾아서 추가적인 수익을 가져다 주었기 때문이다. 이러한 행위를 MEV(Maximal Extractable Value)라고 부른다.


나의 벨리데이터 성적표. 프라이버시를 위해 에폭 정보는 숨겼다.


나는 이더리움 비콘체인의 제네시스 블록에서부터 벨리데이터 활동을 시작해서 28개월 동안 47개의 블록을 만들었고, 약 20만 번의 검증을 수행하였으며, 시그니처를 모아주는 싱크 위원회에 4번 참여했었다. Effectiveness를 보면 각 항목에서 2~3% 정도를 놓쳤다는 것을 알 수 있는데, 그 이유는 모종의 이유로 노드가 멈춰서 네트워크에 참여하지 못했던 순간들이 종종 발생했기 때문이다. 노드가 멈추는 이유는 크게 다음 세가지로 정리해볼 수 있다.

프로토콜이 업그레이드되어 노드 클라이언트를 업그레이드해줘야 하는 경우

노드가 차지하는 스토리지의 크기가 증가해서 SSD에 남은 용량이 없는 경우

클라이언트 버그가 있는 경우

우선, 프로토콜이 업그레이드되는 경우에는 보통 노드 클라이언트를 업그레이드 해주면 쉽게 해결이 가능하다. 하지만, 업그레이드가 된 이후에 대응을 하게 되면 노드가 멈춰 있는 기간이 발생하므로 미리 업그레이드를 해주어야 하는데, 업그레이드에 대해서 파악하기 위해서는 인터넷 기사나 트위터, 유튜브 등을 지켜보고 있어야 하므로 바쁜 현생을 살다 보면 놓칠 때가 많았다.

두 번째로 SSD에 빈 공간이 없는 경우 SSD를 추가적으로 달아주어야 하는데, 1TB 이상의 SSD를 추가로 설치해야 한다. 하지만, 설치한다고 끝나는게 아니라 기존에 사용하던 SSD를 새로운 SSD와 RAID로 묶어서 포맷하고 데이터를 새로 받아야 하므로 시간이 오래 걸린다. 이더리움의 노드를 동기화하는데 걸리는 시간은 최소 반나절에서 최대 일주일까지 소요되기 때문이다. 물론 SSD를 많이 사서 구축하고 기존 데이터를 덤프하면 비용이 많이 드는 대신 노드 중단 시간을 줄일 수 있다. 하지만 손익을 따져보면 SSD를 많이 사는건 손해다.

세 번째로 클라이언트에 버그가 있는 경우엔 내가 할 수 있는게 거의 없다. 보통 클라이언트가 특정 데이터를 찾지 못하거나 검증에 실패해서 동기화가 진행이 안되는 경우가 많이 발생하는데, 시스템 로그를 보면서 이것 저것 해보다가 도저히 안되면 데이터를 다 날리고 새로 받는 것이 가장 깔끔하다. 그렇게 되면 노드를 동기화 할 때까지 네트워크에 참여하지 못하게 된다. 뿐만 아니라, 이번에 발생한 Prysm 클라이언트의 버그처럼 데이터 문제가 아닌 경우도 존재한다.


이처럼 노드 운영은 쉽지 않은 일이기 때문에 보통은 Lido나 벨리데이터 업체같은 전문 기관이나 거래소에 위탁 운영을 하는 경우가 많다. 컴퓨터공학을 전공하고 박사과정까지 밟은 나조차도 노드 운영이 쉽지 않았기 때문에 이제 그만 출금을 하고 마음의 평안을 찾으려 한다. 나는 비록 소기의 목적을 달성하고 출금을 하지만, 이더리움 등 암호화폐의 상승에 베팅하고 싶은 개인 및 기관들에게 벨리데이터 사업은 여전히 매력적이기 때문에 많은 기관들이 이더리움 스테이킹에 관심을 가지고 생태계로 들어오고 있다. 그런데 만약 노드 운영이 쉬운 프로토콜과 클라이언트를 만든다면 더 많은 사람들과 기관들이 생태계에 참여할 수 있지 않을까?

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari