"그라인딩 공격"의 두 판 사이의 차이
hayeon1006 (토론 | 기여) (→같이 보기) |
hayeon1006 (토론 | 기여) (→같이 보기) |
||
19번째 줄: | 19번째 줄: | ||
== 같이 보기 == | == 같이 보기 == | ||
− | * [[ | + | * [[PoS]] |
* [[블록체인]] | * [[블록체인]] | ||
* [[암호화폐]] | * [[암호화폐]] | ||
* [[프로토콜]] | * [[프로토콜]] | ||
* [[우로보로스]] | * [[우로보로스]] |
2019년 8월 13일 (화) 17:28 판
그라인딩 어택(Grinding Attack)이란 랜덤 변수를 생성하여 슬롯 리더(Slot Leader)를 선출하는 지분 증명 코인들에 대한 공격방식이며, 스테이킹 그라인딩 어택 (Stake Grinding Attack)이라고도 불린다.
소개
이론
슬롯 리더를 선출하기 위한 랜덤 변수를 생성하기 위해 블록체인의 헤더와 전송 내역을 이용하기도 하는데, 이 경우 마지막 블록 생성자가 미리 랜덤 변수를 계산해볼 수 있게 된다. 간단하게는 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락시키거나 포함시키는 것과, 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 드의 공격을 생각할 수 있다. [1]
공격 방식
- PoS방식은 특정 기준에 부합할 경우 블록을 생성할 권한을 얻게 되는데, 특히 지분이 많을 수록 블록을 생성할 권한 얻을 수 있는 확률이 높아지게 된다.
- 블록을 생성할 확률을 높이기 위해 변수를 미리 계산하여 블록을 생성할 확률을 얻을 때까지 전송내역을 누락시킨다.
- 이후 예측한 근거를 통해 지분(코인)을 사전에 확보여 블록을 생성할 권한을 높이는 방법을 말한다.
- 이를 방지하기 위해서는 코인토싱(Coin Tossing) 프로토콜을 사용하게 된다. [2]
우로보로스 프로토콜
'지분증명 방식의 한계를 넘는 도전, 우로보로스 프로토콜(Ouroboros)' 지분증명 방식은 작업증명(Porrf-of-Work) 방식과 달리 컴퓨팅 파워의 크기에 따라 더 많은 블록을 생성하여 보상을 얻는 방식이 아닌 보유 지분에 따라 이자처럼 암호화폐를 얻을 수 있는 방식이다. 지분증명 방식에는 하나의 취약점이 있는데 그것은 바로 그라인딩 어택(Grinding Attack)이라고 하는 해커의 공격 방식이다. 그라인딩 어택의 발생 요인은 지분증명 방식에서 블록을 생성하기 위해 추첨을 통해 랜덤 변수를 생성하는데 이를 조작이 가능한 상황을 만들 수 있다. 우로보로스 프로토콜은 그라인딩 어택을 막기 위해 설계되었다. 추첨을 통한 랜덤 변수 생성이 아닌, 모든 구성원이 랜덤 변수를 생성할 수 있도록 설계된 프로토콜이다. 다만, 혁신적인 암호화폐 플랫폼으로 설명하는 것에 비해서 아직은 메인넷(Mainnet)을 지원하지 않고 있으며 보여지는 결과물이 부족한 상황이다. [3]
각주
참고자료
- 스팀잇, 〈블록체인 상식사전〉, 《네이버 블로그》, 2018-11-12