# Transações de bitcoin

A transferência de bitcoins na rede bitcoin se dá através de transações entre o endereço remetente e o destinatário. Em geral, esses endereços pertencem a pessoas diferentes, mas é possível que um usuário crie um endereço destinatário para si, fazendo uma auto-transferência de bitcoins.
Basicamente, o processo envolve três partes: recebimento do endereço destinatário, criação da transação, transmissão da transação. Inicialmente, o usuário que irá fazer o pagamento precisa saber o endereço destinatário. O usuário que receberá o pagamento pode informá-lo através de texto, ou, de maneira mais simples, através de um Código QR|código de barras do tipo QR, que será escaneado pelo dispositivo do usuário pagador.
O programa de carteira do usuário pagador irá criar a transação. Apenas dois dados precisam ser informados para que o usuário crie uma transação. O usuário precisa apenas informar a quantia de bitcoins que quer enviar e também qual é o endereço bitcoin de destino.
Para transmitir a transação à rede bitcoin, o usuário precisa apenas conectar-se à Internet. Uma observação importante é: não é possível cancelar ou reverter uma transação, após ela ter sido enviada pela rede. Para ter os bitcoins associados ao seu endereço próprio, o destinatário não precisa estar online no momento em que a transação ocorre e ele também não precisa confirmá-la.

## Um breve entendimento sobre bitcoin

Bitcoin é uma criptomoeda e um sistema de pagamento digital$^{:3}$. Ela foi inventada por um programador, cuja identidade não foi revelada, ou um grupo de programadores, sob o nome de Satoshi Nakamoto.
Foi no ano de 2009 que o bitcoin foi lançado como um software de código aberto. Bitcoin podem ser trocadas por outras moedas, serviços e produtos em mercados negros ou legais. Ele também foi criado como uma recompensa para a mineração.

## Funcionamento detalhado das transações

No protocolo bitcoin, cada transação exige no mínimo três chaves criptográficas, sendo condição mínima para que haja uma transação:
* Um endereço remetente (chave pública);
* A chave privada do endereço remetente (chave secreta);
* Um endereço destinatário (chave pública).
Nos aplicativos de carteira, o usuário só necessita informar o endereço do destinatário ao realizar transações porque a sua chave, que é privada, e o endereço do remetente já ficam guardados no dispositivo.

## Diferença entre as contas bancárias tradicionais e as contas de bitcoin

As transações de bitcoins não ficam em conta bancária tradicional, como nos bancos tradicionais, que têm dados do usuário como: nome do titular e o número da conta. Para o funcionamento, cada participante da rede Bitcoin possui uma carteira digital. Essa carteira digital cria um número de pares de chave pública/privada arbitrárias. Um processo de criptografia arbitrário da carteira é o responsável pela geração de endereços bitcoins. Vale a pena ressaltar que os proprietários das carteiras bitcoins são considerados anônimos, ou seja essas carteiras não têm nenhuma informação sobre seus proprietários. As senhas privadas que são as chaves privadas da carteira bitcoin são utilizadas para permitir pagamentos feitos exclusivamente pelo dono da moeda.

## Alguns fatores que auxiliam na privacidade na transações de bitcoins

* Criar apenas novos endereços para um único uso. O Benefício disso é o fato de que quando isso ocorre, para realizar a transação, o usuário não necessita de expor transações associadas e nem seus endereços antigos;
* O uso das chaves privadas da carteira bitcoin. Chaves essas que são as senhas privadas que são utilizadas para autorizar pagamentos que são feitos apenas pelo proprietário da moeda bitcoin;
* Essas carteiras bitcoin e também seus endereços são anônimos, pois não possuem nemhuma informação pessoal sobre o seu proprietário;
* O usuário tem a escolha de operar de forma anônima. Para isso ele precisa esconder o seu endereço IP para ter maior privacidade ao navegar na Internet e também não tornar público seus endereços bitcoin e a sua identidade real na Internet. Vale a pena ressaltar que essa anonimidade é classificada por alguns autores como pseudo-anônimo, pelo fato de que existem casa de câmbio|sites de câmbio bitcoin e também alguns comércios que podem associar a identidade real a endereços bitcoin. Eles fazerm isso com o objetivo de estar fornecendo alguns serviços ao usuário.

## Questões interessantes relacionadas a transações de bitcoin na rede Bitcoin

Por conta do tão rápido crescimento das transações de bitcoins na rede Bitcoin, há também e na mesma proporção ações mal-intecionadas. Vírus de computador, phishings, trojans e golpes no comércio de bitcoin podem ser encontrados. Por isso é essencial que as configurações de segurança do navegador estejam todas reforçadas. Os usuários da rede Bitcoin podem observar as transações e a blockchain praticamente (quase que) em tempo real. Alguns muitos sites ajudam e proporcionam esse monitoramento, incluindo variáveis agregadas como o número de transações por hora, o número de bitcoins em circulação, representações gráficas para auditorias e também as taxas de transação a cada momento. Um exemplo que ajudará a entender a transação de bitcoin é o seguinte: bitcoins possuem a chave pública que é o endereço da carteira do dono atual. Então, quando o usuário A faz a transferência de bitcoins para outro usuário, por exemplo, o usuário B, o usuário A transfere a propriedade da moeda ao adicionar o endereço do B na carteira e A autoriza a transferência assinando a sua própria chave privada-secreta. Então, a carteira de A comunica essa transação a outros nós da rede peer-to-peer. E então, o resto dos nós que estão na rede validam as quantias envolvidas e as assinaturas criptográficas antes de registrar essa transação na blockchain.

## Transações e blocos na Blockchain

Blockchain é um banco de dados distribuído. Ela teve seu primeiro destaque como base de funcionamento do Bitcoin. Blockchain é um livro-razão público, composto por duas partes: uma rede peer-to-peer e um banco de dados distribuído descentralizado. Explicando de início como ocorre as transações: O bloco gênese é codificado no software para servir como o estado inicial do sistema. O bloco gênese pode ter instruções ou informações sobre as regras sobre o banco de dados restante. Então, após isso, é formado o banco de dados a partir de uma série de blocos que, juntos, formam uma cadeia. Por isso o nome blockchain (cadeias de blocos). Cada bloco na cadeia contém transações ou informações. A medida que se adicionam transações, sua informação é guardada no bloco de acordo com o momento que a mesma foi processada.
Esta combinação de tempo e informação cria um livro-razão que documenta valor ou outros recursos no banco de dados. Depois das transações serem empilhadas(colocadas) no bloco, uma assinatura ou "hash" é adicionada no final do bloco. O hash é linkado ao bloco anterior da cadeia. Estes hashes formam as ligações voltando entre as cadeias até chegar ao bloco gênese. A Função hash criptográfica inclui o número do bloco atual e o número do próximo bloco da cadeia. Ele também inclui a data e o momento que foi assinado e a quantidade de transações inclusas no bloco presente. O hash apresenta-se como uma chave encriptografada.