MSTR Cat

Blockchain/Nível II · Mecânica/2.2 Transações/Lição 7

A vida de uma transação

Da assinatura à finalização: como uma transação percorre a rede

MateriaisO site mempool.spaceUm explorador de blocos para rastrear a profundidade de confirmação

Curiosidade

  1. Por que um nó precisa verificar uma transação antes mesmo de saber se ela será minerada?
  2. O que torna um bloco mais “real” do que outro quando dois aparecem simultaneamente?
  3. Por que seis confirmações se tornaram uma convenção, e quando isso é demais ou de menos?

Explorar

  1. A jornada começa no software da carteira. O usuário seleciona saídas de transações não gastas específicas (UTXOs) para cobrir o pagamento e a taxa. A carteira constrói um novo objeto de transação, definindo entradas que fazem referência a saídas anteriores por meio do ID e índice da transação, e saídas que atribuem valor aos endereços dos destinatários ou ao endereço de troco. Cada entrada é assinada com a chave privada correspondente ao seu script de bloqueio, gerando assinaturas digitais que comprovam a propriedade sem revelar a própria chave.
  2. A transação totalmente assinada é serializada em um formato binário e transmitida para os pares conectados pela rede peer-to-peer. Ao recebê-la, cada nó realiza uma validação independente de acordo com as regras de consenso: verifica se as entradas cobrem as saídas, valida as assinaturas criptográficas, garante que não haja gasto duplo dos UTXOs existentes e valida a lógica do script. Se for válida segundo as políticas, o nó adiciona a transação ao seu mempool local e a anuncia aos pares com mensagens 'inv' (inventário); os pares que não a possuem solicitam a transação completa com 'getdata'.
  3. Os mineradores monitoram continuamente seus mempools em busca de transações lucrativas. Eles selecionam um conjunto de transações com taxas elevadas para incluir em um modelo de bloco candidato, que também contém a transação coinbase que concede o subsídio do bloco atual e as taxas arrecadadas. O minerador então realiza o proof-of-work, calculando o hash do cabeçalho do bloco repetidamente até encontrar um hash que atenda à meta de dificuldade atual da rede. Esse trabalho torna a produção do bloco dispendiosa e sua verificação barata; uma vez encontrado, o bloco é transmitido pela rede.
  4. Os nós que recebem o novo bloco verificam seu proof-of-work e a validade das transações antes de adicioná-lo à sua cópia local da cadeia. As transações contidas nesse bloco são agora consideradas confirmadas na profundidade um. Suas entradas são marcadas como gastas no conjunto UTXO, e suas saídas ficam disponíveis para uso futuro após o término dos prazos de bloqueio ou períodos de maturação necessários. Se um bloco concorrente aparecer na mesma altura, os nós seguem o ramo que acumula mais trabalho; se uma reorganização curta substituir um bloco, suas transações retornam ao mempool, a menos que o novo ramo já as inclua.
  5. A segurança aumenta com cada bloco subsequente adicionado sobre o bloco de confirmação. As tabelas do whitepaper mostram que um atacante com 10% da capacidade de hashing tem menos de 0,1% de chance de alcançar quem está cinco blocos à frente. Seis confirmações, aproximadamente uma hora, tornaram-se uma convenção comum a partir desse tipo de análise, embora o risco real dependa da participação do atacante e do valor em jogo. Enquanto alguns comerciantes aceitam pagamentos com zero confirmações para valores pequenos, transferências maiores geralmente esperam por várias confirmações para mitigar o risco de um ataque de gasto duplo por meio da reorganização da cadeia.
  6. As transações coinbase, que criam novos bitcoins a partir das recompensas de mineração e taxas, têm uma restrição especial: suas saídas não podem ser gastas até obterem 100 confirmações. A regra existe porque uma saída coinbase desaparece se seu bloco for substituído em uma reorganização; o atraso impede que essas moedas se espalhem para transações posteriores, as quais então se tornariam inválidas. Para transferências padrão de usuário para usuário, não existe tal atraso; uma vez confirmadas, as saídas são tecnicamente passíveis de uso, embora esperar por mais confirmações seja uma decisão de gestão de riscos baseada no valor em jogo e nas suposições de confiança.

Fatos-chave

  • Os nós validam as transações de acordo com as regras de consenso antes de adicioná-las aos seus mempools.
  • A validade de um bloco depende de seu proof-of-work atender à meta de dificuldade atual.
  • Seis confirmações (cerca de uma hora) é uma convenção comum, não uma regra de protocolo.
  • As saídas coinbase exigem 100 blocos de maturidade antes que possam ser gastas.
  • Em uma reorganização, as transações comuns do bloco substituído retornam ao mempool, a menos que entrem em conflito com o novo ramo; sua coinbase desaparece.
  • Os nós anunciam novas transações com mensagens 'inv' e as enviam a pedido ('getdata').

Exercício nove, seis, três, um

9ReunirListe 9 etapas ou eventos distintos no ciclo de vida de uma transação, desde a criação até a finalização.
6AgruparAgrupe essas 9 etapas em 6 fases: construção, validação, propagação, mineração, confirmação e estados pós-confirmação.
3DestilarReduza as 6 fases para 3 pontos de verificação críticos, onde a rede aplica segurança ou consenso.
1CristalizarEscreva 1 frase explicando por que seguir a cadeia com mais trabalho resolve conflitos entre blocos concorrentes.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS