396 / 736LUKE

Luke Dashjr

Vývojář známý jako luke-jr

Než těžař začne hledat nový blok, musí vědět, z čeho jej sestavit a co v něm smí změnit. Luke Dashjr pomáhal popsat právě tuto spolupráci mezi programy. Je spojený také s Bitcoin Knots a s pravidly, podle kterých se zveřejňují návrhy na zlepšení Bitcoinu.

Luke Dashjr, známý jako luke-jr, je vývojář Bitcoinu. Jeho práci najdeme v těžebních rozhraních, softwaru Bitcoin Knots i dokumentech BIP, tedy veřejně popsaných návrzích a standardech. Na jeho příkladu lze dobře pochopit, jak někdo může významně ovlivnit vývoj, aniž by rozhodoval za celou síť.

Na GitHub vystupuje Luke Dashjr jako luke-jr. GitHub uchovává zdrojový kód, návrhy změn i jejich historii; profil odkazuje mimo jiné na Bitcoin Knots a těžební program BFGMiner. Samotný profil ale není životopis všech přispěvatelů ani seznam výhradně jeho práce. Přesnější obraz dávají konkrétní změny a jeho autorství specifikace. V následujících příkladech jde hlavně o praktické otázky: jak zadat těžaři práci, jak předem odhalit chybu a kdo rozhoduje, zda bude návrh skutečně používán. [1]

Těžba znamená opakovaně zkoušet výpočty nad připraveným blokem, dokud se nenajde výsledek splňující požadovanou obtížnost. Ještě předtím je ale potřeba sestavit jeho obsah. Dashjrův BIP 22 popisuje getblocktemplate, rozhraní, kterým program dostane strukturu připravovaného bloku včetně transakcí. Nemusí tedy dostat jen stručnou hlavičku k výpočtům. Může blok sestavit a v povolených mezích upravit. Je to podobné jako dostat podklady k celé zakázce místo jediného úkonu; pravidla platnosti výsledného bloku přitom zůstávají závazná. [2]

Představte si transakci, která utrácí výstup jiné transakce zahrnuté do stejného připravovaného bloku. Potřebuje, aby tam tato předchozí transakce také byla. Pole depends v BIP 22 takové závislosti zaznamenává. Když údaj chybí, jsou závislosti neznámé; program si nesmí domyslet, že žádné nejsou. Stejně musí zacházet s neuvedeným poplatkem nebo sigops, počtem operací ověřování podpisů započítávaným do limitů. Chybějící informace se nerovná nulové hodnotě. Tento zdánlivý detail pomáhá zabránit tomu, aby těžař sestavil chybný blok jen kvůli špatně pochopeným podkladům. [2]

Na předchozí rozhraní navazuje Dashjrův BIP 23 pro těžební pooly, které sdružují práci těžařů. Jeho volitelný režim proposal dovoluje předložit připravený blok serveru ke kontrole s výjimkou důkazu práce. Těžař tak může odhalit problém s obsahem, než začne hledat náročný výpočetní výsledek. Kladná odpověď ale znamená pouze to, že návrh vyhověl pravidlům daného serveru. Stále chybí potřebný důkaz práce a posouzení ostatními uzly; předběžná kontrola není potvrzením, že už byl nový blok vytěžen. [3]

Jinou oblastí je zavádění změn pravidel. BIP 8, jehož autory jsou Shaolin Fry a Luke Dashjr, používá k určení jednotlivých etap výšku bloku, tedy jeho pořadí v řetězci. Nastavení lockinontimeout určuje, zda závěrečné období za daných podmínek vyžaduje signalizaci těžařů, aby se aktivace uzamkla. LOCKED_IN není ACTIVE: první stav v tomto mechanismu zajišťuje budoucí přechod, zatímco nové pravidlo se uplatňuje až ve druhém. Je to rozdíl mezi stanoveným termínem účinnosti a okamžikem, kdy už účinnost nastala. Samotné sepsání návrhu žádný přechod celé sítě nezpůsobí. [4]

Bitcoin Knots je software pro vlastní uzel, počítač, který stahuje a plně ověřuje bloky a transakce. Dokumentace popisuje přebírání vývoje z Bitcoin Core i možnost zařazovat další změny; součástí může být také peněženka a grafické ovládání. Oficiální web při této revizi uvádí Dashjra jako hlavního správce projektu. To znamená odpovědnost za konkrétní software, nikoli možnost přikázat celé síti nová pravidla. Při výběru mezi programy má proto smysl číst vlastnosti a nastavení každého vydání, místo předpokladu, že se vždy chovají stejně. [5] [6]

Když si stahujete Bitcoin Knots, potřebujete ověřit, zda jste dostali soubor od zamýšleného vydavatele. Web doporučuje podpisy OpenPGP a kontrolu veřejných klíčů z nezávislých zdrojů. Veřejný klíč zde slouží k ověření digitálního podpisu; nejprve však musíte vědět, komu skutečně patří. Platný podpis se správně ověřeným klíčem dokládá původ souboru a to, že podepsaná data nebyla změněna, ne bezchybnost programu. Kontrola původu, prověřování kódu a rozhodnutí, jak software nastavit, jsou odlišné úkoly. [6]

Dashjr napsal také BIP 2 o tom, jak se návrhy připravují a zveřejňují. Dnes jej nahrazuje BIP 3 od autora vystupujícího jako Murch. Ten výslovně vysvětluje, že zveřejněný BIP sám o sobě nevyjadřuje souhlas bitcoinové komunity ani obecné doporučení k zavedení. Návrh může zůstat na papíře, převzít jej může určitý program nebo může časem vést ke změně společně vynucovaných pravidel. Přidělení čísla samo neaktivuje nic. Při čtení zprávy o novém BIP se proto ptejte také, kdo jej implementoval a zda se skutečně používá. [7] [8]

Pro nejúplnější obraz čtěte toto heslo společně s Matt Corallo, Peter Todd, Satoshi Nakamoto. Opačným směrem na něj odkazují také Matt Corallo, Peter Todd.

DOC · 001GitHub — Luke DashjrDokumentace DOC · 002BIP 22 — getblocktemplate fundamentalsDokumentace DOC · 003BIP 23 — pooled miningDokumentace DOC · 004BIP 8 — lock-in by heightDokumentace DOC · 005Bitcoin Knots — project documentationDokumentace DOC · 006Bitcoin Knots — official websiteDokumentace DOC · 007BIP 2 — revised processDokumentace DOC · 008BIP 3 — updated processDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení