Solução Criativa de um Músico para Dirigir ASICs Off Monero

Algoritmos são criativos.

Pelo menos, isso está de acordo com Howard Chu, um desenvolvedor de núcleo monero que dedicou seu tempo para proteger a criptomoeda de hardware de mineração especializado, chamado ASICs. Recentemente, Chu encontrou uma solução para manter permanentemente os ASICs fora da rede – um algoritmo de prova de trabalho que ele chama de RandomJS, que explora o fato de que o hardware não pode “várias coisas ao mesmo tempo”.

O que talvez seja mais interessante sobre o seu algoritmo, é que ele pode ter apenas tropeçado na inovação por causa de seu hobby de tocar violino tradicional irlandês. De sua cidade natal em Donegal, um dos cantos mais rurais e musicalmente ricos da Irlanda, Chu disse CoinDesk o algoritmo foi criado com a mesma imaginação que ele desenha para sua prática musical.

Segundo ele, música e código estão profundamente conectados em um nível neurológico, exigindo que os lados lógico e criativo do cérebro funcionem simultaneamente. Como resultado, Chu disse que há uma sobreposição freqüente entre programação e talento musical – um que ele utilizou para o algoritmo.

“A música é muito matemática, a base da música é matemática, mas, ao mesmo tempo, há uma criatividade nisso”, disse ele à CoinDesk.

E com isso, Chu criou um algoritmo que utiliza código gerado aleatoriamente.

Como os ASICs só podem ser projetados para trabalhar em um algoritmo, o uso de código gerado aleatoriamente tornaria os ASICs rapidamente incompatíveis e, portanto, não lucrativos. Dessa forma, muitos desenvolvedores acreditam que os fabricantes de ASIC apenas evitarão o desenvolvimento de hardware para projetos de criptomoeda que alternam seu algoritmo comfrequência.

Direcionar esse interesse pelo código de bloqueio do ASIC é a mineração da gigante Bitmain em comunidades de criptomoedas fora do bitcoin no ano passado. Mais especificamente para Chu, a Bitmain lançou o   ASIC Antminer X3 em março, que foi programado para executar o algoritmo de prova de trabalho subjacente do monero, cryptonight.

Pouco depois, os desenvolvedores do Monero provocaram o que ficou conhecido como ” guerra aos mineiros “, lançando uma atualização de software de emergência em abril para alterar o algoritmo da criptomoeda, de modo que o Antminer X3 seria inútil no protocolo.

Os desenvolvedores do Monero comprometeram-se desde então com as mudanças regulares de software para remover qualquer hardware reemergente.

Mas por causa do risco de que as pequenas mudanças de software com as quais a Monero se comprometeu possam ser insuficientes para dissuadir os fabricantes de hardware a longo prazo, Chu criou o RandomJS como uma solução mais sustentável para a criptomoeda.

Falando sobre o algoritmo, Chu disse:

“RandomJS está chegando ao problema de uma direção que ninguém mais é.”

Matemática aleatória

Um codificador amplamente respeitado, Chu é arquiteto sênior do projeto OpenLDAP, que criou uma camada de banco de dados de código aberto que sustenta grande parte do setor de telecomunicações.

E ele está trabalhando em monero desde 2015.

De acordo com Chu, RandomJS está ligado à sua prática musical em virtude de sua nova abordagem.

Enquanto os fabricantes de hardware ASIC analisam software e constroem hardware otimizado para executar um determinado algoritmo, o RandomJS adota a abordagem oposta, analisando as funções do hardware da CPU – o tipo que sustenta a maioria dos laptops – e construindo a partir daí.

Chu descreveu o desafio como um equilíbrio entre duas funções de um protocolo de prova de trabalho – o tempo que leva para computar um algoritmo e a velocidade com a qual ele é verificado.

Por exemplo, enquanto o SHA 256 (o algoritmo de prova de trabalho que sustenta o bitcoin) é simples de verificar, de acordo com Chu, é fundamentalmente “muito fácil” computar, significando que é trivial construir hardware em torno dele.

“O hash criptográfico é realmente ótimo para provar que algo é autêntico, mas é horrível como uma unidade de trabalho porque é muito fácil”, disse Chu ao CoinDesk. “É muito simples incorporar o SHA 256 em um chip e clonar milhares dessas unidades de computação.”

Como tal, o RandomJS torna o processo de computação mais complexo, procurando usar a funcionalidade da CPU de uma forma mais holística, usando dados de blockchain como entradas para gerar código aleatório.

“Pegamos uma entrada, que é o hash de bloco anterior, e usamos isso como uma semente para um gerador de números pseudo-aleatórios”, explicou Chu.

Esses dados, em seguida, geram algoritmos aleatórios escritos em javascript, que, quando executados pelos computadores participantes, são em seguida colocados em hash e adicionados ao blockchain.

Ainda assim, o algoritmo em si está sendo avaliado pela equipe do núcleo monero, e de acordo com Chu, há uma série de coisas que podem atrasar sua adoção. Por um lado, ele não pode atualmente funcionar no hardware de uso geral, ou GPU, que compreende a maioria da infraestrutura de mineração da monero.

Então ainda há muito trabalho a ser feito.

Uma mente musical

Com isso dito, o algoritmo de Chu talvez seja uma das técnicas mais originais, se não artísticas, para bloquear os ASICs.

Alguns podem até dizer, com o código sempre mudando, é uma abordagem de alta energia – uma que se encaixa porque Chu, originalmente de Los Angeles, veio para o noroeste de Donegal em primeiro lugar.

Ele foi levado para a costa acidentada por causa de sua paixão pela música tradicional irlandesa.

Mas também em Donegal, ele encontrou a paisagem refletida na música local.

“O estilo de violino de Donegal é bastante alto, afiado e pontuado, e a primeira vez que fiquei na cabeça de Malin e olhei para a costa e as ondas batendo nas rochas, eu estava tipo, ah, essa é a energia”, disse Chu CoinDesk .

Como tal, Chu planeja montar uma escola de programação em Donegal, onde também há instrução musical como parte do currículo.

“Isso dará flexibilidade e treinamento e uma maneira diferente de pensar sobre as coisas”, disse ele.

De acordo com o desenvolvedor, a educação em ciência da computação, muitas vezes, treina os alunos a pensar logicamente, o que não os prepara para o mundo real, que exige que os desenvolvedores abordem de forma criativa novos problemas.

Falando ao seu interesse em combinar música e programação, Chu concluiu:

“Você não pode fazer isso sem criatividade, e se você não foi treinado para usar a parte criativa de sua mente, então você vai lutar com isso.”

Anúncios

Leandro | レアンドロ・フェレイラ

Webmaster, analista, desenvolvedor e editor de artigos.

Leandro | レアンドロ・フェレイラ has 2289 posts and counting. See all posts by Leandro | レアンドロ・フェレイラ

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *