블록체인의 그라인딩 공격(Grinding Attack)이란 무엇인가요?
블록체인의 취약성에 대한 다양한 공격방식이 있는데요. 그 중 지분증명 방식에 관련된 공격방식인 그라인딩 공격(Grinding Attack)이라는 공격 방식이 잘 이해가 가지 않아서 문의 드립니다.
그라인딩 공격이란 무엇인가요?
PoS(지분위임검증) 계열의 블록체인에서만 발생될 수 있는 공격인가요?
질문자께서 질문해주신 내용을 중심으로 답변드리도록 하겠습니다.
그라인딩 공격이란 무엇인가요?
PoS(지분위임검증) 계열의 블록체인에서만 발생될 수 있는 공격인가요?
그라인딩 공격에 대해 설명드리기 전에 POS 합의 알고리즘에서의 채굴 방식에 대해서 먼저 설명을 드릴 필요가 있을 듯합니다. POS 채굴 방식은 스테이킹 한 코인의 수가 많을수록 블록을 생성할 확률이 높아지는 방식을 갖고 있는데요, 따라서 한 블록이 생성되고 채굴이 끝난 시점에서 다음 블록의 생성자 또한 소유 지분에 따라 확률적으로 선택(추첨)되게 됩니다.
그런데 마지막 블록을 생성하도록 선택된 사람은 자신이 생성한 블록의 정보를 바탕으로 다음 블록의 생성자를 선택하기 위한 무작위 변수를 미리 계산해 볼 수 있습니다. 블록을 생성하는 시간 동안 자신이 앞으로도 블록 생성자로 선택될 확률이 최대한 높아지게 되도록, 자신에게 최대한 유리한 무작위 변수를 얻을 때까지 계속해서 블록에 포함될 거래 내역을 임의로 변경해 가면서 변수를 조작하게 되는 것입니다. 영어 사전에서 'Grinding'의 의미를 검색하면 '끝도 없이 계속 되는'이라는 의미를 갖고 있는데, 이 공격이 이러한 이름을 가지게 된 것은 위와 같이 무작위 변수를 조작하려는 시도가 계속된다는 의미를 나타내기 위함이라고 생각합니다.
끝으로 그라인딩 공격은 POS 합의 알고리즘을 채택한 블록체인의 채굴에서만 발생될 수 있다고 할 수 있습니다. POW 방식은 누가 해시 함수 문제를 먼저 푸느냐에 따라 채굴자가 결정되고, DPOS 방식은 대표 노드가 결정되어 있기 때문입니다.
답변이 도움이 되길 바랍니다.