[Blockchan A-Z] 멤풀(mempool)이 작동하는 방법

bolee·2022년 8월 25일
0

Blockchan A-Z

목록 보기
16/33

MODULE 2 (A) - CRYPTOCURRENCY INTUITION
10. HOW DO MEMPOOLS WORK?

분산 P2P 네트워크에서 멤풀이 어떻게 작동하는지 알아보자

분산 P2P 네트워크 내 멤풀(mempool)

위 그림에는 채굴자와 노드라고 불리는 네트워크 내 참여자들이 존재하는 네트워크가 있다.
노드는 채굴자가 아닌 해당 네트워크에서 거래하고 서로에게 비트코인 또는 다른 암호화폐를 보내는 등의 활동을 하는 사람들을 말한다.

멤풀은 각 참여자들에게 존재한다. 여기서 중요한 것은 각 참여자가 노드이든 채굴자이든 모두 멤풀을 하나씩 가지고 있다는 것이다.

이는 분산 P2P 네트워크에서는 모두가 공유하는 하나의 멤풀 같은 건 존재하지 않음을 보여준다.
따라서 멤풀에는 중앙화가 존재하지 않는 것이며, 멤풀은 각 참가자에게 개별적으로 존재한다.

그리고 또 하나 중요한 점은 멤풀 자체가 블록체인은 아니다라는 것이다.
즉, 멤풀이라는 것은 트랜잭션을 위한 집결지일 뿐이다.
트랜잭션이 블록 생성 주기에 맞춰 발생해야 할 필요는 없기 때문에 이 트랜잭션들이 블록에 추가되기 전 모이는 집결지와 같은 멤풀에 잠시 존재하는 거이다.

멤풀의 작성 원리

이제 예시를 한번 살펴보자.

어떠한 노드가 트랜잭션을 발생시키면, 이 트랜잭션은 트랜잭션을 발생시킨 노드의 멤풀에 추가된다.

그리고 해당 트랜잭션은 네트워크를 통해 브로드캐스팅 또는 릴레이 되어 채굴자를 포함하여 가장 가까운 노드로 릴레이 된다.
그리고 해당 트랜잭션이 각각의 멤풀에 추가된다.

이 과정에서 모든 노드들은 해당 트랜잭션의 유효성을 확인하기 위해 수많은 검사를 수행한다.
즉, 단순히 가짜인지를 확인하는 것부터 서명의 유효성 등을 확인한다.

이렇게 네트워크 전반에 릴레이 되고 해당 트랜잭션은 네트워크의 모든 멤풀에 추가된다.

채굴자 또한 트랜잭션을 발생시킬 수도 있다.
채굴자가 트랜잭션을 발생시키면 역시 위 그림처럼 이렇게 릴레이 된다.
이처럼 멤풀에는 점점 더 많은 트랜잭션이 추가된다.

만약 이 과정 중 채줄자들이 다음 블록을 찾아 채굴을 하게 된다면 이 채굴된 블록은 멤풀 내 존재하는 트랜잭션들을 포함하고 있다.
즉, 이제 해당 블록이 실제로 채굴되었으므로 이미 블록 안에 있는 트랜잭션들은 멤풀에서 제거된다.

그리고 해당 블록은 네트워크를 통해 릴레이 되고 이들에게 추가되며 동일한 트랜잭션이 해당 참여자들의 멤풀에서 제거된다.

블록이 검사를 통과하기만 하면 이와 같은 작업이 수행되는데, 여기에 추가되면 트랜잭션을 제거한 다음 해당 블록이 네트워크에 추가된다.

요약

  1. 분산 P2P 네트워크는 채굴자들과 노드들로 구성되어 있다.
  2. 노드는 채굴활동을 하지 않고 네트워크 내 활동을 하는 참여자들을 말한다.
  3. 멤풀은 채굴자, 노드 상관 없이 모든 참여자들이 각각 하나씩 가지고 있다.
  4. 트랜잭션이 발생되면 트랜잭션을 발생한 참여자 멤풀에 트랜잭션이 추가되고, 다른 참여자들에게 전파되어 각각의 멤풀에 추가된다.
  5. 전파된 트랜잭션은 전파받은 참여자들 각각에게 검증 받는다.
  6. 노드 뿐만 아니라 채굴자도 트랜잭션을 발생시킬 수 있다.
  7. 채굴이 되면, 블록 내 포함된 트랜잭션들이 멤풀에서 제거되고, 블록이 전파된다.
  8. 전파된 블록을 통해 각 참여자들은 블록에 포함된 트랜잭션들은 맴풀에서 제거한다.

추가 읽기 자료

노드의 관점에서의 멤풀 작동 원리에 대한 심층 가이드 - Marion Deneuville
Marion Deneuville, (2016), An in-depth guide into how the mempool works

0개의 댓글