Wie der Überweisungs-Prozess abläuft

From Nxt Wiki
Jump to: navigation, search
This page is a translated version of the page How Tx Processing Works and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎português do Brasil • ‎русский • ‎українська

1 Überweisungen

Um die Guthaben jedes NXT Kontos zu berechnen wird ein Scan des gesamten Blockchains benötigt. Was sich ineffizient anhört ist allerdings mit den heutigen Netzwerk- und CPU- Geschwindigkeiten kein allzu großer Rechenaufwand. Das verlagert die benötigten Arbeiten weg von den NXT Servern und erlaubt dadurch auch leistungsschwachen Mobilgeräten ein NXT-Knoten zu sein.

Die Details einer NXT-Überweisung laufen wie folgt:

  1. Der Absender legt die Parameter für die Überweisungen fest. Die Arten der Überweisungen können variieren (Geld senden, Alias erstellen, Nachricht übermitteln, Wertanlagen oder einen Auftrag dafür erwerben) wobei aber bestimmte Parameter für die Überweisung festgelegt werden müssen.
    • Das geheime Passwort für das sendende Konto
    • Eine festgelegt Gebühr für die Überweisung
    • Eine Deadline für die Überweisung
    • Eine optionale "referenzierte" Überweisung
  2. Alle Eingabewerte für die Überweisung wurden geprüft. Beispielsweise, benötigte Parameter müssen festgelegt sein; Gebühren können nicht Null oder weniger betragen; die Deadline für die Überweisung darf nicht weniger als eine Minute in der Zukunft liegen.
  3. Wenn durch das Prüfen der Parameter keine Exception ausgeworfen wird:
    1. Der Public-Key wird mithilfe des angegebenen geheime Passworts für das initiierende Konto berechnet.
    2. Die Kontoinformationen des initiierenden Kontos werden abgerufen und die Parameter für die Überweisung weiter validiert.
      • Das Guthaben des sendenden Kontos kann nicht Null sein.
      • Das bestätigte Guthaben des sendenden Kontos darf nicht geringer sein als die Höhe der Überweisung plus der Überweisungsgebühr.
    3. Wenn das sendende Konto ausreichend Mittel für die Überweisung hat:
      1. Es wird eine neue Überweisung mit einem Typ und Untertyp Werten erzeugt welcher der Art der Überweisung entspricht (Geld senden, Alias erstellen, Nachricht senden usw.). Alles festgelegten Parameter sind im Überweisungsobjekt enthalten. Mit der Erstellung des Objekts wird eine eindeutige Transaktions- ID erzeugt.
      2. Die Überweisung wird mit dem Private-Key des sendenden Kontos signiert
      3. Die verschlüsselten Überweisungsdaten werden in einer Nachricht platziert, welche die Peers im Netzwerk anweist die Überweisung zu verarbeiten.
      4. Die Überweisung wird an alle Peers im Netzwerk übertragen.
  4. Der Server antwortet mit einem Ergebnis-Code: die Transaktions ID, ob die Überweisungserstellung erfolgreich war;einen Fehlercode und eine Fehlernachricht wenn eine der Parameterchecks fehlschlägt.

2 Überweisungsbestätigungen

Alle Nxt-Überweisungen werden als "unbestätigt" angesehen bis sie in einem gültigen Netzwerk-Block eingefügt wurden. Neu-erstellte Blöcke werden, vom Konto das sie erstellt hat, an das Netzwerk verteilt. Und eine Überweisung welche in einen Block eingefügt wurde, wird als einmal bestätigt angesehen. In der Zwischenzeit nachfolgende Blöcke die zur bestehenden Kette von Blöcken hinzugefügt wurden, fügt jeder zusätzlich hinzugefügte Block eine weitere Bestätigung zur Anzahl der Bestätigungen der Überweisung dazu.

Nxt Überweisungen werden nach 10 Bestätigungen als verlässlich erachtet. Es können, im Falle von Problemen, bis zu 720 neue Blöcke "neu geordnet" werden. Somit werden Überweisungen nach 721 Bestätigungen als unwiderruflich angesehen. Überweisungen die 1440mal bestätigt wurden werden als Permanent betrachtet.