Transferi između mreža (CCTP)
Kako USDC prelazi između Base mreže i drugih mreža, šta je tvoja adresa za uplatu i šta MozaikPay može, a šta ne može da uradi sa uplatom.
Tvoj novčanik živi na Base mreži, ali tvoj USDC može da stigne i odnekud drugde. Menjačnica možda isplaćuje samo na Polygon mreži, ili prijatelj drži USDC na Solani. Ova stranica objašnjava kako USDC u MozaikPay-u prelazi između mreža, i zašto ga usput ne drži nijedan most ni nijedna kompanija.
Problem sa mostovima
Token ne može sam da pređe sa jedne mreže na drugu. Svaka mreža vodi sopstvene zapise, i nijedna mreža ne može da čita zapise druge. Uobičajeno rešenje je most. Most zaključa tvoje tokene na prvoj mreži i daje ti kopiju na drugoj mreži.
Kopija je drugi token, i bezbedna je samo onoliko koliko je bezbedan most. Ako napadač provali u most, kopije mogu da izgube svu vrednost, a napadi na mostove su izazvali neke od najvećih gubitaka u kripto svetu. USDC.e, koji se i dalje nalazi na mrežama Arbitrum i Polygon, je upravo takva kopija.
Šta CCTP radi umesto toga
Circle sam izdaje USDC na svakoj mreži, pa mu kopija nije potrebna. Circle-ov Cross-Chain Transfer Protocol (CCTP) prenosi USDC u tri koraka.
- Ugovor spaljuje (burn) USDC na prvoj mreži. Spaljivanje beleži iznos i primaoca na drugoj mreži.
- Circle-ov servis za potvrde (attestation) vidi spaljivanje i potpisuje poruku koja ga potvrđuje.
- Svako može da preda tu poruku na drugoj mreži. Circle-ov ugovor na toj mreži proverava potpis i primaocu iskuje (mint) isti iznos USDC-a.
Između spaljivanja i kovanja USDC ne drži nijedan fond ni nijedna kompanija. USDC koji stigne je nativni USDC, isti token kao sav ostali USDC na toj mreži.
CCTP ima dve brzine. Standardni transfer (Standard Transfer) čeka da spaljivanje na prvoj mreži postane konačno. Besplatan je, ali na mrežama Ethereum i Arbitrum čekanje traje oko 15 do 20 minuta. Brzi transfer (Fast Transfer) ne čeka, jer Circle preuzima rizik čekanja i za to naplaćuje malu naknadu, oko 0,01%. MozaikPay koristi brze transfere sa mreža Ethereum i Arbitrum. Sa mreže Polygon i sa Solane standardni transfer je besplatan i traje samo nekoliko sekundi, pa MozaikPay tamo koristi standardni transfer.
Kako uplata stiže do tvog novčanika
Tvoja adresa za uplatu na mrežama Ethereum, Arbitrum i Polygon je mali ugovor. Adresa tog ugovora se izvodi iz adrese tvog novčanika, po istoj formuli na svakoj mreži, pa je to jedna adresa na sve tri mreže. Ugovor sadrži adresu tvog novčanika i može da šalje USDC samo na taj novčanik. Ugovor nema vlasnika, i niko ne može da promeni njegov kod.
Kada USDC stigne na tvoju adresu za uplatu, slede ovi koraci.
- MozaikPay vidi transfer na toj mreži.
- MozaikPay nalaže adresi za uplatu da prosledi USDC. Ugovor ga spaljuje preko CCTP-a, sa tvojim novčanikom na Base mreži kao primaocem.
- Circle potvrđuje spaljivanje.
- MozaikPay predaje potvrdu na Base mreži, a Circle-ov ugovor iskuje USDC u tvoj novčanik.
MozaikPay plaća mrežne naknade na obe mreže. Zato svaka mreža ima minimum. Ispod minimuma je mrežna naknada prevelika za taj iznos, pa USDC čeka dok ne stigne još. Mrežne naknade na Ethereum mreži ponekad nakratko porastu. Kada prosleđivanje košta više od 2% iznosa, MozaikPay čeka niže naknade.
Uplate sa Solane
Mnoge menjačnice prihvataju kao odredište samo običnu adresu Solana novčanika. Zato je tvoja Solana adresa za uplatu obična adresa Solana novčanika, koju tvoj telefon izvodi iz tvog ključa za trošenje.
Kada podešavaš adresu, tvoj telefon potpisuje jednu transakciju. Ta transakcija dozvoljava MozaikPay programu na Solani da pomera USDC sa te adrese. Program sa tim USDC-om može da uradi samo jedno. Može da ga spali preko CCTP-a, sa tvojim novčanikom na Base mreži kao primaocem. Aplikacija podešava adresu samo ako taj program više niko ne može da promeni. MozaikPay plaća podešavanje.
Kada vratiš novčanik na novom telefonu, tvoj nalog dobija novi ključ za trošenje, pa novi telefon podešava novu Solana adresu. Stara adresa zadržava svoju dozvolu, tako da USDC poslat na staru adresu i dalje stiže u tvoj novčanik.
Isplate na druge mreže
Isplata na drugu mrežu prolazi kroz iste korake u suprotnom smeru. Tvoj novčanik spaljuje USDC na Base mreži preko CCTP-a, a primalac je adresa koju si uneo. Circle-ov Forwarding Service zatim predaje poruku na drugoj mreži i tamo plaća mrežnu naknadu.
Naknada za premošćavanje je zbir naknade za brzi transfer i naknade za Forwarding Service. Obe idu Circle-u. MozaikPay od naknade za premošćavanje ne uzima ništa, a mrežnu naknadu na Base mreži plaća kao i za svaki transfer.
Šta MozaikPay može, a šta ne može
Tvoja adresa za uplatu prati ista pravila kao tvoj novčanik. Stavke ispod proizlaze iz javnog koda, a ne iz neke politike.
- MozaikPay ne može da preusmeri uplatu. Adresa za uplatu i Solana program mogu da šalju USDC samo u tvoj novčanik na Base mreži.
- MozaikPay ne može da zadrži uplatu. Ni adresa za uplatu ni Solana program nemaju vlasnika, administratora niti način da im se promeni kod.
- MozaikPay nije neophodan za isporuku. Svako može da naloži adresi za uplatu da prosledi USDC, i svako može da preda Circle-ovu potvrdu na Base mreži. Ako MozaikPay prestane da radi, USDC čeka na tvojoj adresi za uplatu dok neko ne uradi ove korake.
- MozaikPay može da odloži uplatu. MozaikPay obično pokreće svako prosleđivanje, pa problem na našoj strani odlaže uplatu.
CCTP prenosi samo USDC. USDC.e ili neki drugi token na tvojoj adresi za uplatu ostaje tamo. Samo tvoj novčanik može da odobri transfer tog tokena sa adrese za uplatu, a aplikacija to još ne nudi.
I Circle ovde ima stvarnu moć. Circle vodi servis za potvrde, pa pauza kod Circle-a zaustavlja sve transfere. Circle može i da blokira adresu u CCTP-u kada to zakon zahteva. Šta su digitalni dolari? objašnjava ulogu Circle-a.