O que é uma Transação Nonce em Blockchain?

PrincipianteNov 03, 2023
Desbloqueie o mistério do nonce na blockchain! Do seu básico ao seu grande papel em Ethereum e o que o futuro reserva, este guia decompõe tudo de uma forma simples e envolvente. Perfeito para novatos e profissionais de blockchain.
O que é uma Transação Nonce em Blockchain?

Introdução

Como conduzimos os negócios, gerimos ativos e trocamos valor na era digital está a passar por uma transformação revolucionária. A tecnologia blockchain está no centro dessa transformação. Mas o que é exatamente a blockchain?

A Blockchain é um registo imutável e partilhado que simplifica o processo de registo de transações e rastreamento de ativos numa rede de negócios. Ativos intangíveis, como propriedade intelectual, patentes, direitos de autor e marcas são exemplos de ativos intangíveis. Por outras palavras, se tiver valor, pode ser rastreado e negociado numa rede blockchain. Isso reduz os riscos e também reduz significativamente os custos para todas as partes envolvidas.

No mundo dos negócios, as informações atempadas e precisas são críticas. Porque fornece dados imediatos, partilhados e completamente transparentes armazenados num registo imutável, a blockchain destaca-se como uma tecnologia que pode entregar essa informação rapidamente. Apenas os membros com as permissões necessárias têm acesso a este livro. Uma rede de blockchain pode lidar com pedidos de rastreamento, pagamentos, contas e produção. Além disso, porque todos os membros têm uma visão unificada da verdade, todos os detalhes das transações podem ser vistos do princípio ao fim. Esta transparência não só aumenta a confiança como também abre a porta a novas eficiências e oportunidades.

Nonce: Do básico ao Blockchain

O termo “Nonce” pode parecer técnico e complexo, mas a sua essência é simples. Um nonce é um número único que desempenha um papel importante na blockchain e na criptografia. Deriva da frase “número utilizado apenas uma vez.”

Um nonce, no caso da Bitcoin, é um número de quatro bytes que é adicionado a um bloco fechado — ou encriptado — no mundo da blockchain. Quando reutilizado, este número deve cumprir determinadas restrições de nível de dificuldade impostas pela rede blockchain. A função principal do nonce é ser o número que os mineiros de blockchain se esforçam para resolver. Um miner recebe a recompensa bloco depois de resolver com êxito o nonce.

O Nonce desempenha um papel importante na segurança da blockchain. A segurança de uma blockchain depende da sua capacidade de gerar e validar números grandes e encriptados conhecidos como “hashes”. A função criptográfica que gera um hash é determinística, o que significa que produzirá sempre o mesmo resultado, dada a mesma entrada. Esta natureza determinística garante que embora gerar um hash seja eficiente, deduzir a entrada original torna-se difícil, aumentando assim a segurança da blockchain.

Para reforçar a segurança da blockchain, os dados de blocos anteriores são encriptados ou “hashed” numa sequência de números, o que forma o cabeçalho do bloco para o bloco seguinte. Este cabeçalho em bloco contém metadados críticos, como o número da versão da blockchain, o hash do bloco anterior, a raiz da Merkle, carimbo de data e hora, alvo da dificuldade e, mais importante, o nonce.

O nonce é utilizado para autenticar a informação dentro de um bloco. Durante o processo de mineração, é gerado um número aleatório, anexado ao hash do cabeçalho atual e redobrado. Depois disso, o novo valor é comparado com um hash alvo. Se o valor do hash resultante corresponder aos requisitos, o mineiro resolve com êxito o problema e recebe o bloco. Se não for esse o caso, o valor nonce é incrementado e repetido. Este processo iterativo continua até um miner cumprir o objetivo com êxito.

Por causa da alta dificuldade de mineração, a maioria dos blocos é aberta por piscinas de mineração, pois os mineiros individuais podem não ter o poder de hashing necessário. Não é provável que o valor da nonce seja adivinhado corretamente na primeira tentativa, exigindo que os mineiros testem muitos valores nonce antes de determinarem o correto. O tempo necessário para gerar uma solução é determinado pelo nível de dificuldade, que mede a dificuldade de criar um hash abaixo do objetivo. Para garantir a consistência da rede, a dificuldade do bloco permanece uniforme, dando a todos os mineiros a mesma chance de deduzir o hash correto.

Puzzles Mineração, Nonce e Criptográficos

O mundo da blockchain é vasto e um dos seus aspetos mais fascinantes é o processo de mineração. Muitas redes de blockchain confiam na mineração para garantir a sua segurança e continuidade. Mas como é que o nonce se encaixa neste puzzle?

O mineração é um processo computacional no qual as transações são adicionadas ao livro público, a blockchain. Os mineiros validam e verificam as transações para garantir que são válidas. Estas transações são adicionadas a um bloco depois de verificadas. Antes de um bloco poder ser adicionado à blockchain, no entanto, os mineiros devem resolver um quebra-cabeça matemático complexo, que é onde o nonce entra em jogo.

Era uma vez durante o processo de mineração: Um nonce é um número pseudo-aleatório usado principalmente como contador no processo de mineração no contexto da tecnologia blockchain. Por exemplo, os mineiros de Bitcoin devem adivinhar o nonce correto várias vezes para calcular um hash em bloco que atenda a requisitos específicos. O primeiro miner a descobrir um nonce que rende um hash de bloco válido ganha o direito de adicionar o próximo bloco à blockchain e é recompensado pelos seus esforços.

Entender o Nonce na Blockchain: Uma ilustração simples

Para perceber como um nonce funciona na blockchain, vamos visualizar uma simulação em bloco.

Para um bloco ser reconhecido como válido através do mecanismo de prova de trabalho, o seu hash resultante deve ser um número baixo ou começar com um número específico de zeros, determinado pelo nível de dificuldade definido. Por exemplo, se a dificuldade exigir que o hash começa com quatro zeros, esse se torna o nosso alvo. (As seguintes imagens vêm de: https://pintu.co.id/)

Bloco inicial - Antes de adicionar o nonce, este bloco não atende aos critérios.

No nosso primeiro bloco, temos dados de transações, como uma transferência BTC 5 de A para B. Este hash destes dados é bc97ee.. 5052 quando expresso em hexadecimal. Traduzir os caracteres iniciais de hexadecimal, 'b' significa 11 e 'c' equivale a 12, fazendo o hash lido 111297... 5052 no formato decimal. Isto significa que o nosso hash arranca com o número 1.

Para modificar o número inicial do hash para 0, os mineiros introduzem uma variável que pode alterar o resultado do hash. Esta variável é o nonce, um número aleatório que, quando adicionada, pode produzir um hash diferente. Depois de adicionar o nonce, o mineiro aplica o algoritmo de hash SHA-256 para derivar um novo hash.

Bloco com o Nonce “1” - Mesmo com o nonce, o bloco não cumpre o alvo.

Bloco com o Nonce “23” - Apesar de um nonce diferente, o bloco continua a não cumprir.

Usando um nonce de 1, o novo hash derivado é 306b... ba6a. No entanto, isso não satisfaz o nosso objetivo de começar com quatro zeros. Os mineiros visualizam os valores nonce sequencialmente, aplicando o algoritmo SHA-256 de cada vez, com o objetivo de atingir um hash alinhado com o nível de dificuldade.

Bloco com sucesso - Com um nonce de “16663”, o hash do bloco começa com os quatro zeros necessários.

Após várias tentativas, descobriu-se que um valor nonce de 16.663 dá um hash que começa com os quatro zeros desejados.

Este método iterativo de aplicar técnicas de hashing e ajustar nonces é denominado mineração. Os mineiros estão numa corrida para identificar o nonce correto e executar o hashing de acordo com o objetivo definido. O primeiro mineiro a criar um bloco compatível (encontre uma nonce que resulte num hash abaixo do objetivo) é recompensado, muitas vezes em Bitcoin.

Nonce Descoberta por Teste e Erro

A mineração é um processo iterativo. Os mineiros ajustam o valor nonce e refazem os dados do bloco indefinidamente até encontrarem um valor de hash que atenda aos critérios da rede. Isto é frequentemente comparado com uma lotaria, na qual os mineiros fazem inúmeras palpites para encontrar o número vencedor (uma vez). A complexidade desse processo garante a segurança da rede tornando computacionalmente difícil e com muitos recursos alterar qualquer informação uma vez adicionada à blockchain.

O papel do Hardware

O número de mineiros e o poder computacional que trazem para a rede influenciam a dificuldade em determinar o nonce correto. Os recursos informáticos de alto desempenho podem processar equações matemáticas complexas mais rapidamente, dando vantagem aos mineiros em encontrar a nonce correta. O nível de dificuldade ajusta-se à medida que a rede blockchain cresce e mais mineiros se juntam à luta para garantir que os blocos são adicionados a um ritmo relativamente constante.

Por que o Nonce importa?

O nonce garante que cada bloco tenha um valor único, mesmo se as transações contidas em forem idênticas. Esta singularidade é crucial para a segurança da blockchain. Ao exigir que os mineiros resolvam o nonce, a rede garante que qualquer ator mal-intencionado achará proibitivamente caro e demorado alterar os dados das transações.

A abordagem única da Ethereum ao Nonce

A Ethereum, uma plataforma de blockchain líder, trouxe inúmeras inovações no espaço da blockchain. Uma das suas características distintivas é a sua abordagem ao nonce, que difere ligeiramente de outras redes blockchain.

Dois Tipos de Nonce em Ethereum

Embora o termo “nonce” possa parecer singular na sua aplicação, a Ethereum emprega-o de duas formas distintas:

  1. Prova de Comparticipação Nonce: A Ethereum transitou de um mecanismo de Prova de Trabalho (PoW) para um mecanismo de Prova de Comparticipação (POs). Nos PO, o conceito de nonce utilizado no processo tradicional de mineração dos PoW não é diretamente aplicável. Em vez de os mineiros competirem para resolver quebra-cabeças de hash, os validadores em PO são escolhidos para criar novos blocos com base no número de moedas que detêm e estão dispostos a “apostar” ou trancar como garantia. Quanto mais moedas apostam, maior será a hipótese de serem escolhidas para validar um bloco de transações. Este mecanismo com eficiência energética não envolve o processo tradicional de mineração, eliminando assim a necessidade de uma nonce PoW no contexto da criação de blocos.
  2. Conta Nonce: Essa continua a ser uma característica única do Ethereum. A conta nonce funciona como um contador de transações para cada conta da rede Ethereum. Sempre que enviar uma transação da sua conta Ethereum, este valor de nonce aumenta em um, garantindo que cada transação da sua conta é única.

Por que a conta Nonce é importante

Encomenda de transação

A conta nonce garante que as transações são processadas pela ordem em que são recebidas. Não há garantia de que as transações enviadas em uma sucessão rápida serão processadas na ordem em que foram enviadas em sistemas distribuídos. No entanto, com a conta nonce, os mineiros devem processar as transações na ordem especificada pelo valor nonce. Uma transação com um nonce de 1 será, por exemplo, processada apenas depois de uma transação com um nonce de 0 ter sido processada.

Prevenção de Ataques de Replay

A conta nonce é fundamental para evitar ataques de repetição. Sem a nonce, um ator malicioso pode reenviar ou “repetir” uma transação várias vezes, potencialmente resultando em gastos duplos. Com o nonce, porém, cada transação é distinta, mesmo que o montante e o destinatário se mantenham constantes. Por causa dessa singularidade, a rede Ethereum rejeitará qualquer transação repetida com um nonce já utilizado, evitando ataques de repetição.

Exemplo prático

Imagine que tem um endereço Ethereum e enviou várias transações desse endereço. Cada uma dessas transações terá um nonce único, começando em 0 para a primeira transação e aumentando em um para cada transação subsequente. Esta nonce não só representa o número de transações que enviou como também garante a singularidade e a segurança de cada transação.

O Futuro do Nonce na Blockchain

À medida que a tecnologia blockchain continua a evoluir, o papel e o significado do nonce também o faz. Este capítulo final explorará potenciais avanços, desafios e as implicações mais amplas do nonce no panorama da blockchain em constante evolução.

Algoritmos Nonce Adaptativos

Com o crescente poder computacional disponível para os mineiros, há uma necessidade crescente de algoritmos de nonce adaptativos. Estes algoritmos ajustariam a dificuldade de encontrar o nonce correto em tempo real, garantindo que os blocos são adicionados à blockchain a um ritmo consistente, independentemente do poder total de hashing da rede.

Computação Quântica e Nonce

O advento da computação quântica coloca desafios e oportunidades para a tecnologia blockchain. Os computadores quânticos podem achar o nonce correto muito mais rápido que os sistemas atuais. Embora isso possa acelerar a validação da transação, também pode perturbar o equilíbrio de poder nos sistemas de prova de trabalho. Os desenvolvedores de blockchain já estão a pesquisar algoritmos de nonce que seriam resistentes a quantum.

Protocolos de segurança melhorados

À medida que as ameaças cibernéticas se tornam mais sofisticadas, o papel da nonce para garantir a segurança das transações tornar-se-á ainda mais crítico. Os futuros sistemas de blockchain podem empregar vários não-ces ou combinar os valores do nonce com outras técnicas criptográficas para aumentar a segurança.

Considerações ambientais

O processo de consumo intensivo de energia para encontrar a nonce correta nos sistemas de prova de trabalho levantou preocupações ambientais. Os futuros sistemas de blockchain podem procurar formas mais eficientes em termos energéticos de utilizar o não-ces ou mudar para uma prova de jogo ou outros mecanismos de consenso que não dependem do processo de mineração com uso intensivo de energia.

Conclusão

O nonce, enquanto aparenta ser um conceito simples, desempenha um papel crítico no mundo complexo da blockchain. A nonce vai sem dúvida adaptar-se à medida que a tecnologia evolui, garantindo que a blockchain se mantenha segura, eficiente e relevante na era digital.

ผู้เขียน: Piero
นักแปล: Cedar
ผู้ตรวจทาน: Matheus、Wayne Zhang、
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100
ลงทะเบียนทันที