Warum sind arithmetische Skript-Befehle beschränkt auf 4-byte-Operanden?

Die Bitcoin wiki-Seite Skript sagt, dass:

Arithmetische Eingänge beschränkt sind vorzeichenbehaftete 32-bit-Ganzzahlen, aber kann über Ihre Leistung.

Wenn jeder input-Wert für jeden dieser Befehle ist länger als 4 bytes ist, wird das Skript Abbrechen müssen und scheitern.

Kennt jemand den Grund für diese Einschränkung? Warum sind arithmetische Befehle begrenzt auf 4 Byte?

+476
Davlog 08.03.2015, 06:47:17
28 Antworten

Ich habe die Entwicklung einen Einführungskurs in Bitcoin und würde gerne einen Vortrag über Ihre Geschichte. Außer Wikipedia, gibt es eine von der community akzeptierte Ressource Ausarbeitung über die Geschichte von Bitcoin?

+959
jack reacher 03 февр. '09 в 4:24

Nach der wiki-Spezifikation des bitcoin-Protokolls, hashes sind in der Regel "berechnet zweimal". Zum Beispiel:

Hallo
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 (erste Runde von sha-256)
9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50 (zweite Runde von sha-256)

Was ist der Grund dafür? Ich Stelle mir irgendwie eine zusätzliche Sicherheit bietet, oder zum Schutz gegen mögliche Angriffsvektoren, aber ich kann nicht Grund, was diese Angriffe sein könnte.

+953
bydesignproductions 24.07.2018, 18:16:25

Es gibt nichts, was Sie tun müssen, um Ihre 6 Prüfungen, aber warten. Etwa alle 10 Minuten ein neuer block gelöst werden, dass auch die Transaktion. Sobald Ihre Transaktion in einem block, wird Ihr Kunde Karte 1 von 6 Prüfungen. Jetzt müssen Sie einfach warten, bis 5 mehr Blöcke gelöst werden. Sobald dies geschieht, wird Ihr Kunde nicht mehr zeigen ? neben der Transaktion.

+947
Craig Noell 02.09.2012, 05:34:30

MultiBit zeigt meine Bilanz als null. Plus ich habe eine Transaktion, wurde unbestätigten für 18 Tage blockchain link unbestätigten Transaktion

wtf... das ist nicht cool... Brauch das Geld so schnell wie möglich... Bitcoin ist nicht so cool wie ich dachte...

Versucht die Reparatur Brieftaschen drei mal ohne Erfolg.

Gibt es irgendetwas, was ich tun kann um das Geld zu bekommen, das angezeigt wird, auf das Bild, um zur Verfügung zu verbringen?

Vielen Dank im Voraus

enter image description here

+915
DuduGold 12.08.2018, 13:32:21

Aus der wiki-Seite https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses das Beispiel von "How to Create Bitcoin-Adresse" zeigt die SHA256 von:

0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

werden

600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

Wenn ich dieses online-tool http://www.xorbin.com/tools/sha256-hash-calculator

Ich: 32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

Bin ich etwas fehlt?

+827
PhillipHolmes 24.06.2011, 03:57:36

Die Gebühr zeigt "Ziel: Innerhalb von 10 Blöcken, die Aktuelle rate: 2.5 sa/byte" verwenden, wenn ich electrum wallet zum senden von BitCoin zu anderen Menschen.

Ich kann nicht verstehen, völlig den Mitteln des "Ziel: Innerhalb von 10 Blöcken, die Aktuelle rate: 2.5 sa/byte" ?

Wie viel sollte ich ausgeben wenn ich einen BitCoin zu anderen Menschen ? Danke!

Ich hoffe, Sie geben mir die details darüber, wie die Berechnung der Gebühr!

Neue Inhalte Hinzugefügt

Zu Abdussamad: Danke!

1: Der sat ist 0.00000001 BTC , richtig?

2: ich sende einen BTC zu anderen Menschen, wie kann ich wissen, das byte? Wenn ich weiß, das byte, ich kann die Berechnung der Gebühr= byte * 2.5* 0.00000001 BTC

enter image description here

+819
Lokesh Abhavathi 20.05.2010, 12:56:29

Ich würde gerne die Abfrage der Bitcoin-daemon (bitcoind), um herauszufinden, was Start-flags (command-line options) geschickt wurden, um Sie auf Start (oder den aktuellen Zustand, wenn Sie sich geändert hat, z.B. -server=0/1 ändern).

Zum Beispiel, ich möchte wissen, ob -addresstype, -disablewallet, rescan, oder -uacomment=<cmt> oder einige andere flag gesetzt wurde.

Oder für Namecoin, wäre es sehr hilfreich zu wissen, wenn -namehistory gesetzt wurde.

Gibt es eine RPC-oder irgendeine andere Methode das herauszufinden?


Oder, die Frage anders...

src/bitcoind.cpp's bool AppInit(int argc, char* argv[]) - Methode ruft ParseParameters(argc, argv);, die in src/util.cpp.

In src/util.cpp wir haben:

map<string, string> mapArgs;
static map<string, vector<string> > _mapMultiArgs;
const map<string, vector<string> >& mapMultiArgs = _mapMultiArgs;

Zum speichern von flags/Optionen/args.

Ich würde eigentlich nur gerne, was in diesen Variablen durch bitcoind.

+811
portnaya 15.05.2018, 20:43:39

Ich möchten, führen Sie den folgenden Befehl über bitcoin-cli:

./bitcoin-cli sendfrom "10302c02147e2948cbejd9a2bd80d9691ef08a6a4d416c2bb602143a4anj06b90e" "32cjBTQkfLBp38ixj7hdjk0cc90VPPnwhq" 3.04384215 

(Hinweis: das Konto und die Adresse oben ist nicht real, wie bearbeitet ich die info)

Was ich verstehen will ist, wie füge ich die Gebühr für die Transaktion? Auf der API-Anrufe-Liste, ich fand den Befehl settxfee und Menge

Aber wo lege ich diese in den Befehl? Auch die Möglichkeit, die GUI-und andere Brieftaschen oder Sortieren ist nicht eine option. Ich habe zu laufen, dies über die Kommandozeile.

Und bonus Frage: Wo kann ich herausfinden, was die Gebühr sollte deutlich innerhalb eines Blocks?

+786
Anton Tropashko 04.03.2014, 21:49:38

Cross-posted auf Reddit.

Ich glaube, der Handel Seite hat meist neue Websites, die nicht eine Menge der bestehenden. Für mich ist jeder bestehenden, etablierten Standortes geht, dass Bitcoin mehr Wert ist als zehn neue Bitcoin-akzeptierenden Seiten.

+599
Thitipong Kluai 02.06.2019, 18:04:02

Wie schon andere gesagt haben-Schemata unterscheiden. Aber zu versuchen, eine Antwort auf die Ihnen gestellte Frage:

Sind alle Anteile vorgelegt, zwischen den Blöcken fand gezählt? dh. Wenn ein pool findet sich ein block alle 10 Blöcke, tun die Aktien von den anderen 9 zusammengezählt und der gesamte block Belohnung verteilt über alle arbeiten, die auf die Gefundene und bisher erfolglosen Blöcke basierend auf dem aktienplan?

Wahrscheinlich nicht. Das wäre eine schreckliche Schema. Angenommen, ein pool hat eine Konstante hash-rate. Die Rechte, nachdem es gefunden hat, einen block, ist es ebenso wahrscheinlich auf einem anderen block in der nächsten minute, wie es ist, wenn es nicht gefunden einen block für eine lange Zeit. Aber die Belohnung pro Aktie viel höher sein, wenn der pool findet sich ein block kurz nach der Suche nach einen anderen block, und viel geringer, wenn der pool noch nicht gefunden, einen block in eine lange Zeit.

So ein pool, der gezählt wird jeder teilen, da es zuletzt gefundenen block würde wahrscheinlich einen enormen Zustrom von Benutzern, rechten, nachdem Sie festgestellt einen block, da die erwartete Belohnung pro Aktie ungewöhnlich hoch.

Und wenn der pool ist unglücklich und hat nicht gefunden, einen block in eine lange Zeit, die Anzahl der gezählten Aktien ungewöhnlich hoch, so dass die Belohnung ungewöhnlich niedrig ist. Dadurch wird die Bergleute zu verlassen den pool.

So zählen alle Aktien, die seit dem letzten gefundenen block, ist vielleicht die Schlimmste Belohnung Regelung möglich.

+590
user33617 25.11.2019, 09:10:09

Bergbau

Bergleute sind die wichtigste Quelle von Bitcoins und wenn Sie sind auf der Suche nach hohen Beträgen, die Sie sollten auf jeden Fall Kontakt mit Ihnen, aber in den meisten Fällen haben Sie Wärmetauscher, mit denen Sie arbeiten.

Wärmetauscher

Sie bekommen in bitcoins von Minern oder Menschen und bieten es Händler. Ich bin mit coinify , die ist einfach, und Sie können bezahlen mit Ihrer Kredit-Karte (Europa), und localbitcoins.com ist auch gut für den Handel mit bitcoins ungeachtet der hohen Gebühren.

+588
cykerka 15.08.2012, 04:14:45

Wenn Sie ein Bergmann, was sind die Schritte, die Sie nehmen würde, um erstellen Sie die zusätzliche (21,000,012.5 th) bitcoin?

Wo in der source-code ist das genau (link)?

Warum kann das nicht sein, dass ein nicht-miner?

Auch die Gabeln sind/waren betroffen?

+542
Sul 09.04.2014, 07:00:00

In etwa einem Jahr, wenn der Bergbau ist wirklich schwierig, was wäre der Anreiz für die Menschen zu mir? Und wenn es nicht genug Bergleute, wie würden Transaktionen erfolgreich?

+523
redisGest 28.10.2015, 23:11:24

Würde 10-Port Mini-USB HUB-High-Speed 2.0 mit Netzteil, Schwarz #198 Großbritannien (auf eBay) geeignet für Bitcoin-mining?

Ich habe einen neuen PC, so dass ich nicht wollen, um Schäden am Mainboard über die USB-ports ständig.

Wenn dies nicht geeignet, weshalb und was sollte ich suchen?

+517
Nikole 04.12.2010, 23:15:31

Sagen wir mal ich kaufe im Wert von 10.000 $Bitcoin in den USA, die ich den transfer zu meinem Freund in Indien. Er verkauft es für $11.000 und hält das Geld selbst, wie ich begabt ihn, dass der Bitcoin. Meine Fragen:

  1. Soll ich die Steuer zahlen in den USA, weil er Gewinne aus dem Bitcoin, die ich geschickt?

  2. Wie funktioniert die IRS, dass insbesondere Bitcoin verkauft wurde?

  3. Auch wenn Sie wissen, dass es verkauft wurde, wie kann man Sie Steuern mich, wie ich bin nicht die person, die es verkauft?

+489
Sketch Guy 19.11.2016, 06:56:53

Der Standard-port für bitcoin regtest ist 18444. Sie können einen benutzerdefinierten port mit port=<port> in deiner bitcoin.conf oder durch die übergabe -port=<port> als argument.

+462
Ocie Mitchell 03.06.2016, 21:26:04

Nicht jeder bitcoin hat eine eindeutige Kennung, wie Banknoten haben Seriennummern? Wenn ja, könnten Sie verfolgen ein bestimmtes bitcoin Eigentum Kette (dh wo der aktuelle Eigentümer eines bestimmten bitcoin durch seinen Bezeichner)? Die Antwort, die ich zu finden bin, ist keine:

Es gibt auch spezifische Eigenschaften des Bitcoin machen dies jedoch schwierig. Transaktionen setzen Sie alle input-Bitcoins in einem großen Haufen, die Sie dole out-Ausgänge. Es gibt kein Konzept insbesondere Ausgabe von Bitcoins entsprechende auf bestimmte Eingänge. Bitcoins nicht über eine Seriennummer, die zurückverfolgt werden können, die durch die block-Kette. Also solche tracking-Regeln wäre im Grunde willkürlich.

https://bitcoin.stackexchange.com/a/2139/894

Ist dieser genau?

+461
whippmaester 24.09.2010, 10:22:36

So, zum Glück Bitcoin Core-0.16.0 zu uns kam, die Allgemeinen Menschen.

Aber dennoch, nativen segwit Adresse Bech32 war nicht als default ausgewählt.

Ist es nicht besser, verwenden Sie ein Bech32 Adresse rechts Weg, anstatt P2SH segwit-gewickelt-Adresse?

+413
rethabile 19.07.2015, 20:03:40

Die Meldung sagt

2018-11-16T09:16:48Z LoadBlockIndexDB(): Blockieren von Dateien, die zuvor beschnitten

2018-11-16T09:16:48Z : Sie müssen die Datenbank neu erstellen mit -neu indizieren, um zurück zu unpruned verwendet Modus. Dies wird redownload die gesamte blockchain.

Bitte starten Sie mit -oder reindex -Neuindizierung-chainstate zu erholen.

Wenn Sie schon laufen im geschnitten-Modus, bitcoind wurde beschneiden der blockchain. Das bedeutet, es hat verworfen Daten, um Speicherplatz zu sparen.

Zu laufen in nicht-beschnitten-Modus, die Sie wiederherstellen müssen, können die fehlenden Daten. Die Methode ist zum download der gesamten blockchain wieder.

Die einzige naheliegende alternative ist, vermutlich, zu laufen, beschnitten-Modus.


Fragen:

Weiterführende links:

  • https://bitcointalk.org/index.php?topic=1599458.0 (August 2016)

    OK, ich habe eine Frage. Sagen: ich aktiviert beschneiden-Modus und Bitcoin Core effektiv angefangen zu arbeiten in diesem Modus. Aber es ist one-way-ticket, wenn ich jemals wollen, um wieder auf "voll" - Modus muss ich herunterladen, und überprüfen Sie, ganze blockchain wieder einmal gibt es keine Abkürzungen?

    Ja, Sie haben erneut herunterladen die gesamte blockchain, es gibt keine Abkürzungen

+267
Erik Engbrecht 15.09.2011, 18:10:47

Ich habe eine wallet-Datei habe ich gesichert. Juni 2011, und wurde offline seit über einem Jahr jetzt. Wenn ich kopierte es zurück in dem die Dateien gespeichert sind, mit dem offiziellen client, es sagt, dass mein Kontostand 0 ist, mit der keine Transaktionen.

Dauert es eine lange Zeit für mein Guthaben & Transaktionen korrekt aktualisiert zu erhalten, oder ist meine Brieftasche als beschädigt, und die Münzen für immer verloren?

+255
nhutto 19.03.2017, 08:03:08

Ich bin neu in der Bitcoin-Welt. Heute habe ich meine zweite Transaktion für nur 0.005 BTC, aber 2 Stunden nach, es ist bis jetzt unbestätigt. Die Transaktion ist im block 320385 und es ist verwaist. Ich sah die Statistik für verwaiste block in blockchain.info und heute sind 10 verwaiste Blöcke und das ist ein hoher Wert entsprechend der Grafik.

Meine cuestion ist:

1.- Wie viel Zeit wird meine Transaktion einbezogen werden, im anderen block?.

2.- Was geschah am september 13, 2014?, Warum gibt es 10 verwaiste Blöcke?

Dank

+236
Davidenko 20.08.2010, 16:53:28

Ich glaube, ich weiß, was erforderlich ist, zu erstellen, zu blockieren.

  • 1.Holen vorherigen hash(vorherigen block veröffentlicht wird)
  • 2.sammeln Transaktionen
  • 3.proof-of-work(mining)
  • 4.Zeitstempel
  • 5.Prüfung durch andere Knoten

Sagen Sie mir bitte, in welcher Reihenfolge diese durchgeführt werden.

+147
sol0mka 11.09.2018, 18:41:20
mkdir .bitcoin
echo "prune=600" >> .bitcoin/bitcoin.conf
bitcoind --daemon

Und blockchain nicht mehr 600 MB

+141
Brendan Maguire 08.08.2016, 03:55:55

Doppel-Ausgaben ist nicht möglich, denn es gibt viele Bergleute die überprüfung der Daten selbstständig und dann überprüfen Sie das Ergebnis gegeneinander. Die erste 'verbringen' das wird in der blockchain und verifiziert ist die einzige, die zählen können - wenn noch eins kommt, wird es ignoriert.

Eine einfache und elegante Weg, um Doppel-Ausgaben unmöglich.

+121
Sensie App 20.08.2018, 06:11:11

Wie OmniLayer und Unterlagen zu vergleichen, in Bezug auf die bitcoin-Blockchain? Können Sie nebeneinander bestehen, die innerhalb von Anwendungen, die potenziell auf der bitcoin Blockchain, etc..

+92
limb 14.04.2018, 03:36:25

Das ist ein seltsames problem. Ich habe es erlebt, schneiden Sie ab, wenn Sie nicht über IPv6-und die IPv4-zu IPv6-virtuelle Brücke (Dienst) im hintergrund laufen, auch wenn Sie nicht über eine IPv6-router noch IP-und subnet-Adresse in Ihrem modem.

Auch, wenn Sie mit Bitcoin-Qt, stellen Sie sicher, dass Sie die aktuellste version der Geldbeutel und Pooler CPU miner (minerd) installiert, das ein problem verursachen kann auch.

Was ich Vorschlage, tun, ist die Kontaktaufnahme mit der pool-Besitzer, und finden Sie heraus, ob es ein problem mit einem Sprach-port und protcol, viele Menschen nutzen Scrypt-Algorithmus und nicht SHA256D mehr (es sei denn, Sie verwenden ASICs) und Sie nicht mit dem GETWORK Protokoll und den port, den Sie verwenden, das Stratum+TCP, welches die Standardwert von vielen Seiten.

Das könnte das problem sein.

Schalten Sie oder ziehen Sie Ihren router und modem.

Drop to DOS und Schlüssel dieses in der Eingabeaufforderung ein und drücken Sie die EINGABETASTE.

ipconfig /flushdns

Stecken Sie Ihr modem zuerst und warten, bis es zu initialisieren und eine Verbindung zum Internet herstellen.

Stecker in Ihrem router und lassen Sie es nicht sein Ding und wenn es läuft, geben Sie in der Eingabeaufforderung, und drücken Sie die EINGABETASTE, wenn Sie fertig.

ipconfig /renew

Nachdem das erledigt ist, geben Sie Folgendes ein und drücken Sie ENTER.

ipconfig /all

Geben Sie alle Ihre Verbindungs-bezogene Daten für eine erneute adapter gelöscht und DNS-cache.

Manchmal ist der cache kann man alte und nicht die richtigen routing-Informationen, die man laden kann, um "Ziel nicht erreichbar" oder ähnliche Nachrichten, wie die JSON-Fehler in der minerd.exe und letztlich ist Bitcoin-Qt-wallet mit integriertem mining-option.

Es gibt durchaus ein paar Dinge, die Reise bis, vielleicht wird es für Sie zu lösen.

+85
danieljr Baldono 18.07.2012, 23:38:42

Basierend auf dem time-frame und mein Eindruck von den Fähigkeiten der verschiedenen Gruppen zu entwickeln wallet-software in diesem Zeitraum meine erste Vermutung war, dass die Bitpay copay software könnte die Quelle dieser Signaturen. Copay ist eine multi-Signatur wallet wurde ursprünglich veröffentlicht , um diese Zeit.

Als ich bin kein javascript-Entwickler es nahm mir ein bisschen Mühe zu Graben, durch den historischen Abhängigkeiten auf den code, war zu diesem Zeitpunkt geltenden, aber ich glaube, mein Verdacht wahrscheinlich bestätigt:

[Wenn es gibt ein paar tool zu gehen, greifen alle Abhängigkeiten einer JS-Anwendung bestimmten Zeitpunkt gewesen wäre super nützlich.]

return new bignum(SecureRandom.getRandomBuffer(8));

Dieser code wählt ein 8-byte (64-bit) nonce. Ich bin nicht sicher , wie genau dieser Fehler kam über--senden 32 an eine Funktion, die nahm bits als ein argument Größe, zum Beispiel, hätte Sinn gemacht-aber wie auch immer es geschah, es war nicht gefangen im Rückblick erscheint und verschickt wurden.

Die pull-Anforderung eingeführt, das die Schwachstelle war dabei die javascript cryptography Umsetzung schneller durch den Wechsel der zugrunde liegenden EG-Operationen, um eine andere Bibliothek 'elliptisch'. Zu der Zeit elliptisch vorgestellten eigene Unterzeichnung Funktionen, die im Lieferumfang enthalten RFC6979 deterministische nonce-Generierung. Ich sehe nicht ein, warum bitcore nicht geändert, um die Verwendung der elliptischen Unterzeichnung Funktion auch mit dem Autor von elliptischen kommentieren in der Unterstützung der öffentlichkeitsarbeit, aber da gab es pre-bestehenden 'zu Hause rollte,' das signieren von code, es kann nur das nicht geschehen, um niemanden zu wechseln, um die library-Routinen. Gibt es nicht viel Diskussion über die pull-Anfrage.

Die Sicherheitslücke wurde in der Folge festgelegt , aber schwache Signaturen weiterhin für einige Zeit. Denn Bitpay ist bitcore gefördert wurde als ein all-Zweck Bitcoin-Bibliothek ist es möglich, dass andere software als copay hatte, übernommen.

Ich bin nicht in der Lage zu finden, jede Ankündigung oder Diskussion über diese Sicherheitsanfälligkeit, andere als die fix im repository.

Allerdings habe ich nicht sorgfältig analysiert es, bemerkte ich, dass vor der Umstellung auf elliptisch, die codebase bisher verwendeten "bitcoin-js", die-zumindest in einigen Versionen--verwendet einen Zufallszahlengenerator, die schwach war, aufgrund eines review-umgehen subtile Art Fehler , so dass es durchaus der Fall sein kann, dass der Fehler-Einführung ändern sich einfach geändert, die software von einer form von Schwäche zu einem anderen.

Es ist auch möglich, dass, obwohl bitcore hatte genau die richtige Schwachstelle eingeführt, zum richtigen Zeitpunkt, dass es Zufall war und die schlechte Signaturen, die in das Papier erstellt wurden, durch eine andere Implementierung. Wenn dem so ist, denke ich, die parallele Bruch ist immer noch informativ.

Ich denke, die Forschung und die relevanten code stellen Sie für ein gutes Beispiel, wie einfach es ist, sich diese Dinge falsch, wie selbst kleine Fehler können in der Folge total security bricht, und dass die bloße Tatsache, dass etwas open-source ist nicht automatisch sichergestellt, dass es ausreichend abgeben.

+81
duozmo 07.02.2017, 02:04:54

Ich kaufte vor kurzem ein Nano-Ledger-S und nicht geöffnet haben oder es noch. Ich habe gelesen, dass man einen VanityGen erstellen Sie eine Vanity-öffentliche Adresse. Wie würde ich dies für mein Nano-Ledger, wenn ich will, um sicherzustellen, dass ich meine Schlüssel 100% sicher?

+32
pangratz 06.01.2013, 08:55:59

Fragen mit Tag anzeigen