Transakcja nigdy nie pojawiła się w eksploratorze Midnight.
Brak oczekujących wpisów.
Brak nieudanej egzekucji.
Brak odrzuconego dowodu.
Po prostu… nic.
Na początku zazwyczaj oznacza to, że użytkownik nigdy tego nie wysłał. Błąd portfela. Przerwa w sieci. Może interfejs zawiesił się przed wysłaniem.
Chyba że użytkownik był pewny.
Kliknęli przycisk. Proces roboczy się rozpoczął. Aplikacja posunęła się do przodu, jak zawsze. A potem gdzieś w środku procesu wszystko cicho się zatrzymało.
Taki rodzaj zniknięcia wydaje się dziwny, dopóki nie przypomnisz sobie, gdzie właściwie zaczyna się transakcja Midnight.
Nie na łańcuchu.
Wewnątrz klienta.
Model wykonania Midnight zaczyna się od lokalnego wykonania. Logika kontraktu działa prywatnie wewnątrz środowiska użytkownika, przetwarzając dane wejściowe i produkując wewnętrzne dane potrzebne do generacji świadka. Ten świadek to to, co ostatecznie zasila krok generacji dowodu systemu.

Tylko po istnieniu dowodu cokolwiek zmierza w kierunku sieci.
Co oznacza, że łańcuch nigdy nie obserwuje, co się dzieje z obliczeniami.
On tylko weryfikuje dowód, że obliczenia się powiodły.
A ten projekt wprowadza bardzo specyficzny punkt nacisku w pipeline wykonawczym Midnight zk.
Jeśli coś się psuje przed prawidłowym uformowaniem dowodu — źle uformowany świadek, niezgodność obwodu, lub błąd podczas generacji dowodu — transakcja po prostu zatrzymuje się wewnątrz środowiska klienta.
Brak transmisji.
Brak odrzucenia.
Brak śladu na eksploratorze.
Niepowodzenie występuje zanim akcja stanie się zdarzeniem sieciowym.
Z perspektywy łańcucha nic się nie wydarzyło.
To ta część, która zajmuje chwilę, aby się osadzić. W większości blockchainów niepowodzenie staje się częścią rejestru. Transakcja się wykonuje, coś idzie źle, a sieć rejestruje błąd. Możesz sprawdzić logi, powtórzyć wywołanie i dokładnie odtworzyć, gdzie wystąpiło niepowodzenie.
Midnight nie powtarza obliczeń.
Wykonuje weryfikację dowodu.
Walidatorzy widzą wynik tylko wtedy, gdy przychodzi ważny dowód. Sprawdzają dowód w odniesieniu do kluczy weryfikacyjnych kontraktu, potwierdzają, że zasady obwodu zostały przestrzegane i zakotwiczają wynik przez warstwę weryfikacji dowodu Midnight.
Ale jeśli świadek nigdy nie pasuje do obwodu, dowód nigdy się nie formuje.
A jeśli dowód nigdy się nie uformuje, sieć nigdy nie zobaczy próby.
Transakcja umiera podczas lokalnego wykonania.
Łańcuch nigdy nie zauważa.
Co tworzy dziwną kategorię niepowodzeń unikalnych dla tej architektury. Aplikacja wie, że akcja została podjęta. Użytkownik wie, że ją wywołał. Gdzieś wewnątrz prywatnego przepływu roboczego wystąpił błąd, może podczas generowania świadka, może podczas konstrukcji dowodu.
Ale blockchain rejestruje tylko udane zobowiązania dowodowe.
Wszystko inne znika w fazie pre-chain.
Eksplorator milczy.
Możesz prawie poczuć, jak system chroni swoje granice. Midnight jest zaprojektowane tak, aby łańcuch weryfikował wyniki, a nie wewnętrzne obliczenia. To umożliwia weryfikowalne prywatne obliczenia bez ujawniania wrażliwych danych wejściowych lub danych pośrednich.
Ciężka praca odbywa się prywatnie.
Łańcuch po prostu weryfikuje dowody.
Ale ta sama granica prywatności oznacza, że łańcuch nie może obserwować każdego niepowodzenia. Niektóre awarie występują zanim transakcja osiągnie konsensus, wewnątrz ukrytych warstw pipeline'u wykonawczego Midnight.
Pre-chain niepowodzenie.
Z perspektywy sieci akcja nigdy nie istniała.
I to pozostawia ciche pytanie wiszące nad systemem.
Jeśli transakcja Midnight załamuje się podczas lokalnego wykonania, przed generowaniem dowodu, przed weryfikacją, zanim sieć w ogóle wie, że została podjęta, gdzie właściwie żyje zapis tego niepowodzenia?
#Night $NIGHT @MidnightNetwork #night $LYN




