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