Come vengono processate le transazioni

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 Transazioni

Calcolare il bilancio di ogni account richiede uno scan dell'intera blockchain. Sebbene possa sembrare inefficiente, con le odierne CPU e le velocità di transmissione questo constituisce uno sforzo computazionale basso. Questo alleggerisce il carico richiesto ai server e permette anche ai dispositivi low-power di fare da nodo per il network.

Una transazione NXT ha luogo nel modo seguente:

  1. Il mittente specifica i parametri della transazione. I tipi di transazione possibili sono vari (inviare soldi, creare un alias, trasmettere un messaggio, emettere o ordinare un bene) tuttavia diversi parametri vanno specificati per ogni transazione
    • la passphrase segreta del mittente
    • una tassa specifica per la transazione
    • una data di scadenza per la transazione
    • una transazione di riferimento opzionale
  2. Tutti questi valori sono verificati. Ad esempio, che tutti i parametri obbligatori sono stati specificati; la tassa sulla transazione non può essere inferiore o uguale a zero; la data di scadenza non può essere meno di 1 minute nel futuro
  3. Se i parametri sono conformi
    1. La chiave pubblica dell'account del mittente viene calcolata utilizzando la passphrase
    2. Le informazioni dell'account del mittente sono estratte e i parametri della transazione vengono validati ulteriormente
      • Il bilancio totale dell'account del mittente non può essere zero
      • Il bilancio totale confermato non può essere inferiore all'importo totale (somma da inviare e tassa)
    3. Se il mittente possiede fondi a sufficienza per la transazione:
      1. Una nuova transazione é creata, avente un tipo e un sottotipo conforme al tipo di transazione (inviare soldi, creare un alias, inviare un messaggio, etc.). Tutti i parametri specificati sono inclusi nell'oggetto Transaction. Un ID unico per la transazione é generato con la creazione di questo oggetto Transaction
      2. La transazione é firmata usando la chiave privata del mittente
      3. Le informazioni della transazione (criptati) sono posti all'interno di un messaggio che istruisce i nodi del network di processare la transazione
      4. La transazione é emessa sulla rete a tutti i nodi
  4. Il server risponde con un codice conseguente: l'ID della transazione, se questa ha avuto successo; con un codice d'errore e un messaggio d'errore se qualsiasi parametro abbia fallito la validazione

2 Conferma della transazione

Tutte le transazioni sono considerate "non confermate" finché queste non sono incluse in un blocco valido. I blocchi appena creati sono distribuiti al network dall'account che li ha generati, e una transazione inclusa in un blocco é considerata come "confermata" una sola volta. Visto che i blocchi successivi sono aggiunti alla catena di blocchi (blockchain) già esistente, ogni nuovo blocco aggiunge una nuova conferma al numero di conferme che una transazione possiede.

Una transazione é considerata come affidabile dopo 10 conferme. 720 é il numero massimo di blocchi recenti che possono essere "riorganizzati" dal network in caso di problemi, quindi una transazione é considerata irreversibile dopo 721 conferme. Transazioni che sono state confermate 1440 volte sono considerate permanenti.