Percolator on Solanal põhinev püsivõimaluste futuuride protokoll. Lihtsustatult öeldes võimaldab see inimestel kaubelda võimendusega pikki/lühikesi positsioone mingil varal (näiteks SOL), mis ei aegu kunagi, kusjuures tagatist hoitakse ühes ühises voldikkontos ja hindasid pakuvad oraklid (näiteks Chainlink, Pyth). Protokoll on eksperimentaalne ja auditeerimata – mõeldud ainult hariduslikuks ja testimiseks, mitte tootmiseks ega pärisrahade kasutamiseks.
Kujutage seda ette kui detsentraliseeritud, programmeeritavat “püsivõimaluste mootorit”: üks programm hoiab kogu turu seisundit ühesainsas voldikkontos, samas kui välised vastavaid kauplemisi hinnastavad programmid määravad, kuidas tehinguid hinnatakse.
Selle eraldatus muudab protokolli paindlikuks: saate käivitada nii standardseid kui ka pööratud turge, passiivseid likviidsuspakkujaid või kohandatud AMM-stiilis hindamist.
Kõik ühe turu andmed asuvad ühes plokiahelakontos, mida nimetatakse voldikku:
• Pealkiri – magic, versioon, administraator, flagid (näiteks “lahendatud” binaarsete turgude jaoks).
• Turu konfiguratsioon – tagatise mündi, voldiku, orakli feedi ID, pöörd- ja ühikuskala, rahastamise ning riski piirangute parameetrid, valikuline orakli autoriteet.
• Riskimootor – voldiku saldo, kindlustusfond, riskiparameetrid (marginaalid, tasud, likvideerimine), rahastamisindeks, crank/sweep-i seisund ning bitikaart ja kuni 4096 kontode (kasutajate ja LP-de) massiiv.
Nii et üks voldik = üks püsivõimaluste (või üks binaarne) turg.
Käivitage teine voldik = teine turg.
Iga voldikus olev konto on kas:
• Kasutaja – kaupleja. Nad hoiustavad tagatist, avavad/sulgevad positsioone (lühike = negatiivne suurus, pikk = positiivne suurus) ning neil on PnL, marginaal, rahastamine jms.
• LP (likviidsuspakkujad) – pakuvad likviidsust ja võtavad tehingute teise poole. Neil on samuti kapital ja positsioon (vastupidine netopositsioonile, mille nad on vastavalt sobitatud). LP-d on seotud matcheriga (programm + kontekst), mis määrab, kuidas tehinguid hinnatakse.
Kontod on indekseeritud (0..N). Voldik jälgib, milliseid indekseid kasutatakse bitikaardi abil, ning salvestab iga kontosse kuuluva kapitali, positsiooni, sisenemishinna, rahastamisindeksi, matcher-programmi/konteksti (LP-dele) ja omaniku.
Hinnad pärinevad oraklitelt (näiteks Pyth Pull feedi ID või Chainlink). Voldik salvestab:
• Maksimaalse staaži ja usaldusväärsuse filtrid.
• Valikuline orakli autoriteet: kui see on seatud, saab administraator hinda pushida (kasutatakse testimiseks, binaarsete lahenduste jaoks või kontrollitud keskkondades). Kui autoriteedi hind on seatud ja hiljutine, ületab see välist feedi hinda.
Nii et normaalne töö on Pyth/Chainlink; erijuhtumid – administraator juhitav hind.
Turg võib olla pööratud: protokoll kasutab sisemiselt 1/hinda (näiteks USD per SOL → SOL per USD). See on kasulik siis, kui tagatiseks on SOL ja soovite “lühike USD / pikk USD” stiilis eksponeerimist: lühike = kasum, kui SOL langeb, pikk = kasum, kui SOL tõuseb. Sama riskimootor, erinev hinna tõlgendus.
Tehingud võivad toimuda kahel viisil:
CPI tähendab siin Solanal ristprogrammi kutsutust.
Nii on matchers “hinna määramise kiht”: passiivsed (näiteks orakli ± 50 bps), vAMM-stiilis (spread + mõju) või täielikult kohandatud. Protokoll tagab, et LP’s matcher-programm/kontekst sobib ja et matcher kontrollib LP PDA-d allkirjastajana (nii kasutatakse ainult antud LP likviidsust).
Hoidja crank on lubamatute instruktsioonide komplekt, mis:
• Uuendab mark-hinda ja rahastamist orakli ning LP netopositsiooni alusel.
• Rakendab rahastamist avatud positsioonidele.
• Töötleb likvideerimise/force-close’i loogikat (näiteks alla hooldusmarginaali jäänud kontod likvideeritakse orakli hinnaga; tolmuks muutunud positsioonid koristatakse ära).
Rahastamine arvutatakse plokiahelas LP inventari alusel, nii et pikad/lühikesed maksavad üksteist (ja protokoll saab oma osa). Riski suurendavad tehingud nõuavad “hiljutist” crank’i (näiteks ~200 sloti jooksul), et mark ja rahastamine oleksid ajakohased.
• Kindlustusfond (mis täidetakse administraatori või tasudega) absorbeerib kaotusi, kui positsioonid likvideeritakse või force-closed’itakse. On olemas künnis; sellest madalamal võib turg minna “ainult riski vähendamise” režiimile (lubatud on ainult positsioonide vähendamise tehingud).
• Kasutatakse haircut-ratio loogikat (O(1) agregaadid: kogu kapital, positiivne PnL), et süsteem saaks toime tulla maksejõuetusega ilma suure ADL-sweep’ita. Hoidmine säilib: voldik ≥ kapital + kindlustus + positiivne PnL (väikese ümardamistolerantsiga).
Sama voldikut võib kasutada binaarse (sündmuse) turuna: tulemus JAH/ EI. Administraator seab orakli autoriteedi, pushib lahendushinna (näiteks 1.0 = JAH, ~0 = EI), seejärel kutsub lahendama-turu. Pärast seda ei toimu uusi tehinguid/hoidke; hoidja crank force-closes kõik positsioonid lahendushinnaga. Kui kõik on sulgetud, võib administraator võtta kindlustuse ja kasutajad võtavad ülejäänud kapitali. Nii et üks koodibaas nii püsivõimaluste kui ka sündmuste lahendamiseks.
• Standardne: näiteks SOL/USD püsivõimalus, kus SOL või USDC on tagatiseks; pikk/lühike SOL.
• Pööratud: näiteks SOL-tagatiseks, hind = 1/SOL USD-i mõistes; pikk = bullish USD (bearish SOL), lühike = bearish USD (bullish SOL). Hea, kui soovite hoida tagatist SOL-is ja väljendada arvamust “SOL-i tõusust või langusest”.
Kasutage CLI-d (või SDK-d) järgmiselt: alusta turg → alusta kasutaja → hoiusta → käivita hoidja crank → kauple (trade-cpi või trade-nocpi). Mõlemale sama voog, ainult init-marketis erinevad invert ja unit_scale.
• Passiivne LP: üks matcher (näiteks percolator-match) koos fikseeritud spreadiga (näiteks 50 bps). LP hoiustab tagatist, algatab LP selle matcher-kontekstiga; kauplejad saavad orakli ± spreadi.
• vAMM-stiilis LP: matcher koos baasspreadiga + mõjuga + tasuga. Kitsamad spreadid väikeste suuruste jaoks, laiemad suurte jaoks; saate käivitada skripte nagu add-vamm-lp.ts, et selliseid LP-sid lisada. Botid (näiteks random-traders.ts) võivad simuleeritud hinna alusel suunata parima LP-le.
Kasutusjuht: turu tegemine, spreadi/tasude teenimine või kohandatud hinnastrateegia käivitamine oma matcheris.
• Crank-bot: kutsub hoidja-crank’i iga paari sekundi järel, et rahastamine ja mark oleksid ajakohased ning likvideerimised toimiksid. Vajalik riski suurendavate tehingute jaoks (staaži kontrollid).
• Likvideerija: jälgib kontosid ja kutsub likvideerima-orakli, kui konto on alla hooldusmarginaali. Lubamatud; likvideerija teenib tasu.
Kasutusjuht: käivitage avalikke hüvesid (crank) või teenige likvideerimistasudest.
• Looge voldik, kus pole väliseid feede (näiteks Pyth feedi ID = nullid, “Hyperp” režiim), seadke algne mark-hind (näiteks 0.5 = 50% impliseeritud), seadke orakli autoriteet administraatorile.
• Kasutajad kauplevad nagu püsivõimalustes; kui sündmus lahendub, administraator pushib orakli-hinna (JAH=1e6, EI≈0), seejärel lahendab-turu, seejärel crank’ib, kuni kõik positsioonid on force-closed, seejärel võtab kindlustuse ja kasutajate kapitali.
Kasutusjuht: ennustusturud, sündmuste lepingud või igasugune binaarne tulemus, mis lahendub ühe hinnaga.
• Orakli autoriteet: pushige fikseeritud või äärmuslikke hindu, et testida likvideerimisi, rahastamist või äärmuslikke juhtumeid ilma päris turge liigutamata.
• Skriptid: näiteks stress-haircut-system.ts, stress-worst-case.ts, orakli-authority-stress.ts, pentest-oracle.ts turvalisuse/stressi jaoks; test-*.ts invariantide ja voogude jaoks.
• Devnet: setup-devnet-market.ts loob täieliku pööratud SOL/USD turu Chainlinki ja rahastatud LP-ga; saate selle vastu käivitada botte ja teste.
Kasutusjuht: protokolli meeskonnad, audiitorid või integreerijad, kes valideerivad käitumist enne mainneti.
• update-config: muutke rahastamise horisonti, K, skaalat, maksimaalset preemiat, künnisfloori/riski/intervalli/sammu/alfa/min/max (rahastamise ja riski piirangute käitumine).
• seadke riski künnis, seadke hooldustasu: fineerige riski ja kulud.
• topup-insurance, withdraw-insurance (kui on lahendatud ja tühjad): hallake kindlustusfondi.
Kasutusjuht: turuoperaatorid, kes kohandavad end volatiilsuse või nõudlusega.
Percolator näitab, et ühe programmi ja ühe voldikuga püsivõimaluste mootor võib elada Solanal Pyth/Chainlinki, mitme LP-ga ja lubamatute crank’ide/likvideerijatega. See on alus:
• Avalikele püsivõimaluste turgudele (näiteks SOL, BTC, ETH) SOL-i või stabiilsete mündide tagatiseks.
• Pööratud turgudele, kus tagatiseks on kodumaine vara ja kauplejad soovivad võimendatud eksponeerimist “paari teise poole” suhtes.
Kuna hinna määramine toimub välises matcher-programmis, jääb põhiprotokoll minimalistlikuks ja turvaliseks, samas kui:
• Meeskonnad saavad uusi matchereid (näiteks order-book stiilis, RFQ või hübriid) saata, ilma riskimootorit muutmata.
• Mitmed matchers (passiivsed, vAMM jne) võivad ühes turus koos eksisteerida; kauplejad ja botid valivad parima hinna (nagu parima hinna ja random-traders’i puhul).
Võimalused: matcher-ökosüsteem (keskmine limit order book, request-for-quote, volatiilsus-sensitiivsed spreadid) ühe ühise püsivõimaluste mootori peal.
Sama voldik ja riskimootor toetavad lahendamist + force-close’i lahendushinnaga, nii et:
• Ennustusturge ja sündmuste lepinguid saab ehitada samasse koodibaasi nagu püsivõimalusi.
• Operaatorid saavad käivitada nii püsivõimalusi kui ka binaarseid turge ühe juurdepanekuga ja ühe CLI/SDK-ga.
Võimalused: ühtne “futuurid + sündmused” kiht Solanal.
• Programmeeritav API: CLI on õhuke wrapper instruktsioonide ja voldikute analüüsi ümber; repo encode*, buildAccountMetas ja parse* funktsioonid on väike SDK. UI-d, botid ja teised programmid võivad ülesehitada.
• Hoidja/likvideerija stiimulid: lubamatud crank ja likvideerima-orakli võimaldavad kolmandatel pooltel käivitada infrastruktuuri ja teenida tasusid ilma loata.
Võimalused: integreerimised rahakottide, aggregaatorite ja automaatsete strateegiatega.
AINULT HARIDUSLIKEL EESMÄRKIDEL. Percolatori programmi ja seda CLI-d ei ole auditeeritud. Ärge kasutage tootmises ega pärisrahade jaoks. Kasutage oma riskiga.
Selle artikli aluseks on Percolatori-cli koodibaas (https://github.com/aeyakovenko/percolator-cli) ja sellega seotud repod (percolator, percolator-prog, percolator-match).
Percolatori protokoll: püsivõimalused Solanal ilmus esmakordselt Coinmonksis Mediumis, kus inimesed jätkavad vestlust, rõhutades ja vastates sellele loole.


