Como funciona uma transação blockchain?
Como funciona uma transação blockchain?
Você já deve saber sobre a tecnologia blockchain, e talvez até mesmo como sua criptomoeda favorita funciona, mas você sabe o que é uma transação blockchain e como ela funciona sob o capô?
Bem, em um nível básico, blockchain é apenas um enorme livro-razão distribuído ou banco de dados, com seus dados armazenados em todos os computadores do sistema, em vez de um servidor. Seu objetivo principal é como um método de transferência peer-to-peer (P2P). Em suma, permitiu que pessoas em todo o mundo enviassem ativos digitais entre si sem a necessidade de uma entidade central. Mas também não se trata apenas da transferência de ativos digitais. As transações blockchain também oferecem ótimas soluções para verificação e autenticação digital.
Dito isso, há uma característica central das redes blockchain que tornam esses casos de uso um pouco complicados. Como muitos blockchains são completamente transparentes e públicos, isso pode tornar o armazenamento de informações confidenciais desafiador. Então, como o blockchain contorna isso?
Bem, há muito mais nas transações do que apenas como elas lidam com a transparência. Mas antes de chegarmos lá, vamos mergulhar no básico. Na verdade, o que é uma transação blockchain exatamente?
O que é uma transação Blockchain?
Em termos muito simples, uma transação blockchain é quando uma pessoa transfere um ativo digital que possui para outra pessoa. A transação em si sempre incluirá; o valor, o destino dos fundos e uma assinatura para comprovar sua autenticidade. Além disso, você geralmente iniciará uma transação blockchain usando a interface de uma carteira de criptomoedas.
Mas há um pouco mais do que isso.
Para explicar, esses recursos significam que as transações de blockchain são potencialmente revolucionárias no âmbito da transferência de ativos valiosos. Para entender exatamente o porquê, vamos explorar para que servem as transações de blockchain em primeiro lugar:
Para que serve uma transação Blockchain?
Transferência peer-to-peer descentralizada
O caso de uso mais óbvio de uma transação blockchain é a transferência peer-to-peer descentralizada de ativos digitais. Veja, as informações em um blockchain público são armazenadas, mantidas e processadas por vários computadores na rede chamados nós. Enquanto os dados da internet vivem em servidores com um único gatekeeper, há vários nós armazenando dados de blockchain, com cada nó armazenando uma cópia completa da cadeia. Isso significa que os blockchains podem processar transferências ponto a ponto de uma maneira que não era possível anteriormente.
Como as transações são processadas por nós em uma rede, você não precisa depender de uma entidade centralizada. Além disso, você pode transacionar com estranhos sem se preocupar se eles vão segurar o fim da barganha – a rede garantirá que eles o façam.
Autenticação e verificação
Uma transação blockchain também serve para comprovar a propriedade sobre fundos, um endereço específico ou até mesmo um ativo específico. Pode surpreender que isso nem sempre precise ser por razões financeiras. Muitas transações de blockchain também são com o propósito de provar a propriedade sobre certificados on-chain ou mesmo especificamente para permitir que os usuários acessem plataformas fechadas por tokens.
Como uma transação Blockchain se mantém segura?
O objetivo de uma transação blockchain é permitir a transferência ponto a ponto sem revelar informações confidenciais a ninguém além do destinatário pretendido. Você não gostaria que alguém interceptasse sua transação e roubasse o presente destinado ao seu amigo, certo?
Então, como suas informações permanecem seguras em uma rede pública e transparente?
Criptografia de chave pública
Bem, é principalmente graças à criptografia de chave pública. Para explicar, você não pode ter uma transferência de pessoa para pessoa sem contas separadas. As contas em redes blockchain funcionam usando pares de chaves públicas e privadas. Essas duas “chaves” são cada uma uma série de letras e números, mas têm um propósito importante.
Sua chave privada tem o poder de controlar toda a sua conta. Isso permite que você tome decisões no blockchain, ou em outras palavras, assine transações. Sua chave pública serve ao propósito oposto. Embora seja derivado de sua chave privada, o que significa que eles têm um link inerente, sua chave pública é segura para compartilhar com qualquer pessoa. Ninguém pode acessar sua conta apenas com a chave pública, o que significa que esse é o endereço que você pode usar para receber ativos, mesmo de estranhos. Na verdade, o endereço blockchain que você usa para receber criptomoedas de amigos é simplesmente uma versão em hash dessa chave pública.
Como sua chave pública está incluída em qualquer transação que você assina com sua chave privada, todos os participantes em um blockchain podem verificar a validade de uma transação. O sistema verifica a assinatura em si, tudo o que os nós precisam fazer é verificar se a pessoa que assinou a transação tem a chave pública correspondente. Uma vez que o sistema processa a transação, apenas o proprietário da chave privada correspondente pode acessar os fundos. Cada conta tem apenas uma única chave privada, o que significa que nenhuma outra assinatura pode desbloquear os fundos nesse endereço.
Essencialmente, é assim que a criptografia de chave pública funciona para manter suas transações de blockchain seguras em uma rede pública.
Como funciona uma transação blockchain?
Então, agora que você já sabe o que é uma transação blockchain e para que servem, e como elas funcionam?
Bem, para iniciar uma transação, você provavelmente sabe que precisará dessas chaves públicas e privadas, e normalmente as acessará por meio da interface de uma carteira de criptomoedas. Mas, além disso, como funciona exatamente o processo de transação? Vamos explorar cada fase passo a passo:
Criando uma transação
Antes de uma transação blockchain realmente se tornar uma transação, ela começa como a “intenção” em uma carteira de criptomoedas. Isso é essencialmente como uma proposta eletrônica, e mostrará os detalhes de uma transação proposta antes de você concordar com ela. Por exemplo, se você estivesse iniciando uma transação para enviar ETH a um amigo, ela conteria o endereço do remetente (sua chave pública), o endereço de destino (para onde quer que você esteja enviando fundos), o assunto da transferência (a quantidade de ETH que você deseja enviar) e quaisquer outras condições.
Assinando a transação
Ao aprovar uma transação, você a assina com sua chave privada. Isso prova que você possui a conta da qual pretende enviar dinheiro e concorda com as condições da transferência. Essa transação assinada também contém as informações de onde os ativos devem se mover — um endereço público específico. Isso permite que o destinatário acesse os fundos com sua chave privada associada mais tarde.
Distribuição para os nós
Depois de assinar uma transação, ela é distribuída para os nós de criptografia. Dentro de cada nó, a transação entra no mempool. Isso é como uma sala de espera para transações, mas é importante notar que não há um único mempool, há um para cada nó. Isso significa que os nós podem validar transações em uma ordem diferente nesta fase. Além disso, alguns mempools são completamente privados. Como qualquer pessoa pode ser um criador de blocos, isso realmente significa que você pode validar suas próprias transações e incluí-las em um bloco. Isso significa que alguns criadores de blocos tornarão seu mempool privado, processando apenas transações deles mesmos e de seus associados.
Verificação no Mempool
É dentro do mempool que um nó categoriza uma transação em um dos dois status diferentes: enfileirada ou pendente. As transações em fila ainda não foram validadas. Para validar sua transação, os nós usam sua chave pública (que foi incluída na transação) para verificar se sua conta tem os ativos digitais que você deseja mover. Ele também verifica a validade da sua assinatura. Se tudo estiver bem, o nó valida a transação e a passa para o próximo nó. Em seguida, o processo continua.
Bloquear criadores
Então, em um sistema que não tem estrutura central, você pode se perguntar quem realmente adiciona a transação a um bloco e a transmite. Bem, a maioria dos blockchains tem um conjunto de nós especiais que podem adicionar novos blocos à cadeia. Se você já se perguntou por que pagamos taxas de gás; Aqui está a sua resposta: Eles compensam o ônus financeiro de criar um bloco.
Em redes de prova de trabalho, como o Bitcoin, esses são mineradores, e esses participantes criam novos blocos resolvendo problemas matemáticos complexos, o que requer equipamentos especializados e muita energia.
Em um blockchain de prova de participação, esses criadores de blocos são chamados de validadores. Em vez de correr para resolver um problema matemático complexo, os validadores devem bloquear uma certa quantidade de criptomoeda para criar um bloco. Nesse sistema, o criador do bloco é escolhido usando um mecanismo de votação, ou simplesmente pelo qual o validador tem mais “participação”, ou seja, moedas bloqueadas no sistema.
Então, cada blockchain tem um método diferente de escolher um criador de blocos, e são esses nós especiais que são responsáveis por propor blocos.
Proposta de bloco
Em seguida, o criador do bloco escolherá uma transação do mempool e proporá adicioná-la à cadeia. O bloco é lacrado com um hash, que basicamente inclui todas as informações da transação.
Radiodifusão e Verificação
Em seguida, o nó minerador ou validador transmitirá a transação para a rede. Isso significa que todos os nós receberão as informações do bloco proposto e verificarão seus detalhes.
Por exemplo, em uma rede de prova de trabalho, o criador de blocos deve encontrar a solução correta para um problema computacional incrivelmente complexo. Somente o criador de bloqueio mais rápido e preciso conseguirá propor o bloqueio. Mas, depois disso, todos os outros nós também resolverão o problema – essencialmente verificando se a solução proposta está correta. Além disso, eles verificarão todos os detalhes da transação, verificando se o remetente tem os fundos que deseja enviar e se a transação se encaixa nas regras subjacentes da rede, também conhecidas como seu mecanismo de consenso. Essas regras são as mesmas em todos os nós de rede espalhados pelo planeta – o que significa que todos chegarão à mesma conclusão para cada bloco.
Consenso
O consenso é alcançado quando a maioria dos nós chega à mesma conclusão: se o bloco proposto é válido, os nós concordam em adicioná-lo ao livro-razão. Então, se você estivesse enviando criptomoedas para um amigo, a cópia do blockchain em cada nó seria atualizada para remover os fundos da sua conta e adicioná-los à do seu amigo. Neste ponto, a transação é finalizada e o criador do bloco recebe a recompensa do bloco.
Em seguida, os outros nós do sistema removem a transação de seus mempools e todos eles passam para o próximo bloco.
Como as blockchains resolvem discrepâncias na cadeia?
Ao contrário do mempool, todos os nós devem receber blocos validados na mesma ordem. Uma vez que a transação é incluída em um bloco, ela se torna uma parte imutável da história do blockchain. Isso porque o hash de cada bloco depende dos blocos subsequentes e anteriores. Isso significa que, se uma transação for alterada, ela prejudicará a segurança de toda a rede. Essencialmente, os nós podem identificar transações incorretas, pois um único erro afetará a validação dos blocos subsequentes.
Então, sabemos como isso pode nos proteger de maus atores que promovem transações inválidas, mas e os erros?
Bem, alguns nós podem ser mais lentos ou mais rápidos para enviar informações do que outros. Para ajudar a reduzir quaisquer discrepâncias, muitas redes também têm regras embutidas. Por exemplo, na rede Bitcoin, a versão da cadeia com a cadeia de transações válida mais longa é a “cópia verdadeira”. Isso porque o Bitcoin prioriza a versão da cadeia que mais trabalho já foi concluído. Isso garante que todos os nós sejam atualizados para a cadeia mais recente.
Como funcionam as transações blockchain: a analogia da estação de ônibus
Entender os tempos de bloqueio, o tamanho do mempool e as transações pendentes são fundamentais para entender não apenas como os blockchains funcionam, mas para comparar diferentes cadeias. Pode ser técnico, então vamos usar um exemplo para ilustrar exatamente como ele funciona.
O tamanho do bloco é como o barramento
Imagine uma rodoviária. Cada barramento representa um bloco que será incluído no blockchain e cada pessoa na estação representa uma transação blockchain esperando para ser processada. Cada ônibus só pode comportar um determinado número de pessoas, mas dependendo do tamanho e das necessidades das pessoas, esse número pode variar de ônibus para ônibus.
Algumas pessoas são menores do que outras e, portanto, ocupam menos espaço no ônibus. Algumas pessoas são mais ricas do que outras, e mais dispostas a pagar por uma passagem de primeira classe - apenas para embarcar antes do resto.
As transações em blockchain são semelhantes. Alguns contêm muita informação, e outros contêm menos. No entanto, há apenas uma quantidade limitada de espaço em um bloco. Então, assim como nossos passageiros de primeira classe, alguns participantes estão dispostos a pagar uma taxa mais alta para inserir sua transação primeiro.
O Ticket Officer é o seu mecanismo de consenso
Assim como o oficial de passagens de uma estação de ônibus verificará se todos os passageiros têm os bilhetes corretos para o ônibus, o mecanismo de consenso de um blockchain permitirá que os nós verifiquem se uma transação é válida. Usando essas informações, eles enviam cada pessoa para a área de espera.
Quando os passageiros estiverem prontos para partir, ou nossas transações estiverem prontas para serem incluídas em um bloco, é hora de transmiti-las. Para isso, contamos com um criador de blocos (ou um motorista de ônibus nessa analogia). Por fazer esse trabalho, o motorista de ônibus recebe pagamento, assim como nosso criador de blocos recebe recompensas por seu trabalho.
No entanto, isso leva o motorista do ônibus, ou nossos criadores de blocos, a priorizar as transações com as taxas mais altas. Simplesmente, suas recompensas dependem inteiramente de quanto os passageiros (ou transatores) estão dispostos a pagar. Infelizmente, isso tem um efeito cascata. Em tempos de alto congestionamento da rede, isso pode disparar as taxas de rede. Para explicar, se a rede está ocupada, você está lutando para pagar uma taxa mais alta do que outros transatores. Essencialmente, se houver apenas alguns ônibus, e os motoristas de ônibus forem pagos pelos passageiros, aqueles dispostos a pagar mais vão primeiro. E é essencialmente assim que os criadores de blocos lidam com transações de blockchain também.