Autor: 0xB10C Překladač: Songxue, Golden Finance

Můj projekt, miningpool-observer, si klade za cíl odhalit, kdy pooly pro těžbu bitcoinů neprovádějí transakce, které by mohly mít. Během několika posledních týdnů zjistila šest chybějících transakčních výdajů z adres schválených OFAC. Tento článek zkoumá, zda byly tyto transakce úmyslně filtrovány, protože byly vynaloženy z adres schválených OFAC, nebo zda existují jiná možná vysvětlení, proč tyto transakce v bloku chyběly. Můj závěr je, že čtyři z transakcí mohly být filtrovány.

V září a říjnu 2023 zdroj RSS pro moji instanci pozorovatele těžebního fondu nahlásil 6 bloků chybějících transakcí schválených OFAC. Jeden z bloků byl vytěžen těžebním poolem ViaBTC, další těžebním poolem Foundry USA a další čtyři těžebním poolem F2Pool. Transakce schválená OFAC je transakce, při které je platba nebo platba provedena z adresy schválené Ministerstvem financí USA pro kontrolu zahraničních aktiv. Udržuji nástroj, který extrahuje seznam adres uznaných OFAC ze seznamu Speciálně určených státních příslušníků (SDN) publikovaného OFAC.

Existuje několik důvodů, proč mohou v bloku chybět transakce. Obecně řečeno, transakce nejsou v síti rozmístěny rovnoměrně a neexistuje žádný globální mempool, ze kterého lze transakce vybírat. Každý uzel má vlastní sadu platných transakcí. Těžební fondy mohou také upřednostňovat transakce, které přijímají platby mimo pásmo. Může však také snížit prioritu nebo filtrovat transakce.

Cílem je zde určit, zda těžební fond odfiltroval některou z těchto šesti transakcí schválených OFAC, nebo zda existují jiná možná vysvětlení, proč se v bloku neobjevují. Všimněte si, že těžební fondy si mohou svobodně vybrat, které transakce zahrnout a které vyloučit. Abychom však mohli analyzovat vlastnosti bitcoinu odolné vůči cenzuře, je důležité pochopit, které a kolik těžebních fondů filtruje transakce.

Došel jsem k závěru, že zprávy od miningpool-observer naznačující, že schválené transakce chybějící v blocích ViaBTC a Foundry jsou s největší pravděpodobností falešně pozitivní a nejsou výsledkem filtrování. Transakce chybějící v bloku F2Pool však mohly být filtrovány.

Blok ViaBTC 808660

Blok 808660..866c79c52 byl vytěžen společností ViaBTC dne 21. září 2023 a neobsahuje transakci 262025e7.. Tato transakce kombinuje 100 vstupů do jednoho výstupu. Výstup jednoho z těchto vstupů je placen do 1ECeZBxCVJ8Wm2JSN3Cyc6rge2gnvD3W5K. Adresa byla přidána do seznamu SDN OFAC 21. září 2021.

Velikost transakce je 14,7 kvB a zaplacený poplatek je 25,18 sat/vByte. Výstup vynaložený schválenou adresou je 0,0002 BTC (20 000 sat) a byl vytvořen den předtím. Když ViaBTC vytěžil blok 808660, transakce ležela v mempoolu mého uzlu asi 75 minut. Nemá žádnou závislost na transakcích mempool.

Distribuce sazeb v šablonách a blocích

Alokace sazby pro bloky a šablona pro blok 808660. Snímek obrazovky z Miningpool.observer.

Kontrolou distribuce sazeb pro blok 808660 na Miningpool.observer bylo zjištěno, že ViaBTC zabírá asi 1 MWU prostoru bloku (celkem 4 MWU) a má prioritní transakce. Ty mohou pocházet z bitcoinového obchodního akcelerátoru ViaBTC. Upřednostnění určitých transakcí znamená, že transakce s nižšími poplatky (jako jsou zde transakční výdaje ze sankcionovaných adres) nevstupují do bloku. Pro tento blok ViaBTC moje instance pozorovatele těžebního fondu uvádí na konci šablony 24 velkých sloučených transakcí, které se do bloku nedostaly.

Chybějící seznam velkých sloučených transakcí v bloku 808660

Závěr z toho je, že ViaBTC tuto transakci nefiltroval. Nahrazují ho jiné prioritní obchody. To bylo prokázáno skutečností, že o tři dny později ViaBTC vytěžila transakci, která utratila výstupy ze stejné schválené adresy v bloku 809181.

Blok 813231 od Foundry USA

Blok 813231..0a8528b6 byl vytěžen Foundry USA dne 21. října 2023 a neobsahuje transakci c9b57191.. Tato transakce spojuje 150 vstupů do jednoho výstupu. Výstup jednoho ze vstupů je placen do 3PKiHs4GY4rFg8dpppNVPXGPqMX6K2cBML. Adresa byla přidána do seznamu SDN OFAC 14. dubna 2023.

Protože většina ze 150 vstupů jsou skripty P2SH s více podpisy 2 ze 3, chybějící transakce jsou velké a dosahují 43 842 vByte. Platí 5,09 sat/vByte a nespoléhá se na transakce v mempoolu. V šabloně vytvořené mým bitcoinovým Core uzlem je tato rychlost dostatečná k tomu, aby se umístil na 161. místě z 2215 transakcí. Když jsem se však dozvěděl o bloku Foundry USA 812331, tato transakce spolu s 18 dalšími byla v mém mempoolu jen asi 30 sekund. Díky tomu je pravděpodobné, že Foundry nemá šanci zahrnout tuto transakci do svého bloku, protože o ní ještě neví.

Šíření transakce může trvat několik sekund. Většina těžebních fondů navíc těžařům předává nové šablony bloků pouze každých 30 sekund a přechod na nové úlohy chvíli trvá. Nástroj miningpool-observer si navíc každých pár sekund vyžádá nové šablony bloků a na základě minimálních rozdílů ve ztracených a nadbytečných transakcích provede shodu s nejlepším úsilím (viz metoda v FAQ). To umožňuje, aby nové transakce byly falešně pozitivní až po dobu 60 sekund.

Průzkumník bloků mempool.space také sleduje rozdíly mezi šablonou bloku a finálním blokem vysílaným těžaři. Ukazují, že c9b57191.. je součástí jejich šablony, ale chybí ve skutečném bloku. Transakce byla jimi také označena jako „Nedávno vysílané“.

Chybějící transakci v bloku Foundry 813231 považuje mempool.space za „nedávno vysílanou“.

Z toho je třeba vyvodit závěr, že Foundry USA transakci nefiltrovala. Transakce byla vysílána příliš pozdě na to, aby mohla být zahrnuta do těžební operace, která nakonec našla blok 813231. Kromě toho Foundry USA vytěžila další blok v nadmořské výšce 813232 a zahrnula tam schválené transakce.

F2Pool bloky 810727, 811791, 811920, 813357

F2Pool vytěžil bloky 810727..ccda1498 5. října 2023, bloky 811791..af4453d6 a 811920..00badf62 12. října a bloky 813357..63ac1669 22. října. V každém bloku chybí rozpoznaná transakce. Každá z těchto transakcí kombinuje 150 2-z-3 multisig vstupů do jediného výstupu. Pro každou transakci je jeden ze vstupů zaplacen na výstup 3PKiHs4GY4rFg8dpppNVPXGPqMX6K2cBML. Toto je stejný režim integrace a adresa, o kterých jsme hovořili v předchozí části. Žádná ze ztracených transakcí nezávisí na transakcích v mempoolu.

Blok 810727

V bloku 810727 F2Pool neobsahuje transakci c6a66836.., která utrácí schválené výstupy. Se 150 multisig vstupy 2 ze 3 je transakce poměrně velká na 44 017 vBytech. Když F2Pool vytěžil blok 810727, zaplatil 446260 satů a zůstal v mém paměťovém fondu uzlů téměř 4 hodiny. Výběr F2Pool obsahuje transakci 907e1f45.., nikoli c6a66836... Transakce je také konsolidovanou transakcí se 150 vstupy a jedním výstupem, ale neutrácí z uznaného výstupu. Platí totéž jako 446260 sat, ale náhodou je o 3 vByte větší než 44020 vByte. To znamená, že chybějící transakce c6a66836.. má o něco vyšší kurz než 907e1f45... Při striktním řazení podle kurzu měla být chybějící transakce zahrnuta. Ve skutečnosti však 3 vByte dodatečného prostoru bloku pravděpodobně nebude mít vliv na celkové poplatky v bloku.

Porovnání chybějících schválených transakcí v bloku F2Pool 810727 se zahrnutými transakcemi navíc. Další transakce přidají 3 vBytes.

Blok 811791

V bloku F2Pools 811791 chybí schválená transakce aa001ce6.... Podobně jako u předchozí transakce sloučení je velikost této transakce 42459 vBytes (169836 WU). Pokud je poplatek 446 260 sat, je zaplacený poplatek 10,5 sat/vByte. Když blok 811791 dosáhne uzlu pozorovatele fondu, transakce byla zadržena v jeho mempoolu po dobu čtyř minut.

V tomto bloku stojí za zmínku, že chybí 5 transakcí se závazky bloku OP_RETURN Stacks. F2Pool však vložil své vlastní blokové závazky Stacks. To se stává často a bylo to hlášeno dříve. F2Pool navíc ve svém bloku zahrnuje dvě velké transakce s nulovým poplatkem. Jedním je výstup coinbase F2Pool před integrací a druhým je transakce platící těžaře. Toto je běžné chování pro bloky těžené F2Pool.

Ačkoli tyto dodatečné transakce zabírají více než 400 kWU prostoru bloku, stále je zde dostatek prostoru pro zahrnutí transakce aa001ce6... Blok obsahuje 2,86 MWU transakcí, což je méně než rychlost aa001ce6... 10,5 sat/vByte . Transakce je cca 170 kWU, což se vejde do bloku. Na mempool.space je transakce označena jako „smazaná“, což negativně ovlivňuje její metriky stavu bloku.

Sazby přidělené transakčním balíkem v bloku 811791 zahrnují sazby a váhové značky pro chybějící transakce.

Blok 811920

V bloku 811920 F2Pool neobsahuje transakci 1cb3d6bc.., která utrácí schválené výstupy. Tato transakce je také velkou fúzí. Má velikost 43630 vBytes (169836 WU), poplatek 44660 sat a zaplacený poplatek 10,23 sat/vByte. Když blok 811920 dosáhne uzlu pozorovatele fondu, transakce byla zadržena v mempoolu uzlu téměř 2 minuty.

V bloku 811920 transakce 1,44 MWU zaplatila méně než 10,23 sat/vByte. Do tohoto bloku se vejde 170 kWU transakce 1cb3d6bc.. Vzhledem k tomu, že transakce existovala v mempoolu mého uzlu pouze téměř dvě minuty, je možné, že transakce nebyla přenesena do F2Pool v době, kdy vytvořili šablonu bloku. Transakce se také zobrazí jako „Nedávné vysílání“ na webu mempool.space. Těžební fondy se obvykle snaží navázat dobré spojení s bitcoinovou sítí. Pokud je transakce v mempoolu mempool.space a miningpool.observer, pak bude transakce pravděpodobně v mempoolu F2Pool.

Sazby přidělené transakčním balíčkem v bloku 811920 zahrnují sazby a váhové značky pro chybějící transakce.

Blok 813357

V bloku 813357 F2Pool chybí transakce e49cdb60..9, která utratí výstup schválení. Velikost této slučovací transakce je 43053 vBytes (172209 WU). Pokud je poplatek 178504 sat, zaplacený poplatek je 4,15 sat/vByte. Když blok 813357 dosáhne uzlu pozorovatele fondu, transakce byla zadržena v mempoolu uzlu déle než 25 minut.

V bloku 813357 bylo 684 kWU transakcí, které zaplatily méně než 4,15 sat/vByte. Do tohoto bloku se vejde transakce e49cdb60.. o výkonu 172 kWU. Protože transakce leží v mempoolu mého uzlu déle než 25 minut, je nepravděpodobné, že by se transakce ještě nerozšířila do jednoho z uzlů F2Pools. Tato transakce je také zahrnuta v šabloně pro blok mempool-space 813357.

Distribuce sazeb podle balíčku transakcí v bloku 813357, včetně značek sazeb a váhy pro chybějící transakce.

Závěr bloku F2Pools

Chybějící schválená transakce v bloku 810727 má mírně vyšší rychlost, protože je o 3 vByte menší než zahrnutá transakce. Zatímco v tomto případě tyto 3 vByte dodatečného prostoru bloku nebudou mít žádný vliv na celkový poplatek, algoritmus šablony bloku bitcoinového jádra vybere transakce s vyššími poplatky. Velký počet dodatečných transakcí zahrnutých v bloku 811791 nebude mít žádný vliv na chybějící schválené transakce v bloku 811791. Je možné, že byl z bloku odfiltrován. Blokový audit na mempool.space s tím souhlasí. Je možné, že F2Pool ještě neví o chybějící potvrzovací transakci v bloku 811920. U velkých těžebních fondů by však na příjem transakcí měly stačit 2 minuty. Zejména proto, že mempool.space a Miningpool.observer o této dohodě vědí. Tato schválená transakce byla s největší pravděpodobností ztracena kvůli filtrování F2Pool. Podobně jako chybějící transakce v bloku 811791 byla chybějící transakce v bloku 813357 pravděpodobně filtrována F2Poolem.

Tyto čtyři chybějící schválené transakce vedou k závěru, že F2Phi v současné době filtruje transakce. Vzhledem k tomu, že vidíme chybějící transakční výdaje pouze z jedné adresy schválené OFAC, 3PKiHs4GY4rFg8dpppNVPXGPqMX6K2cBML, nemůžeme říci, zda F2Pool filtruje tuto jedinou adresu nebo všechny adresy schválené OFAC.

na závěr

Článek pojednává o šesti útratách bitcoinových transakcí z adres schválených OFAC, které nástroj Mining Pool Watcher zjistil, že v blocích chybí. Dvě transakce, které chyběly v blocích fondu těžby ViaBTC a Foundry USA, byly falešně pozitivní a nebyly filtrovány. Čtyři transakce schválené OFAC chybějící v bloku F2Pool mohly být odfiltrovány. To vyvolává otázku, proč F2Pool, který vznikl v Asii, byl prvním těžařským poolem, který filtroval transakce na základě sankcí amerického OFAC.

Bitcoinová síť však nadále normálně funguje. Filtrování transakcí podle jednoho fondu neovlivňuje odolnost vůči cenzuře v celé bitcoinové síti. Další sledování výběru transakcí fondu by mohlo určit, kdy více fondů začne filtrovat transakce na základě faktorů, jako jsou sankce OFAC. To také umožňuje těžařům nasměrovat svůj výpočetní výkon na tyto fondy, a pokud nesouhlasí s (neoznámenou) politikou filtrování fondu, mohou učinit informované rozhodnutí přejít na jiný fond.

  1. Protože žádný z bloků s chybějícími transakcemi se neblíží limitu sigopu 80 000, nejsou zde diskutovány.

  2. Blok ViaBTC 808660: 00000000000000000017c18a76632d9e39e8c388ee1e4028ec75e50866c79c5

  3. Chybějící transakce v bloku 808660: 262025e73812fc68b6514ea366abf463147176c7867e5853f117aded58c30e0e

  4. Transakce cb9f2592.. těžená ViaBTC v bloku 809181 byla Omnilayer transakce, která v září 2020 uložila 1528 USDT na tuto adresu. Schválená adresa transakce 1ECeZBxCVJ8Wm2JSN3Cyc6rge2gnvD3W5K má výstup podobný transakci 262025e7.. v bloku 80866 chybí.

    Zkontroloval jsem některé z těchto adres a všechny obsahovaly zůstatky USDT na OmniLayer, které byly při těchto transakcích vymazány. I když se jedná o odhad, zdá se, že někdo chtěl vyčistit zbývající USDT na hromadě adres, poslat 20 000 sat na každou adresu a pokazit sken tím, že znovu sloučil nově vytvořený výstup v 262025e7... a pak Zkusil jsem znovu d11019a2.. a úspěšně jej naskenoval pomocí cb9f2592...

    Pokud tomu tak je, může OFAC ztratit spoustu adres pro stejnou entitu na svém seznamu.

  5. Blok 813231 těžený Foundry má hash hlavičky: 0000000000000000001740d5fbb8bbc0b93d4bf46ca2011f642e92a0a8528b6

  6. Txid schválené transakce chybějící v bloku 813231 je: c9b5719131bfeac6378749243731c5e70f1ce56deabb7006a2b6539710866420

  7. Podle údajů OXT.me patří adresa peněžence OKEX. Sloučená transakce c9b57191.. je sloučený vklad OKEX. Podle OXT.me jsou výstupem fúze výplaty z trhu Hydra darknet. Více informací naleznete zde.

  8. blokový hash

  • 810727: 

    0000000000000000000350ae5ee08a4415146612af59a20021efeaf2ccda1498

  • 811791: 

    00000000000000000001631243b00b6c1019c0d833b6738e0c591dacaf4453d6

  • 811920: 

    00000000000000000002efd0fc8801b149f505b125308a35c584ed2600badf62

  • 813357: 

    0000000000000000000519c33dcdf5ca386524b2cbacb561f767e9663ac1669

9. Chybějící schválené transakce:

  • 810727: 

    c6a668364f19df0f2977f8ad7d0a3a73c5e32b55b6a7c650cafa37a5ab4b19f2

  • 811791: 

    aa001ce6e262b8b9042645ecdec9c84e9e2ad06f56dff6dd5ae42005fdea8da9

  • 811920: 

    1cb3d6bcc650c2891b68e7b205d601bcf5158e30e1926d0fd0c8385cb456b37b

  • 813357: 

    e49cdb6075c49b8fc37b3e922038e2a3205d75a9a1fb4b69f3568707594c2d3e

10. Velikost transakce vybraná F2Poolem pro blok 810727 je o něco větší, takže poplatek je nižší:

  • 907e1f45334652dd344cf846639f3f9a2ee11b5489e2ffc2660ea543881b1bce

Pravděpodobně proto, že v podpisu je méně low-r nonců, díky čemuž je podpis větší.