/ home / newsletters /
Zpravodaj „Bitcoin Optech” č. 200
Tento týden shrnujeme debatu o nejmenší možné změně bitcoin skriptu potřebné
k umožnění rekurzivních kovenantů, zabýváme se upraveným návrhem na přidání
instrukce OP_TX
a nabízíme přehled bádání, jak přizpůsobit deskriptory výstupů
hardwarovým podpisovým zařízením. Též nechybí naše pravidelné rubriky shrnující
vydání nových verzí a významné změny v populárních bitcoinových infrastrukturních
projektech. Navíc oslavujeme 200. číslo zpravodaje.
Novinky
-
● Za jakých podmínek by
OP_CAT
umožnil rekurzivní kovenanty1? V debatě v emailové skupině Bitcoin-Dev o reaktivaci instrukce OP_CAT odstraněné v roce 2010 prohlásil vývojář ZmnSCPxj, že aby byly umožněny nekonečně rekurzivní kovenanty, musel byOP_CAT
být použit spolu s navrhovanou instrukcíOP_TX
(viz zpravodaj č. 187, angl.), OP_CHECKSIGFROMSTACK (CSFS) nebo podobnou funkcionalitou. Nekonečně rekurzivní kovenanty jsou kontrakty, které by zaručily, že bitcoiny přijaté na tento kontrakt mohou být poslány pouze na stejný kontrakt.Rekurzivní kovenanty závisí na technice označované jako introspekce transakce, která umožní instrukci skriptu analyzovat část transakce, která skript spouští. Existující instrukce
OP_CHECKSIG
, BIP65OP_CHECKLOCKTIMEVERIFY
a BIP112OP_CHECKSEQUENCEVERIFY
poskytují omezenou introspekci. Navrhované instrukce TX a CSFS by umožnily flexibilní introspekci všech částí transakce, včetně jejích následných výstupů (množství bitcoinů a adresát) a předchozích výstupů („prevout”, množství přijatých bitcoinů a skript, který jejich poslání autorizuje).Nejjednodušší formu rekurzivního kovenantu by bylo možno vytvořit, pokud by instrukce nebo jiná funkce skriptu byla schopna ověřit, zda jsou předchozí a následný výstup identické. Avšak předchozí výstupy nejsou přímou součástí transakce, musí být načteny z blockchainu. Aby výstupy mohly být porovnány, musí být tedy v transakci zahrnuta kopie předchozího výstupu. A aby to nebylo příliš jednoduché, zdá se, že skript předchozího výstupu se nemůže sám napřímo porovnat s následným výstupem kvůli použití hashovacích funkcí v několika částech transakce. Buď předchozí, následný nebo oba výstupy tedy budou muset být dynamicky zkonstruovány ze svých elementárních částí; to je důvod, proč je CAT (instrukce zřetězení) nebo podobná konstrukce pro rekurzivní kovenanty potřebná.
Před příchodem taprootu bylo nejefektivnější metodou, jak začlenit do transakce kopii předchozího výstupu, poskytnout ji ve formě autorizačních dat podobně jako digitální podpis. Pokud by kopie byla dodána spolu s podpisem, bylo by možné ji zkontrolovat pomocí introspekce transakce (konkrétně jejího witness), což by vyžadovalo existenci flexibilní introspekce jako např. TX nebo CSFS. Navrhované CTV a APO sice také umožňují introspekci následného výstupu, ale nejsou schopny introspekce witness. Zřejmě tak s jejich pomocí nelze utvářet rekurzivní kovenanty ani v kombinaci s CAT.
Nadav Ivgi odpověděl, že je také možné začlenit kopii dat, které jsou použity ke konstrukci předchozího výstupu, v tomto samotném výstupu (jejich přidáním v době, kdy je ještě následným výstupem). Toto pro tvorbu rekurzivních kovenantů stále vyžaduje CAT (pro vyřešení problému s hashováním), ale ukazuje nám to, že je možné definovat rekurzivní kovenanty i s CTV či APO, které se zaměřují na introspekci výstupů. Ivgi si myslí, že ověřování předchozích výstupů pomocí následných výstupů je použitím taproot jednodušší a poskytuje odkazy na dva zajímavé příklady rekurzivních kovenantů.
ZmnSCPxj s Ivgiho analýzou souhlasil a zopakoval své předchozí znepokojení ohledně rizika, které by rekurzivní kovenanty bitcoinu přinesly (viz zpravodaj č. 190, angl.), i když v následujícím příspěvku poznamenal, že „i přesto jsou rekurzivní kovenanty pravděpodobně bezpečné, protože nejsou ve skutečnosti turingovsky úplné.”
Russell O’Connor též citoval příspěvek od Andrew Poelstry (zabývali jsme se jím ve zpravodaji č. 134, angl.), ve kterém vysvětlil, že je instrukce CAT v kombinaci s existujícími vlastnostmi bitcoinu dostatečně silná, aby mohla, byla-li by do bitcoinu vrácena, definovat nerekurzivní kovenanty a teoreticky také rekurzivní.
Celá debata byla o návrzích rozšíření, naše poznání současného bitcoinového systému se tedy nemění.
-
● Přizpůsobení miniscriptu4 a deskriptorů5 podpisovým zařízením6: Salvatore Ingala poslal do emailové skupiny příspěvek o své implementaci deskriptorů výstupů (deskriptorů) a miniscriptu pro hardwarová podpisová zařízení. Poznamenal, že podpisová zařízení se obzvláště zaměřují na ověřování pravidel utrácení („policies”): uživatelé potřebují vědět, co se stane, pokud schválí transakci, ale zařízení by nemělo vyžadovat více informací, než je nezbytně nutné pro zajištění bezpečí prostředků. Z důvodu malé obrazovky na mnoha podpisových zařízeních a z nich plynoucí obtížnosti ověřování informací je také důležité, aby zobrazované informace byly co nejvíce kompaktní. Proto Ingala navrhuje několik vylepšení deskriptorů:
-
● Registrace pravidel: během úvodního nastavení podpisového zařízení by měl uživatel na zařízení ověřit preferované pravidlo utrácení. Zařízení s úložištěm by si měla registrovaná pravidla zapamatovat. Pokud zařízení žádné úložiště nemá, mělo by vrátit kryptograficky bezpečný doklad registrace, který může být spolu se samotným pravidlem načten během zapínání zařízení. Návrh nepopisuje detaily, jak by měla být pravidla na zařízeních registrována, ale poukazuje na bezpečný způsob nastavení peněženek s vícenásobným podpisem (BIP129, viz též zpravodaj č. 136, angl.).
-
● Zástupné symboly klíčů: namísto opakovaného vkládání rozšířených BIP32 klíčů navrhuje Ingala umožnit pravidlům nadefinovat krátké symboly, které by byly během interpretace pravidla nahrazeny BIP32 informacemi. To by výrazně zmenšilo velikost pravidel a také je učinilo lépe čitelnými. Ingala také navrhuje nahradit v deskriptorech některé běžné řetězce zkratkami.
-
● Snížená vyjádřitelnost: kvůli zjednodušení implementace je podporována pouze podmnožina deskriptorů, avšak nové vlastnosti mohou být přidány později, pokud bude vyžadováno.
Během přípravy zpravodaje obdržel tento návrh v emailové skupině několik komentářů.
-
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.
-
● Vydání MyCitadel Wallet: MyCitadel Wallet je desktopová bitcoinová, lightningová a RGB7 peněženka s podporou vícenásobných podpisů, PSBT, segwitu, taprootu, timelocks, hardwarových podpisových zařízení, deskriptorů a dalších vlastností.
-
● Směnárna Tauros podporuje Lightning: Mexická směnárna Tauros oznámila možnost vkladů a výběrů pomocí Lightning.
-
● Oznámení Lightning Multiplexeru: Lightning Multiplexer (lnmux) je software s podporou LND, který zvyšuje spolehlivost lightningových plateb použitím záložních plánů pro příchozí platby. Podrobnosti jsou popsány v blogovém příspěvku.
-
● Coldcard umí posílat na taproot: Nejnovější firmware pro Coldcard (Mk4 5.0.3, Mk3 4.1.5) podporuje posílání na bech32m adresy.
Vydání nových verzí
Vydání nových verzí populárních bitcoinových infrastrukturních projektů. Prosíme, zvažte upgrade či pomoc s testováním.
- ● LND 0.15.0-beta.rc1 je novým kandidátem na vydání příští verze oblíbeného LN uzlu.
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 #22235 přidává skript, který vygeneruje příklad konfiguračního souboru
bitcoin.conf
přímo ze zdrojového kódu s definicí konfiguračních položek. Tato změna umožní dodávat budoucí verze Bitcoin Core s předinstalovaným konfiguračním souborem, aniž by tím vznikl druhý zdroj pravdy o stavu konfiguračních položek. -
● LND #6450 přidává podporu pro podepisování PSBT utrácející taprootové výstupy.
-
● LND #6345 umožňuje LND použít k získání nových transakcí opakované dotazování Bitcoin Core (pull) namísto odebírání ZMQ zpráv (push).
-
● BIPs #1309 aktualizuje BIP119 a jeho ukázkovou implementaci OP_CHECKTEMPLATEVERIFY. Předchozí ukázka obsahovala kód pro implementaci instrukce v Bitcoin Core, který je napsán v C++. Nová ukázka je napsána v pseudo-pythonu. Přidány byly také informace, jak se vyhnout DoS útoku, který by s naivní implementací hrozil. Jedná se o reakci na obavy vyjádřené v minulosti v emailové skupině Bitcoin-Dev (viz zpravodaj č. 183, angl.).
Slavíme 200. číslo zpravodaje
Každé padesáté číslo zpravodaje vyzdvihujeme některé z našich výrazných úspěchů. Činíme tak, aby měl čtenář možnost dozvědět se o všem, co můžeme nabídnout, a abychom přilákali dárce, jejichž příspěvky by nám pomohly pokračovat ve vydávání. V neposlední řadě se také chceme trochu pochlubit.
Nechlubíme se z osobní domýšlivosti, ale proto, že je každý přispěvatel do Optechu zároveň obrovským fanouškem ostatních přispěvatelů. Pracovat v týmu s úžasnými lidmi je skvělá zkušenost a tyto zvláštní rubriky zpravodaje jsou obvykle místem, kde si navzájem sdílíme svůj nehynoucí obdiv.
Tento rok však chceme dát příležitost vám, čtenářům, podělit se o svůj vděk přispěvatelům Optechu. Aniž bychom sami museli žádat, obdrželi jsme na Twitteru desítky – a poté stovky – milých zpráv od našich čtenářů. Bylo jich příliš mnoho pro zpravodaj, proto jsme vybrali 50 nejlepších z posledních čtyř let.
Komentáře si můžete přečíst dole, ale v první řadě chceme poděkovat našim hlavním přispěvatelům – Adam Jonas, Carl Dong, David A. Harding, Gloria Zhao, John Newbery, Mark Erhardt, Mike Schmidt a Shigeyuki Azuchi – a také našim mnoha podporovatelům včetně zakládajících sponzorů: Wences Casares, John Pfeffer a Alex Morcos.
Právě vyšlo 100. číslo @bitcoinoptech. […] Je to jeden z nejlepších technických zpravodajů v bitcoinu.
Sledujte @bitcoinoptech a odebírejte jejich zpravodaj. Nerozumím úplně všemu, ale díky němu cítím optimismus bez ohledu na to, co se děje na trhu.
Bitcoin Optech @bitcoinoptech nabízí skvělý přehled o tom, na čem se v Bitcoinu zrovna pracuje. Skutečně ukazuje, kolik se toho v bitcoinosféře děje a vyvrací myšlenku, že Bitcoin je „zatuchlá stará technologie.” https://bitcoinops.org/en/topic-dates/
—@softsimon
Tvůrce Mempool.Space
Taky bych vážně doporučil @bitcoinoptech :)
—Alexander Leishman
Zakladatel River Financial
Zatímco spotřebitelský trh roste a infrastruktura se zlepšuje, @bitcoinoptech pracuje naplno, aby povzbudil komerční sféru v (a) přijetí novinek protokolu a (b) implementaci technických možností, které zlepší poskytovatelům služeb efektivitu.
—Alyse Killeen
Spoluzakladatelka Stillmark
Zpravodaj Bitcoin Optech (@bitcoinoptech) nepřestává dodávat zajímavý a podrobný obsah. Právě jsem přečetl [poslední] číslo a bylo výborné.
—Andreas M. Antonopoulos
Autor Mastering Bitcoin a spoluautor Mastering the Lightning Network
Jako vždy, díky za zpravodaje!
—Bastien Teinturier
VP vývoje v ACINQ
Dobrou práci odvádí @bitcoinoptech vysvětlováním detailů čtenářům z řad technických integrátorů, jejich workshop stojí za shlédnutí
—Ben Woosley
Vývojář Bitcoin Core a Senior Developer v Unchained Capital
Bitcoin Optech (@bitcoinoptech) byl založen v roce 2018, aby překlenul světy open-source vývoje a firem. Ušli od vzniku velkou vzdálenost.
Zpravodaj @bitcoinoptech přináší neuvěřitelné shrnutí veškerého důležitého vývoje v bitcoinu a Lightning Network za rok 2018. Prochází měsíc po měsíci, přidává odkazy. Pěkné čtení na víkend!
—Buck Perley
Vývojář v Unchained Capital
Další skvělý zpravodaj. Díky @bitcoinoptech !
Myslím, že projekty jako @bitcoinoptech zlepšují komunikaci, ale potřebujeme jich víc!
—Carl Dong
Vývojář Bitcoin Core v Chaincode Labs
Začněte s předstihem plnit svá novoroční předsevzetí: nezůstávejte pozadu za báječným světem vývoje bitcoinu a přečtěte si souhrn roku 2021 od @bitcoinoptech 🌟
—Carla Kirk-Cohen
Nezávislý vývojář LN a člen představenstva v Brink, ₿trust a Qala
Jste trochu pozadu s Taprootem? Máte pořád ještě čas a naštěstí pro vás má @bitcoinoptech SKVĚLÝ workshop, který vám s tím pomůže: https://github.com/bitcoinops/taproot-workshop/
Můžu silně doporučit. Prochází všechny ty části, o kterých potřebujete vědět. Tak do tohooooo 💪 #Bitcoin #taproot
—Elle Mouton
Vývojář v Lightning Labs
My [v Bitcoin Magazinu] děláme, co můžem, abychom vytáhli to podstatné, ale pokud hledáte surový materiál, @bitcoinoptech snad nelze porazit.
Je to zdaleka můj nejoblíbenější obsah mimo BM a jeden z mála zpravodajů, které zůstávají v mé schránce, dokud je řádně nepřečtu.
upřímně, @bitcoinoptech je úžasný
—George Kaloudis
Research Analyst v CoinDesk
@bitcoinoptech je skvělý zdroj
—Gregory Sanders
Bitcoinový vývojář
Jen chci vyjádřit vděk týmu @bitcoinoptech za jejich zpravodaje.
Šetří mi HROMADU času, když mohu procházet chaty a emaily, abych měl přehled o vývoji a snadno mohl zabrousit hlouběji do čehokoliv, co mě zajímá.✊
—Guy Swann
Hostitel Bitcoin Audible
P.S. Chci poděkovat vývojářům, vzdělavatelům a těžařům, kteří denně síť provozují a vylepšují.
Lidi v @lightning, @ChaincodeLabs, @CryptoGarageInc , @Blockstream, @bitcoinoptech a mnoho a mnoho přispěvatelů dělají neskutečné věci.
Díky vám všem.
Skvělý roční souhrn 👍 @bitcoinoptech
—Hong Fang
CEO OKCoin
Neználek: „Bitcoin už nepřináší žádné inovace; jeho vývoj se zastavil!”
Já: „Celoroční přehled vývoje od @bitcoinoptech je tak dlouhý, že ho můj emailový klient ani celý nezobrazí.”
—Jameson Lopp
Spoluzakladatel a CTO, Casa
jeden z mála zpravodajů, jejichž každé číslo pokaždé přečtu. díky @bitcoinoptech
—John Light
Human Rights Foundation ZK-Rollup Research Fellow
Neskutečně obdivuju šikovné a nadšené vývojáře oddané rozšiřování #bitcoinu. Je mou ctí podporovat @meshcollider, Antoine Riarda, @bitcoinoptech, @mitDCI, dev training… a bude toho víc! Prosím připojte se k podpoře vývoje #btc!
—John Pfeffer
Podnikatel a investor
Vzdávám hold Bitcoin Optech, který (kromě jiného) zaznamenává technický vývoj bitcoinu. Žádný humbuk, žádná dramata, pouze skvělé informace o pokroku v použití a nasazení bitcoinu. @bitcoinoptech
Témata na @bitcoinoptech jsou dobrým odrazovým bodem
—Jon Atack
Bitcoin Developer
@bitcoinoptech vydal zpravodaj s moc hezkým souhrnem posledního roku.
Tento příspěvek od […] @bitcoinoptech vysvětluje, proč je znovupoužití nonce v multisigu špatné a proč je těžké se tomu vyhnout. Fakt mi pomohl tomu lépe porozumět. Díky!
—Kalle Rosenbaum
Autor Grokking Bitcoin
Abyste si udrželi přehled, existuje hromada zpravodajů okolo crypta..
@bitcoinoptech je jedním z těch, které sleduju až pobožně.
Silně doporučuju, jestli držíte nějaké btc a chcete vědět, jak se opravdu pracuje na vylepšení protokolu.
Důležitý příspěvek od @bitcoinoptech, který shrnuje a katalogizuje významný technický vývoj
—Leah Wald
CEO Valkyrie Investments
Také milujete, když z ničeho nic najdete skvělý vzdělávací zdroj?
Můj projekt č. 1 na tento víkend bude workshop o taprootu od @bitcoinoptech, který jsem nedávno objevil.
—Lucas Nuzzi
Šéf vývoje v CoinMetrics.io
Páni - @bitcoinoptech má přes 25 přispěvatelů!!
Nejkvalitnější bitcoinové novinky – ověřeno machry mezi přispěvateli do free software!
Díky všem podporovatelům. 🔥🚀
—Max Hillebrand
Free Software Entrepreneur
Předpokládám, že každý už ví o výtečném zpravodaji @bitcoinoptech. Ale věděli jste, že obsahuje tematické stránky seřazené podle názvu, data a části bitcoinu, které se týká? https://bitcoinops.org/en/topic-categories/
Díky všem, kteří nám pomohli dostat se až sem: spoluautorům @ajtowns, @n1ckler a @real_or_random a všem, kteří přispěli k tvorbě tohoto dokumentu, účastníkům workshopů @bitcoinoptech, Gregovi Maxwellovi za původní myšlenku a mnoha dalším.
—Pieter Wuille
Bitcoinový vývojář v Chaincode Labs
Snaha shrnout, co se kde děje, je skoro na plný úvazek. A přesně to dělají lidičky v @bitcoinoptech, takže i jen odebírání jejich zpravodaje vám přinese hodně poznání.
Opět jsem si užil čtení zpravodaje @bitcoinoptech […] Je to ten nejlepší zdroj a přehled novinek pro vývojáře a vzdělavatele.
—Rene Pickhardt
Vývojář bitcoinu a Lightning Network
Pro poznání Taprootu doporučuju sérii videí od @bitcoinoptech, obzvláště interaktivní notebook od @digi_james je dobrý pomocník pro pochopení, jak používat tapscript.
Zpravodaj @bitcoinoptech představuje každý týden nejčerstvější vývoj a novinky v bitcoinu.
@bitcoinoptech je komunitní projekt neuvěřitelné hodnoty a čím větší součást ekosystému se na něm podílí a osvojuje si nejlepší praktiky, tím lépe.
—Robert Spigler
OpSec consultant
Sledujte @bitcoinoptech a odebírejte jejich zpravodaj.
Jen málo zdrojů bitcoinových technických informací shrnuje a vysvětluje takto dobře.
Udělejte to teď, ať nezapomenete 😉
—Rodolfo Novak
CEO and Co-Founder of Coinkite
Jako vždy nabízí @bitcoinoptech odborně připravený souhrn […]
—Ruben Somsen
Bitcoinový kouzelník a spoluhostitel The Unhashed Podcast
zkouším číst méně twitteru a více @bitcoinoptech
—Sahil Chaturvedi
Product Designer v Unchained Capital
Poslední číslo @bitcoinoptech obsahuje skvělý příklad, proč je teorie her tak důležitá.
—Sam Wouters
Bitcoinový vzdělavatel
Skvělá práce, týme @bitcoinoptech. Matice kompatibility je dobře udělaná.
Pěkný článek od @bitcoinoptech . 👍
—Samson Mow
CEO Jan3
Série o taprootu je nedocenitelná pro pochopení ne jen z nadhledu, ale také jeho technických detailů. Dík všem, kteří se podíleli!
—Stacie Waleyko
Vývojář v Casa
Skvělý a asi méně známý zdroj pro lidi studující Bitcoin tech: @bitcoinoptech témata na https://bitcoinops.org/en/topics/
—Stephan Livera
Generální ředitel Swan Bitcoin a podcaster
@bitcoinoptech v únoru pěkně shrnul přístup LDK https://bitcoinops.org/en/newsletters/2022/02/23/#ldk-1199
—Steve Lee
Šéf ve Spiral
Děkuju @bitcoinoptech, jedné z nejlepších organizací v bitcoinu, zaměřená na pomáhání ostatním z nás používat bitcoin a být lepšími bitcoinery!
Je ctí celého našeho týmu být zmíněn v nejrespektovanějším a nejpokročilejším technickém bitcoinovém zpravodaji, kterým je @bitcoinoptech
Opravdu, @bitcoinoptech je nepostradatelným zdrojem každého bitcoinera.
Poznámky a vysvětlivky
-
kovenanty jsou druhem kontraktu, který povoluje poslat bitcoin pouze za předem daných podmínek, např. pouze na jednu z vyjmenovaných adres ↩
-
vaults („úschovny”) jsou druhem kovenantů, které pro poslání prostředků vyžadují dvě oddělené transakce: první k oznámení pokusu o poslání, druhá může zablokovat přenos v případě krádeže ↩
-
pinning je druh útoku, který zneužívá legitmní možnost navyšování poplatků pomocí RBF nebo CPFP a který způsobuje výrazné navyšení poplatků za transakci ↩
-
miniscript je jazyk pro psaní bitcoin skriptů umožňující snadnou analýzu, kompozici atd. ↩
-
deskriptory jsou řetězce, které popisují skripty výstupů; jsou používány peněženkami a jiným software ↩
-
podpisová zařízení („signing devices”) byla dříve nepřesně označována za hardwarové peněženky; od tohoto názvu se již upouští ↩
-
RGB je systémem pro chytré kontrakty postavený nad bitcoinem; slovenský článek o RGB od Matouše Wachutky obsahuje mnoho detailů ↩