블록체인과 멤풀(mempool), 트랜잭션ID(TXID)

  • 비트코인 블록체인이란 비트코인 최초 발행 시점부터 현재까지 모든 거래내역을 블록형태로 연결한 거대한 분산 장부이다.
  • 비트코인은 블록은 10분마다 한 번씩 생성되며, 새로운 블록은 채굴자(마이너)에 의해 생성된다.
  • 한 개의 블록에는 보통 4,000개 정도의 트랜잭션이 포함된다.
  • 그 구체적인 과정은, 대기중인 트랜잭션을 새롭게 생성할 블록에 포함시킨 후, 임의의 nonce 값을 대입하여 일종의 수학문제를 풀어내고, 수학문제의 정답을 맞추었을 경우 ‘검증’ 및 블록체인에 새로운 블록을 연결하기 위해 각 노드에 해당 블록을 전파한다.
  • 노드는 전달된 블록의 유효성을 검증하고 검증된 블록일 경우 자신의 블록체인에 해당 블록을 업데이트한다.

멤풀(mempool)이란 것인가?

  • 아직 거래가 성립되지 않은 상태의 트랜잭션들이 저장되는 공간
  • 노드들은 자신이 받은 트랜잭션들이 유효한 거래인지 검증 후 검증된 트랜잭션을 Mempool에 업데이트한다.
  • 즉 거래자 트랜잭션 생성 -> 노드에서 검증 -> 검증된 트랜잭션 멤플에 업데이트
  • 채굴자(Miner)는 새로운 블록의 생성의 댓가로 신규 비트코인 발행량 + 거래 수수료 받음
  • 채굴자는 멤풀에 대기 중인 트랜잭션 가운데 수수료가 높은 거래부터 순서대로 먼저 처리한다.
  • 처리된다는 것은 블록에 담긴다는 것을 의미하며, 블록이 블록체인에 연결되는 순간 Mempool에서 삭제된다. 이것을 1 Confirm이라 함.
  • 멤풀에는 0 Confirm만 존재한다.
  • 참고로, 위 그림의 오른쪽 위 검색란에는 블록 숫자 또는 트랜잭션 ID를 검색해서 자신이 거래한 내역을 찾아볼 수 있다.

트랜잭션ID란 무엇인가

  • 비트코인을 받은 주소와 내 보낸 주소들을 해싱한 값(TXID)
  • 맨 윗줄 : 트랜잭션 ID

  • 왼쪽은 비트코인 받은 주소
  • 오른쪽은 비트코인을 내보낸 주소
  • 왼쪽에서 받은주소와 내보낸 주소를 해싱한 값이 (두 번째 그림의 맨 윗줄) 트랜잭션 ID이다.
    • 트랜잭션ID(TXID) 4,000개를 해싱한 값이 머플루트 이다.