Przejdź do głównej zawartości

Posty

Eksperyment z wykorzystaniem blockchain Bitcoin (BSV)

Czas na coś nietypowego. Od kilku lat i od czasu do czasu, wracam do blockchaina Bitcoin SV , testując różne pomysły i możliwości tej sieci. Tym razem jednak, planuję przeprowadzić nieco bardziej nietypowy eksperyment, którego głównym celem będzie sprawdzenie kilku rzeczy w praktyce, a nie tylko w teorii. Pierwszym elementem będzie zweryfikowanie rzeczywistych kosztów wykonywania dużej liczby transakcji. W świecie blockchainów często mówi się o opłatach ale znacznie ciekawiej jest zobaczyć konkretne liczby niż marketingowe deklaracje. Chcę więc zebrać własne dane i sprawdzić, jak wygląda to w rzeczywistych warunkach. Drugim elementem będzie przepustowość. Interesuje mnie, jak wiele transakcji można wygenerować i rozesłać w krótkim czasie. Nie chodzi wyłącznie o sam blockchain, ale również o moje narzędzia, które będą uczestniczyć w całym procesie. Zakładam, że nie pobije żadnego rekordu, bo API w trybie darmowym zapewnia 3 wywołania na 1 sekundę, a w trybie płatnym 40/1,...

Tęsknię za kilkoma chwilami, które zdarzyły się w dzieciństwie.

Człowiek przestaje mówić było świetnie albo było fatalnie i zaczyna mówić było różnie, ale pewne chwile były naprawdę piękne. Mam czasem takie chwile, że bardziej niż w przyszłość, patrzę w bok - w jakąś szczelinę w czasie, przez którą na chwilę zaglądam do dawnych lat. W ciągu dnia albo wieczorem potrafi mnie nagle złapać wspomnienie tak gęste, że dosłownie czuję, jakbym na kilka sekund się tam przeniósł. Nie tylko obraz, ale też światło, zapach i spokój, którego dzisiaj trochę mi brakuje. Lata 90. Widzę swój pokój, ładnie oświetlony przez wpadające smugi letniego słońca. Ciepło dnia rozlewa się po ścianach, kurz tańczy w powietrzu, a ja siedzę gdzieś między łóżkiem a telewizorem, w świecie, w którym największym problemem jest to, czy dziś zagram jeszcze jedną planszę, czy już wyjść na podwórko. Za chwilę scena się zmienia: zeskakuję po schodach, wybiegam na dwór, ktoś krzyczy, że gramy, ktoś się huśta na huśtawce, ktoś zbiega ze ślizgawki (pamiętam nawet ten odgłos) , kt...

Tworzenie własnego portfela Bitcoin SV: Bezpieczeństwo, baza danych (Część 2)

W poprzedniej części zbudowaliśmy fundament - wiemy już czym jest entropia, mnemonic i seed. Potrafiliśmy z jednego sekretu wyprowadzić 10 adresów i podejrzeć ich klucze prywatne. Fajne ćwiczenie, ale tamten kod nadawał się tylko do zabawy w konsoli. Klucze prywatne wypisywane wprost na ekran, mnemonic trzymany w zmiennej to.. to nie jest coś, co chciałbyś zobaczyć w prawdziwym portfelu. Przez ostatnie kilka dni (a może i tygodni) jak znalazłem trochę wolnego czasu, to siedziałem i coś tam dłubałem sobie przy portfelu. Na początku wwaliłem wszystko do jednego pliku, później rozdzieliłem, po jakimś czasie znowu w jednym i w sumie ostatecznie rozdzieliłem na moduły. Szkoda, że nie zapisywałem wszystkich moich potknięć (a może to i dobrze) bo można by było zobaczyć mój tok myślowy. Na początek postawiłem na minimum bezpieczeństwa. Dziś zrobimy to porządniej. Zbudujemy portfel który: szyfruje mnemonic hasłem i zapisuje go bezpiecznie na dysku trzyma adresy w bazie SQLite ...

Tworzenie własnego portfela Bitcoin SV - HD Wallet (Część 1)

W tradycyjnym podejściu jakie opisywałem (tu, tu, i tu) mógłbyś tworzyć wiele niezależnych kluczy prywatnych, każdy generowany osobno i losowo. Problem z takim modelem polega na tym, że każdy klucz trzeba osobno zapisać, zabezpieczyć - później odczytać i odzyskać - co szybko staje się niepraktyczne. Poprzednie przykłady opierały się na zarządzaniu jednym kluczem prywatnym/jednym adresem; wysyłaliśmy transakcję a reszta wracała dokładnie na ten sam adres. Teraz podejdźmy do tego tak jak pisał o tym sam Satoshi Nakamoto – jedna transakcja, jeden adres = większa prywatność. Nowoczesne portfele kryptowalutowe nie generują pojedynczych losowych kluczy prywatnych. Zamiast tego używają struktury deterministycznej, która pozwala z jednego „sekretu głównego” odtworzyć nieskończoną liczbę adresów. Ten model nazywa się HD wallet (Hierarchical Deterministic Wallet) . Na początku zaczniemy od entropii czyli czystych, losowych bitów. Następnie ta entropia będzie przekształcona w tzw....

Python Bitcoin bsv-sdk: szyfrowanie wiadomości

Szyfrowanie, szyfrowanie Bitcoin kojarzy się większości osób z przelewaniem.. bitcoina. Wysyłasz transakcję, ktoś ją odbiera. W rzeczywistości sieci takie jak Bitcoin SV potrafią znacznie więcej. Każda transakcja może nieść ze sobą dane. A skoro dane - to również wiadomości. Wyobraź sobie, że możesz wysłać komuś zaszyfrowaną wiadomość: bez serwera, bez pośrednika, bez możliwości ocenzurowania i zapisaną na zawsze w blockchainie. Mechanizm, który to umożliwia, nazywa się OP_RETURN ( pisałem o nim tutaj ).  W tym wpisie pokażę, jak wykorzystać OP_RETURN jako kanał komunikacji - zapisując zaszyfrowaną wiadomość, którą odczytać może tylko wybrany odbiorca. Całość zrobimy w Pythonie, używając biblioteki py-sdk-bsv. Mógłbyś zapytać: ale po co ktoś miałby prowadzić komunikację, na publicznym blockchainie, szyfrując wiadomości?  Zaszyfrowana wiadomość w OP_RETURN ma kilka unikalnych cech: niezmienność globalna dostępność brak cenzury prywatność To połączenie jest bardz...