효율적인 Mempool 서비스를 사용하여 DeFi에서 이익을 얻는 방법은 무엇입니까?
편집자 주: 이 기사의 출처는크립토 밸리 라이브 (ID: cryptovalley)크립토 밸리 라이브 (ID: cryptovalley)
, 저자: Keeper DAO, 번역: Olivia, 승인을 받아 Odaily에서 재인쇄함.
트레이더는 이더리움 Mempool(메모리 풀)을 분석하여 수익 기회를 크게 높일 수 있습니다.
mempool은 네트워크에 브로드캐스팅되어 블록에 포함되기를 기다리는 Ethereum 트랜잭션 집합입니다. Mempool 서비스는 트랜잭션의 수명 주기를 직접 추적할 수 있습니다. 트랜잭션이 사용자에 의해 노드로 브로드캐스트되면 Mempool에서 대기한 다음 트랜잭션이 블록으로 패키징되거나 네트워크에서 버려집니다. 좋은 Mempool 서비스는 프로세스에 존재하는 모든 트랜잭션을 모니터링합니다. 여기에서 Mempool에 대해 자세히 알아볼 수 있습니다.
Mempool은 DeFi 트랜잭션에 어떻게 사용됩니까?
Mempool은 DeFi 트랜잭션에 어떻게 사용됩니까?
거래자들은 Ethereum Mempool을 분석하여 MEV(광부 추출 가능 가치) 획득 확률을 극적으로 높입니다. Mempool이 적용할 수 있는 다양한 유형의 거래 전략이 있습니다. 이러한 전략 중 일부는 그렇지 않으면 존재하지 않는 거래 기회를 찾는 것과 관련이 있습니다. 결과적으로 이러한 Mempool 서비스가 시장에 진입한 이후 DeFi 거래 생태계는 극적으로 변화했습니다.
선행 실행: 가스 경매에서 낙찰받는 데 필요한 가스 가격을 결정합니다.
역행: 다른 사용자의 거래 결과를 기반으로 거래 기회를 예측하고 미래 블록으로 패키징합니다.
샌드위치: 거래 기회를 예측하고, 다른 사용자의 거래 기회를 최대 슬리피지 한도까지 밀어 미래의 블록을 예측하여 나중에 차익 거래 기회로 이어집니다(일반적으로 동일한 블록 내에서).
일반 포식자: MEV(광부 추출 가능 가치)를 얻기 위해 전면 실행에서 가스 경매를 실행하기를 희망하면서 트랜잭션 호출을 가로채십시오. 이것은 일반적으로 원래 트레이더의 주소를 Predator의 주소로 교체하고 더 높은 가스 가격으로 새 거래를 제출함으로써 이루어집니다.
텍스트
BloXroute
아래에서 논의하는 회사와 제품은 다양한 제품과 서비스를 제공하지만 이번에는 Ethereum Mempool 기능에 중점을 둡니다."보조 제목"BloXroute는 글로벌 서버 네트워크를 활용하여 네트워크 성능을 최적화하는 BDN(Blockchain Accelerated Network)입니다. 그들은 Ethereum DeFi 트레이더 및 빌더를 위한 네트워크 인프라 구축에 많은 리소스를 투자했습니다. 블로그에서 개발 과정을 확인할 수 있습니다. 그들의 Mempool 함수는
텍스트
Blocknative
BloXroute는 websocket 연결을 통해 Mempool 이벤트를 보냅니다. 그들은 매우 빠르고 모든 정보를 포함하므로 터미널에서 트랜잭션 필터링을 수행할 수 있습니다. 따라서 Uniswap에서 트랜잭션을 팔로우하는 경우 관심 있는 Uniswap 주소를 기반으로 간단히 필터링할 수 있습니다."보조 제목"Blocknative는 비트코인과 이더리움을 포괄하는 글로벌 Mempool 데이터 플랫폼을 운영합니다. 그들은 Ethereum DeFi 트레이더 및 빌더를 위한 Mempool 서비스를 전문으로 합니다. 블로그에서 최신 개발에 대해 읽을 수 있습니다. 그들의 Mempool 함수는
텍스트
Alchemy
Blocknative는 특히 Blocknative의 서버에서 호스팅되는 관심 목록을 기반으로 웹후크를 통해 Mempool 이벤트를 보냅니다. 따라서 Uniswap에서 트랜잭션을 팔로우하는 경우 관심 목록에 Uniswap 주소를 추가하고 웹후크 이벤트 수신을 시작할 수 있습니다."alchemy_newFullPendingTransactions"텍스트
, 해당 문서에서 찾을 수 있습니다.
Alchemy는 웹 소켓 연결을 통해 Mempool 이벤트를 보내고 이러한 이벤트에는 모든 정보가 포함되어 있으므로 결국 필터링해야 합니다. 따라서 Uniswap에서 거래를 팔로우하고 있다면 관심 있는 Uniswap 주소를 기반으로 간단히 필터링할 수 있습니다.
성능 벤치마크
우리는 DeFi 트랜잭션에서 세 가지 서비스를 모두 광범위하게 사용했으며 성능에서 큰 차이를 보았습니다. 아래는 성능 테스트 결과 및 얻은 모든 데이터의 개요이며 성능은 대기 시간의 밀리초 단위로 측정됩니다. 우리는 세 가지 서비스를 모두 키퍼 봇에 연결하고 Uniswap의 라우터 계약을 모니터링했으며 각 서비스가 들어오는 트랜잭션을 보고할 때 로깅했습니다. 일단 문서화되면 이 정보는 매핑되어 대중에게 제공됩니다.
각 트랜잭션의 기준선은 첫 번째 Mempool 서비스가 트랜잭션을 발견할 때의 기준선이라고 가정합니다. 따라서 트랜잭션을 발견한 첫 번째 서비스는 대기 시간이 0인 상태로 배치되고 그 이후의 각 서비스는 발견한 시간과 첫 번째 서비스 사이의 시간 차이와 동일한 대기 시간을 갖게 됩니다.
이 그래프의 데이터는 매우 명확한 그림을 그립니다. BloXroute의 대기 시간은 항상 제로 라인에서 실행됩니다. Blocknative의 대기 시간은 BloXroute보다 일관되게 약간 더 나쁩니다. 연금술은 끔찍하며 때로는 다른 서비스보다 몇 초 뒤쳐져 있습니다.
더 확대하면 Blocknative는 항상 BloXroute보다 약 175ms 뒤에 있습니다. 이것은 하루에 수백 또는 수천 건의 거래가 있는 대규모 거래를 운영하는 경우 큰 차이를 만듭니다.
BloXroute는 235건 중 228건의 거래를 가장 먼저 탐지했습니다.
가장 빠른 Mempool 서비스를 제공하는 것이 왜 중요한가요?
위의 실험 결과는 거래자의 Mempool 서비스 선택이 수익성에 직접적인 영향을 미친다는 것을 보여줍니다. ethstats.net의 데이터에 따르면 평균 이더리움 블록 시간은 이제 13초를 조금 넘습니다. 180ms 또는 더 나쁘게는 1000+ms이면 거래 수익이 크게 줄어들어 다음 블록에 거래가 포함될 가능성이 줄어듭니다. 또한 지연은 가스 경매에서 반응 시간을 줄입니다.
Websocket과 Webhook 비교
이러한 Mempool 서비스에서 사용하는 두 가지 이벤트 전달 방법을 비교해 볼 가치가 있습니다. 기술적으로 Websocket은 더 빨라야 하지만 약간 덜 안정적일 수 있습니다. Websocket 연결을 사용하면 연결이 끊어질 때 클라이언트가 이벤트를 놓칠 수 있습니다. 웹후크를 사용하여 연결할 때 수신하는 각 Mempool 이벤트에는 각 Mempool 이벤트에 대한 이벤트를 푸시하는 자체 네트워크 연결이 있습니다. 이로 인해 약간의 대기 시간 오버헤드가 추가될 수 있지만 약간의 안정성도 추가됩니다. 트레이더는 낮은 대기 시간을 선호할 수 있지만 DeFi 제품 빌더는 상대적으로 안정적인 것을 선호할 수 있습니다.
최고의 성능 및 이중화 솔루션
당신이 트레이더이고 성능과 안정성 측면에서 두 가지 장점을 모두 원한다면 여기 당신에게 도움이 될 수 있는 몇 가지 중복 솔루션이 있습니다.
솔루션 A) 가장 빠른 서비스인 BloXroute를 사용하고 여러 게이트웨이에 연결하십시오. 자체 서버에서 자체 BDN 게이트웨이를 실행하거나 여러 호스팅 게이트웨이에 연결할 수 있습니다. 또한 이러한 게이트웨이가 여러 지역에 분산되도록 지정할 수 있으므로 한 지역의 네트워크에 문제가 있는 경우 일정 기간 동안 Mempool에 대한 액세스를 완전히 잃지 않습니다.
솔루션 B) 여러 Mempool 서비스를 사용합니다. 이렇게 하면 가능한 한 빨리 데이터를 얻을 수 있으며 어떤 이유로든 서비스 하나가 다운되면 다른 서비스를 사용할 수 있습니다. 여기서 유일한 단점은 Mempool 서비스 수수료가 배가된다는 것입니다.
가격 비교
모든 가격 비교는 2020-12-4 기준입니다. 각 서비스의 기능 목록 및 가격 구조는 언제든지 변경될 수 있습니다.
다른 서비스에 비해 BloXroute의 가격은 매우 관대합니다. 240달러 Pro 버전은 속도 제한이 없는 최고 성능의 Mempool 서비스와 수많은 기타 유용한 기능을 제공한다는 점을 고려할 때 매우 가치가 있습니다.
Blocknative의 가격은 몇 가지 이유로 BloXroute와 비교하기 어렵습니다. 첫째, 그들은 Mempool 서비스만 제공하므로 BloXroute와 같은 추가 서비스를 받을 수 없습니다. 둘째, 일일 API 이벤트 한도를 부과하는데, 언뜻 보기에는 문제가 없어 보일 수 있지만 실제로는 큰 한도입니다. 위 벤치마크의 정보로 이것이 어떻게 작동하는지 봅시다.
귀하가 DeFi 트레이더이고 백 러닝을 활용하고 있다고 가정하면 Uniswap으로 들어오는 모든 Mempool 트랜잭션을 모니터링하고 싶을 것입니다. 실제로 Uniswap보다 훨씬 더 많은 수의 프로토콜에서 이 작업을 수행하기를 원할 것입니다. 그러나 간단하게 유지하고 위에서 사용된 단일 Uniswap 라우터에 초점을 맞추겠습니다. 벤치마크 데이터에서 Blocknative의 일일 API 이벤트 한도와 비교하기 위해 일일 대략적인 트랜잭션 볼륨을 얻을 수 있도록 첫 번째 및 마지막 데이터 입력에 초점을 맞추겠습니다.
테스트는 이 첫 번째 트랜잭션으로 시작하여 이 마지막 트랜잭션으로 끝납니다. 즉, 블록 11381311에서 블록 11381328까지의 시간 범위는 약 4분입니다. 이 기간 동안 235건의 거래를 평가했습니다. 초당 약 1개의 트랜잭션, 하루는 86400초이므로 하루에 약 86400개의 트랜잭션을 의미합니다. 이는 Blocknative의 생산 계획 속도 제한의 약 8배입니다. 그러면 한 달에 $833인 성장 계획으로 이동하게 됩니다. 그러나 이것은 문제가 됩니다. 왜냐하면 Uniswap이 더 대중화되면 요금이 제한되고 월 $8300의 리더 플랜(리더)으로 점프해야 하기 때문입니다. 이것은 매우 빨리 비쌀 수 있습니다.
Alchemy의 가격 책정은 일반적으로 매우 유연합니다. 그러나 Mempool 특정 가격은 속도 제한 성능에 우호적이지 않습니다. Uniswap으로 들어오는 모든 트랜잭션을 모니터링해야 하는 트랜잭션을 추적하려는 경우 매우 짧은 시간 내에 속도 제한을 소모하게 됩니다. Alchemy는 심지어 문서에서 이것을 언급합니다.
alchemy_newFullPendingTransactions 구독 유형은 트랜잭션 해시뿐만 아니라 전체 트랜잭션 정보를 방출하기 때문에 유지 관리 비용이 매우 많이 들고 많은 컴퓨팅 유닛이 필요합니다. 엔터프라이즈 계층이 아닌 사용자는 이 구독 유형을 오랫동안 열어 두지 않는 것이 좋습니다.
이러한 서비스 사용과 자체 노드 실행 비교
일반적으로 자신의 노드를 실행하고 유지 관리하는 것은 어렵지 않습니다. 특히 단순히 Ethereum 호출을 위해 노드를 사용하는 경우에는 더욱 그렇습니다. 그러나 Mempool은 다른 방식으로 작동합니다. Mempool 거래 초기에 거래자는 자신의 노드에서 Mempool 정보를 얻습니다. 경쟁이 치열한 곳입니다. 더 나은 Mempool 인프라를 가진 사람은 모든 거래 기회에서 다른 사람보다 약간의 이점을 가질 것입니다. 그리고 그 작은 이점에 수백 번의 일일 거래 기회를 곱하면 엄청난 이점이 생깁니다.
비용도 중요한 요소입니다. 전 세계 서버에서 자체 노드를 실행하는 비용을 고려해야 합니다. 또한 노드 네트워크에서 트레이딩 봇으로 이러한 모든 트랜잭션을 라우팅할 수 있는 시스템을 개발하는 데 드는 시간 비용을 고려하십시오.
결론적으로
보조 제목


