안좋은 행위를 하는 노드들에 대한 대응 방안은 무엇인가요?

대다수의 노드들은 맡은바 일을 잘 하겠지만 노드들중에 이상한짓?을 하는 노드들이 분명히 있을것 같습니다. 이런 나쁜 노드들이 나쁜짓을 하는 것을 어떻게 막을 수 있고 대응하고 있는지 알고 싶습니다.

    1개의 답변이 있어요!

    • 일단 질문자께서 질문해주신 내용과 관련하여 블록체인 상에서 악의적인 노드가 무엇인지 알아볼 필요가 있다고 생각합니다.

      원래부터 악의적인 목적으로 블록체인 네트워크에 참여한 것은 아닐지라도 블록체인 상에서 합의에 참여하여 블록을 생성해야하는 노드임에도 블록 생성에 참여하지 않는 것도 결과적으로 악의적인 노드가 될 수 있습니다.

      또한 거래 내역을 조작하려는 노드, 투표로 대표 노드를 선정하는 경우 담합이나 부정 투표를 하려는 노드, 대표 노드임에도 블록체인 상에서 발생한 문제에 대한 의사결정에 참여하지 않는 경우 그 외에 블록체인의 안전성이나 보안성을 저해하는 행위를 하는 노드들이 악의적인 노드가 될 수 있습니다.

      우선 블록을 생성해야하는 의무가 있음에도 블록 생성에 참여하지 않는 노드들의 경우 블록체인 상에서 어느 노드가 블록을 생성했는지 내역을 확인할 수 있으므로 대표 노드에서 제외시키는 방식으로 처벌할 수 있습니다.

      다음으로 거래 내역을 조작하려는 노드들의 경우, 폴카닷 블록체인에서는 이러한 악의적 노드(비잔틴 노드)에 해당하는 Validator(검증자)를 찾아, 검증자가 검증을 위해 하면서 동결시켜 놓은 코인을 소각시킴으로써 처벌하고 그 코인의 일부를 보상으로 받는 감시자인 Fishermen들이 있어 블록체인이 원활하게 운영될 수 있습니다.

      이와 마찬가지로 이더리움 2.0 블록체인에서도 블록의 검증에 참여하는 노드들의 경우 스테이킹을 해야 하며, 검증 노드를 성실하게 운영하지 않거나 잘못된 검증을 할 경우 스테이킹된 이더리움의 일부가 몰수될 수 있도록 하고 있습니다.

      이어서 대표 노드를 뽑는 투표에서 담합이나 부정 투표가 있는 경우 투표 내역이 일반적인 투표와 다른 방식으로 나타나게 되므로 투표를 조작한 것이 아니냐는 의심을 살 수 있습니다. 이것에 대한 구체적인 증거가 있다면 이오스 헌법에 따라 직접적으로 BP에서 제외하는 처벌을 할 수 있습니다. 그리고 증거가 없어 직접적인 처벌은 어렵더라도 대표 노드를 뽑는 투표에 영향을 줄 수 있다는 점에서 견제 시스템이 존재한다고 볼 수 있습니다.

      그리고 대표 노드임에도 대표 노드들이 중요한 의사 결정을 할 때 참여하지 않는 노드가 있다면 투표를 통해 BP에서 제외하거나 불성실한 활동에 대한 패널티를 주는 방법을 마련할 것으로 보입니다.

      끝으로 위에서 말씀드린 행위 외에도 블록체인의 안정성이나 보안성, 운영과 관리, 유지 측면에서 부정적인 영향을 주는 노드가 있다면 처벌이나 배제를 통해 블록체인을 운영해 나가고 있다고 할 수 있습니다.

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