Ενώ το 2017 σημαδεύτηκε από την έκρηξη των ICO και το 2021 από την ταχεία ανάπτυξη του τομέα DeFi και των NFT, στον τρέχοντα κύκλο, τα meme tokens οδηγούν. Τον Ιανουάριο του 2024, το project pump.fun ξεκίνησε στο blockchain της Solana, επιτρέποντας στους χρήστες να δημιουργούν tokens όσο το δυνατόν γρηγορότερα και φθηνότερα. Ωστόσο, τα περισσότερα meme tokens βιώνουν ταχεία ανάπτυξη που ακολουθείται από ακόμη ταχύτερη πτώση. Κατά τη μεταφορά ρευστότητας από το launchpad σε ένα DEX, και καθώς η κοινότητα μεγαλώνει, η εξέλιξη των τιμών θα πρέπει γενικά να ακολουθήσει αυτό το μοτίβο: Αλλά στην πραγματικότητα, αποδεικνύεται έτσι: Κατά τη γνώμη μου, αυτό οφείλεται στο γεγονός ότι η αγορά λειτουργεί με βάση την αρχή του παιχνιδιού μηδενικού αθροίσματος. Ωστόσο, με τη χρήση των δεξαμενών ρευστότητας στα DEX και την ικανότητα πώλησης χωρίς αντιστοιχία αντιστάθμισης, η ισορροπία μεταξύ προσφοράς και ζήτησης στρεβλώνεται. Ιδέες για το πώς αυτό θα μπορούσε να βελτιωθεί ήρθε σε μένα μετά την ανάλυση των αλγοριθμικών stablecoins, ιδιαίτερα Terra Luna. In the case of UST’s price falling below $1, the Debase algorithm was triggered, allowing traders to exchange 1 UST for 1 LUNA. During this process, UST was burned while new LUNA was minted. When UST’s price rose above $1, the Rebase algorithm activated, where LUNA was burned and, conversely, new UST was minted. Ωστόσο, ολόκληρο το οικοσύστημα αντιμετώπισε την λεγόμενη «σπείρα του θανάτου», ριζωμένη στην ενδογενή (σε αλυσίδα) φύση της εγγύησής του. Παρά τις διαφορές στους αλγόριθμους, έργα όπως το Basis Cash και το Empty Set Dollar επανέλαβαν το ίδιο λάθος - η εξάρτηση από την εσωτερική εγγύηση τους οδήγησε σε παρόμοια προβλήματα και τελικά κατάρρευση. Αντίθετα, το παράδειγμα της DAI δείχνει ότι η εξωγενής (εκτός αλυσίδας) εξασφάλιση μπορεί επίσης να είναι ευάλωτη: όταν το ETH κατέρρευσε κατά σχεδόν 50% σε μια μέρα, το σύστημα τέθηκε σε κίνδυνο. On-chain Off-chain Type of collateral Algorithmic issuance Collateral of crypto assets Exchange rate adjustment Arbitrage exchange Dynamic stability fees Risk Death spiral Liquidation of collateral Type of collateral Αλγοριθμική έκδοση Εξασφάλιση κρυπτογραφικών περιουσιακών στοιχείων Exchange rate adjustment Ανταλλαγή διαιτησίας Δυναμική σταθερότητα Risk Η σπείρα του θανάτου Εξάλειψη του collateral Μετά τη σύγκριση των δύο τύπων εγγυήσεων, κατέληξα στο συμπέρασμα ότι για να υποστηρίξουμε την τιμή, είναι απαραίτητο να δημιουργήσουμε μια ξεχωριστή πισίνα με μικρή ρευστότητα, ανεξάρτητη από τη μακρά πισίνα. Θα μπορούσε να λειτουργήσει ως εξής: μαζί με τη μεταφορά ρευστότητας στο DEX, η ρευστότητα προστίθεται επίσης στο πρωτόκολλο ειδικά για το άνοιγμα βραχυπρόθεσμων θέσεων. Από εκεί, πολλά σενάρια είναι πιθανά: Both pools grow — which means someone is opening a short position. This is where the first advantage of the idea becomes evident: increased market transparency. If demand exceeds supply, that’s a natural market situation. Similarly, when supply exceeds demand, it’s also part of normal market dynamics. In the case of a sharp change in the long pool — so drastic that even the label doesn’t fit — a rebalancing algorithm can be activated. As a result, the price returns to equilibrium through the participation of the short pool, without an seller. Για να λειτουργήσει ο αλγόριθμος εξισορρόπησης, απαιτούνται τα εξής: Καθορισμός του ποιο ποσοστό της μεταβολής των τιμών σε μια δεδομένη χρονική περίοδο θα θεωρηθεί «ανώμαλη» διακυμάνσεις της αγοράς. τη διαρκή παρακολούθηση των τιμών, Όταν πληρούνται οι καθορισμένες συνθήκες, εκτελέστε την επαναισορροπία, περιορίζοντας το μέγεθός της σε έναν μόνο κύκλο μέχρι ένα ορισμένο ποσοστό για να προστατεύσετε το σύστημα από χειραγώγηση. Σε αυτό το άρθρο, θα ρίξω μια πιο προσεκτική ματιά σε ένα από τα βασικά συστατικά αυτού του μηχανισμού - τη δημιουργία μιας σύντομης πισίνας ρευστότητας για τα συμβατά με το EVM blockchain χρησιμοποιώντας το Solidity. προετοιμασία Το πρωτόκολλο θα χειρίζεται τα κεφάλαια των χρηστών, θα εισάγουμε τα κεφάλαια του OpenZeppelin και συμβάσεις, καθώς και σύμβαση για την είσπραξη των τιμών των περιουσιακών στοιχείων από την Chainlink. Ownable ReentrancyGuard Για απλότητα, θα χρησιμοποιήσουμε WBTC και WETH tokens στο Ethereum Mainnet, αν και ιδανικά, ο κατάλογος των διαθέσιμων tokens θα πρέπει να οριστεί κατά την ανάπτυξη του έξυπνου συμβολαίου. Για να διευρυνθεί η διαδικασία, θα προσθέσουμε ένα για τα υποστηριζόμενα tokens, όπου το κλειδί είναι η διεύθυνση του token και η αξία είναι η διεύθυνση της αντίστοιχης σύμβασης τιμολόγησης Chainlink. mapping Ας εφαρμόσουμε επίσης μια λειτουργία χρήσης για την προσθήκη αξιών στο Για να ενισχύσουμε την ασφάλεια, θα αποτρέψουμε την ενημέρωση της διεύθυνσης σύμβασης Oracle για ένα token που έχει ήδη προστεθεί. mapping Για την αποθήκευση θέσεων, θα χρησιμοποιήσουμε ένα όπου το κλειδί είναι η διεύθυνση του χρήστη και η τιμή είναι μια σειρά δομών που περιέχουν: mapping Τόκεν Διεύθυνση Ανοιχτές και κλειστές τιμές Μέγεθος θέσης Τρέχουσα κατάσταση (ανοιχτή, κλειστή ή εκκαθαρισμένη) Ανοίγοντας μια θέση Σε αυτό το πρωτόκολλο, οι τιμές θα εκφράζονται σε δολάρια ΗΠΑ, οπότε θα χρειαστούμε μια εσωτερική λειτουργία για την ομαλοποίηση της αξίας. Για να λάβουμε την τιμή έναρξης σε USD, πρώτα ρωτάμε το oracle για την τρέχουσα τιμή ETH και την τιμή token, ομαλοποιούμε και τις δύο τιμές και στη συνέχεια υπολογίζουμε το μέγεθος της θέσης. και να εκπέμψει ένα γεγονός που χρησιμοποιεί . mapping emit Κλείνοντας μια θέση Για να ενοποιήσουμε τη λογική για το κλείσιμο και την εκκαθάριση θέσεων, θα δημιουργήσουμε έναν τροποποιητή που θα ελέγχει την τρέχουσα κατάσταση της θέσης. Θα δημιουργήσουμε επίσης μια λειτουργία βοηθού για τον υπολογισμό του ποσού ανάληψης και της τιμής κλεισίματος. Στη συνέχεια, κατά το κλείσιμο μιας θέσης, υπάρχουν δύο πιθανά σενάρια: If the user is eligible to receive funds back, we set the closing price and withdraw funds to the user. If the position must be liquidated (for example, due to insufficient collateral), the position is marked as liquidated without transferring funds. Ως κάτοχος θέσης για την τιμή κλεισίματος σε περίπτωση εκκαθάρισης, το μέγιστο Η αξία μπορεί να χρησιμοποιηθεί. uint256 Αυτή η εφαρμογή απλοποιείται, οπότε θα ήταν καλύτερο να προσθέσουμε αυτοματοποίηση χρησιμοποιώντας το Chainlink ή το Gelato για περιοδικούς ελέγχους τιμών και αυτόματη εκκαθάριση όταν είναι απαραίτητο. Για να υποστηριχθεί αυτό, η συνάρτηση εκκαθάρισης θα πρέπει να αποδέχεται τη διεύθυνση του χρήστη ως παράμετρο για να καθορίσει ποια θέση πρέπει να εκκαθαριστεί. Συμπέρασμα Σε αυτό το άρθρο, μοιράστηκα μια υπόθεση σχετικά με μια μικρή πισίνα ρευστότητας και πρότεινα μια βασική εφαρμογή στο Solidity για το blockchain Ethereum. Ο πλήρης κώδικας είναι διαθέσιμος στο . Το Github