Hash-rate -, Transaktions-und block-Beziehung

Ich bin mir bewusst, dass, wenn der hash-Wert von dem block-header (block-hash) ist unter der Schwierigkeit Ziel, ein block gilt als validiert.

Aber da habe ich nie einen bitcoin-Knoten vor (bald), ich hätte ein paar Fragen bezüglich der mining-Prozess.

1) Wenn die Bergleute laufen die BTC-software, sind Sie durch die Standard-Bestätigung von Transaktionen in den mem-pool auf der Grundlage der höchsten Gebühren, oder sind Sie erlaubt zu entscheiden, welche Transaktionen Sie können überprüfen?

2) Wenn Sie eine höhere hash-rate, bedeutet dies, können Sie überprüfen, Transaktionen schneller als gut?

3) Wenn ein block überprüft wird durchschnittlich alle 10 Minuten, wie durch die BTC-Protokoll, sind die Bergleute auch versucht, zu validieren Transaktionen zu?

4) Wie werden die Transaktionen überprüft?

+603
regiel 18.04.2013, 07:11:53
18 Antworten

Nach meinem Verständnis, die Bergleute mit kleinen Rechenkapazität sind zusammengeführt in einem pool mit dem Vorteil der Reduzierung der Varianz der Belohnungen.

dies tut miner alle verbinden die Rechenleistung, so dass Pow ist schnell berechnet werden??

Aber es wird gesagt, dass die noch in der mining-pool , es wird nur einen miner, wer wird das Rätsel lösen und die Belohnung teilen sich die anderen Bergleute in den pool je nach Freigaben von Ihnen gelöst . Der Bergmann Führer identifizieren diejenigen, die sich aktiv für die Lösung des mit der Bereitstellung des puzzle mit geringer Schwierigkeit und teilen die Belohnung mit Ihnen.

Wenn es nur ein Bergmann schließlich, die das problem löst. Wie ist das miner geholfen, die von anderen miner für die Berechnung? wenn dieser miner nutzt nur die Rechenleistung dann, was ist anders im Bergbau allein?

+999
Igor056 03 февр. '09 в 4:24

Von e90acad12b19d7b9a4760a5af4603a9da06e6231e699072bcb71aced795abd62:

deserialize(str(blockr_fetchtx("e90acad12b19d7b9a4760a5af4603a9da06e6231e699072bcb71aced795abd62")))

{'ins': [{'outpoint': {'hash': 'a5221ad4b031d9487dfb2c334b3d84a3c33d908e5f1089141a72b2f4c98baf55',
 'index': 0},
 'script': '483045022100e684df2de15562b09f267d6ec25a1f8043e0162fb7426e40ee87a1a0b51a4ab8022009069aced5a4a33ac720dbbafad37b36e1
087ea9578b1ec9cd14ea4367debc0f01410466c719272fda4368a44cde914dd210b3dcf1913b700b1fdd2948f6d44acb404c250d172705bd297d9a3fcc4ddb9e
0d3fe2c52b870e31eb035f650921bd68d73c',
 'Sequenz': 4294967295L},
 {'outpoint': {'hash': 'a5221ad4b031d9487dfb2c334b3d84a3c33d908e5f1089141a72b2f4c98baf55',
 "index": 2},
 'script': '483045022008e0edd19548f7098db140d703fd60e00b184c7d4746da57fdb36f5ff573bc080221008203612b6bf02e9e15bde7e412085323e4
d561761ddc2632f5f68a0dc057aebd01410466c719272fda4368a44cde914dd210b3dcf1913b700b1fdd2948f6d44acb404c250d172705bd297d9a3fcc4ddb9e
0d3fe2c52b870e31eb035f650921bd68d73c',
 'Sequenz': 4294967295L}],
 'locktime': 0,
 'outs': [{'Skript': '76a91497734226bd4c9c7764771a077e775e8581e030e988ac',
 'Wert': 50000},
 {'Skript': '6a4c0848656c6c6f526179', 'value': 0},
 {'Skript': '76a91497734226bd4c9c7764771a077e775e8581e030e988ac',
 'Wert': 210477}],
 "version": 1}

{'Skript': '6a4c0848656c6c6f526179', 'value': 0}

Dass OP_RETURN ist Nicht Standard, das ist die Fehlermeldung BCI werfen. Es ist der 4c vorhergehenden 6a , das ist das Problem: wenn eine push-Daten-code ist nicht erforderlich, dann wird der Tx ist nicht standard. Es sollte einfach nur Lesen 6a48656c6c6f526179, oder in der serialisierten Tx, es wäre 096a48656c6c6f526179 statt 0b6a4c0848656c6c6f526179.

+779
user242412 09.11.2012, 08:04:20

Dies ist nicht so sehr ein spork-stellt sich die Frage, wie es ist Konsens in Bezug stehen. Peers synchronisieren können Sie die Blöcke auf der blockchain von einem einzelnen peer, aber andere Parameter (wie sporks) erfordern Konsens von mehreren peers.

Die Einrichtung eines mindestens 3 peer-Knoten und die Verbindung zu diesen wird lassen Sie Konsens erreicht werden und ermöglichen so eine Synchronisierung aller anderen blockchain Parameter.

+752
asoonh 24.10.2018, 02:57:21

Bitcoin-Protokoll unterstützt Skripts.

  • Wie funktionieren Sie?
  • Wie sind diese implementiert?
  • Was sind Ihre beabsichtigten Verwendungen?
  • Wann sind Sie vorgesehen?
+696
CandiedMango 17.04.2019, 01:28:02

Ich habe gelesen, bis über die raw-Transaktionen auf bitcoin.org und es sind zwei Beispiele für Einfache und Komplexe.

Was ich nicht sagen kann, aus dem Informationen zur Verfügung gestellt, wenn es notwendig unterzeichnen Sie die einzelnen Eingänge separat, oder ob man nur Unterschreiben die gesamte tx mit ein.

Also zwei Beispiele:

  1. Eingang 1 kam-Adresse Ein und Eingang 2 kam von der Adresse A.
  2. Eingang 1 kam von der Adresse B und Eingang 2 kam von der Adresse C.

Für Beispiel 1, meine Vermutung ist, dass ich konnte einfach

bitcoin-cli signrawtransaction RAW_TX

aber für Beispiel 2, die ich verwenden würde

 bitcoin-cli signrawtransaction RAW_TX [] ["ADDR_B_PRIVATE_KEY"]
 bitcoin-cli signrawtransaction PARTLY_SIGNED_RAW_TX [] ["$ADDR_B_PRIVATE_KEY"]
+687
BDA82 20.05.2019, 22:01:19

Es gibt keinen mathematischen Weg, um festzustellen, der Wert von Bitcoins (oder Aktien von Unternehmen, Währungen und ähnliches). Es ist der Wert, wie viel die Menschen, die es verwenden, es. Der beste Indikator, was der Preis ist, den Wechselkurs seiner auf verschiedenen Börsen im internet wie BTC-e, mtGox, Bitstamp und viele mehr. Bitcoins können mehr oder weniger Verwandte zu herkömmlichen Währungen, wenn es um den theoretischen hintergrund, Bewertung und mehr, aber die nehmen in Konto Bitcoins sind nicht gesichert, noch verwaltet, von jemand oder etwas. Es ist alles virtuelle. Um auf den Preis zu schauen und vielleicht zu analysieren, können Sie hüpfen über bitcoincharts und werfen Sie einen Blick.

+612
anwarabq 26.10.2018, 11:39:26

Ich versuche zu tun,

sendrawtransaction <transaction_hex>

von nodejs mit bitcoin-core- Paket ich habe

npm installieren bitcoin-core --sparen

ich habe bereits die Letzte bitcoind setup und läuft mit rpcusername und rpcpassword sind in bitcoin.conf

mein Aktueller code sieht wie folgt aus.

const Client = require('bitcoin-core');
const client = new Client({ username: 'adminuser', Passwort : 'adminpassword'});

client.getInfo ((- Fehler, Hilfe) => console.log ("Hilfe"));

ich habe es geschafft, nur als Antwort bekommen von getInfo

alles andere gibt entweder leere Ausgabe oder undefined oder null


so weit ich habe versucht, viele Variationen wie diese

tx_hex = "0200000001949e0e3ac02fef76dffa8e2191ee0041f71a90c5ec9bbcba77db5f57e49fe6dd010000006b483045022100d6ac8520a1cfe80f6f3c2fbe6c3f903894203715928382e77c3c7ad0de74112502203c14601e5195dde88c9cc16c45dc273af168bd4fd03b6c045f832b7ba0134f8c012102183e719a510ff322fcb0dbfa279ef2500dd87c0b8c6184480846262e1949fbebfeffffff028bec0900000000001976a9141b0c5cb82d59cb2e07e8d5e343167fda48a9d60e88ace2920f00000000001976a9148108670170211830be2c3c557afe6bc2205d27de88ac864a0700" 

client.sendRawTransaction((tx_hex,Reaktion) => console.log(response));

client.sendRawTransaction((tx_hex) => console.log());

client.sendRawTransaction((tx_hex), function(){console.log()});

aber keines der oben genannten gibt die Bestätigung, oder gibt richtigen Ausgang.

was vermisse ich hier ?

ich meine wenn ich wurden zu diesem Zweck mit der bitcoin-cli im terminal gibt es txhash .

z.B.

[[email protected] bereitstellen]# bitcoin-cli sendrawtransaction 0200000001949e0e3ac02fef76dffa8e2191ee0041f71a90c5ec9bbcba77db5f57e49fe6dd010000006b483045022100d6ac8520a1cfe80f6f3c2fbe6c3f903894203715928382e77c3c7ad0de74112502203c14601e5195dde88c9cc16c45dc273af168bd4fd03b6c045f832b7ba0134f8c012102183e719a510ff322fcb0dbfa279ef2500dd87c0b8c6184480846262e1949fbebfeffffff028bec0900000000001976a9141b0c5cb82d59cb2e07e8d5e343167fda48a9d60e88ace2920f00000000001976a9148108670170211830be2c3c557afe6bc2205d27de88ac864a0700
b9ceb300bc4a94dad591d8ecca7e840e7cfafa47c029488424e07666c1e1778b

update1 :

tx_hex = "0200000001949e0e3ac02fef76dffa8e2191ee0041f71a90c5ec9bbcba77db5f57e49fe6dd010000006b483045022100d6ac8520a1cfe80f6f3c2fbe6c3f903894203715928382e77c3c7ad0de74112502203c14601e5195dde88c9cc16c45dc273af168bd4fd03b6c045f832b7ba0134f8c012102183e719a510ff322fcb0dbfa279ef2500dd87c0b8c6184480846262e1949fbebfeffffff028bec0900000000001976a9141b0c5cb82d59cb2e07e8d5e343167fda48a9d60e88ace2920f00000000001976a9148108670170211830be2c3c557afe6bc2205d27de88ac864a0700" 

client.sendRawTransaction((tx_hex,Reaktion) => console.log(tx_hex + ':' + Antwort));

gibt

RpcError: -1 sendrawtransaction "hexstring" ( allowhighfees )

Sendet roh-Transaktion (serialisiert, hex-codiert) zum lokalen Knoten und Netzwerk.

Siehe auch createrawtransaction und signrawtransaction Anrufe.

Argumente:
1. "hexstring" (string, notwendig) Der hex-string des raw-Transaktion)
2. allowhighfees (boolean, optional, default=false) Erlauben, hohe Gebühren

Ergebnis:
"hex" (Zeichenfolge), wird Die Transaktion in hex-hash

Beispiele:

Erstellen Sie eine Buchung
> bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
Signieren Sie die Transaktion, und die hex
> bitcoin-cli signrawtransaction "myhex"

Senden Sie die Transaktion (signed hex)
> bitcoin-cli sendrawtransaction "signedhex"

Wie ein json-rpc-Aufruf
> curl --user Benutzername " --data-binary '{"jsonrpc": "1.0", "id":"curltest", "Methode": "sendrawtransaction", "params": ["signedhex"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
:undefined
+520
Kods 07.01.2016, 22:06:30

Es ist eine best-effort-Schätze aus durch blockchain.com, hat das wenig Relevanz, ist nicht besonders genau, und sollte nicht verwendet werden für eine aussagekräftige Analyse. Es hat keinen Einfluss auf die Transaktion, und ist nicht Teil des Bitcoin-Protokolls.

Es ist etwas genauer für sehr einfache Transaktionen, sondern bricht für die größeren, und diejenigen, die nutzen mehr die jüngsten anti-tracking-Methoden wie randomisierte Ausgänge, änderung senden an eine Adresse, die von der gleichen Art wie die andere Adresse, die bezahlt, etc.

+437
Ethereal 09.09.2014, 03:44:33

Ich bin relativ neu in diesem, aber haben technische Fähigkeiten, wie overclocking, etc. Hier ist, was ich arbeite:

AMD A6-3620 APU-w/Rade
Radeon HD 6530D
Treiber: AMD-Catalyst-15.7.1 Win 7 64 bit Home Premium

Auch installiert die empfohlene SDK für AMD.

Habe sowohl die cgminer von Kalrof und der version enthalten in der GUIMiner -Skript herunterladen, und das beste ist, um 42-43 KH/s. Habe versucht, die volle GUIMiner und es war zu instabil, um zu verbinden, die auf meinem system...so scheint es.

War auf der Suche und Auffinden von Personen mit (scheinbar) weniger Grafiken immer über 100, und einige im Bereich von 200 KH/s. Wenn ich in die 80 bis 100 MH/s wäre ich glücklich. So habe ich versucht, alle Ihre Einstellungen, und immer niedrigere zahlen als die, die ich hatte, mit zu beginnen, oder der Treiber stürzt ab...das bringt mich zum zweiten Problem.

Wenn ich die Intensität über 16 den Treiber zum Absturz. Es lädt, aber CGMiner funktioniert nicht mehr und muss neu geladen werden, auch. Dies geschieht auch bei der Verwendung von xintensity über 225...und bei 225 cgminer stürzte nach drei Tagen.

Ich habe schon mit alles was ich denken kann, in der .conf-Datei und durch flags. Jede Hilfe wäre herzlichst willkommen! Ich möchte dies machen, aber wenn it ' s gonna take 3 Monate erhalten Sie ein litecoin, dann kann ich auch gleich zurück zu schreiben... tongue.gif

Auch: Wäre es möglich, sowohl die GPU-und APU gleichzeitig? Ich habe nicht viel gefunden über dieses Thema überall...

Hier ist ein link, um die vollständigen Spezifikationen der Radeon: http://www.pc-specs....on_HD_6530D/489

Hier ist ein Blick auf meine .bat-Datei:

setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
cgminer.exe --scrypt -o stratum+tcp://global.wemineltc.com:3333 -u Benutzer.worker -p Passwort

UND die CONF:

{
"pools" : [
{
"url" : "stratum+tcp://global.wemineltc.com:3333",
"Benutzer" : "Benutzer/worker",
"pass" : ""pwd"
},
{
"url" : "stratum+tcp://global.wemineltc.com:3333",
"Benutzer" : "Benutzer/worker",
"pass" : ""pwd"
}
], 
"xintensity" : "330", (hatte aber auch eine änderung auf 225 wegen der Abstürze nach etwa 30 Minuten.)
"vectors" : "1",
"worksize" : "256",
"lookup-gap" : "0",
"gpu-threads" : "1",
"thread-concurrency" : "0",
"gpu-engine" : "0-0",
"gpu-fan" : "0-85",
"gpu-memclock" : "0",
"gpu-memdiff" : "0",
"gpu-powertune" : "0",
"gpu-vddc" : "0.000",
"temp-cutoff" : "95",
"temp-überhitzen" : "85",
"temp-target" : "75",
"api-mcast-port" : "4028",
"api-port" : "4028",
"expiry" : "120",
"failover-switch-delay" : "60",
"gpu-dyninterval" : "10",
"gpu-platform" : "0",
"log" : "5",
"log-dateformat" : "0",
"no-pool-disable" : true,
"Nein" client-connect" : true,
"queue" : "1",
"scan-time" : "30",
"scrypt" : true,
"temp-Hysterese" : "3",
"Anteile" : "0",
"kernel-path" : "/usr/local/bin"
}

Wieder einmal, vielen DANK für jede Hilfe, die Sie bieten können!

+382
ScottJ 29.07.2013, 04:01:34

Einige interessante Anwendungen der bitcoins beinhalten ein Szenario, wo Sie sind absichtlich "zerstört". Ist es ein open-source-tool, das verwendet werden kann, um bitcoins zerstören?

Und wenn dem so ist, ist es möglich, programmgesteuert überprüfen (über dem gleichen Werkzeug oder einem anderen), dass die bitcoins haben in der Tat zerstört worden?

+281
Fettel Paxton 16.01.2012, 23:23:55

Lösung

Dies funktioniert sehr gut.

Die bitcoins erscheint das nächste mal beginne ich mein wallet-Anwendung. (Lesen Sie tuxcanfly Antwort)

Bitcoins sind nicht tatsächlich von der software (wallet) auf meinem computer, Sie sind an einer öffentlichen ledger, der gemeinsam zwischen allen Geräten auf dem Bitcoin-Netzwerk. (Lesen Sie SPRBRN Kommentar)

Wenn jemand bitcoins gesendet, wenn meine wallet-client-Programm nicht läuft und ich starte es später, wird der download für alle Blöcke und catch-up mit allen Transaktionen, die Sie nicht schon kennen, und die bitcoins wird schließlich erscheinen, als wären Sie gerade in Echtzeit empfangen.

Mein Geldbeutel ist nur erforderlich, wenn ich verbringen wollen bitcoins!

Hilfreiche Ressourcen

+276
David Richards 14.07.2015, 16:37:51

Ich bin momentan dabei, die bitcoin-Adressen für eine wallet-wir bauen. Um sicherzustellen, dass die Adressen sind gültig, ich ging nach ein paar bitcoin-Forscher und berichtet korrekt, dass die Adresse keine Transaktionen noch.

Toll. Aber jetzt habe ich ein paar Adressen aus meinem bestehenden wallets (Brot und Jaxx), die beide mehrere Transaktionen über das vergangene Jahr oder so. Wieder einmal der Entdecker berichtet-diesmal fälschlicherweise -, dass die Adressen haben keine Transaktionen.

Die Entdecker habe ich versucht, mit einem Beispiel-Adresse Transaktionen zugeordnet:

www.blockchain.com/btc/address/1LQs3i94JTJGimr2BiM929Zdhm1ShCatJR 

insight.bitpay.com/address/1LQs3i94JTJGimr2BiM929Zdhm1ShCatJR

Warum kann ich nicht sehen, die Transaktionen für diese Adresse?

+274
Robert Fathauer 08.11.2012, 07:29:20

Sicher.

Die website könnte Ihnen eine zufällige Zeichenfolge, die Sie verwenden würden, um Zeichen eine symbolische Transaktion in die blockchain. Sobald die Transaktion erfolgt ist, kann die website weisen Sie Ihre bitcoin-Adresse mit, dass erste zufällige Zeichenfolge und ermöglichen Ihnen die log in Ihrer Website.

In der Tat könnte es ersetzen Systeme wie OpenID , wo Sie hatte nur eine einzige symbolische Transaktionen, die verschiedene andere Websites zu verstehen, und können Sie einloggen.

+259
Derek Wildstar 19.08.2010, 02:41:30
Der Elliptic Curve Digital Signature Algorithm
+210
Albert Tran 09.01.2011, 12:53:59

Es variieren kann, sowie ein Problem mit der app.

Um zu testen, ob Ihr den-app oder der öffentlichen/privaten Schlüsseln generieren Sie einen qr-code mit einem externen qr-generator wie http://barcode.tec-it.com/en

  • Wenn Sie nicht in der Lage, sweep/scan der neu geschaffenen "paper-wallet" dann seine ein Problem mit der app.

  • Ein weiteres Problem könnte sein, die Mittel noch nicht verifiziert worden sind, durch andere Knoten.

  • Wahrscheinlichkeit vermuten, dass Sie verpasst die eingegebene Adresse oder Schlüssel. (Es passiert mehr als man denkt.)

Überprüfen Sie diese Dinge. sobald Sie sicher sind, dass Ihr nicht diese aktualisieren Sie Ihren Beitrag mit mehr info.

+208
Mechanical illusion 12.06.2018, 05:12:18

Gibt es eine Möglichkeit, werfen Sie eine Adresse aus der Folge von einem HD-wallet?

Können sagen, eine Adresse, die verwendet wurde, für eine politische Spende an ein regime in Namibia, die internationale ächtung ein paar Jahrzehnte in die Zukunft (kann nie sagen, mit politischen Parteien, vielleicht sind Sie nicht erobern Russland im winter und am Ende schreiben der Geschichte Bücher) oder vielleicht jemand, der gespendet, um eine Kampagne gegen zombie-Gleichheit der Rechte ist jetzt dazu verdammt, öffentlich in der unvorhergesehenen Zukunft auch nach der Mehrheit der Bevölkerung gespendet und stimmten auf die gleiche Weise wie

Deshalb will ich nicht, die erscheinen in meinem Geldbeutel, ob ich wieder einen Samen auf ein anderes Gerät oder zukünftige Brieftasche. Aber ich dachte nur, nach der Adresse verwendet wurde. Dies ist in Anbetracht der Möglichkeit, dass in irgendeiner Zukunft, die ich möglicherweise versehentlich-mix-Ausgänge zu anderen Adressen, die für den blockchain-Analyse von Adressen, die ich besitze, oder vielleicht habe ich einfach aus meinem Rechner freigeschaltet irgendwann in der Zukunft, und jemand ist in der Lage, um zu sehen, meine Adressen.

Gibt es eine Möglichkeit, eject dass-Adresse aus dem HD-Sequenz oder vielleicht ist es einfach nur eine GUI Sache, dass software-clients zu tun haben, dort eigene?

+185
bururozu 16.12.2013, 00:42:00

Versuche:(Ändern der IP-192.168.1.147 zu Ihr und versuchen, die gleiche PC-wallet und Bergmann)

cannabiscoin.conf

server=1
listen=1
rpcuser=cannabisuser
rpcpassword=cannabispass
rpcport=39347
rpcallowip=192.168.1.147
addnode=seed.cannabiscoin.net
addnode=seed2.cannabiscoin.net
addnode=seed3.cannabiscoin.net
addnode=seed4.cannabiscoin.net
addnode=seed5.cannabiscoin.net
addnode=seed6.cannabiscoin.net
addnode=106.70.242.145
addnode=108.61.10.90
addnode=115.28.42.60
addnode=136.243.217.171
addnode=137.74.104.135
addnode=144.76.237.39
addnode=148.251.8.18
addnode=162.255.117.105
addnode=171.232.8.87
addnode=178.12.190.117
addnode=178.15.70.226
addnode=188.60.110.76
addnode=192.99.200.144
addnode=194.135.90.175
addnode=198.27.68.86
addnode=205.251.171.136
addnode=207.171.249.66
addnode=209.188.18.52
addnode=213.32.6.132
addnode=213.55.176.213
addnode=27.3.20.109
addnode=40.141.98.2
addnode=45.48.182.104
addnode=65.31.179.140
addnode=78.251.112.84
addnode=85.214.23.49
addnode=88.10.240.5
addnode=89.204.137.211
addnode=93.87.143.138

 

sgminer https://github.com/sgminer-dev/sgminer

sgminer -o http://192.168.1.147:39347 -u cannabisuser -p cannabispass -I 13 -g 2 -w 256 --lookup-gap 2 --shaders 2048


cpuminer https://github.com/tpruvot/cpuminer-multi/releases

cpuminer-gw64-core2 -o http://192.168.1.147:39347 -u cannabisuser -p cannabispass
pause
+121
Kris Feri 27.07.2013, 18:16:47

Für die Berechnung der Schwierigkeit retargeting, die Gleichung:

Neuer Schwierigkeitsgrad = Alte Schwierigkeit * (Actual Time of Last 2015 Blocks / 20160 Minuten)

20,160 Minuten, zwei Wochen, basierend auf einer gewünschten 10-Minuten-block Zeit; daher die 2016 Blöcke.

P. S. ich tatsächlich bedeuten, 2015-Blöcke. Obwohl retargeting selbst passiert alle 2016 Blöcke, die durch einen off-by-one Fehler in der original-Bitcoin-Core-client (my bad ;)) es ist auf der Grundlage der gesamten Zeit des vorherigen 2015 blockiert nur.

+92
cama 14.11.2014, 23:01:17

Fragen mit Tag anzeigen