Satoshi, w skrócie sat, to jedna stumilionowa bitcoina: 1 sat = 0,00000001 BTC. Jest najmniejszą jednostką wartości zapisywaną w transakcjach warstwy bazowej Bitcoina. Nie jest inną kryptowalutą. Tę samą kwotę można podać w BTC lub całych satoshi, podobnie jak długość w metrach albo centymetrach.
Anna ma zapłacić 25000 sat, ale jej portfel pokazuje 0,00025 BTC. To nie inne pieniądze ani lepszy kurs, tylko dwa zapisy tej samej kwoty. Obowiązuje 1 BTC = 100000000 sat, a zatem również 0,001 BTC = 100000 sat. Przy mniejszych codziennych kwotach sats bywają czytelniejsze niż ciąg zer po przecinku. Kurs bitcoina wobec złotego czy dolara może się zmieniać; przelicznik między BTC a sat pozostaje stały. [1] [2]
Kiedy Anna wybiera sats w ustawieniach, jej bitcoiny nie są nigdzie przesyłane i nie powstają nowe monety. Zmieniają się tylko liczba i jednostka na ekranie. sat to skrót jednostki, a sats jest powszechnie używaną formą liczby mnogiej. Nazwa nawiązuje do twórcy Bitcoina, znanego jako Satoshi Nakamoto. Nie oznacza osobnego aktywa, które trzeba kupić oddzielnie. Mniejsza jednostka ułatwia opisywanie drobnych kwot. Nie gwarantuje stałej siły nabywczej ani zysku. [2]
Załóżmy, że portfel Anny wykorzystuje wcześniejszy wpływ 50000 sat. Wysyła 25000 sat odbiorcy, zwraca Annie 24000 sat, a 1000 sat zostawia jako opłatę dla górnika, który umieści transakcję w bloku. Rachunek się zgadza: 50000 = 25000 + 24000 + 1000. Anna wydała więc na płatność 26000 sat, a nie cały wykorzystany wpływ. To przykład, nie typowa ani zalecana opłata. Przed zatwierdzeniem sprawdź oddzielnie kwotę odbiorcy i opłatę. [8]
Obok opłaty portfel może wyświetlać Fee Rate, czyli stawkę w sat/vB. Jest to liczba satoshi za wirtualny bajt, jednostkę rozmiaru transakcji stosowaną przy opłatach. Rozmiar 100 vB przy stawce 10 sat/vB daje opłatę 1000 sat. Stawka nie jest procentem przesyłanej kwoty. Dwie płatności o tej samej wartości mogą mieć różny rozmiar, na przykład gdy jedna łączy więcej wcześniejszych wpływów. Sprawdź wynik w końcowym podsumowaniu portfela. [7] [8]
Liczba bez jednostki nie wystarczy. Wpisanie 25000 w pole dla sats oznacza coś zupełnie innego niż wpisanie jej w pole dla BTC. Po zeskanowaniu kodu QR płatności sprawdź adres, sieć, kwotę i opłatę przed podpisaniem. Podpis jest cyfrową zgodą na wydanie środków: portfel tworzy go za pomocą klucza prywatnego, tajnej wartości pozwalającej kontrolować bitcoiny. Zgodnie ze specyfikacją linków płatniczych BIP 321 parametr amount w linku płatniczym używa dziesiętnego zapisu BTC z kropką: amount=0.00025 oznacza 25000 sat. Tak jest również wtedy, gdy portfel wyświetla sats lub lokalny przecinek dziesiętny. Nie trzeba ręcznie poprawiać linku; ważny jest prawidłowy wynik na ekranie potwierdzenia. [3]
W sieci nie ma małych plików reprezentujących pojedyncze satoshi. Są wyjścia transakcji zawierające kwotę i warunki jej wydania. Wyjście jeszcze niewydane nazywa się UTXO. Portfel może mieć kilka takich wpływów i zsumować ich wartości w jedno saldo. Przy płatności wydaje wybrane wyjścia w całości i tworzy nowe dla odbiorcy oraz ewentualnej reszty. Satoshi jest jednostką, w której liczy się te wartości, a nie osobnym przedmiotem w portfelu. [2]
Dokładność kwoty i praktyczna wielkość płatności to różne rzeczy. Wyjście może zawierać 1 sat. Węzły, czyli komputery sprawdzające i przekazujące transakcje, mogą jednak odmówić rozgłoszenia transakcji tworzącej zbyt małe wyjście. Dust dotyczy zasad rozgłaszania transakcji przez węzeł i szacowanych kosztów późniejszego wydania. Próg zależy również od typu wyjścia i ustawień tych zasad. Nie jest to ogólna reguła narzucająca wszystkim poprawnym płatnościom tę samą kwotę minimalną. Nawet małe wyjście już zapisane w bloku może kosztować więcej przy wydaniu, niż jest warte. [7]
Lightning Network wykorzystuje kanały płatnicze, w których uczestnicy aktualizują podział środków wniesionych do kanału. Dzięki temu nie trzeba zapisywać każdej płatności oddzielnie w bloku Bitcoina. W obliczeniach wewnętrznych używa także millisatoshi, w skrócie msat: 1 sat = 1000 msat. Przydaje się to na przykład do dokładniejszego naliczania opłat. Nie oznacza powstania w warstwie bazowej wyjścia z ułamkiem satoshi. Przy zamykaniu kanałów reguły Lightning przeliczają wartości na całe satoshi i pomijają niektóre zbyt małe wyjścia. Dokładniejsza ewidencja wewnętrzna i końcowe rozliczenie to różne rzeczy. [6] [5]
Podział jednego BTC na sto milionów części nie zwiększa ilości bitcoinów, tak jak zamiana metrów na centymetry nie wydłuża stołu. Nowe bitcoiny powstają zgodnie z zasadami subwencji blokowej, czyli nowej emisji związanej z blokiem. Podczas Halvingu subwencja jest dzielona na pół w całych satoshi; ułamki są odrzucane, aż w odległej przyszłości wynik wyniesie zero. Techniczna stała MAX_MONEY służy jako granica kontroli kwot. Sama nie oznacza, że dokładnie 21 milionów BTC zostanie wyemitowanych i będzie dostępnych do wydania. Utracone klucze oraz niektóre niewykorzystane lub niemożliwe do wydania nagrody dodatkowo ograniczają dostępność. [1] [8]
Bitcoin Core używa do kwot typu CAmount, czyli 64-bitowej liczby całkowitej, i stałej COIN o wartości 100000000. Kwota 0,00025 BTC jest więc wewnętrznie traktowana jako liczba całkowita 25000. Pomaga to unikać niedokładności zwykłych binarnych obliczeń zmiennoprzecinkowych, nazywanych floating point. Dla użytkownika wynika z tego prosta zasada: sprawdzać jednostkę i dokładną kwotę. Tworząc kalkulator lub przetwarzając płatności w programie, używaj całych satoshi albo dokładnej arytmetyki dziesiętnej, zamiast później zaokrąglać przybliżony wynik. [1]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Bitcoin, 21 Million, Unit of Account, Lightning Network, UTXO, Transaction Fees. Do tego hasła prowadzą również odsyłacze z Bitcoin Pizza Day, Chaumian eCash, Blind Signature, OP_CHECKTEMPLATEVERIFY.