Haszysz
Co to jest hash?
Hash to funkcja, która konwertuje wprowadzone litery i cyfry na zaszyfrowane dane wyjściowe o stałej długości. Hash jest tworzony za pomocą algorytmu i jest niezbędny do zarządzania łańcuchem bloków w kryptowalutach.
Kluczowe wnioski
- Hash to funkcja, która spełnia zaszyfrowane wymagania potrzebne do rozwiązania dla obliczenia łańcucha blokowego.
- Hash, podobnie jak nonce lub rozwiązanie, jest kręgosłupem sieci blockchain.
- Hashe mają stałą długość, ponieważ prawie niemożliwe jest odgadnięcie długości hasha, jeśli ktoś próbował złamać łańcuch bloków.
- Skrót jest tworzony na podstawie informacji zawartych w nagłówku bloku.
Jak działa skrót
Podstawą kryptowaluty jest łańcuch bloków, który jest globalną księgą utworzoną przez połączenie poszczególnych bloków danych transakcyjnych. Blockchain zawiera tylko sprawdzone transakcje, co zapobiega oszukańczym transakcjom i podwójnemu wydatkowaniu waluty. Wynikowa zaszyfrowana wartość to seria cyfr i liter, które nie przypominają oryginalnych danych i nazywana jest skrótem. Wydobywanie kryptowalut wymaga pracy z tym hashem.
Haszowanie wymaga przetworzenia danych z bloku za pomocą funkcji matematycznej, co daje wynik o ustalonej długości. Korzystanie z danych wyjściowych o stałej długości zwiększa bezpieczeństwo, ponieważ każdy, kto próbuje odszyfrować skrót, nie będzie w stanie stwierdzić, jak długie lub krótkie jest wejście, po prostu patrząc na długość danych wyjściowych.
Rozwiązywanie hasha zaczyna się od danych dostępnych w nagłówku bloku i zasadniczo rozwiązuje złożony problem matematyczny. Każdy nagłówek bloku zawiera numer wersji, sygnaturę czasową, skrót użyty w poprzednim bloku, hash z Merkle Root, nonce i docelowy hash.
Górnik skupia się na nonce, ciągu liczb. Numer ten jest dodawany do zaszyfrowanej zawartości poprzedniego bloku, który jest następnie szyfrowany. Jeśli ten nowy hash jest mniejszy lub równy docelowemu hashowi, jest akceptowany jako rozwiązanie, górnik otrzymuje nagrodę, a blok jest dodawany do łańcucha bloków.
Proces walidacji transakcji blockchain opiera się na szyfrowaniu danych za pomocą algorytmicznego haszowania.
Rozwiązanie hasha wymaga od górnika określenia, który ciąg ma być użyty jako wartość jednorazowa, co samo w sobie wymaga znacznej ilości prób i błędów. Dzieje się tak, ponieważ liczba jednorazowa jest losowym ciągiem. Jest bardzo mało prawdopodobne, aby górnik z powodzeniem wymyślił prawidłową liczbę jednorazową przy pierwszej próbie, co oznacza, że może potencjalnie przetestować dużą liczbę opcji jednorazowych, zanim zrobi to dobrze. Im większa trudność – miara tego, jak trudne jest utworzenie skrótu spełniającego wymagania docelowego skrótu – tym dłużej prawdopodobnie zajmie wygenerowanie rozwiązania.
Przykład skrótu
Hashowanie słowa „cześć” da wynik o tej samej długości, co skrót „Idę do sklepu”. Funkcja używana do generowania skrótu jest deterministyczna, co oznacza, że będzie generować ten sam wynik za każdym razem, gdy używane są te same dane wejściowe. Potrafi efektywnie generować haszowane dane wejściowe; utrudnia również określenie danych wejściowych (co prowadzi do wydobycia), a także wprowadza niewielkie zmiany w danych wejściowych w wyniku nierozpoznawalnego, całkowicie innego skrótu.
Przetwarzanie funkcji skrótu potrzebnych do szyfrowania nowych bloków wymaga znacznej mocy obliczeniowej komputera, co może być kosztowne. Aby zachęcić osoby i firmy, zwane górnikami, do inwestowania w wymaganą technologię, sieci kryptowalut nagradzają je zarówno nowymi tokenami kryptowalut, jak i opłatą transakcyjną. Górnicy otrzymują rekompensatę tylko wtedy, gdy jako pierwsi utworzą hash, który spełnia wymagania określone w docelowym hashu.