BIP "Reduced Data Temporary Softfork" navrhuje dočasně deaktivovat různé funkce Bitcoinu na základě konsensu. Prozkoumal jsem blockchain, abych kvantifikoval potenciální dopad tím, že jsem identifikoval historické transakce, které porušují každé z těchto pravidel. 🧵↓
Pravidlo #1: "Nové výstupní scriptPubKeys přesahující 34 bajtů jsou neplatné, pokud není OP_RETURN první operační kód, v takovém případě je platných až 83 bajtů." To se týká všech výstupů P2PK a P2MS a také malého počtu nestandardních SPK.
Pravidlo #2: "OP_PUSHDATA* s datovými částmi většími než 256 bajtů jsou neplatné, s výjimkou odeslání redeemScript v skriptech BIP16." Předpokládám, že se to týká pouze *provedených* datových pushů, takže jsem vyloučil push v obálkách s nápisy taproot, kterých je velmi mnoho.
Pravidlo #3: "Využití nedefinovaných verzí svědka (nebo Tapleaf) (tj. ne Witness v0/BIP 141 ani Taproot/BIP 341) je neplatné." Existuje něco málo přes 54 tisíc transakcí s nedefinovanými výstupy s čísly verzí (většinou pomocí falešných výstupů k obejití limitu op_return).
BIP 141 a 341 však definují konkrétní délky witnessových programů: - v0, délka 20 (P2WPKH) - v0, délka 32 (P2WSH) - v1, délka 32 (P2TR) jak bylo napsáno, zdá se, že RDTS zakazuje všechny ostatní délky programů, včetně kotev P2A (v1, délka 2).
Pravidlo #4: "Zásobníky určujících událostí s přílohou Taproot jsou neplatné." Dosud bylo k 11 transakcím připojena příloha k výdajům v taprootu, většinou u jpegů.
mononaut
mononaut11. 5. 2025
Druhý soubor JPEG se dostal do přílohy
Pravidlo #5: "Ovládací bloky Taproot větší než 257 bajtů (merkleův strom se 128 listy skriptu) jsou neplatné." Existuje ~32k zjevně datově embedingových taprootů s hloubkou řídicího bloku 100+ (labitbus a podobné). Ale také hrstka "legitimních" utrácí v menší hloubce.
Pravidlo #6: "Tapscripty obsahující operační kódy OP_SUCCESS* kdekoli (i neprovedené) jsou neplatné." Existují dvě historické výdaje na taproot, včetně OP_SUCCESS operačních kódů: Burakova bleskolamová transakce a toto hloupé demo OP_CAT
Pravidlo #7: "Tapscripty provádějící instrukci OP_IF nebo OP_NOTIF (bez ohledu na výsledek) jsou neplatné." Cílem je deaktivovat "nápisovou obálku", kterou dosud využilo více než 104 milionů transakcí.
RDTS však jde nad rámec deaktivace obálky s nápisem, úplného zákazu OP_IF a OP_NOTIF. Asi 70 transakcí bez zápisu používalo OP_IF v taproot skriptech. Mnohé z nich jsou experimenty ve stylu bitvm, ale existují i příklady přímočařejšího finančního využití.
Například existuje několik výdajů pomocí této šablony skriptu "decaying multisig", která používá více OP_IFs
Nejznepokojivější je, že existuje více výdajů z peněženky pomocí této šablony skriptu HTLC za bodem bip341 NUMS (deaktivace cesty ke klíči) Skript používá OP_IF k výběru mezi větví vyžadující dva podpisy a předobraz hash, nebo jedním podpisem po relativním vypršení časového limitu
Zastánci RDTS odmítli obavy z konfiskace týkající se OP_IF a velkých kontrolních bloků v taprootu tvrzením, že uživatelé mohou vždy utrácet prostřednictvím klíčové cesty. Přibližně 560 tisíc transakcí však spotřebovalo výstupy taprootu, kde byla cesta klíče prokazatelně zakázána.
122,5K