Bitcoin to otwarty system przesyłania wartości pieniężnej bez obowiązkowego centralnego administratora. Ta sama nazwa oznacza protokół, sieć uczestników i jej jednostkę pieniężną; symbolem jednostki jest BTC, a jeden BTC dzieli się na 100 000 000 satoshi. Aby zrozumieć Bitcoin, warto prześledzić płatność: kto może dysponować wartością, jak przekazuje to uprawnienie odbiorcy i jak inni sprawdzają jej włączenie do wspólnej historii.
Saldo bankowe przedstawia zobowiązanie banku wobec klienta. Przy samodzielnym przechowywaniu bitcoina mamy środki pozwalające spełnić warunki wydania określonych zapisów w sieci. Protokół zapisuje kwoty i warunki, nie urzędowe nazwiska właścicieli. Portfel zestawia te zapisy w wyświetlane saldo; monety nie są plikami w telefonie. Saldo u powiernika lub na giełdzie oznacza coś innego: zwykle roszczenie wobec usługi kontrolującej klucze. Techniczna zdolność podpisania płatności sama nie rozstrzyga o własności prawnej. [Bitcoin Developer Guide — Transactions] [Bitcoin.org — Securing your wallet]
Odbiorca podaje adres utworzony przez portfel. Wskazuje on, jak utworzyć wyjście o określonych warunkach wydania; nie jest skrzynką na monety ani tajnym hasłem. Zwykle następne wydanie autoryzuje podpis cyfrowy utworzony kluczem prywatnym; sprawdzenie podpisu nie wymaga ujawnienia klucza. Warunki mogą też wymagać wielu podpisów lub czekania. Znajomość adresu nie wystarcza do wydawania. Kto zdobędzie potrzebne sekrety, może jednak utworzyć prawidłowe wydanie; sieć nie odróżnia kradzieży klucza od zgody jego posiadacza. [Bitcoin Developer Guide — Transactions]
Niewydane wyjście poprzedniej transakcji nazywa się UTXO. Zwykła transakcja wskazuje wybrane UTXO swoimi wejściami, zużywa je w całości i tworzy nowe wyjścia. Z odpowiedniego wyjścia 100 000 sat nadawca może przeznaczyć 60 000 sat dla odbiorcy i odzyskać 39 000 sat pod własną kontrolę. Pozostałe 1 000 sat to opłata, nie zalecana stawka. Pierwotnego wyjścia nie można ponownie wydać w tej samej historii. Adres reszty nie musi być pierwotnym adresem. Przed podpisaniem sprawdza się odbiorcę, kwotę i opłatę. [Bitcoin Developer Guide — Transactions]
Portfel przygotowuje i podpisuje płatność; Full Node sprawdza dane według reguł konsensusu. Kontroluje między innymi istnienie niewydanych wejść, spełnienie warunków wydania i to, że zwykła transakcja nie tworzy dodatkowej wartości. Prawidłową niepotwierdzoną transakcję może przyjąć do lokalnej poczekalni Mempool i przekazać sąsiadom. Każdy węzeł ma własną poczekalnię i zasady przekazywania; odmowa przekazania nie zawsze oznacza nieprawidłowość w bloku. Portfel może używać własnego węzła lub obcego serwera dostarczającego informacji. Nawet własny węzeł nie zabezpieczy skradzionego klucza podpisującego. [Bitcoin Developer Guide — Transactions] [Bitcoin Developer Guide — Operating Modes]
Uprawniony posiadacz klucza może podpisać dwie różne transakcje wydające to samo UTXO. Oba podpisy mogą być poprawne, a uczestnicy mogą najpierw zobaczyć różne płatności. Oprócz uprawnienia potrzebujemy więc wspólnej kolejności. Podwójne wydanie nie jest kopiowaniem pliku z monetą, lecz próbą przeforsowania dwóch sprzecznych zastosowań tego samego wyjścia. Najwyżej jedno może należeć do jednej prawidłowej historii. Sam czas odbioru wiadomości, liczba połączonych węzłów lub twierdzenie portfela nie rozstrzygają tego konfliktu globalnie. [Bitcoin: A Peer-to-Peer Electronic Cash System]
Górnicy zestawiają kandydatów na bloki i wielokrotnie obliczają hashe, szukając Proof of Work spełniającego cel trudności. Blok wskazuje poprzedni blok; zmiana starszej historii wymaga ponownego wykonania następującej po niej pracy. Węzeł najpierw sprawdza reguły, a spośród prawidłowych gałęzi wybiera tę o największej skumulowanej pracy, niekoniecznie największej liczbie bloków. Wydobycie pomaga ustalić kolejność, nie uprawnia do wydawania cudzych wyjść. Nawet większość mocy obliczeniowej nie zmusi niezmienionego węzła do przyjęcia nieprawidłowego bloku; może jednak zakłócać kolejność i dostępność potwierdzeń. [Bitcoin Developer Guide — Block Chain]
Włączenie transakcji do przyjętego bloku daje pierwsze potwierdzenie. Kolejne bloki zwykle zwiększają koszt zastąpienia tej historii. Odstępy bloków nie są rozkładem jazdy: dziesięć minut to cel długookresowy, nie obiecany czas płatności. Reorganizacja może usunąć wcześniej przyjęty blok, cofnąć transakcję do niepotwierdzonych lub zastąpić ją sprzecznym wydaniem. Wymagana liczba potwierdzeń zależy więc od wartości i ryzyka płatności; nie zapewnia absolutnej pewności. Protokół nie ma administratora anulującego płatności. Dobrowolny zwrot jest nową płatnością, której opłatę trzeba ponownie uwzględnić. [Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]
Pierwsza transakcja bloku, Coinbase Transaction, może przydzielić górnikowi dotację blokową i opłaty zawartych transakcji. Tylko dotacja tworzy nowe jednostki; opłaty przenoszą istniejącą wartość. Maksymalna dotacja zaczęła się od 50 BTC i zmniejsza się o połowę co 210 000 bloków. Ten Halving nie dotyczy opłat. Zaokrąglanie do całych satoshi utrzymuje sumę dozwolonych dotacji poniżej 21 milionów BTC. Węzły odrzucają zawyżone nagrody. Utracone klucze nie zwiększają przyszłej emisji, a ograniczona liczba jednostek sama nie określa siły nabywczej. [Bitcoin Developer Guide — Block Chain]
Kod źródłowy można badać, a zmiany proponować publicznie. Programista wydaje oprogramowanie, operator węzła wybiera sprawdzane reguły, a górnik treść kandydata na blok. Żadna rola nie decyduje sama za wszystkich; niezgodne zmiany mogą podzielić sieć. Wpływ ekonomiczny uczestników pozostaje nierówny. Ograniczona przestrzeń bloków ogranicza wymagania weryfikacji i przesyłania danych, ale przy dużym popycie powoduje konkurencję o miejsce. Opłata wiąże się więc z rozmiarem transakcji i popytem na włączenie, nie po prostu z przesyłaną kwotą. [Bitcoin Developer Guide — Block Chain] [Bitcoin Developer Guide — Transactions]
Publiczna historia umożliwia weryfikację, ale także łączenie płatności z tożsamością, na przykład przez dane giełdy. Pseudonimowość nie jest anonimowością. Samodzielne przechowywanie usuwa konieczność proszenia powiernika o podpis, lecz przenosi na posiadacza odpowiedzialność za kopie zapasowe, bezpieczeństwo urządzenia i kontrolę odbiorcy. Kopia musi odtworzyć potrzebne klucze i konfigurację; samo odtworzenie portfela nie uczyni ujawnionego sekretu znowu tajnym. Własny węzeł pomaga sprawdzać historię, lecz nie gwarantuje ceny, prywatności ani bezpiecznego podpisu. Samodzielna weryfikacja wymaga wiedzy, którą z tych kwestii właśnie sprawdzamy. [Bitcoin.org — Protect your privacy] [Bitcoin.org — Securing your wallet]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, Limit 21 milionów. Do tego hasła prowadzą również odsyłacze z Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.