chain reorganisation

Younghwan Cha·2023년 3월 17일
0

blockchain

목록 보기
4/18
post-thumbnail

chain reorganisation

A, B 블록이 동시에 생성되었다고 가정해보자.
일부 노드는 A 블록을, 다른 노드는 B 블록을 받아들이게 될 것이다.
이렇게 되면 두개의 다른 체인 ( chain split ) 이 존재하게 된다. 그렇다면 어떤게 유효한 체인일까?
바로 다음 블록이 더 빨리 생성되는 체인이 유효한 체인으로 받아들여진다.
A 블록을 받아들인 체인에 다음 블록이 더 빠르게 생성되었다면, B 블록을 받아들인 다른 모든 노드들은
A 블록을 갖는 체인을 새롭게 받아들이게 된다.
이러한 일련의 과정을 chain reorganisation 이라고 하며, 이때 deprecated 된 B 블록을 orphan block 이라고 한다.

[chain reorganisation] https://learnmeabitcoin.com/technical/chain-reorganisation


해결방안

reindex 를 통해서 다운로드 받은 노드들에 대한 확인을 진행해야한다.
위와 같은 상황에 대비하여 대부분의 블록체인 데몬에서 -reindex 옵션을 제공한다.


rescan vs reindex

rescan
블록체인 wallet 에 누락된 transaction 이 있는지 확인하는 작업.
다음과 같은 상황에 주로 사용한다

  • importing private key
  • restoring a wallet backup file ( wallet.dat )
    따라서, transaction 이 누락된 경우 또는 잔고가 일치하지 않는 경우에 rescan 을 사용하게 되면,
    각 블록을 돌면서 local wallet 에 존재하는 private key 와 관련된 transaction 을 찾는다.
    이를 통해 rescan 이 완료되면 transaction 과 잔고의 무결성을 보장 할 수 있다.

reindex
genesis block ( from scratch ) 부터 확인하는 rescan 과 다르게, reindex 는 다운로드 받은 블록( blk.dat ) 에 대한 확인을 진행.
전체의 데이터가 아닌 해당 노드가 다운로드한 데이터의 무결성만 보장하고 싶은 경우 사용하도록 한다.

https://coinmarketcap.com/community/articles/31984/
https://cryptotrends.in/refresh-rescan-reindex-bitcoin-wallet/

profile
개발 기록

0개의 댓글