# Algoritmo CryptoNight (CryptoNight Algorithm)

> "*O algoritmo CryptoNight é um protocolo de mineração usado em criptomoedas baseadas no CryptoNote, projetado para resistir à dominação de ASICs e favorecer a mineração com CPUs e GPUs comuns. Ele utiliza um esquema de Prova de Trabalho (PoW) e é baseado no uso de memória, tornando a mineração com ASICs menos eficiente.*"

O CryptoNight é um algoritmo de mineração amplamente utilizado em várias criptomoedas baseadas no protocolo CryptoNote. Foi projetado com o objetivo de promover uma mineração descentralizada, resistir à dominação de ASICs e favorecer o uso de CPUs e GPUs convencionais. O algoritmo foi desenvolvido por um indivíduo ou grupo de desenvolvedores sob o pseudônimo Nicolas van Saberhagen. O nome real do fundador ainda é desconhecido e permanece um mistério na comunidade cripto, levando a especulações sobre uma possível conexão com Satoshi Nakamoto, o criador do Bitcoin.

O protocolo CryptoNote, do qual o CryptoNight faz parte, foi lançado em dezembro de 2012. Esse protocolo introduziu recursos avançados de privacidade e anonimato, como transações confidenciais e assinaturas em anel, nas criptomoedas. O CryptoNight foi implementado posteriormente para permitir a mineração dessas criptomoedas. Protocolos que utilizam o algoritmo CryptoNight incluem Bytecoin, AEON, Sumokoin, Electroneum, Monero Classic, entre outros.

O CryptoNight utiliza um esquema de Prova de Trabalho (PoW) para garantir a segurança e a validação das transações na rede. Ao contrário de outros algoritmos de mineração que dependem do poder de processamento, o CryptoNight baseia-se no uso de memória para tornar a mineração com ASICs menos eficiente. Isso proporciona uma maior equidade na mineração, permitindo que os mineradores comuns participem ativamente e reduzindo a concentração de poder nas mãos de poucos.

A estrutura técnica do CryptoNight começa com a inicialização de um conjunto de blocos de memória chamado "scratchpad", ou "caderno de rabiscos" em tradução livre. Esses blocos são preenchidos com dados aleatórios e posteriormente modificados durante o processo de mineração. O tamanho do scratchpad é determinado pelo algoritmo, geralmente em torno de vários megabytes.

Uma característica fundamental do CryptoNight é o uso do algoritmo de encriptação AES (Advanced Encryption Standard) em conjunto com a função de hash Keccak. O AES é uma técnica criptográfica amplamente aceita e confiável, enquanto o Keccak é uma função hash conhecida por sua segurança e resistência a ataques criptográficos. A combinação desses dois componentes ajuda a garantir a integridade e a confidencialidade das operações realizadas durante a mineração.

Além disso, o CryptoNight emprega o uso de funções hash adicionais, como o BLAKE-256, o Groestl-256, o JH-256 e o Hank-256. Essas funções são aplicadas aos dados presentes no scratchpad para criar um hash final, que serve como prova de trabalho para validar um novo bloco. A escolha dessas funções hash adicionais visa aumentar a segurança e a robustez do algoritmo.

Uma etapa crucial no CryptoNight é o processo de mixagem de dados, que ocorre durante cada iteração do algoritmo. Durante essa fase, os dados presentes no scratchpad são misturados e modificados para garantir a aleatoriedade e a imprevisibilidade dos resultados. Isso dificulta a pré-computação dos resultados e torna a mineração com ASICs menos vantajosa.

O CryptoNight também implementa um recurso chamado "dual-hash", que utiliza dois hashes simultaneamente para aumentar a segurança. O primeiro hash é baseado na função Keccak, enquanto o segundo é derivado do Blake-256. Essa abordagem dupla ajuda a mitigar potenciais vulnerabilidades e ataques ao algoritmo.

Em relação à eficiência energética, o CryptoNight é considerado relativamente mais eficiente em comparação com algoritmos de mineração baseados em ASICs. Como os ASICs são dispositivos especializados, eles tendem a consumir mais energia por unidade de trabalho em comparação com CPUs e GPUs convencionais. A abordagem do CryptoNight favorece o uso dessas opções mais acessíveis e energeticamente eficientes, promovendo uma maior sustentabilidade na mineração.

No entanto, o Antminer X3, um minerador ASIC desenvolvido e anunciado pela Bitmain em 2018, quebrou a barreira da resistência ao ASIC do CryptoNight. O Antminer X3 foi projetado especificamente para minerar criptomoedas que utilizam este algoritmo, oferecendo um desempenho significativamente superior em comparação com CPUs e GPUs convencionais. Com taxas de hash impressionantes e eficiência energética aprimorada, o Antminer X3 mudou o panorama da mineração em protocolos que utilizam o CryptoNight.

A entrada do Antminer X3 levantou preocupações sobre a descentralização da mineração e a equidade no acesso à atividade de mineração. Como os mineradores ASICs são altamente especializados e eficientes na mineração de um algoritmo específico, eles podem criar uma vantagem significativa para os mineradores que possuem esses equipamentos, potencialmente concentrando o poder de mineração nas mãos de alguns poucos participantes.

No entanto, a comunidade de criptomoedas e os desenvolvedores estão cientes dessas preocupações e têm trabalhado para mitigar os impactos negativos da entrada de ASICs no CryptoNight. Alguns projetos de criptomoedas que utilizam o CryptoNight optaram por realizar forks em suas redes e implementar alterações no algoritmo para preservar a resistência a ASICs e manter a mineração acessível a uma variedade de dispositivos.

Embora a chegada do Antminer X3 tenha desafiado a resistência do CryptoNight aos ASICs, a comunidade continua comprometida em manter a descentralização e a equidade na mineração. Os debates e discussões sobre a melhor abordagem para garantir um ambiente de mineração justo e acessível continuam em andamento.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pt.glossario.w3d.community/a/algoritmo-cryptonight.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
