Zastanawiałem się nad blockchainem, który wykorzystuje technologię dowodów zerowej wiedzy, aby oferować użyteczność bez kompromisowania ochrony danych lub własności.

Nie w błyskotliwy sposób „następnej wielkiej rzeczy”, o którym ludzie zwykle mówią o blockchainie. Szczerze mówiąc, ten rodzaj rozmowy zaczyna brzmieć dla mnie pustawo. Mam na myśli coś cichszego niż to. Coś cięższego.

Dziwna rzecz z infrastrukturą polega na tym, że im ważniejsza się staje, tym mniej widoczna jest. Nikt nie budzi się rano myśląc o warstwach rozliczeniowych czy systemach dowodów kryptograficznych. Po prostu oczekują, że rzeczy będą działać. Pieniądze się poruszają. Dane pozostają tam, gdzie ich miejsce. Systemy odpowiadają, gdy są wzywane.

Jeśli ludzie zbyt mocno zauważają twoją infrastrukturę, prawdopodobnie coś jest nie tak.

Zdałem sobie z tego sprawę kilka lat temu podczas małego kryzysu, który nadal mi towarzyszy. Było około trzeciej nad ranem. Jeden z naszych systemów zaplecza zatrzymał się, a transakcje zaczęły się gromadzić jak samochody utknęły na drodze Jhang w godzinach szczytu. Logi wszędzie. Alarmy włączone. Tego rodzaju bałagan, gdzie wszyscy nagle mówią bardzo ostrożnie, ponieważ nikt nie chce przyznać, co może być zepsute.

Okazało się, że problem był czymś, co wprowadziliśmy kilka tygodni wcześniej. Sprytna warstwa pamięci podręcznej. W tamtym czasie wyglądała na mądrą. Zmniejszała obciążenie weryfikacji i sprawiała, że system wydawał się szybszy.

Ale w momencie, gdy zdarzyło się coś nieoczekiwanego, ta pamięć podręczna stała się trucizną. Rekordy przestały się zgadzać. Ścieżki weryfikacji stały się chaotyczne. Spędziliśmy godziny na ich rozplątywaniu.

Stojąc tam półprzytomny, wpatrując się w logi o 3 nad ranem, pamiętam, że myślałem o bardzo prostej rzeczy, że sprytne systemy są niebezpiecznymi systemami.

Po tamtej nocy zacząłem rozwijać dla siebie bardzo upartą zasadę. Jeśli kawałek infrastruktury chroni pieniądze lub prywatne dane, to sprytność jest obciążeniem. Nudne systemy przetrwają dłużej.

Ta zasada kształtowała prawie każdą decyzję, jaką podejmuję, myśląc o infrastrukturze zero wiedzy.

Dowody zerowej wiedzy są fascynujące, ponieważ pozwalają systemowi potwierdzić coś bez ujawniania ukrytych informacji. Transakcja może być ważna bez ujawniania sald. Integralność danych można udowodnić, nie ujawniając samych danych.

Ale ta moc wiąże się z odpowiedzialnością. Właściwie odpowiedzialność może być niewłaściwym słowem. To bardziej przypomina ciężar.

Kiedy projektujesz systemy, które przechowują wrażliwe dane lub przenoszą prawdziwą wartość finansową, zaczynasz inaczej postrzegać diagramy architektoniczne. Każda strzałka między komponentami staje się potencjalnym wyciekiem. Każde upoważnienie staje się drzwiami, które ktoś może pewnego dnia otworzyć.

Więc proces projektowania się zmienia. Zaczynasz zadawać niewygodne pytania.

Dlaczego w ogóle zbieramy te dane.

Czy naprawdę potrzebujemy tego upoważnienia.

Co się stanie, jeśli ktoś nadużyje tej funkcji za pięć lat.

Czasami poprawną odpowiedzią jest po prostu nie budować tej funkcji.

Ludzie w kryptowalutach bez końca mówią o decentralizacji, jakby była jakimś rodzajem ideologicznego testu czystości. Ta rozmowa nudzi mnie. Decentralizacja to nie slogan. To narzędzie inżynieryjne.

Usuwa pojedyncze punkty awarii. Zapobiega, by jeden administrator przypadkowo zniszczył wszystko. Chroni użytkowników przed nagłymi zmianami kontroli.

Zobacz, co się dzieje, gdy duże scentralizowane giełdy upadają. Fundusze znikają z dnia na dzień. Zaufanie natychmiast znika. Te awarie nie były tajemniczymi wypadkami technicznymi. To były błędy strukturalne.

Jeśli odpowiedzialność jest skoncentrowana w jednym miejscu, w końcu coś się psuje.

Rozdzielenie odpowiedzialności pomiędzy systemami i zespołami tworzy tarcia. Rzeczy poruszają się trochę wolniej. Koordynacja staje się trudniejsza. Ale trwałość wzrasta.

A trwałość jest ważniejsza niż prędkość.

Ta idea kształtuje również wewnętrzną kulturę wokół systemów, które lubię budować. Musi być pokora w pomieszczeniu. Inżynierowie muszą czuć się komfortowo, mówiąc: „Mogę się mylić.” Ponieważ złożone systemy szybko karają arogancję.

Dokumentacja staje się w dziwny sposób święta. Nie ta korporacyjna, napisana dla zgodności. Prawdziwa dokumentacja. Tego rodzaju, napisana o północy, wyjaśniająca, dlaczego podjęto dziwną decyzję architektoniczną, ponieważ wiesz, że pięć lat później ktoś inny będzie patrzył na ten sam kod i zastanawiał się, co cię skłoniło.

Czasami ten przyszły inżynier nawet nie został jeszcze zatrudniony.

Planowanie awaryjne staje się rutyną. Nie dramatyczne scenariusze katastroficzne, ale małe praktyczne. Co się dzieje, jeśli węzeł przestaje odpowiadać. Co się dzieje, jeśli weryfikacja nie powiedzie się w połowie przetwarzania partii. Co się dzieje, jeśli ktoś przypadkowo wdroży uszkodzony kontrakt.

Celem nigdy nie jest doskonałość. Doskonałość to fantazja. Celem jest przetrwanie.

Preferuję również asynchroniczną współpracę w tego rodzaju pracy. Ludzie myślą, że ciągłe spotkania oznaczają postęp, ale rzadko widziałem, żeby tak się działo. Starannie napisane dyskusje zmuszają ludzi do jasnego myślenia. Argumenty są zapisywane. Kompromisy są wyjaśniane. Decyzje stają się możliwe do śledzenia.

I co ciekawe, spowalnia to myślenie w dobry sposób.

Wolne myślenie produkuje silniejsze systemy.

To może brzmieć staromodnie w branży obsesyjnie skupionej na prędkości. Ale infrastruktura nie może być budowana tak, jak ludzie budują kampanie marketingowe. Infrastruktura żyje dłużej. Czasami o dekady dłużej.

Systemy zerowej wiedzy czynią to jeszcze bardziej oczywistym, ponieważ prywatność nie jest tylko funkcją w tych środowiskach. Staje się etyczną granicą, której odmawiasz przekroczenia.

Tylko dlatego, że system może zbierać dane, nie oznacza, że powinien. Tylko dlatego, że upoważnienie może istnieć, nie oznacza, że musi.

Powściągliwość jest jednym z najpotężniejszych narzędzi projektowych, jakimi dysponują inżynierowie, chociaż prawie nikt o tym nie mówi.

Często myślę, że prawdziwa wartość technologii zero wiedzy jest filozoficzna, a nie techniczna. Przypomina nam, że weryfikacja nie wymaga ujawnienia. Że zaufanie nie wymaga nadzoru.

I że systemy mogą udowodnić integralność, nie żądając wszystkiego od swoich użytkowników.

Infrastruktura, na której można polegać, rośnie powoli. Formuje się poprzez setki małych wyborów, które nakładają się na siebie. Żaden z tych wyborów nie wygląda dramatycznie samodzielnie. Ale razem tworzą coś stabilnego.

Tutaj usunięto upoważnienie.

Krok weryfikacyjny dodany tam.

Skrót odrzucony, ponieważ wprowadza niejednoznaczność.

Z biegiem czasu te ciche decyzje kumulują się w coś, na czym ludzie polegają, nie myśląc o tym.

Co jest dokładnie tym, jak dobra infrastruktura powinna się zachowywać.

Nie goni za uwagą.

Nie krzyczy o sobie.

Po prostu nadal działa.

Rok po roku.

I w końcu zaufanie pojawia się nie dlatego, że ktokolwiek je zadeklarował, ale ponieważ system cicho na nie zasłużył.

@MidnightNetwork #night $NIGHT

NIGHT
NIGHT
0.03686
-1.04%