검수요청.png검수요청.png

"그라인딩 공격"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(같이 보기)
(태그: 모바일 편집, 모바일 웹 편집)
 
(사용자 4명의 중간 판 5개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''그라인딩 어택'''(Grinding Attack)이란 랜덤 변수를 생성하여 [[슬롯 리더]](Slot Leader)를 선출하는 지분 증명 코인들에 대한 공격방식이며, 스테이킹 그라인딩 어택 (Stake Grinding Attack)이라고도 불린다.
+
'''그라인딩 공격'''(grinding attack)이란 랜덤 변수를 생성하여 [[슬롯리더]](slot leader)를 선출하는 [[지분증명]](PoS) 코인들에 대한 공격 방식이며, '''스테이크 그라인딩 어택'''(stake grinding attack)이라고도 부른다.
  
 
== 소개 ==
 
== 소개 ==
 
=== 이론 ===
 
=== 이론 ===
슬롯 리더를 선출하기 위한 랜덤 변수를 생성하기 위해 [[블록체인]]의 헤더와 전송 내역을 이용하기도 하는데, 이 경우 마지막 블록 생성자가 미리 랜덤 변수를 계산해볼 수 있게 된다. 간단하게는 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락시키거나 포함시키는 것과, 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 드의 공격을 생각할 수 있다. <ref> keepit, 〈[https://steemit.com/coinkorea/@keepit/1mc2k-keep-t 블록체인 상식사전]〉, 《steemit》 </ref>
+
[[슬롯리더]]를 선출하기 위한 랜덤 변수를 생성하기 위해 [[블록체인]]의 헤더와 전송 내역을 이용하기도 하는데, 이 경우 마지막 블록 생성자가 미리 랜덤 변수를 계산해볼 수 있게 된다. 간단하게는 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락시키거나 포함시키는 것과, 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 등의 공격을 생각할 수 있다.<ref>keepit, 〈[https://steemit.com/coinkorea/@keepit/1mc2k-keep-t 블록체인 상식사전]〉, 《스팀잇》</ref>
 +
 
 
=== 공격 방식 ===
 
=== 공격 방식 ===
* [[PoS]]방식은 특정 기준에 부합할 경우 블록을 생성할 권한을 얻게 되는데, 특히 지분이 많을 수록 블록을 생성할 권한 얻을 수 있는 확률이 높아지게 된다.
+
* [[지분증명]](PoS) 방식은 특정 기준에 부합할 경우 블록을 생성할 권한을 얻게 되는데, 특히 지분이 많을 수록 블록을 생성할 권한 얻을 수 있는 확률이 높아지게 된다.
 
* 블록을 생성할 확률을 높이기 위해 변수를 미리 계산하여 블록을 생성할 확률을 얻을 때까지 전송내역을 누락시킨다.
 
* 블록을 생성할 확률을 높이기 위해 변수를 미리 계산하여 블록을 생성할 확률을 얻을 때까지 전송내역을 누락시킨다.
 
* 이후 예측한 근거를 통해 지분(코인)을 사전에 확보여 블록을 생성할 권한을 높이는 방법을 말한다.
 
* 이후 예측한 근거를 통해 지분(코인)을 사전에 확보여 블록을 생성할 권한을 높이는 방법을 말한다.
* 이를 방지하기 위해서는 [[코인토싱]](Coin Tossing) 프로토콜을 사용하게 된다. <ref> 장석만,〈[https://www.a-ha.io/questions/4df914300533ae328359759b5d656a4d 그라인딩 어택]〉, 《Aha》, 2019-07-31 </ref>
+
* 이를 방지하기 위해서는 [[코인토싱]](Coin Tossing) 프로토콜을 사용하게 된다.<ref> 장석만, 〈[https://www.a-ha.io/questions/4df914300533ae328359759b5d656a4d 그라인딩 어택]〉, 《Aha》, 2019-07-31</ref>
  
 
== 우로보로스 프로토콜 ==
 
== 우로보로스 프로토콜 ==
''''[[지분증명]] 방식의 한계를 넘는 도전, [[우로보로스]] [[프로토콜]](Ouroboros)'''' 지분증명 방식은 [[작업증명]](Porrf-of-Work) 방식과 달리 컴퓨팅 파워의 크기에 따라 더 많은 블록을 생성하여 보상을 얻는 방식이 아닌 보유 지분에 따라 이자처럼 [[암호화폐]]를 얻을 수 있는 방식이다. 지분증명 방식에는 하나의 취약점이 있는데 그것은 바로 '''그라인딩 어택'''(Grinding Attack)이라고 하는 해커의 공격 방식이다. 그라인딩 어택의 발생 요인은 지분증명 방식에서 블록을 생성하기 위해 추첨을 통해 랜덤 변수를 생성하는데 이를 조작이 가능한 상황을 만들 수 있다. 우로보로스 프로토콜은 그라인딩 어택을 막기 위해 설계되었다. 추첨을 통한 랜덤 변수 생성이 아닌, 모든 구성원이 랜덤 변수를 생성할 수 있도록 설계된 프로토콜이다. 다만, 혁신적인 암호화폐 플랫폼으로 설명하는 것에 비해서 아직은 [[메인넷]](Mainnet)을 지원하지 않고 있으며 보여지는 결과물이 부족한 상황이다. <ref> 암호화폐 인사이트,〈[https://blog.naver.com/blockentlab/221298591746 우로보로스 프로토콜]〉, 《네이버 블로그》, 2018-06-14 </ref>
+
'''[[지분증명]] 방식의 한계를 넘는 도전, [[우로보로스]](Ouroboros) 프로토콜'''
 +
 
 +
지분증명 방식은 [[작업증명]](Proof-of-Work) 방식과 달리 컴퓨팅 파워의 크기에 따라 더 많은 블록을 생성하여 보상을 얻는 방식이 아닌 보유 지분에 따라 이자처럼 [[암호화폐]]를 얻을 수 있는 방식이다. 지분증명 방식에는 하나의 취약점이 있는데 그것은 바로 '''그라인딩 공격'''(Grinding Attack)이라고 하는 해커의 공격 방식이다. 그라인딩 공격의 발생 요인은 지분증명 방식에서 블록을 생성하기 위해 추첨을 통해 랜덤 변수를 생성하는데 이를 조작이 가능한 상황을 만들 수 있다. 우로보로스 프로토콜은 그라인딩 어택을 막기 위해 설계되었다. 추첨을 통한 랜덤 변수 생성이 아닌, 모든 구성원이 랜덤 변수를 생성할 수 있도록 설계된 프로토콜이다. 다만, 혁신적인 암호화폐 플랫폼으로 설명하는 것에 비해서 아직은 [[메인넷]](Mainnet)을 지원하지 않고 있으며 보이는 결과물이 부족한 상황이다.<ref>암호화폐 인사이트, 〈[https://blog.naver.com/blockentlab/221298591746 우로보로스 프로토콜]〉, 《네이버 블로그》, 2018-06-14 </ref>
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
* 스팀잇, 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=17082343&memberNo=41067537 블록체인 상식사전]〉, 《네이버 블로그》, 2018-11-12
+
* 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=17082343&memberNo=41067537 블록체인 상식사전]〉, 《네이버 블로그》, 2018-11-12
  
 
== 같이 보기 ==
 
== 같이 보기 ==
* [[Pos]]
+
* [[지분증명]]
* [[블록체인]]
+
* [[슬롯리더]]
* [[암호화폐]]
 
 
* [[프로토콜]]
 
* [[프로토콜]]
 
* [[우로보로스]]
 
* [[우로보로스]]
 +
 +
{{보안|검토 필요}}

2021년 10월 22일 (금) 12:51 기준 최신판

그라인딩 공격(grinding attack)이란 랜덤 변수를 생성하여 슬롯리더(slot leader)를 선출하는 지분증명(PoS) 코인들에 대한 공격 방식이며, 스테이크 그라인딩 어택(stake grinding attack)이라고도 부른다.

소개[편집]

이론[편집]

슬롯리더를 선출하기 위한 랜덤 변수를 생성하기 위해 블록체인의 헤더와 전송 내역을 이용하기도 하는데, 이 경우 마지막 블록 생성자가 미리 랜덤 변수를 계산해볼 수 있게 된다. 간단하게는 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락시키거나 포함시키는 것과, 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 등의 공격을 생각할 수 있다.[1]

공격 방식[편집]

  • 지분증명(PoS) 방식은 특정 기준에 부합할 경우 블록을 생성할 권한을 얻게 되는데, 특히 지분이 많을 수록 블록을 생성할 권한 얻을 수 있는 확률이 높아지게 된다.
  • 블록을 생성할 확률을 높이기 위해 변수를 미리 계산하여 블록을 생성할 확률을 얻을 때까지 전송내역을 누락시킨다.
  • 이후 예측한 근거를 통해 지분(코인)을 사전에 확보여 블록을 생성할 권한을 높이는 방법을 말한다.
  • 이를 방지하기 위해서는 코인토싱(Coin Tossing) 프로토콜을 사용하게 된다.[2]

우로보로스 프로토콜[편집]

지분증명 방식의 한계를 넘는 도전, 우로보로스(Ouroboros) 프로토콜

지분증명 방식은 작업증명(Proof-of-Work) 방식과 달리 컴퓨팅 파워의 크기에 따라 더 많은 블록을 생성하여 보상을 얻는 방식이 아닌 보유 지분에 따라 이자처럼 암호화폐를 얻을 수 있는 방식이다. 지분증명 방식에는 하나의 취약점이 있는데 그것은 바로 그라인딩 공격(Grinding Attack)이라고 하는 해커의 공격 방식이다. 그라인딩 공격의 발생 요인은 지분증명 방식에서 블록을 생성하기 위해 추첨을 통해 랜덤 변수를 생성하는데 이를 조작이 가능한 상황을 만들 수 있다. 우로보로스 프로토콜은 그라인딩 어택을 막기 위해 설계되었다. 추첨을 통한 랜덤 변수 생성이 아닌, 모든 구성원이 랜덤 변수를 생성할 수 있도록 설계된 프로토콜이다. 다만, 혁신적인 암호화폐 플랫폼으로 설명하는 것에 비해서 아직은 메인넷(Mainnet)을 지원하지 않고 있으며 보이는 결과물이 부족한 상황이다.[3]

각주[편집]

  1. keepit, 〈블록체인 상식사전〉, 《스팀잇》
  2. 장석만, 〈그라인딩 어택〉, 《Aha》, 2019-07-31
  3. 암호화폐 인사이트, 〈우로보로스 프로토콜〉, 《네이버 블로그》, 2018-06-14

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 그라인딩 공격 문서는 보안에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.