Warum scriptPubKey ist eine Reihe von Befehlen?

Ich bin nicht voll zu verstehen, das design Zweck der scriptPubKey in der Transaktion ausgegeben.

Ich denke, dass der tx s (sagen tx1 hier) Ausgang könnte nur der Empfänger den öffentlichen Schlüssel den hash.

Dann, wenn die Empfänger senden möchten, die einem anderen Geld ein, er muss nur zum erstellen der Transaktion tx2 (mit Empfänger den öffentlichen Schlüssel und die sig von der vorherigen Transaktion).

Dann das bitcoin-Netz überprüfen könnte:

  1. Ist die öffentliche hash(tx2.öffentlicher_schlüssel) = t1.Ausgabe.hash_public_key?
  2. Überprüfen Sie(tx2.Zeichen, tx2.öffentlicher_schlüssel, tx1)

a+b kann genehmigen, dass diese Transaktion wird erstellt, indem der Empfänger.

Ich bin daher nicht ganz verstehen, warum wir sparen müssen OP_DUP OP_HASH160 next_receiver_public_key_hash OP_EQUALVERIFY OP_CHECKSIG in der tx.Ausgabe.

+312
Monica Gonzales 13.06.2019, 17:39:20
21 Antworten

GLBSE ist eine website, wo Unternehmen und Einzelpersonen ausstellen und verkaufen Aktien, Anleihen und Optionen, über Bitcoin. Jeder kann ein Konto erstellen und Ausgabe aller Verträge, die er will - ein Vertrag ist nur einige Texte, die von ihm unterzeichnet (Zum Beispiel habe ich erstellt , diese Bindung als ein proof of concept, wo ich versprach, ich zahle Betrag X von Bitcoin in der Zukunft für ein Darlehen in Höhe von Y Menge der Bitcoin heute).

Sie können GLBSE als investor, übertragen der Bitcoins gibt und Platzierung der KAUF-und Verkaufsaufträge auf die verschiedenen Vermögenswerte, oder Sie können es verwenden, um den Verkauf von teilen Ihres Unternehmens. Es ist eine kleine version von einer Börse (z.B. Nasdaq), mit wesentlich geringeren Gebühren und (fast?) keine Verordnung. Erstellen Sie ein IPO an einer offiziellen Börse würde probablly Sie Kosten mindestens ein paar tausend Dollar, auf GLBSE Sie können es tun für einen halben bitcoin.

Obwohl GLBSE hat einen Kommandozeilen-client und eine API, die einfachste Weg, es zu benutzen, würde der javascript-client. Sie sehen eine Liste der Anlagen, die hierund Folgen Sie diesem blog, für Beiträge über neue Ressourcen. Eine aktualisierte Liste der Geschäfte verfügbar via Twitter, und finden Sie die grafischen Darstellungen der Vermögenswerte Preisen hier.

+966
Bhavarlal Jain 03 февр. '09 в 4:24

Für Javascript, die Sie verwenden können http://bitcore.io/ Bibliothek. Hier ist ein Beispiel:

https://github.com/bitpay/bitcore/blob/master/examples/browser/example.html

+917
Leslie Blanton 03.12.2014, 14:33:42

Problem gelöst. Ich wählte auszuschließen, wie es war, keinen wirklichen Zweck.

+853
AleVasta 09.03.2018, 06:25:13

Das FBI tun, natürlich, aber Sie scheinen nicht zu veröffentlichen, eine Liste als solche.

Können Sie leicht erweitern Sie Ihre Liste mit einer Suche

+835
user309094 02.06.2018, 13:33:34

Als pro: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

Wir haben,

[target-Bestätigungen] absichtlich berührt nicht die Liste der zurückgegebenen Transaktionen, sondern wirkt sich nur auf die Rückkehr "lastblock" - Wert ein.

Was bedeutet das? Es bedeutet, dass die lastblock Eintrag in Ihrem zurückgegebene Objekt wird der Letzte block können Sie sehen, auf der blockchain (wie es der block, der derzeit genau 1 Bestätigung, wie durch das argument übergeben). Die lastblock Eintrag ist das einzige Feld, das man beeinflussen kann durch änderung der Ziel-Bestätigungen argument.

Dies bedeutet, dass, wenn Sie möchten, dass alle Transaktionen mit mindestens 1 Bestätigung, müssen Sie diese Liste filtern. Dies wirft die Frage auf, warum ist nicht das Ziel-Bestätigungen argument verwendet, um das filtern?

Dies ist, weil die Art, wie die Funktion funktioniert derzeit erlaubt ein use-case, in dem Sie ständig rufen listsinceblock mit dem Wert von" lastblock , die zurückgegeben wurde, in Ihren letzten Anruf. Indem wir dies tun, werden Ihre Transaktionen Liste enthält Transaktionen, die X erreichen oder mehrere Bestätigungen über die blockchain in genau einer jener Anrufe, (wobei X in diesem Fall ist 1).

+829
georgepaul 07.08.2011, 01:18:56

Ursprüngliche Frage: Wie wichtig ist eine starke CPU und GPU für die ASIC-mining? Ich würde davon ausgehen, dass die GPU könnte ein billiges, denn selbst wenn seine high-end-es wird wahrscheinlich nicht helfen, und das sollte die CPU sein, einen anständigen, behandeln alle ASICs. Bin ich falsch?

Außerdem, was ist die Bedeutung der einzelnen Teil-mining-computer in Sachen Bergbau? Wie das Motherboard, CPU, RAM und GPU Ihre Erfahrung betreffen?

+819
MrPete 24.03.2019, 17:58:16

Ich versuche zu laufen, bitcoin core v0.17.0 auf Wayland auf Fedora 29. Wenn ich mit bitcoin-qt habe ich erhalten

Warnung: Ignorieren XDG_SESSION_TYPE=wayland auf Gnome. Verwenden QT_QPA_PLATFORM=wayland laufen auf Wayland sowieso.

Läuft mit QT_WPA_PLATFORM=wayland Erträge

QSocketNotifier: Kann nur verwendet werden, mit threads gestartet mit QThread

Gibt es eine änderung der Konfiguration erlauben, bitcoin core v0.17.0-run auf native wayland? Oder was ist der beste Weg, um ein bug-report an die core-devs bezüglich wayland-Probleme?

+727
user255306 30.01.2010, 13:22:30

Soweit ich das beurteilen kann, 0.006 BTC ist nicht unter jeder relevanten Transaktion-Grenze. Vor ein paar Wochen kaufte ich eine Tasse Kaffee für BTC 0.0033 und es ging durch ohne Probleme.

Sie würde wahrscheinlich zahlen eine Gebühr von 0.0001 BTC - weniger als 2% der Betriebe, und über US $0.05 bei den heutigen Preisen. Bei UNS Mindestlohn, der kauft sich etwa 20 Sekunden Zeit. Sie verbringen mehr Zeit (= Geld) als nur Lesen, jede andere Antwort, viel weniger, es umzusetzen.

Kurze version - nur die Gebühr zu zahlen!

(Zukünftige Generationen dies Lesen, wird ohne Zweifel die eine oder andere Weise, finden es lächerlich, dass jemand könnte/würde bezahlen BTC 0.0033 für eine Tasse Kaffee!)

+704
MaryIvanova 28.04.2019, 00:51:56

In der Bitcoin-mining profitability calculator an bitcoinx.com/profitgibt es ein Feld mit der Beschreibung "Rentabilität Rückgang pro Jahr". Was findet man in diesem Feld bedeuten, in Bezug auf die Berechnung?

Auf eine Vermutung, ich würde sagen, wenn es auf 0,01 festgelegt die projizierten Einkommen für ein Jahr ab jetzt, werden 1% der heute prognostizierten Einnahmen.

+690
Chris Yost 07.11.2017, 05:48:18

Durch den Blick auf die bitcoin und den mining-pool hashrate Verteilung empfinde ich, dass nur 5-10 relevante voller Knoten existieren. So ist es mehr wie ein federated-system unter den.

Sehe ich etwas falsch hier?

enter image description here

enter image description here

+550
Benji XVI 16.06.2011, 12:56:42

Ich bin völlig verloren, mit den verschiedenen Grenzkontrollstellen und was genau jeder client implementiert. Also angesichts der aktuellen situation als Juli 2017, was derzeit verfügbar Bitcoin-clients sind die meisten wahrscheinlich Folgen, die längste Kette von Ende August?

+365
Id Rathernotsay 20.06.2010, 01:57:10

Ausgehend von dieser Liste, aber nicht sehr oft:

https://blockchain.info/double-spends

Warum ist das der Fall? Ich hätte gedacht, Sie hätten häufiger.

Ist es OK, die immer akzeptiert werden (kleine bis mittlere) Transaktionen als gültig anschließend?

+155
Mike Larkin 12.01.2011, 00:23:19

Es sei denn, Sie planen, machen ECC Mathematik-und hashing-algorithmen, die von hand (es dauern würde, Sie über einen Tag, nur um eine einzelne Runde von SHA256) und die Veröffentlichung der raw-binary Transaktion via raw-Netzwerk-Protokoll, sind Sie gehen zu müssen einige software.

Ich würde empfehlen, sich ein Myzel, das hat ein Papier-wallet-import-Funktion. Sie können dann verbringen Sie, wo Sie wie mit der Geldbörse.

+152
eAbi 18.04.2011, 05:38:33

Was passiert, wenn bitcoins Kredite beginnen zu erscheinen?

Darlehen sind die Zinsen, die "zusätzliche Werte schaffen". Angesichts der begrenzten Menge an bitcoins, konnten wir nicht realistisch aus Ihnen laufen?

BitBanker Darlehen 1000BTC an die user mit einer 5% Zinsen. Das Darlehen konnte gesichert werden, mit, sagen wir, einem Haus.

Der Benutzer hat dann zurück zu zahlen, 1050BTC, irgendwie Erwerb der 50BTC Defizit.

Angesichts der Tatsache, wie schnell die Zinsen auf top-interest wächst, nicht die Banker bekommen für 21 Millionen BTC Recht schnell?

+113
jbl 25.02.2015, 05:45:21

Hängt davon ab, wer an Sie geschickt (nehme an, es Kaufmann) und welche software Sie verwenden. Einige Händler-apps können die Adresse wiederverwendet werden, so können Sie immer noch Ihr Geld erhalten.

A. verwendeten Sie eine Händler-app, die erlaubt nur die Adresse einmal verwendet werden: Nun, ich denke, Sie sind aus Glück heraus. Wenn dies geschieht, ist die bitcoin geschickt Sie werden Sie im Grunde sein, die der Kaufmann app-Entwickler (Keine solche Sache wie geschickt niemand, es sei denn, die Adresse ist nicht beansprucht, die unwahrscheinlich ist in dieser situation) (Bitcoin ist eine one-way-Transaktion, nachdem Sie abgeschickt wurden, es ist gegangen, es sei denn, das Ziel Erstattungen direkt an Sie)

B. verwenden Sie ein Händler-app, die mehrere Verwendungen-Adresse oder besser noch die bitcoin wallet: Sie können Sie überprüfen, die frühere Anschrift und sehen, ob mehr Mittel Hinzugefügt werden, und vielleicht tun die Rückerstattung, wenn angefordert.

+105
sandeshys 11.03.2010, 02:07:00

Wenn die Mineure sind, welche die Buchhaltung für bitcoin, was passiert, wenn der Bergbau nicht mehr rentabel, oder es gibt keine mehr Münzen zu mir? Wer macht die Buchhaltung?

+41
Universal Knowledge bnweriw 02.09.2010, 23:23:56

Ich würde gerne besser verstehen, wie eine light-client funktioniert. Soweit ich weiß, ein Licht-client speichert lokal nur die block-Header (80 bytes) und es erhält einen neuen block header im Durchschnitt jede 10 Minuten.

Ich habe im wesentlichen zwei Fragen:

1) Wie kann man einen light-client abrufen einer Transaktion gegebenen hash-Wert? Ich würde gerne wieder die gesamte Transaktion, so dass das Auslesen der Daten nach dem OP_RETURN code.

2) Wie kann die Licht-client sicher sein, dass die abgerufene Transaktion ist eigentlich das man in die längste blockchain? Macht es einfach zu überprüfen, wenn es 5 Blöcke bereits bestätigt, nachdem die Transaktion blockieren?

Ich danke Ihnen sehr

+33
claptimes 17.04.2011, 17:38:26

Wenn Sie wurden aufgefordert zu überprüfen, ob ein cash-Transaktion, alles, was Sie tun müssen ist, überprüfen Sie, dass die Rechnungen, die ausgetauscht werden, ist authentisch. Sie brauchen nicht zu wissen, wer die zwei Parteien sind und was Ihre Motive sind.

In ähnlicher Weise, Bergleute nur überprüft, ob der Absender hat den privaten Schlüssel für eine Adresse hat die bitcoin und dass Sie nicht schon gesendet, die Bitcoins irgendwo anders.

+28
Anhation 26.10.2010, 09:24:06

Sie haben bereits gute Antworten zu Unternehmen, möchte ich hinzufügen, etwas über Alternative Währungen.

Bitcoin-Alternative Währungen sind in der Regel geboren, weil einige Art von Kind war verärgert, weil er nicht beitreten Bitcoin früh genug, und wollte in der Lage sein zu "spielen" mit den Instrumenten, die er zu Hause hatte.

So Gräuel wie "GPU-beständig / CPU-freundlich" Währungen geboren wurden. Denken Sie daran: Sie sind ganz und gar falsch, D. H. Sie wählten ein speziell schlechter Algorithmus, wenn es einen besseren, nur weil Sie nicht wollen, werden deklassiert, durch die Leute mit besserer hardware. Sie gar nicht kümmern um die Gesundheit der Währung selbst, Sie wollte einfach in der Lage, mir erfolgreich selbst.

Und das ist, warum Sie offenbar nicht.

+24
MasteR GeNSkY 31.07.2012, 19:41:56

Eine Kurze Geschichte

Es ist ein Antminer server-farm, die ich unterstützen mit über 100 BC - Servern—vor allem S9 und T9 Modelle. Es gibt drei spezifische S9 Bergleute, die nebeneinander liegen direkt neben einander, auf dem rack, die ständig zeigen niedrigere als die normale hash-rate in Slushpool.

Wenn ich diese Server in Slushpool Sie alle drei schwanken oftmals zwischen 11-13 TH/s, aber die web-Schnittstelle und Kommandozeile RT und AVG hash-Preise sind immer normal ohne Schwankungen. Jedes mal, wenn ich überprüfen Slushpool obwohl, es ist fast immer niedriger als normal und ich habe es überprüft bis zu fast hundert Male am Tag, nur um sicherzustellen, ich war gründlich.

Frage

Gibt es etwas gemeinsames oder etwas, das jemand anderes bestimmt, die bewirken könnten, dass ein miner hash-rate auf immer weniger in Slushpool als das, was es zeigt, von der lokalen server?

Hinweise

  • Ich habe beide Kommandozeile und web-interface auf alle diese und sehen die gleiche Sache; die normale Echtzeit-und normalen Durchschnitt immer jedes mal, wenn ich überprüfen, aber mit Slushpool, fast immer zeigt, es ist hashing unteren durch 1 oder 2 TH/s.

  • In der Regel, wenn die anderen Bergleute in dieser farm haben eine geringere als normale Slushpool hash-rate, die lokalen Server haben einen Wert bezieht sich viel näher an, dass die hash-rate, also bin ich versuchen zu verstehen, wenn ich etwas nicht verstehe, hier die können das erklären.

+19
TheAutomaton 19.02.2010, 21:01:34

Wir arbeiten mit einem ICO-Projekt basierend auf NEO Blockchain. Wir haben die Anforderung bekommen, die Zahlungen durch NEO, der ETH und BTC. Wir verwenden Einzahlung-Adresse ein Konzept um Zahlungen von den Nutzern, und für die, die wir habe mit einigen Node js zu erstellen BTC-Adresse als unten:

var express = require('express');
var app = express();
var fs = require("fs");
var bitcoin = require('bitcoinjs-lib');
var lightwallet = require('eth-lightwallet');

Funktion generateBitcoinAddress(){
console.log("generateBitcoinAddress");
 const crypto = require('crypto');
 const EG = require('elliptisch').EG;
 const RIPEMD160 = require('ripemd160');
 const bs58 = require('bs58');
 const buffer = require('buffer');
 const EG = neue EG('secp256k1');

 Funktion hasha256(Daten) {
 die Rückkehr der crypto.createHash('sha256').update(data).digest();
 } // Eine kleine Funktion, die ich erstellt, da es eine Menge von sha256-hashing.

 const addrVer = Puffer.alloc(1, 0x00); // 0x00 P2PKH Mainnet, 0x6f P2PKH Testnet
 const wifByte = Puffer.alloc(1, 0x80); // 0x80 Mainnet, 0xEF Testnet

 var key = EG.genKeyPair();
 var privKey = Schlüssel.getPrivate().toString('hex');
 var pubPoint = Schlüssel.getPublic();
 var x = pubPoint.getX(); // elliptisch x
 var y = pubPoint.getY(); // elliptische y

 // Private-Key-Hashing
 var bufPrivKey = Puffer.aus(privKey, 'hex');
 var wifBufPriv = Puffer.concat([wifByte, bufPrivKey], wifByte.Länge + bufPrivKey.Länge);
 var wifHashFirst = hasha256(wifBufPriv);
 var wifHashSecond = hasha256(wifHashFirst);
 var wifHashSig = wifHashSecond.slice(0, 4);
 var wifBuf = Puffer.concat([wifBufPriv, wifHashSig], wifBufPriv.Länge + wifHashSig.Länge);
 var wifFinal = bs58.encode(wifBuf);

 // Public-Key-Hashing
 var publicKey = pubPoint.encode('hex');
 var publicKeyInitialHash = hasha256(Buffer.aus(publicKey, 'hex'));
 var publicKeyRIPEHash = new RIPEMD160().update(Buffer.aus(publicKeyInitialHash, 'hex')).digest('hex');
 var hashBuffer = Puffer.aus(publicKeyRIPEHash, 'hex');
 var concatHash = Puffer.concat([addrVer, hashBuffer], addrVer.Länge + hashBuffer.Länge);
 var hashExtRipe = hasha256(concatHash);
 var hashExtRipe2 = hasha256(hashExtRipe);
 var hashSig = hashExtRipe2.slice(0, 4);
 var bitcoinBinaryStr = Puffer.concat([concatHash, hashSig], concatHash.Länge + hashSig.Länge);

 var bitcoinWifAddress = wifFinal.toString('hex');
 var bitcoinAddress = bs58.encode(Buffer.aus(bitcoinBinaryStr));
data={};
 Daten.WIFPrivateKey = bitcoinWifAddress.toString('hex');
 Daten.BitcoinAddress =bitcoinAddress.toString('hex');
 return Daten;
}

app.get('/generateBTCAddress', function (req, res) {
res.senden(generateBitcoinAddress());
})

app.get('/', function(req, res) {
console.log("willkommen");
 var wifkey = bitcoin.ECPair.makeRandom().toWIF();
 var Schlüsselpaar = bitcoin.ECPair.fromWIF('L22fA7nJgiig78A8nubSAQPwYp4Fnqk4w6fuen7gwsqxp2h4ud2v');
 var data = {};
 Daten.Adresse = Schlüsselpaar.getAddress();
 Daten.wifkey = wifkey;
 Daten.Nachricht = "Willkommen zu Hause";
res.send(Daten);
});

app.get('/generateETHAddress', function(req, res) {
 var Passwort = Math.random().toString();
 var seed = lightwallet.keystore.generateRandomSeed();

lightwallet.keystore.createVault({
 Passwort: Passwort,
 seedPhrase: Samen,
 hdPathString: "m/0'/0'/0'"
 }, function (err, ks) {

 ks.keyFromPassword(Passwort, function (err, pwDerivedKey) {
 if (!ks.isDerivedKeyCorrect(pwDerivedKey)) {
 throw new Error("Falsche abgeleiteten Schlüssel!");
}

 try {
 ks.generateNewAddress(pwDerivedKey, 1);
 } catch (err) {
console.log(err);
console.trace();
}
 var result = {};
 Ergebnis.Adresse = ks.getAddresses()[0];
 Ergebnis.prv_key = ks.exportPrivateKey(Ergebnis.Adresse, pwDerivedKey);
res.send(result);
});
});
})

var server = app.hören(8081, function () {
var host = server.Adresse().Adresse
var port = server.Adresse().port
 console.log("Beispiel-app zu hören http://%s:%s", host, port)
 }) 

Rückkehr bitcoin.ECPair.makeRandom().toWIF()

Diese Rückkehr wallet-Adresse und einem privaten Schlüssel.

{
 "WIFPrivateKey": "5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxa",
 "BitcoinAddress": "12zyHTgqfm3XT5KXXXXXHk"
}

Um diese BTC eingezahlt von user, wir haben zur Anmeldung den Geldbeutel.

Der flow ist sehr straight-forward in der NEO und des Astraleums, Benutzer können sich anmelden, um die Brieftasche mit eigenem Schlüssel, aber in Bitcoin ich bin nicht in der Lage, herauszufinden, einen Weg, um sich an den Geldbeutel.

Gibt es etwas, das ich verpasst habe?

+13
dionisia 30.01.2012, 17:38:29

Fragen mit Tag anzeigen