Arbitrase segitiga di Uniswap v3

5/7/2024, 10:38:35 AM
Arbitrase segitiga berfungsi sebagai strategi dalam perdagangan pertukaran kripto, memanfaatkan variasi dalam nilai tukar dalam satu pasar atau di beberapa pasar.

Diimplementasikan dengan pertukaran multihop

Arbitrase segitiga berfungsi sebagai strategi dalam perdagangan pertukaran kripto, memanfaatkan variasi dalam nilai tukar dalam satu pasar atau di beberapa pasar. Metode ini terdiri dari tiga perdagangan berurutan: menukar cryptocurrency awal dengan yang kedua, yang kedua dengan yang ketiga, dan pada akhirnya, cryptocurrency ketiga kembali ke yang awal, semua dengan tujuan menghasilkan keuntungan. Oleh karena itu, istilah "segitiga" mencakup proses tiga langkahnya.

Gambar dihasilkan oleh AI

Bagaimana cara kerjanya?

Di DEX, peluang arbitrase segitiga biasanya disebabkan oleh perbedaan likuiditas di beberapa kolam. Mereka biasanya berlangsung singkat, hanya beberapa detik atau bahkan kurang, karena bursa dengan cepat menyesuaikan perbedaan harga. Akibatnya, algoritma perdagangan otomatis yang dilengkapi untuk melakukan perdagangan dengan cepat digunakan untuk memanfaatkan perbedaan yang singkat ini. Untuk membantu memahami konsepnya, berikut contohnya:

Transaksi segitiga di atas dimulai dari 01 — membeli 1 wBTC dengan $60,000 USDC, diikuti oleh 02 — membeli 16 WETH dengan 1 wBTC dan diakhiri dengan 03 — menjual 16 WETH seharga $66,000 USDC. Pada akhir perjalanan, kita akan mendapatkan $6,000 USDC sebagai keuntungan.

Melaksanakan dengan Pertukaran Multi-Langkah di Uniswap v3

Ada dua gaya pertukaran multi-hop yang tersedia di Uniswap v3: Input Tepat dan Output Tepat. Seperti namanya, yang pertama mengharapkan token dengan jumlah yang tepat sebagai input pertukaran, dan pada akhirnya, token dengan jumlah akan keluar pada kurs pertukaran; Yang terakhir mengharapkan jumlah yang tepat yang ditentukan sebagai output, hanya jumlah token yang cukup sebagai input yang dapat memenuhi pertukaran pada kurs pertukaran.

Dengan sifat bisnis arbitrase segitiga, kami ingin mengambil token dengan jumlah yang tepat sebagai input, menukarkannya ke mata uang kripto lain, dan kemudian menukarkannya kembali ke token asli untuk mendapatkan keuntungan, sebagaimana yang kami harapkan.

alamat tetap SWAP_ROUTER_02 = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45;

alamat konstan WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

konstan alamat USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;

konstan alamat DAI = 0x6B175474E89094C44Da98b954EedeAC495271d0F;

kontrak MultiHopSwap { menggunakan SafeERC20 untuk IERC20;ISwapRouter02 privat konstan ROUTER = ISwapRouter02(SWAP_ROUTER_02);uint256 privat konstan MAX_INT = 115792089237316195423570985008687907853269984665640564039457584007913129639935;fungsi swapExactInputMultiHop(uint256 amountIn) eksternal {IERC20(USDC).safeApprove(address(ROUTER), MAX_INT);IERC20(WETH).safeApprove(address(ROUTER), MAX_INT);IERC20(DAI).safeApprove(address(ROUTER), MAX_INT);bytes memory path = abi.encodePacked(USDC, uint24(3000), WETH, uint24(3000), DAI, uint24(3000), USDC);ISwapRouter02.ExactInputParams memory params = ISwapRouter02.ExactInputParams({path: path,recipient: address(this),amountIn: amountIn,amountOutMinimum: 1});ROUTER.exactInput(params);}}

Router memainkan peran penting dalam memfasilitasi penyediaan likuiditas. Karena mereka tidak memiliki status dan tidak menyimpan saldo token, router dapat digantikan dengan aman. Karena itu, router memiliki nomor rilis, dimulai dari 01. Dalam implementasi kami, kami menggunakan Router02 di 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45pada mainnet.

SafeERC20 adalah lapisan perlindungan yang dibangun di sekitar transaksi ERC20, memastikan interaksi yang aman dengan token ERC20 dalam kontrak kami. Berbeda dengan fungsi ERC20 reguler, SafeERC20 meningkatkan keamanan dengan memverifikasi nilai kembalian boolean dari operasi ERC20. Jika ada operasi yang gagal, transaksi akan dibatalkan, meminimalkan risiko. Selain itu, SafeERC20 menampung token ERC20 non-standar yang tidak memiliki nilai kembalian boolean, memberikan fleksibilitas dan kekokohan dalam manajemen token. Dengan menyetujui jumlah maksimum, kami memungkinkan Router02 untuk mentransfer token atas nama kami. Tanpa melakukan hal tersebut, Anda akan mengharapkan pesan kesalahan STF di mana STF berarti eksekusi dibatalkan oleh asersi require dalam fungsi TransferHelper.safeTransferFrom.

Selanjutnya, kami akan melihat bagaimana sebuah jalur segitiga didefinisikan:

jalur memori byte = abi.encodePacked(USDC, uint24(3000),

WETH, uint24(3000),                                DAI,  uint24(3000),                                USDC) ;

Melalui abi.encodePacked, Solidity mengemas rapat beberapa nilai tanpa menambahkan padding apa pun. Ini menggabungkan data biner mentah dari setiap parameter. Tidak sulit untuk memahami bahwa parameter-parameter merangkai pertukaran dengan biaya antara pasangan kripto. Jalur dimulai dari USDC dan berhenti di USDC yang mengharapkan keuntungan. Kemudian dibungkus dengan ExactInputParams dengan parameter wajib lainnya dan dimasukkan ke dalam router untuk pertukaran multi-hop.

Pengujian

Kami menggunakan teknik yang sama denganforking mainnet dengan kepalsuan. Setelah 10 USDC diverifikasi dikreditkan ke kontrak, pertukaran multi-hop dapat dipicu seperti di bawah ini:

it("melakukan pertukaran multi-hop", async () => {balance = await swap.tokenBalance(USDC);console.log(`Saldo USDC saat ini = ${balance}`);console.log(`Menukar ${initialFundingHuman} USDC`);const tx = await swap.swapExactInputMultiHop(ethers.parseUnits(initialFundingHuman, DECIMALS));receipt = await tx.wait();balance = await swap.tokenBalance(USDC);console.log(`Saldo USDC saat ini = ${balance}`);expect(balance).not.equal(0);});

Hasil tes harus terlihat seperti di bawah ini:

Saldo USDC paus: 170961218210457n

Pemalsuan Dimulai.

Pemalsuan selesai.

Saldo saat ini USDC = 100000000

Menukar 100 USDC

Saldo saat ini dari USDC = 91677417

Setelah melompati rintangan, kami kehilangan uang — Jelas jalur dengan nilai spot tidak menguntungkan bagi kami, tetapi Anda mendapatkan gambaran tentang bagaimana arbitrase segitiga seharusnya dilakukan menggunakan pertukaran multi-hop di Uniswap v3.

Flash loan didanai arbitrase triangular

Belumkah saya bilang sumber pendanaan paling kuat dalam ekosistem DeFi adalah pinjaman Flash? Tidak akan memerlukan banyak kreativitas bagi Anda untuk membuat strategi perdagangan arbitrase triangular yang didanai oleh pinjaman Flash menggunakan kedua pinjaman Flash dan pertukaran multihop yang saya ajarkan. Logika gabungan dapat dijelaskan oleh diagram urutan yang diperbarui seperti di bawah ini:

Diagram urutan untuk arbitrase triangular yang didanai oleh pinjaman kilat di Uniswap v3 (Diabaikan beberapa operasi untuk kesederhanaan)

Periksa kode sumber saya untuk kedua pinjaman Flash dan pertukaran Multihop yang diimplementasikan di Uniswap v3 —https://medium.com/cryptocurrency-scripts/flash-loan-on-uniswap-v3-84bca2bfe255, mencerna diagram urutan dan lakukan pekerjaan rumah Anda sendiri untuk menyelesaikan kontrak cerdas yang digabungkan.

Pertimbangan profitabilitas

Hal pertama yang ingin kita lihat adalah jalur yang terdiri dari urutan dari 3 perdagangan: Untuk mendapatkan keuntungan, mereka harus menjadi 3 pasang crypto yang tepat pada tingkat yang tepat. Untuk menemukan semua kecocokan ini, Anda perlu mengembangkan program yang mempermutasikan pasangan yang dapat diperdagangkan dalam pola arbitrase segitiga dan mensimulasikan pertukaran untuk memeriksa profitabilitasnya. Mengambil tingkat dari blockchain bisa lambat dan akan lebih memperlambat proses jika terlalu banyak jalur yang menunggu diverifikasi untuk profitabilitas. Anda mungkin ingin mempersempit daftar jalur segitiga dengan menghitung Profit & Loss berdasarkan harga permukaan yang disediakan oleh titik akhir harga GraphQL DEX jika adaini adalah Uniswap v3’s) , karena API GraphQL jauh lebih cepat daripada blockchain untuk menyediakan data kutipan. Setelah jalur dipilih, jalankan dengan kutipan yang diambil dari rantai untuk perhitungan Profit & Loss yang lebih akurat.

Meningkatkan investasi Anda dengan pinjaman kilatDapat memperpanjang keuntungan - meminjam token dengan bunga rendah dan menginvestasikannya dengan strategi yang menguntungkan akan selalu menjadi ide bagus. Secara teori, selama keuntungan kotor cukup untuk menutupi biaya pinjaman kilat dan biaya swap, strategi arbitrase segitiga akan dianggap menguntungkan. Satu trik kritis untuk menjaga keuntungan dan mengurangi risiko perdagangan secara keseluruhan adalah memiliki logika dalam kontrak perdagangan Anda untuk gagal dalam transaksi pinjaman kilat jika pemeriksaan keuntungan kotor gagal, karena saat transaksi gagal, semua operasi akan dikembalikan dan Anda tidak perlu menanggung kerugian bahkan biaya untuk transaksi. Bagian logika ini akan berfungsi sebagai penjaga gerbang untuk mencegah slippage atau pergerakan nilai tukar yang tidak mendukung kita.

Meskipun begitu, terlepas dari keberhasilan atau kegagalan transaksi, biaya gas adalah sesuatu yang tidak bisa Anda hindari dan bisa menjadi penyebab utama kehilangan uang dari arbitrase segitiga. Selalu menilai biaya gas untuk transaksi strategi Anda dan pertimbangkan dalam perhitungan keuntungan bersih. Mohon lihat uji estimasi biaya gas dalam kode sumber saya.

Disclaimer:

  1. Artikel ini dicetak ulang dari [Skrip Cryptocurrency], Semua hak cipta adalah milik penulis asli [Aaron Li]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penafian Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan nasihat investasi apapun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Bagikan

Kalender Kripto

Pembaruan Proyek
Etherex akan meluncurkan token REX pada 6 Agustus.
REX
22.27%
2025-08-06
Hari Rare Dev & Governance di Las Vegas
Cardano akan mengadakan Rare Dev & Governance Day di Las Vegas, dari 6 hingga 7 Agustus, menampilkan lokakarya, hackathon, dan diskusi panel yang berfokus pada pengembangan teknis dan topik tata kelola.
ADA
-3.44%
2025-08-06
Blockchain.Rio di Rio De Janeiro
Stellar akan berpartisipasi dalam konferensi Blockchain.Rio, yang dijadwalkan berlangsung di Rio de Janeiro, dari 5 hingga 7 Agustus. Program ini akan mencakup pidato kunci dan diskusi panel yang menampilkan perwakilan ekosistem Stellar bekerja sama dengan mitra Cheesecake Labs dan NearX.
XLM
-3.18%
2025-08-06
Webinar
Circle telah mengumumkan webinar Executive Insights langsung berjudul "Era GENIUS Act Dimulai", yang dijadwalkan pada 7 Agustus 2025, pukul 14:00 UTC. Sesi ini akan mengeksplorasi implikasi dari GENIUS Act yang baru saja disahkan—kerangka regulasi federal pertama untuk stablecoin pembayaran di Amerika Serikat. Dante Disparte dan Corey Then dari Circle akan memimpin diskusi tentang bagaimana legislasi ini mempengaruhi inovasi aset digital, kejelasan regulasi, dan kepemimpinan AS dalam infrastruktur keuangan global.
USDC
-0.03%
2025-08-06
AMA di X
Ankr akan mengadakan AMA di X pada 7 Agustus pukul 16:00 UTC, yang berfokus pada pekerjaan DogeOS dalam membangun lapisan aplikasi untuk DOGE.
ANKR
-3.23%
2025-08-06

Artikel Terkait

Bagaimana Melakukan Penelitian Anda Sendiri (DYOR)?
Pemula

Bagaimana Melakukan Penelitian Anda Sendiri (DYOR)?

"Penelitian berarti Anda tidak tahu, tetapi bersedia mencari tahu." - Charles F. Kettering.
11/21/2022, 8:14:39 AM
Apa Itu Analisis Fundamental?
Menengah

Apa Itu Analisis Fundamental?

Indikator dan alat yang sesuai dikombinasikan dengan berita crypto membuat analisis fundamental terbaik untuk pengambilan keputusan
11/21/2022, 9:38:29 AM
Analisis Teknis adalah apa?
Pemula

Analisis Teknis adalah apa?

Belajar dari masa lalu - Untuk menjelajahi hukum pergerakan harga dan kode kekayaan di pasar yang selalu berubah.
11/21/2022, 10:04:58 AM
Top 10 Platform Perdagangan Koin Meme
Pemula

Top 10 Platform Perdagangan Koin Meme

Dalam panduan ini, kami akan menjelajahi rincian perdagangan koin meme, platform teratas yang dapat Anda gunakan untuk melakukan perdagangan, dan tips tentang melakukan penelitian.
10/15/2024, 10:27:38 AM
Apa itu Altcoin?
Pemula

Apa itu Altcoin?

Altcoin juga dikenal sebagai Alternatif Bitcoin atau Cryptocoin Alternatif, yang mengacu pada semua cryptocurrency selain Bitcoin. Sebagian besar cryptocurrency pada tahap awal dibuat melalui forking (menyalin kode Bitcoin).
11/21/2022, 9:15:46 AM
10 NFT Termahal yang Pernah Terjual
Pemula

10 NFT Termahal yang Pernah Terjual

Pada tahun 2022, NFT tetap menjadi salah satu aset terpopuler di pasar crypto. Perdagangan NFT menarik perhatian pengguna dari berbagai industri, bahkan di pasar beruang. Meskipun NFT sering diperdagangkan dengan harga tinggi saat pasar sedang naik, industri ini berkembang pesat saat ini. Pada artikel ini, kami akan meninjau sepuluh transaksi NFT termahal sejak asal mulanya, dan memahami proyek crypto di balik transaksi ini. Pada artikel ini, kami melacak peringkat penjualan NFT dan peringkat lelang, dan membuat daftar berdasarkan harga transaksi akhir setiap NFT. Harga transaksi didasarkan pada statistik di berbagai situs web selama bertahun-tahun, dan diberikan dalam USD yang dikonversi dari mata uang kripto yang digunakan dalam transaksi. Karena harga cryptocurrency akan berfluktuasi, kami menggunakan harga USD dari transaksi atau lelang sebagai referensi.
12/13/2022, 10:22:15 AM
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!