/ home / newsletters /
Zpravodaj „Bitcoin Optech” č. 330
Zpravodaj tento týden shrnuje návrh změn LN specifikace umožňující používání pluginů pro továrny kanálů, odkazuje na zprávu a novou webovou stránku zkoumající signetové transakce používající navrhované soft forky, popisuje aktualizaci návrhu soft forku LNHANCE a představuje článek o kovenantech založených na obrušování namísto změn konsenzu. Též nechybí naše pravidelné rubriky se souhrnem změn ve službách, klientském software a populárním bitcoinovém páteřním software.
Novinky
-
● Plugin pro továrny kanálů: ZmnSCPxj zaslal do fóra Delving Bitcoin příspěvek s návrhem na několik změn specifikace BOLT, které by pomocí pluginu umožnily existujícímu software spravovat LN-Penalty platební kanály v rámci továrny kanálů. Díky těmto změnám by mohl správce továrny (např. LSP, poskytovatel lightningových služeb) posílat LN uzlu zprávy, které by byly předány pluginu továrny. Mnoho operací továrny by bylo podobných splicingovým operacím, díky čemuž by mohl plugin použít významné množství existujícího kódu. Operace LN-Penalty kanálu v rámci továrny by byly také podobné 0-conf kanálům, i jejich kód by tedy mohl být použit.
ZmnSCPxjův návrh se soustředí na továrny ve stylu SuperScalar (viz zpravodaj č. 327), avšak byl by pravděpodobně použitelný i jinými druhy (a možná i jinými kontraktovými protokoly s více stranami). René Pickhardt se zeptal na další změny, které by umožnily oznamovat kanály v rámci továren. ZmnSCPxj odpověděl, že záměrně ve svém návrhu oznamování nezvažoval, aby bylo možné změny specifikace implementovat co nejrychleji.
-
● Zpráva o aktivitě na signetu: Anthony Towns zaslal do fóra Delving Bitcoin příspěvek se souhrnem aktivity na výchozím signetu ve vztahu k navrhovaným soft forkům dostupným prostřednictvím Bitcoin Inquisition. Příspěvek nahlíží na používání SIGHASH_ANYPREVOUT včetně testování LN-Symmetry a emulace OP_CHECKTEMPLATEVERIFY. Dále zkoumá přímé používání
OP_CHECKTEMPLATEVERIFY
včetně některých pravděpodobných konstrukcí úschoven a několika transakcí šířících data. Nakonec se příspěvek dívá na používání OP_CAT pro zdroje mincí založeného na dokladech o provedení práce (proof-of-work faucet, viz zpravodaj č. 306), pro možné úschovny i jiné kovenanty a pro ověřování dokladů s nulovou znalostí STARK.Vojtěch Strnad odpověděl, že ho Townsův příspěvek inspiroval k vytvoření webové stránky, která vypisuje „každou transakci z bitcoinového signetu, která používá některý z nasazených soft forků.”
-
● Kovenanty založené na obrušování místo změn konsenzu: Ethan Heilman zaslal do emailové skupiny Bitcoin-Dev příspěvek se souhrnem článku, jehož je autorem spolu s Victorem Kolobovem, Avihu Levym a Andrew Poelstrou. Článek popisuje, jak by mohly být kovenanty snadno vytvářené bez změn konsenzu, avšak utrácení z nich by vyžadovalo nestandardní transakce a specializovaný hardware a elektřinu v hodnotě milionů (či miliard) dolarů. Heilman poznamenává, že jednou aplikací této práce je umožnit dnes uživatelům snadno přidat do taprootu záložní způsob utracení, který může být bezpečně použit, pokud by byla náhle potřebná kvantová odolnost a operace s podpisy nad eliptickými křivkami by byly v bitcoinu deaktivované.
Změny ve službách a klientech
V této měsíční rubrice upozorňujeme na zajímavé aktualizace bitcoinových peněženek a služeb.
-
● Ohlášen protokol na druhé vrstvě Spark: Spark je offchainový protokol ve stylu statechainů podporující Lightning Network.
-
● Ohlášena peněženka Unify: Unify je payjoinovou peněženkou kompatibilní s BIP78, která používá Bitcoin Core a koordinuje výměnu PSBT po nostru.
-
● Spuštěn bitcoinutils.dev: Webová stránka bitcoinutils.dev poskytuje rozličné bitcoinové nástroje včetně debugování skriptů a různých kódovacích a hašovacích funkcí.
-
● Great Restored Script Interpreter je dostupný: Great Restored Script Interpreter je experimentální interpreter návrhu Great Script Restoration.
Významné změny kódu a dokumentace
Významné změny z tohoto týdne v Bitcoin Core, Core Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), Lightning BOLTs, Bitcoin Inquisition a repozitáři BINANA.
-
● Bitcoin Core #30666 přidává funkci
RecalculateBestHeader()
, která přepočítá nejlepší hlavičku iterováním nad indexem bloků. Je automaticky zavolána při použití RPC příkazůinvalidateblock
areconsiderblock
nebo pokud jsou validní hlavičky v indexu bloků později během plné validace označeny za nevalidní. Odstraňuje tím problém nastavení nesprávných hodnot v těchto případech. PR dále označuje hlavičky, které vychází z nevalidního bloku, jakoBLOCK_FAILED_CHILD
, díky čemuž nebudou zvažovány prom_best_header
. -
● Bitcoin Core #30239 standardizuje výstupy s dočasným prachem, což umožní transakcím s nulovým poplatkem a neekonomickým výstupem přijetí do mempoolu za podmínky, že jsou v balíčku okamžitě utracené. Tato změna vylepšuje použitelnost pokročilých konstruktů jako connector výstupy nebo anchory s klíči i bez (P2A). Přinese to výhody protokolům, jako jsou Ark, expirační stromy, BitVM2 i dalším. Změna staví nad existující funkcionalitou jako 1P1C přeposílání, TRUC transakce či vylučování sourozenců. Viz též zpravodaj č. 328.
-
● Core Lightning #7833 aktivuje ve výchozím nastavení protokol nabídek, čímž odstraňuje předchozí experimentální status. Změna následuje po začlenění specifikace do repozitáře BOLTů (viz zpravodaj č. 323).
-
● Core Lightning #7799 přináší plugin
xpay
pro konstrukci a posílání optimálních plateb s více cestami. Používá pluginaskrene
(viz zpravodaj č. 316) a RPC příkazinjectpaymentonion
. Podporuje placení BOLT11 i BOLT12 faktur, nastavení doby mezi opakovanými pokusy, nastavení lhůt, přidání routovacích dat a částečné platby pro skládání příspěvků více stran v rámci jedné faktury. Plugin je jednodušší a pokročilejší než starší pluginpay
, ale neobsahuje všechny jeho vlastnosti. -
● Core Lightning #7800 přidává nový RPC příkaz
listaddresses
, který vrátí seznam všech bitcoinových adres, které uzel vygeneroval. PR dále používá P2TR jako výchozí skript pro utrácení anchor výstupů a pro adresu pro drobné při jednostranném zavření kanálu. -
● Core Lightning #7102 rozšiřuje příkaz
generatehsm
o možnost jej spustit v neinteraktivním režimu. Dříve bylo možné generovat tajná data z HSM (Hardware Security Module) pouze interaktivně v terminálu. Změna přinese výhody pro automatické instalace. -
● Core Lightning #7604 přidává do účetnického pluginu nové RPC příkazy
bkpr-editdescriptionbypaymentid
abkpr-editdescriptionbyoutpoint
. Umožní nastavit a změnit popisek událostí. -
● Core Lightning #6980 přidává nový příkaz
splice
, kterému lze předat JSON nebo skript definující komplexní splicingové akce. Všechny tyto operace nad více kanály jsou zkombinovány do jediné transakce. PR dále přidává RPC příkazyaddpsbtinput
(pro přímé přidání vstupů do PSBT),stfu_channels
(pro pozastavení aktivity v kanálech) aabort_channels
(pro ukončení kanálů za účelem jejich upgradu). Tyto příkazy jsou pro komplexní splicingové operace nezbytné.