PODSTAWY
Czym jest blok i jak z niego powstaje blockchain
Blockchain to nie magia ani jakaś baza danych z przyszłości. To łańcuch paczek, gdzie każda niesie odcisk palca tej poprzedniej. Spróbuj to rozbić — zobaczysz dokładnie, dlaczego to trzyma.
Blockchain jest tłumaczony okropnie, bo tłumaczy się go słowami typu „rozproszona, niezmienna księga". To technicznie prawda, ale nikomu nic nie mówi. Spróbujmy inaczej: to notes, do którego wolno ci tylko dodawać strony — a każda nowa strona niesie odcisk palca tej poprzedniej. Jeśli ktoś przepisze stronę piątą, odciski palców na wszystkich kolejnych stronach przestają się zgadzać. To cały trik.
Blok to strona w tym notesie
Blok to paczka transakcji, które sieć przetworzyła mniej więcej w tym samym momencie. Oprócz samych transakcji niesie kilka dodatkowych elementów: znacznik czasu, numer porządkowy, nonceLiczba, która sama w sobie nic nie znaczy. Istnieje tylko po to, żeby można nią kręcić, aż hash bloku będzie wyglądał tak, jak wymaga tego sieć. i, co najważniejsze, odcisk palca poprzedniego bloku. To właśnie ten ostatni element zmienia stos bloków w łańcuch.
Ten odcisk palca nazywa się hash. To wynik funkcji matematycznej, która zamienia dane wejściowe dowolnej długości w ciąg znaków o stałej długości. Ma trzy właściwości, które razem tworzą cały model bezpieczeństwa:
- Te same dane wejściowe zawsze dają ten sam wynik. Każdy może go przeliczyć i sam sprawdzić.
- Zmiana jednego znaku miesza cały hash. Nie trochę — całkowicie. Nie da się powiedzieć, jak blisko byłeś.
- Nie działa wstecz. Z hasha nie da się obliczyć oryginalnych danych — można tylko zgadywać dane wejściowe, aż któreś przypadkiem pasuje.
Spróbuj to rozbić
Oto mały łańcuch z trzech bloków. Każdy trzyma hash poprzedniego. Przepisz dane w pierwszym bloku i zobacz, co się stanie z resztą:
— Odcisk palca tego bloku — — Odcisk palca tego bloku — — Odcisk palca tego bloku — Wykop wszystkie trzy bloki po kolei, a potem spróbuj przepisać dane w pierwszym.
Gdy wszystkie trzy świecą na zielono, zmień jedną cyfrę w pierwszym bloku. Drugi i trzeci blok natychmiast robią się czerwone — ich zapisany „poprzedni odcisk palca" przestaje pasować do tego, co faktycznie wychodzi. Nie da się przepisać historii bez przepisania wszystkiego, co po niej następuje.
Po co to głupie polowanie na zera?
Przycisk „Kop" nie robi nic mądrego. Zwiększa nonce o jeden, przelicza hash, sprawdza, czy zaczyna się od zer, a jeśli nie, jedzie dalej. Milion razy, miliard razy. Ale właśnie ten bezsens trzyma całą sieć w kupie: znalezienie właściwego nonce kosztuje energię i czas, ale każdy może to zweryfikować w mikrosekundę.
Ktoś, kto chciałby przepisać starą transakcję, musiałby wykopać na nowo jej blok i każdy kolejny blok — szybciej, niż reszta świata buduje łańcuch dalej. W dużych sieciach nie jest to zabronione, po prostu absurdalnie drogie. A bycie ekonomicznie bez sensu to bezpieczniejsza gwarancja niż bycie zakazanym.
Dlaczego mówi się „zdecentralizowany"
Żaden pojedynczy serwer nie trzyma tego notesu. Trzyma go tysiące niezależnych komputerów, każdy z pełną kopią, każdy sam weryfikuje każdy nowy blok. Gdy któryś zacznie kłamać, jego hashe po prostu przestają się zgadzać dla wszystkich innych, i jego wersja zostaje odrzucona. Nikt nie musi nikomu ufać — weryfikacja jest matematyczna, nie instytucjonalna.
I to prowadzi do tego, co interesuje nas najbardziej: każda transakcja jest publiczna. Nie ma przy niej nazwisk, ale są adresy — a adres, który wielokrotnie stawia duże pieniądze na konkretne rynki, to trop, który można śledzić. Właśnie stąd biorą się tipy PolyTips.
Nie każdy łańcuch kopie tak samo
Kopanie zerami (proof of workPrawo do dodania bloku dostaje ten, kto udowodni, że wykonał pracę — znalazł nonce spełniające warunek docelowy. Bezpieczne, ale energochłonne.) to tylko jedna opcja, historycznie pierwsza. Ethereum i Polygon działają dziś oba na proof of stakeWalidator jest wybierany do zaproponowania bloku na podstawie tego, ile własnych monet zablokował w sieci. Jeśli spróbuje oszukać, traci stawkę., gdzie ludzie ręczą własnymi pieniędzmi zamiast energią. Zasada łańcucha, hashe i niezmienność zostają dokładnie takie same — zmienia się tylko sposób wybierania, kto pisze następną stronę.
Co z tego wynika
- Blok = paczka transakcji + odcisk palca poprzedniego bloku. To właśnie ten odcisk zmienia bloki w łańcuch.
- Zmiana jednego znaku miesza cały hash. Dlatego historii nie da się po cichu edytować.
- Kopanie to siłowe polowanie na nonce — drogie, żeby znaleźć, tanie, żeby sprawdzić.
- Każdy node trzyma kopię notesu. Kto kłamie, tego wersję odrzucają wszyscy inni.
- Wszystko jest publiczne. Adres dużego gracza to trop, który łatwo śledzić.
Zostaje ostatni element układanki: co dzieje się z twoją transakcją między momentem, w którym ją podpisujesz, a momentem, w którym trafia do jednego z tych bloków.