396 / 736LUKE

Luke Dashjr

Programista znany jako luke-jr

Zanim górnik zacznie szukać nowego bloku, musi wiedzieć, jak go zbudować i co wolno w nim zmienić. Luke Dashjr pomagał opisać właśnie tę współpracę między programami. Jest też związany z Bitcoin Knots oraz zasadami publikowania propozycji ulepszeń Bitcoina.

Luke Dashjr, znany jako luke-jr, jest programistą Bitcoina. Jego prace dotyczą interfejsów wydobywczych, Bitcoin Knots i dokumentów BIP, czyli publicznie opisanych propozycji i standardów. Pokazują, jak można istotnie wpływać na rozwój, nie podejmując decyzji za całą sieć.

Na GitHub Luke Dashjr używa nazwy luke-jr. Serwis przechowuje kod źródłowy, propozycje zmian i ich historię. Jego profil odsyła między innymi do Bitcoin Knots i programu wydobywczego BFGMiner. Sam profil nie jest pełną biografią wszystkich współtwórców ani listą prac wykonanych wyłącznie przez jedną osobę. Dokładniejszych dowodów dostarczają konkretne zmiany i autorstwo specyfikacji. Poniższe przykłady dotyczą praktycznych pytań: jak przekazać górnikowi zadanie, wcześnie wykryć błąd i ustalić, czy dana propozycja jest rzeczywiście używana. [1]

Wydobywanie polega na powtarzaniu obliczeń dla przygotowanego bloku, aż wynik spełni wymaganą trudność. Wcześniej trzeba jednak ułożyć jego zawartość. BIP 22 autorstwa Dashjra opisuje getblocktemplate, interfejs przekazujący programowi strukturę proponowanego bloku wraz z transakcjami. Program nie musi otrzymywać wyłącznie krótkiego nagłówka do haszowania. Może złożyć blok i wprowadzić dozwolone zmiany. To jak otrzymanie dokumentacji całego zlecenia zamiast pojedynczej czynności. Gotowy blok nadal musi spełniać reguły poprawności. [2]

Wyobraź sobie transakcję wydającą wyjście innej transakcji umieszczonej w tym samym proponowanym bloku. Ta wcześniejsza transakcja również musi się w nim znaleźć. Pole depends w BIP 22 zapisuje takie zależności. Jeśli go brakuje, zależności są nieznane; program nie może uznać, że ich nie ma. Podobnie należy traktować brak informacji o opłacie lub sigops, liczbie operacji sprawdzania podpisów uwzględnianej w limitach bloku. Brak danych nie oznacza wartości zero. Ten drobiazg chroni przed zbudowaniem niepoprawnego bloku wskutek błędnego odczytania otrzymanych informacji. [2]

BIP 23 Dashjra rozszerza ten interfejs dla pul wydobywczych, które łączą pracę górników. Opcjonalny tryb proposal pozwala przekazać przygotowany blok serwerowi do sprawdzenia z pominięciem dowodu pracy. Można dzięki temu wykryć problem z zawartością przed kosztownym szukaniem właściwego wyniku obliczeń. Pozytywna odpowiedź mówi jedynie, że propozycja spełnia reguły danego serwera. Nadal brakuje wymaganego dowodu pracy i oceny innych węzłów. Wstępna kontrola nie oznacza więc, że nowy blok został już wydobyty. [3]

Innym obszarem jest wprowadzanie zmian reguł. BIP 8, którego autorami są Shaolin Fry i Luke Dashjr, określa etapy za pomocą wysokości bloku, czyli jego miejsca w łańcuchu. Opcja lockinontimeout ustala, czy w ostatnim okresie górnicy muszą sygnalizować zgodnie z opisanymi warunkami, aby zapewnić późniejszą aktywację. LOCKED_IN to nie ACTIVE: pierwszy stan zapewnia przyszłe przejście w ramach tego mechanizmu, a nowa reguła jest egzekwowana dopiero w drugim. To różnica między ustalonym terminem wejścia w życie a jego nadejściem. Samo napisanie propozycji nie przełącza całej sieci. [4]

Bitcoin Knots to oprogramowanie własnego węzła, czyli komputera pobierającego i w pełni weryfikującego bloki oraz transakcje. Dokumentacja opisuje przejmowanie zmian z Bitcoin Core i możliwość dodawania kolejnych; program może też zawierać portfel i interfejs graficzny. Podczas tej rewizji oficjalna strona wskazuje Dashjra jako głównego opiekuna projektu. Odpowiedzialność za program nie daje prawa narzucania nowych reguł całej sieci. Przy wyborze oprogramowania warto zatem czytać o funkcjach i ustawieniach każdego wydania, zamiast zakładać zawsze identyczne zachowanie obu programów. [5] [6]

Pobierając Bitcoin Knots, chcesz ustalić, czy plik pochodzi od zamierzonego wydawcy. Strona zaleca sprawdzanie podpisów OpenPGP i porównywanie kluczy publicznych z niezależnych źródeł. Klucz publiczny służy do weryfikacji podpisu cyfrowego, lecz najpierw trzeba ustalić, do kogo należy. Poprawny podpis ze sprawdzonym kluczem potwierdza pochodzenie pliku i brak zmian podpisanych danych. Nie dowodzi bezbłędności programu. Sprawdzenie pochodzenia, przegląd kodu i dobór ustawień to odrębne zadania. [6]

Dashjr napisał również BIP 2 dotyczący przygotowania i publikacji propozycji. Dziś zastępuje go BIP 3 autorstwa Murch. Dokument wyraźnie zaznacza, że opublikowany BIP sam w sobie nie oznacza zgody społeczności Bitcoina ani ogólnego zalecenia wdrożenia. Propozycja może pozostać na papierze, trafić do konkretnego programu lub z czasem zmienić wspólnie egzekwowane reguły. Nadanie numeru niczego nie aktywuje. Czytając o nowym BIP, pytaj więc także, kto go wdrożył i czy jest faktycznie używany. [7] [8]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Matt Corallo, Peter Todd, Satoshi Nakamoto. Do tego hasła prowadzą również odsyłacze z Matt Corallo, Peter Todd.

DOC · 001GitHub — Luke DashjrDokumentacja DOC · 002BIP 22 — getblocktemplate fundamentalsDokumentacja DOC · 003BIP 23 — pooled miningDokumentacja DOC · 004BIP 8 — lock-in by heightDokumentacja DOC · 005Bitcoin Knots — project documentationDokumentacja DOC · 006Bitcoin Knots — official websiteDokumentacja DOC · 007BIP 2 — revised processDokumentacja DOC · 008BIP 3 — updated processDokumentacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna