Warum ist das Script benötigt?

Wie ich es sehe, ist die script-Funktion ist eine der kompliziertesten Funktionen in das gesamte Protokoll. Es verfügt über

$ cat src/script.h|grep '^ *OP_'|wc -l
118

Anweisungen, und erfordert einen stack zu berechnen.

Die wichtigste Einschränkung, es macht es kompliziert zu beantworten, eine einfache und Allgemeine Frage - "wie viel bitcoins funktioniert mein key haben".

Mit einem komplizierten script ein Fehler in der script-engine ist eher, und so ist es möglich, dass das Netzwerk aufgeteilt wird (50% - client akzeptieren dieser Transaktion 50% nicht, bevor Sie feststellen, Sie haben zwei lange block-Ketten. Eine mehr, die als ungültig betrachtet wird von 50% der Kunden, und einer kürzeren, als gültig angesehen, die von beiden).

Was ist das rational hinter einem solchen system? Warum kann nicht jede Transaktion werden Sie einfach "move X BTC aus-Taste K-Taste, unterschrieb ich den privaten Schlüssel-K"?

(Wenn in der Tat Sie wollen, etwas Komplex, das nicht in einem anderen system und nicht in bitcoins block).

+223
ijrjkflrf 19.02.2010, 10:22:16
30 Antworten

Gibt es eine Möglichkeit, kann ich das extrahieren der fromAddress, toAddress, - Menge und-Gebühren vom bitcoin-Zeichen Transaktion?

eg: SignTransactionValue = signAddress(fromAddress, toAddress, Betrag, Gebühren, privateKey)

Wie kann ich extrahieren, zurück fromAddress, toAddress, Höhe und Gebühren aus der signTransactionValue?

+989
Mike Christian 03 февр. '09 в 4:24
Fragen über Vertcoin sind off-topic.
+988
Dewayne 30.10.2014, 08:37:36

Obwohl der Teufel steckt natürlich im Detail, wie konnte man solch ein upgrade-Prozess Aussehen? und Was sind die verschiedenen upgrade-Mechanismus für die wichtigsten [v1 - v16] und Moll [v1.0 - v1.127] - version ändert?

Als Peter Wuille erwähnt in den Kommentaren, "Es gibt nicht einmal einen Vorschlag. Diskussion über Aktivierung und seinen Auswirkungen ist, etwas zu sein hatte, nachdem es einen ausgearbeiteten Idee, die Umsetzung und klare buy-in von der Gemeinschaft. Man könnte formulieren Sie die Frage ganz allgemein als "Was-Aktivierungs-Methoden sind verfügbar für die Zukunft softforks?", aber niemand kann diese Frage beantworten, für etwas, das nicht existiert"

Wie ist die weiche Gabel signalisiert?

Zunächst weiche Gabel verwendet, um, signalisiert werden mit der block-version-Nummer, aber aufgrund der vielen Einschränkungen BIP-9 (Lesen Sie die vollständige Dokumentation hier) verwendet. Im Bulletin 9 wird die block-Versionsnummer interpretiert wird, als bit-Feld, anstatt ein integer ist (wir haben derzeit 29 bits, wo können wir dieses signal). Bulletin 9 auch legt die maximale Zeit für die Signalisierung und Aktivierung. Auf diese Weise Bergleute nicht brauchen, um das signal für immer. Wenn es ein Vorschlag ist, nicht aktiviert innerhalb der TIMEOUT-Zeit (festgelegt im Antrag), gilt der Antrag als abgelehnt. Der Antrag kann erneut gesendet werden, für die Signalisierung mit einem anderen bit, die Erneuerung der Aktivierungs-Zeitraum.

Wie ist der Konsens ändern durchgesetzt?

BIP-9 zählt die Aktivierung Signaltransduktion in ganzen Intervallen basierend auf der Schwierigkeit retarget Zeitraum von 2016 Blöcke. Für jeden retarget Zeit, wenn die Summe der Blöcke-Signalisierung für einen Vorschlag von über 95% (1916 2016), der Vorschlag wird aktiviert retarget Zeit später. Vorschläge start in den DEFINIERTEN Zustand, sobald die Parameter bekannt sind (bestimmt) in der bitcoin-software. Für Blöcke mit dem Median der Vergangenheit (MTP) nach dem start Zeit, den Vorschlag Zustandsübergänge GESTARTET. Wenn die Abstimmung Schwelle überschritten ist, innerhalb eines retarget Zeit und das Zeitlimit noch nicht überschritten ist, wird der Vorschlag Zustandsübergänge zu LOCKED_IN. Eine retarget Zeit später, der Vorschlag wird AKTIV. Vorschläge bleiben in den AKTIVEN Zustand wechselt ständig, sobald Sie erreichen, dass Staat. Wenn das timeout abläuft, bevor die Abstimmung Schwellenwert erreicht worden ist, der Vorschlag der Zustand ändert, GESCHEITERT, der angibt, ein abgelehnter Vorschlag. GESCHEITERTE Vorschläge in diesem Zustand bleibt ewig. Unten ist ein Diagramm vom Mastering Bitcoin Buch. BIP-9 State Transition Diagram

Ist die v1 Veränderung als "umstritten" und zeitaufwendig, da v0 wurde?

Wieder, gibt es nicht sogar einen richtigen Vorschlag gibt.

Was sind die Aufgaben der Knoten Operatoren und Bergleute?

Bergleute werfen Ihre Stimmrechte auf die verschiedenen Vorschläge durch Abbau der block mit dem bestimmten bit in dem block-version-Nummer. Voller Knoten, wird entscheiden, ob Sie möchten, um zu behandeln, diese Blöcke als gültig oder nicht, und ob Sie sollte propagieren Sie die Blöcke, um das gesamte Netzwerk.

+942
Michael Ettlinger 18.08.2011, 17:39:21

Es sei denn, Sie sind ein Bergmann, brauchen Sie Sie nicht zu kaufen Bitcoins; und angesichts der aktuell begrenzten Bereich des Bitcoin-nur die Leistungen, die Sie brauchen, um zu verkaufen, Bitcoins auch.

Während weder Kauf oder Verkauf von Bitcoins ist eine explizite Altersbeschränkung, mehr als holding und Ausgaben Taschengeld bei einem Auto-boot-Verkauf stellt - wenn Sie kaufen oder verkaufen Bitcoins von einem Konto werden Sie eingeschränkt durch das Alter Beschränkungen.

+835
tarta73 13.09.2011, 10:54:59

Das Exodus-Projekt von Interesse sein könnten: http://www.exodus.io Es ist ein multi-currency-desktop-Geldbörse mit shapeshift (altcoin exchange) bereits integriert. Sie können bereits den download einer beta-version, die offizielle Einführung wird in diesem Sommer nach den Projekten homepage.

Ich kann nicht finden, ein Beispiel besser als https://www.omniwallet.org rechts jetzt, aber ich denke, es hat andere multi-currency-online Brieftaschen für eine Weile herum. Exodus jedoch ist der erste Desktop-multi-currency-wallet, die ich kenne.

+829
TargoDove 16.06.2017, 08:24:18

Ich machte Zwietracht bot für Spaß mit Tipps, tränken und Regen von altcoin. Wenn ich versuche zu senden, die große Menge, die durch das gleiche bot. Es ist mir "Transaktion zu groß" Fehler. Ich habe den Grund gefunden hier: Transaktion-Erstellung ist fehlgeschlagen

Ich brauche Hilfe bei der Lösung dieses Problems. Kann mir jemand helfen?

Vielen Dank im Voraus

+821
zackteo 23.09.2013, 06:10:37

versuchen Sie das zurücksetzen des cache auf jaxx und lassen Sie es re-sync, die Münzen erscheinen sollte

+802
Felkyr 08.04.2016, 08:20:47

Die Brieftasche, die ich verwenden, ElectronCash, hat die Fähigkeit, erstellen Sie mehrere Adressen. Bitcoin und Bitcoin Bargeld verwenden die gleichen Adressen und private-key-format, so können Sie Ihre Bitcoin-Adressen als Bitcoin-Cash-Adressen.

Bitcoin-Cash nutzt jetzt auch die bech32 - Adresse-format.

+792
Awani 27.08.2013, 14:51:09

Diese Programme werden verwendet, um Bitcoin die unit-tests, damit die Entwickler überprüfen können, dass verschiedenen teilen des Codes arbeiten, wie entworfen. Sie brauchte nicht durch den Endbenutzer.

Aus der Datei src/test/README.md:

Die Quellen in diesem Verzeichnis werden unit-test-Fällen. Boost enthält eine unit-Test-Frameworks, und da bitcoin bereits verwendet steigern, macht es Sinn, nutzen Sie einfach dieses Rahmens, anstatt zu verlangen, dass Entwickler konfigurieren einige andere Rahmen (wir wollen möglichst wenige Hindernisse zu erstellen unit-tests wie möglich).

Das build-system eingerichtet ist, zu kompilieren eine ausführbare Datei namens "test_bitcoin", dass führt alle unit-tests. Die Haupt-source-file aufgerufen wird test_bitcoin.cpp, die einfach enthält andere Dateien, die enthalten die eigentlichen unit-tests (außerhalb von ein paar benötigt Präprozessor-Direktiven). Das Muster ist das erstellen einer test-Datei jede Klasse oder der Quell-Datei, die Sie wollen, erstellen von unit-tests. Die Datei-Namensgebung "_tests.cpp" und so Dateien sollten wickeln Sie Ihre tests in einer test-suite aufgerufen "_tests". Für eine Beispiele für dieses Muster, untersuchen uint160_tests.cpp und uint256_tests.cpp.

Für die weitere Lektüre, fand ich folgende website hilfreich sein erklären, wie das boost unit test framework funktioniert: http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/.

+675
Igor Draskovic 13.09.2015, 23:34:01

Sie können mit bitcoinj mehrere wallets (einfach Peer.addWallet(wallet) mehrere Male), aber es ist nicht entworfen, um eine gute Skalierbarkeit in einem solchen Szenario. Je nach Ihrer Ressourcen und Aktivitäten auf die Geldbörse, zwei, drei oder fünf Geldtaschen funktionieren könnte, ok. Aber Hunderte wird fast sicher nicht funktionieren.

+664
Orion751 07.06.2011, 13:03:09

Beim öffnen einer Blitz-Kanal, gibt es Daten sofort geschrieben werden, um die blockchain? Ich meine, der Kanal ist nicht als geöffnet, bis die Daten auf der blockchain. Die Daten werden für die Finanzierung der Transaktion, oder möglicherweise eine Art von 2-zu-2 multisignature Skript, ich weiß nicht.

Wenn die Antwort ja ist, dann... ist es möglich, dass ein geöffneter Kanal wird ungültig, aufgrund eines blockchain-fork, d.h., die blockchain, wo sich die Daten befinden, wird ersetzt durch eine längere,widersprüchliche blockchain?

Wenn die Antwort weiter "ja", dann ist es möglich, dass irgendeine Art von Doppel-Ausgaben können Angriffe gestartet werden auf den Blitz-Netzwerk?

+594
Jon Schneider 17.11.2012, 05:23:50

Da Bitcoin hat einen 1 MB block size limit (ca. 2k-Transaktionen verarbeitet alle 10 Minuten), wäre ich richtig, wenn er sagt, dass so bald als die Welt beginnt mit BitCoin häufiger zu tun, was Währung vorgesehen ist, den Kauf von waren und Dienstleistungen, dann ist die Anzahl der Transaktionen so groß sein, dass der Rückstau überflutet das system?

Vielleicht, vielleicht auch nicht. Als Transaktionsvolumen steigt, da es nur eine begrenzte Versorgung mit Blöcken, müssen die Benutzer konkurrieren um block Raum durch die Erhöhung der Gebühr, die in satoshis/kB. Dies könnte die Benutzer, um zu versuchen, zu nutzen, um weniger Speicherplatz durch das konsolidieren mehrerer Transaktionen, zum Beispiel, oder die Nutzung von Methoden wie getrennt Zeuge. Es könnte auch dazu führen, off-chain-Transaktionen für kleine Gegenstände, die nicht brauchen, zu übertragen, um die blockchain, wenn Sie Teil einer Gruppe von vielen Transaktionen, die im Laufe der Zeit.

Gibt es eine Möglichkeit zur Verbesserung der Bitcoin Knoten so zu erhöhen Bitcoin block-Größe?

Dies würde erfordern, Konsens aus dem Netz. Es gibt auch trade-offs für die Erhöhung der Blockgröße, also es ist nicht unbedingt eine Verbesserung zu tun. Mit größeren Blöcken, propagation delay innerhalb des Netzes und Validierung-Zeit zum problem wird und Gabel-rate erhöht. Es könnte auch dazu führen, miner Zentralisierung, weil Sie die Netzwerk-Ressourcen und Rechenleistung zu mir, zu übertragen, und überprüfen Sie die Blöcke schneller. so unbegrenzt die Blockgröße erhöhen, ist nicht als eine gute Lösung zur Skalierung.

Es gibt viele mögliche Verbesserungen, die gemacht werden können zu helfen, Bitcoin Maßstab wie die Erhöhung der vollständigen Knoten-Leistungsfähigkeit: z.B. Signatur-Prüfung, block-Validierung, etc. und off-chain-Transaktion Netzen, wie dem lightning-Netzwerk.

Sehen https://en.wikipedia.org/wiki/Bitcoin_scalability_problem

+570
EricLarch 18.11.2014, 03:34:43

Die Formel ist eine vernünftige Näherung. Es scheint mir, als ob deine Berechnung richtig ist, und der blog-Autor hat einen Fehler gemacht.

Es ist eine kleine Ungenauigkeit, dass die Zahl der Blöcke pro Monat ist nicht fest an 6*24*30, sondern unterliegt zufälligen variation. So eine leicht verbesserte Lösung zu erarbeiten die Durchschnittliche Anzahl von terahashes benötigt für einen block (h = 11000000 * 600, vorausgesetzt, dass das Netzwerk hash-rate ist stabil und der block Schwierigkeit entsprechend angepasst). Dann ist Ihre Wahrscheinlichkeit des Gewinnens eines Blocks auf jeder Ihrer hashes q1 = 1 / h, und führen Sie M = 12.5 * 60 * 60 * 24 * 30 die hashes in einem Monat. Behandeln, wenn Sie die Anzahl der Blöcke, die Sie gewinnen, wie eine Poisson-Verteilung, die Wahrscheinlichkeit zu gewinnen, einen block in einem Monat ist gegeben durch λ * exp(-λ) wobei λ = M*q1. Dadurch ergibt sich die etwas größere Anzahl 0.005273.

+533
jbright 31.10.2010, 17:25:37

Die neue bitcoins werden generiert, wenn eine spezielle Transaktion genannt Coinbase-Transaktion, die die erste Transaktion in einem block. Die Transaktion verfügt über spezielle Eingänge, die nicht verbringen bisherigen Transaktionen, also die bitcoins sind völlig neu. Die Bergleute erstellen dieser Transaktion, wenn Sie einen block erstellen, der abgebaut werden, die Zahlung der block Belohnung für sich selbst. Also, wenn Sie sind die erfolgreichen Miner der den block, die Transaktion zahlt und Sie erhalten den block reward.

Beachten Sie, dass die block-Belohnung ist derzeit noch 12,5 BTC pro block nicht 25, wie die Belohnung Halbierung auf 2016-07-09.

+529
Joshua Nurczyk 02.03.2011, 22:15:08

Leider, zumindest für bitcoin und litecoin (und wahrscheinlich die meisten bitcoin-Derivat-block-Ketten), der einzige Weg, um diese Informationen zu erhalten, ist eine Knoten - /client-hören auf die Zeit, die Transaktion erscheint auf dem Netzwerk.

Andernfalls wird Ihr Kunde einfach das block-s Zeitstempel für jede Transaktion.

Dieses design bedeutet, dass das abrufen dieser Informationen ist nur möglich, wenn über eine Dritte Partei, wer war die Aufrechterhaltung einer Kopie der blockchain, oder potenziell immer einen dump von einer vertrauenswürdigen Quelle, die blockchain, das sollte (glaube ich, obwohl ich es noch nicht getestet ich) halten die ursprüngliche client-timestamps.

Wäre toll, wenn jemand könnte dies bestätigen. Ich werde mich, wenn ich die chance bekomme es zu testen, aber, die möglicherweise nicht in absehbarer Zeit geschehen.

+491
user3320 03.02.2018, 13:46:11

Ich versuche zu schaffen und bauen eine funktionierende Gabel des Bitcoin, um zu verstehen, wie es arbeitet auf Quellcode-Niveau. Ich sehe eine Menge von Artikeln, die erklären, wie man erstellen Sie altcoins, aber Sie sind nicht sehr hilfreich für das lernen Zweck, da Sie überspringen eine Menge von details, und neigen dazu, zu sagen, was zu tun, ohne zu erklären, warum.

Bei dieser Frage konnte ich nicht finden jeden Artikel/Dokument auch nur im entferntesten irgendjemandem etwas über den öffentlichen Schlüssel für die Generierung der genesis-block-ich glaube, das ist eine wichtige Dinge zu wissen, zumindest, weil es war verwendet zum generieren der genesis-block des Bitcoin. Blick auf den Quellcode:

Bitcoin-0.1.5 - main.cpp @1490:

txNew.vout[0].scriptPubKey = CScript() << CBigNum("0x5F1DF16B2B704C8A578D0BBAF74D385cde12c11ee50455f3c438ef4c3fbcf649b6de611feae06279a60939e028a8d65c10b73071a6f16719274855feb0fd8a6704") << OP_CHECKSIG;

Bitcoin 0.8.0 main.cpp @2715

txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;

Diese beiden public-keys sind die gleichen. Zuerst erschien in der ersten version des Bitcoin-soweit ich sehen kann, in dem Github-repo. Zweite ist die aktuelle Auslastung, bevor es völlig aus dem Quellcode entfernt.

Meine Fragen sind:

  1. Was ist dieser öffentliche Schlüssel? Ist dies [angeblich] Satoshi persönlichen öffentlichen Schlüssel oder nur ein zufälliger Schlüssel generiert, die für das wohl der Generierung des genesis Blocks?

  2. Gibt es irgendeine andere Anwendung für diesen öffentlichen Schlüssel oder es ist nur sinnvoll, wenn die Generierung des genesis Blocks? z.B. signieren von Transaktionen? überprüfung der Integrität der abgebauten Blöcke?

  3. Es gibt verschiedene Formate für Öffentliche/Private Schlüsselpaare. Was ist das format für diesen speziellen Schlüssel? Gibt es eine built-in-API/utility innerhalb des Bitcoin-Quelle, die verwendet werden könnten, für die Erzeugung oder Prüfung der Gültigkeit der Schlüssel?

  4. Was sind die Folgen der mit einem gebrochen/ungültig public key in dieser Phase? Angesichts der Tatsache, dass die genesis-block ist unspendable.

+484
Reallusion Support 15.04.2016, 12:27:41

das nervt, ist mir passiert vor einigen Jahren.

Da der pc frisch formatiert und installiert eine av-soft, ich denke, dass die Regeln sich malware in Ihr neues system. Ich denke, es ist mehr wahrscheinlich, dass Sie hatte malware in das alte und es angegriffen, durch reinen Zufall, nachdem Sie begann mit der Arbeit am neuen system.

Wiederherstellung der wallet-Datei vom alten Rechner wird dir nicht helfen. Es werden die gleichen Daten.

Sie nicht eigenen bitcoins, Sie besitzen den privaten Schlüssel zu entsperren Eingänge. Wenn Ihre client-report jene Eingänge, wie geschickt Sie irgendwo nicht bedeutet, dass jemand anderes verwendet Ihr Schlüssel zum signieren der Transaktionen. Elektron stabil ist, das kann nicht sein, ein Fehler oder eine Brieftasche Korruption Problem.

Tut mir Leid, Mann.

+435
viwa sajon 22.02.2010, 21:27:46

Ich war überzeugt, dass der einzige Unterschied zwischen der Generierung von Adressen beginnend mit '1' und '3' wurde einfach das ändern des Präfix Hinzugefügt, um das verdauen von 0x00 bis 0x05 nach der ripemd160 Teil.

Obwohl die Adressen, die ich bekommen, die nicht mit den Adressen von Bitcoin-Core-wallet, wenn beim import die gleichen privaten Schlüssel, und auch von der https://segwitaddress.org/. Hat das Präfix 04 bleibt gleich oder ändert sich auch? Es gibt etwas, was ich bin fehlt. Könnten Sie bitte helfen? Danke.

[BEARBEITEN]

Dies ist die Methode, die ich im moment haben, und immer noch nicht funktioniert. Ich bin sicher etwas falsch..

def getPublicAddress(self, digest):

 oSk = ecdsa.SigningKey.from_string(digest, Kurve=ecdsa.SECP256k1) 
 oVk = oSk.get_verifying_key()

 hexlify = codecs.getencoder('hex') 
 selbst.pubkey = str(hexlify(b'\04' + oVk.to_string())[0].decode('utf-8'))

 ripemd160 = hashlib.neue('ripemd160')
 keyhash = hashlib.sha256 ("codecs".decode(self.pubkey", "hex")).digest()
ripemd160.update(keyhash)


 redeem_script = hashlib.neue('ripemd160')
 redeem_script.update(b'\x00\x14' + ripemd160.digest())

 prefix = b'\x05' 
 m = Präfix + redeem_script.digest()
 checksum = hashlib.sha256(hashlib.sha256(m).digest()).digest()[:4] 

 zurück base58.b58encode(m + Prüfsumme)
+380
Congregabo 11.04.2019, 04:37:14

Ich habe diese Frage auf Bitcoin.org GitHub-repository und ich habe die Antwort.

Laut @harding, von Github, die Inhalte der Bitcoin.org allgemein lizenziert unter MIT, nur nicht, wenn angegeben. Hier ist seine ausführliche Antwort:

der MIT-Lizenz, wie gesagt. Sie können auch prüfen, ob das KOPIEREN der Datei in das repository, die sagt;

Die geistigen Eigentumsrechte an den Dateien liegen bei den jeweiligen Autoren. Einige der Dateien können lizenziert unter MIT-Lizenz (MIT) verfügbar http://opensource.org/licenses/MIT oder anderen Lizenzen. Entsprechende Lizenzinformationen finden Sie im header der Datei oder in dem Ordner, der die Datei enthält.

Im Allgemeinen, text-Dateien die Lizenz Informationen, die in der Nähe oben und Bild-Dateien die Lizenzinformationen in eine Datei in dem Verzeichnis.

@saivan kommentiert:

[FAQ] bestimmte Bilder, die auf der Seite aufgeführt sind, nicht MIT-Lizenz (siehe die Datei COPYING hier: https://github.com/bitcoin/bitcoin.org/tree/master/img/faq). Dies gesagt, obwohl ich bin kein Jurist, ich denke, Sie können ganz einfach mit screenshots, wie dies ohne viel copyright-Probleme

Vielen Dank für Ihre Antworten, Jungs, aber ich werde wählen, diese eine als die beste Antwort, denn das ist die Antwort, die ich wirklich wollte.

+345
Nigel Touch 07.08.2019, 15:58:02

Es ist nicht möglich, diese Frage zu beantworten, ohne zu wissen, was falsch mit dem Telefon. Ihre beste Wette könnte der Besuch einer Werkstatt. Sagen Sie Ihnen, Sie müssen die Daten auf diesem Handy.

+316
vvekef 31.10.2012, 05:01:08

Lets sagen, dass ich eine sehr geringe Transaktionsgebühr für eine bitcoin-Transaktion(von einem meiner eigenen Brieftaschen zu einem anderen). Ich habe auch mining-Geräte, die der Bergbau für bitcoins. Gibt es trotzdem zu bekommen, dass die Transaktion Anfrage direkt an mich gerichtet ? In anderen Worten kann ich meine eigenen Geschäfte, indem Sie Priorität? Wenn ja, wie mache ich das?

+301
Akash jangid 28.01.2018, 04:00:07

Blick auf diese und benutzen Sie einfach die gleichen Bedingungen für andere altcoins https://en.bitcoin.it/wiki/Mining

+281
Dot Higgins 04.07.2016, 17:59:04

Wenn wir importieren, private Schlüssel mit bitcoin-cli importprivkey <key>, ist es sowieso um herauszufinden, wenn der import fertig war?

Ich bin der Hoffnung, ein timestamp enthalten ist.

+277
Travis Morgan 18.10.2016, 20:24:42

Der Auszug zeigen Sie uns ist für den vorrangigen Bereich für die Blöcke. Der Begriff der "Priorität" in der source code entspricht modifizierten bitcoin Tage zerstört pro kilobyte. Es ist nur für einen kleinen Teil der block-Größe (max 50kB standardmäßig in Bitcoin Core 0.11.x und max 0kB standardmäßig bei 0.12.x, es kann geändert werden, mit einer Konfiguration-Einstellung).

Blick auf den rest der CreateNewBlock, die verwendet Sortierung nach feerate, durch Durchlaufen eines index auf der mempool ist pre-sortiert nach feerate (=satoshi pro kB).

+269
Simonb 25.06.2017, 08:17:32

was ist der Grund für das hashing unsere öffentlichen Schlüssel für die Verwendung in P2PKH?

Es gibt keinen link zum ECDSA, außer, dass eine priv-key erzeugt ein pub key. Aber in der Transaktion, würden Sie die Signatur und den pubkey. Also hier reden wir mehr Privatsphäre (nicht ECDSA-Sicherheit). Wenn ein tx erscheint mit "zahlen, um public-key", dann wird der tx-Ausgaben-Skript sieht wie folgt aus:

ScriptPubKey= <Public Key> OP_CHECKSIG
ScriptSig= <Unterschrift>

in der Erwägung, dass P2PKH nutzt diese:

ScriptPubKey= OP_DUP OP_HASH160 <Öffentliche KeyHash> OP_EQUAL OP_CHECKSIG
ScriptSig= <Signature><Public Key>

Im ersten Beispiel sehen Sie den verwendeten öffentlichen Schlüssel, wenn die Transaktion generiert wird (in der ScriptPubKey-Feld). Bergleute verwenden würden, eine solche Art von tx eine Menge. In der P2PKH tx sehen Sie die pubkey nur, wenn es ausgegeben wird.

Beachten Sie auch den Unterschied auf die Ausgaben der Bedingung, fügt eine Schicht von Sicherheit. Der stack führt das script aus der ScriptPubKey, durch kopieren (OP_DUP) das Letzte Element auf dem stack (<Public-Key>). Dieser öffentliche Schlüssel wird anschließend ein Hashwert (OP_HASH160) und überprüft (OP_EQUAL). Dies bedeutet, dass, wenn Sie verbringen möchten, ist diese Transaktion, die Sie haben, um zu zeigen, dass Sie können konvertieren Sie Ihre öffentlichen Schlüssel (in der ScriptSig) zu den gleichen hash, als Absender setzen als Referenz in den tx (der pubkey-hash). Wie hashes, sind ein one-way-Funktion, diese ist nicht reversibel, und Sie können nicht "stehlen" - Transaktionen. Stellen Sie sich ECDSA war irgendwie gebrochen, dann Hashen ist noch nicht gebrochen... Sie könnten in der Lage sein, diese zu unterzeichnen tx, aber Sie würden immer noch den richtigen hash. Das ist nach heutigen Erkenntnissen unmöglich. Obwohl mit gebrochenen ECDSA alle anderen seltsamen Dinge, die passieren könnte...

+256
janjan desert 07.01.2016, 08:34:42

Wie schnell könnten Sie möglicherweise eine blockchain wie bitcoins'? Könnte Blöcke Hinzugefügt werden, so schnell als eine Mikrosekunde, während immer noch eine funktionale Währung?

+224
Haryanto Chandra 11.01.2012, 21:18:05

so bekam ich eine 0.8 btc auf mein Papier Geldbeutel..und in der Regel habe ich überprüft, das Gleichgewicht auf einer täglichen basis auf blockchain.info.

Und die seltsame Sache, die gestern passiert ist,meine Papier-Brieftasche schickte meine btc in der Höhe von 0.2 btc an unbekannte Adresse.. Und ich schwöre, dass ich meine paper-wallet sicher und nie ausgesetzt..nach dem lernen, dass ,ich entscheiden, die übermittlung der restlichen btc auf meiner wallet auf blockchain-apps.

Bitte jemand beantworten kann hier ist mein Papier-wallet-Adresse. diese.https://blockchain.info/address/14w344ohpe2M35BkScgcFdANuei5MPK49Z

Und hier die Transaktion. https://blockchain.info/tx/8d1d918dcd045732c79541662309b9fe83e7faea99e3e0e757e3620167b2bb7a

+167
Pili 15.02.2010, 17:28:53

Nur die entsprechenden trade-offs zu Vertrauen, eine andere Partei, die mit Ihrem Geld vs Vertrauen zu sich selbst nicht, Ihre Daten zu verlieren.

Wenn Sie halten Sie Ihr Geld auf einem exchange-website oder online-wallet-service, werden Sie nicht nur Vertrauen auf Ihre guten Absichten, sondern auch, dass Sie im Geschäft bleiben und einen sicheren service. Eine erhebliche Anzahl von Börsen und OWS beeinträchtigt wurde, oder setzen Sie aus dem Geschäft.

Wenn Sie halten Sie Ihr Geld auf Ihre eigenen Geräte, werden Sie Vertrauen zu sich selbst nicht gehackt werden, täuschen Sie in senden von Geld an eine falsche Adresse, und halten Sie Ihre Daten sicher. Die letztere erfordert, dass Sie sich in einen anständigen backup-Richtlinie und haben ein grundlegendes Verständnis, was Sie tun. Es wurden zahlreiche Fälle von persönliche Computer gefährdet ist (google zum Beispiel "AllInVain"), Menschen verlieren Ihre Daten, um hardware-Fehler die zimmerreserviereung, ohne das eine Sicherung, oder vor kurzem, jemand wirft seine Festplatte im Wert von $7Mio in den Müll.

+154
Anuj Singh 10.02.2018, 01:43:19

Nein, der DNS-Samen nicht mit einer Bitcoin-client. Die DNS-seed-Knoten nur eine Liste von IP-Adressen ausgeführt werden (oder wurden vor kurzem ausgeführt) einen Bitcoin-client. Im Quellcode kann man sehen, dass der DNS-seed-Knoten kontaktiert werden, nur um eine Liste von Adressen.

Quelle: https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L1210

+89
martiall 05.02.2015, 02:37:03
 von bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
import logging
RPC_USER, RPC_PWD,URL,PORT="RPC_USER","RPC_PWD","URL","PORT"


CONN="http://%s:%[email protected]%s:%s"%(RPC_USER, RPC_PWD,URL,PORT)
versuchen:
 rpc_connection = AuthServiceProxy(CONN) 
start=10
end=0
 count=0 
erhalten=[]
senden=[]
 while True:
trans=rpc_connection.listtransactions("prologic",10,Ende)
 für tran in trans: 
 wenn(tran['Kategorie'] == "empfangen"):
 erhalten.insert(0,tran) 
sonst:
senden.insert(0,tran)
 wenn(len(trans) ist 0):
Pause
sonst:
Ende=Ende+10
count=count+len(trans)


all_trans={"total":count,"receive":{"count":len(receive),"trans":receive},"send":{"count":len(send),"trans":send}}
print(all_trans)

except Exception as e:
 print (str(e))
+82
hexhov 04.03.2017, 12:15:01

Fragen mit Tag anzeigen