Zasada działania Pieczęć hashcash stanowi dowód pracy procesora jaka musiała zostać wykonana do jej wygenerowania. Ilość koniecznej pracy po stronie nadawcy może być parametryzowana, natomiast po stronie odbiorcy można zweryfikować pieczęć błyskawicznie. Opiera się to na funkcji której wykonanie odbywa się szybko a znalezienie danych wejściowych dla zadanego wyjścia może trwać bardzo długo. Takimi funkcjami są funkcje skrótu (nazywanymi funkcjami haszującymi) które przyporządkowują ciągowi danych o dowolnej długości liczbę o stałej długości. Dla tej liczby w zależności od wyboru funkcji haszującej może być bardzo trudne znalezienie jakiegokolwiek ciągu z przeciwobrazu, to znaczy takiego dla którego skrótem będzie żądana liczba. Jako funkcji skrótu używana jest SHA-1 dająca w wyniku 160-bitową liczbę. Udowodnienie pracy hashcash jest znalezieniem ciągu z przeciwobrazu dla częściowo danej liczby, to znaczy ciągu którego skrót miałby wyzerowaną zadaną ilość najstarszych bitów (należy zaznaczyć, że w SHA-1 stosowana jest konwencja big endian). Przez wybranie ilości bitów które są równe 0, praca wymagana do znalezienia ciągu może być dowolnie droga – od ułamków sekund do minut i godzin.
Źródło i licencja
Fragment artykułu Wikipedia — Hashcash · historia autorów.
Tekst: CC BY-SA 4.0. Wydzielono fragment z dłuższego artykułu.