-
비트코인 mempool 이란 무엇인가?블록체인 2024. 9. 13. 22:11728x90반응형
비트코인에서 **메모리 풀(Mempool)**은 아직 블록체인에 포함되지 않은 미확인 트랜잭션들이 임시로 저장되는 공간입니다. 노드들은 새로운 트랜잭션이 발생할 때 이를 즉시 블록에 추가하지 않고, 먼저 메모리 풀에 저장한 후 트랜잭션이 유효한지 검증하고, 채굴자들이 트랜잭션을 블록에 포함시킬 때까지 대기합니다.
메모리 풀(Mempool)의 주요 기능
- 미확인 트랜잭션 저장: 트랜잭션이 네트워크에 전파되면 각 노드들은 트랜잭션을 확인하고 유효성을 검사한 후, 메모리 풀에 임시로 저장합니다.
- 채굴자들이 블록을 채울 때 활용: 채굴자들은 새 블록을 만들 때 메모리 풀에서 트랜잭션을 선택해 블록에 포함시킵니다. 수수료가 높은 트랜잭션이 우선적으로 선택되기 때문에, 사용자는 더 빠른 처리를 원할 경우 높은 수수료를 설정할 수 있습니다.
- 유효성 검증: 메모리 풀에 저장된 트랜잭션은 즉시 검증되지 않고 일단 임시 저장되며, 시간이 지남에 따라 이 트랜잭션들이 블록에 포함되거나 삭제됩니다. 유효하지 않거나 오래된 트랜잭션은 제거될 수 있습니다.
- 제한된 크기: 메모리 풀의 크기는 제한적이기 때문에, 너무 많은 트랜잭션이 있을 경우 수수료가 낮은 트랜잭션은 제거될 수 있습니다.
메모리 풀 트랜잭션 흐름 예시
- 사용자 A가 B에게 0.5 BTC 송금: 사용자 A가 비트코인 네트워크에 트랜잭션을 생성하면, 해당 트랜잭션은 A의 노드에서 인접한 노드로 전파됩니다.
- 네트워크 상의 노드들에 트랜잭션이 전파: A의 트랜잭션은 네트워크를 통해 다른 노드들로 전파되며, 각 노드는 이 트랜잭션이 유효한지 검증한 후 메모리 풀에 저장합니다.
- 채굴자가 트랜잭션을 블록에 포함: 트랜잭션이 메모리 풀에 저장된 후, 채굴자들은 수수료가 높은 트랜잭션을 우선적으로 선택해 블록을 생성하고, 트랜잭션을 블록에 포함시킵니다.
- 블록에 트랜잭션 포함 후 메모리 풀에서 삭제: 트랜잭션이 블록에 포함되면, 그 트랜잭션은 메모리 풀에서 제거되고 블록체인에 영구히 기록됩니다.
메모리 풀 예시
트랜잭션 해시: b3e1d1b72f22b3c9e462df5edb474e7b7bc0c5db 보낸 주소: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 받는 주소: 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp 송금 금액: 0.5 BTC 수수료: 0.0001 BTC 상태: 미확인 (메모리 풀에 있음)
위의 예시에서는 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 주소에서 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp 주소로 0.5 BTC를 송금하는 트랜잭션이 발생했으며, 이 트랜잭션은 아직 블록에 포함되지 않고 메모리 풀에 대기 중인 상태입니다.
메모리 풀에서 수수료가 낮은 트랜잭션일수록 오래 대기할 가능성이 높고, 수수료가 높으면 블록에 포함될 가능성이 커집니다.
728x90반응형'블록체인' 카테고리의 다른 글
비트코인(블록체인)은 왜 개인키로 암호화하고 공개키로 복호화하는것인가? (1) 2024.09.19 SPV(Stratum Payment Verification) 노드 (3) 2024.09.18 비트코인에 UTXO방식이란 무엇을 뜻하는가? (1) 2024.09.13 비트코인 merkle root란? (0) 2024.09.13 비트코인 네트워크 통신, 비트코인 클라이언트 통신 (0) 2024.09.13