#robo $ROBO
Kiedy Robot Skończył — Ale Sieć Miała Ostateczne Słowo
Robotyczna ramię już zakończyło podnoszenie, zanim Fabric zatwierdził Dowód Pracy Robotów. Mechanicznie wszystko poszło dokładnie zgodnie z oczekiwaniami. Chwytak zamknął się w odpowiednim momencie, moment obrotowy chwilowo wzrósł, a obiekt ustabilizował się na miejscu. Lokalne koło kontrolne oznaczyło zadanie jako zakończone. Z perspektywy robota, praca była wykonana.
Fabric widział coś innego.
Odznaka zadania wciąż była oznaczona jako tymczasowa, ponieważ pakiet dowodowy czekał w kolejce weryfikacyjnej. Głębokość kolejki wynosiła siedem, a moje zgłoszenie zajmowało szóstą pozycję. Hash zadania był widoczny, ale zdarzenie rozliczeniowe nie zostało jeszcze wydane. Bez rozliczenia, działanie nie miało kotwicy w księdze rachunkowej.
Tymczasem ramię już umieściło obiekt w strefie ograniczonej.
Mój konsola pokazała zakończenie, ale Fabric wciąż wyświetlał oczekiwanie. Ta sama identyfikacja zadania, dwa różne zegary mierzące to samo zdarzenie. Jeden zegar należał do maszyny, a drugi do sieci. Ta mała luka stworzyła prawdziwy problem z koordynacją.
Następnie kolejka się przesunęła. Dwa zgłoszenia wskoczyły przed moje z powodu różnych wag priorytetowych i wcześniejszych okien partii. Robot już działał, ale warstwa weryfikacji wciąż doganiała.
Ten moment wymusił zmianę w logice.
Dla ograniczonych działań, agent musi teraz czekać na pieczęć. Jeśli odznaka weryfikacyjna nie jest zielona, system blokuje ruch. Żadnych skrótów.
Podczas następnego uruchomienia, ramię osiągnęło ograniczoną granicę i na chwilę się zatrzymało. W trakcie tej pauzy, Fabric sfinalizował dowód, a odznaka stała się zielona. Dopiero wtedy ramię się ruszyło.
Lekcja była prosta: w robotyce koordynowanej przez sieć, sam ruch nie definiuje zakończenia.
Rozliczenie to robi.
@Fabric Foundation $ROBO

