Tento týden představujeme návrh BIP pro opkód OP_VAULT, přinášíme souhrn diskuze o umožnění LN uzlům nastavit na svých kanálech příznak vysoké dostupnosti, přeposíláme žádost o zpětnou vazbu k ohodnocování sousedů LN uzlů a popisujeme návrh BIP pro zálohu a obnovu seedů bez nutnosti používat jakoukoliv elektroniku. Též nechybí naše pravidelné rubriky se souhrnem oblíbených otázek a odpovědí z Bitcoin StackExchange, oznámeními o nových verzích a popisem významných změn oblíbených páteřních bitcoinových projektů.

Novinky

  • Příznak vysoké dostupnosti pro LN: Joost Jager zaslal do emailové skupiny Lightning-Dev návrh na umožnění uzlům signalizovat, že je kanál „vysoce dostupný,” tedy že operátor věří v jeho schopnost přeposílat platby bez selhání. Pokud však k selhání dojde, odesílatel by mohl přestat tento uzel používat na dobu mnohem delší, než v případě uzlů, které by tento příznak nastaven neměly. Odesílatelé plateb cílící na maximální rychlost (spíše než na nízké poplatky) by mohli dávat přednost trasám obsahující uzly s příznakem.

    Christian Decker odpověděl výtečným shrnutím problémů reputačních systémů, včetně případů samozvané reputace. Jednou z jeho obav je, že běžný odesílatel nebude zdaleka posílat tolik plateb, aby v rámci rozsáhlé sítě kanálů opakovaně použil stejné uzly. Hrozba dočasného odmítnutí poskytnutí dalších služeb není příliš vážná v případě, kdy se jen zřídka vyžadují další služby.

    Antoine Riard připomněl účastníkům alternativní přístup k urychlení plateb: přeplácení s vrácením, dříve zvané bumerangové platby („boomerang payments,” viz zpravodaj č. 86, angl.) či vratné přeplatky („refundable overpayments,” viz zpravodaj č. 92, angl.). V tomto schématu by odesílatel vzal svou platbu, přidal peníze navíc, rozdělil na několik částí a odeslal je po několika trasách. Když příjemce obdrží dostatečné množství částí, které fakturu zaplatí, nárokuje si pouze tyto části a ostatní odmítne. Vyžaduje to, aby měl odesílatel ve svém kanálu prostředky navíc, avšak funguje to, i když některé trasy vybrané odesílatelem selžou. Snižuje to také nutnost, aby byl odesílatel schopen snadno vyhledat vysoce dostupné kanály. Složitost přístupu tkví ve vytvoření mechanismu, který by příjemcům zabránil nárokovat i přeplatky.

  • Žádost o zpětnou vazbu k hodnocení dobrých sousedů v LN: Carla Kirk-Cohen a Clara Shikhelman zaslaly do emailové skupiny Lightning-Dev žádost o komentáře k doporučeným parametrům, které by umožnily uzlům posoudit, zda jsou druhé strany jejich kanálů dobrými zdroji přeposlaných plateb. Navrhují několik kritérií a pro každé z nich uvádí doporučené výchozí parametry. Rády by obdržely zpětnou vazbu ke zvoleným nastavením.

    Usoudí-li uzel, že jedno z jeho spojení je dobrým sousedem, a tento soused označí přeposlané platby za jím schválené, může tento uzel poskytnout platbě přístup k více zdrojům než platbám nekvalifikovaným. Mohl by platbu během přeposílání dalším uzlům také sám schválit. Tento mechanismus je součástí návrhu na zabránění útoků zahlcením kanálu, jak bylo popsáno v předchozím článku, jehož spoluautorkou byla Shikhelman (viz zpravodaj č. 226, angl.).

Vybrané otázky a odpovědi z Bitcoin Stack Exchange

Bitcoin Stack Exchange je jedním z prvních míst, kde hledají přispěvatelé Optechu odpovědi na své otázky a kde – najdou-li volnou chvíli – pomáhají zvědavým či zmateným uživatelům. V této měsíční rubrice nabízíme některé z otázek a odpovědí, které obdržely vysoký počet hlasů.

Vydání nových verzí

Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, zvažte upgrade či pomoc s testováním.

  • BDK 0.27.1 je bezpečnostní aktualizací opravující zranitelnost, která „někdy způsobuje přetečení, když se do SQLite funkce printf strčí velký řetězec.” Pouze software, který používá BDK s volitelnou SQLite databází, musí být aktualizován. Detaily jsou obsaženy ve zprávě o zranitelnosti.

  • Core Lightning 23.02rc3 je kandidátem na vydání nové údržbové verze této oblíbené implementace LN.

Významné změny v kódu a dokumentaci

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) a Lightning BOLTs.

  • Bitcoin Core #24149 přidává podporu pro podepisování deskriptorů výstupů založených na miniscriptech založených na P2WSH. Bitcoin Core bude schopen podepisovat vstup jakéhokoliv miniscriptového deskriptoru, jsou-li přístupné všechny předobrazy a klíče a jsou-li časové zámky platné. Některé možnosti pro úplnou podporu zatím chybí: peněženka zatím neumí odhadnout váhu vstupu v případě některých deskriptorů a neumí v některých případech podepsat PSBT. Na podpoře miniscriptu pro P2TR výstupy se též pracuje.

  • Bitcoin Core #25344 aktualizuje RPC volání bumpfee a psbtbumpfee pro navyšování poplatků pomocí Replace By Fee (RBF). Aktualizace umožňuje specifikovat výstupy nahrazující transakce. Nahrazující transakce může obsahovat jinou sadu výstupů než transakce nahrazovaná. Lze takto přidat nové výstupy (např. v případě iterativního dávkování) nebo výstupy odebrat (např. chceme-li zrušit nepotvrzenou platbu).

  • Eclair #2596 omezuje, kolikrát se může spojení pokusit navýšit poplatek pomocí RBF během otevírání kanálu s oboustranným vkladem. Je-li počet překročen, žádné další pokusy o změnu nebudou přijaty. Důvodem této změny je, že uzel musí ukládat data o každé verzi otevírací transakce, mohl by tedy být problém, pokud by bylo možné navýšit poplatek bez omezení. Běžně je počet navýšení poplatku prakticky omezen potřebou za každý pokus platit poplatky. V případě oboustranného vkladu se však očekává, že budou uzly ukládat všechny pokusy, i takové, které nemohou validovat. Útočník by tak mohl vytvořit neomezené množství nevalidních transakcí navyšujících poplatek bez nutnosti za ně platit jakékoliv poplatky.

  • Eclair #2595 pokračuje v práci na přidání podpory splicingu, v tomto případě aktualizací konstruktorů transakcí.

  • Eclair #2479 přidává podporu platby nabídek následujícím způsobem: uživatel obdrží nabídku, řekne Eclairu, aby ji zaplatil, Eclair pomocí nabídky stáhne od příjemce fakturu, ověří parametry faktury a zaplatí ji.

  • LND #5988 přidává novou volitelnou funkci odhadu pravděpodobnosti pro hledání platebních cest. Je částečně založen na dřívějším výzkumu (viz zpravodaj č. 192, angl.) s použitím závěrů jiných přístupů.

  • Rust Bitcoin #1636 přidává funkci predict_weight() pro odhad váhy. Vstupem funkce je vzor transakce, výstupem její očekávaná váha. To je obzvláště užitečné pro správu poplatků: aby bylo možné určit, které vstupy mají být přidány do transakce, musí být známa výše poplatku, ale aby byla známa výše poplatku, musí být známa velikost transakce. Funkce poskytuje odhad velikosti, aniž by se transakci pokusila sestavit.