Σε αυτόν τον οδηγό θα δούμε τα εξής:
- Τί είναι το Dexter.
- Πως κάνουμε trade μεταξύ των νομισμάτων/Token και τι είναι το "Slippage".
- Πως γινόμαστε πάροχοι ρευστότητας και τι κερδίζουμε από αυτό.
- Πως αφαιρούμε την ρευστότητα για να πάρουμε πίσω τα νομίσματά μας.
- Τι είναι το "impermanent loss" και το "arbitrage".
Hint: Δεν είναι τόσο περίπλοκα όσο νομίζετε.
Ας ξεκινήσουμε!
Τι είναι το Dexter;
Το Dexter, όπως εξηγεί και ο τίτλος, είναι το πρώτο αποκεντρωμένο ανταλλακτήριο του Tezos οπού μπορείς πολύ εύκολα να κάνεις trade μεταξύ των Tezos σου (ΧΤΖ) και διάφορων token του Tezos όπως το tzBTC (wrapped Bitcoin), το USDtz (stablecoin), και σύντομα XTZGold, XTZSilver κ.α., καθώς επίσης και να γίνεις πάροχος ρευστότητας κερδίζοντας αναλογικό μερίδιο από τη 0.3% προμήθεια που πληρώνουν οι traders σε κάθε trade.
Όντας αποκεντρωμένο, δεν χρειάζεται KYC, όλα τα trades γίνονται μέσα από το wallet μας (non-custodial) και καταργεί την ανάγκη ενός κεντρικού order book αφήνοντας του ίδιους τους χρήστες να καθορίζουν τις ισοτιμίες μέσα από τα trades που κάνουν. Εάν δεν έχετε εμπειρία με άλλα αποκεντρωμένα ανταλλακτήρια (όπως πχ. το Uniswap στο Ethereum), όλα αυτά μπορεί να σας ακούγονται κινέζικα αλλά είναι πολύ πιο απλά στη πράξη απ' ότι ακούγονται. Πάμε λοιπόν να τα δούμε στη πράξη, ξεκινώντας με τa πιο εύκολα wallets που μπορείτε να χρησιμοποιήσετε.
Προτεινόμενα Wallets
- Thanos (Web wallet, λειτουργεί και σαν browser extention, υποστηρίζει και συσκευές ledger. Αντίστοιχο του metamask για το Uniswap)
- Magma Wallet (Mobile wallet, πολύ απλό και εύκολο στη χρήση, φτιαγμένο από την Camlcase, την ίδια εταιρία που έφτιαξε το Dexter.)
Σε αυτό τον οδηγό θα δούμε τη χρήση του Dexter στον υπολογιστή με το Thanos Wallet. Για το Magma wallet θα φτιάξω ξεχωριστό οδηγό/review αργότερα.
Web Version
Αφού έχουμε εγκαταστήσει το Thanos wallet στον browser μας και έχουμε φτιάξει το wallet μας, πάμε στο app.dexter.exchange, πατάμε το "Connect Wallet" και μετά το "Connect to Thanos" για να συνδέσουμε το wallet μας.

Πλέον έχουμε συνδέσει το wallet μας και μπορούμε να ξεκινήσουμε. Ας δούμε αρχικά το κομμάτι που αφορά το ανταλλακτήριο (Exchange) και μετά θα μιλήσουμε και για την παροχή ρευστότητας (Liquidity Providing).
Ανταλλακτήριο (Exchange)
Τα βασικά σημεία:

1) Το νόμισμα / Token που θα δώσουμε.
2) Το νόμισμα / Token που θα πάρουμε.
3) Η ισοτιμία στην οποία θα κάνουμε το trade.
4) Εκτιμώμενο Slippage (το εξηγώ αμέσως μετά).
5) Όλα τα νομίσματα και Tokens που έχουμε διαθέσιμα στο wallet μας.
6) Οι πιο πρόσφατες συναλλαγές που έχουμε κάνει.
Slippage
Το Slippage είναι η (πιθανή) διαφορά τιμής, μέσα στην οποία μπορεί να γίνει το Trade που θέλουμε να κάνουμε.
Εφόσον πολλά trades μπορεί να γίνονται ταυτόχρονα αλλάζοντας την ισοτιμία, χρειάζεται να αφήνουμε ένα αποδεκτό περιθώριο για να μπορούν τα trades μας να ολοκληρώνονται. Το ζητούμενο slippage αλλάζει ανάλογα με τον όγκο των νομισμάτων που προσπαθούμε να κάνουμε trade καθώς είναι άμεσα συνδεδεμένο και με τα αποθέματα ρευστότητας που υπάρχουν στο συγκεκριμένο ζεύγος νομισμάτων/Token. Το προκαθορισμένο αποδεκτό ποσοστό slippage στο Dexter είναι 0,5% και μπορούμε να το αλλάξουμε κάνοντας κλικ στο "Advanced options" και βάζοντας το ποσοστό που θέλουμε.

Έχοντας καταλάβει και το Slippage, μπορούμε να προχωρήσουμε στο πρώτο μας trade.
Στο παράδειγμα μας, θα αλλάξουμε 10 XTZ σε 22.64 USDtz. Οπότε αφού έχουμε γράψει το ποσό, πατάμε το κουμπί "Exchange" (1) και στην συνέχεια στο νέο παράθυρο που θα μας ανοίξει, πατάμε το κουμπί "confirm" (2).

Στη συνέχεια περιμένουμε μέχρι η συναλλαγή να ολοκληρωθεί και να δούμε τα Token στο πορτοφόλι μας.

Αυτό ήταν! Πλέον τα Token είναι στο πορτοφόλι μας και με τον ίδιο τρόπο κάνουμε τα trades για όλα τα Tokens. Όπως είπαμε στην αρχή, για κάθε trade που κάνουμε, υπάρχει προμήθεια 0,3% η οποία πηγαίνει σε αυτούς που παρέχουν ρευστότητα στο ανταλλακτήριο (Liquidity Providers). Ας δούμε λοιπόν πως μπορούμε να γίνουμε και εμείς Liquidity Providers.
Παροχή Ρευστότητας (Liquidity Providing)
Κάνουμε κλικ στο "Liquidity Pool".

Add Liquidity
Η παροχή ρευστότητας στο ανταλλακτήριο γίνεται σε ζευγάρια νομισμάτων/Token ίσης αξίας. Ένα ζεύγος μπορεί να είναι το XTZ/USDtz ή το XTZ/tzBTC κτλ.
Οπότε εάν πχ. θέλουμε να παρέχουμε ρευστότητα στο ζευγάρι XTZ/USDtz και θέλουμε να βάλουμε 5 ΧΤΖ, θα πρέπει να βάλουμε και τα αντίστοιχα σε αξία USDtz με βάση την ισοτιμία που έχουν εκείνη την στιγμή (1). Για την παροχή νομισμάτων που κάνουμε, ανταμειβόμαστε έναν αριθμό pool tokens (2) ο οποίος αντιστοιχεί στo ποσοστό της ρευστότητας που έχουμε προσθέσει στα αποθέματα του ανταλλακτηρίου.

Πατάμε λοιπόν το "Add liquidity" και στη συνέχεια "Confirm" στο παράθυρο που μας ανοίγει.

Μόλις ολοκληρωθεί το transaction μπορούμε να δούμε τα pool token μας εδώ:

Αυτό ήταν! Πλέον τα νομίσματά μας έχουν προστεθεί ως ρευστότητα στο συγκεκριμένο ζευγάρι, και για όσο τα αφήνουμε μέσα, για κάθε trade που γίνεται μεταξύ αυτών των νομισμάτων/token, θα ανταμειβόμαστε αναλογικά με το ποσοστό της ρευστότητας που έχουμε βάλει σε σχέση με την συνολική ρευστότητα που υπάρχει στο ζεύγος αυτό.
Για παράδειγμα στην παραπάνω εικόνα βλέπουμε πως η δική μας ρευστότητα αντιστοιχεί στο 0.01% της συνολικής, οπότε σε κάθε trade που γίνεται μας αντιστοιχεί 0.01% από τη προμήθεια που πληρώνουν οι traders.
Για να δούμε την συνολική ρευστότητα που έχει το ανταλλακτήριο κάνουμε κλικ στο "Pool data" και εκεί βλέπουμε τα αποθέματα κάθε ζευγαριού.

Eίναι σημαντικό να αναφέρουμε πως επιπλέον των ανταμοιβών από τα fees, όσα ΧΤΖ βάζουμε ως παροχή ρευστότητας, γίνονται αυτόματα delegated και λαμβάνουμε για αυτά και staking rewards απευθείας στο wallet μας!
Remove Liquidity
Για να εξαργυρώσουμε τα pool tokens και να πάρουμε πίσω τα νομίσματα/Tokens κάνουμε κλικ στο "Remove Liquidity" (1), βάζουμε τον αριθμό των pool tokens που θέλουμε να εξαργυρώσουμε (2), πατάμε "Redeem pool tokens" (3) και στη συνέχεια το "confirm" στο παράθυρο που μας ανοίγει (4).

Impermanent loss, Arbitrage και άλλες πληροφορίες
Ένα σημαντικό κομμάτι που πρέπει να γνωρίζουμε και ακούγεται συχνά γύρω από την παροχή ρευστότητας είναι το impermanent loss. Η πιο απλή περιγραφή που θα μπορούσα να κάνω για το impermanent loss είναι η εξής :
Impermanent loss είναι η διαφορά του κέρδους που θα είχαμε εάν κρατούσαμε 2 asset στο πορτοφόλι μας, σε σχέση με το κέρδος που θα έχουμε από τα ίδια 2 asset όταν τα παρέχουμε για ρευστότητα, στην ίδια χρονική περίοδο.
Ας εξηγήσουμε λίγο πιο αναλυτικά κάποια πράγματα, και στη συνέχεια θα δούμε και ένα παράδειγμα για να το καταλάβουμε καλύτερα.
Κάθε ζεύγος νομισμάτων/token έχει 2 "αποθήκες", για παράδειγμα το ζεύγος XTZ /USDtz έχει μια αποθήκη για τα XTZ και μια αποθήκη για τα USDtz . Η αναλογία μεταξύ αυτών των "αποθηκών" είναι αυτό που καθορίζει την ισοτιμία μεταξύ τους. Εάν για παράδειγμα η αποθήκη XTZ έχει απόθεμα 100.000 XTZ και η αποθήκη USDtz έχει απόθεμα 200.000 USDtz, τότε η ισοτιμία στο ζευγάρι αυτό θα ήταν 1 XTZ =2 USDtz (υπόψιν ότι το USDtz είναι stable coin που αντιπροσωπεύει το δολάριο, οπότε 1 USDtz =$1).
Ας πούμε λοιπόν τώρα ότι η τιμή του XTZ στα άλλα ανταλλακτήρια πάει από τα $2 στα $3, αυτό θα έχει σαν αποτέλεσμα οι traders που κρατάνε USDtz, να έρχονται και να τα ανταλλάσσουν σε XTZ καθώς εδώ η τιμή του ΧΤΖ είναι ακόμα στα $2 (2 USDtz), αυτή η διαφορά στις τιμές ανάμεσα στα ανταλλακτήρια τους δίνει την ευκαιρία να αγοράσουν τα XTZ στα $2 και να πάμε να τα πουλήσουν για $3 (αυτές οι ευκαιρίες από διαφορές τιμών του ίδιου νομίσματος είναι γνωστές και ως arbitrage).
Έτσι, αυτό που γίνεται στην ουσία σε κάθε trade, είναι οι traders να δίνουν τα USDtz τους (τα οποία μπαίνουν στην αποθήκη USDtz), και να παίρνουν XTZ (τα παίρνουν από την αποθήκη XTZ) αλλάζοντας την αναλογία μεταξύ των "αποθηκών" (και μαζί και την ισοτιμία). Αυτό θα γίνεται μέχρι η ισοτιμία να φτάσει την ίδια ισοτιμία που υπάρχει και στα άλλα ανταλλακτήρια και να σταματήσει να υπάρχει η ευκαιρία για arbitrage.
Όπως είχαμε πει, όταν παρέχουμε ρευστότητα, βάζουμε τα νομίσματα/Token στην ισοτιμία που έχουν εκείνη την στιγμή, και παίρνουμε ως αντάλλαγμα κάποια pool tokens τα οποία αντιπροσωπεύουν το ποσοστό της συνεισφοράς μας στο απόθεμα που υπάρχει σε κάθε μία από τις 2 αποθήκες. Όταν λοιπόν τα αποθέματα στις "αποθήκες" αλλάζουν, το ίδιο συμβαίνει και στα νομίσματα/Tokens που αντιστοιχούν στα Pool tokens που κρατάμε. Πάμε να δούμε ένα παράδειγμα με νούμερα για να καταλάβουμε καλύτερα όλα τα παραπάνω, αλλά και που βρίσκεται το λεγόμενο impermanent loss.
Παράδειγμα:
1) Η ισοτιμία του ζεύγους XTZ /USDtz είναι στο 1 XTZ = 2 USDtz.
2) Κάνουμε παροχή ρευστότητας 10 XTZ και 20 USDtz τα οποία έχουν αξία 10*2=$20 και 20*1=$20 άρα σύνολο 20+20=$40
3) Παίρνουμε ως ανταμοιβή έναν αριθμό Pool tokens.
4) Μετά από κάποιο καιρό, η ισοτιμία πάει στο 1 ΧΤΖ = $3 και τα αποθέματα των "αποθηκών" αλλάζουν αντίστοιχα.
5) Λόγο της αλλαγής των αποθεμάτων, τα Pool tokens μας πλέον αντιστοιχούν σε 7 ΧΤΖ και 21 USDtz.
6) Οπότε εάν σε αυτό το σημείο κάνουμε redeem, τα assets μας θα αξίζουν 7 ΧΤΖ * $3 = $21 και 21 USDtz * $1 = $21 άρα σύνολο 21+21= $42
7) Εάν είχαμε κρατήσει τα αρχικά μας assets στο πορτοφόλι μας χωρίς να τα βάλουμε για παροχή ρευστότητας, τώρα θα είχαμε: 10 ΧΤΖ * $3 = $30 και 20 USDtz * $1 = $20 άρα σύνολο 30+20=$50
8) Οπότε βλέπουμε πως με το να έχουμε βάλει τα assets μας για παροχή ρευστότητας, έχουμε $8 λιγότερο κέρδος σε σχέση με το να τα κρατούσαμε απλά στο πορτοφόλι μας. Αυτό ακριβώς είναι το impermanent loss.
Το λένε impermanent (παροδικό) γιατί τα assets γενικά ανεβοκατεβαίνουν, οπότε εάν δεν κάνεις redeem τα assets σου και η ισοτιμία ξαναπέσει, τότε δεν έχεις χάσει τίποτα και είσαι στα ίδια, με τη διαφορά πως για όλο αυτό το διάστημα που τα έχεις βάλει για παροχή ρευστότητας έχεις κερδίσει rewards από τα fees που πληρώνουν οι traders!
Ακόμα και στη περίπτωση που η ισοτιμία δεν επανέλθει, εάν το ζευγάρι που επέλεξες έχει πολλά trades, είναι πιθανό τα rewards που κερδίζεις από τα fees να υπερκαλύπτουν το impermanent loss. Οπότε ανάλογα και την περίπτωση, δεν είναι τόσο κακό όσο ακούγεται.
Για περισσότερα άρθρα και οδηγούς σχετικά με το Tezos, ακολουθήστε το @Tezos_Gr στο Twitter.
Για απορίες και συζητήσεις γύρω από το Tezos μπείτε στο Telegram Group του Tezos Greece.