멤풀(Mempool)
다른 이름: 메모리 풀 · Mempool · 대기 거래
정의
멤풀은 블록에 아직 포함되지 않은 거래들이 노드마다 대기하는 공간으로, 채굴자나 검증자가 여기서 거래를 골라 블록을 만듭니다.
멤풀의 작동 방식
지갑에서 거래를 보내면 바로 블록에 들어가지 않습니다. 먼저 네트워크의 노드들에게 퍼져 각 노드의 멤풀에 저장됩니다. 채굴자나 검증자는 블록 공간이 한정되어 있으므로 보통 수수료가 높은 거래부터 골라 담습니다.
그래서 네트워크가 붐비면 멤풀에 대기 거래가 쌓이고, 수수료를 낮게 낸 거래는 몇 시간 이상 기다릴 수 있습니다. 비트코인에서는 RBF(수수료 올려 다시 보내기)나 CPFP 같은 방법으로 막힌 거래를 앞당길 수 있고, 이더리움에서는 같은 논스로 더 높은 가스비 거래를 다시 보내 교체합니다.
멤풀의 거래는 공개되어 있기 때문에 다른 사람이 먼저 볼 수 있습니다. 이것을 이용해 앞서 거래를 넣는 프런트러닝, 즉 MEV가 발생합니다. 탈중앙 거래소에서 큰 스왑을 할 때 슬리피지 한도를 적절히 두는 이유입니다.
예시
비트코인을 보낼 때 수수료를 5 sat/vB로 설정했는데, 멤풀에서 다음 블록에 들어가려면 20 sat/vB 이상이 필요하다고 가정합니다. 거래 크기가 140 vB라면 현재 수수료는 700 사토시, 필요한 수수료는 2,800 사토시입니다. RBF를 지원하는 지갑이라면 수수료를 20 sat/vB로 올려 다시 보내 추가 2,100 사토시로 대기를 줄일 수 있습니다.
자주 하는 실수
- 거래가 멤풀에 있으면 이미 완료된 것으로 생각합니다.
- 네트워크가 붐빌 때도 최저 수수료로 보내고 급하게 기다립니다.
- 대기 중인 거래를 다른 주소로 다시 보내 이중 지출이 되는 줄 알고 불안해합니다. 실제로는 한쪽만 확정됩니다.
배우고 실습하기
자주 묻는 질문
멤풀에 오래 머문 거래는 어떻게 되나요?
수수료가 너무 낮으면 일정 시간이 지나 노드들의 멤풀에서 삭제될 수 있습니다. 그러면 자금은 원래 지갑에 그대로 남습니다.
멤풀 상황은 어디서 보나요?
비트코인은 mempool.space 같은 서비스, 이더리움은 가스 추적 도구에서 현재 대기량과 권장 수수료를 볼 수 있습니다.