If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Bitcoin: Cadeias de blocos de transação

A mecânica de uma cadeia de bloco de uma transação bitcoin, que é uma construção que é gerada pelos mineradores de bitcoins e funções como um movimento global para gravar e validar bitcoins. Versão original criada por Zulfikar Ramzan.

Quer participar da conversa?

Nenhuma postagem por enquanto.
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.

Transcrição de vídeo

A última parte realmente essencial ou notável para entender a mecânica de como os bitcoins funcionam é o que chamamos de <b>Cadeia de Bloco de Transação</b>. Se você lembrar, no vídeo anterior, tivemos um exemplo de um usuário, Alice, que queria, digamos enviar alguns bitcoins para outro usuário Bob no sistema. O que Alice tinha que fazer para iniciar essa transação era construir um registro de transação do tipo-- que continha informações sobre a transação e que foi assinado com a chave de assinatura de Alice e que na verdade continha a chave de verificação pública de Alice e a chave de verificação pública de Bob também. Essa informação da transação foi basicamente transmitida para todo o ecossistema Bitcoin, para todos os nós na rede ponto-a-ponto Bitcoin. Os vários nós do ecossistema Bitcoin vão receber informações sobre esta transação. Eles também receberão informações de várias outras transações que estão ocorrendo no mesmo momento. O que esses nós vão começar a fazer é que eles vão trabalhar em incorporar este registro de transação em um "livro-razão" de todas as transações que já ocorreram no sistema de Bitcoin. O que acontece é que cada nó, basicamente, começa pegando todas as operações anteriores não incorporadas que já recebeu. Serão todas as transações que aconteceram dentro de um determinado período. Então, são todas essas transações Bitcoin "flutuando" pelo sistema. E esses nós, estes <i>mineiros Bitcoin</i> como são chamados, receberão informações sobre todas essas diferentes transações e vão começar a trabalhar na incorporação dessas transações. Seu primeiro objetivo é agrupar essas transações no que é conhecido como um <i>bloco de transação</i>. Se você lembrar nossa analogia com livro-razão, uma única transação Bitcoin corresponde essencialmente a uma proposta de entrada em um livro-razão. Nessa qualidade, um bloco de transação corresponderá a uma página do livro-razão onde você tem várias transações que estão listadas nesta página do livro-razão. O objetivo dos mineiros Bitcoin é pegar essa página e adicioná-la ao livro-razão completo global. Para fazer esse tipo de trabalho, o que eles basicamente farão, primeiramente, pegar todas as transações que foram transmitidas, vamos dizer que estas quatro transações foram transmitidas, e eles vão, basicamente, vai colocar essas transações em pares, em uma estrutura de árvore. Eles vão pegar essas duas transações e aplicar função de <i>hash</i> criptográfico nesses detalhes. E vão obter o resultado correspondente. Vão fazer o mesmo para os dois, depois pegar esses dois resultados e aplicar <i>hash</i> para obter um único valor criptografado. Este valor efetivamente codifica todas as transações que não foram incorporadas previamente, e foram recebidas por esses nós individuais. Este resultado será combinado com o <i>hash</i> do bloco de transação que foi previamente aceito por essa rede. Você pode imaginar que a rede terá uma série de blocos de transação que foram previamente aceitos. Na verdade, cada bloco de transação incorpora o bloco de transação anterior. Então, este bloco de transação irá incorporar o que foi usado antes dele. E este bloco de irá incorporar o que foi usado foi usado antes dele. E vai continuar literalmente para o início dos tempos do bitcoin. Este é realmente o começo do tempo para o sistema de Bitcoin. Este é o <i>tempo é igual a zero</i> para Bitcoin. Eles vão levar este último bloco e combiná-lo com este bloco mais recente. Se você imaginar que você tem agora não apenas bloco individual, porque cada bloco incorpora o bloco antes dele. Não estamos lidando mais com um bloco isolado ou distinto de transações, mas sim com uma cadeia de blocos, que começa literalmente no início de todo o sistema Bitcoin. Quando você faz toda essa combinação, no final, você vai aplicar um <i>hash</i> criptográfico, e basicamente vai acabar com a sequência de números. Esta sequência de números será derivada da incorporação de todos estes blocos juntos. Você vai ter uma sequência de números, e o que vamos fazer é aproveitar esta sequência de números e converter essa sequência de números em um desafio, em um protocolo de prova de trabalho. Fiz um vídeo separado sobre protocolos de prova de trabalho, que te encorajo a assistí-lo se quiser ter ter uma idéia melhor de como funcionam. Mas resumindo, o que o nó de mineração Bitcoin tem a ver com este ponto é que ele vai pegar o desafio e vai ter que apresentar uma sequência separados de números, que normalmente denominamos a <i>prova</i> ou <i>prova de trabalho</i>. E essa prova tem que ter uma propriedade matemática muito específica. O que essa propriedade implica é que se você pegar os números desafio e esses números da prova, e concatená-los juntos, e colocá-los na entrada de função de <i>hash</i> criptográfico, a saída resultante tem que ter um prefixo grande de zeros. Não tem que ser tudo zero, mas uma grande parte do início, do prefixo, tem que ser tudo zero. Se você pensar sobre isso por um momento, dado que funções de hash criptográficas, que suas saídas tende a parecer razoavelmente aleatória, é improvável que em qualquer circunstância que você vai ver uma prova de que te forneça uma grande cadeia de zeros no início. O que o mineiro bitcoin terá que fazer é, em média, é tentar muitas opções possíveis para estes números da prova até que ele finalmente tenha sorte e se depare com um que tenha essa propriedade estatística estranha. E a dificuldade real de encontrar esses números da prova, como pode ver, é dependente de exatamente quantos zeros à esquerda são obrigatórios. Quanto mais zeros à esquerda você precisar nesta prova, mais demorado será para resolver o problema, mais demorado será para apresentar a prova de fato, que funciona de acordo a um determinado desafio. Quanto menos zeros que você precisar, menos tempo vai demorar. O número exato de bits zeros exigidos no protocolo Bitcoin na verdade muda ao longo do tempo. Ele é calibrado. E é projetado para, na média, o tempo médio gasto por todo o sistema deve ser de cerca de dez minutos. Então você leva cerca de dez minutos em pelo menos um nó para apresentar uma prova válida. Mas tenha em mente que muitos nós estão trabalhando nesta prova paralelamente. Uma vez que esta prova de trabalho é encontrada, digamos que a prova de trabalho é eventualmente encontrada, o mineiro de bitcoin vai anunciar o resultado para toda a rede ponto-a-ponto. Ele vai pegar esta prova e todo o desafio, e assim por diante, e vai anunciá-lo a todos os outros nós. Eles vão dizer: "<i>Ei, há essa prova lá fora, alguém encontrou!</i> <i>Vamos esquecer as outras coisas que estávamos fazendo</i> <i>e agora vamos começar a trabalhar e construir em cima desta nova prova</i>". Lembre-se, esta nova prova deste novo desafio incorporam todos os blocos de transações anteriores. O que eles estão começando a fazer é, eles estão começando a elaborar uma nova e atualizada cadeia bloco de transação. Eles vão incorporar quaisquer nova transações não incorporadas naquela nova cadeia de bloco de transação. Há alguns pontos que quero citar aqui. Primeiro de tudo, como parte da construção dessas cadeias bloco de transação, como parte de incorporá-las em uma cadeia bloco de transação, mineiros Bitcoin são autorizados, um pequeno regalo, são autorizados a incluir neste bloco de transação um nó especial para si. Este nó vai ser basicamente uma pequena recompensa que eles podem obter, deixe-me usar a cor esverdeada para a recompensa, eles podem pegar o primeiro bloco, o primeiro registro de transações, e eles podem colocar neste registro de transações, eles podem atribuir uma recompensa para si mesmos. A quantidade dessa recompensa vai mudar ao longo do tempo. Quero salientar que esta transação é normalmente chamada é chamada de <b>coinbase</b>, uma transação de <b>coinbase</b> ou uma transação de <b>geração</b>. É assim que novas moedas são incluídas no sistema de Bitcoin. Sempre que um mineiro consegue chegar a uma prova, ele será autorizado a apresentar sua própria transação para recompensar a si mesmo, uma recompensa especial, por fazer os esforços necessários para chegar a esta prova e por fazer todo esse trabalho, associada com a adição de um novo bloco de transação à cadeia de bloco de transação existente para o Bitcoin. E acho razoável, depois de todos esses nós usarem uma bastante poder computacional para chegar a essas provas. E se estão usando o poder computacional, deve significar que em algum lugar alguém está gastando dinheiro com eletricidade e assim por diante. Também quero destacar que além dessa recompensa de coinbase, os nós que estão fazendo a mineração Bitcoin, aqueles que têm sucesso, também terão de recolher as taxas especificadas no registro de transação. Se você se lembra, uma pessoa que emite uma transação com Bitcoin pode alocar ou reservar uma determinada quantidade de dinheiro, talvez um Bitcoin ou uma fração de um Bitcoin, para o nó que conseguir chegar com a real prova de trabalho, efetivamente o nó que conseguir ser capaz de acrescentar aquela transação à cadeia global de blocos de transações Bitcoin. Esse nó que consegue fazer trabalho recebe uma recompensa sobre a taxa de transação. Isso realmente poderia ficar bem grande, porque o nó não só ganha a taxa de transação antes de uma transação, ele vai ganhar a taxa de transação sobre todas as transações que apareceram no bloco atual. Vai ganhar o agregado todas estas diferentes transações. O segundo ponto que quero fazer é que ele pode ser possível para dois nós resolverem a prova de trabalho independente um do outro. De alguma forma, ambos acabam tentando acrescentar à cadeia existente. Pode ver alguma bifurcação estranha na cadeia acontecendo. Se isso acontecer, os pares na rede Bitcoin vão basicamente desempatar ficando com a cadeia mais longa. E por mais longa, não quero dizer que é a que tem mais transações nela. Quero dizer que é a que tem a maior dificuldade agregada associada ao protocolo de prova de trabalho subjacente em cada um dos blocos de transação. Basicamente olhamos para o esforço total que foi necessário para gerar essa cadeia, considerando a prova de trabalho. E qualquer cadeia que tenha mais trabalho associado a ela é a cadeia que todo mundo vai aceitar. Você pode ter algumas discrepâncias por causa da rede e assim por diante, mas a idéia é que depois de algumas voltas quando há empates, eles vão se resolver rapidamente desde que a maioria dos nós estejam agindo honestamente e mantendo a implementação do protocolo. Já que os mineiros Bitcoin estão gerando bitcoins acho que uma pergunta interessante que surge é: Como o dinheiro Bitcoin é fornecido, controlado, e como ele é gerenciado? E eu vou falar sobre este conceito em um vídeo posterior. [Legendado por: Pablo Vieira] [Revisado por Valter Bigeli]