Z dwudziestej drugiej lekcji dowiesz się skąd biorą się opłaty transakcyjne w sieci bitcoina i jak wybrać ich odpowiednią wysokość. Artykuł i nagranie to część naszego nowego cyklu video o intrygującej nazwie Kurs Bitcoina od Zera, w którym po kolei od najprostszych zagadnień, do tych coraz trudniejszych, dowiesz się tego jak działa bitcoin i inne kryptowaluty, w jaki sposób z nich korzystać oraz jakimi prawami rządzi się ten młody i pasjonujący rynek. Na kurs zaprasza Darek Dziduch.
Jak płacić mniej za transakcje?
Prosty sposób na obniżenie wysokości opłat transakcyjnych w bitcoinie to wykorzystanie czegoś, co nosi tajemniczą nazwę SegWit.
SegWit to tak naprawdę aktualizacja protokołu bitcoina w formie soft forku, która została zaimplementowana 24 sierpnia 2017 r. Jeśli nie wiesz czym jest soft fork i czym różni się od hard forku, zachęcam do obejrzenia 21 lekcji kursu, która jest poświęcona właśnie temu tematowi.
Co to jest SegWit?
SegWit wprowadził w bitcoinie szereg zmian - zacznę od tych najmniej istotnych z punktu widzenia przeciętnego użytkownika. Aktualizacja usunęła m.in. problem tzw. transaction malleability, czyli potencjalną możliwość modyfikacji podpisanej transakcji. Nie pozwala to na zmianę wejść i wyjść w transakcji (czyli zmiany tego kto, komu i ile wysyła), ale daje możliwość np. zmiany identyfikatora transakcji. SegWit, poprzez swoją konstrukcję eliminuje ten problem.
Dzięki temu, możliwe było uruchomienie protokołu drugiej warstwy bitcoina, czyli lightning network - sieci która daje możliwość wykonywania natychmiastowych mikrotransakcji w BTC, poza głównym łańcuchem bloków bitcoina.
Segwit umożliwia również łatwiejsze modyfikowanie języka skryptowego w bitcoinie, co w przyszłości pozwoli na wprowadzenie istotnych zmian do protokołu. Jedną z nich są np. podpisy Schnorra, które poprzez swoja bardziej wydajną konstrukcję będą zawierać znacznie mniej miejsca niż obecnie i tym samym zwiększą skalowalność bitcoina. Co więcej, jak wiesz z poprzednich odcinków kursu, im lżejsza transakcja, tym niższa opłata transakcyjna.
To jednak, co nas najbardziej interesuje, to fakt, że SegWit pozwala na znaczne obniżenie prowizji transakcyjnych.
Jak działa SegWit?
Tak naprawdę jest to modyfikacja tego, jak dane są poukładane w blokach transakcyjnych. Wiadomo, że każdy blok w BTC ma maksymalną pojemność 1 MB. W każdym bloku transakcyjnym znajdują się wejścia i wyjścia transakcji oraz cyfrowe podpisy (po to, aby wiedzieć kto, komu i ile wysyła i czy na pewno jest to poprawne, czyli podpisane przez nadawcę). No ale problem jest taki, że to wszystko zabiera sporo miejsca i w jednym bloku nie zmieści się za dużo transakcji, szczególnie jeśli zawierają wiele wejść (inputów). A kolejny blok transakcyjny mamy mniej więcej co 10 minut. Taki blok transakcyjny nazywany jest blokiem legacy, czyli po prostu przestarzałym.
SegWit wprowadza małą rewolucję w sposobie porządkowania danych w bloku transakcyjnym. Blok zgodny z SegWit dysponuje identyczną pojemnością 1 MB, którą jednak przeznacza wyłącznie na wejścia i wyjścia transakcji. Cyfrowe podpisy kryptograficzne, które zabierają najwięcej miejsca, są wyrzucone poza blok i ich rozmiar nie liczy się do rozmiaru bloku zgodnego z SegWit.
Oczywiście to nie znaczy, że SegWit rezygnuje z podpisów i zmniejsza bezpieczeństwo (jest akurat odwrotnie), gdyż podpisy oczywiście są dołączone do bloku transakcyjnego w formie rozszerzenia bloku (tzw. witness data), którego maksymalna pojemność to 3 MB. Można więc w ogromnym uproszczeniu powiedzieć, że SegWit czterokrotnie zwiększa łączną pojemność bloku w BTC, mimo że na blockchainie pojedyncze bloki nadal będą mieć max 1 MB.
Największą zaletą SegWita jest to, że możemy wykonywać transakcję z dużą liczbą inputów, nie ryzykując tym, że zapłacimy bardzo wysoką prowizję.
Jak zacząć korzystać z adresów SegWit?
Jest jednak jeden problem - niewielki, ale nie można go pominąć. Aby zacząć korzystać z SegWita i płacić mniejsze prowizje transakcyjne, trzeba najpierw założyć portfel zgodny z SegWit i przesłać środki na jego adres publiczny. Oznacza to, że nie unikniemy wysokiej opłaty transakcyjnej, gdy będziemy z adresu legacy przesyłać środki na adres segwitowy. Na szczęście, potem będziemy już mogli korzystać z zalet SegWita.
Aby rozpocząć korzystać z SegWita, wystarczy założyć portfel, który jest z nim kompatybilny - większość dobrych portfeli już od dawna go obsługuje. Obecnie korzystanie z portfela nieobsługującego SegWitowe adresy nie ma żadnego sensu. Z portfeli do codziennego użytku osobiście polecam Samourai Wallet i GreenAddress Bitcoin Wallet, o których nagrywałem osobne odcinki kursu. Polecam również unikać giełdy kryptowalut, które wciąż nie obsługują SegWitowych adresów.
Po czym poznać adres publiczny kompatybilny z SegWit?
- adres w formacie Bech32 zaczyna się zawsze od znaków bc1 i nie posiada dużych liter
- adres Nested Segwit, zaczynający się zawsze od 3 (kompatybilny również z adresami Legacy, zaczynającymi się od 1).
Dlaczego warto korzystać z adresów SegWit?
Tak jak wspomniałem, SegWit był aktualizacją w formie soft forku, czyli nieobowiązkową. W tej chwili prawie 60% transakcji BTC odbywa się z wykorzystaniem SegWita. Jeśli jeszcze tego nie robicie, to bardzo zachęcam - nie tylko przyczynicie się do odciążenia sieci, ale też zapłacicie mniej za wykonanie transakcji.