Kann keine Verbindung zum bitcoin-qt-server

 # server=1 sagt Bitcoin-QT zu akzeptieren JSON-RPC-Befehle.
server=1

 # Sie müssen rpcuser und rpcpassword zur Sicherung der JSON-RPC api
rpcuser=bhhtufhrt
rpcpassword=ferhrhh

im Versuch, eine Verbindung zu meinem bitcoin das ist meine conf-Datei, aber ich kann nicht verbinden

http://127.0.0.1:8832/

im Laufenden auf meiner lokalen Maschine

+310
Alexandre Malki 31.05.2015, 15:41:51
28 Antworten

Ich arbeite mit BitcoinLib Erprobung verschiedener Parameter auf die signrawtransaction rpc-Aufruf.

Es war meist erfolgreich, aber es scheint eine anhaltende problem bei der Verwendung von nur private Schlüssel zum signieren einer Transaktion. (zweite, optionale argument von signrawtransaction nennen). Der server antwortet falsch und gibt den gescheiterten hex. Ich habe getestet gleiche Transaktion auf die qt-Konsole mit dem gleichen Schlüssel, und es gibt wahre.

Der wrapper setzt ein SignRawTransactionRequest - Klasse mit den vier Argumenten der rpc-Aufruf.

öffentliche SignRawTransactionRequest(String rawTransactionHex)
{
 RawTransactionHex = rawTransactionHex;
 Inputs = new List<SignRawTransactionInput>();
 PrivateKeys = new List<String>();
 SigHashType = SignRawTransaction.SigHashType.Alle;
}

Es ermöglicht die 'Eingänge' und 'privatekeys', null sein, nach der signrawtransaction syntax, während in 'sighashtype=all', sofern nicht ausdrücklich etwas anderes angegeben ist.

Die Umsetzung beinhaltet auch eine SignRawTransactionInput Klasse entspricht dem ersten optionalen argument von der rpc-Aufruf. ([{"txid":txid,"vout":n, "scriptPubKey":hex "redeemScript":hex } ,...])

public class SignRawTransactionInput
{
 [JsonProperty(PropertyName = "txid", Order = 0)]
 public String Transaktions-id { get; set; }

 [JsonProperty(PropertyName = "vout", Order = 1)]
 public Int32 Ausgabe { get; set; }

 [JsonProperty(PropertyName = "scriptPubKey", Um = 2)]
 public String ScriptPubKey { get; set; }

 [JsonProperty(PropertyName = "redeemScript", Ordnung = 3)]
 public String RedeemScript { get; set; }
}

Die Anfrage, wenn zugeführt, um die wrapper-Methode RpcServer.SignRawTransaction und gibt einen SignRawTransactionResponse mit dem Ergebnis und die hex, wie vom server zurückgegeben.

public class SignRawTransactionResponse
{
 public String Hex { get; set; }
 public Boolean Complete { get; set; }
}

So weit, Autogrammstunden mit nur die hex (keine weiteren Argumente), Eingänge, verschiedene sighashtypes und verschiedene Kombinationen von diesen wurden erfolgreich. Der server schickt die Antwort WAHR ist, und gibt den hex-von der signierten Transaktion wenn man es mit einfachen hex

enter image description here server reply

oder wenn man mit einigen Argumenten

enter image description here

enter image description here

Jedoch, es gibt false zurück, wenn das zweite, optionale argument(Liste der privaten Schlüssel) verwendet wird. Es wurde getestet mit einem, alle, und verschiedene Kombinationen der verfügbaren privaten Schlüssel der Brieftasche.

enter image description here enter image description here

Ich vermute, es könnte ein JSON-Fehler, die Hülle ist nicht zu konstruieren, dass ein Teil des JSON richtig, jedoch führt in der Regel zu einem parsing-Fehler und nicht der falschen Antwort, die ich hier erhalten.

Die gleichen Kombinationen return true , wenn signrawtransaction ist der Aufruf aus der Konsole.

enter image description here

Irgendwelche Ideen auf, was falsch sein könnte mit dem privaten Schlüssel-argument?

+982
JKHA 03 февр. '09 в 4:24

Ich habe versucht, zu aktualisieren, clightning auf die neue version 0.7 von

  1. docker-verfassen stoppen
  2. docker-verfassen rm clightning_bitcoin
  3. docker-Komponieren bis

Allerdings ist es immer noch version 0.63 Wo kann ich einstellen, dass es ein Upgrade auf 0.7?

Würde diese änderung im Andockfenster-Komponieren.yml korrekt sein?

clightning_bitcoin:
 Bild: elementsproject/lightningd

zu

clightning_bitcoin:
 Bild: elementsproject/lightningd:neueste
+963
Crazy Unborn 03.03.2017, 17:21:39

EDIT: basierend auf OPs-Antrag ich stellen Beispiele hier:

es gibt viele Beispiele für unterschiedliche tx-Typen auf bitcoin.org in der developer-Beispiele. Im Grunde benötigen Sie drei Schritte. Vorausgesetzt, Sie sind auf OpenBSD/MacOS/Linux, können Sie diesen Weg gehen:

1.) createrawtransaction - das ist, was Sie bereits haben, und es sieht ok. Ich weiß nicht, ob die Vorherige tx-ID oder v_out ist richtig, vorausgesetzt, Sie wissen, die details, die Ihren Text in Ordnung ist (andernfalls prüfen Sie mit "bitcoin-cli -regtest listunspent", und nehmen Sie TX_ID und V_OUT entsprechend). Ich auch davon ausgehen, dass die Adresse ist eine, die man in Ihrer Brieftasche. Sonst könnte man erstellen Sie einfach eine Adresse, und gehen Sie danach wie diese:

UTXO_TXID=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303
UTXO_VOUT=1
NEW_ADDRESS=n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakimv
bitcoin-cli -regtest createrawtransaction "'
[
{
 "txid": "'$UTXO_TXID'",
 "vout": '$UTXO_VOUT'
}
]
 "' "'
{
 "'$NEW_ADDRESS'": 1
}"'

Sie diese zurückgegeben hex-string in eine andere variable:

RAW_TX=01000...

2.) signrawtransaction - der bisherige Befehl gibt einen hex-string, die Sie zum signieren der Transaktion - wieder, siehe die Dokumentation. Ersten ich feststellen, ob mein erstellt tx, und dann melden:

bitcoin-cli -regtest decoderawtransaction $RAW_TX
bitcoin-cli -regtest signrawtransaction $RAW_TX

wieder weisen Sie das Ergebnis einer Variablen zu:

SIGNED_RAW_TX=01000...

3.) sendrawtransaction - wieder nehmen Sie die hexstring des vorherigen Befehls als parameter und/oder in der Dokumentation.

bitcoin-cli -regtest sendrawtransaction $SIGNED_RAW_TX

und vielleicht eine überprüfung Schritt 4:

bitcoin-cli -regtest generieren 1

dies erzeugt einen block, und Sie können sehen, auf die $NEW_ADDRESS, wenn die Fonds übertragen wurde.

Ich habe gerade betraten die beiden Stichworte hier in die Suche, und fand auch viele Antworten.

+914
Zeeshan Saleem 16.03.2014, 05:29:02

Etwas, was man erklären muss ist, dass müssen Sie festlegen, wie die Knoten können dem Netzwerk beitreten. Wenn es keine Barriere, jemand schaffen könnte, genug Knoten Mehrheit zu werden dann doppelt ausgeben.

Eine andere Sache ist, dass Sie beschrieben ein clearing-Verfahren, aber nicht zu einer Erteilung Mechanismus. Wie funktioniert Geld geben das system am Anfang und ganz?

+852
Yousuf Qureshi 15.02.2014, 22:40:11

in Ergänzung zu @David Antwort Lesen Sie mehr über Irreversible Transaktionen


Zum Beispiel, wenn der Angreifer steuert 10% der Netzwerk-hashrate aber der Kaufmann wartet auf 6 Bestätigungen, die Erfolgswahrscheinlichkeit ist auf die Bestellung von 0,1%[3]. Da die Opportunitätskosten dieser Angriff, es ist nur die Spiel-Theorie möglich, wenn die bitcoin-Menge gehandelt wird vergleichbar mit dem block-reward (aber beachten Sie, dass ein Angriff auf miner kann versuchen Sie, einen brute-force-Angriff gegen mehrere Kontrahenten auf einmal).

+792
mabraham 24.04.2017, 18:21:42

Ich bitcoind laufen 0.8.3 auf einem VPS. Im Mai und Juni, die VPS, die zwischen 250 und 300 GB Bandbreite pro Monat. Die meisten, die (~98%) wurde eingehenden Datenverkehr.

Ich bin mir nicht sicher, ob der gesamte Datenverkehr wird durch bitcoind. Natürlich liefen wir updates auf dem server. Aber es ist nur für bitcoind. Keine andere Webdienste aktiv sind.

+755
leota 17.09.2019, 10:56:28

Ich würde gehen http://www.coinbase.com und richten Sie ein Konto dort,

dann versuchen Sie die übertragung zu tun, die aus Ihrer ursprünglichen Adresse in es.

Wenn es funktioniert, dann wird es sicher zunächst.

Und wenn es funktioniert, dann wissen Sie, es ist Ihr Kerngeschäft, das ist das problem.

Sie können immer übertragen von Coinbase später, wenn Sie denken, Sie haben es aussortiert und korrekt eingerichtet.

+731
Inquisitive Lurker 26.03.2017, 23:54:37

Ich fand, dass ein Teil der wiki frustrierend, und ich bearbeitete es. Würde ich mich über Korrekturen. Hier ist, was ich schrieb:

Zehn Minuten war gezielt ausgewählt von Satoshi als eine Abwägung zwischen der ersten Bestätigung der Zeit und der Menge an Arbeit verschwendet, die an die Kette teilt. Nachdem ein block abgebaut wird, dauert es Zeit für die anderen Bergleute zu erfahren, und bis Sie dann tatsächlich im Wettbewerb gegen den neuen block, anstatt das hinzufügen, um es. Wenn jemand die Minen der andere neue block auf der Grundlage der alten block-Kette, die Netzwerk-nur akzeptieren können, wenn einer von den beiden, und all die Arbeit, die ging in einen anderen block verschwendet. Zum Beispiel, wenn es dauert, Bergleute 1 minute im Durchschnitt zu lernen, über neue Blöcke und neue Blöcke kommen alle 10 Minuten, dann das gesamte Netzwerk ist, womit etwa 10% der Arbeit. Eine Verlängerung der Zeit zwischen den Blöcken reduziert diese Abfälle.

Als ein Gedankenexperiment, was wäre, wenn das Bitcoin-Netzwerk wuchs zu umfassen Mars? Aus den entferntesten Punkte in Ihre Bahnen, es dauert etwa 20 Minuten für ein signal, um die Reise von der Erde zum Mars. Mit nur 10 Minuten zwischen den neuen Blöcken, Bergarbeiter auf dem Mars würde immer 2 Blöcke hinter die Bergleute auf der Erde. Es wäre fast unmöglich für Sie zu tragen, um die block-Kette. Wenn wir wollten, gemeinsam mit jenen Arten von Verzögerungen, wir müssten mindestens ein paar Stunden zwischen den neuen Blöcken.

+618
lldabc 22.08.2012, 15:15:04

Ich habe die 32-Byte double-hash einer Transaktion, einen 32-bytes der private Schlüssel, und ich würde gerne zum signieren der hash mit dem privaten Schlüssel.

Wie mache ich das mit BouncyCastle (oder so was), die in C# oder Java? Kann jemand mir ein code-Beispiel?

+589
Nupur Sharma 06.09.2017, 06:34:38

Der Ort an dem ich arbeite ist riesig und der Energieverbrauch ist nicht ein problem. Da verbrachte ich 8 Stunden meines Tages, ich dachte, ich Baue eine crypto-mining-hardware, um es mit mir auf und lassen Sie es mir.

Ich will nicht, es dabei zu belassen, also muss ich es in einer Größe, dass ich es jeden Tag mit mir.

Rauschen ist kein großes problem, da die Zimmer habe ich schon ein paar Rechner, die sind laut genug.

Über das budget. Ich dachte etwas weniger als 700-1k$

Gewinn?: Ich interessiere mich nicht, um ehrlich zu sein. Wenn ich zurück die Investitionen zumindest, schön wäre es. Siehe es als hobby mit einigen kleinen Gewinn.

Ich will zum Experimentieren mit verschiedenen altcoins und ändern Sie es von Zeit zu Zeit, basierend auf die Schwierigkeit des Netzwerks.

Haben Sie etwas zu empfehlen?

+570
Chkusi 04.12.2013, 04:04:25

Ich habe auf der Suche in den Bergbau vor kurzem und ich merke, dass ich bin ein bisschen spät, um die Blase bu würde gerne noch investieren in den Aufbau meines eigenen rig und starten Bergbau Altcoins wie der ETH und Zcash. Nun zu der Wahl des build zu gehen, ich kam zu dem Schluss, dass die mehr gpu 's setzen Sie in der gleichen Hauptplatine system besser, da wäre es nicht kostengünstiger als die Gpu' s sind der Teil, der wohl die meiste Arbeit gemacht. So theoretisch zu schneiden, sogar mit dem ursprünglichen Investition Die mehr gpu ' s auf der gleichen Maschine, desto besser... Aber dann wäre das eine gute Idee, so weit zu gehen, wie der neueste 19-gpu-motherboards, um kosteneffizient sein ? oder mit einem 7-Gpu-motherboard oder einfach legen Sie 2 gpu ' s ohne Setzstufen direkt auf dem motherboard? Meine Frage ist einfach, welche Variante wäre die optimalste bedenkt, Wartungs-und mögliche Probleme, die Bergleute, die dies bereits getan haben, hätte jede Hexe ein. Vor-und Nachteile. Vielen Dank im Voraus !

+546
tarnfeld 01.03.2013, 03:04:03

Sie haben, führen Sie den BFGMiner auf der lokalen Maschine starten, als Stratum-proxy lauscht auf port 3333 adn zeigen Sie dann Ihre AntMiner zu.

Führen Sie BFGminer auf dem gleichen computer wie Bitcoin Core mit der folgenden eine Konfiguration, die es brauchen keine weiteren Einstellungen verändert oder konfiguriert (es wird die RPC-Passwort automatisch beim Start).

bfgminer --Schicht-port=3333

BFGminer starten, und ruft die erforderlichen Informationen für den solo-mining.

Jetzt mit coinbase-Adresse 1PkNBPBGEmvoMFbwRT5ky3XXVNstJnJ4c1, zur Verfügung gestellt von pool 0 Netzwerk-Schwierigkeit verändert zu 49,4 G (353.6 P) Pool 0 http://localhost:8332/#getcbaddr#allblockslebendig Long-polling aktiviert http://localhost:8332/#getcbaddr#allblocks(getblocktemplate) Hinzugefügte lokale bitcoin RPC-server auf port 8332 als pool 0 Sondierung für ein alive-pool Pool 0 http://localhost:8332/#getcbaddr#allblocks lebendig

Sie sind jetzt bereit für solo-mine gegen Bitcoin-Core Sie müssen nur zeigen Sie Ihre antminer die IP-Adresse des Computers mit BFGminer, und die miner sollten zeigen, bis in den oberen Abschnitt der BFGminer mit seiner hashrate zeigen, wie "PXY" (stratum proxy). Alle Blöcke werden ausgezahlt, um die coinbase-Adresse unter BFGminer, die eine neue generiert aus der Brieftasche.

+492
sashaDym 14.08.2013, 11:29:37

TL;DR Sie müssen angeben --final_cltv_delta=144 - option in die lncli queryroutes Befehl.

Längere Antwort..., Wenn die Zahlung weitergeleitet wird, durch Blitzschlag Netzwerk, jeder Zwischenknoten hat eine potentielle Fähigkeit zu stehlen, die die Mittel übertragen. Um dies zu verhindern, intermediate-Knoten nicht bewegen kann das Geld sofort, sondern erst nach einer gewissen Zeit. Und innerhalb dieser Frist die Mittel können zurückgefordert werden, die von einem berechtigten Besitzer.

final_cltv_delta option legt fest, dieser Zeitraum (gemessen in der Anzahl von Blöcken) für den letzten Knoten in der Kette von Hopfen. Bei der Abfrage von Routen, default-Wert ist klein (ich glaube es war 9 irgendwann). Aber dieser Wert wird nicht akzeptiert von den meisten lnd Knoten, die diese benötigen einen längeren Zeitraum von 144 standardmäßig.

+455
damaratskiy 07.11.2019, 23:19:19

Kurze Antwort: Arithmetik auf großen zahlen verursachen, dass das script fehlschlägt.

Lange Antwort:

Skript Arithmetik ist begrenzt auf 32-bit-Arithmetik.

Sie können den code für arithmetische Operationen in script.cppin der Funktion EvalScript, wo die opcodes sind bewertet mit CScriptNum in [Skript.h](https://github.com/bitcoin/bitcoin/blob/master/src/script.h].

Das numerische limit durchgesetzt wird-durch die ständige nMaxNumSize.

Die CScriptNum Konstruktor zeigt, dass die zahlen die größer sind als 32 bits, die eine exception werfen, was zum Ausfall des Skripts.

+288
NETRON 01.11.2019, 18:06:08

Ich bin neu in der bit-Münze und kann mir jemand eine website, e-Bücher oder etwas zu lernen, von den grundlegenden Schritt? Ich bin dankbar für jede Antwort.

+288
CP Wirth 25.02.2013, 00:07:23

Ich bin auf der Suche in den Daten und der Quelle der bitcore-Knoten ( http://bitcore.io/ ), ich bin ein wenig verwirrt bin, wie all die Informationen in der Datenbank gespeichert ist, wird es wahrscheinlich in einer ähnlichen Weise zu anderen block-explorers, so dass vielleicht jemand mir helfen könnte.

In diesem Fall zum Beispiel https://blockchain.info/tx/acb2e895a9b3664cfcfb13dd0321ef0c1205cf2aa082681dc6ba424af6456a42

In der Datenbank fand ich zwei txo - txo-acb2e895a9b3664cfcfb13dd0321ef0c1205cf2aa082681dc6ba424af6456a42-0

{"prevTxId":"8697331c3124c8a4cf2f43afb5732374ea13769e42f10aa3a98148a08989af5e","outputIndex":1,"sequenceNumber":4294967295,"script":"4730440220106c316c22d4bf8c970f8e4b1af1edd95121397cfe29ab987cb000b478ec8e4302202b77986b89d77ab716da3cf53424efacf35e9097b1c89194df220e99503b8cae01","scriptString":"71 0x30440220106c316c22d4bf8c970f8e4b1af1edd95121397cfe29ab987cb000b478ec8e4302202b77986b89d77ab716da3cf53424efacf35e9097b1c89194df220e99503b8cae01","heightConfirmed":37514}

txo-acb2e895a9b3664cfcfb13dd0321ef0c1205cf2aa082681dc6ba424af6456a42-1

{"satoshis":10100000000,"script":"76a91427d25a1ff9a6da31eeb991c48bb6cd95191a6b2c88ac"}

Deutlich unterschiedliche Daten, nicht sicher, warum in einem Fall speichern wir die von früheren txid und in der anderen nur die satoshis gesendet. Es muss offensichtlich sein, aber nicht sicher, was ich hier vermisst.

Ein weiteres Beispiel https://blockchain.info/tx/00eff263871e6d44abed66d90abb10d5a211441668511dba3146e380360efe4b

txo-00eff263871e6d44abed66d90abb10d5a211441668511dba3146e380360efe4b-0 (von 0 auf 5 haben alle ähnliche Daten)

{"prevTxId":"6aebb4a764a027436f703ca9d42d0735423798f56973f9f236832a91fc2e9026","outputIndex":0,"sequenceNumber":4294967295,"script":"473044022057801e812f964bcb9e8ff17b37acef55afbb7119a66f24a148ba65e86a7aa1e3022064af657d280068b979ea17a29969976aedee8a664b3f1b575ebb88ef9275302601","scriptString":"71 0x3044022057801e812f964bcb9e8ff17b37acef55afbb7119a66f24a148ba65e86a7aa1e3022064af657d280068b979ea17a29969976aedee8a664b3f1b575ebb88ef9275302601","heightConfirmed":10712}

Auch,... Sie sind Eingänge, keine Ausgänge der Transaktion.

Ich versuche, den code zu Lesen, aber ich kann nicht verstehen, all die Stücke.

Als jemand, der Punkte die mich bei reddit, wie es aussieht ist es mit txo-zu speichern, Ausgänge und Eingänge. Also ich bin mir nicht sicher, wie Sie Sie bitcore verwaltet, um die ein - /Ausgänge separat später (die API ermöglicht Ihnen nur auf Anfrage die Eingaben für Beispiel).

+275
Wajih 07.06.2014, 19:20:15

Dieses ist zum Beispiel callback-Bestätigungs-code in Ruby (https://developers.coinbase.com/docs/wallet/notifications):

CALLBACK_DIGEST = OpenSSL::Digest.neue("SHA256")

def self.verify_callback(Körper, Unterschrift)
 false zurückgeben, es sei denn, callback_signing_public_key
 callback_signing_public_key.überprüfen Sie(CALLBACK_DIGEST, Signatur.entpacken("m0")[0], body)
 Rettung OpenSSL::PKey::RSAError, ArgumentError
false
Ende

def self.callback_signing_public_key
 @@callback_signing_public_key ||= null
 return @@callback_signing_public_key, wenn @@callback_signing_public_key
 Pfad = Datei.expand_path ("Datei.join(File.dirname(__FILE__), 'coinbase-callback.pub'))
 @@callback_signing_public_key = OpenSSL::PKey::RSA.neue ("Datei.Lesen(Pfad))
Ende

Wie kann ich dies in PHP ?

+261
Mtze 14.05.2019, 19:42:43

Wenn Sie bequem mit putting Ihre privaten Schlüssel in JavaScript haben, können Sie gehen, um brainwallet.org und unter der Registerkarte Transaktionen können Sie hand-Handwerk eine Transaktion Nachricht, wo Sie die Gebühr auf das, was Sie wollen. Bedenken Sie, dass, wenn es nichts, brainwallet nicht halten auf Rückübertragung der es. Es ist auch möglich, dass es nie bestätigt werden, aber die meisten clients löschen von unbestätigten Transaktionen nach drei Tagen.

+250
Rejeesh 21.07.2017, 05:28:49

Bitte an meine bitcoin block chain wallet auf localbitcoin wallet und die sagen mir immer unbestätigte Transaktion und ausstehende Xx bitte, was kann ich tun, um mein bitcoin zurück.

+249
madman 19.09.2013, 21:46:12

Bitcoin-qt, jetzt bitcoin core ist der Wahnsinn. Es verbraucht 40 GB Speicherplatz auf der Festplatte. Es Schweine-Netzwerk. Ich denke, mit Elektrum oder so ähnlich.

Ich will ein anderes bitcoin-client.

Elektrum ist eine von Ihnen. Allerdings bekam ich asicminer Aktien, die schicken mir Dividende. Ich möchte zum importieren meiner Brieftasche.dat-Datei-in, Elektron.

Kann das sein getan?

+245
Jin Ng 07.05.2016, 14:48:04

Mein Core fertig sychro nach 4 Monaten wurde die Transaktion schließlich sichtbar (dann zog ich alle Daten von einer Datei in die computer zu einem anderen) und Kern begann synchro wieder mit 3 Jahre verbleiben. Es zeigt keine Transaktionen jetzt.

Wie bekomme ich die Gelder von dort an eine andere wallet, ich habe die receiveing Adresse von BTC. ?

+222
Knifeyspooney 07.07.2010, 04:58:27

Ich machte eine Transaktion, die durch Fehler, zum Glück ist es noch unbestätigt.

Kann ich ihn stornieren?

+204
Ronald Aubrey 03.02.2013, 16:44:19

Scrypt ist ein sehr Speicher-intensiv-Algorithmus: es generiert und verwendet eine sehr große Anzahl von pseudo-zufälligen Werten in der Berechnung der endgültigen Ausgabe, und aus Gründen der Effizienz, der all diese Zwischenwerte müssen gespeichert werden, bis die Berechnung fertig ist.

Die Kosten einer ASIC hängt in etwa auf die Größe des chip-und Speicher-schaltungen nehmen eine Menge Platz. Ein memory-Licht-Funktion, wie Bitcoin ist SHA-256 benötigt eine kleine Schaltung, so dass Sie können passen Tausende von Berechnungs-Einheiten auf einen günstigen chip. Eine ebenfalls preisgünstige Litecoin ASIC, auf der anderen Seite, vielleicht nur in der Lage, sich ein oder zwei Berechnungs-Einheiten auf dem chip.

+181
SillyDuck Yang 28.08.2017, 19:23:57

Im legacy-Transaktion (ohne SegWit) die scriptSig wird einfach eingelesen, indem das wissen der Länge (a CompactInt Wert) und ohne zu Lesen das Skript.
Aber in SegWit Transaktion die scriptSig, das verschoben wird, um Zeuge position ist gekennzeichnet durch ein "zählen" der Elemente innerhalb des Skripts und das bedeutet, dass Skript muss gelesen werden (interpretiert) im Ort.
War die Größe (speichern von 2 Byte, die in den multi-sig-Skripte) der einzige Grund für diesen Unterschied?
Auch wird es Einschränkungen für die OP-codes, die verwendet werden könnten, die in scripts innerhalb Zeugen, weil dieser Unterschied?


+173
user1458463 11.11.2014, 10:22:24

Ich bin einfach nur neugierig, wie kann man downloaden bitcoin-Daten und-blockchain mit einem Knoten. Wo sollte ich anfangen?

+54
arenworner 03.04.2016, 23:24:59

Wie jeder andere Vermögenswert, hat einen Marktpreis, es ist alles eine Sache von Angebot und Nachfrage.

Die Angebotsseite ist relativ trivial, das Protokoll ermöglicht für einen festen Betrag (25 bitcoins zu der Zeit des Schreibens) zu produziert jeder zehnte minute, diese Belohnung halbiert sich in regelmäßigen Abständen, und mit diesem Algorithmus, es wird nie mehr als 21 Millionen Münzen. Jedoch, der Mangel selbst ist nicht ausreichend, es muss eine Nachfrage als gut. Es gibt viele Faktoren hinter der Nachfrage, ich glaube, dass keiner von Ihnen allein ausreichen, aber einige sind wichtiger als andere.

  • Eine funktionierende Währung muß knapp sein, teilbar, tragbar, langlebig, austauschbar und leicht zu überprüfen. Bitcoin erreicht souverän ziemlich gut auf diese Attribute und wurde die erste digitale Währung zu tun. Es ist jedoch nicht allein ein Garant zum Erfolg. Andere cryptocurrencies (aka "alt-coins") werden können, Ihre Wettbewerbsfähigkeit auf allen der oben genannten.

  • Die überzeugung, dass der Bitcoin sein wird, eine adäquate Form der Zahlung für waren und Dienstleistungen in die Zukunft. Dies kann zu einer nachhaltigen und berechenbaren Wert. Als Beispiel gehen wir davon aus, dass 21 Millionen Menschen kaufen Brot mit bitcoins, und im Durchschnitt haben Sie möchten, um zu halten Sie genug bitcoins im Portemonnaie für den Kauf von 10 Broten. Für einen kurzen moment, lassen Sie uns annehmen, dies ist der einzige use-case-Szenario. Mit 21 Millionen bitcoins im Umlauf, dass bedeutet, dass jeder Benutzer von Durchschnitt hat ein bitcoin in der wallet. Der Wert einer bitcoin wäre dann ... genau zehn Brote!

  • Die einen glauben, dass Bitcoin ist das "digitale gold", ein nützliches Mittel der Aufbewahrung Wert. Jemand sagt sogar ... "- Zahlungen sind nicht wichtig, bitcoin ist digitales gold, und gold ist selten genutzt für Zahlungen" - ich glaube, das ist gefährlich. Gold wurde gegründet, die sowohl als Währung und als "Halter für Wert" für millennias, während Bitcoin nicht einmal um ein Jahrzehnt. Traditionell fast jede Währung war durch gold gedeckt und gekoppelt an gold, so dass alle bis in die 1970er Jahre, würde man indirekt verwenden gold für die Bezahlung von waren und Dienstleistungen. Gold hat auch einzigartige Eigenschaften passend diesem Zweck, gold kann nicht einfach ersetzt werden durch andere Metalle, während Bitcoins können leicht ersetzt werden, d.h. wenn ein anderer altcoin beliebter wird als Bitcoin für Zahlungen, sage ich Voraus, dass der BTC-Wert fallen ziemlich schnell.

  • Spekulation - die Leute Horten bitcoins, weil Sie erwarten, dass der Markt-Preis-eine weitere Steigerung in der Zukunft. Wie von heute, ist dies wahrscheinlich der größte Treiber der Nachfrage, und es ist von selbst Ansporn genug, um einen Preisanstieg, aber es kann nicht nachhaltig sein. Kritiker vergleichen die Bitcoin ein ponzi-Betrug, eine pyramide Regelung und tulip mania. Obwohl keiner von denen comparitions ziemlich getroffen, die markieren, wenn der Wert ist nur getrieben von der Spekulation, es ist ein Risiko, dass an einem gewissen Punkt kann es zu einem Riss, und der Wert kann fallen sehr schnell (wie Sie es immer Tat, wenn MtGox fehlgeschlagen).

  • Vertrauen in die Mangel. Das Risiko, dass die 21M hard-limit wird erhöht durch eine Protokoll-änderung wird als klein betrachtet. Aber Bitcoin nicht über ein Monopol auf kryptogeld als solche, es ist einfach zu erstellen neue altcoins, und es gibt bereits Hunderte von altcoins, die theoretisch ersetzen Bitcoin.

  • Vertrauen in die Sicherheit der Transaktions-system. Die blockchain und proof-of-Arbeit geliefert, die durch die Bergleute gewährleistet, dass eine Transaktion bleibt irreversable und dass bitcoins nicht doppelt ausgegeben. Das kryptographischer algorithmen verwendet zur Signierung von Transaktionen gewährleistet, dass niemand, aber der Besitzer des bitcoin ausgeben können, der bitcoin. Es wurde argumentiert, dass die Marktkapitalisierung jeder cryptocoin haben eine Obere Schranke in die Sicherheit des Systems; die market cap kann nie so groß geworden, dass es rentabel wäre Sie zu kaufen, die Rechenleistung benötigt, um erfolgreich zu verdoppeln verbringen oder brute-force-Ingenieur private Schlüssel entsprechend vorhandenen wertvollen öffentlichen Schlüssel. Umgekehrt, das gleiche argument kann verwendet werden, um zu beweisen, dass Bitcoin ist ein Sicheres Netzwerk (zumindest wenn dabei die Gefahr von phishing, Diebstahl, social engineering, um Zugang zum Portemonnaie durch Sicherheitslücken, exploits oder lax Passwort-Sicherheit, fehlende Sicherung, etc). Die Tatsache, dass die ledger ist gesichert durch eine extreme Menge an Verarbeitung arbeiten, sind möglicherweise einer der Punkte, an denen Bitcoins wirklich excel im Vergleich zu Wettbewerbern.

  • Der Netzwerk-Effekt - das ist das (einzige) Sache, wo Bitcoin zeichnet sich auf der altcoins. (Fast) jeder akzeptiert kryptogeld akzeptiert Bitcoins - allerdings nur einige wenige akzeptiert andere cryptocurrencies. Unterschätzen Sie nie den Netzwerk-Effekt. Bitcoins können wertlos geworden sehr schnell, wenn einige andere kryptogeld nimmt es ist Ort.

  • Nutzen für Ihre kriminellen Zwecke; Bitcoin wahrgenommen wird anonym sein, es kann sehr anonym, wenn man will, ist es überwindet Grenzen mit Leichtigkeit und ohne behördliche Aufsicht, daher ist es die ideale Währung, um Lösegeld zu erpressen, Steuerhinterziehung, Drogen-Schmuggel, - Kriminalität-as-a-service, etc. Ich sicher hoffe, dass dies ein kleiner Treiber für Wert, als der nutzen für die berechtigten Zahlungen für waren und Dienstleistungen.

+53
Mohammad Sahlabadi 13.12.2011, 17:09:43

Ich würde gerne kaufen, 10 crypto Währungen ($100~$150) und lassen Sie es für eine lange Zeit. Was sind die Vorteile/Nachteile eines solchen Ansatzes? Einige Dinge, die ich denken kann

  • Münzen verschwinden mit der Zeit, und einige können gelöscht werden, im Laufe der Zeit...?
  • Das halten von Ihnen?
  • Erstellen Sie eine Papier-Brieftasche für jeden (ich will es nicht an einem exchange, ich traue Ihnen nicht)?
  • Transaktion Gebühren möglicherweise zu hoch?

Ich weiß nicht, was ich noch nicht kenne, so bin ich nicht sicher, was zu vorsichtig sein, so erbitte ich von euren Erfahrungen.

Danke!

+36
Silbern 23.03.2018, 22:20:30

Das blog, das Sie verknüpft, um Gespräche über eine ziemlich komplizierte Attacke, mit großer Skala-Netzwerk-manipulation.

Die grundlegende Prämisse ist:

  1. Sie sind in der Lage, identifizieren die Knoten, gehört zu der person/Entität, die Sie ausführen möchten, eine doppelte ausgeben, gegen
  2. Sie trick, den Knoten zu denken, dass die Netzwerk-Zeit weit hinter sich, was es eigentlich ist (bis zu einer Differenz von 70 Minuten gegen die Knoten die eigene Systemzeit)
  3. Optional können Sie andere davon zu überzeugen, Bergleute, dass das Netzwerk 70 Minuten vor der tatsächlichen Zeit.

Dies gibt uns die grundlegenden folgenden setup:

Die tatsächliche Zeit, T (der tatsächliche Wert ist irrelevant)

Die Mehrheit der Bergarbeiter Netzwerk-Zeit, T+70.

Das Opfer-Netzwerk-Zeit, T-70.

In Bitcoin, wenn ein Knoten erhält einen neuen block, es läuft durch einige Prüfungen. Wenn eine dieser überprüfungen fehlschlägt, wird der block als ungültig. Eine dieser Prüfungen ist die überprüfung der Zeitstempel im block-header.

Der Knoten prüft, um zu überprüfen, dass dieser Zeitstempel wird dann innerhalb von 70 Minuten von dem, was die Knoten glaubt, dass die Netzwerk-Zeit (network time ist der Mittelwert der Zeit, die peers einen Knoten angeschlossen ist, haben berichtet).

Zum ausführen der Attacke, die schlechten Schauspieler hat eine situation geschaffen, wo das Opfer ist 70 Minuten hinter der aktuellen Zeit, und der rest der Welt ist der Bergbau, als ob die tatsächliche Zeit beträgt 70 Minuten vor der Netzwerk-Zeit.

Also, wenn ein Gültiger block gefunden wird, wenn das Opfer Knoten erhält, es wird entlassen werden, als unwirksam, da sich aus der Opfer-Sicht ist es rund 140 Minuten Vorsprung auf das network time (T+70 - T-70).

Die schlechten Schauspieler verwendet dann seinen eigenen Bergbau-Energie (es wird davon ausgegangen, dass der Angreifer hat einen ausreichenden Anteil an mining-power zu produzieren, ein paar blocks von einer Woche), um mir ein block, der innerhalb des Opfers akzeptablen Zeit-Parameter. Beachten Sie, dass der rest des Netzwerks wird entweder bereits auf eine längere Kette, oder finden Sie eine längere Kette früh genug, da der Angriff nicht die Mehrheit hashpower.

Mit der Ausstrahlung dieser block des Opfers, kann der Angreifer davon zu überzeugen, dass einige Transaktionen in diesem block bestätigt wird. Wenn erforderlich, kann der Angreifer dann von mir ein paar blocks weiter (das kann einige Tage dauern), das Opfer zu täuschen, zu glauben, dass der block mit der Transaktion bestätigt mehrere Male.

Zur gleichen Zeit, der Angreifer wird eine andere Transaktion zu verbringen, die gleichen Eingaben auf der viel längeren Kette abgebaut werden, indem der rest der Bergleute. Dies wird auch bestätigt, und erhalten viel mehr Bestätigungen als Kette erstellt werden, die vom Angreifer speziell für die Opfer der Knoten.

Schließlich, sobald der Angreifer überzeugte die Opfer der Transaktion und geerntet, was die Vorteile, die Angreifer lassen die Opfer der Knoten der Verbindung zu mehr ehrlichen peers. Dies führt in den Knoten der Neuberechnung der Netzwerk-Zeit, wenn man an ein realistischer Wert.

Sobald dies geschieht, werden die Opfer der Knoten wird in der Lage sein zu akzeptieren, den ursprünglichen, mehr, ehrlich-Kette, die haben mehrere Blöcke (und mehr Arbeit), da wurde es abgebaut und von der Mehrheit hashpower. Diese Kette enthält die Doppel-verbringen der Transaktion das Opfer dazu gebracht wurde zu glauben, wurde bestätigt.

Die kleine Kette auf, die das Opfer war überzeugt, die Transaktion wird dann verschwinden, wird ersetzt durch die längere Kette, und ließ nur das doppelte ausgeben, auf der blockchain.

+27
JethroC 08.07.2014, 06:27:39

Fragen mit Tag anzeigen