105 / 736B¥

b-money

Projekt cyfrowego pieniądza sprzed Bitcoina

Jak mają sobie zapłacić dwie osoby, które znają tylko swoje internetowe pseudonimy i nie chcą korzystać z banku? Wei Dai rozważał to już w 1998 roku. Jego b-money pozostało projektem, ale pomaga zrozumieć trudność Bitcoina: podpisanie płatności nie wystarcza, trzeba jeszcze uzgodnić, do kogo należą pieniądze.

b-money to projekt cyfrowego pieniądza przedstawiony przez Wei Dai w 1998 roku. Opisuje dwa sposoby wspólnego prowadzenia sald i rozliczania umów między osobami używającymi cyfrowych pseudonimów. Nie był działającą walutą ani wcześniejszą wersją programu Bitcoin. Bitcoin whitepaper umieścił go później jako pierwszą pozycję bibliografii.

Wyobraź sobie, że Anna zamawia u Piotra grafikę przez internet. Znają tylko swoje pseudonimy. Chcą zapłacić i ustalić, co się stanie, gdy ktoś nie dotrzyma obietnicy, bez wcześniejszego ujawniania tożsamości bankowi lub innej instytucji. Takie zagadnienia interesowały Cypherpunks, środowisko badające ochronę prywatności za pomocą kryptografii. Wei Dai odpowiedział projektem b-money w 1998 roku. Cyfrowy pseudonim nie oznaczał tu tylko wymyślonej nazwy: był kluczem publicznym, czyli daną, której nie trzeba ukrywać i która pozwala innym sprawdzić podpis wiadomości. Ukrycie prawdziwej tożsamości zależało także od zakładanej anonimowej komunikacji. [1] [2]

W naszym przykładzie Anna ma 10 jednostek i chce wysłać Piotrowi 3. Opublikowałaby wiadomość o przelewie i podpisała ją cyfrowo. Nie jest to obraz odręcznego podpisu: program oblicza go na podstawie wiadomości i klucza prywatnego, czyli danych, które Anna zachowuje w tajemnicy. Za pomocą klucza publicznego inni mogą sprawdzić, czy polecenie podpisał posiadacz odpowiadającego mu klucza prywatnego. Prowadzący rachunki sprawdziliby podpis i dostępne środki, odjęli Annie 3 i dopisali Piotrowi; Annie zostałoby 7. Nie wędruje plik z monetą, lecz zmieniają się zapisy sald. Zaraz pojawia się najważniejsze pytanie: jak zachować zgodność wszystkich kopii, jeśli Anna roześle sprzeczne polecenia? Sam podpis nie zapewnia takiej zgodności. [1] [5]

Pierwszy protokół, czyli proponowany zestaw reguł, pozostawia bazę sald u każdego uczestnika. Aby wszyscy wykonywali te same zmiany, zakłada anonimowy, synchroniczny i niemożliwy do zablokowania kanał rozsyłania wiadomości. Innymi słowy, wiadomości muszą docierać do wszystkich z odpowiednią koordynacją czasową, ich rozpowszechniania nie da się zatrzymać i nie ujawniają nadawcy. To znacznie silniejsze założenie niż zwykłe połączenie internetowe, w którym wiadomości spóźniają się lub giną. Dlatego sam Dai uznał pierwszy wariant za niepraktyczny. Był punktem wyjścia do drugiego, a nie gotową siecią. [1] [2]

Salda muszą mieć początek. Dai zaproponował, by każdy mógł opublikować rozwiązanie nowego, wymagającego obliczeń problemu i otrzymać jednostki pieniężne. Inni musieliby łatwo ocenić włożoną pracę, a rozwiązanie nie powinno mieć dodatkowej wartości praktycznej ani intelektualnej. Ilość pieniędzy zależałaby od kosztu obliczeń wyrażonego standardowym koszykiem towarów, czyli uzgodnionym zestawem dóbr do porównywania kosztów. Przypomina to Proof of Work, dowód wykonanej pracy obliczeniowej, lecz nie jest jeszcze kopaniem bloków Bitcoina. Blok to paczka transakcji dodawana do wspólnej historii płatności. Wymaga też wspólnej wyceny mimo komputerów o różnych możliwościach i kosztach. [1] [2] [5]

W drugim protokole nie każdy musi przechowywać całą księgę. Zadanie przejęłaby część uczestników, nazywana serwerami. Anna i Piotr sprawdzaliby obsługę płatności u losowo wybranej części tych serwerów. Ponieważ oznacza to pewne zaufanie do zarządców, każdy serwer miał wpłacić pieniężne zabezpieczenie, z którego można by karać udowodnione nadużycia. Serwery miały też regularnie publikować stan rachunków i tworzenia pieniądza. Użytkownicy sprawdzaliby swoje salda oraz to, czy suma wszystkich sald nie przekracza utworzonych pieniędzy. To konkretne kontrole zarządców, a nie układ identyczny z dzisiejszymi węzłami i górnikami Bitcoina. [1]

Pieniądz był tylko częścią b-money. W zleceniu Anny i Piotra umowa określałaby warunki oraz maksymalne odszkodowania za naruszenie. Strony i ewentualny arbiter, osoba oceniająca spór, podpisaliby umowę i złożyli określone kwoty na specjalnym rachunku. Po uzgodnionym zakończeniu pieniądze rozdzielono by według wyniku. Projekt szedł dalej: gdyby nawet arbitraż nie rozstrzygnął sporu, strony publikowałyby argumenty, a każdy prowadzący rachunki sam oceniał odszkodowania lub kary. Tu widać granicę: podpis potwierdza zgodę, ale nie rozstrzyga, czy grafika rzeczywiście została dostarczona, ani nie gwarantuje jednakowej oceny wszystkich zarządców. [1] [2]

Dai dostrzegał trudność wspólnego ustalania rzeczywistych kosztów obliczeń. Technologia się zmienia, a niektórzy mogą mieć przewagi nieznane innym. W dodatku A zaproponował więc alternatywę dla obu protokołów. Prowadzący rachunki najpierw planowaliby liczbę nowych jednostek. Chętni oferowaliby następnie rozwiązanie określonego problemu za żądaną ilość pieniędzy, wykonywaliby obliczenia i publikowaliby rozwiązania. Potem następowałaby emisja według przyjętych ofert. Cztery fazy — planowanie, oferty, obliczenia i emisja — miały zastąpić samą wycenę kosztów. Nie jest to z góry ustalony limit 21 milionów bitcoinów ani Halving, okresowe zmniejszenie o połowę liczby nowych bitcoinów tworzonych w bloku. [1] [3]

Adam Back analizował projekt w grudniu 1998 roku. Wskazywał między innymi na różne koszty obliczeń i możliwość łączenia płatności wykonywanych pod stałymi pseudonimami. Ukrycie nazwiska nie czyni więc płatności automatycznie niemożliwymi do powiązania. Oryginał zawiera kontrole serwerów, zatem twierdzenie, że całkowicie pomijał nieuczciwość, byłoby błędne. Nie przedstawiał jednak kompletnej, praktycznie sprawdzonej metody utrzymywania zgodności wszystkich baz przy różnych awariach i sporach. Takie sytuacje współtworzą różnicę między propozycją a działającym systemem. Dlatego zachowaną debatę warto czytać razem z projektem. [1] [3] [7]

22 sierpnia 2008 roku Satoshi Nakamoto napisał do Wei Dai, że Adam Back wskazał mu b-money, i zapytał o rok publikacji do przypisu. Dai odpowiedział, że ogłosił projekt w 1998 roku. Bitcoin whitepaper umieścił potem b-money na początku bibliografii. W kolejnym e-mailu, z 10 stycznia 2009 roku, Satoshi poinformował o Bitcoin v0.1 i wyraził opinię, że realizuje on niemal wszystkie cele b-money. To udokumentowany kontakt i uznanie wcześniejszej idei. Nie dowodzi, że Wei Dai napisał Bitcoin, że oba projekty działają tak samo ani ile konkretnych rozwiązań przejęto bezpośrednio. [4] [5] [6]

b-money jest ważnym etapem historii idei, a nie walutą, którą według tego projektu można dziś umieścić w portfelu. Nie wdrożono go jako opisanego tu działającego systemu płatności. Nie miał bitcoinowego łańcucha bloków ani reguły wyboru poprawnego łańcucha z największą zgromadzoną pracą. Stawiał jednak jasne pytanie: jak połączyć podpisy cyfrowe, tworzenie pieniądza i wspólną księgowość bez jednego banku zarządzającego całością? Bitcoin połączył później własne odpowiedzi w działającą sieć. Lektura b-money oddziela pomysł cyfrowych pieniędzy od trudniejszego zadania utrzymywania wspólnego, sprawdzalnego stanu wśród ludzi, którzy nie muszą sobie ufać. [1] [4] [5]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Wei Dai, Cypherpunks, Reusable Proofs of Work, Proof of Work, Hashcash, Bit Gold. Do tego hasła prowadzą również odsyłacze z Cypherpunks, Bit Gold, Wei Dai, The Genesis Book.

DOC · 001Wei Dai — b-money original proposalŹródło pierwotne DOC · 002Satoshi Nakamoto Institute — b-money archiveDokumentacja DOC · 003Cypherpunks Mailing List — b-money discussion threadDokumentacja DOC · 004Gwern archive — Wei Dai and Satoshi Nakamoto emailsDokumentacja DOC · 005Bitcoin whitepaperŹródło pierwotne DOC · 006Metzdowd Cryptography — archived 2008 draft correspondenceDokumentacja DOC · 007Cryptoanarchy Wiki — Cypherpunks mailing-list archive repositoryDokumentacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna