Most dla stablecoinów
Rand emituje jeden składnik majątku, RAND, a jego cena się zmienia. Pula shielded, w której nie ma nic stabilnego do przechowywania, jest mało przydatna w płatnościach, dlatego USDT i USDC są importowane z łańcuchów, w których już obiegają, i wybijane, pomniejszone o opłatę mostu w wysokości 0,1%, jako zUSD: jeden dolar w puli shielded, zabezpieczony łącznymi rezerwami USDT i USDC, przechowywany jako noty w tej samej puli co wszystko inne i wymienialny na żądanie na każdą z tych monet.
Alternatywą jest czekanie, aż Tether i Circle zaczną emitować natywnie, a to decyzja handlowa podejmowana w oparciu o wolumen, którego łańcuch jeszcze nie ma. Most nie wymaga współpracy ze strony emitenta. Kosztem jest dłuższy łańcuch zaufania i własny powiernik — a ta strona mówi o tym koszcie wprost, zamiast go zacierać.
- Zablokowane stablecoiny
- —
- każda akceptowana moneta, wszystkie cztery łańcuchy
- Zablokowane USDT
- —
- Tether USD
- Zablokowane USDC
- —
- USD Coin
- Podaż zUSD
- —
- suma z rejestru tokenów, jeden do jednego względem zablokowanych środków
| Łańcuch | Token | Wyemitowano dziś | Limit dzienny | Zablokowano |
|---|
Odczytywanie mostu z eksploratora…
Zablokowanie
USDT lub USDC jest wpłacany do kontraktu powierniczego w łańcuchu macierzystym i tam unieruchamiany. Kontrakt jedynie blokuje i zwalnia środki; sam niczego nie wybija.
Poświadczenie
Strażnicy obserwują zarejestrowanego emitenta w każdym łańcuchu źródłowym, czekają na odpowiednią głębokość potwierdzeń i podpisują to, co zobaczyli. Sześć z ośmiu podpisów tworzy kworum. Poświadczają, że wiadomość została opublikowana, a nie co ona oznacza.
Wybicie
Rand weryfikuje kworum, drugie kworum postkwantowe tych samych strażników oraz powiązanie z emitentem; sprawdza limit emisji dla danej rezerwy oraz limit globalny z ostatnich 24 godzin; oznacza poświadczenie jako wykorzystane; a następnie wstawia zobowiązanie do noty do puli shielded, na kwotę wpłaty pomniejszoną o opłatę mostu (0,1% od chain 20, zachowywaną jako nota zUSD dla skarbca). Od tego momentu aktywo jest notą zUSD, nieodróżnialną od jakiejkolwiek innej noty w zbiorze anonimowości.
Wykup
Posiadacz wydaje notę w jednej transakcji, która wskazuje monetę, docelowy łańcuch i adres, oraz uiszcza opłatę mostu w wysokości 0,01 RAND. Od chain 20 łańcuch zatrzymuje też 0,1% kwoty jako notę opłaty w zUSD, a wypłata jest równa kwocie pomniejszonej o tę opłatę. Rand odrzuca ją, jeśli rezerwa danej monety zawiera mniej niż ta kwota. Najpierw publikowany jest nullifier, następnie strażnicy poświadczają spalenie, a dopiero potem custody dokonuje wypłaty. Roszczenie zostaje zniszczone przed ruchem zabezpieczenia, nigdy po nim.
Zablokowana wartość jest jawna na granicy. Każdy późniejszy transfer noty już nie. Granicą prywatności jest sam most: to, co wchodzi, jest przejrzyste, a to, co krąży w Rand, jest shielded.
Jeden token, siedem rezerw
zUSD jest pojedynczym tokenem, ale jego zabezpieczenie liczy się rezerwa po rezerwie: rezerwa to jedna moneta w jednym łańcuchu macierzystym, indeksowana parą, a nie symbolem. USDT zablokowany w Ethereum i USDT zablokowany w Tron znajdują się w oddzielnych depozytach, a Rand zapisuje, ile zablokowano w każdym z nich. Wykup wskazuje monetę i łańcuch i jest odrzucany, jeśli ta rezerwa zawiera mniej niż kwota, więc wykup w jednym łańcuchu nie może czerpać z depozytu innego. Podaż zUSD z konstrukcji jest równa sumie tych siedmiu.
Wartości przesyłane w wiadomościach mają osiem miejsc po przecinku. Gdy token używa osiemnastu, kontrakt blokuje tylko kwotę możliwą do przedstawienia; gdy używa sześciu, wykup musi być całkowitą wielokrotnością najmniejszej jednostki danej monety. W obu przypadkach żadna zablokowana jednostka nie zostaje bez poświadczenia, które może ją zwolnić.
| Łańcuch | Monety | Standard | Powiernictwo | Potwierdzenie | Miejsca dziesiętne |
|---|---|---|---|---|---|
| Ethereum | USDT, USDC | ERC-20 | Kontrakt blokujący | 32 bloki | 6 |
| Binance Smart Chain | USDT, USDC | BEP-20 | Kontrakt blokujący | 20 bloków | 18, obcięte do 8 w wiadomości |
| Tron | USDT | TRC-20 | Kontrakt blokujący | 20 bloków | 6 |
| Solana | USDT, USDC | SPL | Program powierniczy | Sfinalizowany slot | 6 |
Ośmiu strażników, sześciu podpisuje
Zbiór strażników to uporządkowana lista kluczy poświadczających. Wiadomość jest poświadczona, gdy podpisze ją więcej niż dwie trzecie z nich: bizantyjski próg zbioru walidatorów, zastosowany do komitetu, który obserwuje łańcuchy niewidoczne dla walidatorów Rand od wewnątrz konsensusu. Format pochodzi z Wormhole, został przeniesiony, a nie wymyślony od nowa, dzięki czemu strażnika, weryfikator w Solidity i weryfikator w Rust można sprawdzić względem siebie nawzajem.
Wybicie w Rand wymaga także drugiego kworum: sześciu z tych samych ośmiu strażników podpisuje ten sam skrót algorytmem Dilithium2, powiązany z łańcuchem Rand, a Rand odrzuca wybicie, w którym brakuje któregokolwiek z nich. Zwolnienie w łańcuchu źródłowym nadal opiera się wyłącznie na kworum secp256k1.
Poświadczenie to nie autoryzacja
Strażnicy poświadczają publikację. Obserwują kontrakt emitujący wiadomości, czekają na potwierdzenia i podpisują to, co zaobserwowali. Nie interpretują ładunku. Jeśli warstwa wiadomości przyjmuje wiadomości od dowolnego wywołującego, to każda strona zdolna złożyć transakcję w łańcuchu źródłowym może spowodować wybicie dowolnej ilości zUSD bez przejęcia ani jednego klucza strażnika: poświadczenie strażników jest prawdziwe, bo wiadomość rzeczywiście została opublikowana.
Wybicia nie zapobiega weryfikacja podpisów, lecz powiązanie z emitentem: miejsce docelowe przyjmuje poświadczenie tylko wtedy, gdy pochodzi ono od zarejestrowanego kontraktu mostu dla łańcucha, który samo poświadczenie wskazuje. W bezzezwoleniowej warstwie wiadomości ważność podpisu nie oznacza autoryzacji, a to powiązanie jest kontrolą, na której wszystko się opiera.
Co ogranicza szkody
Żadne z tych rozwiązań nie czyni mostu bezzaufanym. Każde zamienia awarię z nieograniczonej w ograniczoną albo z cichej w widoczną.
Poprawność powiernictwa
Tw. 9.13Każdy łańcuch liczy, ile przechowuje, i odmawia zwolnienia więcej niż to, a Rand prowadzi to samo zestawienie dla każdej rezerwy i odrzuca wykup ponad nie. Sfałszowane poświadczenie nie może wypłacić pieniędzy, które nigdy tam nie zostały zablokowane, więc nieograniczona awaria wybijania staje się ograniczoną awarią powiernika.
Powiązanie z emitentem
Def. 9.7 · Wniosek 9.8Poświadczenie jest przyjmowane tylko wtedy, gdy wyemitował je zarejestrowany kontrakt mostu dla łańcucha wskazanego w samym poświadczeniu. Bez tego każdy, kto mógłby opublikować wiadomość w łańcuchu źródłowym, mógłby wybijać do woli, podczas gdy uczciwi strażnicy podpisywaliby zgodnie z prawdą.
Ochrona przed powtórzeniem
Def. 9.10Każde poświadczenie można zrealizować dokładnie raz, według jego skrótu, a każdy wykup publikuje nullifier. Ani wybicia, ani zwolnienia nie można odtworzyć.
Audytowalność podaży
Tw. 9.14Podaż w puli shielded jest równa jawnym wybiciom minus jawne spalenia, a warunek utrzymania kursu względem depozytu może sprawdzić każdy bez otwierania noty. Transfery w obrębie puli zachowują wartość z konstrukcji, więc nie mogą zmienić sumy.
Limity i wstrzymanie
Uw. 9.16W obecnym testnecie każda rezerwa może wyemitować co najwyżej 100,000 zUSD, a wszystkie siedem razem co najwyżej 4,000 zUSD, w dowolnym kroczącym oknie 24 godzin. Jeden klucz wstrzymania, przechowywany osobno od kluczy strażników, może natychmiast zatrzymać emisję. Nie może jej wznowić: wymaga to kworum strażników post-kwantowych, które może też wymienić sam klucz wstrzymania, a umorzenia pozostają otwarte przez cały czas. Kontrakty na łańcuchach źródłowych utrzymują własnego pausera i własne limity. Ograniczają one ekspozycję, ale jej nie usuwają.
Głębokość potwierdzenia
Strażnicy podpisują dopiero wtedy, gdy łańcuch źródłowy zakończy rozliczenie blokady, dzięki czemu zreorganizowany depozyt nie może zabezpieczać emisji.
Najsłabszy element
Wszystko inne w protokole sprowadza się do twardości kryptograficznej albo do bizantyńskiej granicy nad stakowanym zbiorem walidatorów, któremu można odebrać stawkę. Most tego nie robi i artykuł mówi o tym wprost. Propozycja 2.8 z artykułu o zUSD argumentowała przeciwko dokładnie takiej konstrukcji; przytaczamy ją bez zmian, ponieważ nadal jest poprawna, a skoro każde zabezpieczenie zUSD jest poświadczoną nogą, gwarancja dla każdej jednostki jest słabszą z dwóch wielkości: wypłacalności depozytariusza i integralności podwójnego progu strażników.
- ›Kworum kluczy strażników może wypłacić całe przechowywane saldo na każdym łańcuchu. Nie ma dowodu oszustwa, okna na zakwestionowanie ani optymistycznego opóźnienia. Ważny podpis kworum jest autoryzacją.
- ›Strażnicy nie wnoszą kaucji i konsensus Rand nie może odebrać im stawki. Straty w tej klasie mostów — Ronin, Wormhole, Nomad, Harmony — wynikały z przejęcia kluczy i błędów weryfikacji, a nie z awarii konsensusu.
- ›Jeśli jedna maszyna przechowuje sześć kluczy, to ta maszyna jest mostem. Różni operatorzy, jurysdykcje i sprzęt do przechowywania kluczy są wymogiem wdrożenia, a nie preferencją konfiguracji.
- ›zUSD jest jednym zbiorczym aktywem: roszczeniem wobec depozytu Rand, a więc roszczeniem wobec Tether i Circle. Każdy posiadacz ponosi ryzyko obu emitentów niezależnie od tego, jaką monetę wpłacił, a do tego ryzyko strażników, które jest znacznie słabszym ogniwem.
- ›Nie przeprowadzono niezależnego audytu. Kontrakty są wdrożone na czterech mainnetach od 19 września 2026 i przechowują prawdziwe USDT, z limitami 100 na transfer i 1,000 dziennie na token. Wszystkie klucze strażników posiada dziś jeden operator: sześć na osobnych hostach i dwa na laptopie.
Granica
Konsensus, prywatność i przypisanie autorstwa są post-kwantowe: solidność STARK, 384-bitowy skrót transkryptu, podpisy Dilithium. Poświadczenia strażników oparte na secp256k1 takie nie są, a ścieżka wypłat nadal opiera się wyłącznie na nich. Przeciwnik kwantowy odzyskuje każdy klucz strażnika z jego opublikowanego klucza publicznego i wypłaca całe przechowywane saldo. Bezpieczeństwo post-kwantowe systemu jest minimum po jego składnikach, a po stronie wypłat ten składnik wynosi zero bitów do czasu migracji.
Weryfikatorem jest własna warstwa wykonawcza Rand, która już weryfikuje Dilithium. Każda emisja niesie teraz obok kworum secp256k1 także kworum Dilithium2 tych samych strażników nad tym samym skrótem, więc odzyskanie kluczy secp256k1 nie wystarcza już do sfałszowania emisji. Od chain 15 kworum post-kwantowe może samo rotować swój zbiór i klucz wstrzymania, a każdą rotację podpisuje obecny zbiór; na chain 20 rotacja wymaga też dowodu posiadania nowych kluczy i wchodzi w życie dobę po przyjęciu.
Ethereum, Binance Smart Chain, Tron i Solana weryfikują secp256k1 natywnie. Weryfikacja ML-DSA w kodzie kontraktu kosztuje dziś miliony gazu. Ścieżka wypłat pozostaje zabezpieczona klasycznie, dopóki łańcuchy źródłowe nie wprowadzą prekompilacji post-kwantowych, a Rand nie może przyspieszyć tej daty samodzielnie.
Wnioski dla operatorów
Pozostała ekspozycja jest ograniczona przez depozyt, a nie przez podaż chronioną (shielded), i maleje, gdy most służy do przepływu, a nie do przechowywania. Trzymanie dużych bezczynnych ssald po stronie źródłowej to konfiguracja, która maksymalizuje stratę w erze kwantowej, więc limity depozytu należy ustawić odpowiednio. Zamiennik minimalizujący zaufanie jest już w zestawie narzędzi systemu: STARK weryfikujący konsensus łańcucha źródłowego sprowadziłby założenie mostu do tego łańcucha oraz solidności STARK i całkowicie usunąłby zbiór strażników. Przeszkodami są koszt dowodzenia i inżynieria dla każdego łańcucha, a nie brakujący prymityw.
Stan implementacji
Istnieje implementacja referencyjna: kontrakty depozytowe dla łańcuchów EVM i Tron, program depozytowy na Solana, strażnik, który obserwuje wszystkie łańcuchy i udostępnia złożone poświadczenia, oraz wspólny kodek formatu przesyłania, dostarczany w pełnym węźle jako crate bridge-codec, tak aby zmiana formatu w jednym języku powodowała błędy testów w pozostałych. Po stronie Rand pełny węzeł implementuje połowę odbiorczą od fazy S3 puli chronionej (shielded): poświadczenie wpłaca jedną notę, którą łańcuch oblicza z poświadczonej kwoty, aktywa pochodzące z mostu są notą w tej samej puli co RAND, a spalenie to jedna transakcja z jednym dowodem. Łańcuch włącza most sekcją w swoim genesis. Obecny testnet, chain 20, ma go włączonego: w jego genesis są osiem strażników, ośmiu strażników post-kwantowych, klucz wstrzymania oraz dzienny globalny limit emisji 4,000 zUSD, a także zUSD z siedmioma rezerwami, przenoszący zUSD pozostające w obiegu w chwili przecięcia, z depozytem nadal dla niego zablokowanym. Jego genesis wskazuje punkty końcowe mostu Ethereum, BNB Chain i Tron wdrożone ponownie 30 września 2026 i pobiera 0.1% w zUSD od każdej emisji i każdego spalenia, dzięki czemu podaż nadal równa się zablokowanemu dla niej depozytowi. Pełny obieg na każdym łańcuchu źródłowym przeprowadzono na chain 14 dnia 20 września 2026. Liczby na górze tej strony są odczytywane z chain 20.
Kontrakty, strażnik i relayer są publiczne pod adresem github.com/randprotocol/bridge, a wdrożone adresy wraz z transakcjami wymieniono w zapisie wdrożenia na mainnecie. Punkty końcowe działają na Ethereum, BNB Smart Chain, Tron i Solana od 19 września 2026, z limitem 100 na transfer i 1,000 dziennie dla każdego tokena. Depozyt przechowuje prawdziwą wartość: 10 USDT na dzień 30 września 2026, zabezpieczające 10 zUSD w obiegu. Nie przeprowadzono niezależnego audytu, a wszystkie klucze strażników posiada jeden operator.
Przeczytaj specyfikację
Sekcja 9 artykułu o protokole specyfikuje most: format poświadczeń, powiązanie z emiterem, chronioną (shielded) emisję i umorzenie, solidność depozytu, audytowalność podaży oraz asymetrię post-kwantową. Artykuł o zUSD omawia niezmiennik rezerw, koszt mostu sformułowany jako propozycja oraz granice strat, które niesie wdrożenie na chain 14.