개발자를 위한 Ethereum 스케일링 솔루션 가이드
작성자 Alchemy
Ethereum이 탈중앙화와 보안을 강조한다는 것은 트랜잭션 처리 속도가 느리다는 것을 의미합니다. 이는 네트워크 처리량에 영향을 미치며 탈중앙화 애플리케이션의 확장 능력에도 영향을 줍니다.
Ethereum의 확장성 문제를 해결하기 위해 여러 설계가 제안되어 왔으며, 각각 서로 다른 이점을 제공합니다. 이 가이드에서는 Ethereum 확장 솔루션을 소개하고 이들이 어떻게 작동하는지, 왜 중요한지 설명합니다.
확장성이란 무엇인가?
확장성이란 시스템이 기능을 희생하지 않으면서 사용량의 급격한 증가를 처리할 수 있는 능력을 말합니다. 블록체인 기술의 맥락에서 확장성이란 블록체인이 기능에 영향을 주지 않으면서 늘어난 트랜잭션을 지원할 수 있는 능력을 의미합니다.
현재 Ethereum의 트랜잭션 처리 능력은 초당 7-15건(TPS)으로 제한되어 있습니다. 반면 Oracle Database나 Microsoft SQL Server 같은 기존의 중앙화된 데이터베이스는 초당 수천 건의 트랜잭션을 처리할 수 있습니다.

Ethereum의 설계가 확장성에 영향을 미치는 두 가지 방식
Ethereum은 확장성보다 탈중앙화와 보안을 우선시하기 때문에(확장성 트릴레마) 처리량이 낮고 처리 속도가 느립니다.
Ethereum의 설계가 확장성에 영향을 미치는 몇 가지 방식은 다음과 같습니다:
1. Ethereum의 합의 알고리즘은 트랜잭션을 순차적으로 처리한다
Ethereum은 작업 증명(PoW)을 사용하는데, 이는 네트워크의 트랜잭션이 모든 노드에 의해 승인 및 검증되어야 함을 의미합니다. 이는 탈중앙화, 그리고 더 중요하게는 보안을 촉진합니다.
단점은 트랜잭션의 순차적 실행이 트랜잭션 최종성(트랜잭션 확인에 걸리는 시간)에 영향을 준다는 것입니다. 이는 Ethereum이 높은 TPS를 지원하지 못하는 원인이 됩니다.
2. Ethereum은 블록 크기를 1MB로 제한한다
Ethereum은 채굴된 블록이 담을 수 있는 데이터양을 1MB로 제한하는데, 블록 크기를 제한하면 노드가 블록체인 히스토리를 더 효과적으로 저장할 수 있어 탈중앙화가 개선되기 때문입니다. 블록 크기가 커지면 사람들이 풀 노드를 운영하기 어려워져 탈중앙화가 저해됩니다.
하지만 1MB의 블록 크기 제한은 채굴자가 하나의 블록에 담을 수 있는 트랜잭션 데이터를 줄여 네트워크 처리량에 영향을 줍니다. 작은 블록 크기는 Ethereum Virtual Machine에서 연산을 실행하는 데 필요한 컴퓨팅 자원인 가스 비용에도 영향을 미칩니다.
채굴자의 컴퓨팅 파워는 유한하기 때문에, 종종 더 높은 수수료가 붙은 트랜잭션을 우선 처리할 수밖에 없습니다. 이는 Ethereum 사용자 사이에 일종의 입찰 경쟁을 만들어내며 트랜잭션 수수료를 천문학적으로 끌어올립니다.
Ethereum 확장 솔루션이란 무엇인가?
Ethereum 확장 솔루션은 Ethereum 네트워크에서의 트랜잭션 실행을 개선하기 위해 특별히 설계된 플랫폼입니다. 레이어 2 rollup과 sidechain 같은 Ethereum 확장 솔루션은 서로 다른 메커니즘을 사용해 네트워크 처리량을 높이는 프로토콜입니다.

레이어 1 vs 레이어 2 확장 솔루션
확장 솔루션은 실행 지점에 따라 크게 "온체인"과 "오프체인" 솔루션 두 범주로 나눌 수 있습니다.
레이어 1 확장 솔루션
레이어 1 확장은 블록체인 네트워크 자체를 변경하고 기본 레이어를 다시 작성하는 것을 말합니다. "온체인"이라는 설명은 Ethereum에 대한 확장 업그레이드가 블록체인 자체에서 실행됨을 의미합니다.
레이어 1은 블록 크기를 늘려 확장할 수 있다
레이어 1에서 가능한 확장 개선 방법 중 하나는 블록 크기를 늘리는 것입니다. Ethereum의 1MB 블록 크기가 늘어나면 채굴자는 블록에 더 많은 트랜잭션 데이터를 담을 공간을 확보할 수 있습니다.
Ethereum의 블록 크기를 늘리면 TPS가 증가하겠지만, 부작용으로 서서히 중앙화가 진행됩니다. 블록 크기가 커질수록 블록체인의 크기도 커져 풀 노드를 운영하기가 어려워지기 때문입니다(슈퍼컴퓨터를 보유하지 않는 한). 이러한 이유로 Ethereum 커뮤니티는 블록 크기 확대를 확장 솔루션에서 배제했습니다.
레이어 1은 블록체인 sharding으로 트랜잭션을 병렬 처리해 확장할 수 있다
블록체인 sharding은 Ethereum이 사용하는 기본 순차 실행 모델 대신 트랜잭션의 병렬 실행을 도입하는 확장성 개선 방법입니다. sharding에서는 블록체인이 더 작은 체인(shard)들로 나뉘어 각각 별도의 트랜잭션을 검증하고 처리합니다.
현재 Ethereum이 어떻게 작동하는지 생각해보십시오:
트랜잭션은 검증될 때까지 네트워크 전체에 브로드캐스트됩니다. sharding에서는 트랜잭션을 모든 노드가 승인할 필요가 없습니다. 대신 각 shard는 트랜잭션을 승인하는 검증자(collator라고 불림)를 가지고 있습니다.
각 collation(shard chain 상의 트랜잭션 모음)은 collator의 ⅔가 서명해야 합니다. 또한 제안된 collation은 최종성을 얻기 전에 메인 체인에 추가되어야 합니다. 이러한 조치들이 함께 작동하여 시스템의 보안을 보장하는 데 도움이 됩니다.
sharding을 사용하면 Ethereum은 탈중앙화나 보안을 희생하지 않고도 TPS를 늘릴 수 있습니다. shard chain들이 서로 다른 트랜잭션을 동시에 처리하면서 네트워크의 전체 처리 용량이 증가합니다. 또한 네트워크 참여자들은 암호학적 증명을 통해 shard collation의 유효성을 여전히 증명할 수 있습니다.

레이어 2 확장 솔루션
레이어 2(L2) 확장 개선은 메인 체인(레이어 1)이 아닌 곳에서 실행되기 때문에 그렇게 불립니다. "오프체인" 솔루션이라고도 불리는 레이어 2 확장은 보안을 메인 체인에 의존하는 별도의 네트워크에서 트랜잭션을 처리하는 것을 말합니다.
L2 솔루션은 대체로 트랜잭션 속도와 확장성에 중점을 두고 설계되며, 탈중앙화와 보안은 여기서 상대적으로 덜 중요한 관심사입니다. L2는 트랜잭션 데이터를 메인 Ethereum 레이어에 게시하기 때문에 mainnet의 탈중앙화와 보안으로부터 이점을 얻을 수 있습니다. 또한 L2 솔루션은 Ethereum 위에 구축되기 때문에 자체 네이티브 토큰이 필요하지 않습니다.
이러한 오프체인 프로토콜은 여러 트랜잭션을 하나의 트랜잭션으로 집계하여 메인 체인에 추가할 수 있습니다. 이는 네트워크에 대한 부담을 줄이고 사용량이 늘어남에 따라 앱이 확장할 수 있는 가능성을 개선합니다.
레이어 2 확장 솔루션의 예시:
- Rollups
- State channels
- Plasma
- Validium
레이어 2 vs sidechain
sidechain은 Ethereum Mainnet과 상호작용하지만 보안을 이에 의존하지 않는 별도의 블록체인입니다. sidechain은 크로스체인 브리지를 통해 Ethereum과 연결되며, 이를 통해 두 체인 간 자산 이전이 가능합니다.
sidechain은 높은 처리량을 가능하게 하는 서로 다른 특성으로 설계되어 있어 확장성에 유리합니다. 예를 들어 Polygon sidechain은 더 빠른 트랜잭션을 위해 지분 증명(PoS) 합의 알고리즘을 사용합니다.
레이어 2 솔루션과 sidechain의 주요 차이점은 보안 보장에 있습니다. L2 네트워크는 Ethereum의 보안 보장을 누리지만 sidechain은 그렇지 않습니다.
sidechain은 자체 합의 메커니즘에 의해 보안이 유지되는 반면, L2는 Ethereum의 합의로부터 이점을 얻습니다. 이 때문에 많은 사람들이 L2가 sidechain보다 더 안전하다고 여깁니다.
왜 Ethereum에 확장 솔루션이 필요한가?
좋은 Ethereum 확장 솔루션은 web3 개발자와 사용자에게 더 낮은 가스 비용과 더 빠른 트랜잭션을 제공하는 동시에 트랜잭션의 보안도 유지합니다.
Ethereum에 확장 솔루션이 필요한 이유는 다음과 같습니다:
1. 더 낮은 트랜잭션 수수료
Ethereum의 가스 비용 문제는 광범위한 비판의 대상이 되어 왔습니다. 확장 개선은 네트워크 혼잡을 줄이고 트랜잭션 비용을 크게 낮출 수 있습니다.
낮은 가스 비용은 더 나은 사용자 경험과 앱의 더 높은 채택률로 이어집니다. 사용자는 실패한 트랜잭션을 겪거나 과도한 가스 비용을 지불할 필요가 없어집니다.
2. 더 빠른 트랜잭션
많은 확장 솔루션은 Ethereum이 더 짧은 시간에 더 많은 트랜잭션을 처리할 수 있도록 개선하기 위해 특별히 만들어졌습니다.
예를 들어 rollup은 수천 건의 오프체인 트랜잭션을 하나의 온체인 트랜잭션으로 묶을 수 있습니다. 마찬가지로 sharding은 트랜잭션의 병렬 처리를 촉진하여 처리량을 늘립니다.
이러한 개선의 결과는 초당 트랜잭션(TPS) 비율의 증가입니다. 추정치는 다양하지만, 많은 사람들은 L2와 sharding이 Ethereum의 TPS를 수천 단위까지 끌어올릴 것으로 기대하고 있습니다.
3. 향상된 보안
L2는 네트워크 보안을 저하시키지 않으면서 Ethereum을 확장하는 데 유리합니다. 온체인 확장과 달리, 오프체인 확장 프로젝트는 Ethereum의 탈중앙화에 영향을 주지 않습니다.
이러한 L2는 별도의 체인이지만, 그 보안은 Ethereum 블록체인과 밀접하게 연결되어 있습니다. 즉 사용자는 자산을 위험에 빠뜨리지 않으면서 확장성의 이점을 누리며 이러한 프로젝트와 안전하게 상호작용할 수 있습니다.
가장 널리 쓰이는 다섯 가지 Ethereum 확장 솔루션
가장 널리 쓰이는 다섯 가지 Ethereum 확장 솔루션은 rollup, sidechain, state channel, plasma chain, Validium입니다.
1. Rollups
Rollup은 오프체인에서 실행된 여러 트랜잭션을 결합하거나 "말아 올려" 하나의 배치로 만들어 메인 체인에 전달합니다. 하나의 rollup은 메인 체인이 처리해야 하는 트랜잭션 양을 줄이기 위해 압축된 수백, 심지어 수천 건의 트랜잭션을 담을 수 있습니다.
확장성 개선 외에도, rollup 내 트랜잭션은 트랜잭션 최종성을 보장하는 L1 체인에 고정되어 있기 때문에 Ethereum 자체와 비슷한 수준의 보안을 제공합니다.
rollup에는 optimistic rollup과 zero-knowledge rollup 두 가지 주요 유형이 있습니다. 각 유형은 트랜잭션이 계산되고 Ethereum에 게시되는 방식에 따라 차이가 있습니다:
Zero-knowledge rollup, 즉 ZK-rollup은 오프체인에서 연산을 수행하고 Succinct Non-Interactive Argument of Knowledge(SNARK) 또는 Succinct Transparent Argument of Knowledge(STARK)라고 불리는 암호학적 증명을 생성합니다. 이러한 **"유효성 증명"**은 메인 체인의 노드에게 트랜잭션 배치의 유효성을 확신시켜 줍니다.
Optimistic rollup은 기본적으로 트랜잭션이 유효하다고 가정하며 모든 트랜잭션 묶음에 대해 유효성 증명을 생성하지 않습니다. 다만 optimistic rollup의 트랜잭션 유효성은 fraud proof를 통해 이의를 제기할 수 있습니다.
그렇다면 두 rollup 방식은 서로 어떻게 비교될까요? ZK-rollup은 유효성 증명을 생성하기 때문에 더 안전하지만, 이로 인해 optimistic rollup보다 속도가 느립니다.
ZK-rollup은 복잡한 메커니즘이기 때문에 EVM 호환성을 프로그래밍하기가 어렵습니다. 그 결과 ZK-rollup은 optimistic rollup에 비해 기능이 제한적입니다.
Polygon은 Hermez 2.0 계획을 통해 zero-knowledge rollup의 기능을 Ethereum 네트워크에 확장하기 위해 zero-knowledge EVM(zkEVM)을 개발하고 있습니다.
optimistic rollup을 사용하는 Ethereum L2
- Optimism
- Arbitrum
- Boba Network
- Immutable X
ZK rollup을 사용하는 Ethereum L2
- zkSYNC
- Loopring
- dYdX
- StarkNet
개발자라면 트랜잭션 최종성과 확장성을 개선하기 위해 rollup을 dApp에 통합할 수 있습니다. 이렇게 하면 사용자는 Ethereum에서 흔히 발생하는 높은 가스 비용, 실패한 트랜잭션, 느린 처리 속도를 겪지 않아도 됩니다.
2. Sidechains
sidechain은 Ethereum Mainnet과 병렬로 운영되는 별도의 블록체인으로, 레이어 2 솔루션의 한 유형입니다. 이러한 차이는 암호경제적 인센티브, 합의 메커니즘 등이 될 수 있습니다.
Ethereum을 위해 특별히 설계된 sidechain은 Ethereum Virtual Machine(EVM) 호환성을 갖추고 있어 스마트 컨트랙트를 지원할 수 있습니다. 즉, sidechain에 프로젝트를 배포하고 앱을 위한 확장성 개선을 활용할 수 있습니다.
sidechain을 Ethereum 스마트 컨트랙트 플랫폼에 연결하려면 크로스체인 브리지가 필요합니다. 이름에서 알 수 있듯이, 블록체인 브리지는 사용자가 메인 체인과 sidechain 사이를 이동할 수 있는 관문을 제공합니다.
브리지를 사용하려면 원본 체인에서 일부 자산(이 경우 ETH)을 잠가야 합니다. 그 후 동일한 양의 자산이 sidechain에서 생성되어 지갑에 입금됩니다.
이후 sidechain에서 자유롭게 거래하며 그 우수한 트랜잭션 처리 능력을 활용할 수 있습니다. 앞서 설명했듯이 sidechain은 확장성을 제공하도록 설계되었으며 이를 달성하기 위해 서로 다른 메커니즘을 사용합니다.
Ethereum sidechain 예시:
- Polygon
- xDAI
- SKALE
다른 대체 레이어 1(L1) 블록체인들, 특히 EVM 호환 블록체인들도 Ethereum sidechain 역할을 할 수 있습니다. 이러한 대체 L1은 종종 더 낮은 가스 비용, 더 나은 트랜잭션 최종성, 그리고 경우에 따라 더 풍부한 기능성 같은 이점을 제공합니다.
EVM 호환 L1 예시:
- Avalanche
- Fantom
- Binance Smart Chain
3. State channels
State channel은 메인 체인이 모든 트랜잭션을 검증하지 않아도 두 당사자가 거래할 수 있게 해주는 오프체인 확장 솔루션입니다. state channel은 본질적으로 필요한 당사자들의 승인이 있어야만 실행되는 다중 서명 스마트 컨트랙트입니다.
State channel의 작동 방식
-
Alice가 매일 아침 자신에게 커피를 파는 Bob과 state channel을 열고 싶어 한다고 가정해봅시다. Alice가 채널에 0.4 ETH를 예치하고 이 트랜잭션이 Mainnet에 게시된다고 합시다.
-
이 개설 트랜잭션 이후, Alice와 Bob은 원하는 만큼 오프체인에서 트랜잭션을 실행할 수 있습니다. 유일한 조건은 두 사람 모두 트랜잭션에 서명해야 한다는 것으로, 즉 Alice와 Bob은 커피 대금 지불마다 승인해야 합니다.
-
Alice가 예치금을 모두 소진하면, 메인 체인에 종료 트랜잭션을 게시할 수 있습니다. 이 트랜잭션은 채널의 마지막으로 알려진 상태를 반영하며, 이는 최종성을 위해 기록됩니다. Alice와 Bob은 수십 번 거래했을 수 있지만, Ethereum 네트워크에는 단 두 건의 트랜잭션인 입금 및 출금 트랜잭션만 기록됩니다.
state channel은 당사자들이 긴 대기 시간과 높은 트랜잭션 수수료를 겪지 않고도 안전하게 오프체인 거래를 할 수 있게 해줍니다. 또한 채굴자가 처리해야 할 트랜잭션 수가 줄어들어 더 빠르게 작업할 수 있으므로 확장성도 개선됩니다.
state channel을 사용하는 Ethereum 확장 솔루션:
- Raiden Network
- Connext Network
- Celer Network
4. Plasma chains
Plasma 백서는 메인 블록체인 또는 "루트 체인"에서 파생되는 "자식 체인" 개념을 소개합니다. Plasma chain은 트랜잭션을 검증할 수 있지만, 루트 체인의 보안에 의존합니다. 트랜잭션의 유효성을 증명하기 위해 자식 체인은 암호학적 증명을 루트 체인에 제출합니다.
Plasma chain은 스마트 컨트랙트를 통해 Ethereum 블록체인과 연결된다는 점에서 sidechain과 유사합니다. Plasma chain을 사용하려면 자식 체인에서 토큰을 받기 전에 루트 체인의 스마트 컨트랙트에 ETH를 잠가야 합니다.
Plasma는 Ethereum의 기본 레이어에서 직접 보안을 이끌어내기 때문에 L2 확장 솔루션으로 간주됩니다. 이 점이 예를 들어 sidechain보다 Plasma를 더 안전하게 만드는 이유입니다.
Plasma는 Ethereum 메인 체인에 각 블록에 대한 Merkle root를 게시합니다. 블록 root는 트랜잭션에 대한 정보를 검증하는 데 사용할 수 있는 작은 정보 조각입니다. Plasma chain에서 공격이 발생하면 사용자는 적절한 증명을 사용하여 안전하게 메인 체인으로 빠져나가 자금을 인출할 수 있습니다.
plasma를 사용하는 Ethereum 확장 솔루션
- OMG Plasma
- Gluon Network
5. Validium
Validium은 ZK-rollup과 유사하게 메인 Ethereum 레이어 밖에서 연산을 수행하지만, 주요 차이점은 ZK-rollup처럼 압축된 데이터를 메인 체인에 게시하는 대신 "오프체인 데이터 가용성"을 사용한다는 점입니다.
Validium은 데이터를 데이터 제공자와 함께 오프체인에 저장하기 때문에 어느 정도 수탁형 성격을 띱니다. 다만 StarkWare 같은 일부 솔루션은 데이터 제공자가 정직하게 행동하도록 보장하기 위해 Data Availability Committee(DAC)를 사용합니다.
Validium은 수수료가 매우 낮고 트랜잭션 속도가 빠릅니다(최대 100,000 tps). 하지만 ZK-rollup 같은 다른 확장 솔루션보다 신뢰 가정이 더 많습니다.
validium을 사용하는 ETH 확장 솔루션:
- DiversiFi
- Immutable X
확장 솔루션의 단점은 무엇인가?
Ethereum 확장 솔루션의 두 가지 단점은 구현이 복잡하다는 점과 보안 보장이 상대적으로 낮을 수 있다는 점입니다.
1. 복잡성
많은 확장 솔루션은 구현이 복잡하여 기능성에 영향을 줄 수 있습니다. 예를 들어 Ethereum 개발팀은 업그레이드에 필요한 작업량 때문에 sharding의 출시일을 계속 미뤄왔습니다.
2. 낮은 보안 보장
많은 L2 및 L1 확장 솔루션이 보안을 위해 Ethereum에 의존하지만, 이들이 Ethereum만큼 안전할 수는 없습니다. 각 확장 솔루션은 속도를 위해 탈중앙화나 보안 같은 일부 요소를 희생합니다. 사용자는 이러한 플랫폼을 사용하기 전에 이러한 위험을 충분히 인지해야 합니다.
결론
이 가이드에서 다룬 확장 프로젝트들은 Ethereum의 확장성 추진에서 큰 역할을 할 가능성이 높습니다. 다만 이것이 장기적인 확장성을 보장하기에 충분할지는 아직 지켜봐야 합니다.
다음 dApp을 L2에서 확장할 계획이신가요?
Alchemy 무료 계정에 가입하세요. 세계 최대의 블록체인 개발 플랫폼인 Alchemy는 Arbitrum, Optimism, Polygon, StarkNet을 비롯한 널리 쓰이는 L2들을 지원합니다.
관련 개요

블록체인 매직을 만드세요
Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.


