Scaling Ethereum & crypto for a billion users을 보고 정리한 글입니다.
2021년 현재, 이더리움은 가장 큰 스마트 컨트랙트 플랫폼으로 수많은 개발자와 유저들이 사용하고 있다. 많은 사람들 ,돈이 몰렸기에 이에 따른 확장성 문제는 항상 이슈가 되었다. 첫번째로, 너무 높은 수수료이다. 이더리움의 가스비는 경매 시스템에 기반한다. 이더리움을 이용하는 유저가 늘어날수록, 경쟁은 치열해지고 가스비는 높아질 수 밖에 없다. 두번째로, finality 시간이다. 하나의 블럭이 생성되는데 이더리움은 15초가 걸린다. 이 포스트의 제목처럼 수십억명의 유저들이 사용하기에는 현재의 이더리움은 너무 느리고, 비싸다.
수십억명의 유저들에게 블록체인을 전파하기 위하여 우리가 살펴볼 솔루션은 크게 다음과 같다.
이더리움의 경쟁자인 layer 1 블록체인
이더리움과 상생하는 사이드체인
이더리움을 보완하는 layer 2 네트워크
서로 선택한 방식은 다르지만, 위 솔루션은 모두 유저들이 높은 수수료를 내지 않고, 많이 기다리지 않은 채로 블록체인 위에 만들어진 생태계에 접근할 수 있는 것을 목표로 한다.
layer 1은 이더리움, BSC, 솔라나등과 같이 각각 독립적인 네트워크로, 각자만의 합의 알고리즘, 규칙, 생태계를 가지고 있다. 이더리움의 확장성 문제가 부각되면서, 이더리움의 대체자 역할을 할 수 있는 layer 1들이 많은 지지를 얻고 있다.
하지만, 여전히 대부분의 리소스는 이더리움 네트워크에 집중되어 있다. 그렇기 때문에 이더리움이 아닌 layer 1들은 EVM을 지원하여 현재 이더리움 위에 만들어진 어플리케이션을 쉽게 옮겨 올 수 있게 하였다. EVM은 이더리움 가상 머신으로, 이더리움 네트워크 위의 트랜젝션들은 모두 EVM에서 샐행된다.
하나의 예는 BSC인데, BSC는 EVM 호환이 가능하기 때문에, 이더리움 네트워크 상의 DeFi, DEX등 여러 어플리케이션들이 쉽게 복사되어서 만들어졌고, 이는 많은 유저들을 유입하였다.
이와 달리, 테라나 솔라나는 EVM을 지원하지 않는다.
인터체인은 개발자들이 자신만의 layer1을 인터체인을 기반으로 만들고, 이 layer1끼리는 서로 상호작용이 가능하다. 이에 대한 예시로는 코스모스와 폴카닷이 있다. 개념적으로 layer 0의 역할을 한다. 유명한 layer 1인 테라도 코스모스의 블록체인을 기반으로 만들어졌다. 현재 폴카닷은 파라체인 옥션을 통하여서 여러 어플리케이션들이 자신의 프로젝트들 layer 1으로 등록할 수 있게 하고 있다.
사이드체인은 이더리움의 넘치는 트랜젝션 부담을 덜어주는 것을 목표로 만들어졌다. 그래서 이더리움의 경쟁자라기 보다는 상생관계에 있다.
엑시 인피니티의 로닌 사이드체인은 엑시 인피니티 유저들을 위하여 만들어졌다. 이더리움의 높은 가스비 때문에, 엑시 인피니티 유저들은 그들의 NFT와 토큰을 자유롭게 이동할 수 없었고, 이는 유저 유입에 큰 걸림돌이었다. 이를 해결하기 위하여, 엑시 인피니티 게이머들을 위한 사이드체인을 따로 만들었고, 이는 사용자 유입에 큰 역할을 하였다.
특정 어플리케이션을 위하여서는 아니지만, 폴리곤 네트워크는 이더리움의 사이드체인으로써 현재는 일일 트랜젝션 양이 이더리움을 앞질렀다. 폴리곤의 목표는 이더리움을 제치는 것이 아닌, 이더리움이 메인 플랫폼을 유지한 채로, 일별 트랜젝션은 수수료가 낮은 폴리곤 네트워크 위에서 이뤄지게 하는 것이다.
layer 2와 사이드체인의 가장 큰 차이점은 블록체인을 어떻게 지키냐(보안)이다. 사이드체인의 경우 사이드체인만의 토큰과 합의 메커니즘을 가진다. 이와 달리, layer 2는 이더리움의 보안 메커니즘을 그대로 빌려와서 사용한다. layer2는 rollup이라고 불리는 경우가 많은데, 이는 layer2가 이더리움 상의 여러 트랜젝션들을 하나로 rollup하여서 layer2로 가져와서 실행한 뒤에 다시 이더리움에 업데이트하는 방식을 주로 사용하기 때문이다. rollup의 방식은 크게 두가지로 나눌 수 있다.
옵티미스틱 롤업은 일단 제시된 트렌잭션 및 데이터가 optimistic하게 유효하다고 가정한다. 이후 해당 트랜젝션에 대하여 fraud proof라는 유효성에 대한 이의제기를 할 수 있는 일정 시간이 주어진다. 이 기간 동안 누구나 fraud proof를 제기할 수 있고, 만약 이게 맞다고 판명되는 순간 해당 트랜젝션은 취소되고, 이를 제안한 유저에게는 불이익이, fraud proof를 보인 유저에게는 보상이 주어진다.
옵티미스틱 롤업을 사용한 layer 2는 이미 사용되어지고 있다. Arbitrum에는 이미 Curve, Sushiswap과 같은 layer1 어플리케이션이 만들어져서 사용되고 있다. 하지만 단점으로는 fraud proof를 위한 기간이 불가항력적이기 때문에 이더리움과 layer2 간의 자금을 이동할 때 일정 기간동안의 딜레이가 생긴다.
ZK 롤업은 옵티미스틱 롤업과 다르게 누군가의 fraud proof를 기다리는 것이 아닌 실제로 수학적 계산을 통하여 해당 트랜젝션의 유효성을 증명한다. 번들된 트랜젝션의 결과 값에 validity proof라는 것을 스마트 컨트랙트에 제출하여서 그 유효성을 판단하는데, 이를 속이는 것은 불가능하다. fraud proof에 대한 기간이 필요없기 때문에, 자금이 이동이 자유롭다.
하지만, ZK 롤업이 상용화되기에는 걸림돌들이 아직 존재한다. 먼저, validity proof는 많은 리소스를 차지 하기 때문에, 높은 성능의 머신이 필요하다. 두번째로, ZK 롤업은 EVM 호환성을 지원하지 않아서 지원되는 스마트 컨트랙트가 제한적이다. 교환과 지불과 같은 간단한 스마트 컨트랙트는 가능하기 때문에 현재 dYdX는 Starkware의 ZK 롤업 솔루션을 사용하고 있다.
정답은 EVM 호환성을 지워하는 ZK Rollups이다. 옵티미스틱 롤업의 자금 딜레이는 구조적으로 필연적이지만, ZK 롤업의 EVM 지원은 기술적으로 극복가능하다고 생각한다. 이게 가능해지면, 수많은 스마트 컨트랙트 및 트랜젝션들이 layer 2에서 빠르고 저렴하게 사용가능할 것이다.
앞서 언급된 확장성 솔루션들에도 약점이 존재한다. 일단 이더리움에서 다른 네트워크로 자금을 이동하는 cross-chain 트랜젝션을 사용하여야 하는데, 이는 복잡하고 위험하다. 또한, 여러개의 체인에 어플리케이션들이 파편화되어서 만들어질 경우, 이더리움의 최대 장점인 상호운용성이 떨어지게된다. 이는 유저와 개발자 모두에게 좋지 않은 일이다.