Signum Mining
Signum Mining: Einführung
Das Signum-Mining ist die Grundlage für das Hinzufügen von Blöcken zur Signum-Blockchain. Es gibt zwei verschiedene Prozesse; eine Vorbereitungsphase, die als Plotten bezeichnet wird, und eine Verarbeitungsstufe, die als Bergbau bezeichnet wird. Diese einzigartige Unterteilung unterscheidet den Konsensalgorithmus für den Kapazitätsnachweis von Signum von seinem funktionalen Gegenstück, dem Konsensalgorithmus für den Arbeitsnachweis. Es bringt Signum das Prädikat „umweltfreundlich“ ein.
- Stufe 1: Plotten Software pre-computes und speichert die Ergebnisse der kryptografischen Hash-Funktionen in Plot-Dateien. Diese Plotdateien enthalten die Daten und Berechnungen, die zum Schmieden von Blöcken erforderlich sind, einschließlich sogenannter Fristen. Da die Berechnungen beibehalten und nicht sofort verworfen werden (wie dies bei herkömmlichen „Proof-of-Work“ -Systemen der Fall ist), steigt die Bergbaukapazität im Laufe der Zeit. Das Plotten erfüllt das Problem „Nichts auf dem Spiel“ und kann als modifizierte Proof-of-Work-Komponente betrachtet werden.
- Stufe 2: Mining-Software liest schnell eine Teilmenge der in den Plotdateien enthaltenen Daten durch und sendet die beste Frist (kryptografische Lösung) an das Signum-Netzwerk. * Dem Miner, der die beste Frist einreicht, wird das Recht eingeräumt, den zugehörigen Block zu fälschen und den zugehörigen Block zu verdienen Belohnungen und Transaktionsgebühren blockieren.
*Signum verwendet ein ausgeklügeltes und dezentralisiertes API-Netzwerk, um Transaktionen innerhalb seines verteilten und unveränderlichen Ledgers zu überprüfen und aufzuzeichnen.
Plotting:
Das Plotten ist die Vorbereitungsphase vor dem Signum-Abbau. Das Signum-Plotten löst das Problem „Nichts auf dem Spiel“ und kann als modifizierte Proof-of-Work-Komponente betrachtet werden. Es ist von Natur aus vorübergehend als Vorbereitungsphase und nicht vergleichbar mit dem kontinuierlichen Arbeitsnachweis anderer Münzen, die den Arbeitsnachweis als Konsensalgorithmus verwenden.
Die Software berechnet und speichert alle Informationen, die zum Fälschen von Signum-Blöcken erforderlich sind, einschließlich einer sogenannten Frist. Während mehrere Operationen ausgeführt werden, wie z. B. Divisions- und Zeichenfolgenoperationen, basieren die bemerkenswertesten Berechnungen auf der kryptografischen Shabal-256-Hash-Funktion. Shabal-256 ist im Vergleich zu anderen kryptografischen Funktionen wie SHA256 relativ langsam und schwer. Ausgewählt für diese Eigenschaften, verlangsamt Shabal-256 die Geschwindigkeit der Plotdateierstellung und bleibt gleichzeitig schnell genug für die in Signum verwendete Live-Überprüfung. Die Mining-Software ruft diese Hashes ab, um Werte für das Schmieden von Blöcken zu finden.
Plotdateien sind an Signum-Konto-IDs gebunden, sodass unterschiedliche Konto-IDs immer eindeutige Plotdateien generieren. Plotdateien, die auf einem Computer mit einer schnelleren CPU erstellt wurden, können übertragen werden, um von einem Computer mit einer langsameren CPU abgebaut zu werden. Wenn Sie eine GPU-fähige Plotsoftware verwenden, reservieren Sie die GPU in der Regel ausschließlich für das Plotten für die Dauer der Plotsitzung, um zu vermeiden, dass beschädigte Plotdateien erstellt werden. Einige Software enthält möglicherweise Innovationen, die dies verhindern.
Vermeiden Sie es, doppelte oder überlappende Plotdateien zu erstellen. Doppelte oder überlappende Diagramme verursachen keine Fehlfunktion und können unbemerkt bleiben. Sie haben jedoch im Abbauprozess keinen Wert. Um zu vermeiden, dass sich überlappende Plotdateien erstellt werden, geben Sie für jede Plotsitzung sorgfältig eine korrekte Startplotnummer ein.
Engraver, ein spezielles, benutzerfreundliches Plotprogramm, finden Sie in der Signum-Softwarebibliothek . TurboPlotter9000 ist eine gute Option, wenn Sie ein SMR-Laufwerk als Staging-Laufwerk zur Verfügung haben. BTDEX ist die perfekte All-in-One-Lösung für Anfänger.
GRÖSSE DER PLOTDATEI:
Die Größe einer Plotdatei ist nur durch die Kapazität des Speichergeräts begrenzt. Ein Speichergerät kann eine einzelne große Plotdatei oder viele kleinere enthalten. Mit großen Plotdateien ist eine sehr geringe Lesezeiteffizienz verbunden. In den meisten Fällen ist es jedoch bequemer, kleinere Plotdateien zu verwenden. Bei kleineren Plotdateien können Sie eine oder mehrere löschen, um bei Bedarf Festplattenspeicher für andere Zwecke freizugeben, oder eine einzelne überlappende oder beschädigte Datei entfernen und ersetzen, ohne den gesamten Festplatteninhalt zu löschen. Kleinere Dateien erleichtern auch das Verschieben von Plotdateien zwischen Geräten mit unterschiedlichen Kapazitäten. Für einen Mining-Betrieb bestehend aus 8 Terabyte Festplatten empfiehlt sich eine individuelle Dateigröße von jeweils 1 Terabyte.
Kapazität
Die Kapazität besteht aus den gesamten gespeicherten berechneten Hashes, die in Plotdateien enthalten sind. Ein kleiner Bruchteil dieser Dateien (ca. 0,025%) wird in jedem Blockintervall gelesen.
Engagement
Zusätzlich zur Kapazität können Bergleute eine Menge an Signa (Stake) sperren, um die physische Kapazität (statistisch) zu multiplizieren, was zu einer größeren „effektiven Kapazität“ führt. Die Kette vergleicht zugesagte Salden mit dem Durchschnitt aller Miner über die letzten 1.440 Blöcke und wendet den Staking-Vorteil auf die eingereichten Fristen an.
Faktor
Ohne Verpflichtung wird die körperliche Leistungsfähigkeit um den Faktor 1/8 reduziert. Die Zusage eines Betrags gleich der durchschnittlichen Zusage ergibt einen Multiplikationsfaktor von 1. Das 100-fache des durchschnittlichen Commitments erhöht die effektive Kapazität um den Faktor 8. Das Verhältnis von Engagement und Faktor auf allen Ebenen ist linear.
Einen Mining-Erlöse-Rechner finden Sie hier: Bergbauerlöse
Solo Mining und Pool Mining:
Ein Solo-Bergmann profitiert nur von den Plot-Dateien, die speziell an ihr Konto gebunden sind. Wenn ein Solo-Miner dem Netzwerk die beste Frist übermittelt, werden ihm allein die gesamte Blockbelohnung und 100% der mit diesem Block verbundenen Transaktionsgebühren gutgeschrieben. Da die Wahrscheinlichkeit, dass eine Person einen Block schmiedet, gering ist, erfordert ein konsistenter Erfolg beim Solo-Mining viele Plotdateien. Bei der aktuellen Größe des Netzwerks erfordert ein erfolgreiches Solo-Mining mehrere Terabyte Speicherkapazität. Es ist jedoch nicht ungewöhnlich, dass sich ein kleiner Bergmann für Solo Mining mit dem Ziel der Netzwerkdezentralisierung entscheidet. In diesem Fall ist der Gewinn jedoch nicht das vorrangige Ziel.
Pool Mining ist die Alternative zum Solo-Mining. Beim Pool-Mining tragen einzelne Bergleute ihre Kapazität zu einer Genossenschaftsgruppe bei, die die erzielten Einnahmen gemäß ihrer Belohnungsverteilungsrichtlinie (im Allgemeinen proportional) teilt. Die meisten Bergleute mit geringer Kapazität bevorzugen den Poolabbau, da er einen Strom kleinerer, aber regelmäßigerer Zahlungen bietet. Sie können jedem Pool beitreten, indem Sie eine Belohnungszuweisungstransaktion initiieren oder eine Auswahl aus der vorkonfigurierten Liste der Pools in Ihrer Wallet-Software treffen. Es gibt auch eine Liste der Pools im Bereich Online-Dienste.
Jeder mit dem erforderlichen technischen Know-how kann einen Mining-Pool mit betreiben Software, die von der Signum-Community entwickelt wurde .
Schritt 1
Die Plotsoftware berechnet das Ergebnis kryptografischer Hash-Funktionen vor und speichert es in Plotdateien.
Schritt 2
Die Mining-Software liest eine Teilmenge der Plotdateidaten und sendet die besten Fristen an das Netzwerk.
BTDEX
BTDEX ist ein Programm, das die Schritte 1 und 2 nahtlos ausführt. Perfekt für Anfänger.
Solo Mining
Verdienen Sie 100% der Blockbelohnung und der damit verbundenen Gebühren, wenn Sie alleine unterwegs sind.
Pool Mining
Fügen Sie Ihre Kapazität einer Community-Gruppe hinzu und teilen Sie die von der Gruppe verdienten Belohnungen proportional.
Belohnungszuweisung
Eine On-Chain-Transaktion, die Ihr Konto mit einem Mining-Pool verbindet.
Belohnungen blockieren
Die Belohnungen für jeden Block verringern sich jeden Monat um 5% bei einer Mindestblockbelohnung von 100.
Bergbaukapazität
Die Bergbaukapazität wird statistisch anhand der Häufigkeit und Qualität der eingereichten Fristen ermittelt.
Anteil
Der Einsatz ist die Menge an Signum, die gesperrt wird, um die effektive Kapazität zu erhöhen.
Belohnungszuweisung:
Die Belohnungszuweisung ist eine Transaktion, die das Netzwerk darüber informiert, dass alle Ihren Plotdateien zugeordneten Blockbelohnungen einem anderen Konto zugewiesen werden sollen. Es ist der Mechanismus, der es einem Pool ermöglicht, die Blockbelohnungen zu erhalten, die er an seine Teilnehmer verteilt. Die Belohnungszuweisung gewährt die Erlaubnis, dass die Blöcke, die unter Verwendung Ihrer übermittelten Fristen gefälscht wurden, vom Konto des Mining-Pools unterzeichnet werden.
Finden Sie die Belohnungszuweisungstransaktion im Dropdown-Menü in der oberen linken Ecke der Phoenix-Wallet oder hinter dem Zahnradsymbol in Signum Node. In BTDEX wird die Belohnungszuweisung über die Schaltfläche „Join Pool“ auf der Registerkarte „Mining“ durchgeführt.
Geben Sie nach Auswahl von „Prämienzuweisung“ die Adresse des Empfängerkontos im Reed Solomon-Format, die minimale Transaktionsgebühr (.00735) und Ihre Passphrase ein und klicken Sie auf „Prämienempfänger festlegen“. Belohnungsempfängertransaktionen werden nach vier Bestätigungen wirksam, sodass es durchschnittlich 16 Minuten dauert, bis sie in der Blockchain wirksam werden.
Neue Konten, die in BTDEX und Phoenix erstellt wurden, erhalten einen kleinen Betrag an Burstcoin, um die Transaktionsgebühr abzudecken. Mit BRS erstellte Konten können diesen kleinen Betrag auch erhalten, wenn sie vorübergehend in Phoenix importiert werden, um die „Kontoaktivierung“-Funktion dieser Brieftasche zu nutzen. Eine andere Möglichkeit ist, einen vollständigen Knoten zu betreiben und zu empfangen SNR-Auszeichnungen um die Transaktionsgebühr für die Belohnungszuweisung zu finanzieren. Diese Auszeichnung wird täglich ausgezahlt und ist eine gute Möglichkeit, Ihre Bergbaueinnahmen zu ergänzen. Sie können den benötigten Betrag auch in einem Burstcoin-Forum anfordern. Das empfohlene Forum für diesen Zweck ist Burstcoin Discord. Anfragen für den benötigten Betrag sind üblich und willkommen.
Einige Pools haben eine kostenlose Option, mit der Sie Ihre Belohnungszuweisung direkt auf ihrer Website festlegen können. Dies beinhaltet die Eingabe Ihrer Passphrase in ein Online-Formular. Es ist wichtig zu bedenken, dass die Passphrase eines Kontos, nachdem sie in ein Online-Formular eingegeben wurde, nie wieder als sicher angesehen werden kann. Für das Sammeln von Bergbauerlösen ist dies möglicherweise kein Problem. Denken Sie daran, das Konto in Zukunft nicht mehr für große Beträge zu verwenden.
Hinweis: Es ist möglich, den Belohnungsempfänger direkt über die API festzulegen. Diese Methode ist jedoch technisch und wird hauptsächlich in der Softwareentwicklung verwendet.
Bergbaukapazität und effektive Grundstücksgröße:
Die Miningkapazität, die Gesamtmenge der Speicherkapazität, die Plotdateien gewidmet ist, ist der entscheidende Faktor bei der Auswahl zwischen Miningmethoden. Es kann auch die Wahl des Mining-Pools informieren, dem er beitreten möchte. Es gibt keine strengen Regeln für diese Entscheidung und keine technischen Hindernisse, die verhindern, dass Personen mit einer bestimmten Bergbaukapazität einem bestimmten Pool beitreten. Verteilungsrichtlinien werden in der Regel mit zwei Zahlen angegeben. Der erste Wert gibt den Prozentsatz der Blockbelohnung an, die an das Konto gezahlt wird, das die gewinnende kryptografische Lösung bereitstellt. Der zweite als „historischer Anteil“ bezeichnete Anteil repräsentiert den Prozentsatz der Blockbelohnung, der unter den verbleibenden teilnehmenden Bergleuten verteilt wird.
Zur Veranschaulichung wird die folgende inoffizielle Auswahl gängiger Signum-Mining-Verteilungsmethoden bereitgestellt. Jedes ist mit einer vorgeschlagenen Bergbaukapazität gepaart:
verteilung | Erfolgreicher Fälscher | Historischer Anteil | Mining-Kapazität (in Terabyte) |
0 – 100 | 0% | 100% | 0 – 40 |
20 – 80 | 20% | 80% | 30 – 80 |
50 – 50 | 50% | 50% | 60 – 200 |
80 – 20 | 80% | 20% | 150 – 250 |
100 – 0 | 100% | 0% | 150 and higher |
Bitte beachten Sie: Die Vertriebsmethoden werden dezentralisiert und ausschließlich von einzelnen Poolbetreibern festgelegt. In diesem Zeitplan sind keine Gebühren enthalten, die ein Poolbetreiber möglicherweise erhebt. Pool-Betreiber können ihre Zahlungspläne und Mindestauszahlungen auch unabhängig voneinander festlegen. Mit der kürzlicherfolgten Einführung von Multi-Out-Transaktionen haben Pools zusätzliche Flexibilität. Einige haben sich dafür entschieden, täglich Belohnungen zu zahlen.
Effektive Grundstücksgröße ist der Parameter, der verwendet wird, um den Anteil jedes Bergmanns an den Mining-Einnahmen eines Pools zu bestimmen. Die Methode zur Berechnung dieser Statistik wird von jedem Poolbetreiber unabhängig festgelegt. Sie wird üblicherweise auf der Grundlage der besten Fristen berechnet, die ein Bergmann über 360 Blöcke eingereicht hat. Sie beginnt normalerweise bei Null für einen neuen Bergmann und steigt an, um die Gesamtkapazität über 24 Stunden widerzuspiegeln. Da es statistisch generiert wird, schwingt es normalerweise über und unter der tatsächlichen physischen Kapazität. Sie können diese Berechnung optimieren, indem Sie die maximale Frist für die Einreichung gemäß den Spezifikationen Ihres Pools begrenzen.
Blockbelohnungen:
Die Mining-Einnahmen bestehen aus Blockbelohnungen und Transaktionsgebühren.
Die Signum-Block-Belohnungen reduzieren sich nach jeweils 10.800 Blöcken (ungefähr einmal pro Monat), vorbehaltlich einer Mindestblock-Belohnung von 100. Die allgemeine Formel zur Berechnung der Blockbelohnung basierend auf der aktuellen Blockhöhe lautet wie folgt: max ((Monat = Blockhöhe / 10800 Belohnung = 10000 * 95 ^ Monat / 100 ^ Monat), (100))
Eine Liste der Blockbelohnungen finden Sie am Ende dieses Dokuments.
Informations techniques:
public static long getBlockReward(int height) {
if (height == 0 || height >= 1944000) {
return 0;
}
int month = height / 10800;
return
BigInteger.valueOf(10000).multiply(BigInteger.valueOf(95).pow(month))
.divide(BigInteger.valueOf(100).pow(month)).longValue() * Constants.ONE_BURST;
}
Der Prozess des Abbaus und Schmiedens von Blöcken: (Begin Technical Information)
Ein Signum Node (lokal installiert oder per Fernzugriff) und eine Signum Mining-Software (um Fristen aus Plotdateien zu berechnen) sind erforderlich.
Die Mining-Software fordert wie folgt Mining-Informationen vom Knoten an:
- Neu Generationssignatur = Shabal-256 ( Bisherige Generationssignatur, Bisherige Blockgenerator )
- Basiszielwert
- Neu Blockhöhe
- Generation Haschisch = Shabal-256 ( Neu Generationssignatur, Neu Blockhöhe )
Aus diesen Informationen ( API-Beispiel ) erzeugt die Mining-Software Folgendes:
- Schaufelnummer = Modulo 4096 ( Generation Haschisch )
Diese Zahl wird verwendet, um Schaufeln (Schaufeldaten) aus den Plotdateien auszuwählen. Für jede Schaufel wird Folgendes berechnet:
- Ziel = shabal-256 ( Daten schöpfen , Generationssignatur )
- Frist = 1. 8 Byte ( Ziel / Basisziel )
Nachdem alle Fristen berechnet wurden, wird die niedrigste Frist (vorbehaltlich der maximalen Fristeinstellung), falls vorhanden, zusammen mit der numerischen Konto-ID, die an die zugehörige Plotdatei gebunden ist, und der Nonce-Nummer für . an den Knoten gesendet die Scoop-Daten, die zum Generieren der Frist verwendet wurden. Für Solo-Mining wird auch die Passphrase des Kontos übergeben, das an die Plotdatei gebunden ist. Für den Poolmining wird die Passphrase des Poolkontos verwendet.
Hinweis: Ältere Mining-Software hat mehrere, später niedrigere Fristen eingereicht, wie sie gefunden wurden, vorbehaltlich der maximalen Fristsetzung. Allerdings gibt es nach der Sodium-Hardfork keinen Grund, dies zu tun.
Nach Erhalt der Frist (oder Fristen) von der Mining-Software erstellt der empfangende Knoten eine Nonce, die verwendet wird, um die Frist zu finden und zu überprüfen. Wenn die Frist überprüft wird, wartet der Knoten, bis die Frist abläuft. Wenn eine niedrigere Frist an den Knoten übergeben wird, während die ursprüngliche Frist abläuft, wartet der Knoten auf den Ablauf der neuen niedrigeren Frist. Nachdem die niedrigste dem Knoten übermittelte Frist abgelaufen ist, überprüft der Knoten das Netzwerk, um zu sehen, ob bereits ein neuer gültiger Block angekündigt wurde. Wenn bereits ein neuer Block angekündigt wurde, werden die Informationen verworfen. Wenn kein neuer Block angekündigt wurde, beginnt der Knoten mit dem Schmieden eines neuen Blocks.
Um einen Block zu fälschen, sammelt der Knoten unbestätigte Transaktionen und überprüft die Gültigkeit jeder Transaktion, Signatur, Zeitmarke usw. Es werden so viele Transaktionen wie möglich zusammengestellt, bis die maximale Anzahl von Transaktionen pro Block erreicht ist oder alle verfügbaren Transaktionen verarbeitet wurden. Die Einschränkungen beim Einschließen von Transaktionen sind die maximale Blocknutzlast von 179.520 Byte (176 kB) und die maximale Anzahl von Transaktionen, die in einem einzelnen Block enthalten sein können. Die theoretische maximale Anzahl von Transaktionen beträgt 19.200.
Sehen Signum Transaktionsverarbeitung Weitere Informationen zur Funktionsweise der Transaktionsverarbeitung.
Sobald ein Knoten einen Block fälscht, gibt er ihn im Netzwerk bekannt, indem er sich mit Peers verbindet und den Block zur Überprüfung und Validierung sendet.
Hinweis: Transaktionen werden getrennt von Blöcken gespeichert.
Pools setzen oft eine maximale Frist. Fristen, die diese Grenze überschreiten, werden bei der Berechnung historischer Anteile ausgeschlossen.
Blockinhalt und Blockforscher:
Signum-Block-Explorer werden zum Anzeigen von Blockinformationen und -inhalten verwendet. Block Explorer werden von Programmierern und Organisationen innerhalb der Signum-Community bereitgestellt. Verschiedene Block-Explorer finden Sie im Online-Service-Verzeichnis. Eine Auswahl von Details für jeden Block ist auch in den meisten Brieftaschen enthalten.
Informationen, die normalerweise in einem Block-Explorer enthalten sind:
- Versionsnummer blockieren – bezieht sich auf das Blockformat, das bestimmt, was ein Block enthalten kann.
- Blockhöhe
- Liste der enthaltenen Transaktions-IDs.
- Nutzlast-Hash – Sha256-Hash aller in der Blocknutzlast enthaltenen Daten.
- Timestamp – Zeit, zu der der Block geschmiedet wurde – abgeleitet aus der Zeit des Genesis-Blocks (11. August 2014, um 02:00:00)
- Gesamtbetrag aller ingeschlossenen Buchungen
- Gesamtbetrag der Transaktionsgebühren
- Nutzlastlänge
- Der öffentliche Schlüssel des Kontos, das den Block gefälscht hat.
- Generierungssignatur zum Fälschen des Blocks.
- Sha256-Hash des Inhalts des vorherigen Blocks.
- Vorherige Block-ID – erste 8 Bytes des vorherigen Blockhashs in eine Zahl konvertiert.
- Kumulative Schwierigkeit – verwendet, um „Nichts auf Pfahl“ Probleme während möglicher Gabeln zu verhindern: Berechnung: (vorherige kumulative Schwierigkeit + ( 18446744073709551616 / Basisziel )
- Basisziel, das beim Schmieden des Blocks verwendet wurde.
- Nonce-Nummer zum Schmieden des Blocks.
- AT – Nutzlastbytes des AT, wenn AT dem Block hinzugefügt wurde.
- Blocksignatur – 64-Byte-Hash, der aus dem privaten Schlüssel des Gegers und dem Inhalt des Blocks generiert wird.
Hash-Funktionen:
Hashfunktionen reduzieren Text oder Daten auf eine 64-stellige Zeichenfolge. Unabhängig von Länge oder Inhalt erzeugt ein Originaltext jedes Mal eine identische Zeichenfolge mit 64 Zeichen. Die geringste Änderung am Original führt zu einer völlig anderen Zeichenfolge. Hash-Funktionen haben viele Anwendungen. Eine Möglichkeit besteht darin, ein Programm auf Änderungen zu überprüfen, indem der von ihm erzeugte Hash mit einem Hash verglichen wird, der aus einer als gut bekannten Version oder zumindest dem Original erstellt wurde. Wenn ein als Original präsentiertes Programm einen anderen Hash erzeugt, ist dies ein Beweis dafür, dass es geändert wurde.
Bei der Anwendung der Kryptologie von Signum enthält jeder Block den Hash des vorherigen Blocks, sodass jeder Block in der Kette überprüfbar ist. Wenn ein früherer Block geändert wird, muss auch der Hash für jeden nachfolgenden Block geändert werden, eine Aufgabe, die aufgrund der starken Kryptologie von Signum Milliarden von Jahren dauern würde. Neue Blöcke werden ungefähr alle vier Minuten hinzugefügt. Dieses kurze Zeitfenster schließt eine so lange Aufgabe aus. Hierin liegt die Sicherheit der Signum-Blockchain.
Im Gegensatz zu Bitcoin wird das Problem nicht durch zufälliges Erraten gelöst, sondern durch Lesen von Plots, die die Ergebnisse vorberechneter Hash-Funktionen enthalten. Jedes wird ausgewertet, um eine Frist zu bestimmen, die Zeit, die ein Plot benötigt, um eine Antwort auf das Rätsel zurückzugeben. Das Konto, das die kürzeste gültige Frist einreicht, ist berechtigt, den Block zu unterschreiben und die Blockbelohnung zu erhalten.
Neu erstellte Blöcke werden über das Konto, das sie erstellt, an das Netzwerk verteilt.
Technische Informationen zum Erstellen von Plotdateien:
Im Folgenden finden Sie die Terminologie, die zum Verständnis des Erstellungsprozesses von Plotdateien in Signum Mining erforderlich ist:
- Konto-ID : Die numerische ID des Signum-Kontos, mit der eine Plotdatei an ein bestimmtes Signum-Konto gebunden wird.
- Shabal-256 : Die prinzipielle kryptografische Funktion, die für Signum-Prozesse verwendet wird.
- Samen : Ein Shabal-256-Argument. Es kann als Eingabevariable betrachtet werden.
- Hash : Im Kontext von Signum die Ausgabe der Shabal-256-Funktion. Größe auf der Festplatte: 32-Byte (256-Bit). Alle Hashes werden mit einem endgültigen Hash gespeichert.
- Scoop: Scoops sind die Unterteilungen von Hashdaten auf Basisebene in einer Plotdatei. Jede Schaufel enthält zwei Hashes. Jedem Schaufel wird eine eindeutige Zahl zwischen 0 und 4096 zugewiesen. Größe auf dem Datenträger: 64 Bytes.
- Nonce: Nonces sind die Unterteilung von Hashdaten auf oberster Ebene in einer Plotdatei. Jede Nonce enthält 4096 Messlöffel. Jeder Nonce wird eine eindeutige Zahl von 0 bis (( 2 x 64) – 1) (0, 1, 2, 3 … 18,446,744,073,709,551,615). Die Identifikationsnummer wird vorab zugewiesen und als Seed in der Nonce-Generation verwendet. Aus diesem Grund verfügt jede Nonce über einen eindeutigen Datensatz. Größe auf Festplatte: 256 Kilobyte.
- Plotdatei : Eine Computerdatei mit allen Daten, die zum Fälschen von Signum-Blöcken erforderlich sind. Die Daten der Plotdatei werden zuerst nach Nonces und dann nach Scoops unterteilt. Größe auf der Festplatte: mindestens 256 Kilobyte, maximal die gesamte Festplattenkapazität.
Hinweis: Plotdateien enthalten nur Rohdaten. Es gibt keine Überschriften. Der Dateiname enthält alle Informationen, die ein Benutzer oder Bergmann benötigt. Die Formatierung des Dateinamens ist wie folgt.
POC2-Format: AccountID_StartingNonce_NrOfNonces
Nonce generieren:
Schritt 1: Berechnen Sie den anfänglichen Hash (#8191) aus einem Seed, der aus der 8-Byte-Konto-ID und der 8-Byte-Nonce-Nummer besteht. Jede nachfolgende Hash-Nummer wird um 1 verringert, bis die endgültige Hash-Nummer 0 ist.
Hash #8191 = Shabal256 (8 Byte Konto-ID, 8 Byte Nonce-Nummer)
Schritt 2: Hängen Sie Hash #8191 an den anfänglichen Seed an, um einen neuen Seed zu erstellen. Berechnen Sie Hash-#8190.
Hash#8190 = Shabal256 (Hash#8191, 8-Byte-Konto I, 8-Byte-Nonce-Nummer)
Schritt 3: Stellen Sie Hash #8190 vor Hash #8191 voran, um den nächsten Seed zu erstellen. Berechnen Sie Hash-#8189.
Hash#8189 = Shabal256 (Hash#8190, Hash#8191, 8-Byte-Konto-ID, 8-Byte-Nonce-Nummer)
Schritt 4: Fahren Sie fort, jedes Ergebnis dem letzten Startwert voranzustellen und die Berechnung auszuführen, bis 128 Iterationen abgeschlossen sind. Nach der 128. Iteration überschreiten die resultierenden Seeds 4.096 Bytes. Verwenden Sie für alle verbleibenden Iterationen nur die letzten 4.096 Bytes.
Schritt 5: Berechnen Sie einen endgültigen Shabal-256-Hash aller 8.192 Hashes und des ursprünglichen 16-Byte-Seeds.
Final Hash = Shabal256( Hash#0, Hash#1, Hash#2, ( . . . ), Hash#8191, 8 Byte Konto-ID, 8 Byte Nonce-Nummer)
Verwenden Sie den letzten Hash, um alle anderen Hashes einzeln zu XOREN:
Der logische XOR-Operator vergleicht das 1. Byte von jedem Hash und gibt eine ‚1‘ aus, wenn die Bytes übereinstimmen, oder eine ‚0‘, wenn die Bytes nicht übereinstimmen. Der Vorgang wird für jede Byteposition ausgeführt.
Hash 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Hash 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Xor | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Hash 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
Hash 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
Xor | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
1 |
Wie folgt:
32-Byte-Hash #8191 | Xor | 32-Byte-Final-Hash |
32-Byte-Hash #8190 | Xor | 32-Byte-Final-Hash |
32-Byte-Hash #8189 | Xor | 32-Byte-Final-Hash |
( . . . ) | ||
32-Byte-Hash #0 | Xor | 32-Byte-Final-Hash |
Wenn der Vorgang abgeschlossen ist, wird das neu erstellte Nonce in einer Plotdatei gespeichert, und der Vorgang zum Generieren eines Nonce wird wiederholt. Jede nachfolgende generierte Nonce wird der Plotdatei hinzugefügt. Die Anzahl der in einer Plotdatei enthaltenen Nonces ist nur durch die Speicherkapazität begrenzt.
POC2-Format
Der Prozess zum Erstellen von Nonces, der beschrieben wird, bis dieser Punkt das so genannte POC1-Format kapselt. Um eine weitgehend theoretische „Time-Memory-Tradeoff“ -Anfälligkeit mit POC1 zu beheben, wurde POC2 erstellt. Das Erstellen des POC2 folgt dem POC1-Format, es wird jedoch ein letzter Schritt hinzugefügt, um die Daten neu zu organisieren. Das Nonce ist in zwei Hälften unterteilt (Schaufelnummern 0 – 2047 und Schaufelnummern 2048 – 4095). Die Daten in der 2. Hälfte jeder Schaufel in den niedrigeren Zahlen und die Daten in der 1. Hälfte jeder Schaufel in den höheren Zahlen werden ausgetauscht. Der Spiegellöffel wird als 4095 – CurrentScoop berechnet.
Hinweis: Poc1-Plots können bis zum Mining verwendet werden, jedoch ist die Lesegeschwindigkeit von POC2-Dateien halb so schnell wie die Lesegeschwindigkeit von POC1-Dateien. POC1-Dateien können mit einem Plotdateikonverter auf POC2 aktualisiert werden. Der Konvertierungsprozess dauert ungefähr so lange wie das erneute Plotten. Daher entscheiden sich die meisten für das Replotten, anstatt den Konvertierungsprozess zu verwenden. Sie können POC1-Plotdateien anhand ihres Dateinamens identifizieren, der dem Muster von 15286677094439976801_64658021_19075408_19075408 (4 durch Unterstriche getrennte Zahlen) folgt. POC2-Plotdateien haben nur 3 Nummern in ihrem Dateinamen wie folgt: 15286677094439976801_1816799207619978854_456192.
Grundstücksstruktur
Mining-Software liest aus einer oder mehreren Plotdateien. Es öffnet eine Datei, sucht einen Messlöffel und liest die Daten, die der Messlöffel enthält. Wenn die Plotdatei nicht für diesen Prozess optimiert ist, befinden sich die Scoop-Positionen an mehr als einem Speicherort. Im folgenden Beispiel sucht die Software nach Scoop # 403. Die Kontinuität wird unterbrochen, da die Software Scoop #403 von Nonce 0 lesen muss und dann Scoop #403 von Nonce 1 lokalisieren und lesen muss. Optimierung ist der Prozess, der alle Schaufeln aus allen Nonces in einen Sektor legt.
Kürzlich entwickelte Software optimiert automatisch Plotdateien, während sie in den Speicher geschrieben werden. Vor dieser Entwicklung war es notwendig, ein zweites Programm zu verwenden, um die Daten neu zu gruppieren.
Im POC2-Format veraltete Informationen:
Staffelung – Eine Gruppe von Nonces in einer Plotdatei. Jeder Staffeln hat eine Staffelzahl, die der Anzahl der Nonces in der Gruppe entspricht. Um die Anzahl der Gruppen in einer Plotdatei zu finden, wird die Anzahl der Nonces durch die Staffelnummer geteilt. Wenn die Staffelungszahl der Anzahl der Nonces in der Datei entspricht, gibt es nur eine Gruppe, und die Plotdatei ist vollständig optimiert. Wenn die Division nicht zu einer ganzzahligen Datei führt, kann davon ausgegangen werden, dass die Plotdatei unterbrochen ist. Dateien Namen im POC1-Format sind wie folgt:
POC1-Format: AccountID_StartingNonce_NrOfNonces_Stagger (veraltet)
Blockbelohnungsplan:
monat | Datum | Höhe | Belohnung |
---|---|---|---|
0 | 2014-08-11 | 0 | 10000 |
1 | 2014-09-11 | 10800 | 9500 |
2 | 2014-10-11 | 21600 | 9025 |
3 | 2014-11-11 | 32400 | 8573 |
4 | 2014-12-11 | 43200 | 8145 |
5 | 2015-01-11 | 54000 | 7737 |
6 | 2015-02-11 | 64800 | 7350 |
7 | 2015-03-11 | 75600 | 6983 |
( … ) | ( … ) | ( … ) | ( … ) |
83 | 2021-07-11 | 896400 | 141 |
84 | 2021-08-11 | 907200 | 134 |
85 | 2021-09-11 | 918000 | 127 |
86 | 2021-10-11 | 928800 | 121 |
87 | 2021-11-11 | 939600 | 115 |
88 | 2021-12-11 | 950400 | 109 |
89 | 2022-01-11 | 961200 | 104 |
90 | 2022-02-11 | 972000 * | 100 |
*Die Mindestblockprämie beträgt 100 Signa für alle Blöcke nach der Blockhöhe 972000.
Credits:
Die Informationen in dieser Dokumentation basieren auf einem Artikel von Quibus. Die Dokumentation wurde von decrescendo überarbeitet. Letzte Überarbeitung 15.07.2021. Die Inhaltsprüfung für dieses Dokument wird geschätzt.