Como funcionam as transações de Bitcoin?
Como é que o processo de transação de Bitcoin funciona em detalhe? Neste artigo, explicamos o processo e termos como prémios de mineração, nonces e UTXOs.
Principais conclusões:
- Uma transação Bitcoin envolve vários passos que acontecem nos bastidores depois de os utilizadores premirem o botão “enviar”.
- Os passos envolvem a criação de um novo endereço Bitcoin único, a submissão do pagamento, a verificação da transação, a codificação da informação num novo bloco e a validação de pagamentos utilizando apenas outputs de transação não gastos (UTXOs) como entradas.
- A velocidade das transações de Bitcoin por minuto e por hora pode variar dependendo das condições da rede.
Nos bastidores do processo de transação de Bitcoin
Vamos introduzir os procedimentos de transação de Bitcoin com o seguinte cenário:
Bob, um comerciante online, decide aceitar Bitcoin como pagamento.
Alice, uma compradora, tem bitcoins e quer comprar uma mercadoria ao Bob.
As carteiras são ficheiros que permitem o acesso a vários endereços Bitcoin. Um endereço é uma sequência de letras e números, como: 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN. Cada endereço tem o seu próprio saldo de bitcoins e os utilizadores podem criar tantos endereços quantos quiserem. Imagine os endereços como contas bancárias que funcionam de forma um pouco diferente.
Para um mergulho profundo na própria Bitcoin, leia O que é a Bitcoin? Um guia completo para iniciantes em cripto .
Criar um novo endereço
O software Bitcoin de cliente gera endereços Bitcoin para os utilizadores. Quando Bob cria um novo endereço, o que está realmente a fazer é gerar um “par de chaves criptográficas”, composto por uma chave privada (que apenas o utilizador conhece) e uma chave pública (que é conhecida por qualquer pessoa).
Ao assinar uma mensagem com uma chave privada, ela pode ser verificada usando a chave pública correspondente. O novo endereço Bitcoin do Bob representa uma chave pública única, e a chave privada correspondente é armazenada na sua carteira. A chave pública permite a qualquer pessoa verificar se uma mensagem assinada com a chave privada é válida.
Enviar um pagamento
A carteira da Alice tem as chaves privadas de cada um dos seus endereços. Ela diz ao seu Bitcoin de cliente que gostaria de transferir BTC para o endereço de Bob. O Bitcoin assina então o seu pedido de transação com a chave privada do endereço a partir do qual está a transferir bitcoins. Qualquer pessoa na rede pode agora utilizar a chave pública para verificar se o pedido de transação provém realmente do proprietário legítimo da conta.
Por outras palavras:
A chave pública é utilizada para receber bitcoins.
A chave privada é utilizada para assinar transações para gastar esses bitcoins.
Ao gastar bitcoins, o proprietário atual apresenta a sua chave pública e assinatura digital numa transação Bitcoin. A transação é assinada digitalmente por uma chave privada, que indica a autorização para gastar os fundos referidos na transação.
Com a chave pública e a assinatura digital, todos na rede Bitcoin podem verificar e aceitar a transação como válida, confirmando que a pessoa que transfere as bitcoins as possuía no momento da transferência.
Como os mineradores ganham dinheiro: Prémios dos mineiros pela verificação de transações
Suponha que Gary, Glenn e George são mineradores de Bitcoin. Os seus computadores agrupam as transações dos últimos 10 minutos num novo bloco de transações. Cada bloco inclui uma transação “coinbase” que paga 50 bitcoins ao minerador vencedor – neste caso, o Gary. É criado um novo endereço na carteira do Gary com o saldo de bitcoins recém-cunhados.
Além disso, os mineradores recebem as taxas pagas pelos utilizadores que enviam transações. A taxa é um incentivo para o minerador incluir a transação no seu bloco.
O que é o halving do Bitcoin e como afeta as recompensas dos mineradores? Descubra aqui.
Sequência de transações
- A transação é transmitida na rede Bitcoin, onde cada participante valida e propaga a transação até que esta chegue a quase todos os nós da rede.
- A transação é verificada por um nó de mineração e incluída num bloco de transações que é registado na blockchain.
- Uma vez registada na blockchain e confirmada por blocos subsequentes suficientes, a transação torna-se uma parte permanente da DLT(distributed ledger technology) aberta da Bitcoin e é aceite como válida por todos os participantes.
- As bitcoins recebidas pelo novo proprietário como parte da transação podem então ser gastas numa nova transação.
Qual a velocidade das transações de Bitcoin por segundo?
Agora, quanto tempo é que tudo isto demora?
A Bitcoin gere uma taxa média de transações de sete transações por segundo (tps), o que corresponde a 420 transações de Bitcoin por minuto; 25.200 transações por hora; e mais de 600.000 transações de Bitcoin por dia. Embora isto possa parecer muito, ainda é pouco em comparação com sistemas de transação mais estabelecidos, como o Visa, que pode lidar com milhares de tps.
Codificação de informação num bloco: Hashes criptográficos
É a codificação criptográfica que torna a blockchain tão segura, onde funções de hash criptográfico transformam uma coleção de dados numa cadeia alfanumérica com um comprimento fixo, designada por valor de hash.
Mesmo pequenas alterações nos dados originais alteram drasticamente o valor da hash resultante. É essencialmente impossível prever que conjunto de dados inicial criará um valor de hash específico.
Por exemplo:
Nonces
Para criar diferentes valores de hash a partir dos mesmos dados, o Bitcoin usa nonces. Alterar o nonce resulta num valor de hash muito diferente.
Os computadores de mineração calculam novos valores de hash com base numa combinação do valor de hash anterior, o novo bloco de transação e um nonce. A criação de hashes é computacionalmente trivial, mas o sistema Bitcoin exige que o novo valor de hash tenha uma forma particular – especificamente, ele deve começar com um certo número de zeros.
Os mineradores não têm como prever qual nonce produzirá um valor de hash com o número necessário de zeros à esquerda. Assim, são forçados a gerar muitos hashes com diferentes nonces até encontrarem um que funcione.
Mas onde está a transação não confirmada da Alice no nonce?
Entretanto, a transferência de Alice para Bob fica enterrada por baixo de outras transações mais recentes. Embora ainda não esteja escrita na blockchain, já está na fila para ser confirmada e esta informação não pode mais ser alterada. Para alguém modificar os detalhes, teria de refazer o trabalho que Gary fez – uma vez que quaisquer alterações exigiriam um nonce vencedor completamente diferente – e depois refazer o trabalho de todos os mineradores subsequentes, o que é quase impossível.
Saída de transação não gasta (UTXO)
Antes de introduzir as saídas de transações não gastas (UTXOs), precisamos de conhecer a entrada e a saída das transações de Bitcoin.
Entrada
Um input é uma referência a um output de uma transação anterior. Todos os valores de entrada da nova transação (o valor total da moeda dos resultados anteriores referenciados pelas entradas da nova transação) são somados e o total (menos qualquer taxa de transação) é totalmente utilizado pelos resultados da nova transação.
Muitas vezes, uma transação inclui vários inputs.
Output
Um Output contém instruções para enviar bitcoins. O output de uma transação inclui o valor que o output terá quando for reclamado.
Output de transação não gasta (UTXO)
Como cada output de uma determinada transação só pode ser gasta uma vez, os outputs de todas as transações incluídas na blockchain podem ser categorizadas como outputs de transações não gastos (UTXOs) ou outputs de transações gastos. Para que um pagamento seja válido, ele deve usar apenas UTXOs como inputs.
A figura acima mostra as partes principais de uma transação Bitcoin. Cada transação tem pelo menos um input e um output, e cada input gasta os satoshis pagos a um output anterior. Cada output aguarda então como UTXO até que um input posterior o gaste. Quando a carteira Bitcoin de um utilizador indica um saldo de 10.000 satoshis, isso significa que ele tem 10.000 satoshis à espera em um ou mais UTXOs.
UTXO durante as transações
Imagine que alguém usou o endereço 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN para receber bitcoins duas vezes antes. A transação de 5 de fevereiro de 2019 contém 4.000 satoshis e a transação de 9 de março de 2019 contém 6.000 satoshis. A blockchain da Bitcoin não os ajudará a somar o saldo de forma a que exista um registo com 1HULMwZEPkjEPech43BeKJL1ybLCWrfDpN: 10.000. Em vez disso, sempre que um utilizador quiser gastar os seus bitcoins, tem de desbloquear as transações que lhe pertencem (com bitcoins enviadas para a sua chave pública), uma a uma.
Por exemplo, para enviar 3.000 satoshis, basta desbloquear a transação de 5 de fevereiro de 2019 ou a transação de 9 de março de 2019, uma vez que ambas contêm mais de 3.000 satoshis.
Mas para enviar 8.000 satoshis, é necessário desbloquear ambas as transações para gastar todos os bitcoins numa nova transação, uma vez que não é permitido o gasto parcial; o utilizador tem de utilizar todos os bitcoins que desbloqueou. Se o utilizador pretendia enviar apenas 8.000 satoshis, ainda precisa de gastar 10.000 satoshis na nova transação e, em seguida, enviar 2.000 satoshis de volta para um endereço que lhe pertence.
Obtenha uma introdução ao comércio de Bitcoin neste artigo.
Palavras finais – Pagar com Bitcoin
Embora as transações com Bitcoin funcionem sem problemas, os pagamentos de retalho na vida real com BTC ainda são dificultados por velocidades de transação lentas. No entanto, efetuar pagamentos reais com a Bitcoin é uma das principais funcionalidades da BTC que Satoshi Nakamoto previu no livro branco da Bitcoin . A camada 2 da Bitcoin, denominada Lightning Network, fornece atualmente uma solução para este problema de escalabilidade.
Leia mais sobre como efetuar pagamentos quase instantâneos com Bitcoin através da Lightning Network.
Diligência é devida e faça a sua própria pesquisa
Todos os exemplos listados neste artigo são apenas para fins informativos. Não deve interpretar qualquer informação ou outro material como aconselhamento jurídico, fiscal, de investimento, financeiro ou outro. Nada aqui contido constituirá uma solicitação, recomendação, endosso ou oferta por Crypto.com para investir, comprar ou vender quaisquer ativos digitais. Os retornos da compra e venda de ativos digitais podem estar sujeitos a impostos, incluindo imposto sobre ganhos de capital e/ou imposto sobre o rendimento, na sua jurisdição ou nas jurisdições em que é residente para efeitos fiscais. Quaisquer descrições dos produtos ou caraterísticas da Crypto.com são meramente ilustrativas e não constituem um endosso, convite ou solicitação.
O desempenho passado não é uma garantia ou previsão de desempenho futuro. O valor dos ativos digitais pode aumentar ou diminuir e o utilizador pode perder a totalidade ou um montante substancial do seu preço de compra. Ao avaliar um ativo digital, é essencial que faça a sua própria investigação com a devida diligência para fazer o melhor julgamento possível, uma vez que quaisquer compras serão da sua exclusiva responsabilidade.
c
Partilha com amigos
Pronto para iniciar a sua jornada com a crypto?
Obtenha o seu guia passo a passo para configurar
uma conta com Crypto.com
Ao clicar no botão Enviar, o utilizador reconhece ter lido o Aviso de Privacidade da Crypto.com onde explicamos como utilizamos e protegemos os seus dados pessoais.