‘비싸도 너무 비싼’ 이더리움 수수료, 대폭 개편된다

By 강민승   Posted: 2021-01-12

블록 크기 늘리고 수수료 변동폭 줄이는 EIP 1559 개발 중...올 여름 적용 전망

최근 이더리움 수수료가 고공행진하며 큰 값으로 올라 사용성을 떨어뜨리고 있다는 지적이 나오고 있다. 특히 수수료의 변동 폭도 상당한 편으로 사용자가 몰리는 정도에 따라 사용자가 지불해야 하는 수수료도 천차만별이다. 암호화폐를 사용한 이자 농사 등 탈중앙화금융(DeFi, 이하 디파이) 서비스의 수요가 크게 증가한 점도 이같은 원인으로 풀이된다. 이더리움재단은 수수료의 변동성을 최소화하고자 이더리움 기능제안(EIP) 1559번을 현재 개발 중에 있다. 업계에선 이같은 기술이 이더리움의 수수료 체계를 효율적으로 개선할 수 있을지 주목하고 있다.

블록 크기는 두 배로, 기본료+팁 정책으로 탈바꿈

EIP-1559에선 수수료의 기본료를 도입하고 블록 크기를 두 배로 변경해 극심한 변동성을 잡겠다는 목표다. 현 이더리움의 수수료는 두 가지 문제점이 존재한다. 먼저 현 이더리움에선 사용자가 자신이 지불해야 할 최적의 수수료 금액은 사용자가 알 수 없다는 문제점이 있다. 수수료를 지불하는 방식 자체가 사용자 사이에 비밀 투표를 하듯 수수료로 지불할 가격을 직접 적어내는 구조기 때문이다. 만약 사용자가 내는 수수료가 시스템에서 요구하는 양보다 적으면 요청이 실행되지 않게 된다. 그렇다고 오히려 많이 내면 손해가 발생할 수밖에 없다. 

반면 EIP-1559에선 기본료를 도입해 수수료 가격을 미리 예측하기 쉽게끔 바꿀 예정이다. 여기서 기본료란 이더리움 프로토콜에서 사용자에게 걷어야 한다고 정하는 최소 금액을 말한다. 사용자가 ‘깜깜이 베팅’을 해야 했던 이전과 달리 기본료를 도입하면 가격을 어느 정도 예측해 대응할 수 있게 된다. 사용자도 기본료가 얼마인지 바로 알 수 있어 수수료를 지불하기 한결 수월해진다. 기본료는 이전 블록에서 처리한 연산량이 기준치보다 초과했는지 혹은 부족했는지에 따라 자동적으로 조정될 예정이다. 한편 사용자가 지불한 수수료는 채굴자에게 지급되지 않고 바로 이더리움 프로토콜 단에서 소각될 예정이다. 이더리움 코인의 내재 가치를 높이기 위한 조치라는 설명이다. 수수료를 채굴자에게 모두 지급하는 지금 방식과 완전히 반대된다. 

팀 러프가든 콜롬비아대학교 교수는 지난달 실리콘밸리 이더리움 밋업에서 “게임 이론을 통해 EIP-1559를 분석해보면 이더리움에서 발생하는 수수료를 채굴자에게 지급해선 안 된다. 담합이 발생할 수 있기 때문이다. 반면 이더리움재단은 EIP-1559에선 발생한 수수료를 누구도 받을 수 없게끔 설계했다. 수수료로 사용된 코인이 소각되면 남아있는 이더리움의 가치가 상승하는 효과가 생길 것”이라고 분석했다. 기본료를 걷어서 채굴자에게 지급하는 구조로 수수료 시스템을 운영하면 채굴자가 사용자와 담합해 블록체인 바깥에서 트랜잭션을 처리해 준 뒤 블록체인에 복귀해 기본료를 나눠가질 수 있다는 설명이다.

*게임 이론: (응용수학, 경제학에서) 경쟁 주체가 상대편의 대처행동을 고려하면서 자기의 이익을 효과적으로 달성하기 위해 합리적으로 수단을 선택하는 행동을 수학적으로 분석하는 이론

또 다른 이더리움 수수료의 문제점은 가격의 극심한 변동성에 있다. 이더리움의 수수료 가격은 쉽게 끓는 냄비처럼 빠른 시간에 피크 가격에 도달하는 특징이 있다. 수수료의 이같은 변동성은 사용자가 몰리는 정도에 따라 더욱 심화한다. 이더리움에선 현 수수료의 극심한 변동성을 낮추기 위해서 블록 크기를 현재보다 두 배 이상으로 키울 계획이다. 블록 사이즈를 두 배로 늘리면 블록 하나에서 처리할 수 있던 작업량도 두 배로 늘어나기 때문에 사용자의 요청을 더 쾌적하게 처리할 가능성이 높아진다.

일반적으로 이더리움의 블록 한 개는 송금 요청같이 간단한 트랜잭션을 600개 정도 처리할 수 있다. 또 블록 하나가 생성되는 데는 약 13초의 시간이 걸린다. 블록 사이즈가 두 배가 되면 처리할 수 있는 양이 1200건 정도로 늘어나는 셈이다. 다만 생성하는 모든 블록의 크기를 두 배로 만드는 건 아니다. 이더리움 사용량이 급증할 때에만 그당시 생성하고 있는 블록 크기를 최대 두 배까지 늘릴 계획이다. 이더리움재단은 매 순간마다 사용자의 요청을 최대한 많이 담을 수 있고 낭비가 발생하지 않는 최적의 크기로 블록을 생성하겠다는 목표다. 이는 상황에 따라 더 큰 냄비를 사용해 물이 끓어넘치지 않게끔 조절하는 것과 같은 이치다.

하지만 이같은 방식도 실제론 실현하기 쉬운 게 아니다. 이더리움 블록을 사용하고자 하는 수요를 측정하기가 애초에 쉽지 않기 때문이다. 실제로 블록에 기록된 트랜잭션을 파악한 건 쉽지만 눈에 보이지 않는 기록되지 못한 거래나 표류하고 있는 트랜잭션을 파악하기란 상대적으로 어렵다. 팀 베이코 컨센시스 개발자는 “이더리움 사용량이 급증할 때 블록 사이즈를 한시적으로 키운다 해도 언제 원래 크기로 되돌릴지 알아내는 방법이 현재 난제로 꼽힌다. 수요를 측정하기 어렵기 때문”이라며 “블록 사이즈를 가변적으로 설정한다 해도 트랜잭션을 관리하는 트랜잭션 풀에서도 관리가 쉽지 않을 것”이라고 말했다. 그는 이더리움의 트랜잭션 풀을 관리할 알고리즘 등을 개발해야 하는 과제가 앞으로 남아있다고 덧붙였다.

한편 이더리움을 사용하고자 하는 수요가 넘치면 블록 크기를 최대한으로 키워 운영해도 트랜잭션을 모두 수용하기 어려울 수도 있다. 때문에 EIP-1559에선 이런 경우를 대비한 팁이란 장치를 마련해뒀다. 팁은 기본료 위에 더해지는 별도의 요금이다. 팁은 채굴자에게 인센티브처럼 작용할 예정이다. 채굴자는 기본료는 획득할 수 없지만 팁은 가져갈 수 있다. 이는 현 이더리움에서 수수료를 지불하는 방식과도 비슷하다. 다만 EIP-1559에서 정해둔 팁은 1달러~2달러 수준으로 상대적으로 적은 금액으로 운영될 거란 설명이다. 이밖에도 사용자는 원하는 경우 ‘수수료 캡’ 기능을 사용해 채굴자에게 더 많은 금액을 얹어주고 요청을 바로 처리할 수도 있다.

수수료의 변동성을 잡는 장치일 뿐, 결코 저렴해지진 않는다

이더리움 블록체인에서 간단한 조회 기능을 제외한 각종 연산에는 수수료가 모두 부과되기 때문에 수수료가 걸쳐 있는 영역이 상당히 넓은 편이다. EIP-1559를 적용하면 수수료를 책정하는 과정부터 수수료 메커니즘을 운영하는 방식 모두가 바뀌는 만큼 상당한 규모의 업데이트가 될 예정이다. 현재 이더리움 클라이언트를 개발하는 여러 프로젝트에서도 EIP-1559의 기능을 지원하기 위한 테스트를 진행 중에 있다. 한편 파일코인에선 EIP-1559를 자체적으로 최근 구현했고 수수료 솔루션으로 탑재하고 있다.

베이코 개발자는 “이더리움에선 이르면 올 여름에 EIP-1559를 탑재할 계획이다. 컨센시스는 현 이더리움 메인넷과 유사한 정도로 트랜잭션을 처리하고 수수료 체계를 유지할 수 있는 테스트넷을 만들어 최적화 작업을 진행중에 있다. 개발 도구나 자바스크립트 원격프로시져콜(JSON-RPC) 등 여러 기술들이 EIP-1559에 맞춰 업데이트될 예정이다. 향후 이더리움 클라이언트 프로그램의 상당한 변화가 예상된다”고 전망했다. 한편 이더리움에 EIP-1559가 구현되더라도 사용자는 기존 방식 그대로 사용해 수수료를 지불할 수도 있을 계획이다. 사용자의 트랜잭션 요청은 자동적으로 EIP-1559 형식으로 변환돼 적용될 예정이다. 

다만 EIP-1559를 도입한다고 해도 이더리움의 수수료 금액 자체를 낮추기는 어려울 전망이다. EIP-1559는 애초에 수수료 가격 자체보단 가격의 변동폭을 줄이는 솔루션이기 때문이다. 만약 이더리움을 사용하고자 하는 수요가 앞으로도 계속 고공행진하면 EIP-1559를 적용한다 해도 높은 수수료를 개선하는 효과는 미미할 거란 설명이다. 

러프가든 교수는 “EIP-1599는 이더리움 수수료의 변동성을 낮출 솔루션으로 수수료 가격 자체를 크게 낮춰주진 못한다. 이더리움을 사용하는 수요가 계속 늘게 되면 어떠한 수수료 메커니즘을 사용한다 하더라도 비싼 수수료 문제를 해결할 수 없을 예정이다. 이런 경우 해법은 샤딩 혹은 지케이 롤업처럼 레이어2 솔루션에 달려있다. 확장 솔루션을 사용해 온체인 연산의 수요를 분산시키는 방식이 앞으로 더욱 중요할 것”이라고 말했다. 

*세컨드레이어(레이어2) : (블록체인 확장 기술) 블록체인의 확장성을 높이기 위해 블록체인 바깥에 데이터를 처리하는 레이어를 별도로 추가하는 방식. 블록체인 자체의 연산 부담을 줄일 수 있다.

[강민승 기자]