Common-Input Ownership Heuristic zakłada, że kilka wejść jednej transakcji Bitcoin — odwołań do wcześniejszych kwot, które są wydawane — zwykle kontroluje ten sam podmiot. Wykorzystuje zachowanie portfeli do znajdowania powiązanych adresów. To wskazówka analityczna, a nie reguła Bitcoina ani dowód własności pieniędzy.
Piotr otrzymuje dwie płatności na różne adresy. Później płaci za naprawę roweru, a portfel wydaje oba wpływy razem. Portfel to aplikacja lub urządzenie do odbierania i wysyłania bitcoinów. Obserwator dostrzega związek niewidoczny przy osobnych wpłatach: ktoś potrafił wydać te środki w jednej transakcji. W zwykłym osobistym portfelu wspólna kontrola wydaje się rozsądnym przypuszczeniem. Na tym zachowaniu opiera się heurystyka, czyli praktyczna reguła szacowania. Bitcoin nie wymaga jednak jednego właściciela wszystkich wejść. Większa liczba wejść również sama nie określa prawdopodobieństwa, że przypuszczenie jest trafne. [1] [6]
Otrzymane środki istnieją jako UTXO, niewydane wyjścia wcześniejszych transakcji. Każde takie wyjście zapisuje kwotę i warunki jej wydania. Wejście nowej transakcji wskazuje konkretne takie wyjście. Analityk odnajduje warunki jego wydania zapisane w skrypcie, czyli krótkim programie z regułami wydawania, i łączy odpowiedni adres lub skrypt z pozostałymi wejściami. Taki jest dokładny zakres metody. Transakcja z jednym wejściem nie dostarcza nowej pary do połączenia. Reguła nie rozpoznaje też, które nowe wyjście jest płatnością, a które change, czyli resztą wracającą do płacącego. To wymaga innej wskazówki. Wyjścia dla warsztatu nie można więc automatycznie przypisać Piotrowi tylko dlatego, że występuje w jego płatności. [1] [4]
Piotr i inna osoba mogą przygotować wspólną transakcję. Każde z nich może podpisać własne wejścia. Klucze prywatne, czyli tajne liczby służące do tworzenia podpisów zezwalających na wydanie bitcoinów, pozostają oddzielne. PSBT to opisany w BIP 174 format przekazywania niedokończonej transakcji i potrzebnych danych między programami lub urządzeniami. Koordynator składający te dane nie musi mieć wszystkich kluczy. Sieć sprawdza spełnienie warunków wydania, a nie to, czy wszystkie podpisy stworzył jeden człowiek. Multisig dotyczy innej kwestii: może wymagać kilku podpisów dla jednego wejścia, podczas gdy ta heurystyka ocenia związek między wieloma wejściami. [2] [5] [6]
CoinJoin pozwala kilku uczestnikom włączyć własne środki do wspólnej transakcji. Payjoin pokazuje ten problem przy płatności: zgodnie z BIP 78 odbiorca może dołączyć własne wejścia. Gdyby warsztat przyjął taki przelew, bezkrytyczne użycie heurystyki mogłoby połączyć jego środki z pieniędzmi Piotra. Współpraca nie wymaga jednakowych kwot na wszystkich wyjściach. Nie wystarczy więc wykluczyć transakcji wyglądających na oczywisty CoinJoin, by resztę uznać za płatności jednego właściciela. Nie oznacza to, że każda transakcja jest wspólna, lecz że sam wygląd nie zawsze wyklucza taką możliwość. [2]
Wyobraźmy sobie adresy A, B i C. Pierwsza transakcja wydaje wspólnie wyjścia z A+B. Druga łączy inne wyjścia z B+C. Nie chodzi o dwukrotne wydanie tego samego UTXO. Dzięki wspólnemu B narzędzie może połączyć A+B+C w grupę, czyli cluster. Jeśli jednak druga transakcja była współpracą różnych osób, błąd dotknie także wcześniej przypisanego adresu A. W ten sposób błędy rozchodzą się między całymi grupami. Niewielka liczba błędnych połączeń nie gwarantuje więc niewielkiej liczby źle przypisanych adresów. [1] [3]
Giełda może w jednej transakcji wydać środki zarządzane dla wielu klientów. Heurystyka może wtedy poprawnie rozpoznać wspólną kontrolę operacyjną usługi. Nie ustali jednak, do których klientów pieniądze należą ekonomicznie. Nawet nazwy usługi nie da się odczytać z samych wejść: etykieta wymaga dodatkowego źródła i musi odpowiadać danemu okresowi. Z kolei Piotr może korzystać z kilku portfeli, których środków nigdy nie połączy. Liczenie znalezionych grup nie jest więc prostym liczeniem ludzi. Kontrola, własność i tożsamość są powiązane, ale to różne kwestie. [1]
Analityk chce sprawdzić, czy słusznie połączył adresy. Jeśli jedynym potwierdzeniem jest ich późniejsze wspólne wydanie, może po prostu powtarzać to samo założenie. Nie daje to automatycznie niezależnego dowodu. Malte Möser i Arvind Narayanan opisują wykorzystanie takich danych odniesienia oraz ich ograniczenia. Ocena musi więc podawać źródło próby, wykluczone transakcje i badany okres. Błędne połączenia, pominięte relacje i pokrycie trzeba oceniać osobno. Bez kalibracji na znanych przypadkach wyniku nie można traktować jako prawdopodobieństwa prawidłowego zidentyfikowania człowieka. [3]
Piotr może używać Coin Control, ręcznego wyboru wydawanych UTXO, aby ograniczać przyszłe łączenie wcześniej oddzielnych wpływów. Nie usuwa to starych transakcji i wymaga rozumienia, jakie środki się wybiera. Payjoin również nie likwiduje wszystkich innych sposobów przypisania. W analizie każde powiązanie powinno prowadzić do transakcji, wersji reguły oraz powodu przyjęcia lub wykluczenia. Te pytania kontrolne wynikają z ograniczeń opisanych w źródłach. Wykrycie błędu musi pozwalać ponownie ustalić, które adresy należą do grupy; sama notatka przy niezmienionym wniosku nie naprawia błędnych przypisań. [2] [3]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Address Clustering, CoinJoin, Payjoin, Chain Surveillance, PSBT, Coin Control. Do tego hasła prowadzą również odsyłacze z Payjoin, Coin Selection, Chain Surveillance, Address Clustering.