Como funciona o processamento das transações

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 Transações

O cálculo dos saldos de cada conta NXT requerem uma varredura de todo o blockchain. Embora isso possa parecer ineficiente, com as velocidades de rede e CPUs atuais não é uma tarefa computacional tão grande assim. Isso alivia o trabalho exigido do servidor NXT e permite que mesmo dispositivos móveis possam ser um nodo NXT.

Seguem os detalhes de uma transação NXT:

  1. O remetente especifica os parâmetros para a operação. Tipos de transações variam (envio de dinheiro, criação de um alias, transmissão de uma mensagem, a emissão de um ativo ou de uma ordem relacionada a um ativo), mas vários parâmetros devem ser especificados para qualquer operação:
    • a frase secreta para a conta de envio
    • uma taxa específica da transação
    • um prazo limite para a transação
    • a transação "referenciada" opcional
  2. Todos os valores das entradas de transação são verificados. Por exemplo, os parâmetros obrigatórios deve ser especificados; taxas tem que ser maiores que zero, um prazo de operação não pode ser inferior a 1 minuto.
  3. Se nenhuma exceção é lançada como resultado de verificação de parâmetros:
    1. A chave pública que gera a conta é calculada usando a senha fornecida
    2. As informações da conta emissora são recuperadas, e os parâmetros de transação são validados:
      • O saldo da conta não pode ser zero
      • O saldo confirmado da conta de envio não deve ser inferior ao valor da transação, mais a taxa de transação
    3. Se a conta de envio tem fundos suficientes para a transação:
      1. A nova transação é criada, com o tipo e o subtipo definidos para corresponder ao tipo de operação que está sendo feita (envio de dinheiro, criação de um alias, envio de uma mensagem, etc.) Todos os parâmetros especificados são incluídos no objeto de transação. A ID da transação exclusivo é gerado com a criação do objeto
      2. A transação é assinada usando a chave privada da conta de envio
      3. Os dados criptografados da transação são colocados dentro de uma mensagem instruindo os pares de rede para processar a transação
      4. A transação é transmitida a todos os seus pares na rede
  4. o servidor responde com um código de resultado: o ID de transação, se a criação da transação foi bem sucedida, um código de erro e uma mensagem de erro se algum das verificações de parâmetros falhou.

2 Confirmações da transação

Todas as transações Nxt são considerados "não confirmadas" até que sejam incluídas em um bloco de rede válido. Blocos recém-criados são distribuídos para a rede pela conta que os cria, e uma transação que está incluída em um bloco é considerada a ser confirmada uma vez. Uma vez que os blocos subsequentes são adicionados à cadeia existente de blocos, cada bloco adicional adiciona mais um para o número de confirmações da transação.

As transações Nxt são consideradas confiáveis ​​após 10 confirmações. Até 720 blocos recentes podem ser "re-organizados" pela rede em caso de problemas, por isso, a transação é considerada irreversível após 721 confirmações. Transações que foram confirmados 1.440 vezes são considerados permanentes.