b-money je návrh digitálních peněz, který Wei Dai představil v roce 1998. Popisuje dva způsoby společného vedení zůstatků a řešení smluv mezi lidmi vystupujícími pod digitálními pseudonymy. Nebyla to spuštěná měna ani starší verze bitcoinového programu. Bitcoin whitepaper jej později uvedl jako první bibliografický odkaz.
Představte si, že si Anna objedná od Petra grafiku přes internet. Znají jen své přezdívky. Chtějí zaplatit a dohodnout se, co nastane, pokud někdo slib nesplní, aniž by museli nejprve odhalit svou totožnost bance nebo jiné autoritě. Takový problém zajímal komunitu Cypherpunks, která zkoumala ochranu soukromí pomocí kryptografie. Wei Dai na něj v roce 1998 odpověděl návrhem b-money. Digitální pseudonym zde nebyl jen libovolnou přezdívkou: představoval jej veřejný klíč — údaj, který nemusí být tajný a podle kterého ostatní ověří podpis zprávy. Utajení skutečné identity ovšem záviselo také na předpokládané anonymní komunikaci. [1] [2]
V našem příkladu má Anna zůstatek 10 jednotek a chce Petrovi poslat 3. Zveřejnila by zprávu o převodu a digitálně ji podepsala. Nejde o obrázek podpisu: program jej vypočítá ze zprávy a soukromého klíče, tedy údaje, který Anna drží v tajnosti. Ostatní pak pomocí veřejného klíče ověří, že pokyn podepsal držitel odpovídajícího soukromého klíče. Správci účtů by zkontrolovali podpis i dostatek peněz, Anně odečetli 3 a Petrovi je připsali; Anně by zůstalo 7. Není to posílání souboru s mincí, ale změna záznamů o zůstatcích. Podstatná otázka přichází vzápětí: jak zajistit, aby se všechny kopie shodovaly, i kdyby Anna rozeslala vzájemně neslučitelné pokyny? Samotný podpis takovou shodu nezařídí. [1] [5]
První protokol, tedy navržený soubor pravidel, nechává databázi zůstatků vést každého účastníka. Aby všichni mohli provádět stejné změny, počítá s anonymním, synchronním a nezablokovatelným vysílacím kanálem. Jinými slovy potřebuje, aby se zprávy dostávaly ke všem v potřebném časovém souladu, jejich šíření nešlo zastavit a neodhalily odesílatele. To je mnohem silnější předpoklad než běžné internetové spojení, kde se zprávy zpožďují nebo ztrácejí. Dai proto tuto první variantu sám označil za nepraktickou. Použil ji jako výchozí myšlenku pro druhou, ne jako hotovou síť připravenou k provozu. [1] [2]
Zůstatky musejí někde začít. Dai navrhl, aby kdokoli mohl zveřejnit řešení nové výpočetně náročné úlohy a získat za ně peněžní jednotky. Ostatní by museli snadno posoudit vynaloženou práci; řešení nemělo mít další praktickou či intelektuální hodnotu. Množství nových peněz se mělo odvodit od nákladů výpočtu vyjádřených standardním košem komodit, tedy dohodnutým souborem zboží pro porovnání nákladů. Připomíná to Proof of Work, důkaz provedené výpočetní práce, ale ještě nejde o bitcoinovou těžbu bloků. Blok je balík transakcí, který se přidává ke společné historii plateb. Návrh navíc potřeboval společný odhad nákladů, přestože různí lidé mají odlišně výkonné a drahé počítače. [1] [2] [5]
Ve druhém protokolu už nemusí celé účetnictví udržovat každý. Převzala by ho část účastníků označená jako servery. Anna a Petr by si zpracování platby ověřovali u náhodně vybrané části těchto serverů. Protože to přináší určitou důvěru ve správce, každý server měl složit peněžní jistotu, ze které by mohl být za prokázané pochybení postižen. Servery měly také pravidelně zveřejňovat stav účtů a tvorby peněz. Uživatelé by kontrolovali vlastní zůstatek a to, zda součet všech zůstatků nepřevyšuje vytvořené peníze. Je to konkrétní návrh kontroly správců, nikoli totéž co dnešní bitcoinové uzly a těžaři. [1]
Peníze byly jen jednou částí b-money. U zakázky Anny a Petra by smlouva stanovila podmínky i maximální náhradu při jejich porušení. Strany a případný rozhodce, člověk posuzující spor, by smlouvu podepsali a vložili stanovené částky na zvláštní účet. Po dohodnutém ukončení by se peníze rozdělily podle výsledku. Návrh šel i dál: pokud by spor nevyřešil ani rozhodce, účastníci by zveřejnili argumenty a každý správce účtů by sám posoudil náhrady či pokuty. To ukazuje hranici návrhu. Podpis může potvrdit souhlas se smlouvou, ale sám nerozhodne, zda byla grafika opravdu dodána, ani nezaručí shodný úsudek všech správců. [1] [2]
Dai si uvědomoval, že společně určit skutečné náklady výpočtu je problematické. Technologie se mění a někteří účastníci mohou mít výhodu, o které ostatní nevědí. V dodatku A proto navrhl alternativu použitelnou v obou protokolech. Správci účtů by nejprve plánovali množství nových jednotek. Zájemci by pak nabídli, jakou výpočetní úlohu vyřeší za požadované množství peněz, provedli výpočet a zveřejnili řešení. Následovala by emise podle přijatých nabídek. Tyto čtyři fáze — plánování, nabídky, výpočet a emise — měly nahradit pouhý odhad nákladů. Nejde o předem daný limit 21 milionů ani o Halving, pravidelné půlení množství nových bitcoinů připadajících na jeden blok. [1] [3]
V prosinci 1998 rozebíral návrh Adam Back. Upozorňoval mimo jiné na rozdílné náklady výpočtu a na to, že platby mezi stálými pseudonymy lze vzájemně spojovat. Skryté občanské jméno tedy samo nezajišťuje nepropojitelné platby. Původní text obsahuje kontroly serverů, takže by nebylo přesné tvrdit, že se jejich nepoctivostí vůbec nezabýval. Nepředložil však úplný prakticky ověřený postup, který by za různých poruch a sporů udržel všechny databáze ve shodě. Rozdíl mezi návrhem a fungujícím systémem spočívá právě i v takových situacích. Dochovanou debatu je proto užitečné číst spolu se samotným návrhem. [1] [3] [7]
Dne 22. srpna 2008 napsal Satoshi Nakamoto Wei Daiovi, že jej na b-money upozornil Adam Back, a požádal o rok vydání pro citaci. Dai odpověděl, že návrh zveřejnil v roce 1998. Bitcoin whitepaper pak b-money zařadil na první místo seznamu zdrojů. V dalším e-mailu z 10. ledna 2009 Satoshi oznámil vydání Bitcoin v0.1 a vyjádřil názor, že naplňuje téměř všechny cíle b-money. To jsou doložené kontakty a uznání předchozí myšlenky. Neříkají však, že Wei Dai napsal Bitcoin, že oba návrhy fungují stejně nebo kolik jednotlivých technických řešení bylo přímo převzato. [4] [5] [6]
b-money je důležitá zastávka v historii myšlenek, ne měna, kterou si dnes podle tohoto návrhu pořídíte do peněženky. Nebylo implementováno jako zde popsaný provozní systém. Nemělo bitcoinový řetězec bloků ani jeho pravidlo volby platného řetězce s největší nahromaděnou prací. Přineslo však srozumitelnou otázku: jak propojit digitální podpisy, tvorbu peněz a společné účetnictví, aniž by vše spravovala jediná banka? Bitcoin později spojil vlastní odpovědi do fungující sítě. Číst b-money má smysl právě proto, že odděluje nápad na digitální peníze od těžšího úkolu: udržet společný a ověřitelný stav mezi lidmi, kteří si nemusejí důvěřovat. [1] [4] [5]
Pro nejúplnější obraz čtěte toto heslo společně s Wei Dai, Cypherpunkeři, Reusable Proofs of Work, Proof of Work, Hashcash, Bit Gold. Opačným směrem na něj odkazují také Cypherpunkeři, Bit Gold, Wei Dai, The Genesis Book.