[OZNAM] implementace hash poštovného v hotovosti
Datum je 28. března 1997, kdy přibližně 2000 předplatitelů e-mailového seznamu Cypherpunks obdrží e-mailem s výše uvedeným záhlavím v doručené poště. Odesílatelem je 26letý britský postdoktor na University of Exeter, mladý kryptograf a plodný přispěvatel do seznamu adres Dr. Adam Back. E-mail obsahuje popis a včasnou implementaci toho, co popisuje jako „poštovní systém založený na částečné hash kolizi“ – jakýsi ekvivalent razítka pro e-maily, založený na šikovném kryptografickém triku.
“Myšlenka použití částečných hashů je, že jejich výpočet může být libovolně nákladný,” napsal Back a vysvětlil výhody svého systému, “a přesto je lze okamžitě ověřit.”
Tento návrh kryptografa, který by se stal současným Blockstream Generální ředitel na seznamu e-mailů okamžitě nezískal velkou pozornost; jen jeden čtenář odpověděl, s technickým dotazem na vybraný hashovací algoritmus. Technologie, která je základem Hashcash – doklad o práci – bude formovat výzkum digitálních peněz na více než deset let dopředu.
„Ceny prostřednictvím zpracování nebo boje s nevyžádanou poštou“
Back’s Hashcash ve skutečnosti nebyl prvním řešením svého druhu.
Na počátku 90. let se slibný přístup k internetu a zejména výhody elektronického poštovního systému staly zřejmými pro techniky, kteří věnovali pozornost. Dnešní internetoví průkopníci si přesto uvědomili, že e-mail, jak se tento systém elektronické pošty nazýval, představuje své vlastní výzvy.
“Zejména snadné a nízké náklady na odesílání elektronické pošty, a zejména jednoduchost odesílání stejné zprávy mnoha stranám, kromě pozvání ke zneužití,” vysvětlili výzkumníci IBM Dr. Cynthia Dwork a Dr. Moni Naor ve své bílé zprávě z roku 1992 papír nesoucí název „Ceny prostřednictvím zpracování nebo boje proti nevyžádané poště.“
S rostoucí popularitou e-mailů rostl i spam.
Bylo potřeba řešení, souhlasili časní uživatelé internetu – a řešení je to, co nabídly noviny Dwork a Naor.
Duo navrhlo systém, kde by odesílatelé museli připojovat některá data ke každému e-mailu, který pošlou. Tato data by byla řešením matematického problému jedinečného pro daný e-mail. Konkrétně Dwork a Naor navrhli tři kandidátní hádanky, které by mohly být použity pro tento účel, vše založené na kryptografii a podpisových schématech veřejného klíče.
Přidání řešení k e-mailu by nebylo příliš obtížné, v ideálním případě by to vyžadovalo jen pár sekund výpočetního výkonu od běžného počítače, přičemž jeho platnost by příjemce mohl snadno zkontrolovat. Ale a to je ten trik, dokonce i triviální množství výpočetní síly na jeden e-mail se přidává inzerentům, podvodníkům a hackerům, kteří se snaží odeslat tisíce nebo dokonce miliony zpráv najednou. Spamování, taková byla i teorie, by mohlo být nákladné, a proto nerentabilní.
“Hlavní myšlenkou je požadovat, aby uživatel vypočítal středně tvrdou, ale ne nepoddajnou funkci, aby získal přístup ke zdroji, čímž zabrání frivolnímu použití,” vysvětlili Dwork a Naor.
Zatímco Dwork a Naor tento termín nenavrhli, typ řešení, které zavedli, se stal známým jako systém „důkazu o práci“. Uživatelé by museli doslova ukázat, že jejich počítač provedl práci, aby dokázali, že utratili prostředky z reálného světa.
Šikovné řešení, ale možná příliš daleko před svou dobou. Návrh se nikdy nedostal příliš daleko za relativně malý okruh počítačových vědců.
Adam Zpět a Cypherpunks
Přibližně ve stejnou dobu, kdy Dwork a Naor zveřejnili svoji bílou knihu, začala skupina aktivistů v oblasti ochrany soukromí s libertariánským sklonem rozpoznat také obrovský potenciál internetu. Ideologicky poháněný dav se začal organizovat prostřednictvím e-mailového seznamu soustředěného kolem technologií zvyšujících ochranu soukromí. Stejně jako Dwork a Naor i tito „Cypherpunkové“ – jak by se jim začalo říkat – využívali relativně novou vědu kryptografie k práci na dosažení svých cílů.
V průběhu let Adam Back – který získal titul Ph.D. v roce 1996 – se etabloval jako jeden z aktivnějších účastníků na tomto seznamu, občas přispíval desítkami e-mailů za jediný měsíc. Jako většina Cypherpunků byl i kryptograf vášnivý tématům Soukromí, svoboda projevu a libertarianismus, a účastní se příslušných technických diskusí anonymním remailerům, šifrované systémy souborů, elektronická hotovost jak uvedl Dr. David Chaum a další.
Ale na chvíli byl Back možná nejznámější pro tisk a prodej „muničních“ triček: trička s na nich vytištěným šifrovacím protokolem, která měla pomoci poukázat na absurdní rozhodnutí vlády USA regulovat PGP Phila Zimmermanna (Pretty Good Privacy) šifrovací program jako „munice“ v rámci definice vývozních předpisů USA. Nosení trička Back při překročení hranice k opuštění Spojených států z vás technicky udělalo „vývozce munice“.
Stejně jako mnozí, Back byl nebýt si vědom návrhu Dwork a Naorova důkazu o práci. V polovině 90. let však přemýšlel o podobných nápadech, jak čelit spamu, někdy „nahlas“ v seznamu adresátů Cypherpunks..
“Vedlejší výhodou používání PGP je to, že šifrování PGP by mělo spammerovi zvýšit režijní náklady – pravděpodobně dokáže zašifrovat méně zpráv za sekundu, než může zasílat spam na odkaz T3,” Zpět komentoval, například v kontextu přidávání více soukromí remailerům; nápad trochu podobný Dwork a Naor.
Poštovní seznam Cypherpunks se zhruba za půl desetiletí významně rozrostl. To, co začalo jako online diskusní platforma pro skupinu lidí, kteří se původně shromáždili v jednom ze svých startupů v Bay Area, se stalo malým internetovým fenoménem s tisíci předplatitelů – a často více e-mailů za jediný den, než kdokoli mohl rozumně sledovat.
Přibližně v této době – v roce 1997, v blízkosti nejvyšší popularity seznamu – Back předložil svůj návrh Hashcash.
Hashcash
Hashcah je podobný antispamovému návrhu Dworka a Naora a má stejný účel, ačkoli Back navrhl několik dalších případů použití, jako je boj proti zneužití anonymního remaileru. Ale jak název napovídá, Hashcash nebyl založen na kryptografických hádankách jako Dwork a Naor’s; bylo to založeno na hašování.
Hashing je kryptografický trik, který bere všechna data – ať už jde o jedno písmeno nebo celou knihu – a přemění je na zdánlivě náhodné číslo předem určené délky.
Například hash SHA-256 věty Toto je věta vytvoří toto hexadecimální číslo:
Které lze „přeložit“ na běžné desetinné číslo:
Nebo na binární:
Mezitím hash SHA-256 věty Tohle je věta vytvoří toto hexadecimální číslo:
Jak vidíte, pouhé vložení jedné čárky do věty úplně změní hash. A co je důležité, hash obou vět by byl naprosto nepředvídatelný; i poté, co byla první věta hašována, neexistoval způsob, jak z ní vypočítat druhou hash. Jediným způsobem, jak to zjistit, bylo skutečně hashovat obě věty.
Hashcash používá tento matematický trik chytře.
V případě Hashcash jsou metadata e-mailu (adresa „od“, „do“, čas atd.) Formalizována jako protokol. Odesílatel e-mailu musí navíc k těmto metadatům přidat náhodné číslo: „nonce“. Všechna tato metadata, včetně nonce, jsou poté hašována, takže výsledný hash vypadá trochu jako jedno z výše uvedených náhodných čísel.
Tady je trik: ne každý hash je považován za „platný“. Místo toho musí binární verze hash začínat předem stanoveným počtem nul. Například: 20 nul. Odesílatel může vygenerovat hash, který začíná 20 nulami, včetně nonce, který se náhodně sčítá správně … ale odesílatel nemůže předem vědět, jak bude ta nonce vypadat.
Chcete-li vygenerovat platný hash, má odesílatel pouze jednu možnost: pokus a omyl („hrubá síla“). Musí dál zkoušet různé nonce, dokud nenajde platnou kombinaci; jinak bude jeho e-mail zamítnut e-mailovým klientem zamýšleného příjemce. Stejně jako řešení Dwork a Naor vyžaduje i výpočetní prostředky: jedná se o systém proof-of-work.
„[Pokud] nemá 20bitový hash […], máte program, který ho odrazí upozorněním vysvětlujícím požadované poštovné a odkud získat software,“ vysvětlil Back v seznamu adresátů Cypherpunks. “To by spammery vyřadilo z podnikání přes noc, protože 1 000 000 x 20 = 100 MIP let, což bude více výpočetní, než mají.”
Back’s proof-of-system system is more random than Dwork and Naor’s. Řešení dua vyžadovalo vyřešení hádanky, což znamená, že rychlejší počítač to vyřeší pokaždé rychleji než pomalý počítač. Statisticky by však Hashcash stále umožňoval pomalejšímu počítači rychle najít správné řešení rychleji.
(Analogicky, pokud jedna osoba běží rychleji než jiná osoba, první vyhraje pokaždé mezi nimi sprint. Pokud si však jedna osoba koupí více losů než jiná osoba, druhá statisticky stále vyhraje – prostě ne tak často.)
Digitální nedostatek
Stejně jako návrh Dworka a Naora, Hashcash – který by Back zpracoval v bílý papír v roce 2002 – nikdy nevzlétl příliš velkým způsobem. Byl implementován v open-source platformě SpamAssassin společnosti Apache a společnost Microsoft dala nápadu důkazu práce rotaci v nekompatibilním formátu „e-mailového razítka“. A Back, stejně jako další akademici, za ta léta přišli s různými alternativními aplikacemi pro toto řešení, ale většina z nich nikdy nezískala moc trakce. U většiny potenciálních aplikací byl nedostatek jakéhokoli síťového efektu pravděpodobně příliš velký na to, aby se překonal.
Přesto Dwork, Naor a Back (nezávisle) představili něco nového. Tam, kde je jednou z nejsilnějších funkcí digitálních produktů snadnost, s jakou je lze kopírovat, byl důkazem práce v podstatě první koncept podobný virtuálnímu nedostatku, který se nespoléhal na centrální stranu: svázal digitální data se skutečnými svět, omezený zdroj výpočetní síly.
A nedostatek je samozřejmě předpokladem pro peníze. Back ve skutečnosti výslovně zařadil Hashcash do kategorie peněz v rámci svých příspěvků do e-mailové konference Cypherpunks a bílého papíru, což je zrcadlově odrazilo v jediné digitální hotovosti, kterou svět v té době viděl: DigiCash’s Ecash od Chaum.
“Hashcash může poskytnout měřítko pro zastavení mezery, dokud se digicash nebude více používat,” argumentoval Back v seznamu adresátů. “Hashcash je zdarma, vše, co musíte udělat, je spálit některé cykly na vašem PC.” Je to v souladu s čistou kulturou volného diskurzu, kde to mohou finančně postižení zvládnout za stejných podmínek s milionáři, vládními úředníky v důchodu atd. [A] Hashcash nám může poskytnout záložní metodu pro kontrolu [sic] spamu, pokud digicash zkysne (dostane se mimo zákon nebo bude vyžadováno úschovy identit uživatelů). “
Navzdory jménu však Hashcash nemohl správně fungovat jako plnohodnotná hotovost sám o sobě (ani Dworkův a Naorův návrh). Snad nejdůležitější je, že jakýkoli „obdržený“ doklad o práci je pro příjemce k ničemu. Na rozdíl od peněz nemohly být znovu použity jinde. Navíc, protože počítače každý rok rostly rychlostí, mohly v průběhu času vyprodukovat stále více důkazů s nižšími náklady: Hashcash by byl vystaven (hyper) inflaci.
Co více než cokoli jiného nabídl důkaz práce, byl nový základ pro výzkum v oblasti digitálních peněz. Několik nejpozoruhodnějších návrhů digitálních peněz, které následovaly, stavělo na Hashcash, obvykle tím, že umožňovalo opětovné použití důkazů o práci. (Jako nejzřejmější příklad je Hal Finney’s Reusable Proof of Work – RPOW.)
Bitcoin
Nakonec se samozřejmě důkaz práce stal základním kamenem bitcoinů, přičemž Hashcash jako jedna z mála citací v bílé knize o bitcoinech.
V bitcoinu je však Hashcash (nebo spíše jeho verze) využíván velmi odlišně, než by si mnozí předem mysleli. Na rozdíl od Hashcash a dalších návrhů založených na Hashcash se nedostatek, který poskytuje, sám o sobě vůbec nepoužívá jako peníze. Místo toho Hashcash umožňuje závod. Kterýkoli horník, který jako první předloží platný doklad o práci – hash bloku bitcoinů – se rozhodne, které transakce projdou. Alespoň teoreticky může kdokoli soutěžit stejně: podobně jako v loterii by i malí horníci statisticky byli první, kdo by tak často předával platný doklad o práci.
Dále, jakmile se vytěží nový blok, který potvrzuje sadu transakcí, je nepravděpodobné, že by tyto transakce byly zrušeny. Útočník by musel nejprve prokázat přinejmenším tolik práce, kolik je zapotřebí k nalezení bloku, sčítáním za každý další nalezený blok, který se za normálních okolností postupem času stává exponenciálně těžším. Zdroje v reálném světě, které je třeba vynaložit, aby bylo možné podvádět, obvykle převažují nad potenciálním ziskem, kterého lze podváděním dosáhnout, což dává příjemcům bitcoinových transakcí jistotu, že tyto transakce jsou konečné.
Takto v bitcoinu zabil Hashcash dva ptáky jedním kamenem. Vyřešilo to problém dvojitých výdajů decentralizovaným způsobem a zároveň poskytuje trik, jak dostat nové mince do oběhu bez centralizovaného emitenta.
Hashcash neuvedl první elektronický hotovostní systém – Ecash si tuto korunu bere a důkaz o práci nemohl ve skutečnosti fungovat jako peníze. Ale a decentralizovaný elektronický hotovostní systém by bez něj mohl být nemožný.
Toto je druhý díl série Bitcoin Magazine série Genesis Files. První článek se zabýval eCashem Dr. Davida Chauma