
편집자 주: 이 기사의 출처는일류 창고형 블록체인 연구소 (ID: first_vip1)편집자 주: 이 기사의 출처는
일류 창고형 블록체인 연구소 (ID: first_vip1)
일류 창고형 블록체인 연구소 (ID: first_vip1)
, 저자: Dominik Harz, 컴파일러: First Class Warehouse-Mark, Odaily의 승인을 받아 재인쇄됨.
Maker가 플래시 대출 풀의 유동성 풀이 임계값을 초과하기 전에 지연을 도입하지 않으면 공격을 중지할 가능성이 거의 없습니다(경합 상태).
소개하다
Maker는 공격에 대해 알고 2월 21일 이를 방지하기 위해 투표를 실시했습니다.
보조 제목
소개하다
a16z:60000 MKR
0xfc7e22c6afa3ebb723bdde26d6ab3783aab9726b:51291 MKR
0x000be27f560fef0253cac4da8411611184356549:39645 MKR
[메이커 거버넌스 계약: 192910 MKR]
메이커 재단: 117993 MKR
참고: 메이커 거버넌스 계약에는 여러 당사자를 위한 MKR 토큰이 포함되어 있습니다.
보조 제목
거버넌스 공격
필요한 MKR 토큰의 수를 줄이기 위해 그는 새로운 거버넌스 계약에 투표할 때 공격을 수행할 것을 제안합니다. 현재 192,910개의 MKR 토큰이 거버넌스 계약에 잠겨 있습니다. 그러나 2~3개의 계약이 유사한 토큰 배포와 동시에 투표되는 경우 공격자는 더 적은 토큰이 필요합니다.
이것은 아래 이미지와 같이 과거에 많이 발생했습니다.
명백한 공격 전략은 스마트 계약을 통해 필요한 MKR 토큰을 크라우드 펀딩하고 각 공격자에게 포상금의 일부를 지불하는 것입니다. 그러나 공격자는 Maker가 이러한 움직임을 알아차리지 못한 채 시스템을 공격할 기회를 갖기 위해 약 50,000개의 MKR 토큰을 축적해야 할 것입니다.
보조 제목
새로운 공격 전략: 플래시 론
그러나 플래시 론을 고려하면 대량의 MKR 토큰에 대한 요구 사항을 완전히 제거할 수 있습니다. 플래시론은 상당히 새로운 개념이므로 여기에 간략한 설명이 제공됩니다. 일반적으로 차용인은 DeFi 프로젝트에서 대출을 받기 위해 담보를 제공해야 합니다. 예를 들어 Maker에서 A는 ETH를 입금하여 Dai를 빌릴 수 있습니다. 이것은 필요하며 약한 정체성과 경제적으로 건전한 대리인의 모델 아래에서 작동합니다.
플래시 대출은 단일 거래에서만 발생하므로 이 요구 사항이 없습니다.
1. A는 플래시론 유동성 공급자(예: Aave 또는 dYdX)로부터 대출을 받습니다.
A는 이자와 함께 플래시론을 갚았다. 해당 거래 중 어느 시점에서든 플래시 대출이 실패하면 전체 거래가 되돌려집니다. 따라서 A는 무상으로 대출의 위험을 감수할 수 있으며, 대출금을 상환할 수 없는 경우에는 대출을 받지 않은 것과 같습니다. 유동성 공급자도 이깁니다. A가 대출금을 상환할 수 있는 경우에만 자금을 빌려줍니다.플래시 대출은 Ethereum 가상 머신이 설계된 방식 때문에 작동합니다.
보조 제목
2월 14일과 2월 18일에 플래시 대출과 관련된 두 건의 사건이 발생하여 bZx가 플랫폼을 중단하게 만들었습니다. 첫 번째 거래에서 단일 플래시 대출은 1,193 ETH(약 $298,250)의 수익을 올렸습니다. 거래는 wBTC의 Fulcrum에서 짧은 포지션을 여는 스마트 계약을 사용하여 실행되었습니다. Compound에서 wBTC 대출을 받고 Kyber의 Uniswap 준비금에서 wBTC를 거래하여 결과적으로 Fulcrum의 가격을 낮추는 미끄러짐을 일으킨 동일한 거래에서 bZx의 사후 분석에서 전체 세부 정보를 확인할 수 있습니다.
(일류 창고 참고: Fulcrum은 간단하고 효과적인 대출 및 마진 거래 방법을 제공하는 제품이며 현재 최초이자 유일한 무신탁 마진 플랫폼이며 승인이 필요없고 수수료가 없으며 필요가 없다고 주장합니다. 계정을 생성합니다.)
마찬가지로 두 번째 사건은 2월 18일에 발생하여 한 번의 거래로 2,378 ETH(약 $600,000)의 이익을 얻었습니다. 거래에는 Synthetix의 sUSD에서 롱 포지션을 취하기 위해 7500 ETH의 초기 차용이 포함되었습니다.
보조 제목
현재 환율로 공격자는 해당 금액의 MKR을 구매하기 위해 약 485,000 ETH가 필요하며, Kyber라는 하나의 거래소만 충분한 용량을 가지고 있습니다. 그러나 공격자는 여러 교환을 사용하여 Kyber에서 38k MKR, Uniswap에서 11.5k MKR, Switcheo에서 500 MKR을 총 378,940 ETH로 구매할 수 있습니다. 이 숫자는 여전히 높지만 거의 100,000 ETH만큼 감소했습니다!
충분한 유동성 확보
보조 제목
충분한 유동성 확보
오라클 오퍼레이션으로도 Maker에 대한 공격을 수행하기 위해서는 많은 양의 ETH가 필요합니다. 공격자는 동일한 거래에서 두 개의 플래시 대출을 인출하여 유동성을 높일 수 있습니다. Aave 및 dYdX는 재진입으로부터 스스로를 보호하고 단일 트랜잭션에서 하나의 플래시 대출만 허용하지만 공격자는 동일한 트랜잭션에서 두 프로토콜 모두에서 ETH를 빌릴 수 있습니다.
조합 계획
분명히 크라우드 펀딩과 플래시 론을 결합할 수 있습니다. ~107k ETH의 사용 가능한 유동성을 사용하면 Kyber에서 ~10800 MKR을 얻을 수 있습니다. 이를 통해 여러 공격자가 총 50k MKR의 필요한 양을 약 39.2k MKR로 줄일 수 있습니다. 비공식 Twitter 설문 조사에서 알 수 있듯이 일부 사람들은 이러한 종류의 공격에 관심이 있는 것 같습니다.
또한 상위 4명의 계정 보유자(실제로는 5명이지만 현재 Maker 거버넌스 계약을 고려하지 않음)는 크라우드 펀딩 없이 공격을 수행할 수 있었습니다.
공격하기 가장 좋은 시간
플래시 론 풀을 통해 충분한 유동성(오라클 운영의 조합 유무에 관계없이)을 확보할 수 있으면 누구나 메이커 거버넌스 계약을 인수할 수 있습니다. 유동성 풀이 임계값에 도달하면 제작자가 투표를 시작하면 제작자는 가능한 한 적은 수의 MKR 토큰이 할당되도록 해야 합니다. 이 취약점은 이 투표 프로세스 중 어느 시점에서든 MKR이 배포되면 악용될 수 있으며 모든 담보가 제거될 수 있습니다.
공격자는 7억 달러 상당의 ETH 담보를 훔치고 마음대로 새로운 Dai를 생성할 수 있습니다. Dai는 다른 프로토콜의 지원 담보로 사용되기 때문에 이러한 유형의 공격은 DeFi 프로젝트 전체에 퍼질 것입니다. 또한 공격자는 자신의 Dai를 약 2억 3천만 달러 상당의 다른 통화와 거래할 수 있었습니다.
보조 제목
대책