domingo, 6 de agosto de 2017

Entenda - Minerando Criptomoedas 02: DogeCoin no Debian Linux

As criptomoedas são geradas através do processamento de blocos de dados com hashs a serem quebrados seguindo determinado algoritmo criptogŕafico.



Essas criptomoedas possuem no Core de seu algoritmo, recursos para democratizar (utopicamente) a obtenção da criptomoeda, uma vez que sua geração para o mercado é finita. Para que não chegue alguém com alto poder de processamento e minere toda ela em um só dia, ficando com todo seu produto, o algoritmo percebe alto nível de processamento e aumenta a dificuldade da hash a ser quebrada. Hoje em dia, com a real valorização e utilidade dessas moedas, muita gente minera e existem no mundo alguns grande mineradores concentrados que detém a maior parte do que obtém, porém o sistema é democrático, todo mundo pode participar com seu poder de processamento seja lá qual for; e claro, receberá de acordo.

Aprender a minerar é no mínimo extremamente valioso para fins didáticos e entender um pouco mais profundamente na prática como a coisa funciona.

O passo a passo deste post é de extrema valia, por menor que seja a obtenção da criptomoeda. Qualquer computador pode minerar! Seja um Linux ou Windows que não tenham uma placa de video com o driver certo, poderá facilmente minerar através deste método. Método CPU

Um pré requesito, seja no Windows ou no Linux, é possuir um acesso a um pool de mineração.

Para ingressar e ter acesso a um Pool de mineração, siga os passos abaixo:




2) Preencha os dados e clique em "Register"






4) Entre como seus dados e clique em "Login"


5) Vá em "My Account" >> "My Workers"



6) Crie um "worker" (ou ponto minerador) da seguinte forma:


Entre com um Worker Name e uma senha para ele. Clique então em "Add New Worker"

Note no "Worker Login", isso é muito importante! Com seu-user-name.work-name e senha você usará para apontar o seu futuro minerador para trabalhar com seu pool de mineração.



Depois de você começar a minerar mais para frente, você poderá acompanhar o status pela "Dashboard" deste site.


1- Instale as seguintes dependências para compilar o programa minerador:

sudo apt-get install libcurl4-openssl-dev libncurses5-dev pkg-config automake yasm make git gcc -y


2-  Baixe (clone) do cpuminer de seu repositório:

git clone https://github.com/pooler/cpuminer.git

3- Instale (compile) o cpuminer:

cd cpuminer

./autogen.sh

./configure CFLAGS="-O3"

make

3- Execute o programa cpuminer parametrizando a URL do Pool de Mineração, Seu Username, Seu Workername e Sua Senha:

./minerd --url=stratum+tcp://stratum.aikapool.com:7915  --user=technedigitus.linux --pass=[email protected]@s098

Lembre-se de substituir technedigitus.linux pelo seu login.workername e [email protected]@s098 pela sua própria senha.

Resultado:

accepted: X/Y (Z%), W khash/s (yay!!!) - Essa mensagem é um bom sinal! Significa que conseguiu processar e devolver o bloco com sucesso para o pool.
Repare no valor das colunas: Khash/s e Difficulty
Imagem da Dashboad do Pool

Lições Aprendidas:
- Qualquer sistema, por mais simples e comum que possua um Debian Linux (Ubuntu, Mint, Kali ou variante), consegue com as depedências e comandos acima efetuar mineração utilizando a CPU do sistema
- Necessário cadastro em pool (e se quiséssemos minerar através de uma carteira core instalada localmente? ou criar um pool?)
- Existe todo um parâmetro a ser passado no comando a ser executado para iniciar a mineração, que chama o programa de mineração no diretório certo, o endereço do pool que ao invés de https://, utiliza stratum+tcp://, meu login junto com o nome do workername mais a senha para identificação.