Ich möchte für den Lerneffekt an einem Beispiel arbeiten:
Ich habe die letzten 10 Monate je 0,1 BTC gekauft und habe jetzt 1BTC.
Jedoch habe ich in der Historie 10 Inputs.
Jetzt möchte ich etwas für 0,95 BTC kaufen.
Und da gibt es zwei Varianten:
1: Ich sende diese 10 Inputs an mich selbst. Ich betreibe also Konsolidierung.
2: Ich sende diese 10 Inputs an den Empfänger.
1.: Ich habe 10 Inputs. Daraus resultieren 10 Outputs, die wiederum zu einem Input führen. Diesen einen Input Versende ich und bekomme Wechselgeld zurück.
Soweit logisch.
2.: Ich habe 10 Inputs, und versende diese 10 Inputs. Dann hat der Empfänger trotzdem einen Input… oder 10 Inputs? Jedenfalls spart man sich die Gebühren für einen Zwischenschritt.
Und Jetzt die Pass-Phrase:
Ich kaufe dies 0,1BTC pro Monat auf der „nur SEED-Wallet“, und möchte diese an meine „Wallet mit Pass-Phrase“ senden.
Ich war der Meinung das eine Pass-Phrase zu einer eigenen Wallet führt.
Warum zeigt mempool space eine Kosolidierung an wenn es doch 2 Wallets sind?
Warum funktioniert die „nur-SEED-Wallet“ nicht als eigener Akteur in der Blockchain, und wird mit der „SEED + Pass-Phrase-Wallet“ … "vermischt?
Du möchtest in diesem Thread ja ins Detail gehen. Deshalb musst du hier mit dem Wording aufpassen.
Du hast an dieser Stelle noch keine 10 Inputs, sondern 10 noch nicht ausgegebene Outputs aus den zehn Transaktionen von der Börse. Auf gut Englisch 10 „unspent transaction outputs“ (UTXOs).
Zuerst einmal weiß ich nicht, was dieser Zwischenschritt bringen sollte, wenn du etwas für 0,95 BTC kaufen möchtest. Da halte ich Variante 2 für sinnvoller. Aber ok, falls du jetzt günstig konsolidieren kannst und erst später einkaufen möchtest, kann es sinnvoll sein.
Wie oben schon gesagt hast du 10 UTXOs. Wenn du konsolidierst werden aus diesen 10 UTXOs nun 10 Inputs der Konsilidierungs-Transaktion. Diese Transaktion wiederum hat üblicherweise einen Output, also hast du anschließend 1 UTXO im Wert von knapp 1 BTC (wegen Gebühren).
Diesen UTXO kannst du nun zum Bezahlen verwenden und erhältst den Rest abzüglich Gebühr wiederum als 1 UTXO zurück auf eine Wechselgeld-Adresse.
Du hast 10 UTXOs, aus denen beim Bezahlen nun 10 Inputs der Zahlungs-Transaktion werden. Der Zahlungsempfänger erhält seinen Betrag als einen Output dieser Transaktion. Er hat nachher also 1 UTXO.
Du erhältst den Rest abzüglich Gebühr als 1 UTXO zurück auf eine Wechselgeld-Adresse.
Theoretisch kannst du bei einer Transaktion eine beliebige Aufteilung in mehrere unterschiedlich oder gleich große Outputs vorgeben. Typischerweise, gerade beim Bezahlen, macht man das nicht und hat einfach einen Output an den Empfänger und einen Output an sich selbst als Wechselgeld.
Beim Konsilidieren kann eine Aufteilung sinnvoll sein.
Genau.
Du hast eigentlich eine „nur Seedphrase Wallet“ und eine „Wallet mit Seedphrase und Passphrase“.
Sowohl aus der Seedphrase alleine (12/24 Wörter), als auch aus Seedphrase plus Passphrase wird jeweils ein Seed berechnet, welcher die Grundlage für die jeweilige Wallet darstellt. Jemand anderes kann keinen Zusammenhang zwischen diesen zwei Seeds erkennen.
Auch das ist richtig. Zwischen den zwei Wallets ist für andere keinerlei Verbindung zu erkennen.
Allerdings ist auch zwischen zwei Adressen derselben Wallet keine Verbindung zu erkennen, außer jemand kennt deinen xpub. Deshalb vermute ich, dass mempool.space eine Konsolidierung daran erkennt, dass viele Inputs zu einem Output werden. Das heißt es gibt kein Wechselgeld und nur die Gebühr.
Nachtrag:
Wenn du Coins von der normalen Wallet zur Passphrase-Wallet transferierst, stellst du eine Verbindung zwischen diesen beiden Wallets her. Noch dazu wenn die Transaktion als Konsolidierung oder reiner Transfer innerhalb der eigenen Wallet(s) erkennbar ist.
Falls du also die normale Wallet in der Hinterhand haben möchtest, falls dich jemand bedroht, würde er direkt erkennen, dass da mal eine große Summe Bitcoin drauf war, die du auf eine andere Wallet transferiert hast.
Ich würde also als Zwischenschritt über eine Börse oder einen Mixer gehen.
Klar, Bezeichnungen sind das letzte, worauf es ankommt.
Sie sind nur dann wichtig, wenn man im Detail genau darüber diskutieren möchte.
Mmh, die Aussage verstehe ich auch nicht ganz.
Solche Transfers zwischen den Adressen bzw. Wallets kann man einfach in jedem Blockchain Explorer nachvollziehen. Das ist keine Schwachstelle der Bitbox oder der Bitbox App.
Die Bitbox und die Bitbox App würden und können auch nicht von alleine die normale Wallet mit der Passphrase-Wallet in Verbindung bringen. Diesen Zusammenhang gibt es erst, wenn du eine Transaktion von einer zur anderen Wallet durchführst. Das meinte @Chrisbtc mit Schwachstelle des Nutzers.
Bei den Mixern gebe ich dir recht. Ist ja auch nicht ganz unkomplizert.
Vom Weg über die Börse würden wahrscheinlich viele abraten. Aber ich halte das für die beste Lösung, wenn du die Coins sowieso schon mit KYC auf einer Börse gekauft hast.
Einzahlungs- und Auszahlungs-Gebühren spielen doch keine Rolle, wenn es um etwas höhere Beträge geht. Und nur beim Weg über die Börse ist es plausibel wenn du jemandem erzählst, du hättest die Coins verkauft. Schließlich sind Börsen-Adressen bekannt und/oder als solche zu erkennen.
Nehmen wir an ich würde die monatlichen 0,1 BTC auf einen SEED eines anderen Herstellers kaufen… Ledger Nano S…
Und dann von der „Ledger-Wallet“ auf die „BitBox-Wallet“ senden…
Dann kennt ja BitBox (App oder Sorftware) den XPUB von Ledger nicht. Somit würde das auch nicht im mempool als Konsolidierung angezeigt.
Da also in dem eigentlichen Beispiel die BitBox App/Software die XPUBś kennt, und diese miteinander in Verbindung bringt, könnte man das als Schwachstelle verstehen.
Zumal die „nur-SEED-Wallet“ einen anderen XPUB hat als die „SEED + Pass-Phrase-Wallet“.
Vielleicht reden wir ein bisschen aneinander vorbei.
Ob die Bitbox App einen xpub kennt oder nicht, hat doch keinerlei Einfluss darauf, ob das auf einer Blockchain-Explorer-Website als Konsolidierung angezeigt wird oder nicht.
Ich habe ja oben schon geschrieben ich vermute, dass mempool.space eine Konsolidierung daran erkennt, dass in einer Transaktion viele Inputs zu einem einzelnen Output werden. Das heißt es gibt kein Wechselgeld und nur die Gebühr. Das weiß ich aber nicht sicher.
Aber jetzt nochmal konkret zu dem Szenario, wie wahrscheinlich das auch immer sein mag:
Jemand bedroht dich und möchte, dass du ihm deine Wallet zeigst. Du setzt dich an den Rechner, öffnest die Bitbox App, Sparrow oder was auch immer, und zeigst ihm die Wallet ohne Passphrase.
Dann sieht derjenige zwar, dass da aktuell kaum Coins drauf liegen. Aber er sieht auch, dass da 10 x 0,1 BTC eingezahlt wurden und dann irgendwann auf einmal auf eine andere Adresse transferiert wurden.
Ein kurzer Blick in einen Blockchain Explorer zeigt dann zusätzlich, dass der 1 BTC da noch liegt. Oder dass weiter Transaktionen zumindest einfch nachvollziehbar sind und der 1 BTC nur langsam weniger wird.
Also wird er vermuten, dass du eine andere Wallet hast, evtl. eine mit Passphrase, auf die du deinen Bitcoin hintransferiert hast.
Hättest du stattdessen den Bitcoin zuerst auf eine Börse transferiert, könntest du plausibel behaupten, dass du ihn verkauft hast. Natürlich kann man dass Spiel ewig weitertreiben. Er könnte deinen Börsenaccount sehen wollen etc.
Am Ende ist so etwas sehr unwahrscheinlich. Aber auch falls jemand deine Seedphrase finden oder stehlen sollte und sieht, dass der 1 BTC wieder zurück an eine Börse ging, wird er mit geringer Wahrscheinlichkeit nochmal zu dir kommen.
Ich habe die Bitbox App schon lange nicht mehr verwendet. Aber wenn ich mich recht erinnere, zeigt die App immer die Wallet, die zur gerade entsperrten Bitbox gehört. Also entweder die ohne oder die mit Passphrase.
Wenn man die Wallet mit Passphrase sehen möchte, muss man die Passphrase schon beim Start auf der Bitbox eingeben. Damit es bei Anwesenheit anderer nicht auffällt, sollte man die Frage nach der Passphrase beim Start der Bitbox aber deaktivieren.
Ich habe eine „nur-SEED-Wallet“ mit einen Einkauf von je 0,1btc.
Inzwischen sind das nun 1 btc…
Wie erkennt der mempool (oder etwas anderes) den unterschied zwischen Konsolidierung und „Versand“???
Meine „nur-SEED-Wallet“ hat eine XPUB, meine „SEED + Passphrase-Wallet“ hat einen anderen XPUB…
Woher kennt das der mempool?
Mal angenommen ich hätte … das Haus samt Grundstück von meiner Freundin gekauft…
Da wir zusammen sind, haben wir die selbe „Wallet“, nur mit dem Unterschied der Passphrase…
Es wäre also ein Kauf/ Verkauf und kein UTXO-Mangement…
Und trotzdem wird es im mempool als Konsolidierung angezeigt… Warum?
Was wäre wenn ich das über Ledger machen würde?
Also ich kaufe jeden Monat 0,1 BTC auf die Wallet von Ledger…
Und jetzt kaufe ich etwas für 0,95 BTC… Die meine Frau/Freundin bekommt…
Wie kommt die Anzeige zustande? Woher weiß mempool was ich mache? Was wäre wenn ich verschiedene SEEDś mit der BitBox verwalte?
Ja, das ist ziemlich klar. Allerdings habe ich ja schon versucht, genau das zu beantworten. Das ist aber sowieso nur eine Vermutung meinerseits, sicher weiß ich es nicht.
Auf keinen Fall erkennt das ein Blockchain Explorer an irgendwelchen xpubs, Public Keys oder Adressesn. Ganz einfach deshalb, weil der Explorer den xpub nicht kennt, und die Public Keys und Adressen keinerlei Zusammenhang aufweisen.
Bei Bitcoin Transaktionen zum Bezahlen, Einzahlen oder Auszahlen gibt es normalerweise mindestens zwei Outputs. Nämlich den Output des Empfängers, sowie den Wechsel-Output des Senders.
Wenn es bei einer Transaktion viele Inputs gibt, aber nur einen einzelnen Output gibt es zwei Möglichkeiten:
Entweder entspricht die Summe der Inputs abzüglich Gebühr zufällig exakt dem Betrag, den man an den Empfänger senden möchte. Oder es handelt sich um eine Konsolidierung.
Deshalb vermute ich, dass ein Explorer Transaktionen mit nur einem Output, aber vielen Inputs, als Konsolidierung „erkennt“.
Wenn du also z.B. alle deine Coins auf eine andere Wallet transferierst, z.B. auf die deiner Frau, kann ich mir gut vorstellen, dass der Explorer das auch als Konsolidierung anzeigt.
Nochmal, die xpubs oder Adressen sind vollkommen egal. Und es ist nicht derselbe Sachverhalt. Ich versuche es nochmal an einem Beispiel zu erklären…
Wenn du beispielsweise ein Auto kaufst, welches 0,32 BTC kostet.
Wie groß ist die Wahrscheinlichkeit, dass du UTXOs in deiner Wallet hast, die zusammen einen Betrag von exakt 0,32 BTC + Gebühr haben? Und zwar wirklich exakt!
Eher unwahrscheinlich, oder?
Sagen wir du hast in deiner Wallet zehn UTXOs mit einem Betrag von jeweils 0,1 BTC. Also wählt deine Wallet Software für die Bezahlung vier dieser UTXOs aus. Es wird eine Transaktion erstellt, die 4 Inputs mit einem Betrag von jeweils 0,1 BTC hat.
Außerdem hat sie zwei Outputs, nämlich einen Output mit 0,32 BTC an den Auto-Verkäufer, sowie einen Output mit etwas weniger als 0,08 BTC, der zurück an eine deiner Wechselgeld-Adressen geht. Der Rest ist Gebühr.
Da diese Transaktion zwei Outputs hat, wird sie ziemlich sicher auch nicht als Konsolidierung angezeigt. Das ist der Unterschied zu einer „normalen“ Konsolidierungs-Transaktion, die nur einen Output hat.
In dieser ganzen Erklärung kommen keine Adressen oder xpubs vor.
Wenn du einfach ein bisschen suchst, findest du viele Konsolidierungen im Wert von einigen bis einigen Tausend Bitcoin mit mehreren 100 Inputs und einem Output. z.B.:
→ mempool - Bitcoin Explorer
→ Konsilidierung des FBI
Bei Börsen sehen Konsolidierungen aber vermutlich anders aus. Es kann durchaus Sinn machen, die Coins bei einer Konsolidierung gezielt auf mehrere Adressen zu verteilen. So eine Transaktion würde im Blockchain Explorer also wahrscheinlich auch nicht als solche angezeigt.