Gdy chcesz ukryć adres odbiorcy, użyj stealth adresów ERC-5564
Co musi zawierać snapshot i Merkle Pierwszy tydzień poświęć na inwentaryzację. Wypisz wszystkie adresy depozytowe i ich pochodzenie. Dla BTC ustal, które UTXO należą do klientów, a które do skarbca. Dla ERC-20 zsumuj salda tokenów na wszystkich adresach. Zrób snapshot w jednym bloku dla każdego łańcucha i zapisz jego numer. Bez tego dowód jest niepodpisany i łatwo podważyć jego aktualność. Typowy błąd: mieszanie sald z różnych bloków, co daje fałszywy obraz wypłacalności.
Co realnie zmienia się przy wielu podpisach Najważniejsza różnica dotyczy tego, gdzie trafia zaufanie. W modelu klasycznym ufasz matematyce progu i temu, że klucze nie wyciekły. W modelu z abstrakcją konta ufasz logice kontraktu i temu, kto może ją aktualizować. Dlatego pierwszym krokiem wdrożenia jest rozdzielenie dwóch rzeczy: reguły autoryzacji oraz mechanizmu jej zmiany. Jeśli ta sama grupa podpisów może zarówno wykonywać operacje, jak i przepisywać politykę, to nie masz wielu podpisów, tylko jedno ukryte koło ratunkowe dla każdego z nich.
RLN, czyli rate-limiting nullifier, rozwiązuje inny problem: spam i wielokrotne zgłoszenia z jednego źródła. Mechanizm pozwala wysłać jedno zgłoszenie na osobę bez ujawniania, kto to zrobił. Jeśli ktoś próbuje drugi raz, dowód nie przechodzi. To nie jest blokada adresu — to ograniczenie tempa na poziomie kryptografii. W praktyce łączysz RLN z poświadczeniami, żeby jedna osoba mogła odebrać jedną nagrodę, nawet jeśli ma wiele portfeli.
Dowód własności UTXO to podpis kluczem, którym można wydać dane wyjście. Nie wystarczy pokazać adres. Zbierz UTXO, podpisz komunikat z numerem bloku i korzeniem Merkle, a podpisy dołącz do raportu. Dla L2 dodaj dowód stanu z rollupu lub kanału — najczęściej wystarczy Merkle proof z kontraktu mostu. Jeśli korzystasz z ZK, dowód zk-SNARK może potwierdzić, że suma liści równa się sumie zobowiązań, bez ujawniania sald. To szybsze niż pełne drzewo, ale wymaga zaufania do obwodu. Błąd: publikowanie dowodu ZK bez audytu obwodu i bez podania, jakie dane wejściowe są ukryte.
Drugi błąd to brak widoczności kosztów. Jeśli informacja o dostawie i ewentualnych opłatach pojawia się dopiero na ostatnim ekranie, klient się wycofuje. W sporcie dochodzi jeszcze specyfika zwrotów — rozmiarówka butów czy odzieży bywa zawodna, więc polityka zwrotów musi być jasna jeszcze przed płatnością. Płatność, która łączy się z czytelnym prawem do zwrotu, buduje zaufanie mocniej niż jakikolwiek baner na stronie głównej.
Trzeci tydzień to automatyzacja. Napisz skrypt, który pobiera snapshot, liczy drzewo, generuje podpisy i publikuje raport w formacie czytelnym dla klienta. Nie trzymaj kluczy podpisujących na tym samym serwerze co baza sald. Użyj osobnego modułu lub sprzętowego portfela. Czwarty tydzień przeznacz na testy: zasymuluj brak jednego UTXO, błędny liść i próbę podmiany korzenia. Sprawdź, czy klient potrafi samodzielnie zweryfikować dowód bez Twojej pomocy.
Drzewo Merkle buduj z liści postaci hash(identyfikator_klienta, saldo, sól). Sól jest konieczna, żeby nikt nie odgadł salda sąsiada. Każdy klient dostaje ścieżkę dowodową i sam sprawdza, czy jego liść jest w korzeniu. Uwaga na kolejność: najpierw publikujesz korzeń, potem udostępniasz ścieżki. Odwrotna kolejność pozwala podmienić korzeń po fakcie. Dla ERC-20 pamiętaj o tokenach z niestandardową liczbą miejsc po przecinku — zaokrąglenia potrafią rozjechać sumę.
Jak zbudować model korelacji, który nie pęknie przy pierwszej awarii Nie da się wiarygodnie oszacować prawdopodobieństwa pojedynczego slashingu z krótkiej historii. Zamiast tego modeluj scenariusze: awaria klienta, atak na most, błąd orakla, wycofanie się dużego operatora. Dla każdego scenariusza policz, ile AVS zostanie dotkniętych jednocześnie i jaka część zabezpieczonej stawki jest wtedy narażona. To daje rozkład strat, a nie jedną liczbę. Składkę ustawiaj na podstawie górnego percentyla tego rozkładu, nie średniej.
Account abstraction odwraca ten układ. Zamiast pytać, kto podpisał dane bajty, kontrakt lub moduł wykonawczy pyta, czy dana operacja spełnia zdefiniowaną politykę. Podpisy stają się jednym z dowodów, a nie jedynym. W praktyce oznacza to, że warunek autoryzacji możesz zapisać jako zestaw reguł: ile podpisów, jakich typów, w jakim oknie czasowym i na jaką wartość. Podpis nie musi być już podpisem tej samej transakcji — może być zgodą na wykonanie konkretnej akcji opisanej w polityce.
W praktyce nadawca publikuje w łańcuchu anons (ang. announcement) zawierający efemeryczny klucz publiczny i metadane. Odbiorca skanuje anonse swoim kluczem podglądu, odtwarza adres jednorazowy i wyprowadza klucz prywatny do niego. Klucz podglądu służy tylko do wykrywania płatności — nie pozwala ich wydać. To ważne rozróżnienie: jeśli ktoś zdobędzie sam klucz podglądu, pozna historię wpływów, ale nie zabierze środków. Klucz wydatków trzymaj oddzielnie, najlepiej w zimnym portfelu lub urządzeniu sprzętowym.