블록체인의 기술 특징 중 분산장부에 의한 노드들의 51% 합의 과정에 의해 공통장부에 기록되었다면 반드시 결과가 반영되어야 되지 않나요?
블록체인의 기술 특징 중 분산장부에 의한 노드들의 51% 합의 과정에 의해 공통장부에 기록되었다면 반드시 결과가 반영되어야 된다고 생각하는데 반영이 되지 않아 추후 다른 블록에 재 반영될 수 있나요?
블록체인의 기술 특징 중 분산장부에 의한 노드들의 51% 합의 과정에 의해 공통장부에 기록되었다면 반드시 결과가 반영되어야 된다고 생각하는데 반영이 되지 않아 추후 다른 블록에 재 반영될 수 있나요?
결론부터 말씀드리면 그렇게 될 가능성이 존재합니다. 예를 들어 제가 A라는 트랜젝션을 발생시켰다고 할 때 일차적으로 이 트랜젝션이 각 마이닝 노드들에게 전파되어 유효성을 검증 받게 됩니다.
그리고 나서 마이닝 노드들 각자의 Mempool에 트랜젝션이 저장되어 있는 상태에서 블록 생성을 위한 연산을 수행할 것입니다.
다음으로 블록체인 상에서 마이닝 노드들이 동시에 블록을 생성한 후 각자 생성한 블록을 다른 노드들에게 전파했다고 가정해 보겠습니다. 이렇게 되면 노드 각자가 Mempool에 저장된 트랜젝션 중에서 블록에 기록한 내용이 다를 수 있습니다.
이렇게 체인의 포크(Fork)가 발생한 상황에서는 트랜젝션을 가장 많이 포함하고 체인의 길이가 가장 긴 체인이 선택되고 나머지 메인 체인에 포함되지 못한 블록은 고아 블록으로 처리되게 됩니다.
이때 보통은 메인 체인의 블록과 고아 블록이 비슷한 시간 대에 발생한 트랜젝션을 기록하고 있으므로 고아 블록에 포함된 트랜젝션이 메인 체인의 블록에서 누락되지 않을 확률이 높습니다.
하지만 분기가 발생한 블록에서 고아 블록에 포함된 트랜젝션이 누락되었다고 하더라도 그 다음에 이어지는 블록에서 트랜젝션이 검증, 기록되어 처리가 되므로 큰 문제가 없다고 할 수 있겠습니다.
답변이 도움이 되길 바랍니다.