btc-Transaktion zeige alle btc zog aus der Brieftasche

I übertragen Sie eine kleine Menge der btc von meinem privaten wallet mit bitcoin-core-client. Wenn ich blockchain.info ich sehe die Transaktion mit der Menge an btc, die ich übertragen werde die richtige Adresse. Aber ich sehe auch den rest des BTC in meinem wallet geht an eine unbekannte Adresse.

Ist es, dies zu tun, oder wurde ich gehackt?

+474
Janalyn Ariego 12.03.2017, 03:20:45
16 Antworten

Ich entwickle ein system der Verwaltung. Das Projekt ist die Migration von PHP zu C ++. Mit den neuen Anforderungen wollen wir die Arbeit mit blockchain. Aber bei der Suche nach mehr über Sie, ungeachtet generic tutorials, die ich fast immer finden sich links zu blockchain-Implementierungen wie Bitcoin oder Eterium. Aber ich brauche etwas umzusetzen, die Reine, von Grund auf.

Wo finde ich die Dokumentation der blockchain-Technologie ??

+988
mayank singh 03 февр. '09 в 4:24

Ich lese das Buch " Mastering Bitcoin. Irgendwann, ich kam accross die bx - Befehl und versuchte es auf die gleiche Weise wie bitcoin-cli (ich habe eine bitcoin-core-Knoten wird ausgeführt). Aber ich bekomme nur den "Befehl nicht gefunden" - Meldung. Wie sollte ich über gehen es?

+980
FreshWaterTaffy 28.04.2012, 16:32:48

Es ist anders, für jeden Geldbeutel, aber hier sind die besten Möglichkeiten.

Coinbase Methode Sie setzen eine Gebühr auf USD->BTC und Umgekehrt. Nachteil dieser Lösung ist, dass Sie nutzen können die Benutzer über die Verzögerung erstellt, mit Hilfe von fiat und Banken, Coinbase angeblich kauft bitcoins, wenn der Benutzer kauft, dann ein paar Tage später nimmt bitcoin und Erstattungen (durch die Markierung der Transaktion als "verdächtig") user-wenn der Preis geht nach oben und halten rentabel ist.

Blockchain.info Methode Sie gewinnen Einnahmen aus ermöglicht Dienstleistungen zu setzen der links auf Ihrer website. Nachteil ist, dass Sie nicht nur werben, mehr, wenn Sie nicht machen die hosting-Kosten.

Schirmherr Methode Sie gewinnen die Einnahmen aus oft Ihre eigenen Dienste, die im Grunde Ihr nur eine Kostenlose Brieftasche, dass der Eigentümer unterstützt sich selbst. Kein echter Nachteil. - Eingänge.io verwendet diese, Einnahmen gewonnen aus CoinLenders, letztlich "gehackt", das macht Sie Wunder, dass die motivation einer non-profit-wallet-service.

+961
Ali Sayani 28.03.2011, 15:52:12

Was benötigt wird, um einen neuen pool mit merged mining? (Bitcoin, NameCoin, und möglicherweise auch andere)?

Ich würde gerne einen neuen pool zu erstellen, der

  • Zählen Transaktions-Gebühren in der Auszahlung
  • Berechnen keine pool-Gebühren
  • Gehostet auf Amazon (Low latency)
  • Do merged mining wenn das nicht jeder schaffen Ineffizienz

Ich bin hauptsächlich daran interessiert, software, oder Allgemeine Kenntnisse, die Sie mich in die richtige Richtung.

+874
Junrui 06.09.2019, 06:01:20

Nach dem öffnen der RPC-Debuggen-Menü, die Sie tun können, getrawtransaction e9c858f852a1de7c70e6f8377f2147f3def1d4b1d85a5947d028bb9c13450318, und fügen Sie dann die raw-hex-Transaktion https://www.blockchain.com/btc/pushtx.

+771
Lona 15.05.2011, 16:41:57

Nein, es ist nicht möglich, aus zwei Gründen.

Zuerst, Sie hätte zu erzeugen und den hash-eine unvorstellbar große Zahl von ECDSA-Schlüsselpaaren zu haben eine vernünftige chance, eine Kollision. Mit der aktuellen Rechenleistung, das würde länger dauern als das Alter des Universums.

Zweitens, wie schon in den anderen Antworten es ist viel profitabler, zum generieren von bitcoins wenn man viel Rechenleistung.

+766
user72314 27.02.2013, 05:08:01

Ich habe einen Rechner mit einem Phenom II X6 1090T 3,2 GHz, und eine GT430 gfx-Karte. Offensichtlich ich weiß, dass ich nicht in der Lage, mir viele bitcoins, aber ich möchte anfangen, etwas Geld für ein Auto und so. Ist die einzige Lösung, die dem Bergbau durch eine ASIC-Maschine, oder Menschen auf anderen Foren führen Sie ein pool mit einem riesigen botnet.

Wenn Euch kann mir irgendwelche tips zum start, würde es geschätzt werden.

+691
legendbb 24.04.2019, 15:35:29

Der beste Ort zu gehen, wäre CryptoInfluence

Sie zählen ich denke, dass 90% aller YouTube-Kanäle, über 1k Abonnenten in der CryptoSpace. Its done, die auf Ihre stats, und auch eine community-Umfrage. Die top-Jungs sind in der Regel die meisten Ihre Zeit Wert ist...aber Sie finden einige echte Perlen in der Mitte oder sogar in der Nähe der Unterseite.

Sie haben auch eine scam-Liste, die Ihnen sagt, welche YouTube-Kanäle zu vermeiden!

Auch ich wurde empfohlen, ein "In Bitcoin" Buch, geschrieben von einem Dr. Julian Hosp. Es kommt sogar mit einem booklet, so können Sie-quiz auf die Bedingungen. Arzt Hosp hat auch einen YouTube-Kanal: https://www.youtube.com/user/julianhosp

+647
dtrhnfe 16.02.2014, 23:25:58

Ich bin interessiert in der Kommunikation mit den Mastercoin Netzwerk über eine API-Schnittstelle zur Steuerung von verschiedenen Elementen. In Bitcoin, ich würde die Bitcoin-daemon und die Nutzung der dokumentierten API. Für Mastercoin, ich höre widersprüchliche Meinungen - entweder mit omniwallet, mastercoin-tools oder mastercore.

Was ist der beste Ansatz zu nehmen, um die Kommunikation mit den Mastercoin Netzwerk über eine API?

+411
alexii 22 02.09.2018, 13:14:33

Aufgelöst und speichern Sie den code in hier. https://github.com/keviny/bitcoin-block-parser

Viele details finden sich in https://en.bitcoin.it/wiki/Script.

Den code zum entschlüsseln des ScriptPubKey in der Transaktion ausgegeben:

Klasse TxOutput:
 def __init__(self, blockchain, idx):
 selbst.idx = idx
 selbst.Wert = uint8(blockchain)
 selbst.script_len = varint(blockchain)
 selbst.pubkey = blockchain.Lesen(selbst.script_len)
 selbst.addr = "UNBEKANNT"
selbst.decode_scriptpubkey(selbst.pubkey)

 def to_string(self):
 sb = []
 sb.append("Wert: %d" % self.Wert + "Satoshi")
 sb.append("Skript-Len: %d" % self.script_len)
 sb.append("ScriptPubkey: %s" % self.addr)
 sb.append("Addr: %s" % self.addr)
 return sb

 def decode_scriptpubkey(self, data):
 "' https://en.bitcoin.it/wiki/Script "'
 hexstr = hashStr(Daten)
 # Holen Sie sich die ersten zwei bytes.
 # die möglicherweise ein problem.
 # https://www.blockchain.com/btc/tx/7bd54def72825008b4ca0f4aeff13e6be2c5fe0f23430629a9d484a1ac2a29b8
versuchen:
 op_idx = int(hexstr[0:2], 16)
außer:
 selbst.type = "EXCEPTION"
 selbst.addr = "UNBEKANNT"
zurück
versuchen:
 op_code = OPCODE_NAMES[op_idx]
 mit Ausnahme KeyError:
 wenn op_idx==65:
 selbst.type = "P2PK"
 # Veraltete zahlen zu pubkey direkt
 # Für Details siehe: https://en.bitcoin.it/wiki/Script#Obsolete_pay-to-pubkey_transaction
 pub_key_len = op_idx
 op_code_tail = OPCODE_NAMES[int(hexstr[2 + pub_key_len * 2:2 + pub_key_len * 2 + 2], 16)]
 selbst.pubkey_human = "Pubkey" OP_CODE: Keine Bytes:%s tail_op_code:%s %d" % (pub_key_len, op_code_tail, op_idx)
 selbst.addr = pubkey_to_address(hexstr[2:2 + pub_key_len * 2])[0]
sonst:
 # Einige Male Menschen werden push-Daten direkt
 # e.g: https://www.blockchain.com/btc/tx/d65bb24f6289dad27f0f7e75e80e187d9b189a82dcf5a86fb1c6f8ff2b2c190f
 selbst.type = "UN -"
 pub_key_len = op_idx
 selbst.pubkey_human = "PUSH_DATA:%s" % hexstr[2:2 + pub_key_len * 2]
 selbst.addr = "UNBEKANNT"
zurück
versuchen:
 wenn op_code == "OP_DUP":
 selbst.type = "P2PKHA"
 # P2PKHA zahlen zu pubkey hash-Modus
 # Für Details siehe: https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29
 op_code2 = OPCODE_NAMES[int(hexstr[2:4], 16)]
 pub_key_len = int(hexstr[4:6], 16)
 op_code_tail2 = OPCODE_NAMES[int(hexstr[6 + pub_key_len * 2:6 + pub_key_len * 2 + 2], 16)]
 op_code_tail_last = OPCODE_NAMES[int(hexstr[6 + pub_key_len * 2 + 2:6 + pub_key_len * 2 + 4], 16)]
 selbst.pubkey_human = "%s %s %s %s %s" % (op_code, op_code2, hexstr[6:6 + pub_key_len * 2], op_code_tail2, op_code_tail_last)
 selbst.addr = gen_addr(hexstr[6:6 + pub_key_len * 2])[0]
 elif op_code == "OP_HASH160":
 selbst.type = "P2SH"
 # P2SHA zahlen, um script-hash
 # https://en.bitcoin.it/wiki/Transaction#Pay-to-Script-Hash
 pub_key_len = int(hexstr[2:4], 16)
 op_code_tail = OPCODE_NAMES[int(hexstr[4 + pub_key_len * 2:4 + pub_key_len * 2 + 2], 16)]
 hash_code = hexstr[4:4 + pub_key_len * 2]
 selbst.pubkey_human = "%s %s %s" % (op_code, hash_code, op_code_tail)
 selbst.addr = hash_code
 elif op_code == "OP_RETURN":
 selbst.type = "OP_RETURN"
 pub_key_len = int(hexstr[2:4], 16)
 hash_code = hexstr[4:4 + pub_key_len * 2]
 selbst.pubkey_human = "OP_RETURN %s" % (hash_code)
 selbst.addr = hash_code
 else: # TODO erweitern für multi-Signatur-Analyse
 selbst.type = "UN -"
 selbst.pubkey_human = "ausgeweitet werden Müssen, multi-signaturer parsing %x" % int(hexstr[0:2], 16) + op_code
 selbst.addr = "UNBEKANNT"
außer:
 selbst.Typ = "FEHLER"
 selbst.addr = "UNBEKANNT"
+364
Shamit Verma 31.03.2016, 08:02:35

Meine Anwendung hat Verkäufer mit gespeichert (öffentlich) Bitcoin - Adressen können sagen, "Ihre Adresse".

Auch die Anwendung ermöglicht die anonyme Käufer, die kaufen können, waren von diesen Verkäufern die Bezahlung per bitcoins.

Was ich brauche, ist, dass das Geld der Käufer kommen an den Verkäufer so schnell wie möglich. Es zu tun, jetzt bin ich mit https://blockchain.info/api/api_receive service zu generieren, einmalige Zahlung-Adresse für jede Zahlung. Also, ich kann sehen, dass die Zahlung vorgenommen wurde, eine zweite, und mit Ihren Rückrufen werde ich wissen, wenn die Zahlung bestätigt und weitergeleitet, um die Verkäufer-Konto.

Auf diese Weise funktioniert, aber ich bin nicht zufrieden mit diesem. Unterschiedliche Gründe - je nach blockchain.info, die Umleitung von Geld dauert von 10 Minuten bis einige Stunden.

Ich begann mit diesem Wege vor 3 Jahren, aber ich fülle es kann ein Weg, um dies richtig tun. Einige von Ihnen hat eine andere Lösung für die Zuordnung der Zahlung bei Bestellung.

Auch andere Fragen - ist es ein Weg, um die Zahlung an den Verkäufer wenden Sie sich direkt an und ordnen Sie diese Zahlung mit der Bestellung.

Vielen Dank im Voraus.

+281
user17524 12.01.2015, 12:54:43

Ich hatte das gleiche problem. Es kann gelöst werden, indem Sie eine andere version von libdb. Die aktuelle Ubuntu (17.10) kommt mit libdb 3.5, aber 4 benötigt. Sie können herunterladen und bauen Sie mit

wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
tar -xzvf db-4.8.30.NC.tar.gz
cd-db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/yourfavoritepath/db4/
make install

um den compiler nutzen Sie beim erstellen, rufen Sie das configure-Skript wie diesem

./configure LDFLAGS="-L/yourfavoritepath/db4/lib/" CPPFLAGS="-I/yourfavoritepath/db4/include/"

und dann können Sie bauen mit make. Werden Sie sicher, dass yourfavoritepath wo immer Sie wollen speichern libdb4.

+212
Irene Harwell 23.12.2018, 10:07:25

Verwenden Sie die -datadir-option geben Sie einen neuen Speicherort für die bitcoin-Daten-Verzeichnis. Kopieren Sie die vorhandene bitcoin-Daten-Verzeichnis in das neue Verzeichnis und starten Sie bitcoin-qt. Schauen Sie hier für Informationen zum Auffinden der Standard-Daten-Verzeichnis.

+197
Ciaran 16.12.2011, 05:14:26

Jedes gültige ECDSA-public-key entspricht, einige gültige ECDSA privaten Schlüssel. Bitcoin-Adressen sind nicht eigentlich die öffentlichen Schlüssel obwohl, Sie sind ein 160-bit-hash, der eine bestimmte binäre Darstellung der öffentlichen Schlüssel.

Sie fragte:

Gibt es gültige Bitcoin-Adressen, für die es möglich ist, mathematisch zu beweisen, dass es keine privaten Schlüssel?

Soweit ich weiß, die Antwort ist keine. Zu konstruieren ist wie ein Beweis, man müsste irgendwie prüfen, die enorme Menge aller öffentlichen Schlüssel, und beweisen, dass keiner von Ihnen haben eine binäre Darstellung, deren 160-bit-hash würde mit der Bitcoin-Adresse in Frage. Der Punkt von hash-Funktionen ist, dass Sie nicht einfach invertiert, also kann man nicht einfach eine Liste der gültigen Eingaben, die in der gleichen hash.

Die Anzahl der ECDSA-public-keys (etwa 2^256) ist erheblich größer als die Zahl der Bitcoin-Adressen (2^160). Also ist die Durchschnittliche Bitcoin-Adresse entspricht tatsächlich etwa 2^(256-160) = 2^(96) verschiedene öffentliche Schlüssel. Es scheint also, dass es hart werden würde, um eine Adresse zu finden, die entspricht 0 von öffentlichen Schlüsseln.

+162
Harsha 29.06.2014, 17:25:05

Es gibt in der Tat eine beträchtliche Anzahl von Menschen/Institutionen, die dies bereits tun, und die proprietäre software wird immer intelligenter und deutlich besser als die opensource-Projekte. Es sollte keine überraschung, dass die bestehenden Währungs-arbitrage-software wurde angepasst, um diese Aufgabe durch die Handelsunternehmen sehr erfolgreich, so dass, wenn Sie daran denken, immer in Sie, Sie sind etwa 2 Jahre zu spät, die Beute zu schmal für den einzelnen lohnen. (WALLSTREET GEWINNT WIEDER!)

+59
grenier 08.01.2013, 09:27:37

Wie funktioniert TimeLockDelta Einfluss auf einen Knoten?

TimeLockDelta (oder cltv_expiry_delta) ist die minimale Anzahl von Blöcken, die ein Knoten benötigt, um Hinzugefügt werden, um den Ablauf HTLCs. In anderen Worten, dieser Wert repräsentiert die erforderliche Lücke zwischen den zeitschlossfunktion der eingehenden und ausgehenden HTLC zu diesem Knoten. Sobald ein HTLC mal aus, es kann entweder erfüllt sein oder ein Timeout aufgetreten ist, was bedeutet, dass der Knoten darauf achten muss, um diesen übergang und erfüllen beide den angeboten und erhalten HTLCs. Wenn der Knoten nicht erfüllen, dies zu gegebener Zeit, der peer wird in der Lage sein, um erhalten Ihre Gelder zurück durch die Ausgaben der time-out-Transaktion.

Um dies zu verdeutlichen mit einem Beispiel, sagen Sie Ihr, dass peer Sie weitergeleitet auf die HTLC zu (ausgehende HTLC) sendet Ihnen das vor-Bild der HTLC, die Hinzugefügt wurde, irgendwann wieder. Machen Sie eine Zahlung auf Ihr peer für die Bereitstellung des pre-image erfolgreich. Jetzt ist es an Sie zu erlösen diese Zahlung aus der peer durch die Sie erhalten die HTLC (eingehende HTLC). Wenn Sie lange genug warten, so dass der Ablauf mal aus, dann sind Sie in Gefahr zu verlieren Ihr Kapital, weil die Kollegen, an die Sie die HTLC wird die Nutzung des time-out-Transaktion, um seine Mittel. Sie sind also in einem Szenario, in dem Sie bezahlt haben, die ausgehenden HTLC, aber Sie können nicht behaupten, die Mittel aus den eingehenden HTLC.

Also der Wert der TimeLockDelta gewählt werden sollten, in einer solchen Weise, dass es nicht zu groß ist, so dass andere Knoten nicht senden von Zahlungen durch Sie, aber auch nicht zu klein, dass Sie vielleicht das Risiko zu verlieren Ihr Kapital, weil Sie nicht genug Zeit haben, zu befriedigen, die eingehende HTLC. Die untenstehende Berechnung zeigt die verschiedenen Fälle können auftauchen, wenn die Erfüllung HTLCs und der optimale Wert, der gewählt werden muss für Sie.

was als ein anständiger Wert für Sie?

Unten ist der text von BOLT #2 was hat die Berechnungen und die verschiedenen Fälle benötigt, für die Bestimmung, welche die cltv_expiry_delta ein Knoten sollte sich selbst gesetzt hat.

Die worst-case Anzahl der Blöcke, die zwischen ausgehenden und eingehenden HTLC-Auflösung abgeleitet werden kann, da ein paar Annahmen:

  • ein worst-case-Reorganisation Tiefe R - Blöcke
  • eine grace-period - G - Blöcke nach HTLC-timeout, bevor er sich auf einem nicht reagierenden peer-und ablegen der Kette
  • eine Anzahl der Blöcke, die S - Transaktion zwischen broadcast und die Transaktion in einen block

Der Schlimmste Fall ist für einen forwarding node (B), dauert die längste mögliche Zeit an Ort und Stelle die ausgehende HTLC Erfüllung und nimmt auch die längstmögliche Zeit zum einlösen bei-Kette:

  1. B->C HTLC mal in block N, und B wartet G - Blöcke, bis es gibt Wartelisten für C. B oder C verpflichtet sich, die blockchain, und B verbringt HTLC, nimmt die S - Blöcke enthalten sein.
  2. Schlechter Fall: C gewinnt das Rennen (knapp) und erfüllt die HTLC, B sieht nur, dass die Transaktion, wenn es sieht, block N+G+S+1.
  3. Worst case: Es gibt Reorganisation R tief in die C gewinnt und erfüllt. B sieht nur die Transaktion an N+G+S+R.
  4. B muss nun erfüllen die eingehenden A->B HTLC, aber nicht reagiert: B wartet G mehr Blöcke, bevor er sich zu warten, für A. A oder B verpflichtet, die blockchain.
  5. Schlechter Fall: B sieht Eine Verpflichtung Transaktion im block N+G+S+R+G+1 , und verbringen die HTLC-Ausgabe, nimmt die S - Blöcke abgebaut werden.
  6. Worst case: es gibt eine weitere Reorganisation R tiefen, die Ein verwendet, um zu verbringen, das Engagement Transaktion, also B sieht Eine Verpflichtung Transaktion im block N+G+S+R+G+R und verbringen die HTLC-Ausgabe, nimmt die S - Blöcke abgebaut werden.
  7. B HTLC verbringen muss mindestens R tief, bevor es mal aus, ansonsten eine weitere Reorganisation könnte Eine Zeitüberschreitung für die Transaktion.

So, der Schlimmste Fall ist, 3R+2G+2S, vorausgesetzt, R ist mindestens 1. Beachten Sie, dass die Chancen der drei Reorganisationen, in der die anderen Knoten gewinnt alle von Ihnen niedrig ist, die für R 2 oder mehr. Da hohe Gebühren verwendet werden (und HTLC verbringt, kann fast beliebig Gebühren), S sollte klein sein; obwohl, da die block-Zeiten sind unregelmäßig und leere Blöcke, die immer noch auftreten, S=2 betrachtet werden sollten ein minimum. Ebenso die Nachfrist G kann niedrig sein (1 oder 2), als Knoten erforderlich sind, um timeout oder so bald wie möglich erfüllen; aber, wenn G zu gering ist, erhöht es das Risiko von unnötigen Kanal-Schließung aufgrund von Netzwerk-Verzögerungen.

Es gibt vier Werte, die Notwendigkeit abgeleitet werden:

  1. Die cltv_expiry_delta für Kanäle, 3R+2G+2S: wenn im Zweifel, ein cltv_expiry_delta 12 zumutbar ist (R=2, G=1, S=2).
  2. Die Frist für die angebotenen HTLCs: die Frist, nach der der Kanal zu werden, fehlgeschlagen, und eine Zeitüberschreitung auf der Kette. Dies ist G - Blöcke nach der HTLC ' s cltv_expiry: 1 block zumutbar ist.
  3. Die Frist für die empfangenen HTLCs diesem Knoten erfüllt hat: die Frist, nach welcher der Kanal ist fehlgeschlagen und die HTLC erfüllt-Kette vor seiner cltv_expiry. Siehe die Schritte 4 bis 7 oben, was bedeutet eine Frist von 2R+G+S Blöcke, bevor cltv_expiry: 7 Blöcke zumutbar ist.
  4. Die minimale cltv_expiry akzeptiert für terminal-Zahlungen: der Schlimmste Fall für den terminal-Knoten C 2R+G+S - Blöcke (wie, wieder, die Schritte 1 bis 3 oben gelten nicht).

Der Standardwert für cltv_expiry_delta in BOLT #11 ist 9, der ist etwas konservativer als die 7, dass die obige Berechnung vermuten lässt.

+44
Shawn Carlay 09.07.2015, 01:55:29

Fragen mit Tag anzeigen