Hal Finney był programistą i cypherpunkiem, czyli zwolennikiem ochrony prywatności za pomocą kryptografii. Pracował nad PGP, stworzył eksperyment RPOW i pomagał testować wczesnego Bitcoina. Otrzymał od Satoshiego testowy przelew 10 BTC.
Wyobraź sobie list, którego pośrednicy nie mogą przeczytać po drodze. W internecie pomaga w tym szyfrowanie: wiadomość zostaje przekształcona tak, aby dało się ją odczytać tylko z odpowiednim kluczem. Takie praktyczne możliwości interesowały Hala Finneya na długo przed Bitcoinem. We wspomnieniach z 2013 roku opisał współpracę z Philem Zimmermannem przy PGP, programie chroniącym komunikację. Prowadził też anonimowy remailer, usługę przekazującą wiadomości w sposób pomagający ukryć nadawcę. Należał do cypherpunków, którzy chcieli wspierać prywatność użytecznym oprogramowaniem. Stąd naturalne pytanie: czy podobnie można chronić cyfrowe płatności? [1]
15 sierpnia 2004 roku Finney przedstawił RPOW, czyli Reusable Proof of Work. Podstawą był Hashcash: komputer szuka wyniku wymagającego pracy obliczeniowej, który inni mogą łatwo sprawdzić. Taki dowód może na przykład podnieść koszt masowego wysyłania spamu. Serwer Finneya przyjmował te dowody i wydawał w zamian tokeny podpisane za pomocą RSA, metody kryptograficznej pozwalającej zweryfikować podpis wystawcy. Token można rozumieć jako cyfrowe potwierdzenie wykonanej pracy, a nie fizyczną monetę. Nie był to BTC, a system nie korzystał z bitcoinowych zasad uzgadniania historii płatności. Był to inny eksperyment, który rzeczywiście uruchomiono. [2]
Możesz wysłać zwykły plik Annie i zachować kopię. W przypadku pieniędzy to właśnie problem: odbiorca nie może bezpiecznie przyjąć wartości, jeśli poprzedni właściciel nadal może ją wydać. RPOW opierało się na kolejnych wymianach. Przedstawiony token był używany raz, a serwer wydawał nowy o tej samej wartości; starego nie powinien przyjąć ponownie. Gdy Anna przekazywała wartość dalej, następowała kolejna wymiana. Wielokrotnie przenoszona była więc wartość reprezentowana przez dowód pracy, nie prawo do jednoczesnego wydawania tego samego tokena w wielu miejscach. Właśnie tę sekwencję oznaczało słowo „reusable”. [2]
Pozostawało pytanie, czy operator może potajemnie wyemitować dodatkowe tokeny. RPOW wykorzystywało kartę bezpieczeństwa IBM 4758. Potrafiła ona podpisać informację wskazującą uruchomiony program; nazywa się to zdalną atestacją. Użytkownik mógł porównać potwierdzoną wersję programu z opublikowanym kodem źródłowym. Celem było ograniczenie konieczności polegania na słowie operatora. Zaufanie jednak nie znikało: projekt zakładał poprawne działanie sprzętu i weryfikację jego pochodzenia, w tym rolę IBM. Operator mógł też odłączyć serwer. Weryfikowalny serwer nie był zatem zdecentralizowanym blockchainem, którego historię sprawdza sieć uczestników. Archiwum podaje obecnie, że projekt zakończono. [3] [5]
Gdy Satoshi udostępnił pierwsze oprogramowanie Bitcoina, Finney je wypróbował. We wspomnieniach z 2013 roku opisał otrzymanie od Satoshiego 10 BTC jako transakcję testową. Nie był to zakup ani nagroda za blok: sprawdzano, czy jeden uczestnik może przekazać istniejące monety drugiemu. Dla początkujących to ważna różnica. Wydobycie pomaga zapisywać płatności we wspólnej historii i wiąże się z nagrodą za blok; zwykła transakcja zmienia natomiast osobę uprawnioną do późniejszego wydania konkretnych środków. Finney nie był więc wyłącznie czytelnikiem propozycji. Był po drugiej stronie działającego testu. [1]
Finney nie opisywał pierwszych dni jako gotowego, bezbłędnego produktu. Korespondował z Satoshim, zgłaszał błędy, a Satoshi je poprawiał. Tak wygląda ważna część rozwoju oprogramowania: ktoś uruchamia program w rzeczywistych warunkach, opisuje problem i pomaga sprawdzić poprawkę. We wspomnieniu znalazł się także codzienny szczegół: w końcu wyłączył wydobycie, bo komputer się nagrzewał, a wentylator mu przeszkadzał. Dzięki temu początki Bitcoina przypominają mniej legendę napisaną z góry, a bardziej program stopniowo poznawany przez ludzi. Tester wnosi pracę i wiedzę; nie otrzymuje przez to trwałego prawa do decydowania za wszystkich użytkowników. [1]
17 marca 2013 roku Finney przedstawił kolejny eksperyment: bcflick, zainspirowany pomysłami Mike’a Hearna. Pytanie było proste: czy można uniemożliwić złośliwemu programowi jednorazowe opróżnienie portfela? Projekt wykorzystywał Flicker do krótkiego uruchamiania chronionego kodu oraz TPM, układ bezpieczeństwa komputera, do ochrony poufnych danych. Podpisywanie transakcji miało przechodzić przez moduł pilnujący dziennego limitu. Limit ograniczałby napastnika, ale nie zapobiegał automatycznie każdej kradzieży. Eksperyment wymagał zgodnego sprzętu i bezpiecznej inicjalizacji; uprawniony użytkownik mógł też przekroczyć limit, pracując w bezpiecznym trybie. To historyczny projekt zabezpieczenia, nie aktualna rekomendacja portfela. [4]
Bitcoin and me, autobiograficzne wspomnienie z 2013 roku, pokazuje także inną część jego życia. Finney opisał, jak ALS stopniowo ograniczał jego ruchy, oraz obsługę komputera za pomocą śledzenia ruchu oczu. Programowanie nadal miało dla niego sens, choć stało się znacznie wolniejsze. Jego historia dotyczy więc również samodzielności i możliwości dalszej pracy. Warto przy tym czytać ją jako osobiste świadectwo: wrażenia Finneya z korespondencji nie ustalają, kto krył się za nazwiskiem Satoshi Nakamoto. Jego własny dorobek nie potrzebuje tej odpowiedzi. Pozostaje udokumentowany w programach, ogłoszeniach i współpracy, które pomagały wprowadzać kryptograficzne pomysły w życie. [1]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Financialization, Adam Back, Reusable Proofs of Work, Satoshi Nakamoto. Do tego hasła prowadzą również odsyłacze z Satoshi Nakamoto, Hashcash, Bit Gold, Reusable Proofs of Work.