Podstawy #5: Jak działają przelewy bitcoinowe?

Przelew czyli transakcja w systemie Bitcoin jest to transfer wartości, który jest ogłaszany wewnątrz sieci i zbierany w blokach. Ze względu na jawność wszystkich operacji, przelewy nie są szyfrowane, ale są podpisywane kluczem szyfrującym dla bezpieczeństwa. 

Można więc wyobrazić sobie portfel jako przeźroczystą skrytkę, której zawartość każdy może zobaczyć ale nie wiadomo do kogo należy i tylko właściciel ma klucz.

Transakcja będzie zawierać trzy informacje:

  1. Skąd my mamy Bitcoiny
  2. Ilość jaka została przesłana
  3. Do jakiego portfela one trafiły.

Tak więc w praktyce, kiedy Alice postanawia zrobić przelew do Boba, wówczas podpisując prywatnym kluczem ogłasza, że ona jako właścicielka Bitcoinów z danego adresu, zatwierdza transfer wybranej przez siebie ilości monet na wskazany adres Boba. Następnie górnicy weryfikują czy wszystkie dane są prawidłowe i umieszczają transakcję w bloku.

To jest więc odpowiedź na pytanie, czemu przelew nie odbywa się natychmiastowo skoro wszystko dzieje się w internecie? Otóż protokół Bitcoina jest tak stworzony, że „wykopanie” bloku zajmuje średnio 10 minut a tylko wtedy przelew staje się zatwierdzony. Im więcej potwierdzonych bloków tym mniejsze ryzyko odwrócenia transakcji. Przyjmuje się, że pełne potwierdzenie następuje po dołączeniu 6 bloków ponieważ wtedy wycofanie transakcji jest obliczeniowo nierealne, jednak tak naprawdę, to jak szybko Bitcoiny zostaną zaakceptowane zależy od odbiorcy i jego preferencji, jeśli kwota jest mała to może podjąć ryzyko i ją uznać nawet natychmiast.

Zatwierdzenie transakcji przez sieć można jednak przyspieszyć za pomocą dodania opłaty transakcyjnej. Jest to niewielka nagroda dla górników za wykonaną przez nich pracę co zwiększa priorytet naszego przelewu oraz redukuje spam w sieci, tą nagrodę czyli wszystkie opłaty transakcyjne z transakcji w wykopanym bloku otrzymuje górnik, który ten blok odkrył, to też zachęta do miningu w dalekiej przyszłości kiedy to wartość nagrody za odkrycie bloku będzie mniejsza niż zebrane w nim opłaty transakcyjne. Jeśli postanowimy nie dodawać żadnej nagrody dla górników, wtedy czas oczekiwania na zatwierdzenie może się wydłużyć.

Trzeba jednak zaznaczyć, że wielkość opłaty transakcyjnej zależy od wielkości transakcji w kB, a nie od ilości przesłanych monet. Wyobraźmy sobie, że dostaliśmy dwa przelewy po 1 BTC i zamierzamy przelać 1.5 BTC, wtedy sieć przesyła te dwie pojedyncze monety zwracając 0.5 BTC na nasz adres i od tych danych zależy wielkość transakcji w kB. Jeśli byśmy mieli na swoim adresie 100 przelewów po 0.001BTC i chcieli potem przesłać 0.1 BTC to taki transfer byłby zdecydowanie większy pod względem kB od przelewu z pierwszego przykładu co jest równoznaczne z potrzebą większej opłaty transakcyjnej.

Wiedząc czym jest i jak przebiega przelew środków łatwo już zrozumieć, że bezpieczeństwo transakcji zależy od ilości potwierdzeń (bloków dołączonych do łańcucha) a prędkość od priorytetu jaki nadamy przez dodanie opłaty transakcyjnej i preferencji odbiorcy.

 

Janusz Zieliński

 

Jest to artykuł z serii p.t. „Podstawy”.

Inne artykuły z tej serii:

Podstawy #1: Czym jest i jak działa Bitcoin?

Podstawy #2: Czym jest blockchain?

Podstawy #3: Jak działa blockchain?

Podstawy #4: Na czym polega mining, czyli skąd biorą się bitcoiny?

Podstawy #6: Prywatność i Bitcoin

Podstawy #7: Jak trzymać oszczędności w BTC?

Komentarze