Falsche getrawtransaction Antwort?

Bitcoin client gibt etwas merkwürdig mit dieser Transaktion (getrawtransaction 90f...fda 1) : es gibt nur eine Ausgabe - Adresse, und sechs Eingangs - Adresse. Doch, der input-Adresse auf eine zweite Ausgabe - Adresse ("vout": 1).

$ bitcoin-cli getrawtransaction 90ff15e5a80593977fb2f6666de2860584d39ebc3a41f65a0a1fdc3a851aefda 1

{
 "hex": "0100[...]000",
 "txid": "90ff15e5a80593977fb2f6666de2860584d39ebc3a41f65a0a1fdc3a851aefda",
 "Größe": 726,
 "version": 1,
 "locktime": 0,
 "vin": [
{
 "txid": "0b086abe2602f870a2d93ed496b0558d5fc349c4504eb0d474cc4ca99b4b1308",
 "vout": 0,
 "scriptSig": {
 "asm": "304502202466ca9b80920af2f518962695dd31e35d5d688729dc17e52cf6d05369bca69b022100edd5e092b81d4b64001f1c437fd6a9fe710bfdbcbb0eb00fa9d66099ed50c671[ALL]",
 "hex": "48304502202466ca9b80920af2f518962695dd31e35d5d688729dc17e52cf6d05369bca69b022100edd5e092b81d4b64001f1c437fd6a9fe710bfdbcbb0eb00fa9d66099ed50c67101"
},
 "sequence": 4294967295
 }, 
{
 "txid": "a32363cff5c5663ee7625ec038d78fedd2060a25782f67d0608b9558dce43963",
 "vout": 0,
 "scriptSig": {
 "asm": "304402202991e2c0a6fedd64b6e2d0caa54b256aa689dcb75d3d92a53bf41b9305e152ab0220710bcc25136cdcfc233f33d5527227642e2bdaec64070847b1c2e44f1c6b17d2[ALL]",
 "hex": "47304402202991e2c0a6fedd64b6e2d0caa54b256aa689dcb75d3d92a53bf41b9305e152ab0220710bcc25136cdcfc233f33d5527227642e2bdaec64070847b1c2e44f1c6b17d201"
},
 "sequence": 4294967295
 }, 
{
 "txid": "e36f06a8dfe44c3d64be2d3fe56c77f91f6a39da4a5ffc086ecb5db9664e8583",
 "vout": 1,
 "scriptSig": {
 "asm": "304402206ff8c7fba70ac27df61abfb249200247c94c206095b486485cbc39752b97b51c02203466533aab833a47fef8600bcd92c54bd45a21d9f386e08188f094870c9aef11[ALL]",
 "hex": "47304402206ff8c7fba70ac27df61abfb249200247c94c206095b486485cbc39752b97b51c02203466533aab833a47fef8600bcd92c54bd45a21d9f386e08188f094870c9aef1101"
},
 "sequence": 4294967295
 }, 
{
 "txid": "3f5d810e62022ae5c3cd46131a2bc64cf92a5a9b3b9ac316a814bb47507616dc",
 "vout": 0,
 "scriptSig": {
 "asm": "3045022100de3dce233f69eae1d003a92213fd233112f80c331265bbe22994deeacf84bdbd02207c331411d3a62089b7c632a5e53c20d5d2e4de72235b60f1a3eb80f0f98c3f5a[ALL]",
 "hex": "483045022100de3dce233f69eae1d003a92213fd233112f80c331265bbe22994deeacf84bdbd02207c331411d3a62089b7c632a5e53c20d5d2e4de72235b60f1a3eb80f0f98c3f5a01"
},
 "sequence": 4294967295
 }, 
{
 "txid": "312eacd1cf17e131b33a3ad35c89a517bbf640a9ae06fdcf7977d06941cb2cae",
 "vout": 0,
 "scriptSig": {
 "asm": "3045022100add2e315ff749421aa5c204fc9d1ac6304b55337471e47b69be6433f9186aa4602202b97f5a29c1fe9b2a1acb5695369217c39d7a94fc3c8ed7cbb4ed4487694317b[ALL]",
 "hex": "483045022100add2e315ff749421aa5c204fc9d1ac6304b55337471e47b69be6433f9186aa4602202b97f5a29c1fe9b2a1acb5695369217c39d7a94fc3c8ed7cbb4ed4487694317b01"
},
 "sequence": 4294967295
 }, 
{
 "txid": "1704b85b190683be893af88515c6f3900aaef4c02067112f1d0d50fb39aa0999",
 "vout": 0,
 "scriptSig": {
 "asm": "3045022100bd60476ed58cf35ff5f8cd6157b18be18844dfbbb6cca265bcb0bd57a8f9818a0220296f5cb8757e0d1dafe8cd8e8ee0a330fe6b717227132fc13ed4508cdb3cd8bd[ALL]",
 "hex": "483045022100bd60476ed58cf35ff5f8cd6157b18be18844dfbbb6cca265bcb0bd57a8f9818a0220296f5cb8757e0d1dafe8cd8e8ee0a330fe6b717227132fc13ed4508cdb3cd8bd01"
},
 "sequence": 4294967295
}
],
 "vout": [
{
 "value": 275.00000000,
 "n": 0,
 "scriptPubKey": {
 "asm": "OP_DUP OP_HASH160 12ab8dc588ca9d5787dde7eb29569da63c3a238c OP_EQUALVERIFY OP_CHECKSIG",
 "hex": "76a91412ab8dc588ca9d5787dde7eb29569da63c3a238c88ac",
 "reqSigs": 1,
 "type": "pubkeyhash",
 "Adressen": [
"12higDjoCCNXSA95xZMWUdPvXNmkAduhwv"
]
}
}
],
 "blockhash": "000000008c526b4821b66aa55980dd0c5c40a710fc45b11e4e2509c207cbc64f",
 "Bestätigungen": 388004,
 "Zeit": 1232392372,
 "blocktime": 1232392372
}

Darüber hinaus blockchain.info scheint nicht betroffen -, dass...

Was kann erklären, wie eine solche comportement ?

+369
neocrex 23.02.2019, 09:46:43
17 Antworten

Lassen Sie mich erklären, die balance Berechnung in Bezug auf die Umsetzung.

Gleichgewicht ist nichts anderes als die Summe aller Ausgaben beträgt, wird dieser Benutzer hat sich mittlerweile so weit(von Anfang der Kette). Und um diesen Wert zu berechnen, müssen wir die Iteration über alle Transaktionen-Ausgänge-Objekte gehören diesem Nutzer und fügen Sie Sie alle. Dies bedeutet einfach, dass alle Beträge, die diesem bestimmten Benutzer so weit gebracht.

Aber bei der Berechnung der balance haben wir auch im Hinterkopf behalten, dass der Benutzer damit verbracht haben, etwas Geld oder nicht. Wenn er das hat dann haben wir nur hinzufügen, bis die Ausgänge, die er bekam nach seinem neuesten verbrachte Transaktion.

So dies sind die Schritte zum berechnen der balance:

  • Holen Sie alle Transaktionen, von block, von block 0 durch die Iteration über die Blockchain.
  • Holen Sie sich den Zeitstempel und die Menge an, die Zeitstempel seiner neuesten verbrachte Transaktionen.
    • Um die Letzte ausgegeben, tx, bringen Sie zunächst alle Buchungen, die erstellt wurden, indem Sie diese Brieftasche ich.e txs, deren Eingänge ist seinen öffentlichen Schlüssel.
    • Nun erhalten Sie die neuesten tx von ihm getan.
    • Holen Sie sich die Zeitstempel, die neueste tx.
    • Zeichnen Sie auch die balance im Zeit Punkt der Zeit.
  • Holen Sie sich alle Ausgänge an seine Adresse nach diesem Zeitstempel und fügen Sie Sie alle zusammen mit den aufgezeichneten Gleichgewicht zu bekommen das ganze Gleichgewicht.
+999
Bilal Jailani 03 февр. '09 в 4:24

gesendet von exchange Brieftasche vor 2 Tagen immer noch nicht bestätigt ? https://blockchain.info/tx-index/277169110

+916
Chadzilla 30.11.2018, 16:10:20

Ich glaube, dass Arturo ' s Antwort ist korrekt, in einem strengen Sinne. Sie fragte, ob es möglich ist, und das Ziel ist "ASIC-resistent", von dem du meinst, dass es nicht optimiert werden kann, durch die Entwicklung eines ASIC. Jeder Algorithmus ist, durch seine Natur, geeignet kodiert werden, in einem ASIC. Gut, jeder programmierbaren Algorithmus, und das schließt alle möglichen hash-Ketten.

Allerdings gibt es Wettbewerbe für die Schaffung von neuen hash-algorithmen. Die Ergebnisse dieser Wettbewerbe, einmal bekannt, können integriert werden in ASICs, aber das braucht Zeit. Während der Zeit, die es dauert, die Wettkämpfe fortzusetzen. Wenn die Ergebnisse solcher Wettbewerbe wurden regelmäßig Hinzugefügt, um die Liste der möglichen hash-Funktionen,, dann die ASIC-Entwicklung wohl nicht mehr geeignet, da der Algorithmus nicht im Voraus bekannt für eine lange genug Zeitraum zu entwickeln, der ASIC.

Ich sehr viel wie die Idee, die Sie präsentiert, aber es braucht eine Verfeinerung, um wirksam zu sein bei der Dezentralisierung der Bergbau. Dies ist unter der Annahme, dass der statische Charakter des PoW ist ein wesentlicher Faktor für die Zentralisierung des mining. Ich glaube, es ist.

In der Tat, wir brauchen noch nicht einmal ein hash-Kette. Wenn die hash-Wettbewerbe waren Häufig genug, die PoW könnte einfach die neuesten Gewinner. Wie schnell kann ein ASIC entwickelt werden? Das ist, wie oft der Wettbewerb für die Schaffung eines neuen hash-würde laufen müssen. Ich vermute, dass zumindest einige Schwierigkeit ändert.

+768
user2814433 10.12.2017, 13:31:06

Ich fand die Antwort:

[7] Sie Fragen sich vielleicht, warum ein Bergmann nicht schummeln. Wenn Sie erfolgreich mir einen block haben, warum nicht senden Sie es selbst, so dass Sie Anspruch auf den vollen mining-Belohnung, anstatt der Aufteilung? Der Hauptgrund ist die coinbase-Transaktion hat die pool-Adresse, nicht die miner ' s Adresse. Wenn der Bergmann legt den block unter Umgehung der pool, der Lohn geht immer noch um den pool. Und wenn der Bergmann die Adresse ändert, wird der hash nicht mehr gültig. - righto.com

+768
peterRepeater 19.10.2014, 19:05:55

Ich Suche für eine verlässliche Antwort für mich, aber es scheint die Antwort auf die erste Frage ist:

Auf der Konto-Erstellung (und wenn Sie sich anmelden), können Sie festlegen der "Fetch Brieftasche aus" - option, um eine "Payward", "Payward und Lokalen Browser" oder "Local Browser".

Quelle

+680
mkhudon 05.10.2016, 05:51:10

Von dem, was ich verstehe, ändern die Adressen werden automatisch generiert, wenn Sie sendtoaddress aber was ich nicht verstehe, ist, warum diese Adressen ändern sich nicht automatisch im Zusammenhang mit der senden-Konto. Was ist der Grund dafür?

+663
Oli Dale 25.06.2015, 02:43:01

Ich weiß, wie mining funktioniert und wie Transaktionen Hinzugefügt werden, um die blockchain. Was ich nicht verstehe, ist die Assoziation zwischen den beiden...wenn überhaupt.

Ich habe gelesen, ein paar mal zu, wie ein kryptogeld Transaktion Hinzugefügt wird, um die blockchain durch Konsens. Dies bedeutet oft, PoW. Dann wird erwähnt, dass Bergleute führen PoW und der Transaktionen gelöscht werden. Wie?

Miner mine für Münzen richtig? Was hat Bergbau zu tun haben mit der überprüfung unabhängigen Transaktionen?

Zumindest für bitcoin, ist es sogar möglich, für die Bergleute zu halten mit all den Transaktionen?

+625
CodeMonkey1313 14.04.2016, 17:08:39

Ich bin versucht zu bauen, die sichere Transaktions-Bestätigung per app und synchronisieren müssen neue nicht-verarbeiteten Transaktionen.

Zum Beispiel habe ich in der monitor-Adresse Ein und verarbeitet haben Letzte Transaktion B, wie kann ich Fragen blockchain "gib mir alle neuen Transaktionen für die Adresse Ein, die aufgetreten sind, nachdem die Transaktion B",

oder der einzige Weg ist hier zu verwenden

/Adresse/[***]?format=json

url mit offset und limit - Optionen ? Dank

+619
wchargin 25.06.2016, 08:31:01

Muss ein block enthält ein coinbase-Transaktion? Wenn ja, wie wird dies durchgesetzt?

+528
MisterMike 07.12.2018, 11:58:20

Ich dachte, dass dies den alten Tagen, wenn es ewig gedauert hat für die bitcoin-core zu erwerben, die bootstrap-aber wie es aussieht ist es immer noch der Fall ist. Ich im Grunde lief das Programm für 2 Stunden und ich bin immer noch unter 10h. Irgendeine Idee, wie das problem zu beheben oder herunterladen der blk-Dateien an anderer Stelle ? Warum kann ich nicht finden, die äquivalent zu der bootstrap als torrent ?

+472
Penelope007 02.02.2013, 10:46:16

Es wurde beschlossen, den Schöpfer des Bitcoin, die anonyme Satoshi Nakamoto.Mehr wissen können Sie sehen Bitcoin das Ende des Geldes wie wir es kennen.

+310
havier 27.03.2016, 00:00:45

Volle Knoten dienen mehrere Funktionen im Netzwerk:

  1. Die Validierung der blockchain im Auftrag Ihrer Besitzer
  2. Versorgung der früheren Blöcke und Transaktionen zu anderen Knoten
  3. Die Weiterleitung von Transaktionen und Blöcke zu anderen Knoten

Nicht durch die Validierung der blockchain unabhängig, diese Funktionen sind alle sacraficed zu einem gewissen Grad.

  1. Wenn der Knoten nicht unabhängig überprüfen der blockchain, der Inhaber der full-node ist noch immer angewiesen auf das Vertrauen in den peer-Knoten
  2. Wenn der Knoten speichert keine früheren Transaktionen und Blöcke, Sie können nicht liefern Sie an andere Knoten, die fangen mit dem Netz
  3. Wenn der Knoten noch nicht validiert, die blockchain, es könnten ausgetrickst werden, dass die Weiterleitung ungültige Transaktionen und Blöcken.

Ja, ein Knoten überspringen können, den wichtigen Schritt der Download und das überprüfen der blockchain, aber ich glaube nicht, ich würde denken, dass es ein "full node" nicht mehr. Es würde nicht helfen, das gesamte Netzwerk Gesundheit, noch könnte es sein, absolut vertrauenswürdig, von seinem Besitzer. An diesem Punkt würde ich vorschlagen, einfach das ausführen einer SPV-Knoten.

+296
420Nme 06.06.2012, 13:09:53

In den Quellcode PPCoin/SRC/MAIN.CPP line 1433 habe ich gelesen: Gebühren zerstört werden, sind zum Ersatz des gesamten Netzwerks.

Ich will es ausschalten, dass die Gebühren zerstört werden, wenn ich mit diesem code funktioniert es?

// ppcoin: Gebühren werden nicht erhoben von den Bergleuten als in bitcoin
// ppcoin: die Gebühren sind zerstört zu kompensieren, das gesamte Netzwerk
wenn (fDebug && GetBoolArg("-printcreation"))
 printf("ConnectBlock() : zerstören=%s nFees=%"PRI64d"\n", FormatMoney(nFees).c_str(), nFees);

Wenn ich das ändern zerstören=%s zu vernichten=%$$$, wird es stoppen Sie zerstören Gebühren?

+287
ayan khan 09.10.2016, 02:33:38

Ich bin auf der Suche, eine Möglichkeit für die sichere Installation von web-site akzeptiert bitcoin Zahlungen. Idealerweise würde ich gerne erstellen wallet off-site und in der Lage sein, zum bereitstellen von bitcoin core online mit public-key nur, dass ich glaube, dass sollte genug sein, um neue Adressen generieren, und beobachten Sie für eingehende Zahlungen

+259
kulema6452 29.01.2018, 22:16:05
  1. Die aktuelle maximale Größe eines Blocks ist 1 MB. Aktuelle block-Größen sind etwa die Hälfte, so dass die absolute Worst-case-Szenario ist, dass die block-Kette wächst in der Größe doppelt so schnell, wie Sie es jetzt tut. Das ist nicht besonders beängstigend.

  2. Es ist einfach zu erstellen, mehr als 1 MB an Transaktionen alle 10 Minuten. Wenn jemand nicht, dass einige Transaktionen können nicht eingebunden werden in Blöcken. Jedoch, derzeit gibt es fast immer mehr Transaktionen zur Verfügung, als die Bergleute bereit sind, gehören in den Blöcken, so sind wir bereits an dem Punkt, wo die Bergleute müssen Sie wählen, welche Transaktionen enthalten.

    Für die meisten Teil, Bergleute wählen Sie auf der Grundlage Gebühr pro Kb von Bewegungsdaten, also von Transaktionen, die mehr bezahlen, Gebühr/kB enthalten in Blöcken früher. Wenn jemand wollte, Sie konnte erstellen von großen Transaktionen, die bezahlt große Gebühren zu erhöhen, um die Transaktionsgebühr der rest von uns brauchen, um zu bezahlen. Da, die Kosten würden die Angreifer Geld jeden block, ohne eigentlich hindert uns daran, uns mit dem system (wenn wir bereit waren zu zahlen, die höhere Gebühren), es ist auch nicht besonders beängstigend.

+187
ayaenn 08.01.2011, 23:58:04

Wenn einige große Anzahl von den mining-pools begann die Veröffentlichung, welche Vorgänge Sie planen, einschließlich der Gefahr der Annahme einer null Bestätigung Transaktion deutlich reduziert werden.

Gab es keinen Gedanken mehr an das, was ich Lesen konnte, bis auf?

+120
pomraj k 02.05.2016, 11:55:53

Ich Schreibe ein BitcoinJ-port für .NET (C#, Visual Basic, etc.), aber da mache ich es auf meine freie Zeit, es ist bei weitem nicht vollständig.

Andere Weise zu verwenden BitcoinJ in .NET ist durch IKVM (was ich nicht verwenden aufgrund von einigen Einschränkungen).

Ich weiß nicht, über andere Sprachen, aber ich hoffe, das ist hilfreich.

+22
Hevski 18.06.2010, 18:12:12

Fragen mit Tag anzeigen