OP_CHECKSIG NULLFAIL mit btcdeb

Ich bin mit btcdeb zu verstehen, script. Ich nehme eine alte random P2PKH Transaktion form mainnet, und fügen Sie entsperren Skript e sperren-Skript in. Ich weiß, dass dieses script ist ok, da kann ich auf blockchain.

Als ich versuchen Will mit btcdeb und es funktioniert nur, wenn add-flag

--modify-flags=-NULLFAIL

Ich erwarte, dass die echt am Ende, stattdessen bekomme ich 0x. Nun, ich habe einige der Forschung auf NULLFAIL, aber ich verstehe nicht das Problem. Vor BIP 0146 das Skript kann false zurückgeben?

+742
dar1n04ka 16.07.2013, 22:40:30
18 Antworten

Zerocoin ist der Vorschlag einer Erweiterung zu Bitcoin, um Bitcoin mehr privat. Zerocoin nur versteckt die Herkunft einer Zahlung, die Ziel-und die Mengen sind immer noch öffentlichen.

Zerocash ist eine weitere Erweiterung des zerocoin Protokoll blendet das Ziel und Mengen. Zerocash Transaktionen sind kompakter als zerocoin Transaktionen.

Zcash ist eine Implementierung der zerocash-Protokoll auf eine neue altcoin. Beide Zerocoin und Zerocash waren bestimmt für Erweiterungen Bitcoin (Sie benötigen eine Gabel). Allerdings zcash ist nur ein altcoin (es begann als software-fork von Bitcoin) mit der zerocash-Protokoll an der Spitze.

+980
amirulhazrul 03 февр. '09 в 4:24

Ich habe gehört, dass bitcoin hat eine begrenzte smart-Vertrag, und ich Frage mich, ob dies ist, wie Sie erstellt multisig wallets?

+910
RAYMON AKINS 12.06.2014, 17:47:32

Also für einen Angreifer nicht zu überwinden guten Knoten, ich glaube, wir verlassen uns auf die Tatsache, dass die Blöcke werden immer produziert wird, so dass die Angreifer im wesentlichen hinter sich gelassen. Aber in der extremen und lächerlich unwahrscheinlichen Fall, dass kein Bitcoin-Transaktionen auftreten, innerhalb einer bestimmten ausreichend großen Zeitfenster, könnte ein Angreifer die Kontrolle über die Kette und Schaden anrichten? Wenn nicht, warum?

+861
n4rush0 19.07.2014, 06:00:01

Ich bekomme es, dass die "OP_CHECKSIG" tut dies, aber ich kann nicht sehen, wie Sie neu zu erstellen. Ich habe versucht, SHA1 und SHA256 von einigen der Informationen, die in einem bestimmten bitcoin-Transaktion ist, es aber mir nicht bestätigt, die Werte von Z. Kann mir bitte jemand wählen Sie eine Transaktion aus, sagen Sie mir, welche es ist, und zeigen Sie mir, was ich brauche, Ausschneiden und einfügen in einen SHA1-Rechner, um die tatsächliche Z-Wert?

Der hash-Wert des TX 9ec4bc49e828d924af1d1029cacf709431abbde46d59554b62bc270e3b29c4b1 soll sein z = c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e und auch z = 17b0f41c8c337ac1e18c98759e83a8cccbc368dd9d89e5f03cb633c265fd0ddc aber ich sehe nicht, wie die z-Werte werden erzielt.

+839
jg0x42 12.11.2011, 08:57:38

Sie benötigen zum aktivieren der REST von Einstellung, rest=1 in deiner bitcoin.conf oder startup bitcoind mit -rest=1 oder bitcoin-qt mit -server=1 und rest=1.

Sie können auf REST von LOCKE (Beispiel): curl localhost:18332/rest/getutxos/checkmempool/b2cdfd7b89def827ff8af7cd9bff7627ff72e5e8b0f71210f92ea7a4000c5d75-0.json

Eine einfache Dokumentation ist hier verfügbar: https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md

EDIT: Es gibt keine REST-API für Adressen. Bitcoin-Core nicht über ein pro-adreßregister. Wenn Sie aktivieren -txindex=1, erhalten Sie jede Transaktion mit GET /rest/tx/<TX-HASH>.<bin|hex|json -> (sonst nur Transaktionen in den mempool).

+794
matf 09.03.2010, 12:22:11

Der Sinn einer offline-wallet ist, dass Sie Ihren privaten Schlüssel noch nie gespeichert wurde, auf jedem an das internet angeschlossenen computer, wo es vielleicht anfällig für einen Angreifer. Damit verbringen Sie Münzen aus einer Adresse, kopieren Sie den privaten Schlüssel wieder auf einen angeschlossenen computer zu erzeugen, und senden der Transaktion. Die Adresse wird immer noch funktionieren genauso gut für das senden und empfangen Münzen, aber es ist nicht mehr "offline".

+738
zarino4ka7292 20.03.2018, 09:55:58

Wenn Sie möchten, dass ein system mit zentralisiertem Vertrauen, ich nehme an, Sie könnten 100% pre-mine und haben einige checkpoints zu 'sperren' das, und haben alle Knoten prüfen vor dem checkpoint aus einer vertrauenswürdigen Gruppe von Knoten. Auch mit dieser, könnten Sie haben einige schlechte Spieler, die versuchen zu betrügen, und es würde bedeuten, ständiger 'Aufsicht' und checkpointing als nötig... Warum sollte irgendein Aussenseiter wollen, verwenden Sie ein solches system, ist mir schleierhaft. Wenn wir davon ausgehen zentrale Vertrauen, wahrscheinlich gibt es noch weitere effiziente Möglichkeiten, um ein token-exchange-Plattform sowieso.

PoS kann nicht wirklich funktionieren aus dem gleichen Grund perpetuum mobile unmöglich ist, oder in anderen Worten, Sie können nicht selbst ziehen durch, ziehen Sie Ihre eigenen Haare.

Das problem reduziert sich auf die Tatsache, dass, mit PoS, was Sie Anbinden und was Sie gewinnen ist ein und dasselbe, ein digitales token. Also, sind Sie Anbinden, dass etwas nicht physisch existieren, um noch mehr zu gewinnen von etwas, das nicht physisch vorhanden. Und je mehr Sie haben, desto mehr sind Sie in der Lage zu gewinnen. Sicher, denn es gibt einen Markt, man kann sagen, du bist Abstecken etwas 'Wert', aber wenn man es Billig in den ersten Platz, und es geschätzt 100x in der Zwischenzeit die Kosten für Sie zu starten, foul play ist nicht auf den neuen Preis, aber bei dem alten Preis, zu dem Sie es bekam. Auch, wenn Sie glücklich sind mit 100x, Sie nur dump es auf dem Markt, exit sauber, und lassen Sie einige andere Arme Seele werden dem Risiko ausgesetzt. Es gibt keine "Investition", die Sie verlieren können, denn es ist alles digital, sowohl der Preis und der Anteil.

Mit PoW, Ihr Anteil ist etwas physisches. Sie verwendet "echte" Geld, das steht noch immer für die tatsächliche menschliche Arbeit, investiert in spezialisierte hardware, und konsumierte harte, körperliche Energie, um den Preis zu gewinnen. Warum dies wichtig ist? Denn Energie kann weder geschaffen aus dünner Luft - man kann Sie nicht betrügen, Gesetze der Physik. Dies bedeutet, dass die Bestrafung für die versuche, bei Betrug wird immer Kosten Sie real-Welt-Ressourcen-und nicht irgendeine digital-token, die kam in Existenz von Luft in den ersten Platz. Auch wenn Sie verkaufen alle Ihre Gewinne, ist es nicht löschen Sie Ihre Investitionen/Anteil. Haben Sie immer noch die hardware, die Sie investiert, und es ist immer noch Anreiz, um es läuft zu halten, solange der Markt gibt Wert an das Zeichen, das es erzeugt. Sie können nicht loswerden es bei 100x wie in der PoS, da nur die token schätzt, während der Bergbau-Getriebe sinkt der Wert. Sehen Sie den Unterschied?

Es gibt gute Forschung zu dem Thema: https://download.wpsoftware.net/bitcoin/pos.pdf

Aber warum brauchen wir PoW überhaupt?

Problem ist, in der digitalen Welt, alles kann simuliert werden. Wenn wir versuchen zu simulieren gold, was ist, uns zu stoppen, ändern Sie die Farbe von diesem "virtuellen gold". Wenn wir es tun können, dann warum sollte es Wert? Die wichtigste Eigenschaft eines kryptogeld ist die Gewährleistung der Sicherheit seiner Eigenschaften, wie Emissionen, Austauschbarkeit, Unveränderbarkeit, Sicherheit, etc.. Wir hören oft den Begriff "Abstimmung", aber ich denke, es ist irreführend. Wenn Sie Stimmen, es ist jemand anderes durchführen einer Aktion. Dies ist nicht der Fall mit kryptogeld. Wenn Sie 'Stimme', Sie sind wirklich nur sagen: "der Krypto-mit xyz-Eigenschaften ist die, die ich berücksichtigen gültig" und schickt jemand Ihnen etwas mit xyq Eigenschaften, Sie ignorieren, Sie als ungültig. Wenn es viele peers, die besagt genau die gleichen xyz-Eigenschaften, dann wird es eine Währung unter Ihnen, und jedermann akzeptiert xyz, wie Eigenschaften, ist frei zu verbinden und transact. Je mehr peers es zu akzeptieren, je sicherer Sie sind, haben Sie Kollegen, mit transact wer sind die Annahme der xyz-Eigenschaften. Also wo ist die Abstimmung, so dass jemand anderes etwas tun? Es gibt keine solche Abstimmung. Sie akzeptieren Sie entweder xyz oder nicht. Das ist die Rolle der Knoten. Es ist eine Eigenschaft, die die Knoten sind einfach nicht in der Lage zu überprüfen - chronologische Reihenfolge der Transaktionen und für die, die wir brauchen Bergleute. Das ist es.

Mit PoW, ist jeder Versuch, Geschichte umzuschreiben, ist teuer. Mit PoS, es ist kostenlos. 'Lösungen', um PoS 'Arbeit', wie Prüfpunkte, die Niederlage der Zweck, denn wie können Sie sagen, welche Kontrollpunkte sind die 'richtigen' sind? Jemand sagte, dass so? Einige "Vertrauenswürdige" - server? Ich dachte, wir bauen trustless dezentrale Systeme hier :)

+732
EricLarch 04.02.2012, 10:48:39

Die quest ist zu definieren, eine Methode für die Suche TXs auf der Bitcoin blockchain nur mit einem PublicKey im HEX-format - im Gegensatz zu der Suche TXs durch populäre Begriffe wie wallet-ID txid, Hasch, etc.

Ich habe nicht gefunden eine solche Methode. Gibt es die?

Szenario:

Bob hält eine komprimierte PublicKey der form

02af31b067645ffe4eb534d609da80332e5c5747543fd97385e832c6fdf2d4b4bf

Hypothetisch, Bob hat keine anderen Informationen zur Verfügung und er will die Abfrage der Blockchain zu finden, die allen TXs Zusammenhang mit der oben PublicKey.

Wenn Bob gelingt, findet er diese Transaktion

Ist diese Art der Suche in der blockchain möglich?

+674
unknowing one 11.07.2012, 19:16:15

Warum bekomme ich völlig unterschiedliche Ergebnisse?

Du gehst zu laufen in eine Menge Verwirrung mit dieser Art von API, weil einfach die Informationen die Sie der Anzeige ist nicht genormt und ist nicht tatsächlich in der Bitcoin block-Kette zu beginnen. Als Ergebnis gibt es sehr wenig Kontinuität in der diese Werte zwischen den Diensten, im großen und ganzen ist es nicht klar, wie alle von Ihnen kommen mit diesen Werten.

In diesem Fall, der "total received" wahrscheinlich reden Sie über die Höhe der Ausgaben, die bereits bestätigt wurden, die zu verbringen, um OP_DUP OP_HASH160 6c1b511a63306b6294e1d3390ac8cd481f76705d OP_EQUALVERIFY OP_CHECKSIGdas Skript für die P2PKH-Adresse, die Sie gebucht. Einige block-explorers subtrahieren ändern Ausgänge von diesem Betrag, wie in dieser Transaktion , wo 1Archive ist erneut für den Rest, die nicht verbracht wird, zu einer neuen Adresse.

Die "total received" für Ihre Adresse auf ein paar andere Dienste:

Die "balance" einer Adresse, wie gezeigt, durch diese APIs vermutlich enthält insgesamt bestätigt nichtgenutzten Ausgänge mit diesem Skript, aber abhängig von der API diese manchmal auch unbestätigte Transaktionen oder einfach nur Unverständliches Werte wie negative.

Ist dies eine richtige Weg, um herauszufinden, wenn ein bestimmter Betrag wurde hinterlegt, um die Adresse (oder Adressen)?

Wahrscheinlich nicht, wenn Sie in der Lage sind, können Sie eine Bitcoin-Core-Knoten und die watch-only-Funktion für die überwachung Ihrer Liste der Adressen, und erhalten eine unabhängige überprüfung, wie viel Bitcoin verfügbar ist ausgegeben werden. Dies wird langsam aber und ist nicht geeignet für Situationen, wo werden Sie das hinzufügen neuer Adressen, die Häufig (es braucht Zeit, um re-Prozess historischen Daten, die möglicherweise bis zu 30 Minuten jetzt). Wenn Sie müssen diese APIs verwenden, sind Sie wahrscheinlich besser dran mit die nicht benutzten Ausgänge-Endpunkt zur Verfügung und macht eine Aufzeichnung von Ihnen selbst.

+605
idris aleeyu 26.12.2010, 00:00:46

Ich habe seit neuestem um auf testnet mit drei Portalen:

  1. Biteasy
  2. Block Explorer
  3. blockr

Ich habe beobachtet, dass wenn ich geschrieben testnet Münzen mit tpfaucet zu einem wallet erstellt mit testnetwallet, die Transaktion zeigte sich in blockr und blockexplorer aber nicht in biteasy. Wenn ich geschickt testnet Münzen mit dem gleichen testnetwallet, um ein Papier-wallet-Adresse, die txn-und balance zeigte sich, richtig im blockexplorer aber nicht in biteasy oder blockr.

Ich bin ein bisschen verwirrt darüber, was hier geschieht - ich dachte diese sind alle Dienstleistungen, um die gleiche testnet und damit sollte ich in der Lage zu bestätigen, gleiche Blöcke, txns, spricht eine jede von diesen. Ist das nicht der Fall? Sind es private testnets Betrieb auf diesen Portalen? Ich kann nicht sehen, keine Informationen sagen, so überall.

Eine weitere Beobachtung: Blockexplorer zeigt die Transaktion als bestätigt mit 74 Bestätigungen und balance zeigt sich korrekt bestätigt balance im Empfänger-Konto. Aber testnetwallet (Absender-Konto) ist, die die txn-Betrag unter "unbestätigte" balance während der Transaktion selbst ist, zeigt sich in der Geschichte. Bestätigt balance ist unverändert im moment im sender-wallet. Blockr ist, zeigten nicht die Transaktion oder die Menge unter der Empfänger-Adresse.

Tag 2: testnetwallet.com zeigt jetzt korrekt bestätigt balance als Absender Brieftasche. Ich kann die Transaktion blockieren und sowohl Empfänger als auch Absender-Konten richtig mit blocktrail.com und blockexplorer.com. Blockr und Biteasy noch nicht alles zeigen - auch wenn ich die Suche durch die block-Anzahl. Halten Sie Graben.

Tag 3: heute blockr ist auch zeigt der txn -, block-Nummer und die korrekte Salden in beiden Absender-und Empfänger-Konten. Bis heute, blockr war nicht mit dieser. Vielleicht blockr service war langsam/? sicher nicht. Biteasy immer noch nicht angezeigt, nichts. Ich überprüfte blockcypher auch heute und es zeigt alles so gut. Bin ich dabei zu verwenden blockcypher-API zum veröffentlichen einer Transaktion, und überprüfen alle fünf Dienste zu sehen, die man mir Ergebnisse und durch wenn. Bearbeiten Sie wieder mit Ergebnissen.

+507
Fox E 11.07.2017, 10:18:34

Multi-Signatur ist eine Funktion zum Schutz gegen Diebstahl.

Von der Sicherung Ihrer Brieftasche

Bitcoin umfasst eine multi-Signatur-Funktion ermöglicht, dass eine Transaktion zu benötigen die Unterschrift von mehr als einem privaten Schlüssel ausgegeben werden. Es derzeit nur geeignet für technische Benutzer, aber eine größere Verfügbarkeit für kann dieses feature in der Zukunft zu erwarten. Multi-Signatur kann beispielsweise ermöglichen, eine Organisation zu geben, Zugang zu seiner Schatzkammer zu seinen Mitgliedern, während Sie erlauben, nur eine Auszahlung, wenn 3 5 Mitglieder Unterschreiben Sie die Transaktion. Es kann auch ermöglichen, zukünftige online Brieftaschen zu teilen, eine multi-Signatur-Adresse mit dem Nutzer, so dass ein Dieb brauchen würde, um Kompromisse sowohl auf Ihrem computer und den online wallet-Server, um auf Ihr Geld zu stehlen.

Traditionelle Bitcoin-Adressen sind gesichert mit einem einzigen privaten Schlüssel. P2SH-Adressen können im Zusammenhang mit drei privaten Schlüssel. Einzahlen ist die gleiche wie die Einzahlungen in einen standard-Bitcoin-Adresse. Jedoch Auszahlungen, die von der Adresse benötigt mindestens 2 der 3 keys zu signieren.

+362
Lyarul 18.12.2018, 20:39:53

Ich habe gelesen,

"Hashcash ist ein proof-of-work-Algorithmus erfordert einen wählbaren Betrag der Arbeit zu berechnen, aber der Beweis überprüft werden kann, effizient. Für E-Mail verwendet, eine textuelle Codierung der hashcash-Stempel Hinzugefügt wird, um die Kopfzeile einer E-Mail zu beweisen, der sender hat verbraucht eine geringe Menge an CPU-Zeit der Berechnung der Stempel vor dem versenden der E-Mail. In anderen Worten, die als Absender genommen hat, eine bestimmte Menge an Zeit, die zum generieren der Stempel und die E-Mail senden, ist es unwahrscheinlich, dass Sie ein spammer sind. "(https://en.wikipedia.org/wiki/Hashcash)

Dann, in bitcoin, so scheint es natürlich, dass der Absender sich in der proof of work statt der Bergleute. Warum ist es nicht so?

+311
bulava 25.10.2014, 18:58:49

Es gibt keine Erwähnung, dass Sie tun, Bergbau, noch eine Figur, die für Ihren aktuellen mining-power, oder Blöcke, die Sie fanden, nur einige vage Erklärungen, die Sie investieren Einzahlungen und verspricht große Gewinne. Es sieht tatsächlich so, wie Sie sind eingebaut, um eine oberflächliche Prüfung, die Bescheinigung des Einbaus führt zu einer gov.uk-Website, die Listen der Unternehmen und andere Unternehmen, die ich bewusst aus.

Also:

  • Kein mining
  • Große mit der Empfehlungs-Prämien
  • Vage business-plan
  • Keine Erwähnung von den Eigentümern oder team

Ich würde es behandeln wie ein Betrug, bis handgreiflicher Beweis für das Gegenteil vorgelegt wird.

+250
rev 21.06.2019, 08:13:57

Ja, block ist eine Liste von Transaktion.

  • Ihre Transaktion nicht zu einem bestimmten block. Ein Bergmann wählt eine Liste der Transaktionen und die Arbeit auf Sie zu "lösen" den block und einmal block ist "gelöst", es ist als broadcast an das Netzwerk, und alle Transaktionen in den block wird bestätigt.

  • 0-bestätigte oder unbestätigte Transaktion ist eine noch nicht in jedem block.

  • Ein Bergmann kann nicht ändern (hinzufügen oder entfernen von Transaktionen) ein block, das ist "gelöst",

+227
Roberto Murphy 05.01.2016, 16:15:09

Größe = 180 * len(Eingänge) * 34 * len(output) + 10

Es sei denn, Sie sind mit unkomprimierten Schlüssel (die nur sehr wenige Brieftaschen heute tun), diese Formel ist falsch. Es sollte 148 statt 180 als komprimierte Tasten sind 32 bytes kürzer ist als die unkomprimierte Tasten.

Meine Frage ist kann ich mit bitcoin-cli estimatefee für das Gewicht?

Nein, Sie können nicht. Bitcoin Core Gebühr Einschätzung arbeitet auf virtuelle Größe, die nur das Gewicht geteilt durch 4. Also anstatt Sie berechnen die virtuelle Größe, anstatt der block der Gewicht-und dann können Sie die Gebühr schätzen.

+224
esdrasportillo 29.05.2010, 12:06:05

So wie ich das verstehe, da bitcoin 0.6.x, komprimierte und unkomprimierte öffentlichen Schlüssel werden unterstützt. Und der Prozess, aus dem öffentlichen Schlüssel an die Adresse hat der Schritt, das bringt ein byte vor dem öffentlichen Schlüssel vor der Vermischung auf, wie:

0x04<256bit x><256bit y> = Puffer vor der Vermischung die unkomprimierte öffentlichen Schlüssel

oder

[0x02|0x03]<256bit x> = Puffer vor der Vermischung die komprimierte öffentlichen Schlüssel

Das bedeutet, dass der Puffer vor dem hashing ist entweder 33bytes lange oder 65 bytes lang.

Meine Frage: pre-0.6, den ganzen Weg zurück bis zu den ersten öffentlichen version des bitcoin, ist der Puffer pre-hashing immer 65 bytes lang, da komprimiert-Tasten nicht unterstützt wurden? Oder war es die 64 Byte lang sein (nur <256-bit-x><256bit y>) und es war kein byte für die version vorangestellt, bevor hashing?

Wenn es nur die 64bytes der public-key auf den clients pre-0.6, das bedeutet, dass für den gleichen öffentlichen Schlüssel, wenn ich lief, dass die öffentlichen Schlüssel durch das code-Pfad, der sowohl pre-0.6 bitcoin-client und die aktuellen bitcoin-client (unkomprimiert fomat), die Letzte bitcoin-Adresse würde noch anders sein, da der moderne Kunde möchte voranstellen version byte?

+115
TagBag 27.07.2011, 23:07:34

Ich habe versucht, einen Kommentar auf die andere Antwort, aber meine rep ist nicht hoch genug. Ich wollte darauf hinweisen, dass Nick ' s Vermutung über die Verwendung der Zähler macht Sinn, aber nicht die Frage beantworten, die, vorausgesetzt seine Vermutung richtig ist, lässt dies unbeantwortet: Wann wird der counter zurückgesetzt?

Ich würde implementieren, die es auf diese Weise, und (zur Sicherheit) davon ausgehen, dass dies ist, wie Sie es getan haben: Auf jede Anfrage, wenn die Zahl der Anfragen-matching entweder Ihren account oder Ihre IP-Adresse (oder beides) in den letzten 60 Sekunden über 60, dann ist die Anforderung verweigert. Dies bedeutet, dass man von der "60 Anfragen auf einmal während der ersten Sekunde der zweiten minute" bekommen würde, antwortete und der rest würde scheitern. Es wäre kein Zähler, sondern eine Aufzeichnung aller Zugriffe (IP, Konto, Zeitstempel), die bereinigt werden Datensätze über eine minute alt, so oft wie nötig, um den server gesund ist.

+68
Randy Roberts 31.03.2010, 18:24:36

Ich Wünsche mir, das Menschen ermöglicht, Ihre Einkäufe in meinem shop mit bitcoin. Ich habe gehört jedoch, dass die Blöcke nehmen, 10 Minuten im Durchschnitt zu verarbeiten und Transaktionen können auch nicht verarbeitet werden in den nächsten block, wenn die Transaktionsgebühr ist nicht hoch genug.

So bedeutet dieses, dass meine Kunden müssen warten Sie mindestens 10 Minuten, bevor ich das überprüfen können Sie die Zahlung veranlasst haben und ich kann es Ihnen ermöglichen, Ihre Artikel?

+21
MATTEO FLORIO 16.10.2019, 14:04:06

Fragen mit Tag anzeigen