• Likuiditas di Uniswap

  1. Arsitektur desain protokol Uniswap berbeda dari model pertukaran aset digital tradisional. Sebagian besar bursa tradisional menyimpan buku pesanan dan menggunakannya untuk mencocokkan pembeli dan penjual aset tertentu. Dan Uniswap menggunakan **cadangan likuiditas** untuk merealisasikan transaksi aset digital dalam perjanjian tersebut.

  2. Cadangan likuiditas untuk kontrak perdagangan disediakan oleh penyedia likuiditas di jaringan. Penyedia likuiditas ini menyetorkan token ETH dan ERC20 yang setara ke dalam kontrak perdagangan token ERC20 tertentu. Penyedia likuiditas pertama yang menyediakan likuiditas pada kontrak pertukaran pertama-tama akan menetapkan nilai tukar antara ETH dan token ERC20 yang sesuai dalam kontrak pertukaran tersebut. Penyedia likuiditas menetapkan nilai tukar ini dengan menyetorkan apa yang mereka yakini setara dengan ETH dan token ERC20 yang didukung oleh kontrak. Jika nilai tukar yang ditetapkan oleh penyedia likuiditas tidak konsisten dengan pasar pertukaran mata uang kripto yang lebih luas, maka pedagang arbitrase akan mengarahkan nilai tukar antara token ETH dan ERC20 ke nilai yang diyakini pasar sebagai nilai tukar yang benar. Oleh karena itu, semua penyedia likuiditas berikutnya akan menggunakan nilai tukar ketika mereka menyetor aset untuk menyetor likuiditas.

  3. Uniswap juga menggunakan apa yang disebut **"token likuiditas" (token likuiditas), yang sesuai dengan ERC20. Token ini dapat dilihat sebagai representasi kontribusi penyedia likuiditas terhadap kontrak perdagangan. Alasan di balik pembatasan Uniswap yang hanya mendukung satu token ERC20 per kontrak perdagangan adalah untuk mendorong penyedia likuiditas menggabungkan aset likuiditas mereka ke dalam satu cadangan**. Uniswap melacak proporsi relatif dari setiap penyedia likuiditas yang berkontribusi terhadap total cadangan dengan mencetak token likuiditas. Penyedia likuiditas dapat membakar token likuiditas mereka pada waktu yang mereka pilih sehingga mereka dapat menarik sebagian token ETH dan ERC20 mereka dari kontrak pertukaran.

  4. Penyedia likuiditas dapat memilih untuk menjual atau mentransfer token likuiditas mereka tanpa menghilangkan likuiditas dari kontrak pertukaran. Namun, token likuiditas Uniswap secara ketat ditetapkan pada kontrak pertukaran. Tidak ada satu pun aset digital asli yang terkait dengan protokol Uniswap. Penyedia likuiditas juga dapat menyetor likuiditas ke dalam kontrak perdagangan dengan memanggil fungsi addLiquidity(). Sebagai imbalan atas penyediaan likuiditas, penyedia likuiditas akan menerima persentase tertentu dari biaya transaksi saat transaksi dijalankan

  5. Perdagangan di Uniswap: Perdagangan ETH ⇄ ERC20 Salah satu jenis transaksi yang dapat dilakukan dalam protokol Uniswap adalah pertukaran ETH untuk token ERC20 tertentu. Seperti disebutkan di atas, nilai tukar antara ETH dan token ERC20 tertentu didasarkan pada relatif ukuran setiap kumpulan likuiditas aset dalam kontrak perdagangan. Nilai tukar didasarkan pada invarian Uniswap: kumpulan token kumpulan ETH = invarian (invarian). Selama pelaksanaan transaksi apa pun pada protokol Uniswap, invarian (invarian) tetap tidak berubah. Selain itu, invarian hanya berubah ketika likuiditas kontrak yang diperdagangkan meningkat atau menurun.

  • Contoh ETH ⇄ BAT: Bob ingin memulai transaksi untuk menukar 1 ETH dengan token ERC20 BAT. Bob akan menggunakan kontrak pertukaran yang ada pada protokol Uniswap untuk melaksanakan transaksi ini. Penyedia likuiditas telah menyetor sejumlah ETH dan BAT ke dalam kontrak pertukaran, untuk contoh ini, katakanlah 10 ETH dan 500 BAT. Invarian yang mendasarinya ditetapkan sebagai: ETH pool *BAT pool = invariant (invarian), yaitu:

Kumpulan ETH = 10 BAT

kolam = 500

Invarian = 10 * 500 = 5.000

Bob memulai transaksinya dengan mengirimkan 1 ETH ke kumpulan ETH kontrak transaksi, dan mengurangi 0,3% sebagai biaya bagi penyedia likuiditas atas dasar ini. Sisa 0,997 ETH telah ditambahkan ke kumpulan ETH. Kemudian, bagi invarian dengan total ETH baru untuk menentukan ukuran kumpulan BAT terbaru. Token BAT yang tersisa kemudian dikirimkan ke pembeli, dalam hal ini Bob. Itu adalah:

Kumpulan ETH = 10 BAT

kolam = 500

Invarian = 10 * 500 = 5.000 Bob

memulai transaksinya dengan mengirimkan 1 ETH ke kumpulan ETH kontrak transaksi, dan memotong 0,3% sebagai biaya untuk penyedia likuiditas atas dasar ini. Sisa 0,997 ETH telah ditambahkan ke kumpulan ETH. Kemudian, bagi invarian dengan total ETH baru untuk menentukan ukuran kumpulan BAT terbaru. Token BAT yang tersisa kemudian dikirimkan ke pembeli, dalam hal ini Bob. Itu adalah:

Bob mengirimkan: 1 ETH

Biaya penanganan: 0,003 ETH

Kumpulan ETH = 10 + (1 – 0,003) = 10,997

Kumpulan BAT = 5000/10,997 = 454,67

Bob menerima: 500 – 454,67 = 45,33 BAT

Biaya penanganan yang dibayarkan kepada penyedia likuiditas dipotong saat Bob memulai transaksi, dan sekarang biaya penanganan ini ditambahkan ke kumpulan likuiditas (yang berarti invarian akan meningkat). Ini bertindak sebagai pembayaran kepada penyedia likuiditas, yang dapat mereka kumpulkan ketika mereka menghapus kontribusi likuiditas mereka dari pasar. Karena biaya ini ditambahkan kembali setelah perhitungan harga, setiap transaksi pada kontrak pertukaran dieksekusi, invarian secara bertahap meningkat, menjadikan tindakan menyetorkan likuiditas ke dalam kontrak pertukaran penting untuk likuiditas. Ini adalah aktivitas yang menguntungkan bagi penyedia layanan seks. pada saat ini:

Kumpulan ETH = 10,997 + 0,003 = 11

Kumpulan BAT = 454,67 baru

invarian = 5.001,37

Dalam transaksi ini, Bob memperoleh BAT dengan nilai tukar 45,33 BAT/ETH.

Masukan: 1 ETH

Keluaran: 45,33 kelelawar

Nilai tukar = 45,33 BAT/ETH

Perdagangan di Uniswap: Perdagangan ERC20 ⇄ ERC20

Jenis transaksi lain yang dapat dilakukan dalam protokol Uniswap adalah menukar satu token ERC20 dengan token ERC20 lainnya. Karena ETH digunakan sebagai pasangan perdagangan publik untuk semua token ERC20, Uniswap menggunakan ETH sebagai aset perantara untuk transaksi langsung antara ERC20 dan ERC20. Misalnya, Uniswap dapat mengonversi token BAT menjadi ETH dalam kontrak transaksi tertentu, dan kemudian mengonversi bagian ETH ini menjadi OMG dalam kontrak transaksi lain, yang semuanya diselesaikan dalam satu transaksi, sehingga dua pertukaran antar token ERC20 dapat dilakukan.

Rumus ini bekerja sangat mirip dengan pasar normal dimana semakin banyak token yang Anda beli, semakin tinggi nilai tukar marjinal yang harus Anda bayarkan untuk membeli satu unit token lagi.