Delayed Proof of Work (dPoW) é um mecanismo de segurança projetado pelo projeto Komodo. O dPoW é, basicamente, uma versão modificada do algoritmo Proof of Work (PoW), que usa o hashpower da Bitcoin como uma forma de melhorar a segurança da rede. Usando o dPoW, os desenvolvedores do projeto Komodo são capazes de proteger não apenas sua própria rede blockchain, mas também qualquer rede de terceiros que se junte ao ecossistema da Komodo no futuro. Na realidade, o dPoW pode ser implementado em qualquer projeto que desenvolva uma blockchain independente, desde que seja baseada no modelo UTXO.
Como funciona o dPoW?
Tomando o caso Komodo como exemplo, o mecanismo de segurança dPoW foi desenvolvido e implementado no código base da Zcash, o que possibilitou o uso de provas de conhecimento-zero (zero-knowledge proofs) para maior privacidade, além de melhorar a segurança da rede através da hashrate do Bitcoin.
Em intervalos de dez minutos, o sistema Komodo faz um registro (snapshot) de sua própria blockchain. O snapshot é então gravado em um bloco na rede Bitcoin através de um processo chamado notarização (notarization). Basicamente, esse processo cria um backup de todo o sistema Komodo, que é registrado na blockchain da Bitcoin.
Em termos mais técnicos, a comunidade Komodo elege os nós (nodes) que farão esse processo de notarização. Esses nós são chamados de notary nodes e são responsáveis por registrar os hashs de bloco (block hash) de cada rede dPoW na blockchain Komodo. Para cada registro de notarização, uma transação é feita na blockchain da Komodo. Usando o comando OP_RETURN, os nodes de notarização registram um único hash de bloco na cadeia Komodo.
Os notary nodes selecionam um block hash que tenha sido criado a cerca de dez minutos. Isso garante que toda a rede esteja de acordo com a validade do bloco. Ainda assim, cada rede de blockchain precisa atingir um consenso em relação a cada bloco. Os notary nodes apenas registram o block hash de um bloco que já foi minerado anteriormente.
Em seguida, os nodes de notarização registram um hash de bloco da rede Komodo na rede da Bitcoin. De forma similar, o processo também depende de uma transação de BTC, usando o comando OP_RETURN para gravar os dados em um bloco na blockchain da Bitcoin.
Assim que o processo de notarização na rede da Bitcoin é concluído, os notary nodes da Komodo registram a informação daquele mesmo bloco da rede Bitcoin de volta em cada uma das outras blockchains que implementaram o mecanismo dPoW. Nesse momento, a rede não aceitará mais nenhum tipo de alteração do bloco notarizado (e nem de nenhum outro bloco que tenha sido criado antes do bloco notarizado mais recente).
Atualmente, o mecanismo dPoW faz uso da rede da Bitcoin, mas ele pode ser usado como uma ferramenta de aproveitamento da segurança ou funcionalidades de qualquer outra blockchain que faça uso de um modelo UTXO.
PoW vs dPoW
Um dos principais objetivos do algoritmo Proof of Work (PoW) é de manter a segurança da rede, prevenindo ataques - como por exemplo ataques DDoS (Distributed Denial-of-Service). Em poucas palavras, o algoritmo PoW é um conjunto de dados que é muito custoso e difícil de produzir mas que pode ser facilmente verificado e isso é um elemento crucial do processo de mineração.
A mineração das blockchains que usam PoW foi intencionalmente projetada para ser muito exigente e custosa. Os mineradores precisam resolver um quebra-cabeça criptográfico bastante completo para poderem minerar um novo bloco. Esse processo envolve um trabalho computacional muito intenso, que demanda muitos recursos em termos de hardware e eletricidade. A mineração não apenas protege a rede contra ataques, mas também verifica a legitimidade das transações e gera novas unidades de criptomoedas (como recompensa para o minerador que solucionou o quebra-cabeça).
Portanto, um dos motivos das blockchains de Proof of Work serem seguras é o fato do processo de mineração demandar um investimento muito alto de recursos financeiros, além de ser dependente de consenso da rede. Entretanto, é importante lembrar que a segurança das blockchains de PoW está diretamente relacionada com a quantidade de poder computacional (hash rate) dedicadas à elas. Isso significa que uma rede blockchain pequena não é tão segura quanto as grandes.
Ao contrário do PoW, o dPoW não é usado para atingir consenso sobre novos blocos e, portanto, não é considerado um algoritmo de consenso. Ao invés disso, dPoW é um mecanismo de segurança que é implementado sobre as regras de consenso de um algoritmo PoW - como se fosse uma camada extra de proteção. O mecanismo dPoW torna impossível a alteração ou reorganização de blocos que foram notarizados, o que significa que as blockchains podem se tornar ainda mais seguras e resistentes à ataques de 51%.
Tecnicamente, o dPoW “reseta” as regras de consenso de uma blockchain sempre que um novo bloco é notarizado. Por exemplo, a maioria das redes de PoW se baseiam na regra da “cadeia mais longa”. Então toda vez que uma rede blockchain recebe uma confirmação que o bloco XXX,XX1 foi notarizado, a regra da cadeia mais longa é reiniciada no bloco XXX,XX2. O sistema não vai aceitar uma cadeia que começe com o bloco XXX,XX0 ou anterior, mesmo que essa cadeia seja a mais longa.
Considerações finais
O mecanismo de segurança delayed Proof of Work permite que backups sejam realizados frequentemente de forma a garantir que caso ocorra uma falha de sistema ou um ataque, todos dados podem ser rapidamente recuperados. Para um hacker conseguir causar danos irreparáveis, ele teria que derrubar a rede da Bitcoin também, destruindo todos os snapshots que foram registrados na blockchain da Bitcoin.
Para aqueles que querem aprender mais sobre o mecanismo dPoW, por favor confiram a página de Serviços de Segurança Blockchain do projeto Komodo.