Ir ao conteúdo
  • Cadastre-se

Tudo o que você precisa saber sobre blockchain


     28.672 visualizações    Outros    2 comentários
Tudo o que você precisa saber sobre blockchain

Transações e blocos

Em termos práticos, uma transação é constituída por três variáveis: quem manda; quem recebe; e a quantia transladada. O identificador de quem manda e de quem recebe é chamado de endereço, que é constituído por assinaturas digitais criptografadas (uma pública mais outra privada) que só podem ser geradas por um conjunto de doze palavras-chave que apenas o usuário dono do endereço detém.

Quando uma transação é enviada para a rede da blockchain ela é analisada pelos nós de rede para identificar se é duplicada, notificando o usuário caso seja duplicada ou ficando em espera de confirmação, caso seja original, podendo ser identificada por seu código num explorador de blocos. Enquanto a transação não for confirmada o usuário ainda pode considerar que o fundo "transferido" está em suas mãos, porém congelado; e quando a transação é confirmada então ela é salva em um bloco com a respectiva quantia no endereço do destinatário. Neste bloco um usuário pode encontrar várias outras transações confirmadas ao mesmo tempo que a sua. Na rede do Bitcoin a média atual é de 2.400 transações salvas por bloco a cada 10 minutos.

Onde na Tabela 1 está escrito "Transação 1", em uma transação real, de Bitcoin por exemplo, ela seria identificada pelo código 3cfb587bd5b880186e5c3017c5643ade0ff5bc7b632c3d7b618cf4151cdfc5b2. Este código é a assinatura de transação referida anteriormente na introdução deste artigo.

Tabela 1.png

Tabela 1: Transação de uma quantia menos a taxa.

Suponha que uma pessoa A manda 2 Bitcoin para uma pessoa B. A pessoa A tem que pagar uma taxa para a transação ser realizada, ela tem total controle sobre quanto de taxa ela está disposta a pagar e resolve pagar 0,0001 Bitcoin. A pessoa B recebe, portanto, apenas 1,9999 Bitcoin. (Aqui as letras do alfabeto serão usadas em vez de endereços reais para facilitar a ilustração; mas em um caso real as partes envolvidas seriam identificadas por endereços de 34 carecteres, no caso do Bitcoin, como esse a seguir: 1H3kEuSdm9G1fTi9tVBDBxGotHpCtVUKWP.)

Digamos que a pessoa A tem mais quatro endereços diferentes (B, C, D e E) e que ela quer usar os fundos desses quatro endereços para mandar para outros quatro endereços pertencentes, ou não, a uma mesma pessoa. A Tabela 2 ilustra duas transações do mesmo tipo (em que quatro endereços se juntam e enviam quantias específicas para outros quatro endereços) mostrando que o valor da taxa (no centro) é descontado da soma dos valores enviados (na esquerda).

Tabela 2.png

Tabela 2: Duas transações de múltiplas origens para múltiplos destinos

A quantidade, de Bitcoin por exemplo, que cada endereço remetente envia, e que cada endereço destinatário recebe, pode ser definido na carteira que o usuário estiver usando no momento da transação. Isto é conveniente pois assim o usuário não tem que repetir uma operação n vezes e paga apenas uma única taxa.

Uma vez que uma transação de Bitcoin é enviada ela é deixada em espera para ser salva em um bloco, e a quantidade de tempo que uma transação levará para ser confirmada varia em função da taxa que o usuário estipulou. Portanto, apesar do usuário poder, em algumas carteiras, definir qualquer valor para a taxa não se recomenda usar um valor muito abaixo do recomendado para o momento. Quase todas as carteiras existentes, no momento da publicação desse artigo, informam automaticamente (e dão opção de usar) um valor da taxa ideal para o momento da transação.

Uma transação, com uma taxa recomendada, leva até 10 minutos para ser registrada em um bloco, ao passo que a mesma transação, com uma taxa muito abaixo da recomendada, pode levar semanas ou até nunca ser confirmada, se for um valor muito perto de zero. A taxa ideal fica, na média, em torno de 0,0001 para o Bitcoin.

A razão de haver taxas inerentes a cada transação na rede, como a do Bitcoin por exemplo, é que elas são uma recompensa para quem processa os blocos. Como a rede não é sustentada por nenhuma organização privada ou governo, mas pelos próprios usuários, ela não teria como ser processada, consumindo eletricidade, sem qualquer forma de retorno para que esses usuários tenham motivo em dedicar poder computacional à rede, criando blocos.

Esses usuários são os mineradores, onde seus dispositivos fazem cálculos matemáticos complexos repetitivamente até que acham um valor que "resolve" um bloco. Analogamente, a mineração usual consiste em revirar a terra até achar, em meio ao entulho sem valor, as pedras e/ou metais preciosos. Conforme a data de publicação deste artigo, quando um bloco é encontrado 12,5 Bitcoins são criados e somados às taxas das transações incluídas nele.

Esse bloco pode ser visto como uma tabela incluindo as transações que estavam em espera a serem adicionadas na blockchain e foram confirmadas com base em suas taxas.

Atualmente, no Bitcoin, cada bloco tem um limite de 1 MiB. Isto implica que caberá um número limitado de transações por bloco. E será mais lucrativo se os mineradores definirem um parâmetro para que, dentro do tamanho limitado de cada bloco, haja apenas as transações com maiores taxas. A Tabela 3 ilustra como exatamente as taxas recompensam os mineradores que mineraram um bloco contendo as transações da Tabela 2 que até então estariam em espera.

Tabela 3.png

Tabela 3: Mesma coisa da tabela anterior, só que evidenciando a recompensa aos mineradores

O minerador Z foi recompensado com 12,5 Bitcoin e obteve um adicional de 0,0005 Bitcoin das taxas da transação. Minerador "Z", porque existem muitos outros mineradores que estavam competindo pelo mesmo bloco. Na maioria dos blocos, o minerador Z na verdade é o endereço de uma pool. (Sites em que vários mineradores juntam suas capacidades de processamento, para tornar mais provável a solução do bloco, e dividem a recompensa.)

Onde na Tabela 3 está escrito "Bloco nº 2541", em uma transação real de Bitcoin o bloco seria identificado por um código, chamado  hash: 000000000000000000643b5099fe2eb207fc66b71c77336b9afc282cd035c3eb. Quanto maior a quantidade de zeros no início de suas hashes, maior foi sua dificuldade de processamento. Pode-se entender a hash do bloco como a assinatura do bloco.

Existem outras blockchains que têm o tempo médio diferente dos dez minutos do Bitcoin. Por exemplo o ZCash leva em média 2,5 minutos para cada bloco ser minerado e, no Ethereum, 17 segundos.

  • Curtir 6

Artigos similares


Comentários de usuários

Respostas recomendadas



Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!