프로젝트 소개

FlashLoanArbitrage는 단일 스크립트인 `goflash.js`와 `package.json`으로 배포되는 JavaScript 명령줄 도구입니다. README에 따르면 이 도구는 ETH/USDC 가격을 모니터링하고 거래소 간 스프레드가 발생할 때 작동하는 DeFi 차익 거래 봇입니다. 작동 방식 설명 README에 따르면 이 봇은 Chainlink(기본 오라클 가격으로 사용), Uniswap V2, SushiSwap, Curve Finance, Balancer 등 5개 소스에서 ETH/USDC 가격을 폴링합니다. 값을 비교하여 상승/하락/보합 표시와 함께 출력하며, 최대 가격 차이가 최소 0.9%가 될 때까지 기다린 후 거래를 시도합니다. 스캔은 60초마다 반복되는 것으로 설명되어 있습니다. 실행은 USDC로 플래시 론을 받고, 저렴한 거래소에서 ETH를 매수하여 비싼 거래소에 매도한 뒤, 수수료와 가스비를 포함해 대출금을 상환하고 남은 USDC 수익을 다시 ETH로 변환하는 배포된 스마트 컨트랙트에 의존한다고 합니다. 플래시 론 소스로는 Aave(0.05%, 최대 10,000,000 USDC), dYdX(0.05%, 최대 500,000 USDC), Uniswap V3(0.01%, 최대 5,000,000 USDC), Balancer(0.02%, 최대 1,000,000 USDC)의 4곳이 명시되어 있습니다. 단, README에 표시된 저장소 구조에는 스크립트, 매니페스트, 자동 생성된 `wallet.json` 및 README만 포함되어 있으며, 컨트랙트 소스는 나열되어 있지 않습니다. 사용법 설치는 일반적인 Node.js 흐름을 따릅니다. `goflash.js`와 `package.json`을 확보한 후 `npm install`을 실행하고 `node goflash.js`를 실행합니다. 처음 실행 시 도구는 새 지갑을 생성하거나 개인 키를 통해 기존 지갑을 가져올 수 있는 대화형 프롬프트를 제공하며, 키는 `wallet.json`에 저장됩니다. 이후 메뉴에서 플래시 론 프로토콜 선택, ETH 단위의 대출 금액 설정, 지갑 재생성 또는 재가져오기, 차익 거래 시작 또는 종료 옵션을 선택할 수 있습니다. 종속성으로는 `ethers` ^6.11.1, `inquirer` ^8.2.6, `chalk` ^4.1.2가 사용됩니다. 명시된 제약 사항 및 주의 사항 README는 지갑 잔액이 0.1 ETH 미만일 경우 10 ETH 이상의 대출에 대한 가스비를 충당하지 못할 수 있다고 경고하며, 0.1%의 거래 수수료, 0.05%의 슬리피지 및 가스비가 차감된다고 명시하고 있습니다. 또한 실제 시장에서 0.9%의 거래소 간 스프레드는 드물며, 스크립트가 시연을 위해 가끔 시뮬레이션된 기회를 표시할 것이라고 밝히고 있습니다. 문제 해결 섹션에서는 모듈 형식 오류, 잘못된 개인 키, 잔액 부족 및 RPC 재연결 문제를 다룹니다. 리스크 및 보안 참고 사항 이러한 도구를 실행하기 전에 세 가지 측면에서 주의가 필요합니다. 첫째, 이 도구는 원시 개인 키를 요구하고 이를 `wallet.json`에 평문으로 저장합니다. README 자체에서도 해당 파일을 커밋하지 말고 전용 지갑을 사용하며 오프라인 백업을 유지하라고 권고하는데, 이는 설계상 가스비 펀드를 보유한 핫 월렛을 가정하고 있음을 나타냅니다. 둘째, 이 프로젝트는 성능 데이터, 감사된 컨트랙트, 수수료 및 슬리피지와 더 빠른 서처(searcher)와의 경쟁을 고려했을 때 주장하는 차익 마진이 달성 가능하다는 증거 없이 "교육 목적으로 제공(as-is)"됩니다. 셋째, 차익 거래 및 플래시 론 봇은 기만적인 저장소의 흔한 수단이므로, 이러한 프로젝트와 관련된 모든 바이너리, 컨트랙트 주소 또는 다운로드 링크는 신뢰할 수 없는 것으로 간주해야 하며 자금을 투입하기 전에 독립적으로 검증해야 합니다. 본 개요는 README의 주장을 설명하는 것이며, 전략의 수익성이나 코드가 문서대로 작동함을 확인하는 것이 아닙니다.