[논문 리뷰] Exploring Unfairness on Proof of Authority: Order Manipulation Attacks and Remedies
이 논문은 Proof of Authority (PoA) 블록체인 시스템에서 두 가지 새로운 순서 조작 공격—트랜잭션 수준 및 블록 수준의 불공정성—을 규명하고 이를 악용한다. 이를 통해 정직하지만 이윤을 극대화하려는 검증자가 트랜잭션 순서와 블록 봉인 순서를 조작할 수 있음을 입증한다. 저자들은 Aura 및 Clique와 같은 실제 PoA 구현체에서 이러한 공격을 평가하여 약 $681.087억 달러의 시가총액 노출 가능성을 드러내며, 공정성을 복원하기 위한 코드 수준의 수정안을 제안한다.
Proof of Authority (PoA) is a type of permissioned consensus algorithm with a fixed committee. PoA has been widely adopted by communities and industries due to its better performance and faster finality. In this paper, we explore the extit{unfairness} issue existing in the current PoA implementations. We have investigated 2,500+ extit{in the wild} projects and selected 10+ as our main focus (covering Ethereum, Binance smart chain, etc.). We have identified two types of order manipulation attacks to separately break the transaction-level (a.k.a. transaction ordering) and the block-level (sealer position ordering) fairness. Both of them merely rely on honest-but- extit{profitable} sealer assumption without modifying original settings. We launch these attacks on the forked branches under an isolated environment and carefully evaluate the attacking scope towards different implementations. To date (as of Nov 2021), the potentially affected PoA market cap can reach up to $681,087$ million USD. Besides, we further dive into the source code of selected projects, and accordingly, propose our recommendation for the fix. To the best of knowledge, this work provides the first exploration of the extit{unfairness} issue in PoA algorithms.
연구 동기 및 목표
- 기업 및 협동체 블록체인에서 널리 사용되는 Proof of Authority (PoA) 합의 프로토콜의 공정성 취약점을 조사하기 위해.
- 실제 조건을 전제로 하여 트랜잭션 순서 조작 및 블록 봉인자 위치 조작이라는 두 가지 유형의 순서 조작 공격을 식별하고 분석하기 위해.
- Ethereum, Binance Smart Chain, Quorum 등에서 사용되는 Aura 및 Clique와 같은 주요 PoA 구현체에서 이러한 공격의 실제 영향을 평가하기 위해.
- 10개 이상의 주요 PoA 프로젝트의 소스 코드 분석을 기반으로 하여 공정성을 회복하고 악성 조작을 방지할 수 있는 실용적인 코드 수준의 조치를 제안하기 위해.
- 광범위한 채택에도 불구하고 중요한 보안 격차를 드러내는 바탕이 되는 PoA 시스템에서의 불공정성에 대한 첫 번째 공식적 탐구를 수립하기 위해.
제안 방법
- 저자들은 2,500개 이상의 PoA 기반 프로젝트를 역공학하고 분석하였으며, 그 중에서 Parity의 Aura 및 Geth의 Clique를 포함한 10개 이상의 주요 구현체에 집중하였다.
- 두 가지 공격 벡터를 설계하였다: (1) 전략적 트랜잭션 제출 시점을 이용해 트랜잭션 포함 순서를 조작하는 트랜잭션 불공정성; (2) 리더 전환 로직을 악용해 봉인 우선순위를 높이는 블록 불공정성.
- 이 공격들은 프로토콜 수정이나 공모 없이도 작동하며, '정직하지만 이윤을 추구하는 봉인자'라는 가정에 기반하여 매우 실용적인 공격 방식이다.
- 공격 성공률과 다양한 구현체에서의 영향 범위를 측정하기 위해 생산용 PoA 체인의 고립된 포크 브랜치에서 실험을 수행하였다.
- Aura 및 Clique의 깊은 소스 코드 검사를 통해 근본 원인을 규명하고, 안전한 재구현을 위한 구체적인 권고 사항을 도출하였다.
- 이전 연구에서 제안한 공정성의 형식적 모델(예: Kelkar 등)을 활용하여 트랜잭션 순서 조작 및 블록 수준의 공정성을 정의하고 평가하였다.
실험 결과
연구 질문
- RQ1정직한 검증자가 프로토콜 규칙을 위반하지 않고도, 이윤을 추구하기 위해 PoA 블록체인의 트랜잭션 순서를 얼마나 조작할 수 있는가?
- RQ2PoA 프로토콜의 블록 리더 전환 메커니즘이 봉인 우선순위와 최종성 순서 조작을 어떻게 가능하게 하는가?
- RQ3실제로 이러한 순서 조작 공격이 주요 PoA 기반 블록체인에서 재정적 노출 측면에서 어떤 영향을 미치는가?
- RQ4실제 운영 조건 하에서 프로토콜 수정 없이도 노드 무결성의 손상 없이 이러한 공격을 수행할 수 있는가?
- RQ5기존 PoA 구현체에서 불공정성의 근본 원인은 무엇이며, 코드 수준의 수정을 통해 어떻게 완화할 수 있는가?
주요 결과
- 논문은 PoA의 정직하지만 이윤을 추구하는 검증자에 의존하는 특성에 악용되는 두 가지 새로운 순서 조작 공격—트랜잭션 불공정성과 블록 불공정성—을 규명하였다.
- 이 공격들은 Aura 및 Clique와 같은 주요 PoA 구현체에서 효과적이며, 공모나 프로토콜 변경 없이도 작동한다.
- 2021년 11월 기준으로 이러한 공격의 영향을 받을 수 있는 PoA 시스템의 시가총액은 약 $681,087만 달러에 이른다.
- 트랜잭션 불공정성 공격은 특정 작업의 프론트런닝 또는 지연을 위해 트랜잭션 순서를 재정렬할 수 있게 하여 트랜잭션 처리의 공정성을 약화시킨다.
- 블록 불공정성 공격는 리더 전환 로직을 조작하여 특정 노드가 고우선순위 블록을 더 자주 생성할 확률을 높여, 전략적 블록 유보 또는 프론트런닝을 가능하게 한다.
- 저자들은 대상 PoA 구현체의 깊은 소스 코드 분석을 바탕으로 구체적이고 코드 수준의 권고 사항을 제공하여 취약점을 수정하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.