요약: 블록체인 정체는 네트워크로 전송되는 거래량이 다음 블록에 담을 수 있는 양을 초과할 때 발생합니다. 모든 체인은 블록당 처리할 수 있는 계산량이나 데이터량에 상한선이 있습니다. 수요가 이 상한선을 초과하면, 미확인 거래가 대기하는 공간인 멥풀(mempool)에 거래가 밀리게 됩니다. 혼잡이 발생하면 사용자들이 제한된 블록 공간을 놓고 경쟁하게 되어 수수료가 상승하고, 확인 속도가 느려지며, 사용자 경험이 저하됩니다. 근본적인 원인으로는 고정된 블록 용량, 인기 있는 이벤트로 인한 수요 급증, 수수료 시장의 역학, 그리고 순 처리량보다 보안과 탈중앙화를 우선시하는 설계 선택 등이 있습니다.
간단한 설명
블록체인은 ‘블록’이라고 하는 단위로 거래를 일괄 처리합니다. 각 블록에는 용량 제한이 있습니다:
Ethereum: 가스 한도, 현재 블록당 약 3,000만 가스
Bitcoin: 블록당 400만 무게 단위의 무게 제한
Solana: 슬롯당 연산 유닛과 계정 잠금의 조합
그 메커니즘이 무엇이든, 모든 블록 체인에는 한 블록에 담을 수 있는 작업량에 상한선이 있습니다.
블록이 수용할 수 있는 양보다 적은 수의 거래가 들어올 때는 모든 것이 원활하게 진행됩니다. 거래는 다음 블록에 포함되고, 수수료는 저렴하며, 확인 속도도 빠릅니다.
블록이 수용할 수 있는 양보다 많은 거래가 들어오면 대기열이 형성됩니다. 이 대기열이 바로 멥풀(mempool)로, 유효하지만 아직 확인되지 않은 거래들이 향후 블록에 포함될 때까지 대기하는 각 노드의 임시 저장 공간입니다.
멤풀은 선착순 방식이 아닙니다. 수수료 순으로 정렬된 우선순위 대기열입니다. 블록 생성자(채굴자 또는 검증자)는 수수료를 가장 많이 지불하는 거래를 선택하는데, 그렇게 해야 가장 많은 보상을 얻을 수 있기 때문입니다.
멥풀이 가득 차면, 빠른 확인을 원하는 사용자들은 다른 모든 사용자보다 더 높은 수수료를 제시하여 경쟁해야 합니다. 이러한 입찰 경쟁이 바로 네트워크 혼잡 시 가스 요금이 급등하는 원인입니다. 더 높은 수수료를 지불할 수 없거나 지불하기를 원치 않는 사용자들의 거래는 멥풀에 몇 분, 몇 시간, 심지어 며칠 동안 묶여 있게 됩니다.
수요 급증
정체의 가장 뚜렷한 원인은 블록 공간에 대한 수요가 갑자기 급증하는 것입니다. 이러한 급증은 대개 다음과 같은 특정 사건에 의해 촉발됩니다:
NFT 발행: 인기 있는 NFT가 발행되면 수집가들이 한정된 토큰을 확보하기 위해 몰려들면서 단 몇 분 만에 수만 건의 거래가 발생하기도 합니다.
출시 및 에어드랍: 새로운 DeFi 프로토콜이나 에어드랍 청구가 발생하면 새로운 스마트 계약으로 한꺼번에 수많은 사용자가 몰려들게 됩니다.
시장 붕괴: 급격한 하락으로 인해 디파이(DeFi) 사용자들이 서둘러 대응에 나서면서 청산, 포지션 청산, 패닉 매도 등이 잇따른다.
Ethereum 에서 발생한 최악의 혼잡 중 일부는 단일 앱에서 비롯되었습니다:
2017년 12월 크립토키티 열풍으로 인해 네트워크가 며칠 동안 마비되었다.
2022년 5월 유가 랩스(Yuga Labs)의 ‘오더사이드(Otherside)’ NFT 민팅으로 인해 가스 요금이 8,000 gwei를 넘어섰다. 일부 사용자는 수천 달러에 달하는 수수료를 지불했음에도 불구하고 거래가 실패하기도 했다.
유니스왑(Uniswap)의 UNI와 아비트라지( Arbitrum)의 ARB 에어드롭 수령 신청이 시작되자, 수백만 개의 자격을 갖춘 지갑들이 일제히 수령에 나서면서 수 시간 동안 네트워크 정체가 발생했다.
밈 토큰 거래는 Solana 및 Base 와 같은 체인에서 반복적인 네트워크 정체 현상을 유발하는데, 단 한 번의 화제가 된 토큰 출시만으로도 몇 시간 만에 수백만 건의 스왑이 발생할 수 있습니다. 계획된 이벤트의 경우, 사용자들은 적어도 네트워크 정체가 다가올 것임을 미리 알 수 있습니다. 반면 밈 토큰의 급증은 예측할 수 없으며, 별다른 예고 없이 네트워크를 마비시킬 수 있습니다.
고정 블록 용량 및 생산 속도
그 근본적인 원인은 블록 용량과 블록 생성 간격이 프로토콜에 의해 고정되어 있는 반면, 수요는 때로는 극심하게 변동하기 때문입니다.
Ethereum 12초마다 블록을 생성하며, 가스 한도는 약 3천만입니다. 일반적인 비용:
간단한 ETH 송금: 가스 21,000
유니스왑 스왑: 150,000~300,000 가스
복잡한 DeFi 상호작용: 가스비 50만 이상
이상적인 조건에서는 거래의 복잡성에 따라 초당 약 15~30건의 거래가 처리됩니다. 수천 명의 사용자가 동시에 NFT를 발행하거나, 토큰을 스왑하거나, 에어드롭을 수령하려고 할 때, 15~30 TPS는 near 턱없이 부족한 수치입니다.
Bitcoin 더 엄격한 제한을 두고 있습니다. 10분마다 한 블록을 생성하며, 각 블록에는 약 2,000~3,000건의 거래가 포함됩니다. 이는 대략 5~7 TPS에 해당합니다. 수요가 높을 때 Bitcoin 의 멥풀에는 수십만 건의 미확인 거래가 쌓일 수 있으며, 수수료가 낮은 거래는 며칠 동안 대기해야 할 수도 있습니다.
이러한 제한은 임의로 정해진 것이 아닙니다. 이는 탈중앙화를 보호하기 위한 것입니다. 만약 블록의 크기가 더 크거나 처리 속도가 더 빠르다면, 데이터를 따라잡을 수 있는 노드의 수가 줄어들게 되고, 네트워크는 고가의 하드웨어를 보유한 운영자들을 중심으로 중앙화될 것입니다. 처리량과 탈중앙화 사이의 이러한 상충 관계는 블록체인 설계의 핵심입니다. 이를 흔히 ‘블록체인 삼중고’라고 부르는데, 이는 확장성, 보안성, 탈중앙화를 동시에 달성하기 어렵다는 점을 의미합니다.
MEV 및 우선권 가스 경매
최대 추출 가치(MEV)는 덜 눈에 띄는 방식으로 네트워크 혼잡을 가중시킵니다. MEV란 블록 생성자와 탐색자가 블록 내 거래의 순서를 재배열하거나, 거래를 삽입하거나, 거래를 삭제함으로써 얻을 수 있는 이익을 말합니다.
두 개의 DEX 간 차익거래와 같이 수익성 있는 MEV 기회가 나타나면, 여러 검색자들이 점점 더 높은 수수료를 책정한 거래를 보내며 이를 선점하기 위해 경쟁합니다. 이러한 우선순위 가스 경매는 블록 공간을 소모할 뿐만 아니라, 해당 거래와 전혀 관련이 없는 사용자들까지 포함해 모든 사람의 수수료를 상승시킵니다.
샌드위치 공격은 일반 사용자에게 직접적인 피해를 주는 MEV 패턴 중 하나입니다. 공격자는 멥풀에서 대규모 스왑 거래를 포착합니다. 그런 다음 해당 거래 바로 앞에 매수 주문(프런트러닝)을, 바로 뒤에 매도 주문(백러닝)을 제출하여 피해자의 스왑 거래로 인한 가격 변동에서 이익을 얻습니다. 이러한 추가 거래들은 블록 공간을 차지하고, 일반 사용자의 수요를 넘어선 혼잡을 유발합니다.
레이어 2 솔루션 및 혼잡 완화
Arbitrum, Base, Optimism, zkSync 와 같은 레이어 2(L2) 네트워크는 부분적으로 Ethereum 레이어 1(L1)의 혼잡을 완화하기 위해 구축되었습니다. 이 네트워크들은 별도의 체인에서 트랜잭션을 처리한 후 압축된 요약 정보를 Ethereum 로 다시 전송함으로써 전체 처리량을 크게 증가시킵니다. 혼잡한 Ethereum 레이어 1(L1)에서 가스 비용이 5달러 드는 트랜잭션이 레이어 2(L2)에서는 0.01달러만 들 수도 있습니다. 하지만 트래픽이 극심하게 급증할 경우 레이어 2(L2)도 여전히 혼잡해질 수 있으며, 정산 대상인 레이어 1(L1)의 일부 한계를 그대로 물려받게 됩니다.
Solana Solana 는 지역별 수수료 시장을 통해 혼잡을 다르게 처리합니다. 모든 거래가 동일한 공간을 놓고 경쟁하는 단일 글로벌 수수료 시장 대신, 는 혼잡을 특정 ‘핫’ 계정으로만 국한시키려 합니다. 인기 있는 DEX 풀과 같이 트래픽이 많은 계약과 관련된 거래는 더 높은 수수료를 지불합니다. 관련 없는 계약과 관련된 거래는 영향을 받지 않습니다. 이를 통해 혼잡 급증으로 인한 파급 효과는 제한되지만, 혼잡 자체가 완전히 사라지는 것은 아닙니다.
블록체인 혼잡은 얼마나 오래 지속되나요?
원인에 따라 다릅니다.
대규모 NFT 민트나 에어드롭 수령과 같은 예정된 이벤트는 대개 가격이 급등하는 현상을 일으키지만, 열기가 가라앉으면 몇 분에서 몇 시간 내에 다시 정상 수준으로 돌아옵니다.
지속적인 혼잡은 사정이 다릅니다. 장기간의 강세장이나 밈 토큰 열풍과 같이 체인이 near 한 처리 용량을 오랫동안 초과해 가동될 경우, 높은 수수료와 느린 확인 속도가 며칠 동안 지속될 수 있습니다.
Bitcoin 혼잡은 보통 Ethereum 보다 더 느리게 해소됩니다. 10분 단위의 블록 생성 시간으로 인해 멤풀은 더 큰 규모로, 그러나 빈도는 더 낮게 비워집니다. 혼잡이 완화되고 있다는 가장 확실한 징후는 멤풀이 줄어들면서 우선순위 수수료가 하락하는 것입니다.
정체는 일반적으로 블록체인의 속도가 느려지는 원인과 밀접한 관련이 있지만, 서비스 중단은 아닙니다. 네트워크가 블록 생성을 완전히 중단하는 경우, 이는 ‘체인 정지’이지 ‘정체’가 아닙니다.
블록체인마다 블록 한도는 어떻게 다른가요?
모든 블록체인은 블록에 포함될 수 있는 작업량에 상한을 두기 때문에, 각 네트워크에서 혼잡이 발생하기 전까지 허용되는 여유 용량은 네트워크마다 크게 다릅니다. 아래 표는 부하가 가해졌을 때 각 네트워크의 처리 지연 속도가 얼마나 빨리 증가하는지를 결정하는 대략적인 한계를 보여줍니다.
블록체인 | 블록 시간 | 용량 지표 | 대략적인 처리량 |
|---|---|---|---|
Bitcoin | 약 10분 | 4M 중량 단위 | 5~7 TPS |
Ethereum L1 | 약 12초 | 블록당 약 3,000만 가스 | 15~30 TPS |
Solana |
처리량이 더 높은 체인과 레이어 2는 수요 급증을 더 잘 흡수하지만, 어떤 설계도 이러한 문제에서 완전히 자유로울 수는 없습니다. 속도와 용량의 관계에 대한 자세한 내용은 ‘처리량 대 지연 시간’ 및 ‘레이어 2 블록체인이란?’을 참고하세요.
‘정체’와 ‘체인 정지’의 차이점은 무엇인가요?
사용자 입장에서는 혼잡과 체인 정지가 모두 “네트워크가 고장 났다”고 보일 수 있습니다. 하지만 이 둘은 원인과 해결 방법이 서로 다른 별개의 문제입니다. 혼잡이 발생해도 체인은 여전히 블록을 생성하지만, 블록이 가득 차 있고 생성 비용이 높아질 뿐입니다. 반면 체인 정지 상태에서는 블록 생성이 완전히 중단됩니다.
양상 | 정체 | 체인 정지 |
|---|---|---|
블록 생산 | 평소대로 계속됩니다 | 중지됨 |
거래 내역 | 천천히 확인하고, 수수료가 비쌉니다 | 절대 확인하지 마세요 |
근본 원인 | 수요가 블록 용량을 초과함 | 합의 실패 또는 클라이언트 오류 |
요컨대, 혼잡은 가격 및 수용 능력 문제인 반면, 체인 중단은 가용성 문제입니다. 우선순위 가스 경매와 같은 MEV 활동은 혼잡을 더욱 악화시킬 수 있습니다. MEV가 무엇인지 이해하면, 수수료가 단순히 사용자 수요만으로는 설명할 수 없는 속도로 급등하는 이유를 파악하는 데 도움이 됩니다.
개발자들은 교통 체증의 영향을 어떻게 줄일 수 있을까요?
앱은 네트워크 혼잡을 막을 수는 없지만, 혼잡한 상황에서도 안정적인 성능을 유지할 수는 있습니다:
고정된 가스 가격 대신 동적 수수료 산정 방식을 사용하십시오.
적절한 논스(nonce) 관리 기능을 갖춘 재시도 로직을 추가하십시오.
긴급하지 않은 거래는 한산한 시간대에 처리하도록 대기열에 넣어 두세요.
데이터의 경우, 블록이 커짐에 따라 데이터 수집이 이를 따라갈 수 있도록 빈번한 폴링 루프 대신 푸시 기반 전송 방식을 사용하십시오.
RPC 요청의 작동 원리를 이해하고, 폴링 방식 대신 스트리밍 방식을 선택하며, 공급자의 RPC 속도 제한을 미리 계획해 두면, 혼잡으로 인해 데이터 손실이나 트랜잭션 실패가 발생할 가능성을 줄일 수 있습니다.
자주 묻는 질문
혼잡할 때 가스 수수료가 왜 급등할까요?
블록 용량은 제한되어 있으며, 멤풀은 수수료를 기준으로 한 우선순위 대기열입니다. 블록이 수용할 수 있는 양보다 많은 거래가 경쟁할 경우, 사용자들은 자신의 거래가 먼저 포함되도록 더 높은 수수료를 제시합니다. 이러한 입찰 경쟁은 수요가 블록 수용 용량 이하로 떨어질 때까지 현재 가스 가격을 상승시킵니다.
정체가 발생하면 블록체인이 다운된 것일까요?
아닙니다. 네트워크가 혼잡한 상황에서도 체인은 계속해서 블록을 생성하고 거래를 확정합니다. 단지 속도가 느려지고 비용이 더 많이 들 뿐입니다. 블록 생성이 중단된 네트워크는 ‘체인 정지’ 상태에 있는 것이며, 이는 별개의 문제입니다.
레이어 2 네트워크도 혼잡해질 수 있나요?
네. 레이어 2(Layer 2)는 레이어 1( Ethereum )보다 훨씬 더 높은 처리량을 제공하기 때문에 더 큰 트래픽 급증을 감당할 수 있지만, 수요가 극도로 증가하면 여전히 용량이 포화되어 수수료가 상승할 수 있습니다. 또한 레이어 2는 결제를 처리하는 레이어 1의 일부 제약 사항을 그대로 물려받습니다.
교통 체증이 해소되고 있는지 어떻게 알 수 있나요?
멩풀 크기와 우선순위 수수료를 주시하세요. 미확인 거래의 누적량이 줄어들고 우선순위 수수료가 하락하는 현상은 수요가 블록 수용 능력 이하로 떨어졌음을 보여주는 가장 확실한 신호입니다.
블록체인은 왜 그냥 블록 크기를 늘리지 않는 걸까요?
블록 크기가 커지거나 처리 속도가 빨라지면 노드를 운영하는 데 드는 하드웨어 비용이 증가하게 되며, 이로 인해 소규모 운영자들이 시장에서 밀려나고 네트워크가 중앙집중화됩니다. 용량 제한은 탈중앙화를 보호하기 위해 의도적으로 선택한 절충안으로, 이러한 상충 관계는 흔히 ‘블록체인 삼중고’라고 불립니다.
교통 체증이 해당 지역에서 개발 사업을 진행하는 개발자들에게 미치는 영향 Quicknode
정체는 개발자가 트랜잭션을 전송하는 방식과 데이터를 수집하는 방식 모두에 영향을 미칩니다.
송신 측에서는 수수료가 너무 낮은 트랜잭션이 멥풀에 갇히거나 폐기됩니다. 앱이 혼잡 상황을 원활하게 처리하려면 정확한 수수료 추정, 재시도 로직, 논스 관리가 필요합니다. Quicknode 의 Core API는 혼잡이 극심할 때에도 안정적인 성능으로 트랜잭션을 확실하게 전달합니다. 개선된 API 메서드는 앱이 현재 네트워크 상황에 맞는 적절한 가스 가격을 추정할 수 있도록 지원합니다.
데이터 측면에서 볼 때, 혼잡은 블록당 트랜잭션 수 증가, 블록 크기 확대, 이벤트 수 증가, 그리고 데이터 양의 증가를 의미합니다. 폴링 기반 시스템은 이러한 상황에서 어려움을 겪습니다. 폴링 간격은 그대로인 반면 각 블록이 저장하는 데이터 양은 늘어나기 때문에, 처리 대기열이 쌓이게 됩니다.
Quicknode StreamsStreams 는 푸시 기반 설계 덕분에 블록 크기에 따라 확장성이 뛰어나 혼잡 상황을 효과적으로 처리합니다. 블록에 100건의 트랜잭션이 포함되든 1,000건이 포함되든, 는 동일한 전송 보장 및 순서를 유지하며 전체 데이터를 목적지까지 전달합니다. 또한, 사용자 정의가 가능한 배치 처리 및 압축 기능을 통해 장기간의 혼잡 기간 동안 발생하는 추가 데이터를 효율적으로 관리할 수 있습니다.
추가 자료
멤풀이란 무엇인가? - Quicknode 가이드
효율적인 RPC 요청 가이드 - Quicknode
Streams 시작하기 - Quicknode 문서