Jak cofnąć delegację w zarządzaniu

2026-09-03

Jak cofnąć delegację w zarządzaniu

Kiedyś oddałeś swoją siłę głosu w delegację, a teraz chcesz ją odzyskać. W kontrakcie nie ma osobnej instrukcji cofnięcia i być jej nie musi, bo delegacja to jedno pole, które po prostu nadpisujesz. Czego zrobić nie możesz, to cofnąć jej wstecz.

Jak cofnąć delegację w zarządzaniu: najważniejsze informacje w skrócie

Co delegacja naprawdę przeniosła

Posiadanie tokena zarządzania to nie to samo co posiadanie siły głosu. Dokumentacja zarządzania OpenZeppelin mówi wprost, że to delegaci noszą siłę głosu: posiadacz, który chce uczestniczyć, może ustanowić swoim delegatem zaufanego przedstawiciela albo sam zostać delegatem, delegując na siebie. Dokumentacja Compound opisuje ten sam krok, w którym posiadacze tokenów delegują swoje prawo głosu na siebie albo na wybrany przez siebie adres.

Nic wtedy nie opuściło twojego portfela. Compound podaje rozmiar tego, co faktycznie się przemieszcza: liczba głosów dodanych do licznika delegata odpowiada saldu na koncie użytkownika. Twoje tokeny zostały tam, gdzie były, obok nich zapisano miejsce docelowe, a licznik głosów pod innym adresem urósł o twoje saldo.

Powodem takiej konstrukcji jest koszt. OpenZeppelin zauważa, że domyślnie saldo tokenów nie liczy się jako siła głosu, co czyni transfery tańszymi, a wskazanym kosztem tego wyboru jest to, że wymaga od użytkowników delegowania na siebie, żeby w ogóle uruchomić śledzenie. Siła głosu to opcjonalna mechanika doczepiona z boku salda, a nie właściwość samego salda.

To, co cofasz, jest więc wskaźnikiem, a nie przelewem. Pytanie nie brzmi, jak odzyskać tokeny, bo one nigdzie nie poszły. Brzmi ono, co ten wskaźnik ma teraz wskazywać.

Cofnięcie to kolejna delegacja, a nie usunięcie

Dokumentacja Compound stwierdza, że głosy są delegowane od bieżącego bloku wzwyż, dopóki nadawca nie zdeleguje ich ponownie albo nie przeniesie swoich tokenów. Przeczytaj to zdanie od końca, a otrzymasz procedurę cofnięcia: delegujesz jeszcze raz.

Pole mieści jedno miejsce docelowe, więc nie ma pustego slotu, do którego można wrócić, ani drugiej instrukcji do wysłania. Wpisanie nowego miejsca docelowego nadpisuje stare tym samym ruchem. Interfejs, który daje ci przycisk cofnięcia, i interfejs, który daje wyłącznie przycisk delegowania, robią pod spodem to samo, a komunikat, który portfel każe ci podpisać, w obu przypadkach będzie mówił o delegowaniu.

Wynikają z tego dwie rzeczy. Cofnięcie kosztuje transakcję i opłatę, dokładnie tak samo jak pierwotna delegacja. I cofnięcie jest publiczne: nowe miejsce docelowe zostaje zapisane w łańcuchu, gdzie zobaczy je każdy, kto czyta rejestr delegatów.

Dokąd trafia waga, gdy działasz

Cofnięcie delegacji to wybór miejsca docelowego, a poszczególne miejsca nie zostawiają cię w tej samej pozycji.

Co robisz Licznik twojego dawnego delegata Twoja własna siła głosu
Delegujesz na siebie Spada o twoje saldo Równa twojemu saldu
Delegujesz na inny adres Spada o twoje saldo Nadal zero, teraz niesie ją ktoś inny
Przenosisz tokeny gdzie indziej Spada o przeniesione saldo Odchodzi razem z tokenami
Nie robisz nic Bez zmian Zero

Tylko pierwszy wiersz czyni cię głosującym. Drugi to zmiana przedstawiciela, a nie wyjście z systemu. Trzeci działa, ale jest kiepską drogą do celu, bo pozbywa się aktywa po to, żeby poprawić jedno pole. Czwarty wart jest nazwania: posiadacz, który przestał ufać delegatowi, a potem nic nie zrobił, nie zgłosił sprzeciwu, bo jego waga nadal jest oddawana w jego imieniu.

Dlaczego już otwarta propozycja się nie zmienia

To właśnie tutaj cofnięcie sprawia wrażenie zepsutego, choć zepsute nie jest. Rozszerzenie zarządzania OpenZeppelin przechowuje historyczne salda, żeby siła głosu była pobierana z przeszłych migawek, a nie z bieżącego salda, co jego dokumentacja nazywa ważnym zabezpieczeniem zapobiegającym podwójnemu głosowaniu. Compound czyta wagę tak samo: głosy mogą oddać te adresy, które miały wagę głosu na początku propozycji.

Cofnięcie wchodzi więc w życie w bloku, w którym zostało wykopane, i obowiązuje od tego miejsca wzwyż. Jeżeli blok migawki danej propozycji już minął, liczenie głosów w tej propozycji czyta rejestr w takim stanie, w jakim był wtedy, a twój dawny delegat wciąż może oddać w niej twoją wagę, choć delegację już odebrałeś.

Praktyczną regułą jest termin, a nie przycisk. Żeby delegat nie oddał twojej wagi w konkretnej propozycji, cofnięcie musi zostać zapisane przed migawką tej propozycji. Cofnięcie wysłane dzień po otwarciu spornego głosowania jest poprawne, na czas dla wszystkiego, co przyjdzie później, i nic nie warte w tym głosowaniu, na które reagowałeś.

Czego cofnięcie nie robi

Cofnięcie delegacji to nie ta sama operacja co cofnięcie zatwierdzenia tokenów, a wspólny czasownik ukrywa realną różnicę. Zatwierdzenie to stałe pozwolenie dla kontraktu na przenoszenie twoich tokenów. Delegacja takiego pozwolenia nie daje: delegat może oddać twoją wagę i nie może dotknąć twojego salda. Wyczyszczenie wszystkich zatwierdzeń w portfelu zostawia twoją delegację tam, gdzie była, a cofnięcie delegacji zostawia każde zatwierdzenie tam, gdzie było.

Nie odwraca tego, co delegat już zrobił. Oddane głosy pozostają oddane, rozstrzygnięte propozycje pozostają rozstrzygnięte, a zapis tego, jak wykorzystano twoją wagę, nie zostaje przez cofnięcie zmieniony.

Nie uwalnia też tokenów, które trzyma osobny kontrakt. Jeżeli twoje saldo jest zablokowane, zastakowane albo zawinięte w pozycję vote-escrow, delegacja przypięta do tej pozycji podlega regułom tamtego kontraktu, a cofnięcie wysłane do kontraktu tokena do niej nie dosięga.

Delegację poza łańcuchem cofa się gdzie indziej

Nie każde głosowanie rozlicza się w łańcuchu, a DAO, które prowadzi swoje głosowania poza nim, trzyma rejestr delegacji poza kontraktem tokena. Dokumentacja Snapshot opisuje trzy drogi delegowania: rejestr delegatów, używany wtedy, gdy przestrzeń skonfigurowała własny kontrakt delegacji; własną stronę delegowania Snapshot, przedstawianą jako najszybsze rozwiązanie, żeby oddelegować na znany adres; oraz bezpośrednią interakcję z kontraktem.

Ta wielość jest tym, co trzeba sprawdzić, zanim uznasz sprawę za załatwioną. Dokumentacja Snapshot zauważa też, że bezpośrednia delegacja do wybranej przestrzeni ma pierwszeństwo przed delegacją obejmującą wszystkie przestrzenie, więc jeden posiadacz może być zdelegowany w więcej niż jednym miejscu naraz, w ustalonej kolejności między nimi.

Audyt formułuje się prosto. Wypisz każdy rejestr, w którym twój adres występuje jako delegujący, w łańcuchu i poza nim, i wyczyść je po kolei. Cofnięcie w kontrakcie tokena nie mówi nic o wpisie w rejestrze, który czyta inny system.

Rozpisany przykład

Załóżmy, że trzymasz 10 000 tokenów i oddelegowałeś je na adres, który niesie łącznie 250 000 siły głosu, więc twoje saldo to 4% tego, co ten delegat może oddać. Otwiera się propozycja A i mija jej blok migawki. Potem delegujesz na siebie.

Od tego bloku wzwyż prawdziwe są jednocześnie dwa zdania. W propozycji A twój dawny delegat wciąż niesie 250 000, bo tamto liczenie czyta migawkę, a nie rejestr w dzisiejszym stanie. W kolejnej propozycji ten sam delegat niesie 240 000, a ty niesiesz 10 000, które możesz oddać sam.

Drugie zdanie to również miejsce, w którym zmienia się raportowanie. Twoja waga przeszła od delegata do posiadacza, co ciągnie w dół odczyt koncentracji głosów i w górę liczbę uczestników, podczas gdy frekwencja mierzona wobec wagi delegowanej poprawia się tylko wtedy, gdy potem faktycznie zagłosujesz. Odebranie wagi i nieużycie jej nigdy stawia cię w tym samym miejscu co zostawienie jej delegatowi, który się wstrzymuje.

Podsumowanie

Delegacja to jedno pole trzymające jedno miejsce docelowe, więc jej cofnięcie oznacza wpisanie nowego miejsca, a nie skasowanie starego. Deleguj na siebie, a stajesz się głosującym; deleguj gdzie indziej, a zmieniasz przedstawiciela; nie rób nic, a twoja waga dalej będzie oddawana bez ciebie.

Tym, co ludzi zaskakuje, jest czas. Siła głosu jest czytana z przeszłej migawki, więc cofnięcie wiąże każdą propozycję, której migawka wypada po nim, i żadnej z już otwartych. Sprawdź rejestr delegatów przed głosowaniem, na którym ci zależy, a nie po nim, i sprawdź każdy rejestr, z którego twoja organizacja faktycznie korzysta. Aby dalej poznawać podstawy, śledź kolejne materiały Bitbase Academy.

Powiązane artykuły

Inne artykuły Bitbase na ten temat:

- Dlaczego migracja tokena prosi o zatwierdzenie w portfelu

- Migracja tokenów zakończona, ale nowych tokenów nie ma w portfelu

- Jak obliczyć zapas finansowy skarbca projektu tokenowego

- Wskaźnik NVT: wartość sieci do wartości transakcji

- Oszustwa związane z airdropami i lista bezpieczeństwa przed odebraniem

Zastrzeżenie: ten artykuł to treść edukacyjna Bitbase Academy, wyłącznie w celach informacyjnych. Nie stanowi porady inwestycyjnej, handlowej, podatkowej ani finansowej. Kryptoaktywa są zmienne — samodzielnie oceń ryzyko. Napisano w wrześniu 2026 r.; sprawdzaj aktualne oficjalne informacje.

Źródła

[1] Dokumentacja OpenZeppelin Contracts 5.x, Governance docs.openzeppelin.com

[2] Dokumentacja OpenZeppelin Contracts 5.x, API, ERC20 (ERC20Votes) docs.openzeppelin.com

[3] Dokumentacja Compound, Governance (Compound v2) docs.compound.finance

[4] Dokumentacja Snapshot, przewodniki użytkownika, Delegation docs.snapshot.box