Zpravodaj tento týden představuje nové schéma pro anonymní tokeny užívání, které by mohly být použity pro oznamování LN kanálů a v několika dalších koordinačních protokolech odolných vůči sybilím útokům, odkazuje na diskuzi o novém schématu rozdělování BIP39 vět seedu, oznamuje alternativu k BitVM pro ověřování úspěšného spuštění libovolných programů v interaktivních kontraktových protokolech a sdílí návrhy na aktualizaci procesu tvorby BIPů.

Novinky

  • Anonymní tokeny užívání: Adam Gibson zaslal do fóra Delving Bitcoin příspěvek o schématu, které vyvinul a které umožní komukoliv, kdo je schopen utratit klíčem nějaké UTXO, aby prokázal možnost utratit jej bez nutnosti konkrétní UTXO odhalit. Tato práce navazuje na Gibsonův předchozí vývoj PoDLE, mechanismu proti sybilímu útoku (je používán v implementaci coinjoinu Joinmarket), a RIDDLE.

    Jednou možností použití, kterou popisuje, je oznamování LN kanálů. Každý LN uzel oznamuje ostatním uzlům své kanály, aby mohly nalézt cesty sítí pro platby. Část těchto informací o kanálu je uložena v paměti a oznámení jsou často posílána opakovaně, aby bylo zajištěno, že dosáhnou co největšího počtu uzlů. Byl-li by útočník schopen levně produkovat oznámení o falešných kanálech, narušoval by tím hledání cest a plýtval by významným množstvím paměti a přenosového pásma čestných uzlů. LN uzly se proti tomu brání tím, že akceptují pouze oznámení podepsaná klíčem, který patří validnímu UTXO. To po vlastnících kanálu požaduje, aby identifikovali konkrétní UTXO, které spolu vlastní. Kvůli tomu lze asociovat prostředky kanálu s jinými minulými i budoucími onchain transakcemi, které vytvoří (nebo někdo může kvůli tomu vytvořit nepřesné asociace).

    Gibsonovo schéma, nazývané anonymní tokeny užívání se stromy křivek (anonymous usage tokens with curve trees, autct), umožňuje spoluvlastníkům kanálu podepsat zprávu, aniž by museli odhalit své UTXO. Útočník bez UTXO by nemohl takový validní podpis vytvořit. Útočník, který UTXO má k dispozici, by validní podpis vytvořit mohl, avšak musel by v něm držet tolik prostředků, kolik by uzel musel držet v kanálu. To omezuje dopady útoku v nejhorším možném případě. Zpravodaj č. 261 obsahuje předchozí diskuzi o přerušení vztahu mezi oznámeními kanálu a konkrétními UTXO.

    Gibson dále popisuje několik dalších možných způsobů použití autct. Základní mechanismus pro podobný druh soukromí – kruhové podpisy (ring signatures) – je známý již dlouho. Avšak Gibson používá nový kryptografický konstrukt (curve trees, stromy křivek), díky kterému jsou důkazy kompaktnější a rychlejší na ověření. Každý důkaz skrytě zavazuje použitému klíči, jediné UTXO tedy nemůže vytvořit neomezený počet validních podpisů.

    Vedle kódu zveřejnil Gibson také fórum jako ověření konceptu, které pro zaregistrování vyžaduje poskytnutí autct důkazu. Výsledkem je prostředí, kde je o každém účastníkovi známo, že vlastní bitcoiny, ale nikdo nemusí poskytnout žádné další informace o sobě či svých bitcoinech.

  • Dělení BIP39 vět seedu: Rama Gan zaslal do emailové skupiny Bitcoin-Dev odkaz na sadu nástrojů pro generování a dělení BIP39 vět seedu bez nutnosti používání jakýchkoliv elektronických výpočetních zařízení (kromě tisku instrukcí a šablon). Podobá se schématu codex32, ale pracuje s BIP39, které jsou kompatibilní s téměř všemi současnými hardwarovými podpisovými zařízeními a mnoha softwarovými peněženkami.

    Andrew Poelstra, spoluautor codex32, poskytl v odpovědi několik komentářů a návrhů. Bez vyzkoušení obou schémat (každé by zabralo několik hodin) nám není přesně známo, kde každé z nich učinilo kompromisy. Avšak zdá se, že obě dvě v základu nabízejí shodné možnosti: instrukce pro bezpečné offline generování seedu, možnost rozdělit seed do několika částí pomocí Shamirova sdílení tajných dat, schopnost spojit části do původního seedu a schopnost ověřit kontrolní součty jednotlivých částí i původního seedu, čímž může uživatel odhalit poškození dat dostatečně brzy na to, aby původní data mohl stále obnovit.

  • Alternativa k BitVM: Sergio Demian Lerner se spoluautory zaslali do emailové skupiny Bitcoin-Dev příspěvek o nové virtuální procesorové architektuře částečně založené na myšlenkách stojících za BitVM. Cílem jejich projektu nazvaného BitVMX je efektivně vytvářet doklady o řádném provedení nějakého programu, který může být zkompilován pro běh na běžné procesorové architektuře, jako je RISC-V. Podobně jako BitVM nevyžaduje ani BitVMX změny konsenzu, ale potřebuje, aby se jedna či více určených stran ujaly role důvěryhodného ověřovatele. Znamená to, že skupina uživatelů, kteří se interaktivně účastní protokolu, může zabránit jednomu (či více) z účastníků ve výběru peněz z kontraktu, dokud tento účastník úspěšně nespustí libovolný program specifikovaný tímto kontraktem.

    Lerner odkazuje na článek o BitVMX, který jej porovnává s původním BitVM (viz zpravodaj č. 273) a (i přes nedostupné podrobnosti) k následným projektům původních vývojářů BitVM. Doprovodná webová stránka poskytuje dodatečné informace v méně technické podobě.

  • Diskuze o změnách BIP2 pokračuje: Mark „Murch” Erhardt pokračuje v emailové skupině Bitcoin-Dev v diskuzi o změnách BIP2, což je dokument, který popisuje proces navrhování a schvalování BIP, návrhů na zlepšení bitcoinu. Jeho email popisuje několik problémů, navrhuje řešení mnoha z nich a žádá o poskytnutí zpětné vazby. Zpravodaj č. 297 popisuje předchozí diskuzi o změnách BIP2.

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.

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.

  • Core Lightning #7190 přidává do výpočtu hodnoty časového zámku HTLC dodatečný offset (nazývaný chainlag). To umožní HTLC cílit aktuální výšku bloku namísto výšky, kterou uzel naposledy zpracoval. Díky tomu mohou být platby bezpečné i během synchronizace blockchainu.

  • LDK #2973 přidává do OnionMessengeru podporu pro zachycování onion zpráv určených pro offline uzly. Generuje události při zachycení zprávy a když je spojení opět online. Uživatelé by měli udržovat seznam spojení, pro která se budou zprávy ukládat. Jedná se o další krok v podpoře asynchronních plateb pomocí held_htlc_available (BOLTs #989). Například Alice chce Carol poslat peníze přes Boba, ale Alice neví, zda je Carol online. Alice pošle Bobovi onion zprávu, Bob zprávu drží, dokud není Carol online. Nato Carol zprávu otevře a na základě ní pošle Alici (či jejímu poskytovateli služeb) žádost o platbu. Nakonec Alice Carol zaplatí běžným způsobem.

  • LDK #2907 rozšiřuje metodu zpracovávající OnionMessage o volitelný parametr Responder a mění její návratový typ na ResponseInstructions, který udává, jak má být s odpovědí na zprávu naloženo. Tato změna umožní asynchronní odpovědi na onion zprávy a otevírá dveře komplexnějším mechanismům odpovědí, jakou jsou ty potřebné pro asynchronní platby.

  • BDK #1403 upravuje modul bdk_electrum tak, aby používal nové sync/full-scan struktury představené v BDK #1413, dotazovatelné spojové seznamy CheckPointů (BDK #1369) a snadno klonovatelné transakce zapouzdřené v Arc (BDK #1373). Tato změna zvyšuje efektivitu skenování transakcí během používání podobných serverů, jako je Electrum. Dále nově umožňuje načíst předchozí výstupy, což umožní výpočet poplatků transakcí přijatých z externí peněženky.

  • BIPs #1458 přidává BIP352, který navrhuje tiché platby, protokol pro znovupoužitelné adresy generující při každém použití onchain unikátní adresu. Návrh BIPu byl poprvé diskutován ve zpravodaji č. 255.