Common-Input Ownership Heuristic je předpoklad, že více vstupů jedné bitcoinové transakce — odkazů na dřívější částky, které se utrácejí — obvykle ovládá stejný subjekt. Pomáhá hledat související adresy podle chování peněženek. Je to vodítko pro analýzu, nikoli pravidlo Bitcoinu ani důkaz, komu peníze patří.
Petr dostal dvě platby na různé adresy. Když později platí za opravu kola, peněženka použije oba příjmy společně. Peněženka je aplikace nebo zařízení pro přijímání a odesílání bitcoinů. Zvenčí se tak objeví vazba, která při jednotlivých příjmech vidět nebyla: někdo dokázal tyto prostředky utratit v jedné transakci. U běžné osobní peněženky dává smysl předpokládat, že je ovládá stejný člověk. Právě na tomto chování stojí heuristika, tedy praktické pravidlo pro odhad. Bitcoin však nevyžaduje, aby všechny vstupy měly jednoho majitele. Ani větší počet vstupů sám neříká, s jakou pravděpodobností je odhad správný. [1] [6]
Přijaté prostředky existují jako UTXO, dosud neutracené výstupy starších transakcí. Každý takový výstup zaznamenává částku a podmínky, za kterých ji lze utratit. Vstup nové transakce odkazuje na konkrétní takový výstup. Analytik dohledá jeho podmínky utracení zapsané skriptem, krátkým programem s pravidly pro utracení, a propojí odpovídající adresy nebo skripty s ostatními vstupy. To je přesný rozsah této metody. Transakce s jediným vstupem jí neposkytne novou dvojici ke spojení. Sama také nepozná, který nový výstup je platba a který change, tedy zbytek vracející se plátci. K tomu potřebuje jiné vodítko. Výstup pro opravnu proto nelze automaticky připsat Petrovi jen proto, že se objevil v jeho platbě. [1] [4]
Petr a další člověk mohou připravit společnou transakci a každý podepsat své vstupy. Soukromé klíče, tajná čísla k vytváření podpisů schvalujících utracení bitcoinů, přitom zůstávají oddělené. PSBT je formát pro předávání rozpracované transakce a potřebných podkladů mezi programy či zařízeními; popisuje jej BIP 174. Koordinátor, který údaje skládá, nemusí držet všechny klíče. Síť ověřuje, zda jsou splněny podmínky utracení, ne zda podpisy vytvořil jediný člověk. Multisig je navíc jiná otázka: může požadovat více podpisů pro jeden vstup, zatímco tato heuristika odhaduje vztah mezi několika vstupy. [2] [5] [6]
CoinJoin umožňuje více účastníkům zahrnout vlastní prostředky do společné transakce. Payjoin ukazuje tento problém přímo při platbě: podle BIP 78 může příjemce přidat také své vstupy. Kdyby takto přijímala platbu opravna, slepé použití heuristiky by mohlo její prostředky spojit s Petrovými. Spolupráce nevyžaduje, aby všechny výstupy měly stejné částky. Nestačí tedy vyřadit transakce, které vypadají jako nápadný CoinJoin, a zbytek prohlásit za platby jediného vlastníka. To neznamená, že každá transakce je společná; znamená to, že samotný vzhled tuto možnost vždy nevyloučí. [2]
Představme si adresy A, B a C. První transakce společně utratí výstupy z A+B. Druhá spojí jiné výstupy z B+C. Nejde o opakované utracení stejného UTXO. Nástroj může přes společné B sloučit adresy do A+B+C, tedy jedné skupiny neboli clusteru. Pokud však druhá transakce vznikla spoluprací různých lidí, omyl zasáhne i dříve přiřazenou adresu A. Takto se chyby mohou šířit mezi celými skupinami. Nízký počet chybných spojení proto ještě nezaručuje nízký počet nesprávně přiřazených adres. [1] [3]
Směnárna může jednou transakcí utratit prostředky, které spravuje pro mnoho zákazníků. Heuristika v takovém případě může správně zachytit společnou provozní kontrolu služby. Neurčí ale, kterým klientům peníze ekonomicky patří. A ani název služby nevznikne ze samotných vstupů: přiřazený štítek musí mít další zdroj a platit pro dané období. Naopak Petr může mít několik peněženek, jejichž prostředky nikdy nespojí. Z počtu nalezených skupin proto nelze jednoduše odvodit počet lidí. Kontrola, vlastnictví a totožnost jsou příbuzné, ale odlišné otázky. [1]
Analytik chce zjistit, zda jeho spojení adres bylo správné. Pokud jako potvrzení použije jen jejich další společné utracení, může znovu opakovat stejný předpoklad. Nemá tím automaticky nezávislý důkaz. Malte Möser a Arvind Narayanan popisují využití takových referenčních dat i jejich omezení. Při hodnocení je proto důležité uvést, odkud vzorek pochází, které transakce byly vyloučeny a jaké období pokrývá. Zvlášť se sledují chybná sloučení, přehlédnuté vazby a rozsah pokrytí. Skóre bez kalibrace na známých případech nelze číst jako pravděpodobnost správného určení člověka. [3]
Petr může pomocí Coin Control, ruční volby utrácených UTXO, omezit budoucí spojování dosud oddělených příjmů. To však nesmaže starší transakce a vyžaduje rozumět tomu, které prostředky vybírá. Ani Payjoin neodstraňuje všechny jiné možnosti přiřazení. Na straně analýzy má být u každé vazby dohledatelná transakce, verze pravidla a důvod jejího přijetí či vyloučení. Tyto kontrolní otázky vycházejí z omezení ve zdrojích. Ukáže-li se omyl, musí jít znovu určit, které adresy do skupiny patří; pouhá poznámka u stále stejného závěru chybná přiřazení nenapraví. [2] [3]
Pro nejúplnější obraz čtěte toto heslo společně s Address Clustering, CoinJoin, Payjoin, Chain Surveillance, PSBT, Coin Control. Opačným směrem na něj odkazují také Payjoin, Coin Selection, Chain Surveillance, Address Clustering.