블록체인의 각 노드들 중 검증간 문제가 되는 노드가 발견되면 어떻게 조치가 되는건가요?
블록체인은 해당 데이터의 검증을 통해 문제 없다고 판단된다면 블록을 체인에 연결을 하는데요. 만약 검증간 문제(크리티컬 포함)가 발생된 노드가 있거나 다수가 발견될 수도 있는데요.
이런 부분에 대해서는 어떤 처리절차를 통해 조치가 되는지 궁금합니다.
55글자 더 채워주세요.
1개의 답변이 있어요!
노드의 완성은 모든 노드에 전파후 해당 전체 노드의 과반이 동의해야 블록에 저장됩니다.
그러므로 검증에 오류가 있거나 이상한 블록은 체인에 연결되지 않습니다.
해당 블록은 없는 블록이나 마찬가지가 될거가 예상합니다.
예를 들어보면요
이더리움의 경우 누군가 트랜잭션을 생성하면, 이 트랜잭션은 즉시 모든 노드에 전파되고 각 노드가 관리하고 있는 트랜잭션 풀에 들어가고 모든 계정의 잔고는 월드 스테이트에 보관되어 있기 때문에, 각각의 노드는 해당 트랜잭션이 정상적인지 아닌지를 개별적으로 판단하게 됩니다. 그리고 마이닝을 수행하는 노드들은 이렇게 쌓인 트랜잭션 중, 자신이 만드는 블럭에 집어 넣을 트랜잭션들을 정해 둔 상태에서 (수수료를 많이 주는 트랜잭션 우선으로) 자신이 문제를 풀 경우 해당 해시값을 블록에 포함시켜, 블록을 전파합니다.
이렇게 전파된 블록은 각 노드에서 역시 유효한 것인지를 확인하게 되고, 유효하다면 체인에 저장하고, 해당 블록에 포함된 트랜잭션들을 자신의 트랜잭션 풀에서 삭제하고, 새로운 문제를 풀기 시작한다. 즉, 블록의 선언은 단 한 번 이루어지며 서로 이게 맞네 아니네 논의하지는 않습니다. 각자 보관해 둔 정보를 기반으로 각자가 판단하는 것이죠.