Wie gehen die Menschen wirklich versuchen, die Doppel-verbringt?

Ich habe gelegentlich gesehen, dass Leute online, die behaupten, Sie seien Opfer einer Doppel-verbringen, weil Sie sich übergeben, etwas von Wert im Austausch für eine bitcoin-Zahlung mit keine Rückmeldungen.

Obwohl ich weiß, theoretisch ist das möglich, wie würde jemand versuchen, diese praktisch? Alle verfügbaren bitcoin-clients nicht erlauben würde, Sie zu machen eine Transaktion, verbringt eine Ausgabe, die bereits ausgegeben worden sind, und der Kunde möchte wissen, über die erste Transaktion sehr bald, nachdem es ausgestrahlt wurde.

Gibt es spezielle double-spend-freundliche bitcoin-clients gab und gibt?

EDIT: Bitte beachten: ich bin nicht zu Fragen für die Theorie irgendwelcher Art (insbesondere keine Theorie auf, wie die blockchain / proof-of-Arbeit / warten auf Bestätigungen löst die dobule-verbringen-problem). Ich Frage rein praktisch ... wie kann jemand ausziehen einem Doppel-verbringen Sie einen Versuch?

+710
Nick Olszanski 24.07.2015, 07:42:20
19 Antworten

Ja, das einzige, was Sie brauchen, um zu senden-Münzen ist ein privater Schlüssel (oder einige Weg, um ableiten). Die Adresse ist nicht unbedingt erforderlich, wie es reproduziert werden kann, die von den privaten Schlüssel.

Sie können sicherlich erstellen Sie physische Brieftaschen, und einige sind zum Verkauf angeboten (z.B. Casascius physical bitcoins). Um die enthaltenen bitcoins müssen Sie noch einen computer zur Berechnung des ECDSA-Signaturen, und einem computer (nicht unbedingt das gleiche) zu übertragen Sie auf das internet.

Die standard Bitcoin-client speichert in der Brieftasche.dat einige andere Informationen als die privaten Schlüssel, wie Sie Ihr Adressbuch und die Transaktionen, an denen Sie.

+967
iylka221191 03 февр. '09 в 4:24

Hier ist Ihre Dokumentation für Ihre http-basierte api, und hier ist Ihre Dokumentation für die websockets basieren, ein.

Es gibt viele Wrapper, die in vielen Sprachen schon geschrieben.

um nur einige zu nennen

+844
Ame Lee 16.01.2015, 23:43:27

Die komprimierten Tasten sind besser für die Verwendung. Da das einlösen der Transaktion wird die Größe kleiner sein, so kann man sparen eine Gebühr. Leider ist das original-design von brainwallets erstellt unkomprimierte Tasten. Und jetzt diese Einstellung ist default. Es ist zu spät, um das Standardverhalten ändern, dieser. Lassen Sie uns sagen, dass "unkomprimiert" - Tasten sind standard de-facto.

+826
user3378 10.09.2015, 14:54:50

ich interessiere mich für die Erstellung einer website ermöglicht Benutzern das senden und zurückziehen btc von jedem Benutzer privat-Adresse auf der Website) , gibt es keine Vorschläge-api, die ich verwenden könnte, die speichern die bitcoins auf dem server und nicht bei einem Dritten Teil service, in dem die btc?

+770
dash1121 12.10.2013, 18:25:57

Nach der BOLT - #11-Spezifikation, ein Knoten zusätzliche routing-Informationen für private Kanäle, um eine Rechnung, wo Sie geben Sie den öffentlichen Schlüssel des vorletzten hop, zusammen mit dem short_channel_id.

r (3): data_length variable. Einen oder mehrere Einträge, die zusätzliche routing-Informationen für eine private route; es kann mehr als ein r-Feld

  • pubkey (264 bits)
  • short_channel_id (64 bit)
  • ...

Jedoch, im Gegensatz zu Kanälen angekündigt durch einen channel_announcement Nachricht, es gibt keine Signaturen, um zu beweisen, dass die Rechnung Zahlungsempfänger tatsächlich besitzt, dass der Kanal, oder auch, dass es wirklich existiert. Technisch scheint es, dass die Rechnung Schöpfer verweisen kann jedes gültige 2-von-2-UTXO auf die Kette und behaupten, es zu Ihrem privaten Kanal.

Reichen die vorhandenen Implementierungen zu überprüfen, ob die Transaktion gemäß der r - Feld ist short_channel_id tatsächlich vorhanden, auf der blockchain und, dass Sie gültig sind 2-von-2-multisig Transaktionen?

Wenn nicht, könnte short_channel_id in der Rechnung r Feld wiederverwendet werden, um Sie auf einige abstrakte Rechnung, die den pubkey in die hop-Informationen hat das Sorgerecht (So, dass die pubkey - Knoten packt die Letzte Zwiebel Paket selbst und Zeichen, keine Nachrichten mit dem privaten Schlüssel die mit dem Konto verknüpft)?

Ein Benutzer sendet eine Zahlung, sollten Sie nicht brauchen, zu kümmern, ob der Kanal wirklich gibt, solange Sie die Zahlung erhalten Sie den Knoten, der besitzt pubkey.

Ansonsten, wenn es irgendwelche potentiellen Risiken, sollte der BOLZEN#11-Spezifikation auch geändert werden, um ein paar Unterschriften für die Finanzierung der Transaktion, die short_channel_id bezieht sich auf?

+759
user268554 22.04.2012, 18:34:32

Der Grund ist, um zu verhindern, dass frontrunning: Wenn ein Opfer registriert abc.com, könnte der Angreifer Ankündigung der Transaktion mit der name_new abc.com Antrag auf Namecoin ist P2P-Netzwerk. Dann könnte er das Problem die gleiche Anfrage aber mit einem höheren TXN-Gebühr, und "stehlen" die domain, von der aus die Opfer, die versucht hatte, Sie zu registrieren.

Die Lösung ist einfach:

  1. Eher als das senden name_new abc.com Anfragen zeigen, dass die Domäne, senden Sie eine name_new SHA256(r, 'abc.com') verlangen, dass begeht , um die domain ohne Offenlegung es. Auf diese Weise kann ein Angreifer lernt nichts über das, was domain registriert wird.
  2. Offenbaren die domain später mit einem name_firstupdate r, abc.com Anfrage das zeigt die domain, verhindern, dass Menschen zu stehlen. Von diesem Punkt, kann der Angreifer nichts tun, weil abc.com bereits zugewiesenen Besitz mit der name_new Anfrage.
+715
ap99202 29.01.2014, 03:39:25

Bergleute, tun Sie dies, aber nicht so einfach. Es ist tatsächlich eine aktuelle Kontroverse genannt ASICBoost. Die Versionsnummer wird zugeteilt die verschiedene Werte als Teil dieses Algorithmus.

Es ist ein bisschen komplexer als nur mit der versions-Nummer wie eine erweiterte nonce, obwohl. Denken Sie daran, dass SHA256 ist tatsächlich mehrere mathematische Operationen zusammengefasst in einem Namen. Ich glaube, auf die Weise, die es funktioniert, ist aufgrund der SHA256-Algorithmus auf die ersten Operationen, bei denen mit leftshifting bits von der rechten Seite den blockheader. Wenn Sie können, halten Sie die Rechte Seite der blockheader (die letzten 4 bytes des merkle Wurzel, die nonce und den timestamp) hauptsächlich konstant ist, dann ist es erlaubt, Sie zu überspringen, diese ersten Berechnungen des SHA256-Funktion (weil Sie der Eingabe die gleiche Sache jedes mal von diesen bits). Ändern Sie die Letzte hash-Wert, obwohl, müssen Sie in der Lage sein zu ändern die bits linken Seite, die enthält die Versionsnummer. Also in diesem Sinne die Versionsnummer wird die Sache, die Sie verwenden, zu ändern block-hashes nahezu vollständig (mit der linken Seite des merkle root arbeiten in der traditionellen Art und Weise).

Diese scheinbar spart mining-power von über 20%.

+648
glamyrka 22.11.2019, 02:28:12

Obwohl das torrent-Protokoll erfordert einen zentralen server, Sie benötigen nicht zwingend einen zentralen server für ein p2p-Netzwerk. Der Kunde muss lediglich die IP-Adresse von mindestens einem aktiven Teilnehmer. Die Verbindung zu dies wird Ihnen andere IP Adressen zu verbinden.

Also das einzige problem für ein p2p-Netzwerk ohne zentralen server ist: wo finden die erste IP-Adresse zu verbinden. Bitcoin löst dieses Problem mit einem sogenannten IRC-bootstrap-nach der ersten installation. Im Grunde ist es versucht, Sie zu finden, wie ip-Adressen zu bestimmten IRC-Kanälen.

Dies ist nur notwendig bei der ersten Ausführung; Teilfolge läuft es einfach versuchen, ip-Adressen, die zuvor gearbeitet haben.

Mehr info über die IRC-bootstrap: http://bitcoinmedia.com/the-irc-bootstrap-method-is-flawed/

EDIT: Auf der weiteren Inspektion, es scheint, dass IRC-bootstrapping wird nicht mehr verwendet. Siehe den link für weitere details.

EDIT: Siehe auch diese Frage in Bezug auf die erste Verbindung (bootstrapping)

+589
ryanabooth 02.09.2013, 10:32:35

Versuchen Erteilung getrawtransaction txid mit txid der betreffenden Transaktion. Dann Frage sendrawtransaction string mit dem string ausgegeben durch den ersten Befehl. Können Sie sich vielleicht poste diesen string gibt es, oder versuchen Sie es in einem anderen wallet-software, so können Sie sich einige Informationen auf dieser TX und vielleicht endlich die broadcast-it.

Wenn Sie möchten, um loszuwerden, diese TX, können Sie ein backup Ihrer Brieftasche entfernen Sie alle Dateien von Ihrem ~/.bitcoin-Verzeichnis oder sein äquivalent (das Verzeichnis, das die blockchain), erneutes herunterladen der blockchain (möglicherweise unter Verwendung des bootstrap.dat) und importieren Sie Ihre backupped Schlüssel zurück.

+423
Anahoma 06.06.2019, 21:53:10

Bitcoin braucht nicht einmal ein Bankkonto - Ihre bitcoin wallet ist Ihr bank-Konto, und Sie brauchen keine Genehmigung oder Papiere, um zu starten mit bitcoin.

Zum Beispiel mit localbitcoins.com Geld wechseln zu bitcoins und Umgekehrt, müssen Sie nicht jede Art von Konto bei der bank alle.

+340
simongidney 30.08.2013, 09:53:57

Ecash, erstellt von David Chaum, und im Jahr 1993 eingeführt, war eine kryptographische Träger-Zertifikat, wenn das zugrunde liegende instrument wurde die nationale Währung (z.B. Dollar). Es bedurfte einer zentralen Partei zu verfolgen, verbringt zur Vermeidung von doppelten verbringt, im Gegensatz zu Bitcoin verteilten peer-to-peer-ledger. Es Bestand bis zum Konkurs der Emittentin, Digicash, 1998.

Viele der Themen, die Sie umgeben und Diskussion über Bitcoin weitergeleitet wurden, die von Chaum zu der Zeit, z.B.

"Die Wahl zwischen dem halten der Informationen in die Hände von Einzelpersonen oder von Organisationen, die gemacht wird, jedes mal, wenn eine Regierung oder ein Unternehmen entscheidet, zu automatisieren ein weiterer Satz von Transaktionen. In einer Richtung liegt, die beispiellose Kontrolle und Steuerung des Lebens der Menschen, in die andere, sichere Parität zwischen Individuen und Organisationen. Die Form der Gesellschaft im nächsten Jahrhundert kann davon abhängen, welcher Ansatz die Oberhand behält." Quelle

Bitcoin ist die erste kryptogeld, in dass es ist sich eine Währung, nicht eine kryptographische Ableitung einer nicht-kryptographische Währung.

+318
Fedot24 17.04.2010, 13:39:39

Die Latenz der verbindungen zwischen den Knoten von Bedeutung, wenn der Bergbau, weil Sie, im wesentlichen, ein Gültiger block gefunden ist, erreicht die höchste Anzahl der peers zuerst gewinnt, die block Höhe.

Zum Beispiel, wenn Bergleute Alpha-und Beta-beide finden innerhalb von wenigen Millisekunden von einander, Ihre Anreiz zu drängen, dass die-block, um die angeschlossenen Kunden so schnell wie möglich ist, dass Sie erhalten Ihren block auf die erste Kette und sind somit in der Lage, zu behaupten, die Belohnung.

Mehr technisch, wenn wir gerade beim block Höhe 10, und Bergleute sind hashing, eine Lösung zu finden, die zu block 11, und Alpha und Beta-beide finden einen block, Sie können beide behaupten, es zu block 11. Jedoch, es wird eigentlich nur der block 11, wenn 51% der Knoten, die glauben, dass ein bestimmter block ist die 11^TEN block. Der andere block der gültige block verloren, dass die Exposition der Wettbewerb, wird ein verwaister block, und die wird beschnitten, wenn die Höhe 12 Blöcke kommen in.

+316
McGinnis Claudia 16.08.2016, 01:59:23

nur aus der Spitze von meinem Kopf, hier sind einige Dinge, die ein unehrlicher miner tun können:

  • scheitern, um einen oder mehrere Transaktionen in den block. dies ist technisch nicht 'unehrlich', da das Protokoll nicht erforderlich, dass alle übermittelten Transaktionen einbezogen werden, der im aktuellen block. zum Beispiel würde es als vollkommen ok für einen miner nie mit einer Transaktion, die nicht zählen ein mining-Gebühr in den aktuellen block. allerdings, wenn die Transaktion muss eine Gebühr (das standard-Verhalten) und dann ein miner kann immer noch entscheiden, nicht zu zählen jede Transaktion, es mag in einem block. so zu tun wäre, um bewusst zu verzichten auf einen Gewinn, und so seine unwahrscheinlich, es ist aber durchaus möglich. aber auch andere Bergleute sind wohl nicht die gleichen, so dass Sie Sie enthalten die Transaktion das nächste mal Sie mir einen block.
  • entsprechende unsigned-Fonds für sich selbst. bitcoin-Skripte sind nur Rätsel gelöst werden, um verbringen Fonds. in der Regel sind die Rätsel unterzeichnet durch den privaten Schlüssel des Senders, aber dies ist keine Anforderung (obwohl alle wallet-software das standardmäßig macht). wenn jemand ist dumm genug, um manuell erstellen Sie eine Ausgabe-Skript, was nicht enthalten ist, entweder eine OP_CHECKSIG oder OP_CHECKMULTISIG opcode dann wird alles, was in der Transaktion geändert werden kann, indem der Bergmann. zum Beispiel, sagen, jemand erstellt eine Transaktion mit dem output-script OP_1 OP_EQUAL dann überträgt Sie diese an einen miner in der blockchain. der Bergmann kann leicht füllen Sie das puzzle und angemessen dieser Mittel durch die Schaffung einer anderen Transaktion mit input script OP_1. (überprüfen Sie diese Skripts, setzen Sie einfach den txin und txout in der Folge OP_1 OP_1 OP_EQUAL - 1==1). und das wichtigste hier ist, dass, da es keine Signatur, jeder kann ändern Sie die Ausgabe-Skript in der Ausgaben-Transaktion, also der miner kann direkt die Mittel an die Adresse von einem privaten Schlüssel besitzt.
  • geeignet SIGHASH_NONE Fonds. beim signieren einer Transaktion des Benutzers wallet-software wird ein byte auf das Ende der Signatur in der txin Skript in der Ausgaben-Transaktion. ein 0x02 byte hier entspricht SIGHASH_NONE was bedeutet, dass die Ausgabe-Skripte werden ignoriert, für die Zwecke der überprüfung. also, wenn jemand sendet eine Transaktion wie diese dann ein miner können Sie einfach Ihre eigene Adresse in alle txouts und beinhalten, dass die modifizierte Transaktion in einem block, effektiv Spenden an sich. allerdings wallet-software nicht mit Signaturen, die in dieser Weise, so müsste jemand absichtlich dumm zu verlieren Mittel, um ein Bergarbeiter in dieser Art und Weise.
  • alter bestimmte Transaktion hashes per transaction malleability. bestimmte bitcoin-Transaktionen sind formbar. während ein Bergmann ist nicht in der Lage zu ändern die Menge an bitcoins, die Sie senden, oder die Empfänger dieser Mittel, es ändern sich bestimmte Transaktion scriptsigs (die txin Skript) und somit ändern sich die Transaktion hash. dies geschieht, weil die scriptsig ist nicht signiert mit dem privaten Schlüssel. so der Bergmann kann das ändern scriptsig solange es verändert auch nicht die Funktionalität. beachten Sie, dass Bulletin 62 (geplant für release im bitcoin 0.11) zu beseitigen, transaction malleability für standard-Skripten, die allerdings für bestimmte nicht-standard-Skripte Formbarkeit wird immer ein problem sein. zum Beispiel, wenn die txout Skript ausgegeben wird, beginnt mit OP_DROP dann alle vorherigen stack-Wert (setzen Sie am Ende der scriptsig) wird ignoriert und so können geändert werden, indem ein Bergmann ohne änderung der Funktionalität der Transaktion. da die Transaktion hashes beinhalten die scriptsig dieses ändert die Transaktion hash. alle anderen Transaktionen, die erwartet hatten, zu verbringen, der hash wird vorübergehend frustriert und haben, um herauszufinden, die neuen hash-Wert zu verbringen (durch die nach der Transaktion trail in der blockchain).
+209
StrixVaria 22.09.2017, 15:52:58

Wenn es deine Brieftasche, Sie hätten kein Problem, eine BTC Adresse halten kann und verbringen BCC, aber Sie schickte es an coinbase Brieftasche in der Wirkung, die man nicht die privaten Schlüssel für.

Von Jan 2018, Sie haben gesagt, Sie unterstützen BCC. Ich hoffe, dass würde sein, wenn Sie sehen würden, aber keine Garantien, wie Sie funktionieren-Kette, wer weiß, wie Sie intern arbeiten. Also ich würde an Ihre support zur Klärung.

+204
favorite1 25.07.2013, 00:08:45

Fast alle der Nachteile der Verwendung von bitcoin über Tor drehen sich um die Tatsache, dass Ihre Knoten nicht Vertrauen können, dass es nicht segmentiert aus dem Netzwerk und somit kann nicht wirklich überprüfen Sie den Status des Netzwerks, das Sie sieht, ist real. Also, wenn Sie lief zwei bitcoin-Knoten (beide mit dem gleichen privkey), eine über die clearnet zu haben, nur um einen genauen Blick auf das Netzwerk und die andere über Tor, das Sie zum senden von Transaktionen, das Schlimmste, was passieren könnte, ist, dass die Tor-exit-Knoten nicht geben Sie Ihre Transaktion mit dem Netzwerk. Da die meisten (alle?) bitcoin IP-tracing-Systeme Spur, die Sie durch die überwachung Ihrer gesendeten Transaktionen, Sie würde sich da sicher sein. (Oder so sicher wie der Tor, es ist normal.)

Da bitcoin-clients verwenden immer die gleichen Knoten, die Tor-bitcoin-client niemals verbunden werden sollten, über die clearnet, wie das wäre, zumindest lassen Sie es festgestellt werden, dass Sie hatte auch die gleichen client über Tor.

Dies ist jedoch nicht eine Lösung, wenn Sie wollen einfach nur zu laufen einen Knoten heimlich. Diese Methode ist ein Weg um heimlich senden Transaktionen, aber die überwachung der Knoten auf die clearnet ist natürlich nicht geheim.

+146
Nandor 10.03.2019, 08:04:28

Nicht

libdb - ++-dev libboost-all-dev libcrypto++-dev libqrencode-dev libminiupnpc-dev

aber

sudo apt-get install libdb - ++-dev libboost-all-dev libcrypto++-dev libqrencode-dev libminiupnpc-dev

Das sind Abhängigkeiten. installieren sagt apt-get zum herunterladen und installieren der Abhängigkeiten. sudo gibt apt-get admin-Berechtigungen.

+119
Luvrhej 28.01.2012, 16:17:21

Was ist die Priorität in Hinblick auf die Generierung von neuen Adressen?

Tun wallets generieren 10 unterwegs ist, dann schalten Sie aus oder haben Sie einen neuen erstellen jedes mal, wenn die alte verwendet wurde?

Außerdem bringen Sie neue Adressen ändern, sobald Sie sehen, dass eine Transaktion benötigen Sie eine Adresse ändern?

+116
CHARLES KIMBROUGH 23.02.2016, 21:16:39

Mit all den Statistiken und Metriken gibt, ich war überrascht, konnte ich nicht herausfinden. Hat schon mal jemand festgestellt, die höchsten nonce in einen block?

+51
AndroDNA Testoboost 31.01.2018, 21:04:59

Fragen mit Tag anzeigen