이더리움 스테이킹 기반 예측 시장 오라클

이 기사는 기계로 번역되었습니다
원문 표시

동기 부여

예측 시장은 빠르게 성장하고 있지만(Polymarket의 경우 2024년 거래량 약 90억 달러, 2025년 200억 달러 이상 예상), 오라클 보안은 그 속도를 따라가지 못하고 있습니다. 기존 오라클(우마(UMA), Kleros)은 경제적 보안을 위해 거버넌스 토큰에 의존합니다. 이는 실제로 악용된 사례가 있습니다. 시가총액이 5천만 달러에 달하는 토큰에 7백만 달러 이상의 베팅이 걸려 있을 경우, 공격자에게 유리한 상황이 됩니다.

근본적인 취약점은 다음과 같습니다: 지분 가중 방식의 선형 투표(고래 투자자의 영향력), 예측 가능한 투표자 집단(공모 가능성), 그리고 거버넌스 토큰 시가총액에 의해 제한되는 보안 예산.

저는 다른 접근 방식을 제안합니다. 보안이 이더리움 (이더리움(ETH) 으로 표시되고 공격 비용이 거버넌스 토큰이 아닌 이더리움 시가총액에 비례하는 오라클을 만드는 것입니다.

건축학

ETH Deposit -> Liquid Staking (Lido/RocketPool/cbETH) -> ~ 2.8 - 3 % APY|Validator Pool (global, single pool for all markets)|VRF Panel Selection (per market)/ \Panel A Panel B <- simultaneous, independent (commit-reveal) (commit-reveal)\ /Compare|A = B -> finalize ( 48 h)A != B -> Panel C (VRF, disjoint set) -> 2 -of- 3 rule ( 96 h)

이 프로토콜은 2차 투표 가중치, VRF 기반 난수 패널, 병렬 다중 라운드 해결이라는 세 가지 기본 요소를 결합합니다. 각 요소는 개별적으로 잘 연구되어 왔습니다( QV with sortition , QSort , Kleros appeals). 본 연구의 공헌은 각 기본 요소의 약점을 다른 요소들이 보완하는 오라클 프로토콜로 이들을 통합한 것입니다.

프로토콜 설계

1. 이차 가중치를 사용한 이더리움(ETH) 스테이킹

검증자는 프로토콜에 이더리움(ETH) (최소 1 이더리움(ETH))를 예치합니다. 예치금은 유동성 스테이킹 제공업체를 통해 처리되므로, 스테이킹된 이더리움(ETH) 연이율( 연간 수익률 2.8~3%)을 발생시킵니다. 수익 분배는 검증자에게 80%, 보상 풀에 20%입니다.

잠금 기간 : 14일 입금 잠금(플래시 공격 방지 - 공격자가 입금 후 즉시 참여할 수 없도록 함), 14일 출금 잠금(출금 전에 슬래싱 적용할 수 있도록 보장).

투표 가중치 :

W_i = \sqrt{S_i} W i = S i

이것이 고래의 지배력에 맞서는 핵심 메커니즘입니다. 영향력 행사 비용은 제곱에 비례합니다.

예치(stake) 선형 가중치 이차 가중법 투표당 비용
1 이더리움(ETH) 1 1 1 이더리움(ETH)
4 이더리움(ETH) 4 2 2 이더리움(ETH)
25 이더리움(ETH) 25 5 5 이더리움(ETH)
100 이더리움(ETH) 100 10 10 이더리움(ETH)

합리적인 공격자는 예치(stake) 여러 지갑에 분산 투자할 것입니다. 예를 들어, 100개의 지갑에 각각 1 이더리움(ETH) 씩 투자하여 100 이더리움(ETH) 행사하는 방식과, 하나의 지갑에 10,000 이더리움(ETH) 투자하여 100표를 행사하는 방식을 비교해 볼 수 있습니다. 이러한 시빌 전략은 예상되고 고려된 것으로, 공격자의 문제를 "충분한 토큰을 구매하는 것"에서 "수천 개의 지갑을 등록하고 14일 동안 락업하는 것"으로 바꾸어 놓습니다. 이는 막대한 자본이 소모될 뿐만 아니라 탐지 가능성도 높습니다. 전체 비용 계산은 아래 공격 분석을 참조하십시오.

2. VRF 패널 선정

시장에 해결이 필요할 때, 프로토콜은 글로벌 검증자 풀에서 무작위로 패널을 선택합니다.

시드 = VRF ( marketId , roundNumber , blockHash )

선택은 비복원 가중 무작위 샘플링입니다. 각 검증자의 선택 확률은 \sqrt{\text{예치(stake)}} 예치(stake) 에 비례합니다.

패널 규모는 시장 거래량 에 따라 달라집니다(위험 부담이 클수록 → 패널 규모가 커져 → 조작이 어려워짐).

시장 거래량 패널 크기 범위 최소 수영장 필요
10만 달러 미만 50-200 600
10만 달러~100만 달러 100-500 1,500
100만 달러 이상 300-2,000 6,000

풀에는 최소 3 × maxPanelSize 적격 검증자가 포함되어야 하며, 이를 통해 3개의 서로 다른 패널이 생성될 수 있습니다(1차, 2차 및 잠재적인 3차 라운드).

정족수 : 패널 규모의 30%. 정족수 미달 시 결과 발표 기간 내에 정족수가 충족되지 않으면 마감 시한이 24시간 연장됩니다(1회). 그래도 정족수가 충족되지 않으면 해당 라운드는 이전 라운드의 결과로 대체됩니다. 어느 라운드도 정족수를 충족하지 못하면 해당 시장은 해결 불가능한 것으로 간주되며 모든 지분은 슬래싱 없이 반환됩니다.

라운드 간 제외 사항 :

제외된 R2 = 패널 R1 제외 R2 = 패널 R1
제외 R3 = 패널 R1 패널 R2

검증자는 동일한 시장에서 두 번 투표할 수 없습니다. 이는 각 라운드가 서로 다른 검증자 그룹에 의해 결정되도록 보장합니다.

3. 병렬 확정-공개 투표

핵심적인 설계 선택 사항은 1라운드와 2라운드가 독립적인 패널에서 동시에 진행된다는 점입니다.

Panel A: [ Commit 24 h ][ Reveal 24 h ] - > Compare resultsPanel B: [ Commit 24 h ][ Reveal 24 h ]t = 0 t = 48 h

커밋 단계 : 각 검증자는 해시 제출합니다.

\text{commitment} = \text{keccak256}(\text{vote} \| \text{salt} \| \text{address}) commitment = keccak256 ( vote salt address )

공개 단계 : 검증자가 평문 투표와 솔트를 공개합니다. 계약은 해시 일치 여부를 검증합니다.

병렬 처리가 중요한 이유 : 순차 시스템에서는 R2가 시작되기 전에 R1의 결과가 공개됩니다. 이는 정보 유출을 초래하여 R2 투표자들이 독립적으로 투표하는 대신 R1의 결과에 영향을 받을 수 있습니다. 병렬 패널은 진정으로 독립적인 셸링 포인트 게임을 수행합니다. 각 패널은 다른 패널의 결정을 알지 못한 채 합의 에 도달합니다.

최종 결정 (3개 중 2개 규칙) :

R1 R2 R3 최종 결과 시간
- 48시간
아니요 아니요 - 아니요 48시간
아니요 투표 2/3 96시간
아니요 투표 2/3 96시간

R1과 R2가 의견 일치를 보일 경우, 결과는 48시간 내에 확정되며 이의 신청을 기다릴 필요가 없습니다. 의견이 일치하지 않을 경우, 나머지 검증자 그룹(R1 및 R2 검증자 제외)에서 패널 C가 선정되어 최종 결정을 내립니다.

4. 단계별 슬래싱

최종 결과 에 반대표를 던진 검증자(모든 라운드 포함)는 큰 불이익을 받습니다. 불이익률은 시장 거래량 에 비례하며, 거래량이 많은 시장일수록 더 큰 불이익이 적용됩니다.

시장 거래량 할인율
10만 달러 미만 2%
10만 달러~100만 달러 5%
100만 달러~1,000만 달러 10%
1천만 달러 이상 15%

삭감된 자금은 다음과 같이 분배됩니다: 80%는 다수결 투표자에게 (예치(stake) 비율 예치(stake) 비례하여), 20%는 일반 보상 풀에 분배됩니다.

3개 선택지 중 2개가 찬성인 경우(예: R1=찬성, R2=반대, R3=찬성 → 최종 찬성), 세 라운드 모두에서 반대표를 던진 유권자의 표는 동일하게 감점됩니다. 이는 어느 라운드에 배정되든 정직하게 투표하도록 유도합니다.

5. 품질지표 및 평판

각 검증자는 누적 품질 점수를 유지합니다.

Q_i^{(t+1)} = Q_i^{(t)} + \Delta Q, \quad \Delta Q = \begin{cases} +1 & \text{대다수} \\ -1 & \text{소수} \end{cases} Q ( t + 1 ) i = Q ( t ) i + Δ Q , Δ Q = { + 1 다수 -1 소수

  • 새로운 검증자는 Q_0 = 0 Q 0 = 0 에서 시작합니다.
  • Q < -20 경우 : 10 % 할인 + 90일 이용 금지
  • 금지 조치 해제 후 복귀: Q_0 = -10 Q 0 = 10 , 새로운 14일 잠금
  • 상습 위반자는 위반할 때마다 10%씩 손해를 보게 되며, 지속적인 잘못은 점점 더 큰 손해를 초래합니다.

비활성 슬래싱 : 패널에 선정되었지만 투표에 참여하지 않는 검증자는 투표 누락 시마다 스테이킹 예치(stake) 의 0.1%가 차감됩니다. 이는 수익률을 위해 예치(stake) 하지만 해결 과정에 참여하지 않는 무임승차자를 방지하기 위한 조치입니다.

6. 보상 구조

정직한 검증자는 다음 세 가지 출처에서 수익을 얻습니다.

  1. 시장 수수료 : 거래량 의 0.5%
  2. 대폭 삭감된 이더리움(ETH) : 소수 유권자로부터 재분배됨
  3. 스테이킹 수익률 : 유동성 스테이킹 (연간 수익률) 의 20%가 보상 풀로 지급됩니다.

검증자 i 의 분포 다수입니다.

보상 i = 보상 × √S_i / ∑j 다수 √S_j

보상 조건: 투표(커밋 + 공개), 다수결, Q \geq -20 Q 20 .

7. 검증자 라이프사이클

None -- stake ()- -> LockIn ( 14 d) - -> Active|+-- exit ()- -> ExitReq - -> LockOut ( 14 d) - -> Exited|+-- Q < - 20 - -> Banned ( 10 % slash, 90 d) - -> LockIn (Q=- 10 )

상태 머신은 검증자가 타이밍을 악용할 수 있을 만큼 빠르게 시스템에 진입하거나 시스템에서 나갈 수 없도록 합니다. 검증자는 패널에 선정되기 전에 최소 14일 동안 활성 상태를 유지해야 하며, 시스템에서 나가기를 요청한 후 14일을 기다려야 합니다. 이 기간 동안에도 보류 중인 슬래싱 적용될 수 있습니다.

공격 분석

시빌 공격(Sybil Attack) 비용

합리적인 공격자는 최소 지분 지갑(지갑당 1 이더리움(ETH) , \sqrt{1} = 1 1 = 1 가중치 - 최적의 비율)을 사용합니다.

가정 : 정직한 검증자 10,000명, 평균 예치(stake) 5 이더리움(ETH).

총 정직한 무게: 10,000 × √5 ≈ 22,360 10,000 × √5 22,360

예상 패널 가중치의 50% 이상을 제어하려면 공격자는 22,360 개 이상의 시빌 지갑 필요합니다.

공격자 점유율 = A/22,360 + A > 0.5 이므로 A > 22,360 공격자 점유율 = A 22,360 + A > 0.5 A > 22,360

비용 : 약 22,400 이더리움(ETH) (이더리움(ETH) 당 2,300달러 기준 약 5,200만 달러), 전액 14일간 락업됩니다.

투자수익률(ROI) 계산 (1천만 달러 시장 기준)

잠재적 이익 (시장 점유율 50%) 500만 달러
필요 자본 (예치(stake)) 5200만 달러
자본 동결 28일
성공에 따른 투자 수익률 9.6%
실패 시 손실 (15% 감면) -8백만 달러

기대값은 마이너스입니다. 공격자는 800만 달러를 투자하여 500만 달러를 얻으려 하지만, 자본 한 달 동안 묶이게 됩니다. 또한 이 공격은 탐지 가능합니다. 14일의 자금 동결 기간 동안 최소 지분 참여자 22,000명이 갑자기 유입되는 것은 명백한 이상 징후입니다.

거버넌스 토큰 공격이 적용되지 않는 이유

이 프로토콜에서 공격 대상 자산은 생태계에서 가장 유동성이 높은 자산인 이더리움(ETH) 입니다. 5,200만 달러어치의 ETH를 매수한다고 해서 ETH 가격을 의미 있게 움직일 수는 없습니다. 거버넌스 토큰 공격과 비교해 보면, 거버넌스 토큰 공격에서는 스테이킹된 토큰의 25%만 확보해도 결과를 조작할 수 있고, 투표 후 토큰을 되팔 수도 있습니다. 하지만 이 프로토콜에서는 공격 실패 시 영구적인 이더리움(ETH) 슬래싱 발생합니다.

탐지 및 대응

14일간의 진입 제한 기간은 감지할 수 있는 기간을 제공합니다. 프로토콜이 최소 지분 참여 등록 건수에 비정상적인 급증이 감지되면 다음과 같은 조치를 취할 수 있습니다.

  • 보류 중인 시장에 대해 패널 규모를 확대하세요
  • 지역 사회에 알리세요
  • 정직한 검증자 풀은 대응할 시간(예치(stake) 추가, 검증자 모집)이 있습니다.

이는 플래시론이나 동일 블록 공격과는 근본적으로 다릅니다. 공격자는 자본 투입하고 기다려야 합니다.

미해결 질문

다음 사항들에 대한 의견을 주시면 감사하겠습니다.

  1. 시빌 자본 스레스홀드(Threshold) 5,200만 달러 이상에 14일 락(lock)까지 적용하는 것으로 충분한 억제 효과가 있을까요? 아니면 제가 놓치고 있는 더 저렴한 공격 경로가 있을까요? 공격자가 패널 규모가 작은 저볼륨 시장만을 집중적으로 공격하여 수익을 낼 수 있을까요?

  2. MEV 및 VRF 시드 : 시드에는 블록 생성자가 제어하는 blockHash 포함됩니다. 생성자가 패널 구성을 조작할 수 있을까요? 어떤 난수 생성 소스가 충분한 보호를 제공할 수 있을까요?

  3. 병렬 투표 독립성 : 이 설계는 병렬 패널들이 독립적인 셸링 포인트 결과를 도출한다고 가정합니다. 패널 B의 검증자들이 패널 A의 결과를 예측하려고 시도할 수 있을까요? 진정한 독립성을 위해서는 추가적인 메커니즘 설계가 필요할까요?

  4. 품질 지수 조작 : 검증자가 가치가 낮은 시장에서는 정직하게 투표하여 Q 점수 높이고, 가치가 높은 시장에서는 부정직하게 투표할 수 있다. ΔQ 시장 규모에 따라 증가해야 하는가?

매개변수

모든 수치는 논의를 위한 초기 추정치입니다. 실제 생산 값은 테스트넷 실험 및 경제성 시뮬레이션을 통해 결정해야 합니다. 설계 제약 조건은 다음과 같습니다.

  • 최소 예치(stake) → 시빌 자본 요건은 높게 유지됨
  • 잠금 시간 → 플래시 공격은 불가능
  • 패널 규모 → 시장 가치 위험에 따른 규모 조정
  • 투표율 인하 → 부정직한 투표는 모든 단계에서 기대값에 부정적인 영향을 미칩니다.
  • 품질 기준 → 지속적인 악의적인 행위자는 걸러내고, 정직한 실수는 용인한다.

전체 사양은 GitHub 저장소 (MIT 라이선스)에서 확인할 수 있습니다.

이전 작업

이 디자인은 QV with sortition(Vitalik, 2019) , QSort , 오라클 투표 규칙 , Kleros(랜덤 배심원단 + 순차적 항소), 우마(UMA) DVM 2.0(커밋-공개 + 슬래싱)을 기반으로 합니다.


출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
51
즐겨찾기에 추가
11
코멘트