Transações
O que é uma transação de bitcoin?
Uma transação de bitcoin é só um monte de dados.
Ela contém informações sobre o valor que está sendo enviado, a conta de onde está sendo enviado e a conta para onde está sendo enviado.
Isso é só informação, então pode ser facilmente representada em uma única linha de dados:
E quando você "faz uma transação", você só envia esses dados da transação para a rede bitcoin.
Em algum momento, um dos nós da rede vai minerar sua transação em um bloco, e esse bloco (com sua transação dentro) será adicionado ao arquivo permanente de transações (chamado de blockchain).
E é só isso que uma transação de bitcoin é — uma simples linha de dados que é enviada para a rede bitcoin para que possa ser minerada na blockchain.
Como funciona uma transação de bitcoin?
Um endereço de bitcoin é como um número de conta que guarda bitcoins.
Porém, quando você faz uma transação, não é como tirar uma quantidade exata de moedas de um pote e movê-las para outro.
Em vez disso, um endereço mantém o registro de cada pagamento individual que recebeu:
Então, quando você quer enviar bitcoins para outra pessoa, você pega valores inteiros que já recebeu e os usa para enviar um novo valor para um novo endereço:
E quando essa outra pessoa quiser enviar bitcoins para mais alguém, ela usará valores inteiros que recebeu da mesma forma:
Então, na prática, você recebe bitcoins em lotes, e usa esses lotes para criar novos lotes para enviar a outras pessoas.
É assim que as transações funcionam.
E se os lotes somarem mais do que o valor que eu quero enviar?
Boa pergunta, Senhor/Senhora.
Nesse caso (que é frequente), você simplesmente adiciona outra saída à transação e envia a diferença de volta para você mesmo:
Isso pode parecer estranho no início, eu sei, mas é uma forma precisa de fazer do ponto de vista de programação.
Resumo
- Sua carteira te dá um endereço de bitcoin. Os bitcoins chegam nesse endereço em lotes, chamados de saídas (outputs).
- Uma transação de bitcoin é o processo de usar essas saídas (como entradas) para criar novas saídas que pertencem ao endereço de outra pessoa.
- Tudo isso pode ser representado por uma única linha de dados.
Para mais detalhes de como esse sistema de saídas funciona, confira saídas.
O que impede outras pessoas de gastarem meus bitcoins?
Ou, em outras palavras…
Pergunta: "Se fazer uma transação é simplesmente uma questão de alimentar a rede bitcoin com uma linha de dados, por que alguém não pode construir uma transação que inclua o meu endereço e usá-la para enviar bitcoins para o endereço dele?"
Resposta: Porque cada saída de transação tem uma trava:
E se você criar uma transação sem destravar essas saídas, os nós da rede bitcoin vão rejeitar a transação:
Mas, felizmente para você, cada endereço vem com uma chave privada única:
Então, se você quer enviar bitcoins em uma transação, você usa essa chave privada para criar uma assinatura única que pode destravar as saídas localizadas no seu endereço.
Depois de destravar todas as saídas que você quer usar, a transação será aceita pelos nós e propagada pela rede Bitcoin.
E é assim que as transações de bitcoin funcionam.