아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
강한에뮤83
강한에뮤8319.11.29

노드는 올바른 블록 검증을 어떻게 하나요?

블록체인의 블록이 매번 생성될때마다 올바른 블록인지에 대한 검증을 하는것으로 알고 있습니다.

노드들은 올바른 블록 검증을 어떻게 하는건가요?

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 질문해주신 내용에 대해 이더리움 2.0에 적용될 캐스퍼 프로토콜의 사례를 통해 답변해드리도록 하겠습니다. 이와 관련하여 이더리움 2.0의 검증 방식은 투표를 통해 검증을 하는 Consensus-by-bet의 원리가 적용되어 있다고 할 수 있습니다.

    우선 이더리움 2.0 세레니티 단계에 접어들게 되면 우선 비콘체인이 도입되고 누구나 이더리움을 32ETH 이상 스테이킹하면 검증인으로서 검증 노드를 운영할 수 있게 됩니다.

    이때 검증인은 50블록마다 생성된 체크 포인트를 검증하고 확정하는 역할을 하게 되고 이러한 검증 및 확정은 검증 노드들의 투표로 이루어집니다. 이러한 투표 행위는 베팅 행위로도 볼 수 있는데, 그 이유는 어떻게 투표를 하느냐에 따라 보상 여부가 달라지며 잘못된 투표를 할 경우 처벌까지 받을 수 있기 때문입니다.

    구체적으로, 검증인들은 같은 블록 높이에 있는 다른 체크 포인트에 중복 투표를 해서는 안 되며, 투표할 체크 포인트 안에 포함되는 다른 체크 포인트에도 중복 투표할 수 없게 됩니다. 그리고 이것은 일종의 베팅 규칙으로도 볼 수 있습니다. 만약 중복 투표를 허용할 경우 블록의 검증이 제대로 되지 않고 검증 노드가 어떤 선택을 하더라도 손해를 보지 않게 될 수 있는 문제점이 있기 때문에 이러한 규칙이 있는 것입니다.

    그리고 이러한 규칙을 어기게 되면 스테이킹한 이더리움 코인의 일부를 몰수당하는 처벌을 받게 되므로 부정한 투표를 막을 수 있을 것으로 보입니다. 또한 규칙을 어기거나 의도적으로 잘못된 투표를 했을 때의 이익보다 규칙을 지키고 올바른 투표를 했을 때의 이익이 더 크다면 검증 노드들이 올바른 선택을 하게 될 확률이 높아지게 됩니다.

    끝으로 이러한 투표를 통한 블록 검증은 빠르게 이루어지면서도 justified, finalized의 두 가지 상태로 두 번에 걸쳐 투표를 통해 진행되므로 검증의 신뢰성이 담보될 수 있다고 생각합니다. (첫 번째 검증에서 justified 상태로 타당성을 갖게 되고 두 번째 검증에서 finalized 상태로 확정성을 획득하게 됨)

    답변이 도움이 되길 바랍니다.