정상 노드와 비정상 노드를 구분하거나 처벌하는 방법이 있나요?

블록체인을 운영하고 관리하는것이 노드인데 노드들 사이에서도 활동을 열심히 하는 노드가 있는 반면 아무런것도 하지 않는 노드가 있을 것 같습니다.

  • 노드가 정상적인 활동을 하고 있는지 아닌지에 대해 구분하거나 처벌하는 방법이 있나요?

    2개의 답변이 있어요!

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

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

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

      우선 블록을 생성해야하는 의무가 있음에도 블록 생성에 참여하지 않는 노드들의 경우 블록체인 상에서 어느 노드가 네트워크에 온라인 상태로 접속하고 있는지, 블록 생성에 참여했는지 그 내역을 확인할 수 있으므로 합의 노드에서 제외시키는 방식으로 처벌할 수 있습니다.

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

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

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

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

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


    • 안녕하세요. 정상노드와 비정상 노드 구분에 대하여 답변드리겠습니다.

      • 질문자께서 말씀하신 것처럼 정상적으로 성실히 블록을 생성하는 노드가 있지만 반대로 블록생성도 제대로 하지 못하는 노드가 존재한다고 합니다. 이런 문제를 해결하기 위해 이오스 블록체인에서는 유급 스탠바이 BP 블록생산 검증 솔루션 출시 및 테스트가 진행되고 있습니다.

        • 유급 스탠바이 BP 블록 생산 검증 솔루션

          • 4시간마다 스탠바이 BP를 테스트. 대기BP의 테스트가 끝나면, 리스트가 새롭게 업데이트됨

          • 상위 21BP 자리에 대기BP가 4시간씩 로테이션을 돌며, 대기BP가 라운드를 잘 완료하는지 확인함

          • RNG (무작위 숫자 생성기)를 이용하여 무작위 entropy를 생성함

          • 무작위로 지명된 대기BP는 블록 생성 테스트를 거치고, 테스트를 마친 대기BP들은 RNG 게임에 제외됨

          • 블록 생성을 6초간 못하는 대기BP의 경우, 자동으로 제명됨 (*unreg- 대기BP를 제명하는 액션) 3라운드 동안 생성 못할 시, 활성화 스케쥴에서 완전히 제명됨

        • 블록생성을 하지 못할 경우

          • 블록을 생산하지 못한 / 등록이 취소로 제명된 BP를 활성 스케줄에서 완전히 제거하기 위해, 3라운드를 더 기다릴 필요가 없이 하드포크 제안을 통해 솔루션의 최적화 또한 가능함. 이 하드포크 제안은 모든 엑티브 BP의 로테이션 및 자동 제명에 이점이 될 것임. (미씽 블록 개수 감소)

      < 차료 출처 : 아크로이오스 >

      • 쉽게 말해 무작위로 노드를 선발하여 일정기간 블록생성을 하게 하므로써 BP노드로써 정상적인 임무를 수행할 수 있는지 테스트하게 됩니다.

      감사합니다.