Logotipo de Zephyrnet

Mecanismos de consenso de blockchain: prueba de trabajo versus prueba de estaca y más

Fecha:

Un blockchain es un descentralizado. red de igual a igual que almacena datos de solo agregar (agregar al final de) y verifica la integridad de esa información en toda la red. Validar colectivamente la precisión de dichos datos (llegar a un consenso) es una de las características definitorias de una cadena de bloques.

La idea de una cadena de bloques se remonta a al menos la década de 1990. La teoría básica era copiar datos a través de una red de computadoras usando un tipo de consenso algoritmo para acordar los datos que se agregarán. Luego, usa criptografía encadenamiento para hacer que la base de datos sea prácticamente inmutable.

Para obtener más información sobre blockchains y hashing, consulte nuestro artículo Blockchain. Sin embargo, a continuación, nos centraremos específicamente en las diversas formas en que los diferentes tipos de blockchains alcanzan el consenso sobre los datos agregados a sus secuencias (cadenas) de datos (bloques) a través de estos temas:

Las principales diferencias en los diversos mecanismos de consenso de blockchain se centran en cómo se distribuye el derecho a agregar datos a la cadena de bloques entre los participantes de la red, y cómo la red valida estos datos como una cuenta precisa de las transacciones.

El conjunto de procesos informáticos que resuelven estos problemas se llama algoritmo de consenso, que, como se aludió, es el mecanismo responsable de actualizar de forma segura el estado de los datos en una red de blockchain dada.

Cada nodo (computadora) en la red verifica y procesa de manera independiente cada transacción y, por lo tanto, debe tener acceso al estado actual de la base de datos, la modificación solicitada por una transacción determinada y una firma digital que demuestre el origen y la precisión de la transacción. La pregunta entonces es cómo todos los nodos alcanzan un consenso (acuerdo) sobre los datos. El mayor problema que las blockchains intentan resolver se llama "Problema de los generales bizantinos.

Este problema, que ha existido por más tiempo que el propio blockchain, es básicamente el siguiente: ¿Cómo mantener una red de entidades enfocadas en el mismo objetivo en la alineación basada únicamente en los mensajes que se transmiten entre ellas, sin que la información sea corrompida por un malicioso? actor dentro de la red? Por ejemplo, si uno está tratando de enviar criptomonedas a través de una red, ¿cómo puede estar seguro de que los detalles de la transacción no han sido alterados y modificados por un nodo malicioso en la red?

Aquí es donde entra en juego un mecanismo de consenso para garantizar que la red permanezca sincronizada y que los datos no se vean afectados. Las siguientes son algunas de las soluciones que los diferentes grupos han ideado para lograr este resultado.

La prueba de trabajo es actualmente el mecanismo de consenso más popular para blockchains. La 'prueba de trabajo' que describe el nombre es el proceso por el cual la red blockchain prueba que un minero El nodo de red (nodos de red que agrupa las transacciones en bloques y los valida) ha realizado el trabajo necesario para crear un bloque válido (grupo de transacciones). Aunque es difícil para los nodos generar un bloque válido (se necesita mucha potencia de procesamiento de la computadora), es bastante fácil para la red verificar que un bloque sea válido.

Todo esto se hace a través de lo que se llama un función hash, que crea una huella digital única para un dato determinado. Dado que los hash son muy sensibles al cambio, e incluso una pequeña modificación dará como resultado una salida de hash completamente diferente, los hash se pueden usar para validar y asegurar bloques.

Para que un bloque se confirme como válido, los mineros deben crear dos hash: un hash de todas las transacciones en el bloque, y un hash que demuestre que han gastado la energía necesaria para generar el bloque resolviendo un rompecabezas criptográfico especial con un pre establecer nivel de dificultad. Específicamente, el rompecabezas es encontrar un número que, cuando se combina con los datos en las transacciones y se pasa a través del algoritmo hash, aparece un número dentro de un rango específico establecido por el programa de criptomonedas.

La dificultad de resolver el rompecabezas se ajusta automáticamente en los sistemas PoW para crear un período de tiempo constante para que se agreguen bloques de transacciones a la cadena de bloques y para liberar tarifas de red y recompensas de criptomonedas recién creadas para los mineros.

Un hash es un función unidireccional. No se puede revertir. De esta manera, se puede confirmar que cada bloque ha requerido trabajo para generarlo. Cada bloque también contiene el hash del bloque anterior, por lo que una vez que todos los bloques se combinan en la cadena de bloques, hace que sea prácticamente imposible modificarlos, ya que hacerlo requeriría rehacer todo el trabajo realizado para generar cada bloque en la cadena de bloques.

En resumen, un minero crea un bloque de transacciones válidas, luego ejecuta el algoritmo PoW en él para encontrar un hash válido, compitiendo contra todos los demás mineros para resolver el rompecabezas primero. Cuando se genera un bloque válido a través de dicha acción, el bloque se agrega a la cadena de bloques y el minero recibe tarifas de red, así como la criptomoneda recién creada.

Existen diferentes algoritmos de hash utilizados para los mecanismos de consenso de PoW, los más comunes son SHA-256 (p.ej Bitcoin) y Scrypt (por ejemplo, Litecoin). Otros incluyen SHA-3, CryptoNight, blake-256, Cuarc, scrypt-jane y sistemas híbridos que usan más de una función de hashing.

Aunque PoW es teóricamente casi imposible de hackear, ya que utiliza recursos en el mundo físico para asegurar la red, aquí es también de donde proviene una de sus mayores críticas: el recurso que se utiliza es la electricidad, y mucha.

De hecho, revista científica Placa base vice, informa que 1.6 hogares de los EE. UU. podrían recibir energía durante un día con la electricidad utilizada por una sola transacción de Bitcoin. Para 2020, Bitcoin podría consumir tanta electricidad como todo el país de Dinamarca. Y esa es solo una criptomoneda (aunque la más popular).

Desde una perspectiva ambiental y de eficiencia, esto no es ideal y sería muy difícil de escalar para su uso general. Para empeorar las cosas, el poder de cómputo y los costos de electricidad necesarios para mantenerse competitivos en la minería han aumentado dramáticamente con el tiempo. Esto ha producido una centralización significativa en las redes mineras, ya que solo las organizaciones más grandes y poderosas realmente pueden competir.

Algunas grandes empresas y grupos mineros ahora dominan las cadenas de bloques más populares, lo que es completamente contrario al principio de descentralización fundacional de las cadenas de bloques.

Además de la ética cuestionable de este problema, la centralización también conduce a un posible problema de seguridad llamado ataque del 51%. Esto es cuando un minero, probablemente un grupo o gran conglomerado, controla el 51% de la potencia informática de una red blockchain. Si esto sucediera alguna vez, podrían interrumpir toda la red al invalidar transacciones reales o validar sus propias transacciones fraudulentas para fondos de "doble gasto" (utilizando los mismos fondos más de una vez).

Afortunadamente, estos problemas con PoW no están exentos de posibles soluciones.

PoS se basa en la suposición de que cuando los nodos en la red son partes interesadas (es decir, cuando poseen la moneda de la cadena de bloques dada) tendrán un incentivo para seguir siendo honestos y benignos en los nodos de la red operativa.

PoS funciona cuando los mineros bloquean algunas de sus propias criptomonedas para que no puedan usarse en cuentas especiales 'estacadas'. Los nodos que tienen tokens estacados pueden verificar bloques de transacciones al igual que en los sistemas PoW, pero los cálculos criptográficos necesarios para verificar los bloques son mucho más simples (y, por lo tanto, requieren mucha menos potencia de la computadora). En lugar de usar acertijos complicados que brindan ventajas a las computadoras más potentes como en PoW, los sistemas PoS están estructurados de tal manera que los nodos que tienen más criptomonedas en juego tienen una mayor probabilidad de resolver el acertijo criptográfico.

De esta manera, aunque PoS es más eficiente que PoW, no resuelve completamente el problema de la centralización de la energía minera, ya que lógicamente, el riesgo es que la moneda utilizada por tales sistemas aún se concentre en cada vez menos manos.

Uno de los otros problemas clave de PoS es el problema de 'nada en juego', en el que los mineros pueden no tener nada que perder votando por múltiples historias de blockchain en caso de una bifurcación (una blockchain dividida en dos). En el caso de una bifurcación, la estrategia más lucrativa para un minero es extraer en cada cadena, por lo tanto, obtener recompensas independientemente de la bifurcación que la red reconozca.

En teoría, esto podría llevar a un consenso que la red nunca alcanzará, o al doble gasto en el que un atacante puede enviar una transacción, luego comenzar una bifurcación de la cadena de bloques desde un bloque detrás de la transacción y enviarse el dinero a sí mismo en lugar de donde fue enviado antes. Esto es más posible en un sistema PoS que PoW ya que el costo de trabajar en varias cadenas es mucho menor.

Sin embargo, un problema que PoS ayuda a mitigar es el problema del 51%. Incluso si un minero poseía el 51% de una criptomoneda, no sería de su interés atacar un sistema en el que poseía la mayoría de la participación. Esto, por supuesto, no tiene en cuenta a los actores maliciosos y bien financiados que simplemente desean derribar una red blockchain a cualquier costo.

Algunos ejemplos de blockchains que utilizan este mecanismo de consenso son NEO, Stellar y Cardano.

Con el PoS clásico, es poco probable que los mineros con saldos pequeños extraigan un bloque, de la misma manera que los mineros PoW con poca potencia de la computadora tienen pocas posibilidades de extraer un bloque. Esto no solo puede considerarse menos justo, sino que también puede conducir a una red menos segura, ya que si los pequeños mineros se incentivaran mejor, la red tendría más nodos y, por lo tanto, sería más segura.

LPoS incentiva nodos menos potentes al permitirles arrendar sus saldos de criptomonedas a "nodos de replanteo" que tienen más tokens replanteados y, en consecuencia, es más probable que extraigan un bloque válido. Todas las monedas arrendadas a dichos nodos aumentan el "peso" del nodo de replanteo, lo que aumenta sus posibilidades de agregar un bloque a la cadena de bloques. Las recompensas recibidas por los nodos de replanteo se comparten proporcionalmente entre todos los arrendadores. Los arrendatarios aún pueden mover o gastar sus fichas en cualquier momento, por lo tanto, automáticamente "romper el contrato de arrendamiento", por así decirlo.

De esta manera, el problema de la centralización de la minería y / o el poder monetario puede limitarse mejor al permitir que todos los nodos tengan el potencial de ganar recompensas mineras.

El ejemplo principal de un proyecto que utiliza este tipo de algoritmo de consenso es Waves.

En DPoS, los titulares de tokens de criptomonedas usan sus saldos para elegir una lista de nodos que podrán apostar bloques para agregar a la cadena de bloques. Con la cadena de bloques EOS aún por lanzar, por ejemplo, habrá 21 "nodos productores de bloques" elegidos por la red.

Aunque esto resuelve algunos problemas, como la posibilidad de que se produzcan bifurcaciones (todos los nodos no cambiarán a una bifurcación que no esté finalizada por 15 de los 21 nodos productores) y los problemas de escalabilidad que ocurren con PoW y PoS, una cadena de bloques DPoS es, por definición, más centralizado y no proporciona puntos de entrada accesibles para que nadie pueda extraer bloques y ganar recompensas.

Los proyectos que utilizan este tipo de mecanismo de consenso incluyen Bitshares y EOS.

Las cadenas de bloques no tienen que conformarse con un solo tipo de mecanismo de consenso. El tipo más popular de cadena híbrida es el híbrido PoW / PoS, que generalmente utiliza un consenso inicial de PoW de manera limitada, y luego utiliza PoS para validar los bloques agregados a la cadena de bloques. El uso de PoS resuelve el problema de ataque del 51% mientras se usa menos energía; PoW resuelve el problema de nada en juego al tiempo que garantiza otra capa de inmutabilidad blockchain.

Peercoin es una cadena de bloques que usa este método híbrido.

PoI es similar a PoS, pero el mecanismo de consenso también tiene en cuenta otros factores para dar a los nodos una ventaja en bloques de minería.

Con NEM, la primera cadena de bloques en implementar PoI, por ejemplo, los nodos son recompensados ​​por su productividad en la red, que incluye su saldo, así como su número y valor de transacciones, entre otros factores de 'reputación'.

En este mecanismo de consenso, cada nodo publica una clave pública. Las transacciones que pasan por el nodo son firmadas por el nodo y verificadas, y una vez que se alcanzan suficientes respuestas idénticas dentro de la red, se alcanza un consenso a través de que la transacción es válida. Este mecanismo simple no requiere potencia de hashing y es particularmente útil para sistemas de almacenamiento.

PBFT tiene dos problemas potenciales. Primero, todas las partes involucradas deben acordar la lista exacta de participantes de confianza. En segundo lugar, la membresía de dicho sistema de acuerdos generalmente es establecida por una autoridad central. Aunque estos factores pueden no ser adecuados para una criptomoneda pública descentralizada, puede ser útil para otras cosas, como las plataformas privadas de tenencia de activos digitales.

PBFT es el mecanismo de consenso utilizado por Hyperledger.

Antes de que aparecieran las cadenas de bloques, no había una forma práctica de garantizar que los datos en una red distribuida (por ejemplo, un libro de contabilidad digital) permanecieran seguros de la manipulación por nodos maliciosos o comprometidos. Con el nacimiento de Bitcoin y PoW, una nueva generación de programadores e ingenieros se puso a trabajar para resolver este problema.

Como resultado, han surgido muchos mecanismos de consenso, la mayoría con la intención de resolver el mismo problema (generales bizantinos). Como blockchain sigue siendo un campo relativamente nuevo, no está claro qué mecanismos de consenso resultarán más útiles y cuáles caerán en desgracia. Tal como está ahora, los diferentes mecanismos de consenso son uno de los factores fundamentales que diferencian las diferentes criptomonedas.

Fuente: https://unhashed.com/cryptocurrency-coin-guides/blockchain-consensus-mechanisms/

punto_img

Información más reciente

punto_img