Wie zu erholen Bitcoin Bargeld von Coinbase

Ich hatte ein bisschen Bitcoins bei Coinbase vor dem split. Nach dem split zog ich ein paar Bitcoins an Coinbase, die alle gewonnen wurden vor dem split. Nun, dass Coinbase unterstützt Bitcoin Bargeld, Sie zeigt nur die kleine Menge, die ich übertragen hatte vor dem split. Die Menge, die ich dann übertragen, nachdem der split aber bevor Sie unterstützt BCH ist nicht angezeigt. Ich installierte Bitcoin ABC und importiert meine BTC wallet und nach der Synchronisierung zeigt er 0 BCH. Ich kann sehen, dass die Transaktion zu Coinbase in der Transaktion Fenster. Wie kann ich wieder die BCH? Ist es überhaupt möglich? Ich versuchte, Sie zu Kontaktieren Coinbase, aber jetzt sind Sie nur die Beantwortung von account-Sicherheit und Kompromiss Verwandte Fragen. Dank Ali

+530
ambr r 04.10.2015, 18:55:13
26 Antworten

Eine Bitcoin-Adresse ist nicht unbedingt ein single-use-token. Adressen kann durchaus wiederverwendet werden. Es ist jedoch gute Praxis zu nutzen, eine neue Adresse für jede Transaktion, aus Gründen der Privatsphäre und Sicherheit.

Die Privatsphäre-element war bereits in den Bitcoin whitepaper (§10):

Wie eine zusätzliche firewall, ein neues Schlüsselpaar verwendet werden soll für jede Transaktion, um Sie zu halten verbunden mit einem gemeinsamen Eigentümer.

Der Sicherheits-Vorteil ist, dass eine Bitcoin-Adresse ist ein hash des public-key oder ein Skript, was bedeutet, dass, wenn die elliptische Kurven-Kryptographie verwendet in Bitcoin ist gebrochen (so dass Signaturen generiert werden, für die bekannten public-keys), haben wir immer noch die Hash-algorithmen (SHA-256 und RIPEMD-160) helfen, zu verschleiern, das script oder den öffentlichen Schlüssel, bis eine Transaktion veröffentlicht wird. Verbringen Sie die Münzen im Zusammenhang mit einer Adresse, eines veröffentlicht den ursprünglichen öffentlichen Schlüssel oder ein Skript, aber wenn Sie eine neue Adresse jedes mal, die neue Adresse wird mit einer entsprechenden öffentlichen Schlüssel oder ein Skript, das wurde nicht pulished. Somit wäre es nicht anfällig für solche Angriffe, bis Sie gehen zu verbringen.

Ich würde interpretieren Sie die Aussage "Eine Bitcoin-Adresse ist eine single-use-token." zu sagen, dass eine Bitcoin-Adresse kann verwendet werden, als single-use-token, und Sie sollten nicht davon ausgehen, dass, wenn jemand einmal gab Sie eine Adresse, wird immer die Adresse zu zahlen, um Sie. Sie sollten erwarten, dass es möglicherweise eine andere Adresse jedes mal.

Edit: ja, und dabei die gleiche Adresse bietet eine Menge Komfort, weil Sie nicht haben, zu halten Spur von viele verschiedene Schlüsselpaare, und es macht die Dinge einfacher/sauberer, wenn Sie können senden Sie Ihre änderung zurück zu der gleichen Adresse statt einer neuen. (Edit: Anmerkung, als chytrik Punkte aus, gute wallet-software-Griff-Schlüssel-Generierung und-Speicherung für Sie, so sollte dies nicht sein, eine tatsächliche Sorge, es sei denn, Sie machen Ihre eigenen Geschäfte mit der hand, schreiben Ihre eigene software, etc.) Wenn Sie eine neue Adresse jedes mal, wenn Sie reichern sich viele kleine Mengen an Bitcoins an verschiedenen Adressen, die Sie nicht rekombinieren, ohne die Zuordnung dieser Adressen. (Edit: ich habe das Gefühl, dass dieser Kommentar lohnt sich zu Lesen und darüber nachzudenken, ABER als chytrik wies darauf hin, die Privatsphäre Risiko für die Wiederverwendung von Adressen ist viel schlimmer als das Risiko von Rekombination UTXOs. Ich Sortiere von beabsichtigt, etwas zu sagen wie, "Sie sind wahrscheinlich zu verlieren, Anonymität oder so, also Rücksicht nehmen, zusammen mit den Komfort bei der Modellierung von Bedrohungen und die Wahl einer Methode." Aber ich war nicht sehr klar über die Höhe des Risikos in beiden Situationen.) Es ist definitiv ein convenience-Faktor.

Es gibt auch offensichtliche Vorteile mit einer persistenten Adresse. Es ist viel einfacher zu verwenden, wenn Sie nicht speziell für die Bezahlung von jemandem. Zum Beispiel, wenn Sie wollen-Liste eine Adresse auf Ihrer website für die Menschen zu Spenden, um Sie, wäre es nicht sehr nützlich zu haben, dass die Adresse sich ständig ändert. Einige Personen generieren auch "vanity-Adressen" (siehe z.B., Vanitygen), die haben eine Menge Arbeit zu erstellen, und Sie können nicht wollen, dass die Arbeit zu gehen, um Abfälle durch den Wechsel zu einer neuen Adresse.

+978
sineman 03 февр. '09 в 4:24

Ich bin versucht zu berechnen SegWit Transaktion Gebühren in bytes, ich habe zwei Segwit Eingänge und 2 segwit Ausgänge. kann jemand berechnen, diese Transaktion Gebühren, wenn ich die Zahlung 100 Sat pro byte?

+966
Uttara 05.11.2011, 03:42:38
 i) scriptSig: <sig> 
 scriptPubKey: <pubKey> OP_DUP OP_HASH256 <pubKeyHash> OP_EQUAL OP_VERIFY OP_CHECKSIG
 ii) scriptSig: <pubKey> 
 scriptPubKey: OP_HASH160 <pubKeyHash> OP_EQUAL
 iii) scriptSig: <pubKey>
 scriptPubKey: <pubKey> OP_EQUALVERIFY
 iv) scriptSig: <sig>
 scriptPubKey: <pubKey> OP_CHECKSIG
+949
market 21.04.2019, 14:47:30

Da Sie mit Geldbörsen auf dem Handy, ich nehme an, Sie sind running ein SPV-Knoten. SPV-Knoten überprüfen von Transaktionen mit einer etwas anderen Methode beruht auf peers bieten teilweise Blick auf die relevanten Teile der blockchain auf Nachfrage. Um sicherzustellen, dass die Transaktion, die Sie geschickt haben, wurde bestätigt in einem block, Ihr SPV Knoten verwenden bloom-Filter und senden Sie, dass der volle Knoten verbunden. Diejenigen, die voller Knoten wird dann testen Sie jede Transaktion gibt, gegen die bloom-filter. Nur Transaktionen, die dem filter entsprechen, werden an den node gesendet.

In der Antwort auf eine getdata - Nachricht von dem Knoten, peers, senden Sie eine merkleblock-Nachricht, die enthält nur block-Header für die Blöcke, die den Filterkriterien entsprechen, ein merkle-Pfad für jede matching-Transaktion und dann auch senden tx-Nachrichten mit den Transaktionen, auf die der filter zutrifft.

Es ist diese Transaktion, die erneut gesendet, um den Knoten ist das, was Sie sehen in den Paket-Verkehr.

+943
Micaiah Guerrero 16.02.2016, 19:41:53

Ich weiß , dass mit SIGHASH_NONE in Signaturen ist sicher für eine Transaktion nur dann, wenn mindestens einer der Eingänge ist unterzeichnet mit SIGHASH_ALL, so dass ein miner kann es nicht ändern, die Ausgänge und die Rückforderung der Eingänge. Diese Art der Transaktion ist sinnvoll, wenn die Parteien der Unterzeichnung Ihre Eingaben verlassen wollen, die Möglichkeit zu entscheiden, die Ausgänge zu einer vertrauenswürdigen Koordinator.

Lassen Sie uns nun annehmen, dass wir eine Transaktion, bestehend aus-Eingänge mit P2SH-Adresse der Implementierung einer 2v2-multisig-Signatur-Schema. Seit zwei Unterschriften erforderlich, die für jede Eingabe, was passiert, wenn eine der Signaturen erfolgt mit SIGHASH_NONE und das zweite mit SIGHASH_ALL?

Mein Verständnis ist, dass die Partei die Unterzeichnung mit SIGHASH_NONE Blätter die Fähigkeit, die cosigner zu wählen, die Ausgänge und die daraus resultierende Transaktion wird sicher sein (vor bösartigen Bergleute), da alle Eingaben sind unterschrieben, auch mit einem SIGHASH_ALL Signatur.

Ist das richtig?

+931
M Wright 08.10.2016, 18:25:53

Ganz hängt. Die meisten effiziente Bergbau-Ausrüstung, die derzeit erhältlich ist, ist die Bitmain (wer nicht bieten Mengenrabatte bei größeren Bestellungen btw) S9 ausgeführt 14,5 TH. Die Stromkosten sind weit gehen, um Ihre wichtigsten Kosten, also je nachdem, was Ihre Lokalitäten $/KW/H Preisen sind.

Derzeit, wo ich Lebe, zum Beispiel zahlen wir über $0.096/KW/Stunde Bergbau noch einigermaßen rentabel (vorausgesetzt, Sie können Holen Sie sich die Einheiten in hand in eine fristgerechte Art und Weise), und mit Bitmain Ihr im Grunde immer der Kauf einer pre-order.

Wollen Sie vielleicht auch auf der Suche in die Diversifizierung Ihrer Investitionen in mehr als nur sha256-Gang an dieser Stelle, damit Ihr nicht im Grunde setzen alle Ihre Eier in einen einzigen Algorithmische Korb ;)

+911
Edward88 01.08.2016, 17:17:03

Natürlich kann man :) Bitcoin-voller Knoten hält eine blockchain-Datenbank im lokalen Maschine.
Hier ist eine Schritt-für-Schritt-Anleitung, um die genesis-Transaktion Informationen.

  • Finden block-Daten Datei.s In den mac, sucht er bei "~/Library/Application Support/Bitcoin/blocks/blkxxxxx.dat"
  • Verwenden Sie folgenden code zum decodieren der genesis-block
  • Nun bekam jedes detail über die genesis-block und die coinbase-Transaktion in der genesis-block, einschließlich tx_version, tx_input_num, tx_prev_output, script_length, scriptsig -, Sequenz -, tx_output_num ...
  • import struct # make Gespräch zwischen Python-Werte und C structsrepresented als Python-strings
    import StringIO # Liest und schreibt einen string-Puffer
    import mmap # änderbaren string
    
    Klasse BCDataStream(object):
     def __init__(self):
     selbst.input = None
     selbst.read_cursor = 0
    
     def clear(self):
     selbst.input = None
     selbst.read_cursor = 0
    
     def write(self, Byte): # Initialisierung mit string von bytes
     wenn sich selbst.Eingang ist None:
     selbst.input = bytes
    sonst:
     selbst.input += bytes
    
     def map_file(self, file, start): # Initialisierung mit bytes aus der Datei
     selbst.input = mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ)
     selbst.read_cursor = start
     def seek_file(self, position):
     selbst.read_cursor = position
     def close_file(self):
    selbst.input.close()
    
     def read_string(self):
     # Strings codiert sind, je nach Länge:
     # 0 252 : 1-byte-Länge, gefolgt von bytes (wenn vorhanden)
     # 253 bis 65.535 : byte'253' 2-byte-Länge, gefolgt von bytes
     # 65.536 auf 4,294,967,295 : byte '254' 4-byte-Länge, gefolgt von bytes
     # ... und das Bitcoin-client codiert ist, zu verstehen:
     # mehr als 4.294.967.295 : byte " 255 " wird in 8-byte-Länge, gefolgt von Byte-string
     # ... aber ich glaube nicht, dass es tatsächlich behandelt alle Zeichenketten, die groß ist.
     wenn sich selbst.Eingang ist None:
     erhöhen SerializationError("call write(bytes), bevor Sie versuchen zu Deserialisieren")
    
    versuchen:
     Länge = selbst.read_compact_size()
     außer IndexError:
     erhöhen SerializationError("Versuch zu Lesen, Vergangenheit Ende des Puffers")
    
     return self.read_bytes(Länge)
    
     def write_string(self, string):
     # Länge-Format mit lese-string
    selbst.write_compact_size(len(string))
    selbst.write(string)
    
     def read_bytes(self, LAENGE):
    versuchen:
     Ergebnis = selbst.input[self.read_cursor:selbst.read_cursor+Länge]
     selbst.read_cursor += Länge
     Ergebnis zurückgeben
     außer IndexError:
     erhöhen SerializationError("Versuch zu Lesen, Vergangenheit Ende des Puffers")
    
     return "
    
     def read_boolean(self): return self.read_bytes(1)[0] != chr(0)
     def read_int16 (self): return self._read_num('<h')
     def read_uint16 (self): return self._read_num('<H')
     def read_int32 (self): return self._read_num('<i')
     def read_uint32 (self): return self._read_num('<I')
     def read_int64 (self): return self._read_num('<q')
     def read_uint64 (self): return self._read_num('<Q')
    
     def write_boolean(self, val): return self.write(chr(1) wenn val else chr(0))
     def write_int16 (self, val): return self._write_num('<h', val)
     def write_uint16 (self, val): return self._write_num('<H', val)
     def write_int32 (self, val): return self._write_num('<i', val)
     def write_uint32 (self, val): return self._write_num('<I', val)
     def write_int64 (self, val): return self._write_num('<q', val)
     def write_uint64 (self, val): return self._write_num('<Q', val)
    
     def read_compact_size(self):
     Größe = ord(selbst.input[self.read_cursor])
     selbst.read_cursor += 1
     wenn size == 253:
     Größe = selbst._read_num('<H')
     elif Anzahl == 254:
     Größe = selbst._read_num('<I')
     elif Anzahl == 255:
     Größe = selbst._read_num('<Q')
     Rückkehr Größe
    
     def write_compact_size(self, size):
     wenn size < 0:
     erhöhen SerializationError("Versuch zu schreiben mit einer Größe von < 0")
     elif Größe < 253:
    selbst.write(chr(Größe))
     elif Größe < 2**16:
    selbst.write('\xfd')
     selbst._write_num('<H', Größe)
     elif Größe < 2**32:
    selbst.write('\xfe')
     selbst._write_num('<I', Größe)
     elif Größe < 2**64:
    selbst.write('\xff')
     selbst._write_num('<Q', Größe)
    
     def _read_num(self, format):
     (i) = struct.unpack_from(format, selbst.Eingang, selbst.read_cursor)
     selbst.read_cursor += struct.calcsize(format)
     return i
    
     def _write_num(self, format, num):
     s = struct.Packung(format num)
    selbst.schreiben(s)
    
    
    def import_blkdat():
    pass
    
    
    
    ds = BCDataStream()
    Datei = open("/Users/junton/Library/Application Support/Bitcoin/blocks/blk00000.dat", "rb")
    ds.map_file(Datei, 0)
    
    # Datei Lesen
    # https://bitcoin.org/en/developer-reference#block-headers
    # https://en.bitcoin.it/wiki/Protocol_specification#block
    Magie = ds.read_bytes(4).encode('hex')
    block_size = int(ds.read_bytes(4).encode('hex'), 16)
    version = ds.read_bytes(4).encode('hex')
    prev_header_hash = ds.read_bytes(32).encode('hex')
    merkle_root_hash = ds.read_bytes(32).encode('hex')
    timestamp = ds.read_bytes(4).encode('hex')
    nBits = ds.read_bytes(4).encode('hex')
    nonce = ds.read_bytes(4).encode('hex')
    
    num_of_transaction = ds.read_bytes(1).encode('hex')
    tx_version = ds.read_bytes(4).encode('hex')
    tx_input = ds.read_bytes(1).encode('hex')
    tx_prev_output = ds.read_bytes(36).encode('hex')
    script_length = ds.read_bytes(1).encode('hex')
    scriptsig = ds.read_bytes(int((script_length), 16)).encode('hex')
    Sequenz = ds.read_bytes(4).encode('hex')
    tx_output = ds.read_bytes(1).encode('hex')
    BTC_num = ds.read_bytes(8).encode('hex')
    pk_script_len = ds.read_bytes(1).encode('hex')
    pk_script = ds.read_bytes(int(pk_script_len, 16)).encode('hex')
    lock_time = ds.read_bytes(4).encode('hex')
    
    
    print 'magic:' + Magie
    print 'block_size:' + str(block_size)
    print 'version:' + version
    print 'prevHash:' + prev_header_hash
    print 'merkle_root:' + merkle_root_hash
    print 'timestamp:' + Zeitstempel
    print 'nBits:' + nBits
    print 'nonce:' + nonce
    
    drucken '--------------------- Details der Transaktion: ---------------------'
    print 'num_of_transaction:' + num_of_transaction
    print 'tx_version:' + tx_version
    print 'tx_input_num:' + tx_input
    print 'tx_prev_output:' + tx_prev_output
    print 'script_length:' + script_length
    print 'scriptsig:' + scriptsig
    print "Sequenz:' + Sequenz
    print 'tx_ouput_num:' + tx_output
    print 'BTC_num:' + BTC_num
    print 'pk_script_len:' + pk_script_len
    print 'pk_script:' + pk_script
    print 'lock_time:' + lock_time
    
    ds.close_file()
    
    +892
    user18162 12.03.2018, 09:30:33

    Ich habe eine raw-bitcoin-Transaktion erstellt mit createrawtransaction

    unsigned_tx = "02000000014bcb8bcbf347d2f91a11703afa644a3ba43cd25a1e8cf538732d65aeb54401070000000000cffgffff0137670000000000001970a91436c27d3f6dd809c25cfbf7d2670ab701a5717b0488ac00000000"
    

    Die raw-Transaktion wurde mit mehreren Eingängen und einem einzigen Ausgang.

    Jetzt versuche ich einen Weg zu finden, zu Unterschreiben, dass die Transaktion offline mit Python ist3 und keine Verbindung zu einem Knoten.

    Ich habe die Suche über das web mit kein Glück.

    Edit 1: Nachdem Sie die Schritte in http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.htmlich stecken mit dieser Ausnahme:

    In [41]: private_key = "3699556636270870316293620289962549511891625341283681895576015487131205320420"
    
    In [42]: ecdsa.SigningKey.from_string(bytes.fromhex(privat_key), Kurve=ecdsa.SECP256k1)
    ---------------------------------------------------------------------------
    AssertionError Traceback (most recent call last)
    <ipython-input-42-48390f7d05da>, in <module>
    ----> 1 ecdsa.SigningKey.from_string(bytes.fromhex(private_key), Kurve=ecdsa.SECP256k1)
    
    ~/workspace/virtualenvs/blah-folder/lib/python3.6/site-packages/ecdsa/keys.py in from_string(klass, string, Kurve, hashfunc)
     147 @classmethod
     148 def from_string(klass, string, Kurve=NIST192p, hashfunc=sha1):
    --> 149 assert len(string) == curve.baselen, (len(string) - Kurve.baselen)
     150 secexp = string_to_number(string)
     151 die Rückkehr klass.from_secret_exponent(secexp, Kurve, hashfunc)
    
    AssertionError: (38, 32)
    

    Irgendwelche Ideen, wo ich bin mache ich falsch?

    +801
    Maire Ni Rabharthaigh 01.02.2015, 13:39:13

    Ihr Freund wird, müssen folgende Dinge beachten:

    1. Was für einen computer Sie hatte die bitcoin-wallet auf.
    2. Das Passwort für die Geldbeutel (vorausgesetzt, man war eingestellt)

    Wenn Ihr Freund hat nur die Adresse, Ihrem Freund, müssen Sie den privaten Schlüssel zugeordnet ist.

    Es gibt nichts, was Sie wirklich überprüfen/sehen, wenn Sie bitcoins gekauft, es sei denn, entweder Sie erinnert sich an Ihre Adresse, in dem Fall können Sie die balance, oder findet den computer und Geldbeutel, die Sie verwendet, um Sie zu speichern in.

    +799
    Frik Botha 07.12.2011, 09:57:21

    Mögliche Duplikate:
    Wie kann ich Lesen, Informationen aus der blockchain?

    Kann mir jemand sagen, von wo genau Seiten wie

    1. http://www.bitcoinmonitor.com/
    2. http://blockchain.info/ kann nicht mehr posten links

    nehmen Sie Ihre Informationen. Wie bitcoinmonitor weiß, welche Transaktionen durchgeführt wurden Recht jetzt?

    +702
    asesoria 05.03.2017, 16:09:09

    Es ist ein embryo von einem patch auf github, das war genau das gemeint, dieses Problem zu lösen. Es wurde angekündigt, auf der dev-mailing-Liste, aber nie erhielt viel Aufmerksamkeit. Jetzt ist es ein bisschen veraltet (der Letzte merge mit master ist von Sep 26). Vielleicht können Sie von hier aus starten.

    +675
    biotrekker 15.09.2019, 14:08:37

    Nicht genau das gleiche Thema aber immer noch aktuell und vielleicht einen Hauch mehr philosophisch.

    Bitcoin war wohl zu dezentral. Aber für die Bergleute, es ist nicht möglich, um wirklich führen Sie eine solo-Betrieb mehr, und viele entscheiden sich in mining-pools statt, die für vorhersehbares Einkommen. Jetzt zwei mining-pools Steuern Sie mehr als 50% der mining power, die in der Theorie bedeutet, dass diese beiden pools könnte sich ändern, die Unveränderlichkeit des Hauptbuch.

    Es gibt nur ein paar domininant mining-pools.

    Also als Konsequenz mining-pools sind immer die neuen Zentralbanken, da Sie handeln müssen, wohlwollend und im besten Interesse des Netzwerks, für Sie erfolgreich zu sein. Aber das ist im Gegensatz zu den gesamten Ziel von Bitcoin.

    Warum ist es, dass selbst wenn wir versuchen, und erstellen Sie ein system, das dezentral ist, Zentralisierung und Konzentration der macht schließlich entsteht? Ist dies in unserer Natur und was bedeutet das für die ideale der Krypto-Währungen?

    +608
    anticyclope 15.03.2014, 16:27:10

    Alle aktuellen Adressen sind cross-kompatibel.

    Auf technischer Ebene, die Kette hat kein Konzept für eine Adresse, nur der locking-Skripte, die Fragmente einer bitcoin-Skript - Programm. Senden Sie die Münzen durch die Angabe der sperren-Skript, und verbringen Sie, indem Sie die Entriegelung Skript (auch als Skript-sig), die rundet das Programm ab, indem Sie die richtigen Eingänge, erzeugen Sie ein gültige Ausgabe (TRUE, für eine gültige Transaktion).

    Da gibt es kein Konzept für eine Adresse hier, Sie sind alle miteinander kompatibel.

    Adressen sind eine sekundäre Kodierung erfolgt auf standardisierten Skripten zu Hilfe menschlicher Lesbarkeit und vermeiden Schreibfehler, die über Prüfsummen und Fehler Erkennung Mechanismen.

    +589
    user3063211 31.03.2013, 12:06:05

    Hier ist die Seite, auf der wiki, wo die Schwächen beseitigt werden.

    +514
    Frankline 05.03.2014, 16:33:56

    In der Bergleute (sgminer) log-Datei habe ich die folgenden Zeilen:

    [21:14:19] ADL-index 0, id -546853344 - BIOS-teilnr.: 113-C3865001-T04, version: 015.041.000.000.000000, Datum: 11/25/13 02:47
    [21:14:19] GPU 0 zugeordnet: iAdapterIndex:0 iPresent:1 strUDID:256:26520:4098:12289:5963 iBusNumber:1 iDeviceNumber:0 iDrvIndex:0 iFunctionNumber:0 iVendorID:4098 name:AMD Radeon R9 200 Series 
    

    Kann ich die oben genannten Informationen, um die genauen GPU geben? Es ist klar, der AMD Radeon R9 200 Series - Familie, aber ich brauche den genauen Typ auch.

    Gibt es eine Datenbank, die ich verwenden kann?

    +503
    execjosh 08.09.2019, 02:15:49

    Das bitcoin-Netzwerk ist nur dann als verbunden, da jeder Knoten sein will. Das Protokoll wurde entwickelt, in einer Weise zu Anreizen wird mit dem Netzwerk verbunden, so dass in der Praxis, fast jeder voller Knoten ist verbunden mit einer Menge von anderen Knoten, und daher, es ist zumindest eine sehr gute chance auf einen kurzen Pfad zwischen zwei beliebigen Knoten.

    Jedoch, das ist nicht zu sagen, dass jeder Knoten verbunden ist. Es ist durchaus möglich, führen Sie einen vollständigen Knoten, die nicht verbunden sind, wie Sie scheinen zu tun. In Ihrem Fall scheint es, dass C keine peers, also C abgebauten block nicht bekommen, um jemand anderes.

    Führen Sie diesen Befehl, um zu sehen, welche peers er hat:

    $ bitcoin-cli getpeerinfo
    

    Sie wollen hinzufügen von verbindungen dieser Art:

    $ bitcoin-cli addnode-Knoten-ip-und port - > hinzufügen
    
    +458
    Madison Cat 26.09.2014, 23:06:57

    Jedes Projekt kann verschiedene spezifische Anforderungen für das, was als eine gültige Transaktion, aber in der Regel eine nicht ausgegebene Transaktion geprüft werden muss, gegen alle vorherigen Transaktionen in der blockchain, um sicherzustellen, es wurde nicht verwiesen, als input (vin) zu einem anderen tx. Bitcoin-stores eine Datenbank von unverbrauchten Transaktion Ausgänge (UTXO), dies zu tun, überprüfen Sie effizienter zu gestalten.

    Diese Prüfung erfolgt in Bitcoin, bevor die Transaktion tritt in den mempool von einem Knoten (vor) abgebaut werden), und wenn dies fehlschlägt, wird die Transaktion abgelehnt.

    Update: Sie erhalten eine spezifische utxo von txid mit $ bitcoin-cli gettxout, die Sie nicht nur Abfrage von Adresse, pro @PieterWuille ' s Kommentar unten.

    +375
    bast135 31.05.2015, 00:07:13

    Wurden Sie eventuell über einen Adapter-Kabel, das ermöglicht den Einsatz von verschiedenen slots, wie das hier dargestellt wird: https://bitcointalk.org/index.php?topic=66070.0

    Während der Bergbau die Daten zu und von der Grafikkarte nicht annähernd so viel wie wenn die Karte ist für Spiele verwendet, so dass es keine wesentliche Verschlechterung im Bergbau Ausgang.

    Allerdings, ich erinnere mich an das Lesen über mindestens einen Fall, wo schaltkreise überlastet war, dies zu tun (dh es ausgebrannt), die möglicherweise durch ein defektes Kabel, aber auch möglicherweise weil die Grafikkarten sind nicht so konzipiert, das es so funktioniert.

    +352
    Edy Dias 06.11.2016, 12:41:43

    Also habe ich wirklich einen Fehler gemacht, indem Sie den Import-Adresse, ohne zu wissen, ich werde gebeten, für einen privaten Schlüssel später, da, die Adresse ist die watch-only. Scheint, wie diese Adresse wurde bereits verwendet, bevor auf meinem Konto, aber ich habe keine Ahnung, ist, dass mir oder von jemand anderem oder mir von einer anderen Seite.

    Meine Frage ist: wo kann ich prüfen, ob ich tatsächlich private Schlüssel zu dieser Adresse, also, wo sind Sie in der Regel gespeichert, und Sie haben eine Lebens Dauer?

    Auch, jedes mal, wenn ich versuche, Scannen Sie diesen QR code, ich bin immer ein Fehler: nicht unterstütztes Schlüssel-format. Aber das system selbst ist gefragt, den code Scannen, nicht eingeben der zahlen. Ich habe keine Ahnung, was könnte das Problem sein, außer, dass der code nicht unterstützt.

    +337
    AlwaysP 10.02.2011, 11:14:48

    Falls es Sie interessiert, wie die Ursache für dieses problem, ich glaube, dies ist durch einen " bug " (der Arten) in der Brieftasche, die Sie verwenden, in der die die wallet-software nicht überprüfen, um sicherzustellen, dass es keine Staubentwicklung Ausgänge.

    Lassen Sie uns sagen, Sie haben ein einziges 1.0 BTC UTXO (nicht ausgegebene Transaktion output) die für die Ausgaben, und Sie senden möchten 0.99989999 BTC (etwas weniger als 1,0 BTC - Standard-Gebühr von 0,0001 BTC). Dann ist in diesem Fall, wenn das der einzige UTXO, die Sie haben, dann können Sie tatsächlich senden Sie den genauen Betrag, den Sie beantragt und erwartet, dass Sie bestätigt bekommen in der Zeit.

     0.99989999 (Betrags)
    /
    1.0 - 0.00000001 (Ändern)
    \
     0.0001 (Miner-Gebühr)
    

    Sie sollten in der Lage sein, dies zu tun, da haben Sie genug zu finanzieren, die der Höhe und Zahlung der Gebühr, aber das problem ist, dass die Transaktion wird in der Regel auch eine Staub-Ausgang (eine Leistung von weniger als 5460 satoshis). Eine Lösung ist nur automatisch geben Sie die zusätzlichen Staub um die person, die Sie senden an. Ein weiterer ist, um es an die Bergleute, indem Sie behaupten, dass es in jedem der Ausgänge). Eine bessere Lösung ist die Verwendung einer anderen UTXO, die Sie besitzen und in der Lage sein, eine Rückerstattung UTXO das ist nicht Staub -, aber dies ist nicht immer möglich.

    In all diesen Lösungen, keine Staub-Ausgänge erstellt werden. Aber wenn die wallet-software macht die Transaktion die übliche Art und Weise und geben die übrig gebliebenen wechseln Sie wieder zurück zu sich selbst, ohne zu überprüfen, um sicherzustellen, dass es nicht Staub, dann, was Sie gesehen passiert, und der Vorgang wird nicht abgebaut und ist dann irgendwann weggeworfen, wenn Sie alt genug.

    Es ist ziemlich unwahrscheinlich, dass dieser Fehler sogar offensichtlich in einer bestimmten Transaktion (über 1 in 18,315 chance), aber offensichtlich nicht unmöglich, da hattest du dieses problem!!! Wahrscheinlich blockchain.info wird das Update anwenden, wenn sich genügend Leute beschweren.

    +309
    hjc1710 10.04.2010, 21:00:22

    Sie können sich denken, über dies der falsche Weg.

    Die meisten Länder haben ein Verbot von Autos fahren über eine Geschwindigkeitsbegrenzung. Dies ist jedoch nicht erzwungen durch technische Maßnahmen, die verhindern, dass Autos fahren über die Grenze.

    Diese Regeln werden umgesetzt durch machen, unangenehme Dinge für Menschen, die erkannt werden, da dass gegen die Regeln verstoßen.

    Sie können gehen auf zu suggerieren, dass die Regeln müssen technische Mittel der Erkennung. Aber denken Sie daran, dass die Erkennung muss nicht perfekt sein. Wenn die Folge der Erkennung ist, dass Sie verlieren Ihren job und Ihr Leben ist ruiniert, nur wenige Menschen das Risiko auf sich nehmen.

    +217
    travelingbeard 13.11.2014, 17:23:30

    Es ist möglich, dass Sie laufen aus dem RAM oder HDD-Platz. Überprüfen Sie in diesem github-Bericht von einem user mit einem ähnlichen Problem. Ist dies nicht der Fall ist, dann würde ich einen memtest und sehen Sie, wenn Sie don ' T haben ein Problem mit Ihrem RAM.

    +197
    Dan Nolan 01.11.2011, 13:39:50

    Die Daten signiert werden, heißt Hash Preimage. Dann melden Sie die doppelte SHA256-hash preimage, das ist 256 bit lang. Vor dem hashing der Daten gebildet werden müssen, wie gezeigt, in dieser Antwort. Wenn Sie die Unterzeichnung eines SegWit Transaktion, die Inhalte der preimage änderungen im Sinne des BIP 143.

    Dann kann man die Formeln hier, Eq. 2:

    (x1, y1) = k × G(x, y) mod p
    r = x1 mod n
    

    k ist eine Zufallszahl, G ist der generator, p ist die Primzahl modulo, etc.

    Dann,

    s = (k^-1 (h(m) + d * r)) mod n
    

    d ist der private Schlüssel, h(m) ist die doppelte SHA256-Ergebnis. Sie können nun mit r, s zu erstellen, die DER-kodierte Signatur.

    +158
    Ved Gautam 04.03.2017, 16:52:48

    habe ich ausgetauscht, meine bitcoins bei btc auf koinex die transiction erfolgt direkt von bitcoin zu bitcoin-cash mit Ziel-tag des bitcoin Bargeld statt mit dem Verkauf der Bitcoins und Kauf von Bitcoins mit Bargeld, den status der transiction zeigt sich abgeschlossen, aber ich habe nicht in meine bitcoin-cash-wallet. sowohl die transiction ist durchgeführt auf koinex. kann ich den pullback der transiction. ich habe auch Kontakt mit der koinex customer care gibt es sayig transiction ist erfolgreich abgeschlossen am Ende.

    +144
    bobparry 06.08.2014, 02:46:36

    Das ist einfach praktisch nicht möglich; es ist eine der grundlegenden Prämissen von public-key-Kryptographie:

    Die Stärke eines public-key-Kryptographie-system beruht auf den rechnerischen Aufwand (work-Faktor in der Kryptographie), die erforderlich ist zu finden, den privaten Schlüssel aus seiner gekoppelten öffentlichen Schlüssel. Wenn dem so ist, effektive Sicherheit benötigt nur die Aufbewahrung der privaten Schlüssel die privaten; der öffentliche Schlüssel kann öffentlich verteilt werden, ohne Abstriche bei der Sicherheit.

    Es sei denn, jemand bricht den verwendeten kryptographischen Algorithmus zum generieren der Schlüssel, Ihre beste Wette ist, um einfach erzeugen zufällige Schlüssel und überprüfen Sie, ob der entsprechende öffentliche Schlüssel entspricht, den Sie bereits haben. (Gut, das ist eine leichte übertreibung, aber Sie erhalten den Punkt.)

    +96
    Dangyi Liu 04.03.2011, 20:13:41

    Ich habe bemerkt, dass die Armaturen wie Mond-Armaturen, bonusbitcoin und bitfun sehr viel mehr bezahlen satoshi für die gleiche Menge an Zeit und bonus, je nach Lage. Eine person, die in UNS verdient rund 7 mal mehr als eine person in Indien. Irgendeinen Grund für so einen großen Unterschied?

    +60
    Jacob Irwin 29.06.2017, 19:08:34

    Fragen mit Tag anzeigen