Stellen gebührenfreie Transaktionen ein größeres Risiko dar, wenn das Produkt sofort geliefert wird?

Angenommen, ich möchte Zahlungen auf einer Website für digitale Downloads sofort akzeptieren.

Also veröffentliche ich eine Adresse und warte auf die unbestätigte Transaktion, ich sehe die Transaktion und gebe den digitalen Download frei.

Der Benutzer kann die Transaktion jedoch möglicherweise ohne Gebühr gesendet haben. Daher können die Miner es möglicherweise nicht abholen oder der Benutzer könnte eine neue Transaktion mit einer Gebühr ausgeben, die in der Blockchain verarbeitet wird.

Ist mein Denken richtig? Und gibt es einen Weg, diesen Angriffskönig zu stoppen?

Um den Angriff zu stoppen, könnten Sie auf die Bestätigungen warten und dann eine E-Mail mit der Aufschrift „Ihr Download ist bereit“ senden, wenn dies für Ihre Art von Unternehmen funktioniert.

Antworten (4)

Sie können überprüfen, ob eine Transaktion eine Gebühr enthält, indem Sie sich einfach ihre Ein- und Ausgänge ansehen (Sie können auf diese Informationen auch unter blockexplorer.com zugreifen ).

Aber Sie haben Recht: Das Akzeptieren von Transaktionen mit 0 Bestätigungen ist riskant und es gibt andere Angriffe als den von Ihnen erwähnten ( z. B. den 51%-Angriff und den Finney-Angriff ).

Hier sind einige Möglichkeiten, sich dagegen zu wehren:

  • Warten Sie auf weitere Bestätigungen – das ist vielleicht nicht wünschenswert, aber es funktioniert
  • Akzeptieren Sie Zahlungen von einer E-Wallet/Börse wie parker_vmg3 erwähnt - einige Websites wie TradeHill oder CampBX ermöglichen es Ihnen, Bitcoins sofort zwischen Mitgliedern zu senden
  • Verwenden Sie grüne Adressen – derzeit sind diese nur bei MtGox und InstaWallet verfügbar, aber sie könnten in Zukunft beliebter werden
Während 0-Bestätigungen ein Risiko darstellen, ist das Risiko für Einkäufe mit geringem Wert wahrscheinlich geringer als das Akzeptieren von Kreditkarten, insbesondere wenn Sie die zusätzlichen Kosten für Rückbuchungsgebühren berücksichtigen. Jedes Risiko ist relativ. Während bei 0 Bestätigungen ein Verlustrisiko besteht, ist das Verlustrisiko auch bei 6 Bestätigungen nie 0. Man muss die Kosten für das Erfordernis mehrerer Bestätigungen (weniger benutzerfreundlich = weniger Verkäufe) gegen das sehr geringe Risiko abwägen, doppelte Ausgaben zu erhalten.

Es sollte irgendwann abgeholt werden, aber ja, der Benutzer könnte vorher doppelt ausgeben.

Genau dafür sind Bestätigungen da. Aber es ist wahrscheinlich unwahrscheinlich, dass Sie aufgrund dessen massive Mengen an "Piraterie" sehen würden. Ich würde das einfach als Geschäftskosten abschreiben. Wenn es aus dem Ruder läuft, können Sie wieder auf Bestätigungen warten oder "grüne Adressen" akzeptieren.

Denken Sie auch daran, dass Sie Regress haben, wenn die Benutzer Ihnen gegenüber nicht anonym sind (dh sie unterhalten eine Art Beziehung zu Ihnen, auch nur eine Benutzerregistrierung), Sie haben Rückgriff (Sie können es ablehnen, ihnen weiterhin Zugang zu gewähren, bis die Rechnung beglichen ist).

Es ist ein Kompromiss zwischen dem Vertrauen auf Vertrauen (das der Benutzer bezahlt) und dem Warten auf die Zeit, die für die Bestätigungen benötigt wird.

Das Risiko, dass eine Transaktion nie abgeholt wird, ist im Wesentlichen null. Derzeit sind Blöcke im Durchschnitt nur zu 5 % „voll“, sodass Miner und Mining-Pools dazu neigen, alle Transaktionen einzubeziehen. Damit eine Transaktion niemals aufgenommen wird, würde es erfordern, dass kein Bergmann auf dem Planeten jemals diese Transaktion einbezieht.

Wenn es zu einem Risiko wird, können Sie immer eine Gebühr verlangen, wenn der Benutzer bei 0-bestätigt herunterladen möchte. Sie können dies erzwingen, indem Sie die Transaktion überprüfen. Der Gebührenbetrag ist die Differenz zwischen Ein- und Ausgängen. Wenn sie gleich sind, fallen keine Gebühren an. Für Benutzer, die Ihre Anweisungen ignorieren und eine gebührenfreie Transaktion einreichen, können Sie dann einfach auf 1 Bestätigung warten.

Das größere Risiko ergibt sich aus einem „Double Spend“ oder „51% Attack“, jedoch werden diese Risiken oft überschätzt. Das Zulassen von per Kreditkarte bezahlten digitalen Downloads ist ebenfalls mit Risiken verbunden, sodass das Erreichen eines Risikos von 0 % keine tragfähige Geschäftsstrategie ist. Selbst wenn Ihre Software niemals Kreditkartenbetrug hat, wird sie wahrscheinlich Verluste durch Piraterie erleiden, daher ist die beste Lösung eine, die den Nettoumsatz maximiert, und nicht eine, die versucht, jeglichen Betrug zu eliminieren.

Jedes Unternehmen muss sich mit dem Risiko seines spezifischen Produkts befassen. Je höher der Wert, desto eher sollten Sie die Verwendung einer Bestätigung in Betracht ziehen. Es hat wenig Wert, einen Double-Spend-Angriff auszuführen, um eine Kopie von 1 BTC (3 USD zum Zeitpunkt des Schreibens) von beispielsweise „Super Angry Birds“ zu erhalten. Das Ermöglichen von sofortigen Downloads verbessert wahrscheinlich den Umsatz genug, um einen vernachlässigbaren Anstieg des Betrugs auszugleichen. Wenn Sie andererseits Downloads und Lizenzschlüssel für SQL Server Enterprise für 2500 BTC pro Kopie zulassen, sollten Sie wahrscheinlich Bestätigungen verlangen.

Die Bestätigung kann das Risiko nur reduzieren, nicht eliminieren. Je weniger Risiko Sie bei 0 Bestätigungen haben, desto weniger Nutzen bringt es, Ihre Kunden zu verzögern. Die eigentliche Frage ist dann, ob die Verzögerung Sie am Ende mehr Einnahmen kostet, als Sie durch nahezu nicht vorhandenen Betrug einsparen.

+1 für „Die beste Lösung ist eine, die den Nettoumsatz maximiert, nicht eine, die versucht, jeglichen Betrug zu eliminieren“

Wenn ich Ihre Frage richtig verstehe, könnten Sie sie dazu bringen, Ihnen eine Instawallet- oder vielleicht Strongcoin-Adresse als Link zu geben, über die Sie Geld direkt in Ihre Brieftasche überweisen können.