A ideia por trás da criação de RSK é dar o blockchain do Bitcoin, funcionalidades de contrato inteligente.

É um dos mais interessantes plataformas para desenvolver contratos inteligentes pois combina a segurança da rede do Bitcoin com a facilidade de uso do Solidity. Para alimentar seu sistema, o Rootstock usa mineração combinada. Quer saber o que significa mineração combinada? Vamos começar!

mineração de fusão rsk

Breve Visão Geral da Prova de Trabalho

Vamos resumir rapidamente a prova de trabalho (POW) antes de prosseguir.

  • Os mineiros resolvem enigmas criptográficos para “minerar” um bloco e adicioná-lo ao blockchain. 
  • Este processo requer uma grande quantidade de energia e uso computacional. Os quebra-cabeças foram projetados de uma forma que torna o sistema difícil e desgastante.
  • Quando um mineiro resolve o quebra-cabeça, eles apresentam seu bloco à rede para verificação.

A mineração no ecossistema do Bitcoin é um processo difícil. É por isso que os mineiros reúnem seus recursos e se misturam para criar “pools de mineração”. Os pools de mineração seguem a arquitetura cliente-servidor onde os mineiros (os clientes) se conectam ao poolserver (o servidor). O poolserver executa um dos softwares de servidor de pools de mineração. Alguns softwares comuns são CKpool, BTCpool e Eloipool.

Se você quiser obter uma visão mais aprofundada do POW, confira este guia.  Por enquanto, vamos nos aprofundar na mineração combinada.

O que é mineração mesclada?

Mineração mesclada é um mecanismo que permite que diferentes criptomoedas, que usam o mesmo algoritmo, sejam mineradas juntas. Portanto, neste caso, como Bitcoin e RSK são baseados no algoritmo SHA-256, eles podem ser extraídos juntos por meio de mineração combinada. As duas maiores vantagens da mineração combinada são:

  • Reduzindo enormemente os custos de investimento para os mineiros, uma vez que eles não precisarão comprar equipamentos novos.
  • Criptomoedas com menor hashrate podem ganhar poder de hash adicional pegando carona em uma criptomoeda com maior hashrate.
  • Os mineiros também podem ganhar recompensas extras mantendo a cadeia secundária.

O Namecoin foi a primeira criptomoeda a fundir-se com o Bitcoin. Vamos ter uma visão geral de como funciona o processo de merge-mining:

  • O id do bloco do blockchain secundário está embutido no bloco do blockchain primário. Este id de bloco é o hash criptográfico de um bloco na cadeia secundária.
  • Este hash de bloco secundário é prefixado por uma “tag” de mineração de mesclagem. Esta tag pode ser um pequeno texto descritivo ou bytes mágicos.
  • Para evitar confusão, um bloco na cadeia primária não pode ser associado a mais de um bloco da cadeia secundária.
  • Para garantir a segurança geral da mineração mesclada, deve ser mais difícil criar um bloco blockchain primário que possa ser associado a dois blocos do mesmo blockchain secundário do que minerar dois blocos blockchain primário diferentes, um para cada associação, no dificuldade do blockchain secundário.

No caso do RSK-Bitcoin, a dificuldade do bloco RSK se compara à segurança de 70 bits, enquanto a dificuldade do Bitcoin se compara a 74 bits. 

Pools de mineração de Bitcoin geralmente incluem uma referência ao bloco RSK em cada trabalho de mineração que entregam aos mineiros. Cada vez que os mineiros encontram uma solução, ela é comparada às dificuldades do Bitcoin e do RSK. Depois disso, existem três resultados possíveis:

  • A solução satisfaz a dificuldade da rede Bitcoin. O bloco é montado e enviado para a rede. A rede Bitcoin também propagará a referência de mineração fundida da RSK. Visto que a dificuldade RSK é menor do que Bitcoin, esta solução funcionará para RSK.
  • A solução satisfaz RSK, mas não Bitcoin. A solução será submetida à rede RSK e não à rede Bitcoin.
  • A solução não satisfaz nenhum dos requisitos de dificuldade.

Seja qual for o caso, a solução finalmente submetida à RSK permite que o nó construa uma prova de SPV. Se a comprovação for válida, ela é incluída no bloco que será enviado à rede.

Olhando mais fundo na mineração mesclada

Um cabeçalho de bitcoin funciona como um proxy POW na mineração mesclada. O blockchain RSK interpreta o POW do cabeçalho do bloco Bitcoin. Ele procura a tag dentro do bloco para saber qual bloco de cadeia RSK deve estar vinculado a ele. Além disso, tenha em mente que o blockchain RSK não precisa de um bloco Bitcoin completo para validar o POW do cabeçalho Bitcoin e associá-lo ao cabeçalho RSK correspondente. Uma simples comprovação do SPV será suficiente para estabelecer essa relação. Exploraremos mais as provas SPV em breve. Por enquanto, vamos entender melhor a tag RSK.

O formato atual da tag RSK é: RSKBLOCK: RskBlockHeaderHash

  • “RSKBLOCK:” é uma string ASCII que consiste nos bytes: 52 53 4b 42 4c 4f 43 4b 3a.
  • RskBlockHeaderHash é a compilação hash Keccak do cabeçalho do bloco RSK em formato binário, sem os campos de mineração mesclados, que são preenchidos depois que o PoW é resolvido.

Embora não seja obrigatório, uma tag RSK deve ser incluída após os opcodes OP_RETURN OP_PUSHDATA1 em um script de saída. Isso ajuda a evitar o spam de Bitcoin UTXO.

O RskBlockHeaderHash é criado pelo nó RSK padrão (daemon rskj). O plug-in poolserver pesquisa o daemon rskj e mantém o valor RskBlockHeaderHash mais recente para fornecer ao poolserver.

Junto com isso, as seguintes restrições adicionais podem ser aplicadas:

  • O número de bytes após o RskBlockHeaderHash, até o final da transação coinbase, deve ser menor ou igual a 128 bytes.
  • A string binária “RSKBLOCK:” (52 53 4b 42 4c 4f 43 4b 3a) não deve ser incluída nos bytes brutos à direita.
  • Se a tag RSK estiver localizada em um script de saída que não seja a última, então pode haver alguma chance de ela aparecer nos bytes da próxima saída. É por isso que é altamente recomendável usar o último script de saída para a tag RSK.
  • Se a tag RSK estiver localizada no campo coinbase, então há uma chance de que “RSKBLOCK:” apareça no campo coinbase.

O que são provas SPV?

Como mencionado acima, a associação entre a blockchain RSK secundária e a blockchain Bitcoin primária pode ser estabelecida por uma prova de SPV. A prova SPV é composta principalmente por provas de filiação à árvore Merkle. 

As caixas azuis representam as informações incluídas na prova SPV e transmitidas ao longo do bloco RSK. Devido às restrições colocadas pelos bytes finais, o nó completo RSK criará uma versão compactada da prova de SPV que consistirá em:

  • O cabeçalho do bloco Bitcoin (80 bytes).
  • Um ramo Merkle para a transação Coinbase (aproximadamente 320 bytes).
  • Um estado intermediário de SHA-256 consumindo o início da transação coinbase (32 bytes).
  • Um bloco alinhado de 64 bytes consiste em uma trilha da transação coinbase e a tag RSK (máximo de 169 bytes). 
  • Atualmente, o tamanho máximo de uma prova de merge-mining SPV é 780 bytes.

O software poolserver pode enviar ao daemon rskj o bloco completo ou esta prova de SPV. Se rskj receber um bloco, ele irá analisá-lo e extrair os campos necessários para construir a prova de SPV.

Dificuldade de mineração mesclada

Antes de prosseguirmos, vamos entender o que significa dificuldade e por que este conceito foi introduzido em primeiro lugar. O bitcoin, como você deve saber, tem um limite rígido de 21 milhões de moedas. À medida que mais mineiros entravam no espaço, era necessário fazer algo para impedi-los de bombear todas as moedas para o ecossistema.

Para evitar que o fornecimento de bitcoins saia do controle e torná-lo um modelo mais sustentável, Satoshi Nakamoto integrou o mecanismo de dificuldade. À medida que mais e mais blocos são minados, a dificuldade dos quebra-cabeças criptográficos aumenta exponencialmente. Basicamente, quanto mais bitcoins você extrai, mais difícil se torna o processo de mineração. 

Agora que você sabe o que isso significa, considere o seguinte – a dificuldade da cadeia RSK é muito menor do que a dificuldade do Bitcoin. Internamente, a dificuldade se traduz em um “alvo”, que é inversamente proporcional à dificuldade. O destino é um inteiro não assinado de 256 bits.

Alvos aproximados para blockchain minerado mesclado, no mesmo dia. RSK tem uma meta maior porque os bloqueios são 20 vezes mais frequentes. 

Esta é a razão pela qual um cabeçalho de bloco que resolve o quebra-cabeça RSK POW pode não ser aceito pela rede Bitcoin, uma vez que pode não satisfazer sua dificuldade. Portanto, a pergunta a fazer aqui é: como um pool de mineração pode detectar um bloco RSK se eles estão sempre procurando por um bloco Bitcoin? Bem, acontece que os mineiros estão sempre procurando resolver os blocos com menor dificuldade de qualquer maneira. Esses blocos intermediários e de baixa dificuldade são chamados de “compartilhamentos” e são exigidos pelo servidor da piscina para fins de contabilidade. Muitos mineiros nos pools criarão ativamente mais ações entre soluções reais para fornecer maior granularidade para as contribuições dos mineiros de contabilidade.  

Aqui estão mais algumas coisas para ter em mente sobre os compartilhamentos:

  • Os compartilhamentos são transmitidos ao poolserver com bastante regularidade. O servidor pode, portanto, dividir os ganhos futuros entre os mineiros envolvidos, dependendo de sua contribuição de hashing.
  • A dificuldade dos blocos de Bitcoin às vezes pode cair, dependendo do poder de hash geral do sistema. É por isso que um compartilhamento é transmitido dentro do sistema, pois pode ser a solução para o atual enigma Bitcoin POW.
  • Se o resumo de hash do compartilhamento for menor do que o alvo atual do Bitcoin, ele será encaminhado para o daemon bitcoind, que o espalha pela rede. 
  • Diferentes blockchains secundários podem ter diferentes dificuldades. É por isso que um servidor de pools com capacidade de mineração mesclada deve comparar o destino do compartilhamento com todos os destinos dos blockchains secundários que ele suporta. Portanto, se o compartilhamento satisfaz a meta da RSK, o bloco correspondente é considerado válido para a rede RSK.

Segurança de mineração fundida RSK

Um minerador racional no mecanismo de mineração fundido do RSK precisará conduzir apenas 2 ^ 69 operações (a dificuldade atual do RSK). Um invasor irracional precisará computar até 2 ^ 80 operações de hash em menos de 30 segundos para infligir qualquer tipo de dano ao sistema. Para conduzir esse ataque, esse invasor irracional terá que investir em 2.000 vezes mais hardware do que o minerador racional. O investimento seria de cerca de cinco trilhões de dólares. 

No entanto, há mais uma coisa a se considerar aqui. O invasor pode produzir apenas um ou mais blocos que compartilham o POW para a mesma altura de bloco RSK. Se for esse o caso, então é apenas um desperdício de 5 trilhões de dólares no final do dia. 

Vulnerabilidade hipotética de SHA256

RSK usa um truque criptográfico não padrão para compactar a transação de geração. RSK apenas transmite a cauda em vez da transação completa, fazendo o hash do meio do estado da construção Merkle-Damgård. No entanto, esse truque pressupõe que o algoritmo SHA256 seja completamente resistente à “colisão de início livre”. De acordo com a configuração do RSK, o SHA256 precisa ser pelo menos tão seguro quanto 80 bits de força bruta.

Nenhuma colisão de freestart foi encontrada em SHA256, e os melhores resultados correspondem a encontrar colisões de semi-free-start em uma versão de rodada reduzida de SHA256 (38 das 64 rodadas, ao custo de 2 ^ 65 operações).

Até agora, o algoritmo foi considerado seguro para uso. No entanto, se tal ataque for descoberto, o RSK pode ser protegido por uma atualização de rede. Nesse caso, o RSK não usará o truque de compressão criptográfica. Isso, no entanto, levará a um pequeno aumento no tamanho do bloco.

NOTA: Se o SHA256 sofrer um ataque de colisão de início livre, ele o tornará completamente inútil. Isso também será extremamente problemático com o Bitcoin.

Além disso, a versão 1.0.0 do RSK oferece segurança de 80 bits contra possíveis colisões de tags. Um ataque de colisão de 80 bits é teórica, econômica e computacionalmente irracional. 

  • POV computacional: Um ataque dessa magnitude exigirá uma quantidade irreal de memória. Além disso, o custo de CPU do ataque de colisão é mais de 2.000 vezes maior do que o custo de resolver o quebra-cabeça RSK PoW (69 vs. 80 bits). 
  • POV teórico: o consenso DECOR + de RSK de que os blocos em colisão compartilhariam a recompensa do bloco, então não há nenhum benefício em encontrar novos irmãos de blocos anteriores se a recompensa do bloco anterior for aproximadamente igual à recompensa de um novo bloco. O que isso significa essencialmente é que o invasor estaria competindo principalmente consigo mesmo.

  • POV econômico: Um mineiro fundido honesto ganha taxas de transação de Bitcoin, então a mineração fundida é subsidiada pelo Bitcoin. Um invasor, por outro lado, terá que pagar o custo total do ataque de colisão. Isso significa que qualquer ataque na ligação POW não é custo-eficiente.

De acordo com RSK, “Achamos que a tag é segura pelos próximos 20 anos, mesmo considerando um avanço na eficiência da computação. No entanto, se as tendências de computação mudarem radicalmente, uma futura atualização de rede poderia facilmente expandir o tamanho do hash para 32 bytes. ”

Conclusão

RSK é a opção mais lucrativa para mineração combinada em Bitcoin. A equipe RSK desenvolveu vários plug-ins totalmente funcionais para várias implementações de pool, como CoiniumServ, CKpool, BTCpool e Eloipool. Outros pools implementaram seus próprios plug-ins. Eles recomendam pessoalmente o CKpool em vez de outro software de piscina de mineração, pois é otimizado de forma adequada. Se você é uma piscina de mineração que deseja começar, basta seguir as instruções no RSK fundiu mineração seção. 

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me