Bitcoin – kryptowaluta wprowadzona w 2009 roku przez osobę (bądź grupę osób) o pseudonimie Satoshi Nakamoto. Nazwa odnosi się także do używającego jej otwartoźródłowego oprogramowania oraz sieci peer-to-peer, którą formuje. Bitmonety mogą zostać zapisane na komputerze osobistym w formie pliku portfela lub przetrzymywane w prowadzonym przez osoby trzecie zewnętrznym serwisie zajmującym się przechowywaniem takich portfeli. W każdym z tych przypadków bitcoiny mogą zostać przesłane do innej osoby przez Internet do dowolnego posiadacza adresu bitcoin. Każdy bitcoin dzieli się na 100 000 000 mniejszych jednostek, zwanych satoshi.

Odmiennie niż w przypadku większości walut (tzw. fiducjarnych lub inaczej fiat), bitcoin nie opiera się na zaufaniu względem emitenta centralnego. Bitcoin używa zdecentralizowanej bazy danych, rozprowadzonej pomiędzy węzłami sieci peer-to-peer do przechowywania transakcji oraz kryptografii w celu zapewnienia podstawowych funkcji bezpieczeństwa, takich jak upewnienie się, że bitcoiny mogą być wydane tylko raz przez osobę, która je posiada w danym momencie.

Topologia peer-to-peer sieci bitcoin oraz brak administracji centralnej czynią manipulację wartości bitmonet poprzez produkcję większej ich ilości niewykonalną dla jakiejkolwiek instytucji rządowej czy innej organizacji lub jednostki, nadal możliwa jest jednak bańka spekulacyjna. Budowa bitcoina pozwala na anonimowe posiadanie własności oraz jej transfery.

Bitcoin jest jedną z pierwszych implementacji konceptu zwanego kryptowalutą, pierwszy raz opisanego w 1998 r. przez Wei Daia na liście mailingowej cypherpunków.

Bitcoin opiera się na transferze kwot między rachunkami publicznymi, przy użyciu kryptografii klucza publicznego. Wszystkie transakcje są publiczne i przechowywane w rozproszonej bazie danych. W celu zapobieżenia podwójnemu wydawaniu sieć implementuje rodzaj rozproszonego serwera czasowego, używając koncepcji łańcuchowych dowodów matematycznych wykonanych działań (proof of work, w skrócie PoW). Dlatego też cała historia transakcji musi być przechowywana w bazie, a w celu ograniczenia rozmiaru magazynu używane jest drzewo funkcji skrótu.