Beste Weg, um zu berechnen Schwierigkeit der Generierung spezifischer vanity-Adresse?

Ich arbeite jetzt bei kleines tool, das Zweck ist die Berechnung der Schwierigkeit (wie Anzahl der versuche) zu bekommen vanity-Adresse, wie vanitygen (https://github.com/samr7/vanitygen) tut. Ich habe einige Materialien (https://en.bitcoin.it/wiki/Vanitygen#Difficulty_of_finding_a_vanity) und nun Frage ich mich, was das genaue Algorithmus, wie eine solche Berechnung muss fortgesetzt werden. Es gibt keine genaue Antwort im Artikel zu bitcoin.es wiki, also einen Blick durch die Quellen vanitygen und endete mit einige sehr einfache Ideen:

  • Alle Adressen sind in einer nussschale base58 zahlen, die umgewandelt werden können, um biginteger, wenn nötig.
  • Es ist eine Letzte "größte" - Adresse (wie die größte Zahl, die in das Ende der Reihe)
  • Vanity-Adresse eine beliebige Adresse aus dem Adressbereich (wenn wir an Sie denken als zahlen), beginnt damit, dass sich bestimmte Muster.

Also, was ist der beste Weg zu finden, Schwierigkeit angegeben vanity-Adresse? Ich landete mit einer solchen Idee:

  1. Finden Sie die größte mögliche Adresse und wandelt es in ein bigint.
  2. Finden Sie Adressen Bereich für gegeben Eitelkeit Muster. Zunächst finden Sie die größte mögliche Adresse im Bereich durch hinzufügen von z an das Ende des Musters, während es kleiner ist als das größte mögliche Adresse. Dann erhalten kleinsten Adresse im Bereich beschloss ich, fügen Sie 1 (base58-Vertretung für die 0), um die Eitelkeit prasseln und ich konnte nicht bestimmen, Wann ich stoppen muss. Klar Adresse könnte nicht mehr als 34 Symbole, aber Wann muss ich aufhören? Ich denke, ich muss nehmen Länge die größte Adresse des Bereichs ist, und dass die gleiche Länge für die kleinsten. Aber bitte, korrigieren Sie mich, wenn ich falsch bin.
  3. Wenn wir Adressbereich, können wir berechnen die Länge der durch Subtraktion des kleinsten vom größten ein und teilen Sie dann größte mögliche Adresse durch Auswahl der Länge und das Ergebnis wird sein, unsere Schwierigkeiten.

So ist es alles korrekt? Was soll ich tun, wenn das Muster beginnt mit "1"?

Welche zusätzlichen Materialien können Sie empfehlen zu Lesen?

+814
breaking bad 25.05.2016, 12:28:21
27 Antworten

Es gibt keine echten Regeln, per se, nur verschiedene Optimierungen.

ASICs sind schneller. Sie brennen durch die gesamte 2^32 möglich nonces für einen bestimmten block in Sekunden, die benötigt Bergleute zu verwenden, die extra nonce Feld in der coinbase-Transaktion erzeugen einer neuen block-header (seit änderung der coinbase-Transaktion änderungen der merkle root) und versuchen Sie es erneut.

Dieser Prozess kann parallel durchgeführt werden - ein Bergarbeiter bereiten die N+1 block-header durch die Veränderung der extra-nonce in der coinbase-Transaktion, während Sie die überprüfung der N-te block-Kopfzeile 2^32 nonce-Werte.

Ähnlich Transaktion Auswahl können auch parallel durchgeführt werden - ein neuer block-Vorlage erstellt werden kann, während ein miner in Betrieb ist, auf das vorhergehende, und das neue template die block-header kann einfach verwendet werden, wenn die miner gewechselt, die vorherigen nach Ausschöpfung der nonce Raum (es sei denn, Sie finden ein Gültiger block ist, in dem Fall muss die Vorlage wieder aktualisiert).

Dies ist, was die meisten mining-pools - die block-template generieren, wird parallel durch den mining-pool, und Sie ständig aktualisierte block-pass Vorlagen, um alle Ihre Bergleute. Dies ermöglicht Ihnen zu schnell sind hohe Gebühr für Transaktionen in potenzielle Blöcke, während immer noch sichergestellt wird, dass Sie auf der Suche nach einer Lösung zu allen Zeiten.

+994
Frosty321 03 февр. '09 в 4:24

Also, ich bin neugierig über den Wert von altcoins.

Sagen wir, ich waren zu schaffen, ein altcoin, und etwas Menschen, es zu benutzen... wie würde ich berechnen Sie den Wert der Münze? Wird diese bestimmt durch den Austausch? Oder wie viel Geld die Leute geben im Austausch für Betrag X von der Münze? Ich bin ein bisschen verwirrt von diesem. Ich habe versucht zu recherchieren, aber nichts hat wirklich geholfen.

Vielen Dank im Voraus!

+981
Ricardo Sousa 06.12.2013, 08:16:54

Ich schrieb einen Leitfaden für korrupte Bitcoin-Wallet recovery. Das erste, was ich versuchen würde, ist pywallet. Es kann dump der private Schlüssel aus der Brieftasche zu einer Datei, selbst wenn Bitcoin Core schlägt fehl, um Sie zu retten. Sie können dann importieren Sie Sie in ein neues wallet.

+947
Steve Landey 12.04.2019, 02:15:28

Was folgt, ist eine Vermutung, nicht bestimmte Aussagen und basiert auf dem Elektron ist brainwallet Sätze (dachte es wäre ein gutes Beispiel), nicht in anderen Systemen oder durch den Menschen erzeugten.

Nein, ein Bergmann können nicht so einfach ausgetrickst werden, es zu tun (z.B. allein durch ein Schurken-pool), können aber programmiert werden, um zu versuchen zu knacken brainwallet Sätze. Dies ist, weil die einfachen hashing gelten völlig andere Eingänge (ein-block-header-und nonce -, Hash -, zweimal) als brainwallet knacken (eine zufällige 128-bit-Samen, Hash-100.000 mal).

Sie würde dies tun, indem Sie versuchen, zufälliger 128-bit-Samen, die durch Elektron-Algorithmus, was bedeutet, dass man die Samen und läuft mit 100.000 SHA256-hashes auf Sie (vielleicht ein paar anderen Sachen die mir fehlen, würde es schwieriger machen). Sie können dann noch ein paar Berechnungen, um mit den Adressen, die der Schlüssel generiert, und überprüfen Sie die blockchain, um zu sehen, ob diese übereinstimmen.

Die aktuellen Netzwerk-hashrate von ~50,000,000 GH/s. Wenn alle, die waren, werden stattdessen gegen brechen alle Elektron-Tasten, und alles was es braucht ist der 100K-hashes wäre, gäbe es 5*10^11 aus 2^128 überprüft jede Sekunde. Sie könnten überprüfen Sie alle Schlüssel in etwa 2*10^19 Jahre, das sind 1,6*10^9-fache des Alters des Universums. Während Sie würde wahrscheinlich bekommen Kollisionen, lange bevor dies (abhängig davon, wie viele Elektron-generierte Adressen sind im Einsatz), ich denke, das gibt Ihnen eine Vorstellung von der Undurchführbarkeit dieser Art von Angriff.

+942
Ryan Arief 16.12.2016, 05:42:36

Ich habe ein Netzwerk von 1k+ PC (nicht ein botnet). Könnten Sie mir Ratschläge, wie kann ich mir effektiv für einen pool, nur für ein pool-Konto, haben Sie vielleicht irgendwelche Lösungen?

Ich denke, es sollte CPU-miner, da kann ich nicht umgehen GPU-Treiber auf jedem pc.

Alle PC ' s im Netzwerk haben unsere Anwendung immer laufen, so dass ich denke, der bessere Weg ist, um zu unserer Anwendung Bergbau-code, aber ich kann nicht finden, einfach Lösung, ohne unnötige features.

+933
Arclite 16.01.2015, 16:55:58

Ich erstelle eine Brieftasche mit privaten Schlüsseln deaktiviert.

Dann nutzen Sie importmulti etwa so:


Befehl curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "Methode": "importmulti", "params":[[{ "scriptPubKey": { "address": "bcrt1qeappehxje9d46zjeyvh3cqslzzda9p92nx2xg495e8memcjvppvqhk6hcn" }, "label": "Importierte Adresse", "timestamp": "jetzt", "watchonly": true, "keypool": true, "internal": false }], "{"rescan": false}"] }' -H 'content-type: text/plain;' http://user:[email protected]:18443/wallet/Test
Ergebnis = Optional({
 error = "<null>";
 id = curltest;
 Ergebnis = (
{
 Erfolg = 1;
}
);
})

Aber wenn ich getnewaddress es sagt keypool leer:

curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "Methode": "getnewaddress", "params":["", "bech32"] }' -H 'content-type: text/plain;' http://user:[email protected]:18443/wallet/Test
Ergebnis = Optional({
 error = {
 code = "-4";
 message = "Fehler: Diese Brieftasche hat keine Schlüssel";
};
 id = curltest;
 Ergebnis = "<null>";
})

Das passiert auch, wenn ich importmulti Deskriptor Ansatz zum importieren einer multisig.

Ich bin versuchen, um eine watch-only-wallet für meine multisig, wo der einzige Schlüssel, der in der keypool ist die multisig-Adresse, nur um Gebäude-Transaktionen mit dem wallet nahtlos.

+865
kghastie 24.11.2014, 01:10:07

Wenn Sie keine Aufzeichnung der private Schlüssel abgelegt die Mittel sind für immer verloren, oder mehr richtig, Sie kann einfach nie mehr wieder. Als Sie hatte nie die privaten Schlüssel auf einer Festplatte gespeichert, es ist nicht alles, was Sie tun können, um Sie zurückzugewinnen.

+856
ngalstyan 23.10.2012, 03:51:08

Ich heruntergeladen Bitcoin Core und ich habe gerade einen Blick um und ich kann nicht für das Leben von mir herauszufinden, wie man erstellen Sie eine senden-Adresse.

Ich bin mit einer Website, Dinge zu kaufen und zu registrieren, die ich brauche, um "Setup Ihre Auszahlung-Adressen" die "ist die Adresse, wo zentrale escrow freigegeben wird, um die Verkäufer, und sofern der Käufer Rückerstattung gesendet werden".

Also, was soll ich tun?

+755
Robert Baron 31.10.2017, 03:22:50

Das ist ein großer Teil der Punkt von bitcoin... es ist nicht nur eine Einheit, es ist alle um die Regeln befolgt werden.

+670
lelig2014 23.10.2019, 10:50:47

Sie müssen bitcoind und schauen in die Konten. Wenn Sie möchten, dass Benutzer in der Lage sein, die zu zahlen jeder andere im system für alles, es ist ganz leicht zu bewegen Bitcoins, um ohne Transaktionen anlegen ganz einfach, indem Sie die bewegen - API. Nach, die Sie gerade brauchen, um hinzuzufügen, die Optionen für Benutzer, um Geld in Ihre Konten und widerrufen Sie, und Sie werden eingestellt.

Kann nicht wirklich helfen, Sie mit Ruby-spezifische Dinge, obwohl, wie ich weiß nicht, die Sprache.

+659
rsteele 10.02.2011, 02:17:51

Ich habe ehrlich gesagt nur davon gehört, weil der tv-show, die gute Frau. Ich wusste nicht, dass es real war. Ich bin sehr neugierig, was bitcoin ist, tun kann und auch, wenn es mobile apps und Websites für die Verwendung von bitcoins. Auch die Erklärung dieser Bergbau Sache ein wenig besser, würde helfen. Ich bin nicht sicher, wie Sie Sie verdient mich bitcoins oder wenn ich bezahlen mit Papier Geld zu bekommen, bitcoins oder ob es überhaupt legal zu bitcoins. (Sie sehen, dass Sie eine siteshutdown, was mir mit dem fbi, es zu tun). Sowieso....vielen Dank für die Zeit nehmen, dies zu Lesen....Ich freue mich auf die Antworten. Auch....eine Letzte Sache, die.....kann ich kaufen Dinge wie Computer, software, Kameras, Schnitt-software mit bitcoins, wenn ich speichern Sie genug von Ihnen?

+557
MagicianZero 19.11.2015, 04:15:59

Als Protokoll ist aktualisiert mit soft-Gabeln ändern der Skript-interpreter Verhalten der Skript-Maschine wird erweitert mit zusätzlichen läuft. Jede neue Aktualisierung bringt ein neues Skript ausführen, mit neuen Regeln, während die Vorherige Skript läuft weiter, beurteilt sich nach älteren Regeln. Argumente geliefert werden müssen, um festzustellen, ob die neuere Skript ausgeführt wird, ausgeführt werden.

Native Zeuge Transaktion eingeführt Skript-Typen P2WPKH und P2WSH, die sich gegenseitig ausschließen auswertungswege. Nach der "standard" input-und output-Skript ausführen, die beiden Skript-Arten zu true ausgewertet werden, aber keine Signaturen oder eingebettete scripts werden noch ausgewertet.

  • Die P2WPKH Ausgabe Skript-Muster verursachen wird, die Skript-Maschine zu bewerten Zeuge und ein original P2PKH Skript mit dem gleichen public-key-hash. Dieses Skript expansion wird durch die implizierte P2WPKHSkript Muster ([00] und [20B]).
  • Die P2WSH Ausgabe Skript-Muster verursachen wird, die script-Maschine bewerten sowohl eingebettete und entsperren Ihres Skripts geladen der Zeuge. Keine implizite Skript-Erweiterung hier. Das Skript Muster ([00] [32B]) können klar unterschieden werden von dem der P2WPKH Skript.

Die Entscheidung, welche der beiden auswertungswege sollten befolgt werden, erfordert ein argument, das nicht explizit im Skript entweder Art Operationen. Dieses argument wird geliefert durch die hash-digest-Größe.

Btw, dieses argument nicht geliefert werden kann in den Zeugenstand Daten, da die gültige Eingabe-Skripte (im Zeugnis) nicht zu Folgen, eine einzigartige, wiedererkennbare Muster (z.B. kann ich immer hinzufügen [data_push] [löschen] ohne Auswirkungen auf die Gültigkeit).

+510
MJam 21.06.2017, 01:30:07

Vor kurzem, ich kaufte £350 im Wert von bitcoins zurück, wenn Sie, wo £37 den anderen Tag. Sie genommen haben, mehr als einen Tag bei mir und wenn ich Sie erhalten haben, ich habe nur 7.7 (im Vergleich zu den 9.1, die ich brauche). Ich scheint, Sie haben mich beauftragt, bei den heutigen Preisen, anstatt diejenigen, denen der aktuelle Preis den anderen Tag. Obwohl, wenn ich kaufte die Münzen, die Sie sagte, ich war Kauf £[email protected] eine Münze.

Ist es normale Praxis, dies zu tun?

+504
Eugene Lyulka 11.09.2015, 17:30:57

Eine halbe Stunde synchronisieren Sie zwei Tage ist fast 100x schneller als in Echtzeit. Es ist langsamer als ich erwartet hätte, aber ohne weitere Informationen ist es nicht wirklich möglich zu sagen, ob es etwas gibt, das verbessert werden könnte, über Ihr system oder Konfiguration.

+481
user3152763 05.08.2010, 22:30:56

Ich würde es nicht tun.

In Fall, dass Sie tun, dass Sie Vertrauen alle deine Bitcoins an jemanden, der gehackt werden oder gehen aus dem Geschäft.

Ich würde immer meine coins in cold storage.

+423
Shankar Naik 04.03.2012, 21:18:23

Sie sollten versuchen, sich zu erholen die Brieftasche.dat mit einer anderen Daten-recovery-tool, ich habe gute Erfahrungen mit GetDataBack und PhotoRec. GetDataBack können Sie wählen, verschiedene backups/Versionen von der Datei-system, versuchen Sie, alle von Ihnen.

+385
chking 24.05.2019, 20:11:15

Bei der Synchronisierung der bitcoin Knoten (eine Voraussetzung für die Ausführung Blitz sicher), werden Sie den Download der gesamten blockchain und überprüfen alle historischen Transaktionen, das dauert eine Weile und ein über paar hundert GB Daten. Eine volle Validierung Knoten bedeutet, dass Sie sind immer auf Empfang Gültiger Informationen zu den Transaktionen selbst, und Sie sind nicht abhängig von Dritten Parteien, die könnten falsche Informationen, oder wo Sie Privatsphäre Lecks durch die Anforderung von Informationen über Transaktionen von anderen.

Die bitcoin-Knoten erhalten weiterhin neue Blöcke und Transaktionen, wie Sie auftreten, auf das Netzwerk, und jeder block fungiert als ein Synchronisations-Punkt, ungefähr alle 10 Minuten.

Beim ersten synchronisieren der Lightning node erhalten Sie die neuesten Informationen über online-Knoten, offene Kanäle, und die Maßnahmen, mit denen können Sie Zahlungen über diese Kanäle mit Lightning ' s onion-routing. Standardmäßig werden diese Informationen beschränkt sich auf den bisherigen 2 Wochen nur historische Informationen über Knoten und Kanäle werden nicht übertragen oder gespeichert werden.

Nach dem ersten sync, Ihren Knoten wird ständig empfangen und weiterzusenden neue Informationen über Knoten und Kanäle, über Blitz-Klatsch-Netzwerk. Jeder Knoten Sendungen Informationen über sich selbst oder Ihre Kanäle alle 2 Wochen, wenn es keine änderungen und die Kanäle sind immer noch aktiv. Änderungen an Kanal-oder Knoten-Staaten ausgestrahlt werden, sofort, aber Knoten kann zu begrenzen die Häufigkeit der updates, die Sie akzeptieren, um zu verhindern, dass potenzielle DoS, das beeinträchtigt das Netzwerk. Diese Sendungen werden auch Zeitstempel und signiert.

+349
beekat 09.05.2014, 10:41:15

Wenn eine Neuinstallation ist keine option für Sie ist, dann sollten Sie das folgende tun:

Erfordert: CCleaner

  1. Starten im Abgesicherten Modus, so dass jegliche malware-start-up-Einträge nicht ausgeführt.
  2. Verwenden Sie CCleaner zu bereinigen Speicherplatz und registry.
  3. Überprüfen Sie die Start-Up-Liste für alle verdächtigen/unerwünschten Einträge und entfernen Sie Sie.
  4. Starten Sie den computer neu.
  5. Verwenden Sie keine anti-virus zu entfernen vorhandener malware und reinigen von infizierten - Dateien.

Dies sollte reinigen Sie Ihren alten pc.

Quelle: Erfahrung

+342
Always Asking 13.02.2012, 04:09:09

Sie sind mit dem testnet die Verwendung von 2 statt 3, aber soweit ich weiß, ist es unmöglich zu sagen, ob etwas eine multisig oder segwit-Adresse, wenn Sie beide beginnen mit 3 auf die "echte" bitcoin-Kette, Es könnte beides sein..

Aber du kannst ja sicher sein, dass es eine segwit-Adresse, wenn Sie beginnen mit BC1, dies sind die so genannten bech-Adressen. Sehen Sie mehr hier https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki

+316
cvsdgweda gfrefdfv 09.10.2018, 16:42:38

Die wichtigsten Netzwerk-Adresse, die version für zcash schon bekannt? Ist es möglich, erzeugen eine mainnet-Adresse schon?

Damit könnten die Bergleute für den start von minute 0 bis mine auf einen anonymen pool. Die Adressen existieren können, ohne das Netzwerk, da Sie nur ein Kryptografisches Schlüsselpaar.

Ich habe in der chain-Parameter auf das Quell-repository.

Es sieht aus wie t-Typ-Adressen beginnen mit t1und multisig mit t3.

// garantiert die ersten 2 Zeichen, wenn base58 kodiert, werden "t1"
base58Prefixes[PUBKEY_ADDRESS] = {0x1C,0xB8};
// garantiert die ersten 2 Zeichen, wenn base58 kodiert, sind "t3"
base58Prefixes[SCRIPT_ADDRESS] = {0x1C,0xBD};

Und aus dem Protokoll:

In Bitcoin ein einzelnes byte verwendet wird, für das Feld "version" die Ermittlung der Adresse geben. In Zcash zwei bytes verwendet werden. Für Adressen, die auf den Produktions-Netzwerk und die codierte Länge verursachen, die die ersten zwei Zeichen der Base58Check Codierung behoben werden als " t3 "für P2SH-Adressen, und als" t1 " für P2PKH-Adressen. (Dies bedeutet nicht, dass eine transparente Zcash-Adresse analysiert werden kann identisch zu einer Bitcoin-Adresse nur durch das entfernen des " t ".)

Aber wie kann man diese generieren? Nie gesehen, dual-Präfixe bevor. Auch, was die Adresse-version? Meine vanitygen nicht in der Lage ist zu bewältigen.

+275
Balaji Srinivasan 22.12.2015, 13:43:14

Als Geschenk an ein Kind, würde ich empfehlen, etwas greifbares, als Papier, wie eine Casascius Münze oder gold-überzogen bar. Ja, es ist mehr als ein Bruchteil eines bitcoin, aber die load-it-yourself-option ist möglicherweise günstiger.

+207
Rob Guthm 03.10.2012, 11:58:28

Wie es scheint, abhängig von der Methode, erhalten Sie unterschiedliche öffentliche Schlüssel und Adressen bei der Verwendung von bitcoin-ruby mit den gleichen privaten Schlüssel. Ich bin wahrscheinlich etwas falsch, aber ich bin nicht sicher, wo es ist...

Ich kann einen privaten Schlüssel generieren, den öffentlichen Schlüssel und die Adresse mit

def generate_address
 private_key, öffentlicher_schlüssel = Bitcoin::generate_key
 Adresse = Bitcoin::pubkey_to_address(öffentlicher_schlüssel)
 [private_key, öffentlicher_schlüssel, Adresse]
Ende

Und, als Beispiel, dies erzeugen könnte:

priv_key= "9d524654045c891327a1dc0c329bcd42311b1767b81d7e997486e841ca5a2a87"
publ_key = "04353457464a32ede1b80fd7299f616320b52cc22796cd27d5b41594f418c2ea26dfeec97273f89b2d908a44fce981ff19f2e2de1408538bb0c0528992ce47f3be"
Adresse = "n1693JDDu5ukbtNh2sHXdZSobKnVEpdtjl"

Wenn ich dann allerdings legte der private Schlüssel in eine andere Funktion, die erzeugt, in dem die wichtigsten details in einer anderen Weise, ich bekomme eine andere Adresse! Warum ist das so?

def key_details(prikey)
 #gibt prikey, prikey_hash58, pubkey_hash58, pubkey_uncompressed, Adresse als hash
 my_key = Bitcoin::Key.neue(prikey)
 # Bindung.hebeln
 { prikey:prikey, 
 prikey_base58:my_key.to_base58, 
 pubkey_58:my_key.pub, 
 pubkey: my_key.pub_uncompressed, 
Adresse:my_key.addr
}
Ende
+200
roxelemoto 19.11.2016, 05:17:28

Ich lese die bip143, aber nicht verstehen, wie zur Berechnung der den Skriptcode der p2wsh.

bip143 sagte uns: Eine neue Transaktion digest-Algorithmus ist definiert, aber nur für sigops in der version 0 der Zeuge Programm Doppel-SHA256 von der Serialisierung: 1. nVersion der Transaktion (4-byte little endian) 2. hashPrevouts (32-byte hash -) 3. hashSequence (32-byte hash -) 4. outpoint (32-byte hash + 4 byte, little-endian) 5. den Skriptcode der Eingang (serialisiert als Skripte in CTxOuts) 6. Wert der Ausgabe ausgegeben, indem dieser Eingang (8-byte little endian) 7. nSequence der Eingang (4 byte, little-endian) 8. hashOutputs (32-byte hash -) 9. nLocktime der Transaktion (4-byte little endian) 10. sighash Typ der Signatur (ein 4 byte, little-endian)

Das Element 5:

Für P2WPKH Zeuge Programm, die den Skriptcode ist 0x1976a914{20-byte-pubkey-hash}88ac. Für P2WSH Zeuge Programm, wenn die witnessScript enthält keine OP_CODESEPARATOR, die den Skriptcode ist die witnessScript serialisiert als Skripte in CTxOut. wenn die witnessScript enthält OP_CODESEPARATOR, die den Skriptcode ist die witnessScript aber entfernen alles bis zu und einschließlich der letzten ausgeführten OP_CODESEPARATOR vor der Unterschrift prüfen opcode ausgeführt wird, serialisiert als Skripte in CTxOut. (Die genaue Semantik wird gezeigt, in der Beispiele unten).

I don ' T kown how, um herauszufinden, ob "die Signatur überprüfen der opcode wird ausgeführt". Dann habe ich das Beispiel "Native P2WSH" in bip143 und ich bin noch mehr verwirrt.

Hier ist das erste Beispiel für "Native P2WSH":

Das folgende ist eine nicht signierte Transaktion: 0100000002fe3dc9208094f3ffd12645477b3dc56f60ec4fa8e6f5d67c565d1c6b9216b36e0000000000ffffffff0815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f80000000000ffffffff0100f2052a010000001976a914a30741f8145e5acadf23f751864167f32e0963f788ac00000000

nVersion: 01000000
txin: 02 fe3dc9208094f3ffd12645477b3dc56f60ec4fa8e6f5d67c565d1c6b9216b36e 00000000 00 ffffffff
 0815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f8 00000000 00 ffffffff
txout: 01 00f2052a01000000 1976a914a30741f8145e5acadf23f751864167f32e0963f788ac
nLockTime: 00000000

Der erste input kommt von einem gewöhnlichen P2PK: scriptPubKey: 21036d5c20fa14fb2f635474c1dc4ef5909d4568e5569b79fc94d3448486e14685f8ac Wert: 1.5625 privater Schlüssel: b8f28a772fccbf9b4f58a4f027e07dc2e35e7cd80529975e292ea34f84c4580c Signatur: 304402200af4e47c9b9629dbecc21f73af989bdaa911f7e6f6c2e9394588a3aa68f81e9902204f3fcf6ade7e5abb1295b6774c8e0abd94ae62217367096bc02ee5e435b67da201 (SIGHASH_ALL)

Der zweite Eingang kommt von einem native P2WSH Zeuge Programm: scriptPubKey : 00205d1b56b63d714eebe542309525f484b7e9d6f686b3781b6f61ef925d66d6f6a0, Wert: 49 witnessScript: 21026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac <026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880ae> CHECKSIGVERIFY CODESEPARATOR <0255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465> CHECKSIG

Unterschreiben Sie es mit einem nHashType 3 (SIGHASH_SINGLE):

hashPrevouts: dSHA256(fe3dc9208094f3ffd12645477b3dc56f60ec4fa8e6f5d67c565d1c6b9216b36e000000000815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f800000000) = ef546acf4a020de3898d1b8956176bb507e6211b5ed3619cd08b6ea7e2a09d41

nVersion: 01000000
hashPrevouts: ef546acf4a020de3898d1b8956176bb507e6211b5ed3619cd08b6ea7e2a09d41
hashSequence: 0000000000000000000000000000000000000000000000000000000000000000
outpoint: 0815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f800000000
den Skriptcode: (siehe unten)
Menge: 0011102401000000
nSequence: ffffffff
hashOutputs: 0000000000000000000000000000000000000000000000000000000000000000 (dies ist der zweite Eingang, aber es gibt nur einen Ausgang)
nLockTime: 00000000
nHashType: 03000000

den Skriptcode: 4721026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac ^^ (bitte beachten Sie, dass die noch nicht ausgeführt OP_CODESEPARATOR ist nicht entfernt von den Skriptcode) preimage: 01000000ef546acf4a020de3898d1b8956176bb507e6211b5ed3619cd08b6ea7e2a09d4100000000000000000000000000000000000000000000000000000000000000000815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f8000000004721026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac0011102401000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000003000000 sigHash: 82dde6e4f1e94d02c2b7ad03d2115d691f48d064e9d52f58194a6637e4194391 öffentlicher Schlüssel: 026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880ae privater Schlüssel: 8e02b539b1500aa7c81cf3fed177448a546f19d2be416c0c61ff28e577d8d0cd Signatur: 3044022027dc95ad6b740fe5129e7e62a75dd00f291a2aeb1200b84b09d9e3789406b6c002201a9ecd315dd6a0e632ab20bbb98948bc0c6fb204f2c286963bb48517a7058e2703

den Skriptcode: 23210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac (alles bis auf die letzten ausgeführten OP_CODESEPARATOR, einschließlich OP_CODESEPARATOR werden entfernt) preimage: 01000000ef546acf4a020de3898d1b8956176bb507e6211b5ed3619cd08b6ea7e2a09d4100000000000000000000000000000000000000000000000000000000000000000815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f80000000023210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac0011102401000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000003000000 sigHash: fef7bd749cce710c5c052bd796df1af0d935e59cea63736268bcbe2d2134fc47 öffentlicher Schlüssel: 0255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465 privater Schlüssel: 86bf2ed75935a0cbef03b89d72034bb4c189d381037a5ac121a70016db8896ec Signatur: 304402200de66acf4527789bfda55fc5459e214fa6083f936b430a762c629656216805ac0220396f550692cd347171cbc1ef1f51e15282e837bb2b30860dc77c8f78bc8501e503

Die serialisierten signierte Transaktion wird: 01000000000102fe3dc9208094f3ffd12645477b3dc56f60ec4fa8e6f5d67c565d1c6b9216b36e000000004847304402200af4e47c9b9629dbecc21f73af989bdaa911f7e6f6c2e9394588a3aa68f81e9902204f3fcf6ade7e5abb1295b6774c8e0abd94ae62217367096bc02ee5e435b67da201ffffffff0815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f80000000000ffffffff0100f2052a010000001976a914a30741f8145e5acadf23f751864167f32e0963f788ac000347304402200de66acf4527789bfda55fc5459e214fa6083f936b430a762c629656216805ac0220396f550692cd347171cbc1ef1f51e15282e837bb2b30860dc77c8f78bc8501e503473044022027dc95ad6b740fe5129e7e62a75dd00f291a2aeb1200b84b09d9e3789406b6c002201a9ecd315dd6a0e632ab20bbb98948bc0c6fb204f2c286963bb48517a7058e27034721026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac00000000

01000000 0001 02 fe3dc9208094f3ffd12645477b3dc56f60ec4fa8e6f5d67c565d1c6b9216b36e 00000000 48 47304402200af4e47c9b9629dbecc21f73af989bdaa911f7e6f6c2e9394588a3aa68f81e9902204f3fcf6ade7e5abb1295b6774c8e0abd94ae62217367096bc02ee5e435b67da201 ffffffff 0815cf020f013ed6cf91d29f4202e8a58726b1ac6c79da47c23d1bee0a6925f8 0000000000 ffffffff

01 00f2052a01000000 1976a914a30741f8145e5acadf23f751864167f32e0963f788ac

0003

47304402200de66acf4527789bfda55fc5459e214fa6083f936b430a762c629656216805ac0220396f550692cd347171cbc1ef1f51e15282e837bb2b30860dc77c8f78bc8501e503 473044022027dc95ad6b740fe5129e7e62a75dd00f291a2aeb1200b84b09d9e3789406b6c002201a9ecd315dd6a0e632ab20bbb98948bc0c6fb204f2c286963bb48517a7058e2703 4721026dccc749adc2a9d0d89497ac511f760f45c47dc5ed9cf352a58ac706453880aeadab210255a9626aebf5e29c0e6538428ba0d1dcf6ca98ffdf086aa8ced5e0d0215ea465ac

  1. Hier "witnessScript" ist RedeemScript, richtig?
  2. was ist die Bedeutung von 'CODESEPARATOR' hier?
  3. warum müssen berechnen den Skriptcode(OP_CODESEPARATOR nicht entfernt && OP_CODESEPARATOR ist entfernt), und beide legen Sie in die Zeugnis-Daten?

Mein Kopf ist gefüllt mit Frage... Wer kann helfen? vielen Dank.

+142
Alireza Mohamadi 13.10.2010, 23:39:57

Es war eine längere Diskussion-thread im bitcointalk, ich proide zwei Referenzen:

https://bitcointalk.org/index.php?topic=2333913.msg23758008#msg23758008

https://bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041

(Beide threads lohnen sich zu Lesen, in seiner Gesamtheit). Kurz gesagt: bevor Knoten mit einander sprechen, überprüfen Sie die Funktionen. Und ein segwit Knoten verringern würde, die Informationen für eine non-segwit Knoten, so dass er verstehen kann, den details der Transaktion.

+132
Heidi Fredrick 21.11.2018, 07:12:55

Ich habe gelesen, dass pub-keys werden nicht ausgesetzt, bis Sie verbrachte aus. Kann mir jemand zeigen, ein Beispiel für eine Transaktion, die vor dem pub key ausgesetzt und dann nach? Wo muss ich schauen?

+46
dorofeev200 15.05.2017, 14:29:13

Soweit ich das verstehe desto mehr Gebühren, die Sie bezahlen, desto schneller die Lieferung. Was ich nicht verstehe ist, die Gebühren sind angegeben in Kilobyte an Daten, nicht viel Geld.

Vielleicht wäre hier hilfreich ein wenig tiefer grundlegendes Verständnis, wie bitcoin funktioniert hinter den kulissen, vielleicht sollte ich dieses Buch Lesen?

Ich weiß nicht, aber je größer das Geld, desto größer die Blockgröße? Oder das neuere das Geld, desto größer die Blockgröße? Oder ein bisschen von beidem? Als die miner lösen mehr und mehr komplexe Berechnung Probleme(?). Und je älter die bitcoin-block ist, desto günstiger ist der transfer, egal wie groß der Betrag ist?

Betrachten 2 Fälle:

1. Sie möchten zur Optimierung der niedrigsten oder null-Gebühren: die Zeit ist nicht ein Problem. In diesem Fall, wie ich verstehe bitcoins übertragen werden, in Blöcken zu sparen Gebühren. Tut es auch erhöhen Sie die Privatsphäre auch? Wie viel Zeit es braucht, um die übertragung einer Billiarde US-Dollar (oder etwas weniger), und was ist das absolute minimum-Gebühr für einen so großen transfer?

2. Sie benötigen sofortige Lieferung. Ich bin mir nicht sicher über die Gebührenstruktur (kommt es auf dem client oder Brieftasche, die Sie verwenden?) aber ist es eine Feste oder variable % oder einen festen Betrag pro Transaktion? In der Qt-client Sie können einen Betrag für die Gebühren, aber wie berechnen Sie verbringen den absoluten Mindestgebühren für eine sofortige Lieferung? Das wäre optimal, richtig?

Als e-wallets eine Freigabe Adresse, die übertragung von Mitteln zwischen bitcoin-Adressen von der gleichen e-wallet-frei sein sollte, und sofort, richtig? Instawallet?

Habe ich die Wahl ob ich will für Geschwindigkeit optimieren oder Kosten (und vielleicht Datenschutz?) mit den verschiedenen e-wallet-Anbieter? Sagen wir ich will zu verbringen, die sofort von einem e-Wallet-1 BTC, aber ich möchte vorher wissen, wie viel ich überweisen auf das Portemonnaie im Voraus (langsam transfer, keine Gebühren) um die entsprechende (schnell -) Gebühren.

+35
curioustechizen 08.05.2015, 16:19:33

Die Transaktion können Sie mit der Raute (des Dokuments) als Kommentar. Das wäre der Beweis, dass die Datei existierte zu dieser Zeit.

Es spielt jedoch nicht magisch Nachweis, dass ein Dokument nicht geändert wurde. Sobald Sie ein Dokument, speichern Sie den Hashwert auf die blockchain, dann zu überprüfen, wenn es nicht geändert wurde, können Sie abrufen, den hash überprüfen, ob die aktuelle version der Datei-hashes auf den gleichen Wert.

Es wird höchstwahrscheinlich eine Bibliothek für diese, ich würde nicht wissen, den Namen einer bestimmten jedoch.

+18
DIMAS SAPUTRA 11.03.2013, 09:42:18

Fragen mit Tag anzeigen