Verfahren zur Berechnung des Taints?

Ich möchte die Taint-Analyse quantitativ verstehen. Blockchain.info bietet einen Dienst an, der den Taint berechnet, aber ich habe keine gute Erklärung dafür gefunden, wie der Taint berechnet wird.

Die beste (und einzige) Erklärung, die ich bisher gefunden habe, erscheint in dem Papier Anonymity of Bitcoin Transactions :

Geben Sie hier die Bildbeschreibung ein

Die Taint-Analyse funktioniert, indem sie den Prozentsatz der Menge an Bitcoins berechnet, die von einer anderen Adresse stammen könnten, und so Verbindungen im Transaktionsdiagramm aufzeigt. In dem vereinfachten Beispiel in Abbildung 4 hätten A 1 und A 3 einen Makel von 75 % und A 2 einen Makel von 25 %. Es kann jedoch nur direkte Verbindungen in der Grafik erkennen und berücksichtigt keine Kontextinformationen.

Diese Erklärung ist verwirrend. Taint wird zwischen zwei Pseudonymen (Adressen) gemessen. Es ist keine Eigenschaft eines bestimmten Pseudonyms. Dem Papier scheint der Teil zu fehlen, der besagt, dass die Taint-Scores für A 1 , A 2 und A 3 relativ zu A 4 sind . Wenn ja, dann machen die Noten Sinn.

Es ist jedoch nicht klar, was bei komplexeren Eigentumsketten passieren würde. Stellen Sie sich zum Beispiel ein anderes Pseudonym vor, A 5 , das A 1 5 BTC zahlt . Wie hoch wäre der Taint-Score zwischen A 5 und A 4 ?

Ich habe dies gesehen , aber es wird nicht erläutert, wie ein Taint-Score zwischen zwei Pseudonymen berechnet wird.

Was ich gerne sehen würde, ist der Umriss eines schrittweisen Verfahrens zur Berechnung von Taint, wie es von Blockchain.info durchgeführt wird. Wenn ich raten müsste, würde das Verfahren so aussehen:

  1. Finden Sie zwei Pseudonyme, S (Quelle) und T (Ziel). Gelder fließen von S nach T.
  2. Finden Sie unter Verwendung der Blockkette eine Eigentumskette C i von jeder Münze, die von S bis T kontrolliert wird.
  3. Finden Sie für jede Eigentumskette C i den niedrigstwertigen Münztransfer m i .
  4. Summiere alle m i , was m ergibt.
  5. Summieren Sie den Wert aller über T empfangenen Ausgaben, was s ergibt.
  6. Makel ist als m/s definiert.

Die Verwendung dieses Verfahrens würde einen Taint-Score von 50 % zwischen A 5 und A 4 (2/4) ergeben.

Ist das richtig?

Ich bin noch nicht dazu gekommen, zur Quelle zu gehen, aber ich finde das Beispiel auch verwirrend. Wenn ich eine Metrik entwickeln müsste, würde ich Taint als Attribut von UTXO messen, nicht als Adressen. Dh 1 BTC wird als gestohlen gemeldet, daher würde eine 100%ige Ausgabe zusammen mit 0,5 sauberen BTC zu einem UTXO mit einem Makel von 2/3 führen.
Ah, tut mir leid, ich habe angefangen, die Zeitung zu lesen und festgestellt, dass sie Taint in einem anderen Kontext verwendet, als es die Bitcoin-Community normalerweise tut. Üblicherweise bezieht sich „Taint“ auf die Menge an Coins, die auf einen bekannten Diebstahl zurückgeführt werden kann, dieser Artikel verwendet ihn jedoch als Begriff zur Messung der Adresskorrelation. Deshalb war ich verwirrt und werde das Tainted-Coins-Tag gleich entfernen.

Antworten (1)

Ich glaube, ich habe eine Antwort. Es ist nicht klar, ob blockchain.info es so macht, aber ich bin mir auch nicht sicher, ob es wichtig ist.

Taint ist der alltäglichen Erfahrung des Verdünnens einer Flüssigkeit sehr ähnlich.

Stellen Sie sich vor, Sie beginnen mit drei Gläsern. Ein Glas enthält Orangensaft. Der zweite enthält Wasser. Der dritte ist leer.

Einen Teil oder den gesamten Orangensaft in das leere Glas zu gießen, verdünnt ihn überhaupt nicht. Wenn Sie jedoch eine 1: 1-Mischung aus Orangensaft und Wasser in das leere Glas gießen, wird der Orangensaft verdünnt.

Wir können eine Metrik namens Verdünnungsfaktor definieren. Der Verdünnungsfaktor entspricht dem Endvolumen des zuvor leeren Glases dividiert durch das zugegebene Orangensaftvolumen. Der Verdünnungsfaktor für eine 1:1-Mischung ist daher 2 (2 / 1). Findet keine Verdünnung statt, so ist der Verdünnungsfaktor 1. Allgemeiner:

Verdünnungsfaktor = V 2 / V 1 wenn V 2 > V 1

Verdünnungsfaktor = 1, wenn V 2 <= V 1

Wir können ein weiteres leeres Glas hinzufügen und erneut verdünnen. Zum Beispiel können wir die Hälfte des verdünnten Orangensafts nehmen und ihn mit der gleichen Menge Wasser verdünnen. Dies ergibt einen zweiten Verdünnungsfaktor von 2.

Der Gesamtverdünnungsfaktor entspricht dem kumulativen Produkt des Verdünnungsfaktors bei jedem Schritt. In diesem Fall ist es 4 (2 x 2).

Stellen Sie sich nun vor, dass Geldwert wie eine Flüssigkeit ist und ein Output wie ein Behälter. Wir können Verdünnungsanalysen durchführen, genau wie bei Orangensaft.

In diesem Fall sagt uns der Verwässerungsfaktor, wie verwässert der Wert eines Outputs in einer Eigentumskette im Verhältnis zu einem nachgelagerten Output geworden ist. Vorausgesetzt, dass die Grenzen dieser Metrik klar sind, kann sie nützlich sein.

Die Flüssigkeit, die verdünnt wird, ist "Fleck". In diesem Modell wäre "Fleck" das multiplikative Inverse des Verdünnungsfaktors. Ein Verdünnungsfaktor von 2 impliziert eine Verunreinigung von 50 % (1/2).

Um auf die oben gestellte Frage zurückzukommen, finden Sie angesichts dieser Eigentumskette den Verdünnungsfaktor zwischen A 5 und A 4 :

A 5 (5 BTC) -> A 1 (2 BTC) -> A 3 (3 BTC) -> A 4 (4 BTC)

Die Verdünnungsfaktoren sind von links nach rechts: 1; 3/2; 4/3. Wenn Sie sie miteinander multiplizieren, erhalten Sie 1 x 3/2 x 4/3 oder 2. Dies ist ein 50%iger Makel, dieselbe Antwort, die ich oben erhalten habe.

Die in meiner ursprünglichen Frage postulierte Antwort ist jedoch insofern falsch, als sie die serielle Verdünnung nicht berücksichtigt. Betrachten Sie diese Eigentumskette:

A 5 (1 BTC) -> A 1 (5 BTC) -> A 3 (3 BTC) -> A 4 (4 BTC)

Der serielle Verdünnungsfaktor beträgt 5 x 1 x 4/3 oder 20/3.

Durch einfaches Teilen des Endwertes durch den Mindestwert stromaufwärts ergibt sich ein Verdünnungsfaktor zwischen A 5 und A 4 von 4/1.