Delayed Proof of Work (dPoW) es un mecanismo de seguridad diseñado por el proyecto Komodo. Básicamente, es una versión modificada del algoritmo de consenso Proof of Work (PoW), que emplea el hashpower de la blockchain de Bitcoin como forma de incrementar la seguridad de la red. Mediante el uso de dPoW, los desarrolladores de Komodo no solo son capaces de asegurar su propia red, sino también la cadena de cualquier tercero que acabe uniéndose al ecosistema Komodo en un futuro. De hecho, dPoW puede ser implementado por cualquier proyecto que desarrolle una blockchain independiente utilizando un modelo UTXO.
¿Cómo funciona dPoW?
Si tomamos como ejemplo el caso de Komodo, vemos que el mecanismo de seguridad dPoW fue desarrollado e implementado en el código base de Zcash, permitiendo de esta forma disponer de privacidad “zero-knowledge” e incrementando la seguridad de la red mediante el aprovechamiento de la tasa hash de Bitcoin.
A intervalos de diez minutos, el sistema Komodo captura una instantánea de su propia blockchain. A continuación, la instantánea se registra en un bloque de la red Bitcoin, como parte de un proceso denominado “notarization” (notarización). Dicho proceso, básicamente, crea una copia de seguridad del sistema Komodo en su conjunto, que se guarda en la blockchain de Bitcoin.
Desde un punto de vista técnico, los nodos notario escogidos por la comunidad Komodo escriben, mediante una transacción en el libro contable (ledger) de Komodo, el “block hash” de cada blockchain protegida mediante dPoW. Utilizando el comando OP_RETURN, los nodos notario almacenan un block hash individual en la cadena de Komodo.
El motivo por el que los nodos notario seleccionan un block hash de aproximadamente diez minutos es para tener la certeza de que toda la red considera válido el bloque. La red de cada blockchain, sin embargo, sigue llegando a un consenso respecto a cada uno de los bloques. Los nodos notario simplemente se encargan de registrar un “block hash” de un bloque previamente minado.
A continuación, dichos nodos notario registran un “block hash” de la cadena Komodo en el libro contable (ledger) de Bitcoin. Este proceso se completa mediante la ejecución de una transacción de BTC y el uso de OP_RETURN para registrar los datos en un bloque de la cadena de Bitcoin.
Una vez ha tenido lugar este proceso de notarización en Bitcoin, los nodos notario de Komodo registran los datos del bloque de la cadena de BTC, de vuelta en cada una de las otras cadenas protegidas. Llegado este punto, la red no aceptará ninguna reorganización que intente modificar un bloque notarizado (o cualquiera creado con anterioridad al más reciente bloque notarizado).
En la actualidad, dPoW se utiliza con Bitcoin, pero tiene el potencial para ser empleado como instrumento de aprovechamiento de la seguridad y las características de cualquier otra blockchain basada en un modelo UTXO.
PoW vs. dPoW
Uno de los principales objetivos del algoritmo Proof of Work (PoW) es mantener la seguridad de la red, disuadir ciberataques tales como una Denegación de Servicio Distribuida (DDoS). En pocas palabras, el algoritmo PoW es una pieza de información cuya producción resulta muy costosa, pero que es fácil de verificar por otros y representa un elemento crucial del proceso de minado.
El minado, dentro de las blockchains basadas en PoW, es deliberadamente laborioso. Los mineros deben resolver complejos rompecabezas criptográficos para lograr minar un nuevo bloque. Dicho proceso conlleva un trabajo computacional muy intenso, y que resulta muy costoso en términos de hardware y electricidad. El proceso de minado no solo protege la red de ataques externos, sino que también permite verificar la legitimidad de las transacciones, así como generar nuevas unidades de la criptomoneda (en forma de recompensa para el minero que resuelve el rompecabezas).
Por lo tanto, una de las razones por las que las blockchains Proof of Work son seguras, es el hecho que el proceso de minado involucra una elevada inversión financiera blockchains y depende del consenso de la red. Sin embargo, es importante señalar que la seguridad de las blockchains PoW está directamente relacionada con la cantidad de potencia computacional (tasa de hash) que se les dedica, lo que significa que las redes blockchain pequeñas no son tan seguras como las grandes.
A diferencia de PoW, dPoW no se emplea para alcanzar consenso respecto a nuevos bloques y, por lo tanto, no se considera un algoritmo de consenso. En lugar de ello, podemos definirlo como un mecanismo de seguridad que se implementa de forma complementaria a las reglas de consenso PoW ordinarias. DPoW se encarga de que resulte imposible reorganizar bloques que han sido notarizados, lo que significa que hace que las blockchains sea mucho más seguras y resistentes a los ataques del 51 %.
En efecto, dPoW “restablece” las reglas de consenso de una blockchain cada vez que un bloque se notariza. Por ejemplo, la mayoría de cadenas PoW emplean la “regla de la cadena más larga”. Así que cada vez que una red blockchain recibe la confirmación que el bloque XXX,XX1 ha sido notarizado, la regla de la cadena más larga empezará nuevamente a partir del bloque XXX,XX2. La red no aceptará una cadena que empiece en el bloque XXX,XX0, o anterior, incluso en el caso de que se trate de la más larga.
Reflexiones finales
El mecanismo de seguridad Delayed Proof of Work permite realizar copias de seguridad frecuentes, para garantizar que en el caso de un fallo sistémico o “hackeo” exitoso, la totalidad de los datos puedan ser rápidamente recuperados. Para que un hackeo lograra provocar un daño permanente, el atacante se vería obligado a tumbar también la red de Bitcoin, destruyendo de esta manera todas las instantáneas que fueron almacenadas como copia de seguridad en la blockchain de Bitcoin.
Aquellos que queráis aprender más sobre Delayed Proof of Work, por favor, consultad la página del Servicio de Seguridad de la Blockchain de Komodo.