이더리움 공동 창시자 비탈릭 부테린과 이더리움 재단은 블록체인 최적화를 위해 블록의 최대 크기를 축소하는 5가지 방안을 논의했다.
5일(현지시간) 비탈릭 부테린과 토니 와슈테터 이더리움 재단 연구원은 "지난 12개월 동안 평균 블록 크기가 두 배 증가했다"면서 블록 설계를 개선할 필요성을 강조했다.
이들은 "더 많은 롤업이 데이터가용성(DA)이나 인스크립션 같은 활동에 이더리움을 사용하기 시작하면서 블록 크기가 증가했을 것"이라고 진단했다.
이어 "롤업 중심의 로드맵을 고려할 때 블록 공간의 사용 방식은 아직 최적화되지 않았다"고 지적했다.
비탈릭 부테린과 와슈테터 연구원은 해당 문제를 개선하기 위한 5가지 가능한 해결 방안을 제시했다.
이들은 "블록 가스 한도와 0이 아닌 콜데이터 바이트의 가격을 높이면 블록 크기가 작아지고 가변성이 줄어 향후 더 많은 블롭을 추가할 공간을 확보할 수 있다"고 설명했다.
이더리움 가스 한도는 각 블록에서 트랜잭션이나 스마트 컨트랙트 실행에 사용되는 최대 가스량이다. 블록 크기가 너무 커져서 네트워크 성능이나 동기화에 영향을 주지 않도록 제한이 걸려있다.
개발자들은 가스를 소비하는 '콜데이터'가 네트워크 부하를 증가시키는 만큼 보안 수준을 약화시키지 않고 가스 한도를 높일 방안을 모색하고 있다.
부테린과 와슈테터 연구원이 제안한 첫 번째 해결책은 콜데이터 비용을 16가스에서 42가스로 높여 최대 블록 크기를 1.78MB에서 0.68MB로 줄이는 방법으로 블록 가스 한도를 높이는 것이다.
가장 간단한 방식으로, 최대 블록 크기를 줄이고 향후 더 많은 블롭을 위한 공간을 마련할 수 있다고 설명했다. 데이터 가용성을 위한 콜데이터 사용 비용을 증가시켜 다차원 수수료 시장도 강화할 수 있다고 덧붙였다.
다만 "단순히 콜데이터 비용을 42로 올리는 것은 너무 둔탁한 접근 방식일 수 있다"고 말했다.
비탈릭 부테린은 "해당 방식이 데이터 가용성을 위한 콜데이터 사용을 장려하지 못할 것"이라면서 "온체인 증명을 위해 대량의 콜데이터가 필요한 스타크넷 등의 앱에 부정적인 영향을 미칠 것"이라고 설명했다.
두 번째 해결책은 콜데이터 비용은 늘리되 옵코드(opcode, 동작실행) 등 다른 비용은 낮추는 방법이다.
콜데이터는 스마트 컨트랙트의 함수 호출 시 '입력값'으로 제공되는 데이터를 가리킨다. 옵코드는 연산 코드로 이더리움가상머신(EVM)에서 어떤 연산을 수행할지 지정하는 명령어이다.
첫 번째 방식과 마찬가지로 구현이 간단하지만 잠재적인 부작용에 대한 추가 분석이 필요하며 콜데이터 비용 증가를 완전히 상쇄하지 못할 수 있다고 설명했다.
세 번째 방안은 EIP-4488에서 제안된 것처럼 블록 당 콜데이터를 제한하는 것이다. 데이터 가용성을 위해 콜데이터 사용을 억제하고 최대 블록 크기를 줄일 수 있으며 표준 트랜잭션이나 토큰 전송에는 영향을 주지 않을 수 있다.
다만 앞서 제시한 해결책과 비교해 분석 및 구현이 복잡하고, 마찬가지로 데이터 가용성을 위한 콜데이터 사용 이점이 줄고, 데이터 의존도가 높은 앱에 영향을 미친다고 지적했다.
네 번째 해결책은 데이터 블롭 처리 방식 같은 별도의 콜데이터 수수료 시장을 만들어 가스 한도를 높이는 방식으로, 콜데이터 비용은 수요에 따라 자동 조정된다.
데이터 가용성에 사용되는 데이터 외에도 실행에 필요한 콜데이터를 위한 새로운 컨테이너를 도입해, 실행과 데이터에 사용되는 호출 데이터를 완전히 분리하게 된다. 역시 분석 및 구현이 상당히 복잡하다는 점을 짚었다.
마지막 옵션은 콜데이터를 많이 사용하는 앱에 보상하는 'EVM 로열티 보너스'를 제공하는 방법이다. 비탈릭은 "해당 방식을 통해 콜데이터 의존 앱을 과도하게 손상시키지 않으면서 블록 크기를 줄일 수 있다"고 밝혔다.