POS- und UTXO-Modell von NEXBIT Coin (NBC) & NDT Coin

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining


T. Rahaman GPG: 3F5A5C3A62271679 (Hauptentwickler NBC Coin Project)

Die fehlende Erklärung von Proof of Stake Version 3

In jeder Kryptowährung muss es einen Konsensmechanismus geben, der das gesamte verteilte Netzwerk synchron hält. Als Bitcoin herauskam, führte es das Proof of Work (PoW) -System ein. PoW wird durch kryptografisches Hashing eines Datenelements (des Blockheaders) immer wieder durchgeführt. Wegen der Funktionsweise von One-Way-Hashing. Eine winzige Änderung in den Daten kann dazu führen, dass ein ganz anderer Hash daraus entsteht. Die Teilnehmer des Netzwerks stellen fest, ob das PoW vollständig gültig ist, indem sie beurteilen, ob der endgültige Hash eine bestimmte Bedingung erfüllt, die als Schwierigkeit bezeichnet wird. Die Schwierigkeit ist ein sich ständig änderndes „Ziel“, das der Hash erfüllen oder übertreffen muss.

Wenn das Netzwerk mehr Blöcke als geplant erstellt, wird dieses Ziel automatisch vom Netzwerk geändert, sodass es immer schwieriger wird, das Ziel zu erreichen. Daher wird immer mehr Rechenleistung benötigt, um einen Hash zu finden, der innerhalb der Zielzeit von 10 Minuten zum Ziel passt.

Definitionen

Einige grundlegende Definitionen sind möglicherweise für einige Personen unbekannt, die mit dem Blockchain-Code nicht vertraut sind. Dies sind:

• UTXO – Nicht ausgegebene Transaktionsausgaben

• vin – In einer Transaktion ist ein "vin" eine UTXO, die als "Eingabe" ausgegeben wird.

• vout – In einer Transaktion ist ein "vout" das neue UTXO, das als "Ausgabe" erstellt wird.

Bei den "Vouts" handelt es sich um alle Münzen, die nach Abschluss der Transaktion gesendet werden

• Hashing – Der Prozess zum Erstellen eines Hashs. Dies nimmt eine beliebige Menge von Daten als Eingabe,

und gibt einen Digest mit fester Größe aus, der nicht rückgängig gemacht werden kann. Darüber hinaus, wenn Sie sich ändern

Bei allen Eingabedaten wird der Ausgabe-Digest drastisch geändert.

• Hash – Das Ergebnis eines Hashing-Algorithmus.

• script – Das Computerprogramm, das festlegt, wie ein vout / UTXO ausgegeben wird.

• pay-to-pubkeyhash-Skript – Das häufigste Skript zum Senden von Geld in Bitcoin und anderen Formaten

Kryptowährungen. Um Geld zu senden, müssen Sie lediglich den Hash ihres öffentlichen Schlüssels kennen

(gemeinhin als base58-Adresse dargestellt), und um das empfangene Geld alle auszugeben

Dazu ist eine Signatur des öffentlichen Schlüssels und des öffentlichen Schlüssels selbst erforderlich.

• pay-to-pubkey script – Ein sehr einfaches Skript, das eine ähnliche Funktionalität wie pubkey-hash aufweist

Skripte. Anstatt jedoch Geld an den Hash eines öffentlichen Schlüssels zu senden, wird das Geld an gesendet

der öffentliche Schlüssel selbst. Für die Ausgaben ist lediglich eine kryptografische Signaturprüfung erforderlich

Besitz des öffentlichen Schlüssels.

• prevout – Der Vout, der (als VIN) in einer Transaktion ausgegeben wird

• OP_RETURN-Skript – OP_RETURN ist eine Operation, die in einem Skript verwendet wird, mit der effektiv ein

Ausgang nachweislich UN-ausgabefähig. Es wird häufig verwendet, um kleine Datenmengen auf dem Computer zu speichern

Blockchain, ohne das UTXO-Set zu verschmutzen.

Nachweis von Arbeits- und Blockchain-Konsensus-Systemen

Proof of Work ist ein bewährter Konsensmechanismus, der Bitcoin seit 8 Jahren sicher und vertrauenswürdig macht. Es ist jedoch nicht ohne Probleme. Die Hauptnachteile von PoW sind:

1. Strom verschwendet viel Strom und schadet der Umwelt.

2. PoW profitiert in hohem Maße von Skaleneffekten, sodass es den großen Akteuren am meisten zugute kommt.

eher als kleine Teilnehmer im Netzwerk.

3. PoW bietet keinen Anreiz, die Token zu verwenden oder zu behalten.

4. PoW birgt einige Zentralisierungsrisiken, da es die Bergleute dazu ermutigt, sich an der. Zu beteiligen

Größter Bergbaupool (eine Gruppe von Bergleuten, die sich die Blockbelohnung teilen), somit der größte Bergbau

Der Poolbetreiber hat viel Kontrolle über das Netzwerk.

Der Proof of Stake wurde erfunden, um viele dieser Probleme zu lösen, indem die Teilnehmer neue Blöcke erstellen und abbauen können (und somit auch eine Blockbelohnung erhalten), indem sie einfach Münzen in ihrem Portemonnaie festhalten und ihrem Portemonnaie das automatische „Abstecken“ ermöglichen.

Proof Of Stake wurde ursprünglich von erfunden Sunny King und implementiert in Peercoin. Es wurde seitdem von vielen anderen verbessert und angepasst. Dies beinhaltet "Proof of Stake Version 2" von Pavel Vasin, "Proof of Stake Velocity" von Larry Ren, und zuletzt CASPER von Vlad Zamfir, sowie unzählige andere Experimente und weniger bekannte Projekte.

Zum NBC & NDT Wir haben uns entschlossen, darauf aufzubauen "Proof of Stake Version 3", eine Verbesserung gegenüber Version 2, die auch von gemacht wurde Pavel Vasin und implementiert in der Schwarze Münze Projekt.

Diese in Black Coin implementierte Version von PoS wird hier beschrieben. Einige kleinere Details wurden in NBC & NDT modifiziert, aber das Kernkonsensmodell ist identisch.

Für viele Community-Mitglieder und Entwickler gleichermaßen ist der Nachweis des Einsatzes ein schwieriges Thema, da bisher nur wenig darüber geschrieben wurde, wie es gelingt, das Netzwerk sicher zu halten, indem nur der Nachweis des Besitzes von Tokens im Netzwerk verwendet wird.

Diese Papiere werden detailliert behandelt Nachweis der Einsatzversion 3 und wie es Blöcke erstellt, validiert und letztendlich wie ein reiner Proof of Stake Blockchain gesichert werden kann. Dies setzt einige technische Kenntnisse voraus, aber ich (T. Rahaman alias BitBD) wird versuchen, die Dinge so zu erklären, dass der größte Teil des Wissens aus dem Kontext gewonnen werden kann.

Sie sollten zumindest mit dem Konzept der UTXO-basierten Blockchain vertraut sein.

Bevor wir über PoS sprechen, ist es hilfreich zu verstehen, wie der viel einfachere PoW-Konsensmechanismus funktioniert. Der Mining-Prozess kann in wenigen Zeilen Pseudocode beschrieben werden:

while (Blockhash> Schwierigkeit) {

block.nonce = block.nonce + 1

blockhash = sha256 (sha256 (block))

}

Ein Hash ist ein Kryptografiealgorithmus, der eine beliebige Menge von Eingabedaten aufnimmt, viel davon verarbeitet und einen „Digest“ dieser Daten mit fester Größe ausgibt. Es ist unmöglich, die Eingabedaten nur mit dem Digest herauszufinden.

Daher funktioniert PoW in der Regel wie eine Lotterie, bei der Sie herausfinden, ob Sie gewonnen haben, indem Sie den Hash erstellen und ihn mit dem Ziel abgleichen, und indem Sie ein anderes Ticket erstellen, indem Sie einige Daten im Block ändern. Im Falle von Bitcoin wird hierfür neben einigen anderen Feldern auch Nonce verwendet (normalerweise als "extra Nonce" bezeichnet). Sobald ein Block-Hash gefunden wurde, der kleiner als das Schwierigkeitsziel ist, ist der Block gültig und kann an den Rest des verteilten Netzwerks gesendet werden. Die Bergleute sehen es dann und beginnen, den nächsten Block über diesem Block zu bauen.

Nachweis der Protokollstrukturen und -regeln von Stake

Jetzt rede ich darüber Nachweis des Einsatzes. Wir haben diese Ziele für PoS:

1. Block kann nicht gefälscht werden

2. Große Spieler erhalten keine unverhältnismäßig großen Belohnungen

3. Mehr Rechenleistung ist zum Erstellen von Blöcken nicht sinnvoll

4. Kein Mitglied des Netzwerks kann die gesamte Blockchain steuern

Das Kernkonzept von PoS ist dem von PoW, einer Lotterie, sehr ähnlich. Der große Unterschied besteht jedoch darin, dass es nicht möglich ist, mehr Lose für die Lotterie zu erhalten, indem einfach einige Daten im Block geändert werden. Anstatt dass der „Block-Hash“ der Lotterieschein ist, der gegen ein Ziel gerichtet werden soll, erfindet der PoS den Begriff a "Kernel-Hash".

Der Kernel-Hash besteht aus mehreren Daten, die im aktuellen Block nicht ohne weiteres geändert werden können. Da die Miner keine einfache Möglichkeit haben, den Kernel-Hash zu ändern, können sie nicht einfach eine große Menge von Hashes wie in PoW durchlaufen.

Proof of Stake-Blöcke fügen viele zusätzliche Konsensregeln hinzu, um die Ziele zu erreichen. Erstens muss im Gegensatz zu PoW die Coinbase-Transaktion (die erste Transaktion im Block) leer sein und 0 Token belohnen. Stattdessen gibt es eine spezielle „Stake-Transaktion“, die die zweite Transaktion im Block sein muss, um die Stake-Inhaber oder Inhaber eines Wallets / Knotens zu belohnen.

Eine Beteiligungstransaktion ist definiert als jede Transaktion, die:

1. Hat mindestens 1 gültige vin

2. Das erste vout muss ein leeres Skript sein

3. Der zweite Vout darf nicht leer sein

Darüber hinaus müssen Abstecktransaktionen diese Regeln einhalten, um in einem Block gültig zu sein:

1. Das zweite vout muss entweder ein pubkey-Skript (nicht pubkeyhash!) Oder ein OP_RETURN-Skript sein

Das ist UN-ausgabefähig (nur Daten), speichert jedoch Daten für einen öffentlichen Schlüssel

2. Der Zeitstempel in der Transaktion muss dem Blockzeitstempel entsprechen

3. Der Gesamtproduktionswert einer Beteiligungstransaktion muss kleiner oder gleich dem Gesamtproduktionswert plus sein

die PoS-Blockprämie zuzüglich der gesamten Transaktionsgebühren des Blocks.

output <= (input + block_reward + tx_fees)

4. Die Ausgabe des ersten verbrauchten Weins muss durch mindestens 500 Blöcke bestätigt werden

(Mit anderen Worten, die ausgegebenen Münzen müssen mindestens 500 Blocks alt sein.)

5. Obwohl mehr Vins für eine Abstecktransaktion verwendet und ausgegeben werden können, ist der erste Vin der einzige

wird für Konsensparameter verwendet.

Diese Regeln stellen sicher, dass die Transaktion mit dem Einsatz leicht zu identifizieren ist und dass die Blockchain genügend Informationen erhält, um den Block zu validieren. Die Leervout-Methode ist nicht die einzige Möglichkeit, Abstecktransaktionen zu identifizieren, aber dies war das ursprüngliche Design von Sunny King und hat gut genug funktioniert.

Nachdem wir nun verstanden haben, was eine Abstecktransaktion ist und welche Regeln sie einhalten müssen, geht es im nächsten Abschnitt darum, die Regeln für PoS-Blöcke zu behandeln:

• Muss genau 1 Einsatztransaktion haben

• Die Abstecktransaktion muss die zweite Transaktion im Block sein

• Die Coinbase-Transaktion muss einen Ausgabewert von 0 und einen einzelnen leeren Vout haben

• Für den Block-Zeitstempel müssen die unteren 4 Bits auf 0 gesetzt sein (im Folgenden als "Maske" bezeichnet)

Quellcode). Dies bedeutet effektiv, dass die Blockzeit nur in 16 Sekunden dargestellt werden kann

verringert die Granularität

• Die Version des Blocks muss 7 sein

• Der "Kernel-Hash" eines Blocks muss die gewichtete Schwierigkeit für PoS erfüllen

• Der Block-Hash muss im zweiten Vout der Abstecktransaktion mit dem öffentlichen Schlüssel signiert sein.

Die Signaturdaten werden in den Block eingefügt (sind jedoch nicht im formalen Block-Hash enthalten).

• Die im Block gespeicherte Signatur muss „Low S“ sein, dh nur aus einer einzigen bestehen

Daten und müssen so komprimiert wie möglich sein (keine zusätzlichen führenden Nullen in den Daten, oder

andere Opcodes)

• Die meisten anderen Regeln für Standard-PoW-Blöcke gelten (gültiger Merkle-Hash, gültige Transaktionen,

Zeitstempel ist innerhalb der zulässigen Zeitverschiebung usw.)

Es gibt viele Details, die wir in Kürze behandeln werden. Der wichtigste Teil, der PoS wirklich effektiv macht, liegt im „Kernel-Hash“. Der Kernel-Hash wird ähnlich wie PoW verwendet (wenn der Hash auf Schwierigkeiten stößt, ist der Block gültig). Der Kernel-Hash kann jedoch nicht direkt im Kontext des aktuellen Blocks geändert werden. Wir werden zunächst genau beschreiben, was in diese Strukturen und Mechanismen einfließt, und später erläutern, warum dieses Design genau so ist und welche unerwarteten Folgen geringfügige Änderungen haben können.

Der Beweis für den Einsatz von Kernel-Hash

Der Kernel-Hash besteht speziell aus den folgenden exakten Daten (in der Reihenfolge):

• Der "Einsatzmodifikator" des vorherigen Blocks (mehr dazu später)

• Zeitstempel von "prevout" -Transaktion (die Transaktionsausgabe, die von der ersten Vin von ausgegeben wird

die Abstecktransaktion)

• Der Hash der vorherigen Transaktion

• Die Ausgabenummer des Prevouts (dh, welche Ausgaben der Transaktion vom Einsatz ausgegeben werden)

Transaktion)

• Aktuelle Blockzeit, wobei die unteren 4 Bits auf 0 gesetzt sind, um die Granularität zu verringern. Das ist das Einzige

Das ändert sich während des Absteckvorgangs

Der Einsatzmodifikator eines Blocks ist ein Hash von genau:

• Der Hash der vorherigen Transaktion in PoS-Blöcken ODER der Block-Hash in PoW-Blöcken.

• Der Einsatzmodifikator des vorherigen Blocks (der Einsatzmodifikator des Genesis-Blocks ist 0)

Die einzige Möglichkeit, den aktuellen Kernel-Hash zu ändern (um einen Block abzubauen), besteht darin, entweder Ihr "Prevout" oder die aktuelle Blockzeit zu ändern.

Eine einzelne Brieftasche enthält normalerweise viele UTXOs. Der Saldo der Brieftasche ist im Grunde genommen der Gesamtbetrag aller UTXOs, die von der Brieftasche ausgegeben werden können. Dies gilt natürlich auch für eine PoS-Geldbörse. Dies ist jedoch wichtig, da jede Ausgabe zum Abstecken verwendet werden kann. Eine dieser Ausgaben kann zum "Prevout" einer Abstecktransaktion werden, um einen gültigen PoS-Block zu bilden.

Schließlich gibt es noch einen Aspekt, der sich im Mining-Prozess eines PoS-Blocks ändert. Die Schwierigkeit wird gegen die Anzahl der Münzen in der Abstecktransaktion gewichtet. Die PoS-Schwierigkeit ist beim Einsatz von 2 Münzen doppelt so einfach wie beim Einsatz von nur 1 Münze. Wenn dies nicht der Fall wäre, würde die Erstellung vieler kleiner UTXOs zum Abstecken gefördert, was die Größe der Blockchain aufblähen und letztendlich dazu führen würde, dass das gesamte Netzwerk mehr Ressourcen für die Wartung benötigt und möglicherweise die Gesamtsicherheit der Blockchain gefährdet.

Wenn wir also jetzt einen Pseudocode für die Suche nach einem gültigen Kernel-Hash anzeigen würden, würde das so aussehen:

while (wahr) {

foreach (utxo in wallet) {

blockTime = currentTime – currentTime% 16

posDifficulty = schwierigkeit * utxo.wert

hash = hash (previousStakeModifier << utxo.time << utxo.hash << utxo.n << blockTime)

if (hash <posDifficulty) {

getan

}

}

16s warten – 16 Sekunden warten, bis die Sperrzeit geändert werden kann

}

Dieser Code ist nicht so einfach zu verstehen wie unser PoW-Beispiel. Deshalb werde ich versuchen, ihn in einfachem Englisch zu erklären:

Tun Sie immer und immer wieder Folgendes für die Unendlichkeit:

Berechnen Sie die blockTime so, dass sie die aktuelle Zeit minus dem Modul 16 ist (Modul ist wie Teilen durch 16, aber dann nur, anstatt das Ergebnis zu nehmen, den Rest zu nehmen).

Berechnen Sie die Schwierigkeit posDifficulty als Netzwerkschwierigkeit, multipliziert mit der Anzahl der von der UTXO gehaltenen Münzen.

Durchlaufen Sie jedes UTXO in der Brieftasche. Berechnen Sie mit jedem UTXO einen SHA256-Hash unter Verwendung des Stake-Modifikators des vorherigen Blocks sowie einiger Daten aus dem UTXO und schließlich der blockTime. Vergleichen Sie diesen Hash mit der Schwierigkeit posDifficulty. Wenn der Hash kleiner als die Schwierigkeit posDifficulty ist, ist der Kernel-Hash gültig und Sie können einen neuen Block erstellen. Wenn nach dem Durchlaufen aller UTXOs kein produzierter Hash kleiner als die Schwierigkeit posDifficulty ist, warten Sie 16 Sekunden und wiederholen Sie den Vorgang.

Nachdem wir mit einem der UTXOs, die wir ausgeben können, einen gültigen Kernel-Hash gefunden haben, können wir eine Abstecktransaktion erstellen. Diese Abstecktransaktion hat 1 vin, was die UTXO ausgibt, die wir gefunden haben und die einen gültigen Kernel-Hash hat. Es wird (mindestens) 2 Vouts haben. Der erste Vout ist leer und zeigt der Blockchain an, dass es sich um eine Abstecktransaktion handelt.

Das zweite Vout enthält entweder eine OP_RETURN-Datentransaktion, die einen einzelnen öffentlichen Schlüssel enthält, oder es enthält ein Pay-to-Pubkey-Skript. Letzteres wird in der Regel aus Gründen der Einfachheit verwendet. Die Verwendung einer Datentransaktion ermöglicht jedoch einige erweiterte Anwendungsfälle (z. B. eine separate Blocksigniermaschine), ohne den UTXO-Satz unnötig zu überladen.

Schließlich werden alle Transaktionen aus dem Speicherpool zum Block hinzugefügt. Jetzt müssen wir nur noch eine Signatur erstellen, um zu beweisen, dass wir den ansonsten gültigen PoS-Block genehmigt haben. Die Signatur muss den öffentlichen Schlüssel verwenden, der im zweiten Vout der Abstecktransaktion verschlüsselt ist (entweder als Pay-Pubkey-Skript oder als Daten-OP_RETURN-Skript). Die tatsächlichen Daten, die im Block-Hash signiert sind. Nachdem die Signatur angewendet wurde, kann der Block an das Netzwerk gesendet werden. Knoten im Netzwerk validieren dann den Block. Wenn sie ihn für gültig halten und es keine bessere Blockchain gibt, akzeptiert sie ihn in die eigene Blockchain und sendet den Block an alle Knoten, mit denen sie verbunden ist.

Jetzt haben wir eine voll funktionsfähige und sichere PoSv3-Blockchain. Wir haben festgestellt, dass PoSv3 am widerstandsfähigsten gegen Angriffe ist, während wir ein reines dezentrales Konsensus-System beibehalten (dh ohne Masterknoten oder Lehrpläne). Um zu verstehen, warum wir zu dieser Schlussfolgerung gelangt sind, müssen wir die Geschichte verstehen.

PoSv3-Geschichte

Proof of Stake hat eine ziemlich lange Geschichte. Ich kann nicht auf jedes Detail eingehen, aber ich möchte ausführlich darauf eingehen, was zwischen den einzelnen Versionen geändert wurde, um aus historischen Gründen zu PoSv3 zu gelangen:

PoSv1 – Diese Version ist in Peer Coin implementiert. Es beruhte stark auf dem Begriff „Münzzeitalter“ oder wie lange ein UTXO nicht für die Blockchain ausgegeben wurde. Die Implementierung würde es im Grunde so gestalten, dass die Schwierigkeit umso geringer wird, je höher das Münzalter ist. Dies hatte jedoch den schlimmen Nebeneffekt, dass die Leute ermutigt wurden, ihre Brieftasche nur jeden Monat oder länger zum Abstecken zu öffnen. Angenommen, die Münzen wären alle relativ alt, würden sie fast augenblicklich neue Absteckblöcke produzieren. Dies macht Double-spend-Angriffe jedoch extrem einfach auszuführen. Peercoin selbst ist davon nicht betroffen, da es sich um eine hybride PoW- und PoS-Blockchain handelt, sodass die PoW-Blöcke diesen Effekt abschwächen.

PoSv2 – Diese Version entfernt das Münzalter vollständig aus dem Konsens und verwendet einen völlig anderen Mechanismus zur Änderung des Einsatzes als Version 1. Die Anzahl der Änderungen ist zu groß, um sie hier aufzulisten. All dies wurde getan, um das Münzalter aus dem Konsens zu entfernen und es zu einem sicheren Konsensmechanismus zu machen, ohne dass eine hybride PoW / PoS-Blockchain erforderlich ist, um verschiedene Angriffe abzuschwächen.

PoSv3 – PoSv3 ist wirklich eher eine inkrementelle Verbesserung gegenüber PoSv2. In PoSv2 enthielt der Einsatzmodifikator auch die vorherige Blockierungszeit. Dies wurde entfernt, um einen Kurzstreckenangriff zu verhindern, bei dem es möglich war, eine alternative Blockchain interaktiv abzubauen, indem vorherige Blockzeiten durchlaufen wurden. PoSv2 verwendete Block- und Transaktionszeiten, um das Alter eines UTXO zu bestimmen. Dies ist nicht gleichbedeutend mit dem Münzalter, sondern stellt die „Mindestbestätigung“ dar, bevor ein UTXO zum Abstecken verwendet werden kann. Dies wurde zu einem viel einfacheren Mechanismus geändert, bei dem das Alter eines UTXO durch seine Tiefe in der Blockchain bestimmt wird. Dies ist kein Anreiz für ungenaue Zeitstempel, die in der Blockchain verwendet werden sollen, und ist auch immuner gegen "Time Warp" -Angriffe. PoSv3 fügte auch die Unterstützung für OP_RETURN-Münzeneinsatztransaktionen hinzu, wodurch ein Vout den öffentlichen Schlüssel zum Signieren des Blocks enthalten kann, ohne dass ein vollständiges Skript zum Bezahlen des Pubs erforderlich ist.

Vielen Dank für das geduldige Lesen dieser technischen Details. Wenn Sie weitere Vorschläge haben, hinterlassen Sie bitte eine Antwort an meine öffentliche E-Mail-Adresse developer@nexbit.io

Sie können hier eine PDF-Offline-Version herunterladen.

[Many thanks to Qtum project for giving us an wonderful concept]

Referenzen & Quellen:

  1. https://peercoin.net/assets/paper/peercoin-paper.pdf

2. https://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf

3. https://www.reddcoin.com/papers/PoSV.pdf

4. https://blog.ethereum.org/2015/08/01/introducing-casper-friendly-ghost/

5. https://github.com/JohnDolittle/blackcoin-old/blob/master/src/kernel.h#L11

6. https://github.com/JohnDolittle/blackcoin-old/blob/master/src/main.cpp#L2032

7. https://github.com/JohnDolittle/blackcoin-old/blob/master/src/main.h#L279

8. http://earlz.net/view/2017/07/27/1820/what-is-a-utxo-and-how-does-it

9. https://en.bitcoin.it/wiki/Script#Obsolete_pay-to-pubkey_transaction1

10.https: //en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-

to-pubkey-hash.29

11. https://en.bitcoin.it/wiki/Script#Provably_Unspendable.2FPrunable_Outputs

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close