109 / 736RPOW

Reusable Proofs of Work

RPOW: Finneyho pokus předávat dál doklad o výpočetní práci

Počítač odvede práci a vytvoří digitální žeton. Jak ho pak předat dalšímu člověku, aniž si odesílatel ponechá stejně platnou kopii? Hal Finney v roce 2004 předvedl funkční odpověď: starý žeton se při převodu zneplatní a nahradí novým. RPOW byl důležitý experiment na cestě k digitálním penězům, ale stále potřeboval zvláštní server a důvěru v jeho technické zabezpečení.

Reusable Proofs of Work, zkráceně RPOW, byl experimentální systém Hala Finneyho, který měnil důkazy výpočetní práce Hashcash na dále předávatelné digitální tokeny. Každý token šlo u určeného serveru, tedy služby vyřizující požadavky uživatelů, vyměnit jen jednou; příjemce však získal novou náhradu se stejnou výpočetní hodnotou. Správnost výměn měla chránit karta IBM 4758 a ověření běžícího programu na dálku. Nešlo o decentralizovanou síť ani o bitcoin.

Dne 15. srpna 2004 pozval Hal Finney účastníky e-mailové diskuse o kryptografii do svého nového experimentu. Navazoval na Hashcash od Adama Backa: počítač zkouší různé vstupy, dokud nenajde výsledek splňující stanovenou podmínku. Hledání stojí výpočetní čas, kontrola hotového výsledku je rychlá. Takovému dokladu říkáme Proof of Work, důkaz práce. U ochrany e-mailu před spamem může fungovat jako výpočetní poštovní známka. Finneyho zajímalo, zda by doklad mohl putovat mezi lidmi, místo aby jeho užitečnost skončila po jednom použití. Název RPOW znamená právě znovu použitelné důkazy práce. [1] [2] [4]

Představte si, že Anna má platný digitální žeton a pošle ho Petrovi. Pokud mu předala jen soubor, mohla si nechat kopii. Petr proto žeton předloží serveru RPOW a požádá o výměnu. Server ověří, že žeton ještě nebyl použit, označí jej za spotřebovaný a podepíše nový, připravený Petrovým programem. Annina kopie toho starého už při další výměně neprojde. Petr může nový žeton později poslat Evě a ta postup zopakuje. Znovu se tedy používá přenášená hodnota, nikoli stále tentýž platný soubor. Dokud příjemce výměnu úspěšně nedokončí, musí počítat s tím, že odesílatel může původní žeton utratit dřív. [2] [11]

Vstupem mohl být nově vypočtený Hashcash nebo dosud nepoužitý token RPOW. Výstupem byl nový token s digitálním podpisem RSA, tedy matematicky ověřitelným potvrzením serveru. RSA je způsob výpočtu takového podpisu: k vytvoření slouží tajný podpisový klíč, zatímco ke kontrole stačí odpovídající veřejný klíč. Nejde o obrázek ručního podpisu, ale o ověřitelné číselné údaje. Podpis dovoloval zkontrolovat původ tokenu, sám však neříkal, zda už ho někdo vyměnil. K tomu sloužila evidence použitých vstupů. Při dalších převodech nebylo nutné pokaždé opakovat původní náročné hledání Hashcash; vznikal nový podpis výměnou za zneplatněný starý doklad. Nejde o recyklaci elektřiny ani o možnost zadarmo rozmnožit nárok na dříve odvedenou práci. [2]

Hodnota zde označovala úroveň výpočetní obtížnosti, ne cenu v korunách či dolarech. Historický Hashcash používal funkci SHA-1, která z dat vytvoří krátký číselný otisk, a hledal otisk s předepsaným počtem počátečních nulových bitů. Bit je jedna dvojková číslice. Každý další požadovaný nulový bit přibližně zdvojnásobuje průměrný počet pokusů. Token úrovně 21 tak představoval stejnou očekávanou práci jako dva tokeny úrovně 20 a šel na ně rozdělit. Při spojování či rozdělování se musel zachovat součet této výpočetní hodnoty. Nebyl to ale pevný kurz ani záruka kupní síly; rychlejší počítače dokázaly stejný druh tokenu vytvářet levněji. [2] [10]

Double spend znamená dvojí utracení stejné hodnoty. RPOW proti němu potřeboval seznam již vyměněných dokladů. Důležitý detail je, že celá databáze neležela uvnitř chráněné karty: ukládal ji běžný hostitelský počítač. Karta si držela kontrolní otisk jejího stavu a při dotazech ověřovala kryptografické důkazy. Používala k tomu princip Merkle Tree, stromu otisků, který dovoluje ověřit část dat proti jednomu společnému otisku. Cílem bylo odhalit nejen změnu záznamů, ale i návrat ke staré databázi, v níž právě utracený token ještě chybí. Bez této ochrany by mohl provozovatel jeden vstup proměňovat v nové tokeny opakovaně. [3]

Server prováděl citlivé operace uvnitř IBM 4758, samostatné počítačové karty vložené do běžného počítače. Karta měla chránit podpisové klíče a citlivý stav i před člověkem, který vlastnil okolní stroj. Při zjištěném fyzickém zásahu uměla tajné údaje smazat. Okolní počítač přenášel zprávy a ukládal databázi, ale návrh ho nepovažoval za důvěryhodného. To byla podstata Finneyho řešení: provozovatel neměl dostat možnost libovolně vytvářet nové žetony jen proto, že zapnul server. Platnost této ochrany ovšem závisela na správném hardwaru, programu i ochraně klíčů; nešlo o bezpodmínečný slib neprolomitelnosti. [3] [9]

Samotné zveřejnění zdrojového kódu nestačí. Provozovatel může ukazovat jeden program a spouštět jiný. RPOW proto používal remote attestation, vzdálené potvrzení konfigurace. Karta vydala podepsané údaje o programu, který na ní běžel. Zájemce mohl zveřejněný zdrojový kód sestavit odpovídajícími nástroji a porovnat otisk výsledného obrazu programu s hlášeným otiskem. Neporovnával se tedy jen text zdrojového souboru. Důvěryhodnost podpisů vedla přes certifikáty až ke klíči IBM. Taková kontrola pomáhala ověřit, jaký program server spouští, ale sama nedokazovala, že program neobsahuje chybu, ani že výrobce a jeho certifikační postupy neselžou. [3] [9]

RPOW připomíná eCash výměnou digitálních tokenů, ale původní popsaný provoz nechránil soukromí slepým podepisováním. Finney spoléhal na šifrované spojení až k chráněné kartě a na kontrolovatelný program, který neuchovával vazby mezi vydanými a přijatými tokeny. Hostitelský počítač tak neměl vidět jejich otevřený obsah. Stále však mohl pozorovat síťovou adresu klienta, čas a velikost komunikace. Opětovné předložení téhož tokenu také umožňovalo některé události propojit. Zachovaná dokumentace už popisuje podporu sítě Tor, která vede spojení přes více prostředníků a skrývá před serverem původní síťovou adresu uživatele. Slepé podepisování naopak uvádí jako možné pozdější doplnění. Tuto plánovanou funkci nelze vydávat za součást tehdy popsaného provozu. [8] [10]

Na rozdíl od samotného návrhu na papíře měl RPOW fungující server i dostupný klientský program. Finney ale od začátku upozorňoval, že jde o ranou zkušební verzi: nutná změna serverového programu mohla dříve vydané tokeny zneplatnit. Projekt určoval tokeny pro osobní, experimentální a nekomerční použití, nikoli jako peníze se zaručenou hodnotou. Ani zabezpečená karta nedokázala přinutit provozovatele, aby nechal server zapnutý. Původní projekt je ukončený a zachované stránky i kód slouží jako historický materiál. Popis tehdejšího SHA-1, RSA a hardwaru proto není doporučením, jak dnes stavět platební službu. [1] [4] [5] [7]

Finney chtěl prakticky ukázat část myšlenky Bit Gold od Nicka Szaba: digitální předmět může být nákladné vytvořit a potom ho lze předávat. Dokumentace RPOW počítala také se spoluprací více serverů, takže celý návrh nelze odbýt jako navždy jediný počítač. Konkrétní token ale určoval server, u kterého se měl vyměnit; další stroje samy neodstranily tuto závislost. Bitcoin šel jinou cestou. Nezávislé uzly, tedy počítače s ověřovacím softwarem, kontrolují společná pravidla a veřejnou historii. Těžaři soutěží o přidání dalších platných bloků — balíků transakcí navázaných na předchozí záznam. RPOW tak pomáhá pochopit, co samotný Proof of Work ještě neřeší: je třeba také rozhodnout, jak všichni poznají platné pořadí převodů a komu při tom musejí důvěřovat. [1] [6] [11]

Pro nejúplnější obraz čtěte toto heslo společně s Hal Finney, Adam Back, Hashcash, Nick Szabo, Bit Gold, Proof of Work. Opačným směrem na něj odkazují také b-money, Bit Gold, Hal Finney.

DOC · 001Hal Finney — RPOW overviewPrimární zdroj DOC · 002Hal Finney — RPOW theoryPrimární zdroj DOC · 003Hal Finney — RPOW security modelPrimární zdroj DOC · 004Hal Finney — RPOW launch announcementPrimární zdroj DOC · 005Nakamoto Institute — archived RPOW sourceDokumentace DOC · 006Bitcoin whitepaperPrimární zdroj DOC · 007Hal Finney — What is RPOW?Primární zdroj DOC · 008Hal Finney — RPOW privacy without blindingPrimární zdroj DOC · 009Hal Finney — IBM 4758 securityPrimární zdroj DOC · 010Hal Finney — RPOW frequently asked questionsPrimární zdroj DOC · 011Hal Finney — The RPOW worldPrimární zdroj
Revidováno: Primární zdroje · Nejde o investiční doporučení