4. Dowód pracy

Aby wdrożyć rozproszony serwer znaczników czasu na zasadzie peer-to-peer, będziemy musieli użyć systemu potwierdzającego pracę podobnego do Hashcash Adama Backa[6], a nie postów w gazetach lub Usenecie.

Dowód pracy polega na skanowaniu wartości, która po zaszyfrowaniu, na przykład w przypadku SHA-256, skrót zaczyna się od pewnej liczby bitów zerowych. Średnia wymagana praca jest wykładnicza pod względem liczby wymaganych bitów zerowych i można ją zweryfikować, wykonując pojedynczy skrót.

W naszej sieci znaczników czasu implementujemy dowód pracy, zwiększając wartość jednorazową w bloku, aż zostanie znaleziona wartość, która zapewni haszowi bloku wymagane bity zerowe.

Po włożeniu wysiłku procesora w celu spełnienia wymagań dowodu pracy, bloku nie można zmienić bez ponownego wykonania pracy. Ponieważ późniejsze bloki są po nim połączone, praca nad zmianą bloku będzie obejmować ponowne wykonanie wszystkich bloków znajdujących się po nim.

Dowód pracy rozwiązuje również problem określenia reprezentacji w procesie decyzyjnym większości. Gdyby większość opierała się na zasadzie „jeden adres IP – jeden głos”, mogłaby zostać obalona przez każdego, kto jest w stanie przydzielić wiele adresów IP.

Dowód pracy to zasadniczo jeden procesor - jeden głos. Decyzja większości jest reprezentowana przez najdłuższy łańcuch, w który włożono najwięcej wysiłku w zakresie dowodu pracy.

Jeśli większość mocy procesora jest kontrolowana przez uczciwe węzły, uczciwy łańcuch będzie rósł najszybciej i wyprzedzi wszelkie konkurencyjne łańcuchy

Aby zmodyfikować poprzedni blok, atakujący musiałby ponownie przeprowadzić dowód działania bloku i wszystkich bloków po nim, a następnie dogonić i przewyższyć pracę uczciwych węzłów.

Pokażemy później, że prawdopodobieństwo, że wolniejszy atakujący dogoni przeciwnika, maleje wykładniczo w miarę dodawania kolejnych bloków.

Aby zrekompensować rosnącą prędkość sprzętu i zmieniające się z biegiem czasu zainteresowanie uruchamianiem węzłów, trudność dowodu pracy jest określana na podstawie średniej ruchomej określającej średnią liczbę bloków na godzinę. Jeśli są generowane zbyt szybko, trudność wzrasta.

#BinanceSquare

#BTC

#BitcoinWorld

#uniswap

#ftx