name: Akcelerator rozwoju Bitcoin goal: Zdobądź wszystkie fundamenty, aby rozpocząć rozwój na Bitcoin objectives:


Witamy na kursach programowania Cubo+ dla Bitcoin!

W ciągu następnych 20 godzin zagłębisz się w protokoły BTC i LN. Ten kurs jest przeznaczony dla programistów, którzy chcą rozpocząć pracę w ekosystemie BTC i szukają solidnego zrozumienia różnych stosów technologicznych BTC i LN.

Filmy zostały nagrane na żywo podczas bootcampu CUBO+ 2023 w Salwadorze i udało im się zgromadzić światowej sławy nauczycieli. Kurs ten był oferowany bezpłatnie dzięki hojności Fulgure Venture i wspólnym wysiłkom nauczycieli, biura Bitcoin, DecouvreBitcoin i wielu innych podmiotów.

Miłego oglądania!

Wprowadzenie i kursy przygotowawcze

Wprowadzenie do kursów CUBO

Filippo i Mario wygłaszają wykład wprowadzający na temat CUBO+ 2023, przygotowując grunt pod wszechstronną podróż edukacyjną, która czeka. Omawiają strukturę kursów, efekty uczenia się i sposób, w jaki wzmocnią one pozycję studentów w przestrzeni rozwojowej Bitcoin.

Cele

Kurs ma na celu wyposażenie uczestników w dogłębne zrozumienie podstawowych zasad Bitcoin, praktyczne umiejętności programistyczne oraz zdolność do efektywnego poruszania się i współtworzenia ekosystemu Bitcoin. Dzięki połączeniu wiedzy teoretycznej i praktycznych ćwiczeń, studenci opanują podstawy bezpieczeństwa Bitcoin, zawiłości jego stosu oprogramowania i mechanizmy jego zarządzania.

Warunek wstępny

Od uczestników oczekuje się silnego poczucia ciekawości, chęci uczenia się na profesjonalnym poziomie i pewnej podstawowej wiedzy w zakresie rozwoju. Chociaż szczegółowe doświadczenie w Bitcoin nie jest wymagane, podstawowe zrozumienie zasad kodowania i otwartość na angażowanie się w złożone koncepcje techniczne są niezbędne do jak najlepszego wykorzystania akceleratora.

Narzędzia

Podczas całego kursu uczestnicy będą korzystać z kluczowych narzędzi, które pomogą im zrozumieć i poprawić ich doświadczenie edukacyjne. Wykorzystanie systemu Linux, wiersza poleceń Interface, GitHub i Docker będzie integralną częścią praktycznego podejścia do rozwoju Bitcoin. Narzędzia te ułatwią pracę ze stosem oprogramowania Bitcoin, zarządzanie środowiskami programistycznymi i współpracę nad projektami w warunkach rzeczywistych.

Dlaczego Bitcoin

Dlaczego Salwador potrzebuje Bitcoin

Witamy na pierwszym wykładzie w ramach programu edukacyjnego Cubo Plus. Dziś zagłębiamy się w świat Bitcoin, prowadzony przez Ricky'ego, założyciela Bitcoin Italia Podcast. Ricky jest zapalonym działaczem na rzecz praw człowieka, który wykorzystuje Bitcoin jako narzędzie do ochrony i promowania praw człowieka. Dzięki ponad sześcioletniemu doświadczeniu Ricky odbył wiele podróży, dokumentując adopcję Bitcoin na rynkach wschodzących, takich jak Salwador i Gwatemala. Jego praca wykracza poza podcasty; jest również aktywny na YouTube (Bitcoin Explorers) i Twitterze (BTC Explorer, Ricky6). Zaangażowanie Ricky'ego w Commitment do Bitcoin wynika z jego przekonania, że oferuje on wolność finansową i prywatność, stanowiąc wyzwanie dla tradycyjnych, scentralizowanych systemów bankowych.

Unbanked Population

globalna populacja nieubankowionych_

Bitcoin: Wolność finansowa i jej wpływ na Salwador

Ten wykład, "Dlaczego Salwador potrzebuje Bitcoin", zawiera przegląd protokołu Bitcoin, jego korzeni w ruchu Cypherpunk i jego roli jako narzędzia umożliwiającego nieocenzurowane pieniądze, integrację finansową i wiele więcej.

Definicje:

  • protokół Bitcoin:_ Zasady i struktura, które regulują sposób działania Bitcoin jako zdecentralizowanej waluty cyfrowej.
  • ruch_Cypherpunk:_ Grupa opowiadająca się za wykorzystaniem kryptografii w celu zapewnienia prywatności i wolności w przestrzeni cyfrowej.
  • integracja finansowa: Zapewnienie dostępu do usług finansowych osobom, które zostały wykluczone z tradycyjnych systemów bankowych, często określanych jako "nieubankowione"
  • pieniądze nieocenzurowane:_ Pieniądze, które nie mogą być kontrolowane lub ograniczane przez rządy lub instytucje finansowe.

Tło Ricky'ego i rzecznictwo Bitcoin

Podróż Ricky'ego do Bitcoin jest zakorzeniona w jego pracy jako obrońcy praw człowieka. Uważa on, że Bitcoin może zapewnić jednostkom kontrolę nad ich finansami, pozwalając im chronić swoją prywatność i uniknąć ograniczeń scentralizowanych banków. Jego badania nad przyjęciem Bitcoin w miejscach takich jak Salwador podkreślają, w jaki sposób technologia ta może umożliwić ludziom na rynkach wschodzących uzyskanie niezależności finansowej.

Globalne znaczenie i wyzwania związane z Bitcoin

Bitcoin to znacznie więcej niż tylko cyfrowa waluta. Jest to narzędzie do ochrony prywatności i zapewnienia wolności finansowej. Używając prywatnych kluczy, które działają jak hasła główne, użytkownicy mogą bezpiecznie zarządzać Bitcoin, mając pełną kontrolę nad swoimi środkami.

W reżimach autorytarnych, gdzie represje finansowe są powszechne, nieocenzurowana natura Bitcoin pozwala ludziom na dokonywanie transakcji bez obawy, że ich środki zostaną zamrożone lub skonfiskowane. Jego otwarty charakter zachęca do globalnego uczestnictwa, wspierając społeczność, która stale ulepsza sieć.

Image

Pomimo swojego potencjału, Bitcoin stoi przed poważnymi wyzwaniami. W obszarach takich jak Afryka i Indie często brakuje podstawowej infrastruktury, takiej jak elektryczność i dostęp do Internetu, co ogranicza adopcję. Co więcej, integracja cyfrowa - zapewnienie, że ludzie w każdym wieku i na każdym poziomie wykształcenia mogą korzystać z technologii - pozostaje główną przeszkodą.

Definicje:

  • klucze prywatne:_ Tajne kody dające dostęp do Bitcoin użytkownika.
  • Open-source: Oprogramowanie, które każdy może sprawdzać, modyfikować i ulepszać.

Przypadek Salwadoru

Decyzja Salwadoru o przyjęciu Bitcoin jako prawnego środka płatniczego pokazuje jego transformacyjny potencjał. Wykorzystując Bitcoin, kraj ten stara się przyciągnąć inwestycje zagraniczne i zwiększyć stabilność finansową. Projekty takie jak Bitcoin Beach pokazują, jak lokalne gospodarki mogą się rozwijać, przyjmując Bitcoin jako środek Exchange.

Jednak globalne przyjęcie Bitcoin napotyka przeszkody, takie jak ignorancja, opór wobec nowych technologii i wyzwania związane z infrastrukturą. Droga do bardziej inkluzywnego systemu finansowego - w którym Bitcoin może pomóc krajom rozwijającym się - jest długa, ale obiecująca. Zdecentralizowany i open-source'owy charakter Bitcoin daje nadzieję na przyszłość, w której sprawiedliwość finansowa będzie dostępna dla każdego.

Wnioski

Podsumowując, Bitcoin niesie ze sobą ogromną obietnicę wzmocnienia pozycji finansowej i integracji, ale przed nami stoją poważne wyzwania. Pozostawanie zaangażowanym w społeczność Bitcoin, uczenie się i zadawanie pytań będzie kluczem do realizacji zdecentralizowanej przyszłości finansowej. Dzięki współpracy i rzecznictwu wizja bardziej sprawiedliwego systemu finansowego dla wszystkich może stać się rzeczywistością.

Ruch Cypherpunk i austriacka ekonomia

video

Ruch Cypherpunk

Ruch Cypherpunk pojawił się pod koniec XX wieku, opowiadając się za prywatnością i wolnością poprzez kryptografię. Pionierzy tacy jak Eric Hughes i Tim May wierzyli, że silne szyfrowanie jest niezbędne do ochrony wolności osobistej w cyfrowym świecie. Ich idee miały duży wpływ na stworzenie Bitcoin.

Definicja:

  • Cypherpunk: Ruch promujący prywatność i wolność przy użyciu kryptografii.

Ekonomia austriacka

Jednocześnie Austriacka Ekonomia stanowiła fundament dla zasad monetarnych Bitcoin. Ekonomiści tacy jak Ludwig von Mises i Friedrich Hayek argumentowali, że zdrowy pieniądz powinien być rzadki, trwały i dobrze przechowywać wartość - podstawowe zasady, które ukształtowały projekt Bitcoin.

Definicja:

  • niedobór: Ograniczona dostępność, tworząca wartość poprzez potrzebę starannej alokacji.

Bitcoin's Creation

Satoshi Nakamoto połączył te idee, tworząc Bitcoin w 2008 roku jako zdecentralizowaną, odporną na cenzurę walutę cyfrową. Łącząc ideały prywatności Cypherpunk z austriackimi zasadami zdrowego pieniądza, Bitcoin oferuje system finansowy, który rzuca wyzwanie tradycyjnym bankom i kontroli rządowej.

Definicja:

  • Odporne na cenzurę: Pieniądze, które nie mogą być kontrolowane lub blokowane przez siły zewnętrzne.

Kluczowe zasady ekonomiczne

Definicje:

  • Preferencja czasowa: Przedkładanie dóbr teraźniejszych nad przyszłe.
  • zapisywanie:_ Przechowywanie wartości do wykorzystania w przyszłości.

Bitcoin w Salwadorze

Przyjęcie Bitcoin przez Salwador odzwierciedla jego potencjał jako narzędzia wolności finansowej, zgodnego z Austriacką Ekonomią poprzez promowanie dobrowolnego przyjęcia i decentralizacji. To posunięcie stanowi wyzwanie dla tradycyjnych systemów finansowych poprzez zajęcie się kluczowymi kwestiami: konkurencją, monopolem i konfiskatą.

Image

Przyjęcie Bitcoin przez Salwador promuje bardziej inkluzywny, konkurencyjny i bezpieczny system finansowy, rzucając wyzwanie ograniczeniom tradycyjnego finansowania.

Wnioski

Fundamenty Bitcoin w ruchu Cypherpunk i ekonomii austriackiej sprawiają, że jest to wyjątkowa i rewolucyjna forma pieniądza. Zrozumienie tych zasad pomaga zrozumieć, dlaczego Bitcoin został stworzony i jak działa dzisiaj. Aby uzyskać więcej informacji, warto rozważyć The Bitcoin Standard autorstwa Saifedean Ammous.

Dziękujemy za zaangażowanie w ten materiał!

Jak Bitcoin

Stos technologii Bitcoin

W pierwszym wykładzie kursu "Jak Bitcoin" rozpoczęliśmy badanie stosu technologicznego, który leży u podstaw sieci Bitcoin. Omówiliśmy takie tematy jak Hashcash, transakcje, Blockchain, Lightning Network i inne kluczowe komponenty protokołu Bitcoin.

Stos technologiczny Bitcoin, część 2

Podczas drugiego wykładu "Jak Bitcoin" przeprowadziliśmy bardziej dogłębną analizę stosu technologii Bitcoin.

Struktura Bitcoin

Początki Bitcoin opierają się na kilku kluczowych innowacjach, począwszy od Adam Back's Hashcash, systemu Proof-of-Work (PoW) zaprojektowanego w celu zapobiegania spamowi e-mail i atakom typu denial-of-service poprzez wymaganie od nadawców wykonywania zadań obliczeniowych. Ta koncepcja PoW stała się kamieniem węgielnym bezpieczeństwa Bitcoin.

Bitcoin opiera się na podpisach cyfrowych wykorzystujących kryptografię krzywej eliptycznej w celu zabezpieczenia i weryfikacji transakcji. Algorytm podpisu cyfrowego krzywej eliptycznej (ECDSA)** zapewnia, że tylko prawowity właściciel Bitcoin może autoryzować transakcje bez ujawniania swoich kluczy prywatnych.

Satoshi Nakamoto, pseudonimowy twórca Bitcoin, rozszerzył te pomysły, przekształcając model PoW w zdecentralizowany Blockchain. Pozwoliło to rozproszonej sieci węzłów na walidację i rejestrowanie transakcji bez centralnego organu, oznaczając znaczącą ewolucję w stosunku do poprzednich prób cyfrowej waluty.

Definicje:

  • Proof-of-Work (PoW): System, w którym uczestnicy muszą rozwiązywać zagadki obliczeniowe w celu walidacji transakcji i zabezpieczenia sieci.
  • kryptografia krzywych eliptycznych (ang. Elliptic Curve Cryptography): metoda kryptograficzna umożliwiająca bezpieczne i wydajne podpisy cyfrowe.

Mechanika Blockchain i walidacja transakcji

Transakcje Bitcoin są zatwierdzane i dodawane do bloków przez minerów, którzy rywalizują o rozwiązanie zagadki kryptograficznej przy użyciu algorytmu Proof-of-Work. Obejmuje to znalezienie Hash z określoną liczbą zer wiodących poprzez dostosowanie wartości Nonce, aż do znalezienia prawidłowego Hash.

Każdy blok w Blockchain składa się z nagłówka (z danymi jak w poprzednim bloku Hash) i listy transakcji. Pierwszy blok, znany jako blok Genesis, jest unikalny, ponieważ nie ma poprzednika.

Image

Zanim transakcje zostaną włączone do bloku, znajdują się w Mempool, gdzie oczekują na walidację. Po zatwierdzeniu transakcje te są dodawane do nowo wydobytego bloku, a następnie do Blockchain.

Definicje:

  • Mining: Proces rozwiązywania zagadek kryptograficznych w celu dodania nowych bloków do Blockchain.
  • Nonce: Wartość używana do znalezienia prawidłowego Hash podczas Mining.
  • Mempool: Obszar oczekiwania na niepotwierdzone transakcje przed ich dodaniem do bloku.

Skalowalność, prywatność i rozwój w Bitcoin

Bitcoin stoi przed wyzwaniami związanymi ze skalowalnością i prywatnością. Ograniczona pojemność transakcyjna Blockchain utrudnia obsługę dużych wolumenów transakcji. Rozwiązania takie jak Lightning Network Address stawiają czoła tym wyzwaniom, umożliwiając transakcje off-chain za pośrednictwem kanałów płatności, które zwiększają szybkość i prywatność.

Uruchomienie Full node jest niezbędne do zapewnienia decentralizacji i bezpieczeństwa, ale Uproszczone węzły weryfikacji płatności (SPV) pozwalają na mniejszy udział kosztem pewnego bezpieczeństwa.

Rozwój Bitcoin ewoluował w celu poprawy wydajności i bezpieczeństwa. Główne aktualizacje obejmują Segregated Witness (SegWit), który rozwiązuje problem podatności transakcji i zwiększa efektywny rozmiar bloku, oraz Taproot, który poprawia prywatność i pozwala na bardziej złożone kontrakty przy użyciu Merkleized Abstract Syntax Trees (MAST).

Definicje:

  • SegWit: Aktualizacja Bitcoin, która oddziela dane podpisu od danych transakcji, poprawiając wydajność.
  • Taproot: Aktualizacja, która zwiększa prywatność i skalowalność Bitcoin, umożliwiając bardziej złożone inteligentne kontrakty.
  • Lightning Network: Drugie rozwiązanie Layer dla szybszych i tańszych transakcji Bitcoin przy użyciu kanałów płatności.

Wnioski

Struktura i ciągła ewolucja Bitcoin pokazują innowacyjność i zdolność adaptacji jego technologii. Od Hashcash do zdecentralizowanego Blockchain i od SegWit do Taproot, Bitcoin kontynuuje wyzwania Address związane ze skalowalnością, prywatnością i bezpieczeństwem. Ciągłe wysiłki społeczności zapewniają, że Bitcoin pozostaje odporny i zdecentralizowany, a jednocześnie ewoluuje, aby sprostać wymaganiom przyszłości.

Obalenie Bitcoin

Obalanie Bitcoin

W tym wykładzie obalamy powszechne mity dotyczące Bitcoin, blockchainów i kryptowalut. Obalimy 99 błędnych przekonań na temat zużycia energii przez Bitcoin, przestępczego wykorzystania i szerszego "FUD" (strach, niepewność, wątpliwości) rozpowszechnianego na temat tej technologii.

Bitcoin vs. Blockchain

Częstym błędnym przekonaniem jest to, że Bitcoin i Blockchain to to samo. Podczas gdy Bitcoin jest walutą cyfrową, Blockchain jest technologią, która ją zasila. Łańcuchy bloków zapewniają zweryfikowany zapis transakcji, ale wiążą się z kompromisami, takimi jak wolniejsze prędkości i wyższe koszty, które rozwiązania takie jak Lightning Network Address.

Definicje:

  • Blockchain: Podstawowa technologia używana do rejestrowania transakcji w zdecentralizowanym, niezmiennym Ledger.
  • Lightning Network: Drugie rozwiązanie Layer, które poprawia wydajność transakcji Bitcoin poprzez umożliwienie transakcji off-chain.

Bitcoin vs. Crypto

Kolejną kluczową różnicą jest to, że Bitcoin został stworzony wyłącznie w celu zapewnienia zdecentralizowanej, odpornej na cenzurę formy pieniądza, wolnej od kontroli ze strony jakiejkolwiek firmy lub rządu. W przeciwieństwie do tego, kryptowaluty shitcoiny są często projektowane ze scentralizowaną kontrolą, istniejąc głównie w celu wzbogacenia firm stojących za nimi poprzez drapieżne praktyki, schematy typu "pump-and-dump" lub jawne oszustwa. Tokeny te zazwyczaj nie służą żadnemu prawdziwemu celowi poza osiągnięciem szybkiego zysku dla ich twórców kosztem niedoinformowanych inwestorów. Bitcoin wyróżnia się jednak jako jedyna prawdziwie zdecentralizowana waluta cyfrowa o udokumentowanej historii bezpieczeństwa i odporności.

Definicje:

  • shitcoiny to kryptowaluty o niskiej wartości lub wątpliwej jakości, którym brakuje rzeczywistej użyteczności. Są one często wysoce spekulacyjne i czasami są tworzone w oszukańczych celach lub bez wyraźnego celu, wykorzystując boom na rynku kryptowalut.
Image

Zużycie energii i wpływ na środowisko

Jednym z najczęstszych zarzutów wobec Bitcoin jest jego zużycie energii. Podczas gdy Bitcoin Mining zużywa energię, stanowi to mniej niż 1% globalnego zużycia energii elektrycznej i mniej niż 3% zmarnowanej energii. Co więcej, Bitcoin Mining często wykorzystuje niewykorzystane lub odnawialne źródła energii, co czyni go bardziej ekologicznym niż często się przedstawia.

Definicje:

  • Bitcoin Mining: Proces walidacji transakcji i zabezpieczania sieci poprzez rozwiązywanie zagadek kryptograficznych, co wymaga mocy obliczeniowej.

Błędne przekonania na temat przestępczości

Bitcoin jest często krytykowany za wykorzystywanie w działalności przestępczej. Jednak analiza Blockchain pokazuje, że tylko niewielki procent transakcji Bitcoin jest powiązany z przestępczością. W rzeczywistości tradycyjne systemy finansowe są znacznie częściej wykorzystywane do celów przestępczych niż Bitcoin.

Prywatność i zamienność

Prywatność i zamienność są podstawowymi cechami Bitcoin. Prywatność chroni użytkowników w opresyjnych reżimach, a zamienność zapewnia, że każdy Bitcoin jest równy, niezależnie od jego historii. Dzięki temu Bitcoin jest niezawodną i uczciwą formą pieniądza.

Definicje:

  • wymienialność: Właściwość pieniądza, w której każda jednostka jest wymienna z inną, zapewniając równą wartość.

Obsługa FUD i dynamika rynku

FUD otaczający Bitcoin często wyolbrzymia obawy dotyczące jego wpływu na środowisko, przestępczego wykorzystania i bezpieczeństwa. Podczas gdy na rynku będą występować wahania, zdecentralizowana i solidna technologia Bitcoin zapewnia solidne podstawy dla długoterminowej stabilności i wolności finansowej, szczególnie w restrykcyjnych środowiskach, takich jak Wenezuela.

Wnioski

Zrozumienie realiów zużycia energii przez Bitcoin, funkcji prywatności i roli w zapobieganiu przestępczości pomaga rozwiać otaczające go mity. Przebijając się przez FUD, możemy docenić potencjał Bitcoin jako rewolucyjnej formy zdrowego pieniądza, która promuje prywatność, bezpieczeństwo i decentralizację.

Uruchamianie Bitcoin

Instalacja rdzenia Bitcoin

W pierwszym wykładzie 4. modułu zbadaliśmy architekturę Bitcoin i instalację węzła Bitcoin Core.

Uruchamianie węzła Bitcoin

1. Wprowadzenie Podsumowanie

Witamy ponownie! W poprzedniej sesji omówiliśmy podstawowe koncepcje stojące za architekturą Bitcoin, w tym jej podstawy kryptograficzne i strukturę sieci peer-to-peer. Dziś przejdziemy od teorii do praktyki, demonstrując, jak zainstalować i skonfigurować węzeł Bitcoin.

2. Przegląd sesji praktycznej

W tej sesji Alekos przeprowadzi nas przez proces konfiguracji węzła Bitcoin przy użyciu maszyny wirtualnej. Ten praktyczny samouczek ma na celu zapoznanie się z krokami związanymi z konfiguracją węzła do uczestnictwa w sieci Bitcoin.

Uruchomienie węzła Bitcoin obejmuje walidację transakcji i bloków, egzekwowanie zasad konsensusu i wspieranie decentralizacji sieci. Konfiguracja węzła zapewnia bezpośrednie połączenie z siecią Bitcoin, umożliwiając przyczynienie się do jej bezpieczeństwa i integralności.

W tym wykładzie znajdziesz przewodnik po instalacji i uruchomieniu własnego Bitcoin Core, dowiesz się, jak przyciąć Blockchain, aby zaoszczędzić miejsce, i zaczniesz eksperymentować z oprogramowaniem. Alekos poprowadzi cię krok po kroku przez ten ekscytujący proces.

Co można zrobić z Bitcoin Core i jego zalety

Uruchamiając Bitcoin Core, zyskujesz możliwość

Korzyści z prowadzenia węzła Bitcoin są znaczące dla każdego dedykowanego Bitcoinera. Nie tylko pomagasz zabezpieczyć sieć i wzmocnić jej decentralizację, ale także zwiększasz swoją prywatność, zapewniasz integralność własnych transakcji i odgrywasz proaktywną rolę w ekosystemie Bitcoin. Prowadzenie węzła jest kluczowym krokiem do osiągnięcia suwerenności finansowej i pełnego przyjęcia zdecentralizowanej natury Bitcoin.

Podstawowe polecenia

Są to niektóre z podstawowych poleceń podczas konfigurowania węzła:

sudo systemctl status bitcoind
systemctl start bitcoind
sudo systemctl stop bitcoind
bitcoin-cli getblockchaininfo
prune=550
server=1
rpcuser=yourusername
rpcpassword=yourpassword
sudo systemctl status bitcoind
sudo systemctl status bitcoind

Instalacja C-lightning

1. Bitcoin Core Recap

Zacznijmy od krótkiego podsumowania kroków związanych z instalacją Bitcoin Core na maszynie wirtualnej w chmurze, ponieważ będzie to kluczowe dla naszej późniejszej konfiguracji C-Lightning.

Reinstalacja Bitcoin Core na maszynie wirtualnej w chmurze

Aby rozpocząć, należy ponownie zainstalować Bitcoin Core na maszynie wirtualnej. W tej sesji pominiemy weryfikację binariów, aby zaoszczędzić czas, ale pamiętaj, że w środowisku produkcyjnym weryfikacja binariów jest krytycznym krokiem w celu zapewnienia bezpieczeństwa.

Pobieranie i weryfikacja skrótów plików

Najpierw pobierz najnowszą wersję Bitcoin Core i zweryfikuj skróty plików, aby upewnić się, że nie doszło do manipulacji.

wget https://bitcoin.org/bin/bitcoin-core-22.0/bitcoin-22.0-x86_64-linux-gnu.tar.gz
sha256sum bitcoin-22.0-x86_64-linux-gnu.tar.gz
# Compare the output hash with the official hash

Instalacja oprogramowania binarnego i konfiguracja automatycznego uruchamiania za pomocą systemd

Następnie zainstaluj plik binarny i skonfiguruj go do automatycznego uruchamiania za pomocą systemd.

tar -xzf bitcoin-22.0-x86_64-linux-gnu.tar.gz
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-22.0/bin/*

Utwórz plik usługi systemd:

sudo nano /etc/systemd/system/bitcoind.service

Dodaj następującą konfigurację:

[Unit]
Description=Bitcoin daemon
After=network.target

[Service]
ExecStart=/usr/local/bin/bitcoind -daemon
User=bitcoin
Group=bitcoin
Type=forking
PIDFile=/var/lib/bitcoind/bitcoind.pid
Restart=on-failure

[Install]
WantedBy=multi-user.target

Tworzenie i konfiguracja użytkownika i katalogów Bitcoin

Utwórz dedykowanego użytkownika i skonfiguruj katalogi dla Bitcoin Core.

sudo adduser --disabled-login --gecos "" bitcoin
sudo mkdir -p /var/lib/bitcoind
sudo chown bitcoin:bitcoin /var/lib/bitcoind

Minimalne wykorzystanie miejsca na dysku poprzez przycinanie Blockchain

Aby zaoszczędzić miejsce na dysku, należy włączyć przycinanie w pliku konfiguracyjnym.

sudo nano /var/lib/bitcoind/bitcoin.conf

Dodaj następujące wiersze:

prune=550

Po wykonaniu tych kroków, Bitcoin Core powinien działać przy minimalnym zużyciu dysku, gotowy do interakcji z C-Lightning.

2. Przegląd i instalacja C-Lightning

Przegląd C-Lightning

C-Lightning, znany również jako Core-Lightning, to protokół Layer 2, który ułatwia szybsze i tańsze transakcje przy użyciu kanałów off-chain. Wyróżnia się modułową i przyjazną dla deweloperów architekturą, która pozwala na szerokie dostosowanie za pomocą wtyczek.

Znaczenie modułowości i rozszerzalności dzięki wtyczkom

Modułowa konstrukcja C-Lightning oznacza, że można dodawać lub usuwać funkcje w zależności od potrzeb, umożliwiając dostosowanie systemu do konkretnych przypadków użycia. Przykładowe zastosowania obejmują:

Instalacja C-Lightning

Przejdźmy teraz do instalacji C-Lightning.

Używaj najnowszej stabilnej wersji

W tym wykładzie użyjemy najnowszej stabilnej wersji, np. 22.11.1.

wget https://github.com/ElementsProject/lightning/releases/download/v22.11.1/clightning-v22.11.1.tar.gz
sha256sum clightning-v22.11.1.tar.gz
# Verify the hash against the provided hash

Weryfikacja integralności za pomocą kluczy GPG

Zawsze weryfikuj integralność pobranego pliku za pomocą kluczy GPG.

gpg --recv-keys <developer-key-id>
gpg --verify clightning-v22.11.1.tar.gz.asc clightning-v22.11.1.tar.gz

Instalacja zależności i kompilacja z kodu źródłowego

Zainstaluj niezbędne zależności i skompiluj C-Lightning ze źródła.

sudo apt-get update
sudo apt-get install -y autoconf automake build-essential git libtool libgmp-dev \
libsqlite3-dev python3 python3-mako net-tools zlib1g-dev
tar -xzf clightning-v22.11.1.tar.gz
cd clightning-v22.11.1
./configure
make
sudo make install

Konfiguracja usługi systemd do automatycznego uruchamiania

Utwórz plik usługi systemd dla C-Lightning:

sudo nano /etc/systemd/system/lightningd.service

Dodaj następującą konfigurację:

[Unit]
Description=C-Lightning daemon
After=network.target bitcoind.service

[Service]
ExecStart=/usr/local/bin/lightningd
User=bitcoin
Group=bitcoin
Type=simple
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. Konfiguracja i ustawienia

Tworzenie niezbędnych katalogów i plików konfiguracyjnych

Utwórz katalogi i pliki konfiguracyjne wymagane dla C-Lightning.

sudo mkdir -p /var/lib/lightning
sudo chown bitcoin:bitcoin /var/lib/lightning
sudo -u bitcoin nano /var/lib/lightning/config

Dodaj następujące linie do pliku konfiguracyjnego:

network=testnet
log-level=debug
plugin=/usr/local/libexec/c-lightning/plugins

Konfiguracja C-Lightning do połączenia z Bitcoin Core na Testnet

Upewnij się, że C-Lightning może połączyć się z Bitcoin Core, dodając następujące linie:

bitcoin-datadir=/var/lib/bitcoind
bitcoin-rpcuser=<rpcusername>
bitcoin-rpcpassword=<rpcpassword>

Zapewnienie kompatybilności i synchronizacji

Uruchom usługi i upewnij się, że są kompatybilne i zsynchronizowane.

sudo systemctl start bitcoind
sudo systemctl start lightningd
sudo systemctl enable bitcoind
sudo systemctl enable lightningd

Address Ścieżki plików i uprawnienia, szczególnie dla integracji z Tor

Skonfiguruj ścieżki plików i uprawnienia, aby zapewnić płynne działanie, zwłaszcza jeśli korzystasz z Tora w celu zachowania prywatności.

sudo apt-get install tor
sudo -u bitcoin nano /var/lib/lightning/config

Dodaj następujące elementy do integracji z Tor:

proxy=127.0.0.1:9050

Backup HSM Secret for Fund Recovery

Utwórz kopię zapasową tajnego modułu HSM w celu odzyskania środków.

sudo cp /var/lib/lightning/hsm_secret /path/to/secure/location

Testowanie połączeń i sprawdzanie stanu operacyjnego węzła

Na koniec należy zweryfikować stan operacyjny węzła, testując połączenia i upewniając się, że wszystko działa zgodnie z oczekiwaniami.

lightning-cli getinfo

Wykonując te kroki, będziesz mieć w pełni funkcjonalną konfigurację C-Lightning podłączoną do węzła Bitcoin Core, gotową do transakcji Testnet.

Wnioski i pytania

Podsumowując, dzisiaj omówiliśmy najważniejsze kroki związane z ponowną instalacją Bitcoin Core, a następnie szczegółowo omówiliśmy instalację i konfigurację C-Lightning. Jeśli masz jakieś pytania, zadaj je teraz lub przygotuj się na dalsze wyjaśnienia w naszej następnej sesji. Pamiętaj, że praktyczne doświadczenie ma kluczowe znaczenie, więc użyj konfiguracji Testnet, którą omówiliśmy, aby uzyskać więcej informacji.

Urządzenia zabezpieczające i sprzętowe

Urządzenie Specter i Ledger

Wprowadzenie

Witamy w naszym wykładzie na temat bezpieczeństwa i konfiguracji urządzeń dla Bitcoin. Dziś skupimy się na zrozumieniu wykorzystania narzędzi bezpieczeństwa, w szczególności Specter desktop Wallet i Ledger Hardware Wallet, oraz na tym, jak skutecznie je skonfigurować w celu zwiększenia bezpieczeństwa Bitcoin.

Narzędzia: Specter Desktop Wallet i Ledger Emulator

Specter to desktopowy Wallet zaprojektowany w celu ułatwienia tworzenia i zarządzania portfelami Bitcoin, w szczególności tymi wykorzystującymi urządzenia sprzętowe. Do naszej demonstracji wykorzystamy emulator Ledger, który naśladuje funkcjonalność Ledger Hardware Wallet.

Różnica między urządzeniem Ledger a kontrowersjami firmy

Urządzenie Ledger, popularne Hardware Wallet, jest znane ze swoich solidnych zabezpieczeń. Jednak firma stojąca za Ledger stanęła w obliczu kontroli z powodu różnych kontrowersji dotyczących prywatności danych użytkowników. Zrozumienie różnicy między fizycznym bezpieczeństwem urządzenia a praktykami firmy ma kluczowe znaczenie dla świadomego użytkowania.

Modele bezpieczeństwa: Znaczenie portfeli multi-sig i zróżnicowanego sprzętu

Kluczowym aspektem bezpieczeństwa Bitcoin jest wykorzystanie portfeli z wieloma podpisami (multi-sig). Portfele multi-sig wymagają wielu kluczy prywatnych do autoryzacji transakcji, co znacznie zwiększa bezpieczeństwo. Ponadto korzystanie z różnych typów portfeli sprzętowych dywersyfikuje ryzyko i wzmacnia model bezpieczeństwa.

Ustawienia i konfiguracja

Pobieranie i konfiguracja Specter

Pierwszym krokiem w procesie instalacji jest pobranie Specter z oficjalnego repozytorium. Ważne jest, aby zweryfikować integralność pobranego pliku, aby uniknąć zainfekowanego oprogramowania. Po pobraniu zainstaluj Specter na pulpicie i uruchom aplikację.

Konfiguracja Spectera do połączenia z serwerami Bitcoin Core lub Electrum

Aby skonfigurować Specter, należy podłączyć go do serwera Bitcoin Core lub Electrum. Serwery te zapewniają niezbędne dane Blockchain dla operacji Wallet. Konfiguracja obejmuje ustawienie serwera Address w ustawieniach Spectera i zapewnienie stabilnego połączenia.

Wyjaśnienie ścieżek derywacji i odzyskiwania klucza publicznego

Zrozumienie ścieżek derywacji jest niezbędne do zarządzania Wallet. Ścieżki pochodne definiują sposób generowania kluczy z klucza głównego. W Specter można pobrać klucze publiczne, podłączając Hardware Wallet (lub emulator) i przechodząc przez Wallet Interface. Upewnij się, że udokumentowałeś te ścieżki do wykorzystania w przyszłości.

Praktyczna demonstracja: Korzystanie z emulatora Ledger

Teraz użyjemy emulatora Ledger do pobrania kluczy. Wymaga to podłączenia emulatora do Spectera, przejścia do sekcji zarządzania kluczami i wybrania odpowiednich kluczy do utworzenia Wallet.

Tworzenie i zarządzanie portfelami w Specter

Tworzenie Wallet w Specter jest proste. Uzyskaj dostęp do Interface tworzenia Wallet, wprowadź niezbędne szczegóły i dołącz pobrane klucze publiczne. Po utworzeniu możesz zarządzać Wallet, monitorować transakcje i zapewnić solidne praktyki bezpieczeństwa.

Odbieranie i monitorowanie transakcji

Po skonfigurowaniu Wallet odbieranie transakcji jest tak proste, jak udostępnianie Wallet Address. Specter zapewnia monitorowanie w czasie rzeczywistym przychodzących transakcji, zapewniając, że zawsze jesteś na bieżąco ze statusem Wallet.

Konfiguracje zaawansowane

Konfiguracja Remote Specter daemon

Dla zaawansowanych użytkowników skonfigurowanie zdalnego Specter daemon może zwiększyć dostępność i bezpieczeństwo. Obejmuje to skonfigurowanie zdalnego serwera do uruchamiania zaplecza Specter, umożliwiając bezpieczny dostęp z różnych urządzeń.

Włącz Tor dla prywatności

Aby zwiększyć prywatność, zaleca się skonfigurowanie Spectera do korzystania z sieci Tor. Tor anonimizuje ruch sieciowy, chroniąc adres IP Address przed potencjalną inwigilacją. Jest to szczególnie ważne dla użytkowników dbających o prywatność i bezpieczeństwo.

Bezpieczne łączenie się z węzłami zdalnymi

Podczas łączenia się ze zdalnymi węzłami należy upewnić się, że połączenie jest bezpieczne. Wiąże się to z użyciem certyfikatów SSL/TLS i weryfikacją autentyczności węzła. Bezpieczne połączenia zapobiegają atakom typu man-in-the-middle i zapewniają integralność danych.

Problemy z debugowaniem: Praktyczne techniki

Napotkanie problemów jest nieuniknione. Praktyczne debugowanie obejmuje sprawdzanie uprawnień użytkowników, weryfikację dostępu do katalogu danych i sprawdzanie dzienników pod kątem błędów. Na przykład upewnij się, że Specter ma niezbędne uprawnienia dostępu do katalogu danych Bitcoin Core, aby uniknąć zakłóceń w działaniu.

Przykładowy problem: Dostęp do katalogu danych

Częstym problemem jest nieprawidłowy dostęp do katalogu danych. Sprawdź, czy ścieżka do katalogu danych Bitcoin Core jest poprawnie ustawiona w konfiguracji Specter. Zapewni to Specter dostęp do niezbędnych danych Blockchain dla operacji Wallet.

Kolejne kroki i integracja

Podsumowując, kolejne kroki obejmują integrację Spectera z Lightning Network. Umożliwia to wysyłanie środków ze Spectera do węzła Lightning, ułatwiając szybsze i tańsze transakcje. Przyszłe lekcje szczegółowo omówią tę integrację, zwiększając możliwości transakcji Bitcoin.

Zmienność taktowania bloku

Zrozumienie zmienności czasu bloków ma kluczowe znaczenie. Bloki Bitcoin mogą być wydobywane w różnych odstępach czasu, wpływając na czas potwierdzenia transakcji. Ta zmienność musi być uwzględniona we wszystkich konfiguracjach i operacjach Wallet.

Zasoby edukacyjne

Aby uzyskać dodatkową wiedzę, warto rozważyć zasoby takie jak "Mastering the Lightning Network" i samouczki Rusty'ego Russella. Materiały te zapewniają dogłębną wiedzę na temat węzłów Lightning i zaawansowanych konfiguracji Bitcoin.

Instalacja węzła i bezpieczeństwo Tora

Instalowanie węzłów, zarówno lokalnie, jak i zdalnie, przynosi korzyści z używania Tora w celu zwiększenia bezpieczeństwa. Uruchomienie własnego węzła zapewnia osobistą walidację transakcji, zwiększając bezpieczeństwo i prywatność.

Filozofia: Samowystarczalność w uczeniu się

Wyznaj filozofię samowystarczalności. Umiejętności praktyczne i samokształcenie są najważniejsze, często przewyższając korzyści płynące z formalnej edukacji. Zaangażuj się w praktyczne praktyki, aby pogłębić swoje zrozumienie bezpieczeństwa Bitcoin.

Uwagi dotyczące prywatności

Zachowaj prywatność, unikając usług, które śledzą lub rejestrują transakcje. Anonimowość ma kluczowe znaczenie dla bezpiecznych operacji Bitcoin, a staranny wybór usług pomaga chronić tożsamość i historię transakcji.

Na tym kończymy nasz wykład na temat bezpieczeństwa i konfiguracji urządzeń dla Bitcoin przy użyciu Specter i Ledger. Zachęcamy do zadawania pytań lub szukania wyjaśnień dotyczących omawianych kwestii.

Poprawa Bitcoin

Otwarte problemy w ekosystemie Bitcoin

W ciągu ponad dekady Bitcoin udowodnił, że jest innowacją transformacyjną w świecie finansów, z powodzeniem działającą na skalę globalną i otwierającą nowe możliwości w gospodarce cyfrowej. Wciąż jednak stoi przed wyzwaniami, które wymagają kreatywnych i opartych na współpracy rozwiązań. Ciągła ewolucja Bitcoin stanowi wyjątkową okazję dla osób zainteresowanych kształtowaniem przyszłości zdecentralizowanych finansów.

Image

Otwarte problemy z użytecznością Bitcoin

Bitcoin, pomimo ponad dziesięcioletniego istnienia, nadal boryka się z poważnymi wyzwaniami związanymi z użytecznością. Narzędzia i interfejsy dostępne dla użytkowników często nie są tak dojrzałe i przyjazne dla użytkownika, jak w bardziej tradycyjnych systemach finansowych. Jest to szczególnie widoczne w regionach takich jak Salwador, gdzie przyjęcie Bitcoin zostało zatwierdzone przez rząd. Podstawową kwestią jest tutaj potrzeba lepszych abstrakcji, które mogą uprościć doświadczenie użytkownika, czyniąc Bitcoin dostępnym nawet dla osób z minimalną wiedzą techniczną.

Otwarte problemy ze skalowalnością

Skalowalność była stałym problemem w rozwoju Bitcoin. Zdolność sieci do obsługi dużej liczby transakcji pozostaje ograniczona, co często prowadzi do wysokich opłat On-Chain, które mogą wykluczyć niektórych użytkowników z uczestnictwa. Podczas gdy rozwiązania takie jak Lightning Network oferują pewną ulgę poprzez umożliwienie transakcji off-chain, nie rozwiązują one w pełni problemów związanych ze skalowalnością Address. Potrzeba bardziej kompleksowych rozwiązań, które mogą obsługiwać rosnące wolumeny transakcji bez narażania integralności sieci, jest oczywista.

Otwarte problemy w zakresie bezpieczeństwa

Zabezpieczenie zasobów Bitcoin jest złożonym zadaniem, pełnym wyzwań. Portfele Hot, które są często używane do codziennych transakcji, stanowią poważne zagrożenie dla bezpieczeństwa, szczególnie dla tych, którzy obsługują węzły Lightning. Ponadto planowanie dziedziczenia aktywów Bitcoin pozostaje skomplikowanym i często niezabezpieczonym procesem. Złożoność tych środków bezpieczeństwa może zniechęcać potencjalnych użytkowników i komplikować ich powszechne przyjęcie.

Otwarte problemy z prywatnością

Prywatność jest kolejną krytyczną kwestią w ekosystemie Bitcoin. Chociaż prywatność jest niezbędna dla bezpieczeństwa, obecne ramy Bitcoin oferują ograniczone funkcje prywatności. Transakcje On-Chain są łatwe do prześledzenia, co stanowi zagrożenie dla anonimowości użytkowników. Chociaż Lightning Network ma potencjał do zwiększenia prywatności, nadal wymaga znacznych ulepszeń. Równowaga między przejrzystością a prywatnością jest delikatna i wymaga innowacyjnych rozwiązań w celu zapewnienia bezpieczeństwa i prywatności użytkowników.

Otwarte problemy z elastycznością

Elastyczność w ramach protokołu Bitcoin jest niezbędna do wspierania poprawy prywatności, bezpieczeństwa i skalowalności. Jednak zbyt duża elastyczność może stać się podatnością, potencjalnie służąc jako wektor ataku i zagrażając decentralizacji sieci. Osiągnięcie właściwej równowagi ma kluczowe znaczenie dla utrzymania integralności i odporności protokołu Bitcoin.

Kompromisy w ulepszaniu Bitcoin

Użyteczność a bezpieczeństwo i prywatność

Image

Wysiłki mające na celu zwiększenie użyteczności Bitcoin często odbywają się kosztem bezpieczeństwa i prywatności. Przykładowo, przyjazne dla użytkownika portfele powiernicze, takie jak Wallet z Satoshi, zapewniają dostęp do Interface, ale w znacznym stopniu naruszają bezpieczeństwo i prywatność. Uproszczone systemy mogą zwiększyć użyteczność, ale mogą prowadzić do takich kwestii, jak ponowne wykorzystanie Address, co narusza prywatność. W związku z tym wszelkie ulepszenia użyteczności muszą być starannie rozważone pod kątem potencjalnych kompromisów w zakresie bezpieczeństwa i prywatności.

Kompromisy między skalowalnością a prywatnością

Skalowalność i prywatność są często sprzeczne w sieci Bitcoin. Ulepszenia, które poprawiają skalowalność, takie jak większe UTXO lub zmniejszone zaciemnianie kryptograficzne, generalnie zmniejszają prywatność. I odwrotnie, techniki skoncentrowane na prywatności, takie jak podpisy pierścieniowe Monero, zwiększają anonimowość użytkowników, ale negatywnie wpływają na skalowalność. Co więcej, wprowadzenie kontraktów stanowych, jak ma to miejsce w Ethereum, oferuje zwiększoną elastyczność kosztem zmniejszonego bezpieczeństwa i skalowalności. Równoważenie tych kompromisów jest złożonym wyzwaniem, które wymaga skrupulatnego rozważenia.

Techniki ochrony prywatności

Różne podejścia do prywatności w Bitcoin wiążą się z własnymi kompromisami. Prywatność przez zaciemnianie, która polega na dodawaniu większej ilości informacji w celu ukrycia istotnych danych, może zwiększyć prywatność, ale może skomplikować sieć. Przykłady obejmują Monero i Zcash. Z drugiej strony, prywatność przez pominięcie, która ma na celu ograniczenie informacji On-Chain, jak widać w Lightning Network, może poprawić zarówno prywatność, jak i skalowalność. Każda metoda ma swoje zalety i wady, co wymaga zniuansowanego podejścia do poprawy prywatności.

Zmiany i wyzwania związane z konsensusem

Zmiana mechanizmu konsensusu Bitcoin jest rzadkim i trudnym przedsięwzięciem ze względu na zdecentralizowany charakter sieci. Propozycje takie jak ChISA (cross-input signature aggregation) i przymierza mają na celu wprowadzenie bardziej złożonych zasad transakcji, ale ich wdrożenie jest obarczone trudnościami. Zmiany konsensusu wymagają szerokiej zgody w społeczności, a konieczna koordynacja może prowadzić do znacznej frustracji i wypalenia, jeśli proponowane zmiany nie zostaną zaakceptowane. Podkreśla to potrzebę starannych i opartych na współpracy wysiłków w zakresie opracowywania protokołów.

Innowacje i standardy w rozwoju Bitcoin

Przestrzeganie standardowych praktyk w rozwoju Bitcoin Wallet ma kluczowe znaczenie dla zapewnienia łatwości użytkowania i bezpieczeństwa. Wiele portfeli nie przestrzega obecnie ustalonych standardów, co prowadzi do fragmentacji i potencjalnych luk w zabezpieczeniach. Standaryzacja może znacznie poprawić komfort użytkowania i ogólne bezpieczeństwo transakcji Bitcoin.

Tradycyjne 12-wyrazowe zwroty do tworzenia kopii zapasowych, choć skuteczne w podstawowych zastosowaniach Bitcoin, nie są w stanie obsłużyć protokołów off-chain, takich jak Lightning Network. Przyszłe standardy tworzenia kopii zapasowych muszą ewoluować, aby zapewnić lepsze bezpieczeństwo i użyteczność tych zaawansowanych funkcji, zapewniając użytkownikom możliwość bezpiecznego zarządzania swoimi zasobami w różnych warstwach ekosystemu Bitcoin.

Uproszczenie procesu płatności za pomocą ujednoliconych protokołów ma zasadnicze znaczenie dla poprawy komfortu użytkowania. Istniejące protokoły, takie jak BIP70, BIP78 i Payneem, oferują różne rozwiązania, ale jest miejsce na dalsze innowacje. Bardziej usprawniony i przyjazny dla użytkownika protokół płatności może ułatwić szersze przyjęcie i łatwość użytkowania.

Rozwój lepszych narzędzi i sprzętu ma kluczowe znaczenie dla poprawy użyteczności i bezpieczeństwa Bitcoin. Innowacje takie jak portfele sprzętowe (np. Ledger i Trezor) oferują solidne rozwiązania w zakresie bezpieczeństwa, ale muszą nadal ewoluować, aby sprostać pojawiającym się zagrożeniom. Ulepszone narzędzia mogą sprawić, że Bitcoin będzie bardziej dostępny i bezpieczny dla szerszego grona odbiorców.

Ograniczenie ryzyka związanego z dystrybucją Hardware Wallet i zapewnienie ich integralności ma kluczowe znaczenie. Ataki na łańcuch Supply stanowią poważne zagrożenie dla bezpieczeństwa tych urządzeń. Wdrożenie rygorystycznych środków bezpieczeństwa i zapewnienie przejrzystości w procesie produkcji i dystrybucji może pomóc w ograniczeniu tego ryzyka.

Uproszczenie interakcji użytkownika z Bitcoin i Lightning Network przy jednoczesnym zachowaniu bezpieczeństwa i wydajności jest kluczowym celem. Lepsze abstrakcje UX mogą sprawić, że Bitcoin będzie bardziej dostępny dla użytkowników nietechnicznych, sprzyjając szerszej adopcji bez uszczerbku dla bezpieczeństwa.

Tworzenie materiałów edukacyjnych w celu poprawy użyteczności, bezpieczeństwa i prywatności Bitcoin jest bardzo ważne. Edukacja użytkowników w zakresie najlepszych praktyk i podstawowych zasad Bitcoin może umożliwić im podejmowanie świadomych decyzji i poprawić ich ogólne wrażenia z korzystania z sieci.

Image

Zmiany Layer 1 i Layer 2

Innowacje w bazowym Layer (Layer 1) są wyzwaniem, ale mają kluczowe znaczenie dla długoterminowej ewolucji Bitcoin. Rozwiązania Layer 2, takie jak Lightning Network, pozwalają na bardziej eksperymentalne zmiany i mogą bardziej elastycznie uwzględniać kwestie skalowalności i prywatności. Obie warstwy odgrywają kluczową rolę w ciągłym rozwoju Bitcoin.

Koordynacja konsensusu

Zmiany w protokole Bitcoin wymagają znacznej koordynacji i konsensusu społeczności. Zdecentralizowany charakter Bitcoin sprawia, że proces ten jest z natury trudny. Skuteczna koordynacja i jasna komunikacja są niezbędne do poruszania się po złożoności zmian protokołu i zapewnienia pomyślnego przyjęcia ulepszeń.

Wyzwania skalowalności

Osiągnięcie globalnego konsensusu i zarządzanie złożonymi warstwami wtórnymi, takimi jak Lightning Network, stanowi wyzwanie dla skalowalności. Kwestie te muszą zostać rozwiązane, aby Bitcoin mógł obsługiwać rosnące wolumeny transakcji przy jednoczesnym zachowaniu podstawowych zasad bezpieczeństwa i decentralizacji.

Podsumowując, ciągłe rozwiązywanie tych otwartych problemów i wprowadzanie innowacji w ekosystemie Bitcoin ma kluczowe znaczenie dla jego ewolucji. Równowaga między użytecznością, bezpieczeństwem, prywatnością i skalowalnością wymaga starannego rozważenia i wspólnych wysiłków. Przyczyniając się do tych zmian, uczestnicy mogą pomóc w kształtowaniu przyszłości Bitcoin i jego roli w globalnym krajobrazie finansowym.

Bitcoin Podstawy

Myślenie o bezpieczeństwie w Bitcoin

Witamy na dzisiejszym wykładzie na temat Bezpieczeństwa i niezawodności. Naszym celem jest zbadanie zniuansowanego związku między tymi dwoma podstawowymi aspektami projektowania i stosowania systemów w rzeczywistych scenariuszach.

Wprowadzenie do myślenia o bezpieczeństwie

Myślenie o bezpieczeństwie opiera się na zasadach zaprojektowanych w celu ochrony systemów przed celowymi atakami. Obejmuje identyfikację potencjalnych zagrożeń i wdrażanie środków mających na celu ich złagodzenie. Z kolei niezawodność koncentruje się na zapewnieniu prawidłowego działania systemów w określonych warunkach, uwzględniając raczej probabilistyczne awarie niż celowe próby naruszenia bezpieczeństwa.

Związek między bezpieczeństwem a niezawodnością

Chociaż zarówno bezpieczeństwo, jak i niezawodność mają na celu utrzymanie integralności systemu, ich podejścia znacznie się różnią. Inżynieria niezawodności zajmuje się prawdopodobieństwem awarii systemu z powodu zdarzeń losowych i często wykorzystuje metody statystyczne do przewidywania i łagodzenia tych awarii. Z drugiej strony, bezpieczeństwo musi uwzględniać celowy i inteligentny charakter ataków, wymagający wielowarstwowej strategii obronnej znanej jako "obrona w głąb"

Bezpieczeństwo a niezawodność

Kwintesencję inżynierii niezawodności można prześledzić wstecz do XVIII wieku wraz z budową mostu. Jakość użytej stali, w tym jej skład i proces produkcji, miały decydujący wpływ na niezawodność mostu. Inżynierowie musieli wziąć pod uwagę pojedyncze punkty awarii i wykorzystać prawdopodobieństwo oraz statystyki do oceny i zapewnienia niezawodności mostu w czasie.

Image

W przeciwieństwie do niezawodności, bezpieczeństwo dotyczy celowych zagrożeń. Przykładowo, 256-bitowy klucz kryptograficzny stanowi matematyczną gwarancję bezpieczeństwa ze względu na brak możliwości jego brutalnego sforsowania. Środki bezpieczeństwa muszą uwzględniać różne modele zagrożeń, od fizycznej ingerencji po wyrafinowane cyberataki.

Aplikacje w świecie rzeczywistym

Rozważmy proces tworzenia i przechowywania kluczy Bitcoin przy użyciu portfeli papierowych. Portfele papierowe mogą być bezpieczne, ale są podatne na uszkodzenia fizyczne i manipulacje. Zapewnienie integralności takich portfeli wymaga metod umożliwiających identyfikację manipulacji i solidnych protokołów weryfikacji.

W innym scenariuszu, wyobraźmy sobie odbiór z lotniska, gdzie kierowca używa tajnego kodu do uwierzytelnienia pasażera. Ten prosty, ale skuteczny środek bezpieczeństwa uniemożliwia oszustom oszukanie obu stron.

W Gwatemali znaczniki czasu wyników wyborów odegrały kluczową rolę w zapewnieniu integralności procesu wyborczego. Wykorzystując metody kryptograficzne do Timestamp danych, urzędnicy wyborczy mogli zapewnić dowód autentyczności wyników, odstraszając potencjalnych manipulatorów kierujących się znacznymi zachętami finansowymi.

Image

Identyfikacja i łagodzenie potencjalnych zagrożeń

Modelowanie zagrożeń to proces identyfikacji potencjalnych zagrożeń bezpieczeństwa i tworzenia strategii ich łagodzenia. Obejmuje to zrozumienie środowiska systemu, identyfikację potencjalnych napastników i opracowanie bezpiecznych protokołów w oparciu o założenia i analizę probabilistyczną.

Tworzenie bezpiecznych protokołów

Aby zabezpieczyć wybory, można na przykład wdrożyć bezstronny nadzór lub monitorowanie międzypartyjne w celu zapewnienia przejrzystości i integralności. Metody kryptograficzne, takie jak znaczniki czasu i weryfikacja krzyżowa, pomagają w utrzymaniu autentyczności danych i zapobieganiu manipulacjom.

Weryfikacja zaufania

Weryfikację zaufania można zilustrować weryfikacją PGP (Pretty Good Privacy). Weryfikując odciski palców i podpisy kluczy PGP, użytkownicy mogą ustalić autentyczność tożsamości cyfrowych. Podobne praktyki są niezbędne do weryfikacji integralności oprogramowania poprzez dopasowanie Hash (np. SHA-256).

Ustanowienie ścieżek zaufania

Budowanie zaufania nie jest natychmiastowe; wymaga połączenia wielu ścieżek zaufania i zapewnienia redundancji. Na przykład korzystanie z protokołu HTTPS i przejrzystości certyfikatów opartych na Blockchain zapewnia autentyczność źródeł internetowych, utrudniając atakującym naruszenie zaufania.

Zachęty dla bezpieczeństwa

Zrozumienie roli zachęt ma kluczowe znaczenie dla utrzymania bezpieczeństwa. Na przykład model bezpieczeństwa Bitcoin opiera się na zachętach górników i walidacji uczestników sieci, podkreślając znaczenie zachęt ekonomicznych w ochronie ekosystemów cyfrowych.

Zabezpieczanie portfeli Bitcoin

Strategie zabezpieczania portfeli Bitcoin obejmują konfiguracje z wieloma podpisami i zdywersyfikowane przechowywanie. Metody te zapewniają, że nawet jeśli jeden komponent zostanie naruszony, ogólne bezpieczeństwo pozostanie nienaruszone.

Znaczenie walidacji

Wreszcie, walidacja użytkownika ma kluczowe znaczenie dla utrzymania bezpiecznej sieci. Rola każdego użytkownika w walidacji transakcji i weryfikacji komponentów oprogramowania i sprzętu pomaga zachować integralność sieci i udaremnić potencjalne zagrożenia.

Podsumowując, zrozumienie i integracja zasad bezpieczeństwa i niezawodności są niezbędne w projektowaniu solidnych systemów. Ucząc się na historycznych przykładach, stosując rzeczywiste strategie i stale weryfikując zaufanie, możemy budować systemy, które są zarówno bezpieczne, jak i niezawodne.

Wolne i otwarte oprogramowanie (FLOSS) w Bitcoin

Korzystanie z wolnego i otwartego oprogramowania (FLOSS) ma kluczowe znaczenie w ekosystemie Bitcoin. Peter Todd bada znaczenie FLOSS dla Bitcoin, badając historię FLOSS i sprawdzając, w jaki sposób Github pozwala nam wspólnie budować oprogramowanie open source, takie jak Bitcoin.

Charakter i znaczenie oprogramowania

Oprogramowanie, w swej istocie, jest zbiorem kodu i danych, które instruują urządzenia komputerowe, jak wykonywać określone zadania. W przeciwieństwie do sprzętu, który wymaga fizycznych materiałów i procesów produkcyjnych do replikacji, oprogramowanie może być łatwo kopiowane i dystrybuowane praktycznie bez żadnych kosztów. Ta fundamentalna różnica odgrywa kluczową rolę w rozprzestrzenianiu się i rozwoju oprogramowania.

Jednym z kluczowych rozróżnień między oprogramowaniem a sprzętem jest koncepcja open-source. Chociaż sprzęt z otwartym kodem źródłowym istnieje, nie jest tak rozpowszechniony ze względu na złożoność związaną z powielaniem obiektów fizycznych. Z kolei oprogramowanie open-source rozwija się dzięki łatwości replikacji i dystrybucji. Oprogramowanie open-source pozwala każdemu przeglądać, modyfikować i rozpowszechniać kod, wspierając środowisko współpracy, które przyspiesza innowacje i rozwiązywanie problemów.

Ramy prawne rządzące oprogramowaniem obracają się głównie wokół praw autorskich. Przepisy te przyznają twórcy oprogramowania wyłączne prawa do korzystania, modyfikowania i rozpowszechniania jego dzieła. Licencje open-source zapewniają jednak mechanizm dzielenia się tymi prawami z opinią publiczną, na określonych warunkach. Ta struktura prawna jest niezbędna do zrozumienia dynamiki dystrybucji i modyfikacji oprogramowania.

Podsumowując, natura oprogramowania jako łatwo replikowalnego kodu i danych, w połączeniu z mechanizmami prawnymi zapewnianymi przez licencje open source, podkreśla jego kluczowe znaczenie w nowoczesnym krajobrazie cyfrowym. Ramy te nie tylko napędzają innowacje, ale także zapewniają, że oprogramowanie może być swobodnie udostępniane i ulepszane przez globalną społeczność.

Historia ruchu wolnego oprogramowania

Ruch Wolnego Oprogramowania ma swoje korzenie we wczesnych latach 80-tych XX wieku, głównie napędzany wizją wolności oprogramowania Richarda Stallmana. Sfrustrowany restrykcyjnym charakterem prawnie zastrzeżonego oprogramowania, Stallman rozpoczął misję tworzenia oprogramowania, z którego użytkownicy mogliby swobodnie korzystać, modyfikować i udostępniać. Doprowadziło to do założenia Free Software Foundation (FSF) w 1985 roku.

Jednym ze znaczących wkładów Stallmana był rozwój projektu GNU, mającego na celu stworzenie wolnego systemu operacyjnego podobnego do Uniksa. GNU, co jest skrótem od "GNU's Not Unix", zapewniało wiele istotnych elementów w pełni wolnego systemu operacyjnego. Brakowało mu jednak jądra, głównej części systemu operacyjnego.

Lukę tę wypełniło stworzenie jądra Linux przez Linusa Torvaldsa w 1991 roku. Jądro Torvaldsa, w połączeniu z komponentami GNU, zaowocowało w pełni funkcjonalnym wolnym systemem operacyjnym znanym jako GNU/Linux. Ta współpraca między filozoficznym Commitment Stallmana na rzecz wolności oprogramowania a praktycznym wkładem Torvaldsa stanowi przykład potęgi podejścia open source.

Image

Ruch Wolnego Oprogramowania wywarł głęboki wpływ na branżę oprogramowania, promując ideę, że oprogramowanie powinno być wolne dla wszystkich do użytku, modyfikowania i udostępniania. Jego zasady położyły podwaliny pod wiele projektów i społeczności open-source, które kwitną do dziś.

Ekonomia i finansowanie w Open Source

Finansowanie i utrzymanie projektów open-source wiąże się z wyjątkowymi wyzwaniami i możliwościami. W przeciwieństwie do oprogramowania własnościowego, które generuje przychody ze sprzedaży i opłat licencyjnych, projekty open source często opierają się na alternatywnych modelach finansowania.

Jednym z udanych przykładów jest Bitcoin Core, krytyczna część infrastruktury Bitcoin. Deweloperzy pracujący nad Bitcoin Core są często finansowani z grantów, darowizn i sponsoringu organizacji, które czerpią korzyści z sukcesu projektu. Model ten pozwala programistom skupić się na ulepszaniu oprogramowania bez ograniczeń związanych z tradycyjnym finansowaniem komercyjnym.

Image

Innym ważnym przykładem jest system operacyjny Linux. Wiele firm, takich jak IBM, Red Hat i Intel, przyczynia się do rozwoju Linuksa, ponieważ ich produkty i usługi zależą od solidnego i bezpiecznego systemu operacyjnego. Firmy te zapewniają wsparcie finansowe, udostępniają kod i oferują zasoby w celu utrzymania i ulepszania ekosystemu Linuksa.

Licencje open-source, takie jak MIT, GPL i AGPL, również odgrywają kluczową rolę w dynamice ekonomicznej oprogramowania open-source. Licencje zezwalające, takie jak MIT, pozwalają na bardziej elastyczne wykorzystanie kodu, w tym komercjalizację. Z kolei licencje typu copyleft, takie jak GPL, zapewniają, że wszelkie prace pochodne muszą być również open-source, wspierając środowisko współpracy.

Image

Podsumowując, ekonomia oprogramowania open-source jest napędzana przez wkład społeczności, sponsoring korporacyjny i innowacyjne modele finansowania. Mechanizmy te zapewniają trwałość i ciągłe doskonalenie projektów open-source, przynosząc korzyści zarówno deweloperom, jak i użytkownikom.

Kryptografia w Bitcoin

Witamy! Dzisiaj zagłębimy się w kluczowe aspekty kryptografii, które każdy programista Bitcoin powinien znać. Skupimy się na podstawowych koncepcjach i praktycznych zastosowaniach, nie przytłaczając cię nadmiarem teoretycznych szczegółów. Głównym celem jest wyposażenie cię w wiedzę pozwalającą na skuteczne zrozumienie, implementację i rozwiązywanie problemów związanych z mechanizmami kryptograficznymi w Bitcoin.

Podstawowe koncepcje kryptograficzne dla programistów Bitcoin

W tej sekcji zagłębimy się w kluczowe koncepcje kryptograficzne istotne dla deweloperów Bitcoin, w tym funkcje Hash, drzewa Merkle'a, podpisy cyfrowe i krzywe eliptyczne.

Image

Funkcje Hash: Funkcja Hash pobiera dane wejściowe i tworzy ciąg bajtów o stałej długości. W Bitcoin funkcje Hash mają fundamentalne znaczenie dla integralności i bezpieczeństwa danych. Kryptograficzne funkcje Hash muszą być wydajne, generate pozornie losowe i generować wyjścia o stałej długości niezależnie od rozmiaru danych wejściowych. Są one używane do sprawdzania integralności plików, zapewniając, że dane nie zostały zmienione w złośliwy sposób.

Image

Właściwości bezpieczeństwa: Funkcje kryptograficzne Hash muszą spełniać kilka właściwości bezpieczeństwa. Odporność na obraz wstępny zapewnia, że inżynieria wsteczna oryginalnych danych wejściowych z danych wyjściowych Hash jest obliczeniowo niewykonalna. Druga odporność na obraz wstępny oznacza, że powinno być trudno znaleźć inne dane wejściowe, które dadzą ten sam wynik Hash. Odporność na kolizje zapewnia, że znalezienie dwóch różnych danych wejściowych, które dają ten sam wynik Hash, jest mało prawdopodobne.

Drzewa Merkle'a: Merkle Tree to struktura danych, która umożliwia wydajną i bezpieczną weryfikację dużych zbiorów danych. Elementy danych są hashowane parami, a wynikowe hashe są łączone iteracyjnie w celu utworzenia pojedynczego korzenia Hash. W Bitcoin drzewa Merkle mają kluczowe znaczenie w tworzeniu bloków i weryfikacji transakcji, szczególnie dla klientów uproszczonej weryfikacji płatności (SPV) oraz w Taproot (Mast).

Image

Podpisy cyfrowe (ECDSA): Algorytm podpisu cyfrowego z krzywą eliptyczną (ECDSA) służy do zapewnienia autentyczności i integralności transakcji Bitcoin. Obejmuje on generowanie podpisu przy użyciu klucza prywatnego, który można zweryfikować za pomocą odpowiedniego klucza publicznego. Kluczowe pojęcia obejmują zrozumienie pól skończonych, logarytmów dyskretnych i znaczenia nonces.

Krzywe eliptyczne: Krzywe eliptyczne są wykorzystywane w kryptografii klucza publicznego ze względu na ich wydajność i bezpieczeństwo. Bezpieczeństwo kryptografii krzywych eliptycznych opiera się na trudności rozwiązania problemu logarytmu dyskretnego.

Image

Praktyczne zastosowania kryptograficzne i praktyki bezpieczeństwa w Bitcoin

W tej sekcji zbadamy zastosowanie tych koncepcji w rzeczywistym rozwoju Bitcoin i najlepszych praktykach bezpieczeństwa, których należy przestrzegać.

Kryptografia = Niebezpieczeństwo: Kryptografia to miecz obosieczny. Podczas gdy chroni przed przypadkowym uszkodzeniem danych i złośliwymi działaniami, nieprawidłowa implementacja może prowadzić do poważnych luk w zabezpieczeniach. Programiści muszą dogłębnie zrozumieć mechanizmy kryptograficzne, aby zapewnić zarówno bezpieczną implementację, jak i możliwość rozwiązywania potencjalnych problemów. Przykładowo, 256-bitowe wyjście SHA-2 zapewnia, że ataki preimage wymagają około 2^256 pracy, a odporność na kolizje około 2^128 pracy.

Image

Zastosowania Merkle Tree: Zrozumienie logarytmicznego rozmiaru dowodu i zapewnienie starannego projektu drzewa jest niezbędne, aby uniknąć wad, takich jak powielanie Hash w weryfikacji transakcji. Drzewa Merkle'a są wykorzystywane do tworzenia bloków, weryfikacji transakcji i ulepszeń, takich jak Taproot.

Kryptografia klucza publicznego: Logarytmy dyskretne i pola skończone mają fundamentalne znaczenie w obliczeniach kryptograficznych w Bitcoin. Protokoły typu wyzwanie-odpowiedź są używane do weryfikacji znajomości klucza prywatnego bez ujawniania go.

Image

Wpływ na bezpieczeństwo: Historyczne przykłady pokazują znaczne straty finansowe spowodowane ponownym użyciem Nonce. Zrozumienie znaczenia generowania unikalnych nonces jest kluczowe. Korzystanie z zaufanych bibliotek, takich jak LibSecP256k1, zapewnia solidne i bezpieczne operacje kryptograficzne.

Kryptografia krzywych eliptycznych (ECC): Schematy podpisów ewoluowały od protokołów tożsamości do schematów takich jak podpisy Schnorra, obecnie używane w Bitcoin (BIP 340). Znajomość krzywych eliptycznych i arytmetyki pól skończonych zapewnia bezpieczne implementacje kryptograficzne.

Ogólne porady dla deweloperów: Protokoły kryptograficzne muszą być poddawane dokładnym recenzjom. Deweloperzy muszą być precyzyjni i w pełni rozumieć każdy krok procedur kryptograficznych. Świadomość powszechnych pułapek w implementacjach kryptograficznych może zapobiec poważnym lukom w zabezpieczeniach.

Krzywe eliptyczne w kryptografii: Ulepszanie kluczy i bezpieczeństwo to ważne tematy, takie jak modyfikowanie klucza publicznego przy użyciu dodatkowego klucza prywatnego przy jednoczesnym zapewnieniu bezpieczeństwa. Specyficzna krzywa eliptyczna Bitcoin, SECP256K1, i jej parametry (P i N) mają fundamentalne znaczenie dla jej implementacji.

Wnioski

W tym wykładzie zbadaliśmy podstawowe koncepcje kryptograficzne, które stanowią podstawę bezpieczeństwa i funkcjonalności Bitcoin. Od krytycznej roli funkcji Hash, drzew Merkle'a i podpisów cyfrowych po skomplikowaną matematykę kryptografii krzywych eliptycznych, te Elements tworzą kręgosłup zdecentralizowanej sieci Bitcoin. Zrozumienie tych pojęć to nie tylko zrozumienie teorii - chodzi o rozpoznanie praktycznych implikacji i potencjalnych pułapek w rzeczywistym rozwoju.

Jako deweloperzy Bitcoin musimy podchodzić do implementacji kryptograficznych z ostrożnością i precyzją. Bezpieczeństwo sieci Bitcoin zależy w dużej mierze od prawidłowego i bezpiecznego stosowania tych zasad kryptograficznych. Niezależnie od tego, czy weryfikujesz transakcje, projektujesz nowe funkcje, czy zapewniasz integralność Blockchain, dogłębna znajomość kryptografii umożliwi Ci tworzenie bardziej niezawodnych, bezpiecznych i innowacyjnych rozwiązań w ekosystemie Bitcoin.

Opanowując te koncepcje i przestrzegając najlepszych praktyk, będziesz dobrze przygotowany, aby skutecznie przyczyniać się do ciągłego rozwoju Bitcoin, zapewniając jego odporność i bezpieczeństwo w przyszłości.

Model zarządzania Bitcoin

Charakter Bitcoin

Bitcoin to cyfrowa waluta, która działa w oparciu o protokół konsensusu, czyli zestaw reguł uzgodnionych przez uczestników sieci w celu zapewnienia jednolitości i funkcjonalności. U podstaw Bitcoin leży zdecentralizowany Ledger znany jako Blockchain, w którym transakcje są rejestrowane i weryfikowane przez węzły sieci. Pełne węzły, które przechowują całą historię Bitcoin Blockchain, odgrywają kluczową rolę w utrzymaniu integralności tego Ledger. Inne typy węzłów, takie jak węzły archiwalne, węzły przycinane i węzły SPV (Simplified Payment Verification), również przyczyniają się do działania sieci na różne sposoby. Protokół konsensusu zapewnia, że wszystkie te węzły zgadzają się co do stanu Blockchain, dzięki czemu Bitcoin jest odporny na cenzurę i oszustwa.

Zapobieganie zmianom

Zarządzanie w Bitcoin ma kluczowe znaczenie dla zapobiegania arbitralnym lub złośliwym zmianom w protokole. Osiąga się to poprzez mechanizm konsensusu, który wymaga szerokiej zgody wśród społeczności. Deweloperzy z wiedzą programistyczną odgrywają znaczącą rolę w proponowaniu zmian, ale zmiany te muszą zostać zaakceptowane przez szerszą społeczność, aby mogły zostać wdrożone.

Bitcoin Core i alternatywne implementacje mają opiekunów, którzy nadzorują rozwój i utrzymanie oprogramowania. Opiekunowie ci są odpowiedzialni za scalanie zmian w kodzie, zapewniając, że są one zgodne z zasadami konsensusu i nie wprowadzają luk w zabezpieczeniach.

Widelce Soft vs Widelce Hard

Widełki Soft to zmiany, które zaostrzają istniejące zasady protokołu Bitcoin, sprawiając, że niektóre wcześniej ważne transakcje stają się nieważne. Są one kompatybilne wstecz, co oznacza, że niezaktualizowane węzły nadal będą rozpoznawać nowe zasady. Przykładem Soft Fork jest poprawka błędu przepełnienia z 2010 roku, która uniemożliwiła tworzenie pieniędzy z powietrza.

Widełki Hard to zmiany, które rozluźniają istniejące zasady, umożliwiając nowe typy transakcji. Nie są one kompatybilne wstecz, co oznacza, że niezaktualizowane węzły nie rozpoznają nowych zasad. Przykład Hard Fork może być potrzebny w przypadku problemu z rokiem 2106, aby zapewnić ciągłość działania Bitcoin po tej dacie.

Image Image

Przykłady zarządzania

Kilka rzeczywistych przykładów ilustruje zarządzanie Bitcoin w akcji. Poprawka błędu przepełnienia w 2010 r. była Soft Fork, która dotyczyła krytycznej usterki. Problem roku 2106 będzie prawdopodobnie wymagał Hard Fork, aby Address jego implikacje. Przejście od najdłuższego łańcucha do łańcucha o największej liczbie zadań odzwierciedla istotną decyzję w zakresie zarządzania, która wpłynęła na sposób osiągania konsensusu.

Zarządzanie Bitcoin odnosi się również do rzeczywistych zmian w korzystaniu z protokołu. Na przykład wprowadzenie liczb porządkowych i napisów ilustruje, w jaki sposób zmiany w protokole mogą nie cenzurować transakcji. Podobnie, wdrożenie pełnego RBF (Replace-by-fee) zmieniło procedury zastępowania transakcji bez zmiany zasad konsensusu.

Motywacje do zmian i konsensusu

Zmiany w Bitcoin mogą wynikać z różnych motywacji, takich jak naprawianie krytycznych błędów, wprowadzanie nowych funkcji lub ograniczanie zmian z powodów ekonomicznych lub politycznych. Motywacje te często prowadzą do debat w społeczności na temat tego, co stanowi błąd, a co funkcję i jaki jest ogólny wpływ na sieć.

Mechanizm konsensusu Bitcoin sprawia, że jest on z natury polityczny, wymagając szerokiej zgody na akceptację zmian. Ten polityczny aspekt ma kluczowe znaczenie dla utrzymania zdecentralizowanego charakteru sieci i zapewnienia, że wszelkie modyfikacje leżą w najlepszym interesie społeczności.

Uruchomione węzły mogą weryfikować reguły Bitcoin i uczestniczyć w sieci, nawet przy użyciu różnych protokołów komunikacyjnych, takich jak Blockstream Satellite. Podkreśla to oddzielenie mechanizmu konsensusu Bitcoin od metod komunikacji danych wykorzystywanych przez sieć. Znaczenie ekonomiczne węzłów, szczególnie tych prowadzonych przez duże podmioty, takie jak Binance, może wpływać na przyjmowanie zmian. Podmioty te mają znaczące interesy ekonomiczne w sieci i mogą wpływać na decyzje, uruchamiając wpływowe węzły.

Debata na temat rozmiaru bloku

Debata na temat rozmiaru bloku była istotną kwestią zarządzania, obracającą się wokół tego, czy zwiększyć rozmiar bloku Bitcoin. Kontrowersja ta została rozwiązana dzięki wdrożeniu SegWit, Soft Fork, który zwiększył efektywny rozmiar bloku i umożliwił Lightning Network.

Image

Wymuszone zmiany i rządy większości

Miały miejsce prawne próby zmuszenia deweloperów Bitcoin do zmiany zasad Blockchain dla osobistych korzyści, takie jak pozwy Craiga Wrighta. Próby te podkreślają wyzwania i kwestie etyczne związane z zarządzaniem Bitcoin.

W Bitcoin zasada większości odgrywa kluczową rolę. Jeśli 60% górników przyjmie nową zasadę, ich bloki zostaną odrzucone przez tych, którzy prowadzą oryginalny rdzeń Bitcoin, co doprowadzi do rozłamu. Przykładem nieudanego Hard Fork z powodu braku wsparcia społeczności jest Bitcoin Satoshi's Vision (BSV).

Przyjrzyjmy się pokrótce kilku ważnym koncepcjom.

Wymuszony Soft Fork: Koncepcja wdrożenia restrykcyjnych zasad w celu zmiany Bitcoin może prowadzić do dalszych podziałów i problemów związanych z zarządzaniem. Podejście to ilustruje złożoność i potencjalne konflikty w społeczności Bitcoin.

Atak 51%: Atak 51% opisuje scenariusz, w którym większość mocy hashującej może zaatakować Bitcoin przez Mining pustych bloków. Mogłoby to skutecznie zabić sieć, chyba że społeczność przyjmie nowe zasady konsensusu dla Address ataku.

Check-Lock-Time-Verify (CLTV): Check-Lock-Time-Verify (CLTV) jest przykładem zmiany zarządzania zaimplementowanej jako Soft Fork. CLTV zapewnia, że transakcje są ważne tylko po określonym czasie, co jest przydatne w przypadku kanałów płatności i kluczy zapasowych. Zmiana ta zaostrzyła zasady przy użyciu kodu operacyjnego, który wcześniej nic nie robił.

Podsumowując, przyszłość i zmiany Bitcoin zależą od zbiorowej woli jego użytkowników. Znaczące zmiany wymagają szerokiego konsensusu, odzwierciedlającego zdecentralizowany i polityczny charakter zarządzania Bitcoin.

Layer One Concepts

Składniki węzła w Bitcoin

Adam Gibson omawia różne komponenty węzła Bitcoin. Rozdział koncentruje się na roli, jaką każdy komponent odgrywa w utrzymaniu funkcjonalności i integralności sieci. W szczególności skupia się na tym, dlaczego powinniśmy uruchomić węzeł Bitcoin, co robi węzeł Bitcoin i jak działają różne komponenty węzła Bitcoin.

Wprowadzenie do węzłów Bitcoin

Zrozumienie roli węzłów Bitcoin ma kluczowe znaczenie dla każdego zaangażowanego w sieć Bitcoin. Uruchomienie węzła Bitcoin pozwala użytkownikom zatwierdzać transakcje, uczestniczyć w konsensusie i zachować kontrolę nad swoją prywatnością. W tym wykładzie omówiono, dlaczego uruchomienie węzła Bitcoin jest korzystne i w jaki sposób przyczynia się do ogólnego bezpieczeństwa i decentralizacji sieci Bitcoin.

Dlaczego warto uruchomić węzeł Bitcoin?

Uruchomienie węzła Bitcoin jest niezbędne z kilku powodów:

  1. Weryfikacja: Uruchamiając węzeł, możesz samodzielnie weryfikować transakcje, upewniając się, że otrzymany Bitcoin jest ważny, bez polegania na osobach trzecich.

  2. Uczestnictwo w konsensusie: Węzły odgrywają kluczową rolę w określaniu zasad sieci Bitcoin, a zatem udział w konsensusie pomaga utrzymać integralność i bezpieczeństwo Blockchain.

  3. Prywatność i kontrola: Uruchomienie własnego węzła zapewnia, że nie musisz polegać na zewnętrznych węzłach, które mogą zagrozić Twojej prywatności poprzez śledzenie Twoich transakcji i salda Wallet.

Co robi węzeł Bitcoin?

nodes network

UWAGA: Mempool to tymczasowy obszar przechowywania transakcji, które zostały zatwierdzone, ale nie zostały jeszcze uwzględnione w bloku.

Składniki węzła

Podstawowe moduły Bitcoin

Bitcoin core modules

Co możemy usunąć?

Stan łańcucha

Gdzie są monety?

Monety nie są przechowywane w adresach; znajdują się w UTXO, które reprezentują wszystkie wyniki transakcji, które nie zostały wydane. Informacje te można uzyskać za pomocą polecenia:

bitcoin-cli gettxoutsetinfo
utxoset info command

Możemy sprawdzić, czy liczba Bitcoinów jest prawidłowa.

Dla każdego UTXO, stan łańcucha ma:

WAŻNE: Transakcje nie są tym samym co UTXO.

Txs and UTXOs

Mempool

Jest to lista niepotwierdzonych transakcji w każdym węźle, które nazywane są transakcjami kandydującymi. Przechowywana jest w pamięci RAM w celu szybkiego dostępu i nie jest częścią konsensusu.

Względy bezpieczeństwa dla węzłów Bitcoin

Bezpieczeństwo jest najważniejsze podczas korzystania z węzła Bitcoin. Oto kilka kluczowych kwestii, o których należy pamiętać:

Unikanie centralizacji

Poleganie na jednym źródle danych Blockchain, takim jak pobieranie wszystkich bloków z centralnego serwera, stwarza znaczne ryzyko. Aby zachować zdecentralizowany charakter Bitcoin, węzły powinny łączyć się z wieloma urządzeniami równorzędnymi i weryfikować otrzymywane dane.

Zapobieganie atakom izolacyjnym

Ataki izolacyjne mają miejsce, gdy węzeł zostaje nakłoniony do połączenia się z ograniczonym zestawem urządzeń równorzędnych, co pozwala atakującemu na dostarczenie mu nieprawidłowych danych. Łącząc się z różnorodnym zestawem peerów i weryfikując otrzymane dane, węzły mogą chronić się przed takimi atakami.

Zarządzanie połączeniami równorzędnymi

Węzły muszą starannie zarządzać swoimi połączeniami równorzędnymi, aby upewnić się, że nie łączą się ze złośliwymi aktorami. Obejmuje to utrzymywanie listy zbanowanych peerów, którzy wykazali podejrzane zachowanie i regularne aktualizowanie listy peerów, aby uniknąć polegania na małej grupie węzłów.

Znaczenie zestawu UTXO

Zestaw UTXO reprezentuje bieżący stan Bitcoin, wymieniając wszystkie niewydane wyjścia transakcji. Ma to kluczowe znaczenie dla walidacji transakcji i zapewnienia, że monety nie zostaną wydane więcej niż jeden raz. Utrzymanie tego zestawu na małym i łatwo dostępnym poziomie jest ważne dla utrzymania wydajności sieci.

Wnioski

Uruchomienie węzła Bitcoin to potężny sposób na uczestnictwo w sieci Bitcoin, zapewniający możliwość weryfikacji transakcji, zachowania prywatności i przyczynienia się do bezpieczeństwa i decentralizacji Blockchain. Niezależnie od tego, czy zdecydujesz się uruchomić Full node, czy dostosować swoją konfigurację, przycinając Blockchain lub wyłączając niektóre komponenty, zrozumienie podstawowych funkcji i względów bezpieczeństwa węzła Bitcoin umożliwi ci podejmowanie świadomych decyzji i przyczyni się do ciągłej ewolucji Bitcoin.

Struktury danych Bitcoin

Głównym celem tego wykładu jest przeprowadzenie użytkownika przez proces analizowania bloku Bitcoin poprzez kodowanie parsera w Rust. Obejmuje to zrozumienie struktury bloków i transakcji Bitcoin oraz wdrożenie niezbędnej logiki w celu wyodrębnienia i interpretacji tych danych.

Parsowanie bloków Bitcoin i transakcji w Rust

Składniki do przeanalizowania

Aby przeanalizować blok Bitcoin, należy skupić się na następujących elementach:

  1. Nagłówek bloku

  2. Transakcje w ramach bloku

  3. Wejścia i wyjścia transakcji

Struktura nagłówka bloku

Nagłówek bloku jest kamieniem węgielnym bloku Bitcoin i zawiera następujące pola:

Uwaga: Tylko pierwsze 80 bajtów (składające się na nagłówek bloku) jest zaszyfrowane podczas Mining.

Block header structure

Uproszczenia

Aby nasz przykład był łatwy do opanowania:

Struktura transakcji

Każda transakcja w bloku Bitcoin zawiera następujące elementy:

Transaction structure TxIn structure Outpoint structure TxOut structure

Techniki parsowania

W Rust możemy używać różnych technik do analizowania tych struktur:

trait Parse: Sized {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error>;
}
impl Parse for i32 {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error> {
let val = i32::from_le_bytes(bytes[0..4].try_into()?);
Ok((val, &bytes[4..]))
}
}

Debugowanie i testowanie

Aby upewnić się, że nasz parser działa poprawnie:

Obsługa przypadków specjalnych i parsowanie skryptów

Implementacja funkcji "parse

Zaimplementujemy funkcję parse do obsługi pełnego bloku, w tym nagłówka bloku i transakcji. Obejmuje to odczyt danych bloku i wyodrębnienie odpowiednich pól.

impl Parse for Block {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error> {
let (header, bytes) = Parse::parse(bytes)?;
let (transactions, bytes) = Parse::parse(bytes)?;

let block = Block {
header, transactions
};

Ok((block, bytes))
}
}

Modyfikacja nagłówka bloku

Musimy dostosować naszą logikę parsowania, aby usunąć liczbę transakcji ze struktury nagłówka bloku, traktując ją jako oddzielną jednostkę.

impl Parse for BlockHeader {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error> {
let (version, bytes) = Parse::parse(bytes)?;
let (prev_block, bytes) = Parse::parse(bytes)?;
let (merkle_root, bytes) = Parse::parse(bytes)?;
let (timestamp, bytes) = Parse::parse(bytes)?;
let (bits, bytes) = Parse::parse(bytes)?;
let (nonce, bytes) = Parse::parse(bytes)?;

let header = BlockHeader {
version, prev_block, merkle_root, timestamp, bits, nonce,
};

Ok((header, bytes))
}
}

Definicja struktury

Zdefiniuj nową strukturę Block, która zawiera zarówno nagłówek bloku, jak i listę transakcji.

struct Block {
header: BlockHeader,
transactions: Vec<Transaction>,
}

Składnia Rust Elements

Wprowadzenie składni Rust Elements, takiej jak znak zapytania (?) do obsługi błędów. Uprości to nasz kod i uczyni go bardziej czytelnym.

Twierdzenia

Dodanie asercji w celu sprawdzenia, czy po przetworzeniu pełnego bloku nie pozostały żadne nieprzeanalizowane bajty. Zapewnia to integralność naszego procesu parsowania.

Przypadki specjalne, takie jak transakcje Coinbase

Transakcje Coinbase, które są pierwszą transakcją w bloku używanym do ubiegania się o Block reward, mają unikalne cechy. Musimy odpowiednio obsługiwać te specjalne przypadki.

struct OutPoint {
txid: [u8; 32],
vout: u32,
}

impl OutPoint {
fn is_coinbase(&self) -> bool {
self.txid == [0; 32] && self.vout == 0xFFFFFFFF
}
}

Strategia parsowania skryptów

Aby przeanalizować skrypt w transakcjach, skupimy się na typowych kodach operacyjnych, takich jak OP_CHECKSIG, OP_HASH160 i OP_PUSH. Parsowanie tych skryptów ma kluczowe znaczenie dla walidacji transakcji i obsługi błędów.

enum OpCode {
False,
Return,
Dup,
Equal,
CheckSig,
Hash160,
EqualVerify,
Push(Vec<u8>),
}

impl Parse for OpCode {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error> {
match bytes[0] {
v @ 1..=75 => {
let data = bytes[1..(v as usize + 1)].iter().cloned().collect();
Ok((OpCode::Push(data), &bytes[(v as usize + 1)..]))
},
76 => {
let len = bytes[1] as usize;
let data = bytes[2..(len + 2)].iter().cloned().collect();
Ok((OpCode::Push(data), &bytes[(len + 2)..]))
},

0 => Ok((OpCode::False, &bytes[1..])),

106 => Ok((OpCode::Return, &bytes[1..])),
118 => Ok((OpCode::Dup, &bytes[1..])),
135 => Ok((OpCode::Equal, &bytes[1..])),

136 => Ok((OpCode::EqualVerify, &bytes[1..])),
169 => Ok((OpCode::Hash160, &bytes[1..])),
172 => Ok((OpCode::CheckSig, &bytes[1..])),

_ => todo!()
}
}
}
op_checksig op_hash160 op_push

Wyzwania związane z analizowaniem skryptów

Parsowanie skryptów może stanowić wyzwanie, szczególnie w przypadku transakcji coinbase. Ważne jest, aby uwzględnić przypadki brzegowe i poprawnie je obsłużyć, aby zapewnić dokładne analizowanie.

impl Parse for Script {
fn parse(bytes: &[u8]) -> Result<(Self, &[u8]), Error> {
let (len, bytes) = VarInt::parse(bytes)?;
let mut script_bytes = &bytes[..len.0 as usize];
let mut opcodes = Vec::new();
while !script_bytes.is_empty() {
let (opcode, bytes) = OpCode::parse(script_bytes)?;
script_bytes = bytes;
opcodes.push(opcode);
}

Ok((Script(opcodes), &bytes[len.0 as usize..]))
}
}

Bloki kompaktowe

Wykorzystanie kompaktowych bloków jest obecnie stosowane w celu zwiększenia wydajności transmisji danych między węzłami. Zmniejsza to wykorzystanie przepustowości i przyspiesza synchronizację, wysyłając transakcje, których brakowało w Mempool, wypełniając je transakcją, którą węzeł już posiadał w bloku, a następnie zatwierdzając ją.

Korzystanie z istniejących bibliotek

W przypadku aplikacji krytycznych dla konsensusu zaleca się korzystanie z istniejących bibliotek w celu uniknięcia błędów i zapewnienia bezpieczeństwa, takich jak Rust-Bitcoin lub Bitcoin-dev-kit. Implementacja własnego parsera może być edukacyjna, ale także ryzykowna w środowiskach produkcyjnych.

libraries

Wydajność i bezpieczeństwo w Bitcoin Mining

Wydajność w Mining

Puste bloki Mining mogą być bardziej wydajne dla górników:

Przyczyny pustych bloków Mining

Puste bloki są czasami wydobywane z powodu problemów czasowych. Górnicy mogą nie otrzymać pełnej listy transakcji do czasu rozpoczęcia Mining następnego bloku, więc zamiast tego decydują się na wydobycie pustego bloku.

empty block

Złośliwe Mining pustych bloków

Chociaż złośliwe Mining pustych bloków jest możliwe, nie zostało to zaobserwowane. Głównym powodem pustych bloków jest ograniczenie czasowe, a nie złośliwe intencje.

Konsekwencje pustych bloków

Występowanie pustych bloków jest normalnym aspektem procesu Mining i wynika głównie z kwestii czasowych. Chociaż nie zawierają one transakcji, nadal wydłużają Blockchain i przyczyniają się do bezpieczeństwa sieci.

Znaczenie bezpieczeństwa

Bezpieczeństwo w Bitcoin Mining jest najważniejsze. Przestrzegając najlepszych praktyk i korzystając z dobrze sprawdzonych bibliotek, górnicy i deweloperzy mogą zapewnić integralność Blockchain i chronić się przed potencjalnymi lukami w zabezpieczeniach.

Podsumowując, analizowanie bloków Bitcoin i transakcji w Rust wymaga zrozumienia złożonych struktur i wdrożenia wydajnych technik analizowania. Obsługa specjalnych przypadków i parsowanie skryptów wymaga starannego rozważenia, a skupienie się na wydajności i bezpieczeństwie zapewnia solidność sieci Bitcoin.

Przegląd oprogramowania Bitcoin i implementacje węzłów

Daniela Brozzoni oferuje kompleksowy przegląd stosu oprogramowania Bitcoin Layer 1, wyjaśniając warstwy, które stanowią podstawę protokołu Bitcoin (tj. węzły Bitcoin i portfele Bitcoin) oraz sposób tworzenia oprogramowania Bitcoin wraz z wprowadzeniem do bibliotek Bitcoin i dogłębnym zanurzeniem się w Bitcoin Development Kit (BDK).

Przegląd oprogramowania Bitcoin

Stos oprogramowania Bitcoin ma fundamentalne znaczenie dla jego działania i składa się z różnych Elements, w tym węzłów i portfeli. Kluczową częścią tego ekosystemu jest Bitcoin Development Kit (BDK), który szczegółowo omówimy później. Najpierw skupmy się na roli węzłów w sieci Bitcoin.

Węzły Bitcoin

Węzły Bitcoin stanowią szkielet sieci Bitcoin. Łączą się one ze sobą, transakcjami i blokami Exchange oraz weryfikują przychodzące dane. Istnieją różne typy węzłów, a każdy z nich służy unikalnemu celowi:

archival node pruned node

Bitcoin Core

Bitcoin Core jest najczęściej używaną implementacją Full node. Pełni podwójną funkcję zarówno Full node, jak i Wallet. Kluczowe aspekty Bitcoin Core obejmują:

cli-gui
Exploring Bitcoin Core

Aby zdobyć praktyczne doświadczenie z Bitcoin Core, można skompilować i uruchomić testy przy użyciu Git. Proces ten obejmuje:

./autogen.sh
./configure
make # use "-j N" for N parallel jobs
make install # optional
make check

#individual tests can be run directly calling the test script e.g:
test/functional/feature_rbf.py

#run all possible tests
test/functional/test_runner.py

Alternatywne implementacje węzłów

Poza Bitcoin Core, istnieje kilka alternatywnych implementacji węzłów:

Wdrożenie tych alternatyw wiąże się z własnym ryzykiem, szczególnie w odniesieniu do zasad konsensusu. Odejście od ustalonych zasad walidacji może prowadzić do rozwidleń lub niespójności. Projekt Bitcoin Kernel ma na celu ograniczenie tego ryzyka poprzez centralizację kodu konsensusu, zapewniając jednolitość we wszystkich implementacjach.

implementation

Portfele i zabezpieczenia Bitcoin

Portfele Bitcoin mają kluczowe znaczenie dla bezpiecznego zarządzania zasobami Bitcoin. Występują one w różnych formach, z których każda ma różne funkcje i względy bezpieczeństwa.

Rodzaje portfeli Bitcoin

  1. Custodian vs. Non-Custodian:

    • Portfele powiernicze**: Zarządzane przez strony trzecie, oferujące wygodę, ale wymagające zaufania do powiernika.
    • Portfele niebędące portfelami powierniczymi**: Kontrolowane przez użytkowników, zapewniające większe bezpieczeństwo i prywatność.
  2. Desktop vs. Mobile:

    • Portfele stacjonarne**: Zazwyczaj bardziej funkcjonalne i bezpieczne.
    • Portfele mobilne**: Oferują wygodę i przenośność.
  3. On-Chain vs. Lightning:

    • Portfele On-Chain**: Bezpośrednia interakcja z Bitcoin Blockchain.
    • Lightning Wallets**: Szybsze i tańsze transakcje off-chain.
  4. Portfele Cold vs. Portfele Hot:

    • Portfele Cold**: Nie są połączone z Internetem, zapewniając doskonałe bezpieczeństwo przed włamaniami.
    • Portfele Hot**: Połączone z Internetem, oferujące większą dostępność, ale mniejsze bezpieczeństwo.

Cold Wallet Bezpieczeństwo

Portfele Cold są cenione za swoje bezpieczeństwo. Pozostając w trybie offline, są one z natury odporne na włamania online. Kluczowe jest jednak upewnienie się, że transakcje wykonywane za pośrednictwem portfeli Cold są bezpieczne i dokładne, aby zapobiec nieumyślnemu wysłaniu Bitcoin do złośliwych podmiotów.

Portfele tylko na zegarki

Portfele typu watch-only zawierają wyłącznie klucze publiczne, umożliwiając użytkownikom otrzymywanie Bitcoin i monitorowanie salda bez możliwości wydawania środków. Funkcja ta zapewnia dodatkowe bezpieczeństwo Layer dla tych, którzy muszą mieć oko na swoje zasoby.

Podstawowe funkcje Bitcoin Wallet

Niezależnie od typu, każdy Bitcoin Wallet spełnia trzy podstawowe funkcje:

  1. Odbieranie adresów Bitcoin: Adresy generate i monitorowanie transakcji przychodzących.

  2. Wyślij Bitcoin: Tworzenie i wysyłanie transakcji do sieci.

  3. Wyświetl saldo: Wyświetla bieżące saldo Wallet.

Rola portfeli Bitcoin

keychain monitor tx_builder

Możliwość ponownego wykorzystania logiki Wallet

Biorąc pod uwagę, że wszystkie portfele Bitcoin mają podobne funkcje, wielokrotne przepisywanie logiki Wallet jest nieefektywne. W tym miejscu do gry wkracza Bitcoin Development Kit (BDK).

Zestaw deweloperski Bitcoin (BDK) i koncepcje techniczne

Bitcoin Development Kit (BDK) to biblioteka zaprojektowana w celu uproszczenia tworzenia i zarządzania portfelami Bitcoin.

Przegląd BDK

BDK upraszcza tworzenie Wallet, zapewniając funkcjonalność wyższego poziomu zbudowaną na Rust Bitcoin. Obsługuje wiele języków programowania poprzez wiązania, w tym Kotlin, Swift i Python.

Inne biblioteki Bitcoin

Liczne biblioteki Bitcoin obsługują różne języki programowania, takie jak Python, JavaScript, Java, Go i C. Biblioteki te oferują różnorodne narzędzia do rozwoju Bitcoin.

Kluczowe koncepcje techniczne

  1. Deskryptory: Deskryptory opisują sposób wyprowadzania skryptów i adresów Bitcoin z kluczy, umożliwiając bardziej elastyczne i wydajne funkcje Wallet.

  2. PSBT (częściowo podpisane transakcje Bitcoin): PSBT to format dla transakcji, które wymagają wielu podpisów, ułatwiając transakcje oparte na współpracy i zwiększając bezpieczeństwo.

  3. Składnia Rust: Kluczowe pojęcia w Rust, takie jak Option dla bezpieczeństwa null i typ Result dla obsługi błędów, są integralną częścią zrozumienia i efektywnego korzystania z BDK.

Tworzenie i zarządzanie transakcjami

BDK usprawnia proces tworzenia, podpisywania i nadawania transakcji:

  1. Buduj transakcje: Określ odbiorców, kwoty i opłaty.

  2. Podpisywanie transakcji: Użyj PSBT, aby zebrać podpisy.

  3. Transakcje rozgłoszeniowe: Wysyła sfinalizowane transakcje do sieci.

Przykładowy przepływ pracy w BDK

use bdk::{Wallet, SyncOptions};
use bdk::database::MemoryDatabase;
use bdk::blockchain::ElectrumBlockchain;
use bdk::electrum_client::Client;
use bdk::bitcoin;

fn main() -> Result<(), bdk::Error> {
let wallet = Wallet::new(
"tr(tprv8ZgxMBicQKsPf6WJ1Rr8Zmdsr6MaACS5K3tHw3QDQmFbkEsdnG3zAZzhjEgEtetL1jwZ5VAL85UaaFzUpAZPrS7aGkQ3GdM75xPu4sUxSiF/*)",
None,
bitcoin::Network::Testnet,
MemoryDatabase::default(),
)?;

Ok(())
}
//import AddressIndex outside the main function
use bdk::wallet::AddressIndex;

//Function to add isnide main function
let address = wallet.get_address(AddressIndex::New)?;

//connect to Electrum server and save the blockchain
let client = Client::new("ssl://electrum.blockstream.info:60002")?;
let blockchain = ElectrumBlockchain::from(client);

//sync wallet to the blockchain received
wallet.sync(&blockchain, SyncOptions::default())?;

//get the balance from your wallet
let balance = wallet.get_balance()?;
println!("This is your wallet balance: {}", balance);
//Add to the imports
use bdk::bitcoin::Address;
use bdk::{SignOptions};
use std::str::FromStr;
use bdk::blockchain::Blockchain;

//build a transaction psbt
let mut builder = wallet.build_tx();
let recipient_address = Address::from_str("tb1qlj64u6fqutr0xue85kl55fx0gt4m4urun25p7q").unwrap();

builder
.drain_wallet()
.drain_to(recipient_address.script_pubkey())
.fee_rate(FeeRate::from_sat_per_vb(2.0))
.enable_rbf();
let (mut psbt, tx_details) = builder.finish()?;
println!("This is our psbt: {}", psbt);
println!("These are the details of the tx: {:?}", tx_details);

//Sign the PSBT
let finalized = wallet.sign(&mut psbt, SignOptions::default())?;
println!("Is my PSBT Signed? {}", finalized);
println!("This is my PSBT finalized: {}", psbt);


let tx = psbt.extract_tx();
let tx_id = tx.txid();
println!("this is my Bitcoin tx: {}", bitcoin::consensus::encode::serialize_hex(&tx));
println!("this is mny tx id: {}", tx_id);

//Broadcast the transaction
blockchain.broadcast(&tx)?;

Drukowanie txid i transmisja transakcji

Przypisanie i wydrukowanie transaction ID (txid) umożliwia monitorowanie na platformach takich jak Mempool.space. Rozgłaszanie transakcji można wykonać za pomocą metody Blockchain.broadcast, a weryfikacja szczegółów i statusu transakcji ma kluczowe znaczenie dla zapewnienia pomyślnej propagacji.

Uwagi dotyczące użyteczności i prywatności BDK

BDK jest nieoceniony dla uproszczenia rozwoju Bitcoin Wallet. W celu zwiększenia prywatności zalecane są narzędzia takie jak Electrum, Explora i osobiste węzły Bitcoin Core.

Języki programowania

Podczas opracowywania projektów Bitcoin często preferowany jest Rust ze względu na jego bezpieczeństwo i wydajność. Wybór języka może się jednak różnić w zależności od konkretnych wymagań projektu i doświadczenia dewelopera.

Zależności BDK

BDK opiera się na kilku kluczowych zależnościach, w tym Rust-Bitcoin i Rust-Miniscipt. Dodatkowe biblioteki mogą być wykorzystywane do zarządzania bazami danych i kryptografii.

Zrozumienie tych komponentów, od węzłów i portfeli Bitcoin po zestaw deweloperski Bitcoin (BDK), pozwala poruszać się po ekosystemie Bitcoin z większą pewnością i kompetencjami. Wiedza ta umożliwia tworzenie solidnych i bezpiecznych aplikacji Bitcoin, przyczyniając się do ciągłej ewolucji tej rewolucyjnej technologii.

Lightning Network

Historia kanałów płatności

Historia kanałów płatności

Witamy w naszym wykładzie na temat nowoczesnych rozwiązań płatniczych w technologii Blockchain. Dzisiaj zbadamy kontekst historyczny i kluczowe osiągnięcia blokad multi-hop (MHL) i Lightning Network.

Przegląd i kontekst historyczny

Multi-hop locks (MHL) i Lightning Network to zaawansowane koncepcje w technologii Blockchain, które ułatwiają wydajne i bezpieczne mikropłatności w całej sieci. Historycznie rzecz biorąc, potrzeba tych innowacji wynikała z nieefektywności i ograniczeń zaobserwowanych podczas początkowego wdrażania technologii Blockchain, w szczególności Bitcoin. Gdy zagłębimy się w temat, zrozumiesz, w jaki sposób struktury tematyczne i podejścia warstwowe zrewolucjonizowały transakcje Blockchain.

Struktura tematyczna

Wprowadzenie MHL i Lightning Network oznacza zmianę paradygmatu z tradycyjnych, liniowych transakcji Blockchain na bardziej wyrafinowane, wielowarstwowe systemy. Dzieląc transakcje na określone tematy lub segmenty, innowacje te umożliwiają bardziej skalowalną i bezpieczną infrastrukturę płatniczą, która rozwiązuje wiele nieodłącznych problemów związanych z wczesnymi wdrożeniami Blockchain.

Problemy z Bitcoin

Bitcoin, pionier technologii Blockchain, wprowadził zdecentralizowany system, w którym transakcje są transmitowane w całej sieci. Choć rewolucyjna, metoda ta jest z natury nieefektywna. Każdy węzeł w sieci musi zweryfikować każdą transakcję, co prowadzi do znacznych opóźnień i wąskich gardeł, zwłaszcza przy dużej liczbie transakcji.

Zdecentralizowany proces walidacji Bitcoin wymaga znacznych zasobów obliczeniowych. Każda transakcja musi zostać zweryfikowana i zarejestrowana przez wiele węzłów, zużywając ogromne ilości energii i mocy obliczeniowej. Nie tylko zwiększa to koszty operacyjne, ale także obciąża przepustowość sieci, prowadząc do zwiększenia opłat transakcyjnych i spowolnienia czasu przetwarzania.

Podczas gdy decentralizacja Bitcoin jest jedną z jego głównych zalet, stanowi ona również poważne wyzwanie. Publiczny charakter Blockchain oznacza, że wszystkie transakcje są widoczne dla wszystkich, co budzi obawy o prywatność. Co więcej, potrzeba konsensusu między licznymi węzłami może prowadzić do presji centralizacyjnej, ponieważ władza Mining staje się skoncentrowana w rękach kilku dużych podmiotów.

Kanały płatności jako rozwiązanie

Gold coinGold Standard Metaphor

Aby Address wyeliminować nieefektywność i kwestie prywatności Bitcoin, kanały płatności zostały zaproponowane jako realne rozwiązanie. Kanały mikropłatności umożliwiają dokonywanie transakcji off-chain, zmniejszając potrzebę ciągłego udostępniania danych w całej sieci. To znacznie odciąża Blockchain, pozwalając na szybsze i tańsze transakcje.

Podstawową zasadą kanałów płatności jest koncepcja przyjmowania transakcji off-chain. Zamiast transmitować każdą transakcję do całej sieci, strony mogą otworzyć kanał płatności i przeprowadzać liczne transakcje między sobą. Tylko otwarcie i zamknięcie kanału są rejestrowane w Blockchain, co znacznie poprawia wydajność i prywatność.

Pomimo off-chain charakteru kanałów płatności, pozostaje możliwość egzekwowania transakcji On-Chain. W przypadku sporu lub próby oszustwa przez jedną ze stron, najnowszy stan kanału może być transmitowany do Blockchain, zapewniając, że uzgodnione transakcje są honorowane, a środki są przydzielane prawidłowo.

Kanały płatności stanowią znaczący krok naprzód w technologii Blockchain, zapewniając skalowalną i bezpieczną metodę przeprowadzania transakcji, jednocześnie rozwiązując wiele podstawowych problemów związanych z Bitcoin. Ponieważ nadal wprowadzamy innowacje i budujemy na tych fundamentach, przyszłość Blockchain wygląda coraz bardziej obiecująco.

Podsumowując, zrozumienie kontekstu historycznego i wyzwań związanych z Bitcoin oraz innowacyjnych rozwiązań proponowanych za pośrednictwem MHL, Lightning Network i kanałów płatności zapewnia kompleksowy obraz obecnego krajobrazu i przyszłego potencjału technologii Blockchain.

Historia routingu atomowego

W naszych poprzednich dyskusjach omówiliśmy podstawy podstawowych kanałów płatności. Kanały te pozwalają dwóm uczestnikom, powiedzmy Alice i Bobowi, na dokonywanie transakcji bezpośrednio między sobą. Istnieje jednak rażące ograniczenie tego modelu: Alice może dokonywać transakcji tylko z Bobem, a nie z innymi uczestnikami, takimi jak Charlie, chyba że ustanowi oddzielne kanały z każdym z nich. Konieczność posiadania wielu kanałów prowadzi do nieefektywności i skalowalności, ponieważ niepraktyczne byłoby otwieranie przez Alice bezpośredniego kanału z każdym, z kim chce dokonać transakcji.

Scentralizowany chmiel

Aby Address te ograniczenia, Manny Rosenfeld zaproponował koncepcję scentralizowanych węzłów w 2012 roku. Model ten wprowadził scentralizowane procesory płatności, takie jak TrustPay, do kierowania płatności między użytkownikami. Chociaż metoda ta może zmniejszyć zapotrzebowanie na wiele bezpośrednich kanałów, wprowadza ona istotne wady. Scentralizowane węzły cierpią z powodu kwestii bezpieczeństwa, obaw o zaufanie, naruszeń prywatności, możliwości oszustw, cenzury i problemów z niezawodnością. Użytkownicy muszą ufać tym scentralizowanym podmiotom, aby ułatwić swoje transakcje, co jest sprzeczne z etosem decentralizacji.

Hashed Time Lock Contract (HTLC) i implementacja

Ograniczenia i wady scentralizowanych węzłów wymagały bardziej bezpiecznego i zdecentralizowanego rozwiązania. Potrzeba ta doprowadziła do opracowania Hashed Time Lock Contract (HTLC), zaproponowanego w 2015 roku przez Josepha Poona i Thaddeusa Dreijera jako część Lightning Network. HTLC łączą zasady blokad czasowych i blokad Hash, aby zapewnić atomowość i brak zaufania w transakcjach. Oznacza to, że transakcja albo zostanie w pełni zakończona, albo w ogóle nie dojdzie do skutku, łagodząc ryzyko związane z niekompletnymi płatnościami.

Przepływ pracy HTLC obejmuje wieloetapowy proces, który zapewnia bezpieczny routing przez wielu pośredników. Załóżmy, że Alice chce zapłacić Ericowi przez pośredników Boba, Carol i Dianę. Każdy krok w procesie obejmuje tworzenie transakcji Commitment z malejącymi blokadami czasowymi i kwotami. Jeśli to konieczne, ostatni krok może być transmitowany do sieci Bitcoin w celu sfinalizowania transakcji.

W HTLC Alice blokuje płatność za pomocą Hash tajnego "R" Bob, Carol i Diana tworzą podobne umowy ze swoimi kolejnymi pośrednikami, zapewniając, że mogą odebrać swoje środki tylko wtedy, gdy przedstawią prawidłowy sekret "R" Mechanizm ten zapewnia atomowość; płatność kończy się w pełni lub kończy się niepowodzeniem, chroniąc przed częściową utratą środków.

Hash lockHash lock function

Rozważania praktyczne i dynamika sieci

W praktycznym scenariuszu przepływ płatności Alice obejmuje płacenie Ericowi przez wielu pośredników, takich jak Bob, Carol i Diana. Każdy uczestnik tego łańcucha jest odpowiedzialny za pobieranie środków od poprzedniego uczestnika.

Aktualizacje stanu kanału

Kanały aktualizują swój stan w oparciu o wzajemne porozumienia i podpisy między uczestnikami. Na przykład, Alice i Bob mogą aktualizować swój stan kanału bez konieczności używania tajnego "R", pod warunkiem, że zgadzają się co do warunków transakcji.

Zapewniona atomowość

Mechanizm HTLC zapewnia atomowość poprzez zastosowanie blokad czasowych i podpisów. Zabezpieczenie to gwarantuje, że protokół płatności gwarantuje całkowity sukces lub niepowodzenie, chroniąc przed częściowymi stratami środków.

Time lock and signaturesCombine restrictions

Zachęty i obowiązki

Pośrednicy tacy jak Diana i Carol są zachęcani do prawidłowego działania w sieci. Jeśli tego nie zrobią, konsekwencje zazwyczaj wpływają tylko na samego pośrednika, promując w ten sposób odpowiedzialne zachowanie.

Uwagi praktyczne

Jednak więcej przeskoków na trasie płatności może zwiększyć opóźnienia, opłaty i potencjalną zawodność. Otwarcie wielu kanałów może pomóc zmniejszyć liczbę przeskoków wymaganych do routingu, zwiększając ogólną wydajność.

Wykres kanału i płynność

Węzły w sieci mogą być częścią publicznie ogłoszonego grafu kanałów lub pozostać niezapowiedziane. Płynność tych kanałów odgrywa kluczową rolę w skutecznym routingu, ponieważ węzły potrzebują wystarczających sald, aby skutecznie przekazywać płatności.

Routing źródłowy i prywatność

Alicja musi znać topologię sieci, aby zdecydować o trasie płatności. Routing źródłowy jest stosowany w celu zachowania prywatności pomimo złożoności routingu płatności przez wielu pośredników.

Source RoutingSource Routing Path

Wnioski

Podsumowując, prawidłowe działanie węzła zapewnia płatności atomowe, a Lightning Network ma na celu Address wiele problemów, z którymi borykają się tradycyjne systemy płatności, takie jak Ripple. Wykorzystując HTLC i strategiczny routing, Lightning Network zapewnia bardziej skalowalne, wydajne i bezpieczne rozwiązanie dla zdecentralizowanych płatności.

Recenzja Bolt

Sieć Bitcoin działa jako system Trustless o wartości Exchange, służąc głównie jako Layer rozliczeniowy, w którym transakcje są rejestrowane na publicznym Ledger. Zapewnia to bezpieczeństwo i niezmienność, ale wiąże się z ograniczeniami, szczególnie pod względem szybkości transakcji i opłat. W rezultacie Bitcoin może być nieefektywny dla codziennych małych transakcji.

Wprowadź Lightning Network, który działa jako drugi Layer na szczycie Bitcoin Blockchain. Ta sieć płatności została zaprojektowana w celu ułatwienia szybkich i tanich transakcji. Otwierając kanał płatności między dwiema stronami, mogą one dokonywać transakcji off-chain, rejestrując jedynie salda początkowe i końcowe na Bitcoin Blockchain. To znacznie zmniejsza obciążenie głównej sieci, zwiększając skalowalność i umożliwiając mikrotransakcje.

Aby lepiej zrozumieć tę koncepcję, rozważ analogię do karty barowej. Kiedy otwierasz kartę w barze, możesz stale zamawiać drinki bez płacenia za każdy z nich. Na koniec rozliczasz całkowitą kwotę na koniec wieczoru. Podobnie, kanał Lightning umożliwia wiele transakcji off-chain, które są rozliczane On-Chain dopiero po zamknięciu kanału. Inną analogią jest lotnisko, gdzie przekierowanie płatności przez wiele węzłów jest podobne do korzystania z lotów z przesiadkami, aby dotrzeć do miejsca docelowego. Każdy węzeł (lub "lot") pomaga skierować płatność tam, gdzie powinna dotrzeć, zapewniając efektywne przekierowanie.

airport analogyThe airport analogy of LN

Zasadniczo Lightning Network uzupełnia sieć Bitcoin, eliminując jej ograniczenia, przekształcając ją ze zwykłego rozliczeniowego Layer we wszechstronny system zdolny do wydajnej obsługi codziennych transakcji.

**Specyfikacja Lightning Network

Protokół Lightning Network jest skrupulatnie zdefiniowany przez 10 BOLT (Basis of Lightning Technology). Te BOLT zostały uzgodnione podczas konferencji w Mediolanie i służą jako podstawa dla różnych implementacji Lightning Network.

bolt_BOLT Diagram _

Bolt 1 (protokół podstawowy)

Bolt 1 określa formatowanie komunikatów przy użyciu struktury Type-Length-Value (TLV), która zapewnia, że komunikaty są jednolicie rozumiane w różnych implementacjach. Komunikacja jest zwykle prowadzona za pośrednictwem określonego portu TCP, a komunikaty można podzielić na kategorie:

Bolt 2 (cykl życia kanału)

Bolt 2 zagłębia się w cykl życia kanału, począwszy od jego utworzenia do normalnej pracy i ostatecznie rozliczenia. Kluczowe procesy obejmują:

Mechanizm aktualizacji

HTLC odgrywają kluczową rolę w routingu płatności w sieci, umożliwiając bezpieczne transakcje bez zaufania. Komunikaty Commitment i odwołania zapewniają wzajemne porozumienie w sprawie stanu kanału i zapobiegają oszustwom.

Wiadomości specjalne

Konkretne komunikaty, takie jak Update Fee, dostosowują opłaty Miner do transakcji Commitment, podczas gdy komunikaty Channel Reestablish zapewniają, że oba peery pozostają zsynchronizowane po rozłączeniu.

Zamykanie kanałów

Kanały mogą być zamykane za obopólną zgodą, jednostronnym działaniem lub karą w przypadku wykrycia oszustwa. Prawidłowe zamknięcie bezpiecznie finalizuje transakcje.

Swapy na potrzeby zarządzania płynnością

Swapy umożliwiają wypłaty On-Chain i efektywne zarządzanie płynnością bez zamykania kanałów. Przyszłe rozwiązania, takie jak splicing, są opracowywane w celu usprawnienia tego procesu.

Środki bezpieczeństwa

Transakcje Commitment obejmują mechanizmy takie jak nLockTime, OPCheckSequenceVerify i klucze odwołania w celu zabezpieczenia środków i zapobiegania kradzieży.

Routing i Onion Routing

onion routing_Onion Routing diagram _

Płatności są kierowane przy użyciu routingu Onion, który obejmuje tworzenie zaszyfrowanych pakietów wysyłanych przez wiele węzłów. HTLC zabezpieczają transakcję, zapewniając prywatność i bezpieczeństwo.

Struktura Invoice

Faktury Lightning Network (Bolt 11) są kodowane w Bech32 i zawierają szczegóły, takie jak płatność Hash, opis i wygaśnięcie. Każdy Invoice musi być użyty tylko raz, aby zapobiec ponownemu użyciu.

Invoice structureBOLT11 Invoice

Szyfrowanie i uwierzytelnianie

Procedury Handshake i szyfrowanie (Chacha20) z uwierzytelnianiem (Poly1305) zapewniają integralność wiadomości i prywatność w transakcjach Lightning.

Alternatywy

Inne metody żądania płatności, takie jak LNURL, KeySend i Bolt 12, oferują różne funkcje i poziomy przyjęcia, zapewniając elastyczność w sieci.

Wykrywanie sieci

Wykrywanie sieci w Lightning Network ewoluowało od początkowego wykorzystania IRC (Internet Relay Communication) do bardziej wyrafinowanego protokołu zdefiniowanego przez Bolt 7. Protokół ten wykorzystuje określone komunikaty Lightning - powszechnie określane jako komunikaty plotkarskie - do wykrywania i utrzymywania topologii sieci.

Wiadomości Bolt7

Kluczowe komunikaty Bolt 7 obejmują:

Proces ogłaszania kanału

Proces rozpoczyna się od wymiany tożsamości i szczegółów kanału przez lokalnych użytkowników. Po zweryfikowaniu podpisów i sfinansowaniu transakcji, ogłaszają oni kanał swoim partnerom w sieci, zapewniając, że cała sieć pozostaje na bieżąco z najnowszymi zmianami topologii.

DNS Bootstrap

Odkrywanie sieci równorzędnych Lightning jest ułatwione dzięki zapytaniom DNS i Bitcoin DNS seed, które dostarczają informacji o adresie IP i węźle. Ten początkowy mechanizm wykrywania pomaga węzłom szybko połączyć się z siecią.

Ogłoszenia dotyczące funkcji

Węzły mogą rozgłaszać swoje obsługiwane funkcje, zapewniając kompatybilność wsteczną, jednocześnie umożliwiając opcjonalne ulepszenia. Ta elastyczność zapewnia, że wszystkie węzły mogą płynnie współdziałać, nawet gdy protokół ewoluuje.

Obsługa faktur Bolt11

Sieć zapewnia unikalność faktur Bolt 11, aby uniknąć wielokrotnych płatności za ten sam Invoice. Jeśli Invoice zostanie ponownie użyty, węzły sieci przechwytują i zapobiegają podwójnym płatnościom, zachowując integralność transakcji.

Głosowa transmisja danych

Chociaż jest to możliwe, przesyłanie danych głosowych za pośrednictwem Lightning Network jest mocno skompresowane i ograniczone rozmiarem wiadomości. Przykładową aplikacją jest Sphinx, która bada innowacyjne wykorzystanie Lightning do transmisji danych.

Przypadki użycia i debaty

Przeznaczenie Lightning Network jest tematem toczącej się debaty. Chociaż został zaprojektowany głównie do płatności, inne przypadki użycia, takie jak transmisja danych, są badane, choć nie są powszechnie akceptowane. Społeczność nieustannie omawia potencjalne aplikacje sieciowe i ulepszenia protokołu.

Dyskusje społeczności

Społeczność Lightning Network tętni życiem, angażując się w ciągłą debatę i dyskusję na temat przypadków użycia, zastosowań protokołu i potencjalnych ulepszeń. To oparte na współpracy środowisko sprzyja innowacjom, zapewniając jednocześnie ewolucję sieci w celu zaspokojenia potrzeb użytkowników.

Podsumowując, zrozumienie drugiego znaczenia Layer, specyfikacji Lightning Network i mechanizmów wykrywania sieci jest kluczowe dla każdego, kto chce zagłębić się w zawiłości Lightning Network. Jest to złożona, ale bardzo satysfakcjonująca dziedzina, która obiecuje zmienić przyszłość transakcji cyfrowych.

Główni klienci LN

Lightning Network (LN) stanowi znaczący przełom w skalowalności Bitcoin i szybkości transakcji. Klienci LN, zwykle określani jako portfele Lightning, to wyspecjalizowane oprogramowanie lub aplikacje, które umożliwiają użytkownikom przeprowadzanie transakcji za pośrednictwem Lightning Network. Portfele te służą jako kluczowy Interface między użytkownikiem a LN, ułatwiając natychmiastowo rozliczane, niskopłatne transakcje poprzez wykorzystanie ścieżek off-chain.

Portfele Lightning zostały zaprojektowane tak, aby proces ten był przyjazny dla użytkownika, umożliwiając nawet osobom o minimalnej wiedzy technicznej korzystanie z zaawansowanych funkcji Bitcoin. Umożliwiając szybkie i opłacalne mikrotransakcje, portfele te znacząco przyczyniają się do szerszego zastosowania Bitcoin w codziennych transakcjach.

LN ClientsLightning Wallets

Portfele Bitcoin vs. portfele Lightning

Portfele Bitcoin i Lightning różnią się zasadniczo pod względem architektury i przypadków użycia, chociaż mają wspólną cechę zarządzania kluczami prywatnymi:

Portfele Bitcoin:

Lightning Wallets:

Zarządzanie płynnością w Lightning Wallets

Skuteczne zarządzanie płynnością jest kamieniem węgielnym udanych operacji Lightning Network. Obejmuje ono strategiczną równowagę dwóch podstawowych rodzajów płynności:

Płynność lokalna (wychodząca):

Płynność zdalna (przychodząca):

Przykład zarządzania płynnością:

Example of LiquidityLightning Liquidity

Rozważmy scenariusz z udziałem Alice, Boba, Charliego i Dana - typowych użytkowników LN połączonych różnymi kanałami:

Example of LiquidityLightning Liquidity

Jeśli jednak którykolwiek z tych kanałów zostanie wyczerpany lub wystąpią problemy z łącznością, transakcja może zakończyć się niepowodzeniem. Ilustruje to znaczenie utrzymania zrównoważonej płynności w całej sieci.

Wyzwania związane z Lightning Network:

Aby sprostać tym wyzwaniom, dostawcy usług płynności (LSP) oferują usługi pomagające zarządzać płynnością, często za opłatą, zapewniając użytkownikom utrzymanie optymalnych sald kanałów dla płynnych transakcji.

Różne portfele i ich cechy

Dostępne są różne portfele Lightning, z których każdy zaspokaja inne potrzeby i preferencje użytkowników. Oto kilka przykładów:

Wallet z Satoshi:

Albi:

Bryza:

Phoenix:

Otwórz Bitcoin Wallet (OBW):

Matryca zarządzania środkami pieniężnymi i płynnością

Portfele można klasyfikować na podstawie tego, kto posiada klucze prywatne i kto zarządza płynnością. Matryca ta pomaga użytkownikom wybrać portfele, które odpowiadają ich preferencjom w zakresie bezpieczeństwa i wygody:

Liquidity Lightning2x2 Matrix of LN Clients

Krytyka i obszary poprawy

Pomimo swoich zalet, portfele Lightning napotykają kilka krytycznych uwag i obszarów wymagających poprawy:

Dodatkowe spostrzeżenia i przypadki użycia

Wyzwania związane z algorytmami:

Obecne algorytmy wyszukiwania optymalnej ścieżki w Lightning Network są często nieoptymalne i wymagają prób i błędów. Potrzebne są ulepszenia, aby zwiększyć wydajność routingu.

Płatności wieloczęściowe:

Podział większych płatności na mniejsze transakcje może złagodzić kwestie związane z płynnością i wyszukiwaniem ścieżek, zapewniając płynniejsze transakcje.

Zarobki z routingu:

Zyski z opłat za routing są zazwyczaj minimalne, co sprawia, że uruchamianie węzłów routingu w celach zarobkowych jest mniej atrakcyjne dla indywidualnych użytkowników.

Różne przykłady Wallet:

Przypadki użycia Wallet:

Różne portfele służą różnym celom, od łatwości użytkowania dla początkujących po zaawansowane funkcje dla zaawansowanych użytkowników. Nie ma jednego "najlepszego" Wallet; wybór zależy od indywidualnych potrzeb i preferencji.

Wkład Open Source:

Opinie użytkowników i wkład w projekty open-source są nieocenione dla rozwoju i rozwoju umiejętności osobistych, wspierając współpracę i innowacyjne środowisko.

Podsumowując, zrozumienie różnych aspektów klientów Lightning Network, ich różnic w stosunku do tradycyjnych portfeli Bitcoin oraz znaczenia skutecznego zarządzania płynnością ma kluczowe znaczenie dla wykorzystania pełnego potencjału Lightning Network. Wybierając odpowiedni Wallet i aktywnie uczestnicząc w ekosystemie, użytkownicy mogą znacznie poprawić swoje wrażenia z transakcji Bitcoin.

Wyzwania związane z LN

Praktyczne wyzwania związane z LN

(wideo będzie dostępne wkrótce)

W tej sesji Asi0 zajmuje się praktycznymi wyzwaniami napotykanymi podczas pracy z Lightning Network (LN). Pomimo rewolucyjnego podejścia do skalowania transakcji Bitcoin, Lightning Network stawia kilka praktycznych wyzwań, z którymi muszą sobie poradzić zarówno użytkownicy, jak i programiści. W szczególności przeanalizujemy cztery główne wyzwania: zarządzanie płynnością, abstrakcję Layer 1/Layer 2, odbieranie płatności offline i zarządzanie kopiami zapasowymi.

Każde z tych wyzwań jest postrzegane z dwóch perspektyw: użytkownika i dewelopera, ponieważ wyzwania i rozwiązania różnią się w zależności od roli, jaką odgrywasz w ekosystemie.


Wyzwanie 1: Zarządzanie płynnością

Z perspektywy użytkownika:

W Lightning Network płynność odnosi się do dostępności środków w kanałach płatności, które są niezbędne do dokonywania lub otrzymywania płatności. Użytkownicy muszą upewnić się, że mają wystarczającą płynność przychodzącą i wychodzącą dla udanych transakcji. Na przykład, jeśli chcesz otrzymywać płatności, musisz mieć dostępną płynność przychodzącą, co oznacza, że inny węzeł musi przydzielić część swojego salda do twojego kanału. Podobnie, jeśli chcesz wysyłać płatności, potrzebujesz płynności wychodzącej w swoim kanale.

Z perspektywy dewelopera:

Deweloperzy stoją przed wyzwaniem wdrożenia płynnego zarządzania płynnością w aplikacjach. Muszą tworzyć narzędzia, które automatyzują równoważenie i zmniejszają tarcia dla użytkowników, jednocześnie optymalizując opłaty i unikając wąskich gardeł płynności.

Definicje:

  • Płynność: Dostępność środków w kanale Lightning w celu dokonywania lub otrzymywania płatności.
  • LSP (Lightning Service Provider): Usługa, która pomaga użytkownikom zarządzać płynnością i kanałami na Lightning Network.

Wyzwanie 2: Abstrakcja L1/L2

Z perspektywy użytkownika:

Interakcja między Layer 1 (L1) (Bitcoin bazowy Layer) i Layer 2 (L2) (Lightning Network) często nie jest w pełni abstrakcyjna dla użytkowników. Na przykład otwieranie i zamykanie kanałów wymaga transakcji On-Chain Bitcoin (L1), a użytkownicy muszą płacić opłaty On-Chain za te działania. Wprowadza to dodatkową złożoność i potencjalne opóźnienia, gdy sieć Bitcoin jest przeciążona.

Z perspektywy dewelopera:

Programiści mają za zadanie abstrahować złożoność L1 i L2 dla użytkowników, tworząc płynne i intuicyjne interfejsy, które skutecznie obsługują transakcje. Wyzwaniem jest optymalizacja doświadczenia użytkownika przy jednoczesnym zachowaniu integralności i bezpieczeństwa protokołu Lightning.

Definicje:

  • L1 (Layer 1): Bitcoin główny Blockchain Layer.
  • L2 (Layer 2): Lightning Network, który działa na szczycie Bitcoin, aby umożliwić szybsze i tańsze transakcje.
  • Splicing: Technika umożliwiająca modyfikację balansu kanału Lightning bez konieczności jego zamykania.

Wyzwanie 3: Otrzymywanie płatności offline

Z perspektywy użytkownika:

Jednym z wyzwań w Lightning Network jest otrzymywanie płatności, gdy użytkownik jest offline. W przeciwieństwie do bazowego Bitcoin, gdzie transakcje mogą być odbierane w dowolnym momencie, Lightning wymaga, aby zarówno płatnik, jak i odbiorca byli online, aby sfinalizować transakcję. Jest to znaczące ograniczenie dla wielu użytkowników, którzy chcą korzystać z płatności Lightning w codziennych sytuacjach.

Z perspektywy dewelopera:

Deweloperzy badają sposoby na umożliwienie użytkownikom otrzymywania płatności Lightning nawet wtedy, gdy ich węzły są offline. Wymaga to kreatywnych rozwiązań, aby utrzymać zdecentralizowany charakter Lightning, jednocześnie zajmując się praktyczną kwestią ciągłego połączenia.

Definicje:

  • Płatności offline: Płatności wysłane lub odebrane, gdy jedna ze stron nie jest połączona z Lightning Network.
  • Portfele powiernicze: Portfele, w których strona trzecia kontroluje klucze prywatne i zarządza transakcjami w imieniu użytkownika.

Wyzwanie 4: Zarządzanie kopiami zapasowymi

Z perspektywy użytkownika:

Tworzenie kopii zapasowych kanałów Lightning ma kluczowe znaczenie dla użytkowników, aby mogli odzyskać swoje środki w przypadku awarii węzła lub utraty danych. Proces tworzenia kopii zapasowych kanałów Lightning jest jednak bardziej złożony niż w przypadku Bitcoin, ponieważ kanały są stanowe, co oznacza, że zmieniają się przy każdej transakcji.

Z perspektywy dewelopera:

Deweloperzy muszą wdrożyć rozwiązania do tworzenia kopii zapasowych, które pozwolą użytkownikom bezpiecznie i niezawodnie odzyskać swoje środki, nawet po katastrofalnych awariach. Wyzwaniem jest zapewnienie, że rozwiązania te są bezpieczne i łatwe w użyciu, przy jednoczesnym zachowaniu integralności protokołu Lightning.

Definicje:

  • Statyczna kopia zapasowa kanału (SCB): Rodzaj kopii zapasowej, która umożliwia użytkownikom odzyskanie środków z kanału Lightning w przypadku awarii poprzez przywrócenie ostatniego stanu kanału.

Wnioski

Lightning Network oferuje ogromne korzyści pod względem szybkości i efektywności kosztowej dla transakcji Bitcoin, ale stawia również kilka praktycznych wyzwań. Wyzwania te - zarządzanie płynnością, abstrakcja L1/L2, odbieranie płatności offline i zarządzanie kopiami zapasowymi - wymagają innowacyjnych rozwiązań zarówno od użytkowników, jak i deweloperów. W miarę rozwoju sieci, pokonanie tych przeszkód będzie kluczem do osiągnięcia powszechnej akceptacji i poprawy ogólnego doświadczenia użytkownika.

Dzięki sprostaniu tym wyzwaniom, Lightning Network będzie nadal dojrzewać, stając się bardziej solidnym i niezawodnym rozwiązaniem do skalowania Bitcoin.

LN Future Evolution

Odporność i ewolucja Bitcoin

Maskotka Bitcoin: Honey Badger

Bitcoin jest często uosabiany przez borsuka, stworzenie znane ze swojej wytrwałości i odporności. Symbol ten trafnie reprezentuje solidną i nieugiętą naturę Bitcoin. Tak jak borsuk może wytrzymać jadowite ukąszenia i nadal się rozwijać, tak Bitcoin wykazał się niezwykłą odpornością na różne przeciwności losu, w tym wyzwania regulacyjne, zmienność rynku i ataki techniczne.

Natura Bitcoin: Ciągły rozwój

W przeciwieństwie do pojęcia bycia statycznym, Bitcoin jest w stanie ciągłej ewolucji. Jego protokół i ekosystem są stale udoskonalane i ulepszane przez globalną społeczność programistów i badaczy. Ten ewolucyjny proces jest napędzany potrzebą zwiększenia bezpieczeństwa, skalowalności i funkcjonalności, zapewniając, że Bitcoin pozostaje w czołówce kryptowalut.

Innowacje w Lightning Network

Lightning Network: Szybki rozwój

Lightning Network, drugie rozwiązanie Bitcoin do skalowania i przyspieszania transakcji, jest w fazie szybkiego rozwoju. Ten Layer pozwala na szybkie, tanie transakcje poprzez włączenie kanałów płatności off-chain. Wprowadzane są znaczące innowacje w celu zwiększenia jego wydajności i użyteczności.

Podwójnie finansowane kanały

Tradycyjnie kanał Lightning jest finansowany przez jedną stronę. Jednak kanały z podwójnym finansowaniem pozwalają obu stronom (np. Alice i Bob) przyczynić się do płynności kanału. To ulepszenie ułatwia większą elastyczność zarówno w zakresie wysyłania, jak i odbierania przepustowości i wymaga wcześniejszej komunikacji oraz nowych protokołów do zarządzania wspólnym finansowaniem.

Splicing

Splicing to funkcja, która pozwala użytkownikom modyfikować rozmiar kanału Lightning bez jego zamykania. Funkcja ta umożliwia dodawanie lub usuwanie środków z istniejącego kanału, zapewniając płynny sposób zarządzania płynnością kanału. Splicing wspiera interoperacyjność między transakcjami On-Chain i kanałami Lightning, zwiększając ogólną wydajność sieci.

Mechanizm L2

Mechanizm L2 wprowadza nową metodę unieważniania starych stanów kanału bez polegania na mechanizmie kar. Ta aktualizacja zależy od SIGHASH_ANYPREVOUT, funkcji wymagającej Bitcoin Soft Fork. Mechanizm L2 ma uprościć zarządzanie kanałami i poprawić bezpieczeństwo.

Bolt 12

Bolt 12 rozwiązuje ograniczenia obecnych faktur Bolt 11 używanych w Lightning Network. Wprowadza faktury wielokrotnego użytku i automatyzuje procesy, eliminując potrzebę HTTP i serwerów internetowych, działając wyłącznie w Lightning Network. Ta innowacja usprawnia transakcje i poprawia komfort użytkowania.

Zwiększenie prywatności i wydajności w transakcjach Bitcoin

Podpisy Taproot, MuSig i Schnorr

Taproot to znacząca aktualizacja, która konsoliduje złożoność transakcji i zwiększa prywatność. W połączeniu z MuSig (protokołem dla transakcji z wieloma podpisami) i Schnorr Signatures, Taproot poprawia wydajność transakcji. Te ulepszenia pozwalają transakcjom Lightning przypominać zwykłe transakcje Bitcoin, upraszczając proces i wzmacniając prywatność.

PTLC Routing

Point Time Locked Contracts (PTLC) stanowią ulepszenie w stosunku do istniejących Hash Time Lock Contracts (HTLC). PTLC wykorzystują podpisy Schnorra i poprawiają prywatność, zastępując wspólne tajemnice kluczami publicznymi, zmniejszając potencjał korelacji płatności i nadużyć.

Fabryki kanałów

Fabryki kanałów umożliwiają tworzenie kanałów wielostronnych (np. 4 z 4 Multisig), które mogą tworzyć nowe kanały płatności 2 z 2 off-chain. System ten pozwala na szybkie, bezpłatne tworzenie i zamykanie kanałów, choć wymaga współpracy wszystkich uczestników. Fabryki kanałów zwiększają ogólną skalowalność i elastyczność Lightning Network.

Watchtowers

Wieże strażnicze to podmioty zewnętrzne, które monitorują Blockchain pod kątem starych stanów kanałów. W przypadku wykrycia naruszenia publikują one transakcje karne w celu zapewnienia bezpieczeństwa sieci. Chociaż wieże strażnicze zwiększają bezpieczeństwo poprzez powstrzymywanie niewłaściwego zachowania, wprowadzają również obawy dotyczące prywatności związane z monitorowaniem transakcji.

blinded Paths

Ścieżki blinded zostały zaprojektowane w celu zwiększenia prywatności odbiorcy w Lightning Network. Zasłaniają one Address odbiorcy końcowego, zapewniając, że tylko nadawca zna węzeł pośredni, a każdy węzeł zna tylko sąsiednie węzły. Metoda ta chroni tożsamość odbiorcy i zwiększa ogólną prywatność.

Dostawcy usług oświetleniowych (LSP)

Dostawcy usług Lightning (LSP), opracowani przez Breeze Wallet, mają na celu poprawę komfortu użytkowania poprzez umożliwienie natychmiastowego odbioru. LSP otwierają kanały dla użytkowników, podobnie jak dostawcy usług internetowych oferują usługi łączności. Ta innowacja upraszcza proces wdrażania użytkownika i zapewnia płynne interakcje na Lightning Network.

Zasoby umożliwiające bycie na bieżąco

Aby być na bieżąco z najnowszymi innowacjami technicznymi w Bitcoin i Lightning Network, konieczne jest wykorzystanie cennych zasobów. Biuletyn Bitcoin OpTec, lista mailingowa Lightning Dev i materiały od ekspertów branżowych, takich jak Jason Lopp, zapewniają wgląd i aktualizacje dotyczące bieżących postępów i badań w tej szybko rozwijającej się dziedzinie.

Rozumiejąc i doceniając te zmiany, możemy dostrzec wieloaspektowy postęp i potencjał, jaki Bitcoin i Lightning Network mają dla przyszłości transakcji cyfrowych.

Protokoły na szczycie LN

Rozszerzanie i integracja Lightning Payments

Zrozumienie płatności Lightning

Przed zagłębieniem się w rozszerzenia i integracje płatności Lightning, ważne jest, aby zrozumieć podstawowe działanie płatności Lightning. Konwencjonalna płatność Lightning obejmuje kilka kluczowych elementów: płatnika, odbiorcę i sam Lightning Network. Płatnik inicjuje płatność na rzecz odbiorcy, generując Invoice, który zawiera krytyczne informacje, takie jak kwota do zapłaty i miejsce docelowe (węzeł odbiorcy).

Proces ten opiera się na Hash umowach z blokadą czasową (HTLC), które zapewniają, że płatności mogą być odebrane tylko przez prawowitego odbiorcę w określonych ramach czasowych. Dwa ważne Elements w tym mechanizmie to Onion Routing i HTLC Chain:

Nowszym protokołem zwiększającym możliwości Lightning Network jest Keysend. W przeciwieństwie do tradycyjnych metod, które wymagają wcześniejszej komunikacji między nadawcą a odbiorcą generate i Invoice, Keysend umożliwia płatności inicjowane przez nadawcę, usprawniając proces i poprawiając wrażenia użytkownika.

Tradycyjne faktury mają jednak swoje ograniczenia. Na przykład:

Definicje:

  • Invoice: Wniosek o płatność w Lightning Network, zazwyczaj zawierający kwotę i dane odbiorcy.
  • ** HTLC (Hash z blokadą czasową Contract)**: Rodzaj Smart contract używany do zapewnienia warunkowych płatności w określonym czasie.
  • Onion Routing: Technika prywatności, w której dane transakcji są ułożone warstwowo jak cebula w celu ochrony tożsamości nadawcy i odbiorcy.

Protokoły i przypadki użycia

Modele biznesowe i zaawansowane protokoły

pomimo ograniczeń tradycyjnych faktur, pojawiło się kilka protokołów rozszerzających i usprawniających płatności Lightning.

Jedną z godnych uwagi integracji płatności Lightning jest Nostr, zdecentralizowana platforma mediów społecznościowych. Nostr integruje płatności Lightning, aby umożliwić napiwki i mikrotransakcje, pokazując, jak Lightning może być osadzony w różnych aplikacjach.

Kolejny protokół, RGB, dodatkowo rozszerza funkcjonalność Lightning, umożliwiając przekazywanie aktywów za pośrednictwem Lightning Network. RGB umożliwia transfer różnych aktywów, w tym tokenów, za pośrednictwem kanałów Lightning, poszerzając zakres transakcji.

Dostawcy usług płynności Lightning (LSP) również odgrywają kluczową rolę w rozszerzaniu płatności Lightning. Dostawcy LSP zapewniają płynność w zakresie otrzymywania płatności, pomagają otwierać kanały podwójnie finansowane i zapewniają płynne transakcje poprzez przechwytywanie płatności i otwieranie kanałów w locie.

Definicje:

  • LNURL: Protokół umożliwiający dynamiczne tworzenie Invoice, dzięki czemu płatności stają się łatwiejsze i bardziej elastyczne.
  • Bolt 12: Rozszerzenie Lightning, które wykorzystuje przesyłanie wiadomości Onion w celu zapewnienia prywatności przy jednoczesnej automatyzacji pobierania Invoice.
  • Nostr: Zdecentralizowana platforma integrująca LProtocols i Use Cases błyskawiczne płatności za mikrotransakcje.
  • Protokół RGB: Protokół umożliwiający transfer aktywów, takich jak tokeny, za pośrednictwem Lightning Network.
  • LSP (Lightning Service Provider): Podmiot, który zapewnia płynność i otwiera kanały dla transakcji Lightning, czyniąc sieć bardziej dostępną dla użytkowników.

Modele biznesowe i zaawansowane protokoły

Postępy w płatnościach Lightning utorowały drogę dla nowych modeli biznesowych, w szczególności dla dostawców usług Lightning (LSP). Dostawcy usług LSP zwiększają wygodę użytkownika, otwierając kanały tylko po wykryciu płatności, zmniejszając w ten sposób złożoność wstępnej konfiguracji.

Jednym z przykładów modelu biznesowego ułatwionego przez Lightning jest model aukcyjny. W tym przypadku serwer przechowuje najwyższą ofertę i odrzuca niższe oferty, utrzymując płatności w toku do czasu zakończenia aukcji. Pozwala to uniknąć konieczności zwrotów i usprawnia proces aukcyjny.

Innym praktycznym przykładem są gry pokerowe, w których serwer zarządza płatnościami poprzez wstrzymywanie zakładów do czasu zakończenia gry, zapewniając płynny proces obstawiania.

Płatności Lightning są również integrowane z platformami takimi jak Nostr i usługami podcastingu, demonstrując wszechstronność tych protokołów. Ponadto, pre-obrazy płatności mogą być używane jako klucze dostępu do odblokowywania treści lub usług, zwiększając użyteczność Lightning Network.

Zaawansowane protokoły, takie jak Point Time-Locked Contracts (PTLC), posuwają Lightning jeszcze dalej, umożliwiając bardziej złożone operacje kryptograficzne. PTLC oferują ulepszenia w zakresie routingu i podziału płatności, zwiększając zarówno bezpieczeństwo, jak i wydajność.

Protokoły takie jak LNURL i Bolt 12 usprawniają płatności poprzez redukcję ręcznych interakcji, zapewniając, że Lightning Network stanie się bardziej przyjazny dla użytkownika i szeroko przyjęty.

Definicje:

  • PTLC (Point Time-Locked Contract): Prymityw kryptograficzny, który ulepsza HTLC, umożliwiając bardziej elastyczne i bezpieczne płatności.
  • Pre-image: Wartość używana do odblokowania HTLC, która może również służyć jako klucz dostępu do usług.
  • Model aukcyjny: Model płatności, w którym płatności są wstrzymywane podczas aukcji i zwalniane dopiero po zaakceptowaniu najwyższej oferty.

Wnioski

Rozszerzenie i integracja płatności Lightning poprzez różne protokoły i przypadki użycia pokazują dynamiczną ewolucję Lightning Network. Od poprawy podstawowej funkcjonalności płatności po wprowadzenie zaawansowanych modeli biznesowych i protokołów kryptograficznych, przyszłość Lightning niesie ze sobą znaczące nadzieje na innowacje i powszechne przyjęcie.

Bonus

Bitcoin Mining Essentials

Wprowadzenie

Ajelex koncentruje się na biznesowym aspekcie Bitcoin Mining, badając strategie utrzymania rentowności na konkurencyjnym rynku. Dyskusja obejmuje analizę kosztów operacyjnych, środków efektywności i ekonomii napędzających branżę Mining.

1. Mining Czynniki złożoności i rentowności

Czynniki techniczne i strategiczne

Złożoność Mining w kontekście Bitcoin obejmuje przede wszystkim techniczne i strategiczne Elements, które określają rentowność operacji Mining. Kluczowe jest zrozumienie, że Mining to nie tylko gra losowa, ale wyrafinowany proces, który wymaga starannego planowania i ciągłej optymalizacji.

Kluczowe czynniki rentowności

energy cost
  1. Koszty energii elektrycznej: Jednym z najważniejszych czynników wpływających na rentowność Mining jest koszt energii elektrycznej. W regionach takich jak Francja, energia elektryczna może być stosunkowo droga w porównaniu do krajów takich jak Salwador, gdzie niższe koszty zapewniają górnikom przewagę konkurencyjną.

  2. Wydajność sprzętu: Wydajność sprzętu Mining, mierzona szybkością Hash i zużyciem energii, odgrywa kluczową rolę. Zaawansowane koparki ASIC, takie jak S19J Pro, są znacznie bardziej wydajne niż starsze modele, takie jak Antminer S9.

  3. Okres: Bitcoin Mining zachęca do planowania długoterminowego.

  4. Cena BTC: Cena BTC jest niezbędna do określenia rentowności Mining.

  5. Trudność sieci: Trudność sieci reprezentuje średnią ilość Hashrate potrzebną do wydobycia bloku w ciągu 10 minut.

  6. Narzędzia strategiczne: Narzędzia takie jak braiins.com są nieocenione w obliczaniu rentowności i pomaganiu górnikom w podejmowaniu decyzji opartych na danych.

Praktyczne zastosowanie

Z własnego doświadczenia wiem, że używałem Mining nawet do ogrzewania mojego mieszkania we Francji, kreatywnie kompensując koszty energii elektrycznej podczas Mining Bitcoin. Przykład ten podkreśla praktyczność integracji Mining z codziennym życiem w celu uzyskania dodatkowych korzyści.

Wąskie gardła w Mining

Górnicy napotykają trzy główne wąskie gardła: dostępność sprzętu, dostęp do energii i kapitał wymagany do utrzymania działalności. Niedobór układów ASIC spowodowany wysokim popytem często prowadzi do długiego czasu oczekiwania i zawyżonych cen, co dodatkowo komplikuje krajobraz Mining.

W 2021 r. chiński rząd zakazał stosowania Mining na swoim terytorium, co spowodowało, że firmy Mining w Chinach straciły dostęp do energii. Spowodowało to 50% spadek Hashrate w ciągu dwóch tygodni.

hashrate drop

2. Ewolucja i wydajność sprzętu Mining

Ewolucja historyczna

Podróż sprzętu Mining była monumentalna, począwszy od prostego procesora Mining po wysoce wyspecjalizowane koparki ASIC, których używamy dzisiaj.

evolution hardware
  1. CPU Mining: Na początku Mining był wykonywany przy użyciu zwykłych procesorów komputerowych (CPU). Metoda ta została szybko prześcignięta wraz z rozwojem sieci.

  2. GPU Mining: Jednostki przetwarzania grafiki (GPU) zapewniły znaczny wzrost wydajności Mining, czyniąc procesory CPU przestarzałymi dla celów Mining.

  3. FPGA Mining: Układy FPGA (Field-Programmable Gate Arrays) oferowały jeszcze lepszą wydajność i energooszczędność niż procesory graficzne.

  4. ASIC Mining: Układy ASIC (Application-Specific Integrated Circuits) reprezentują szczyt wydajności sprzętowej Mining, zaprojektowane specjalnie dla operacji Mining z niezrównaną wydajnością.

Szczegółowe porównanie: S19J Pro vs. Antminer S9

s19j pro vs antminer s9

Mining Wydajność i uczenie się

Mining zapewnia nie tylko nagrody finansowe, ale także cenne praktyczne doświadczenie. Pozyskiwanie bitcoinów bez KYC za pośrednictwem Mining może być atrakcyjną propozycją dla osób dbających o prywatność.

Zaawansowane narzędzia i techniki

Oprogramowanie na rynku wtórnym może zwiększyć wydajność i funkcjonalność sprzętu Mining. Narzędzia oferujące funkcje optymalizacji i automatycznego dostrajania zapewniają, że każdy układ działa z maksymalną wydajnością, skutecznie równoważąc szybkość Hash i zużycie energii.


3. Dynamika regulacyjna i rynkowa w operacjach Mining

Skutki regulacyjne

Regulacje odgrywają znaczącą rolę w kształtowaniu krajobrazu Mining. Na przykład chiński zakaz Mining miał głęboki wpływ na globalne operacje Mining, powodując znaczny spadek wskaźnika Hash w sieci i prowadząc do redystrybucji mocy Mining w różnych regionach.

Dynamika rynku

  1. ** Dostępność i koszt sprzętu**: Cena i dostępność koparek ASIC zależy od ceny rynkowej Bitcoin. Wysoki popyt podczas hossy skutkuje niedoborem i zawyżonymi cenami.

  2. Wartość Hash i cena Hash: Zrozumienie różnicy między wartością Hash (satoshis zarobione za terahash dziennie) a ceną Hash (wartość pieniężna stawki Hash) jest niezbędne. Oba te czynniki zależą od trudności sieci i ceny rynkowej Bitcoin.

Pule Mining i mechanizmy nagradzania

  1. Pule Mining: Łącząc zasoby, pule Mining zapewniają bardziej stabilne nagrody, zmniejszając wariancję i ryzyko związane z solo Mining.

  2. Schematy nagród: Różne mechanizmy wynagradzania, takie jak Pay-Per-Share (PPS) i proporcjonalne nagrody, oferują różne profile ryzyka i nagród dla górników.

    • Płać za udział**: Pay-Per-Share nagradza górników za każdy przesłany ważny udział, niezależnie od tego, czy pula znajdzie blok. Udziały są jednostkami potwierdzającymi, że górnicy wykonali wymaganą pracę, a pula weryfikuje te udziały.
pps prop

Przyszłość Mining

W miarę zmniejszania się nagród za bloki, górnicy będą w coraz większym stopniu polegać na opłatach transakcyjnych. Zmiana ta rodzi obawy o to, czy same opłaty transakcyjne będą wystarczającą zachętą dla górników do dalszego zabezpieczania sieci.

Hosted Mining

Hostowane usługi Mining mogą oferować niższe koszty operacyjne, ale wiążą się z ryzykiem, takim jak brak kontroli i możliwość oszustwa. Aby zminimalizować to ryzyko, konieczne jest zachowanie należytej staranności.

Bezpieczeństwo i wydajność

Zaawansowane protokoły bezpieczeństwa i wykorzystanie energii odnawialnej nie tylko zwiększają rentowność, ale także przyczyniają się do zrównoważonego rozwoju ekosystemu Mining.

Podsumowując, świat Bitcoin Mining jest złożoną, wieloaspektową domeną, która wymaga głębokiego zrozumienia dynamiki technicznej, strategicznej, regulacyjnej i rynkowej. Niezależnie od tego, czy jesteś doświadczonym Miner, czy dopiero zaczynasz, bycie poinformowanym i elastycznym jest kluczem do rozwoju w tej stale ewoluującej dziedzinie. Dziękuję za uwagę i czekam na pytania i dyskusje.

Zrozumienie Joinmarket

Adam Gibson oferuje wgląd w Joinmarket, szczegółowo opisując, w jaki sposób ta implementacja CoinJoin zwiększa prywatność i zamienność Bitcoin. Omawia, w jaki sposób Joinmarket ułatwia współpracę, Trustless i anonimowe transakcje w ekosystemie Bitcoin. Następnie w drugiej części pokazuje, jak uruchomić Joinmarket w Signet.

Hackathon pierwszego roku Cubo+

Hackathon Groupe 1 - Dziedzictwo Satoshi

Grupa Satoshi Legacy prezentuje swoją pracę nad budową Lightning e-commerce z Shopify, React JS i Hydrogen oraz bramką płatności IBEX.

Groupe 2 Hackathon - Honey Badger

Grupa Honey Badger prezentuje swoje rozwiązanie dla bloga z wbudowanymi mikropłatnościami Lightning Powered z wykorzystaniem LnBits oraz Next.js, Node.js i Hydrogen.

Groupe 3 Hackathon

Trzecia grupa prezentuje Lightning Network Node Dashboard za pośrednictwem niestandardowego API, LND, vue.js, node.js, Bootstrap.

Groupe 4 Hackathon - Stypendium Satoshi

Grupa Satoshi's Fellowship prezentuje aplikację do gier LN wykorzystującą LnBits i MongoDB, Poetry, Node.js.

Groupe 5 Hackathon - Lighting Walker

Grupa Lightning Walker prezentuje swoje rozwiązanie dla usługi przekazów pieniężnych przy użyciu MySQL, JavaScript i ZDB API.

Sekcja końcowa

Recenzje i oceny

true

Wnioski

true