¿Cómo afecta la implementación de la minería fusionada la tasa global de hash de las cadenas alternativas?
¿Una solución sirve para todos? ¿Una solución se ajusta a algunos? ¿La tasa de "soluciones que encajarán" disminuye con más bifurcaciones con las que se prueba?
Sería excelente una explicación de cómo funciona realmente la minería fusionada.
La minería fusionada permite que un minero extraiga más de una cadena de bloques al mismo tiempo. El beneficio es que cada hash que hace el minero contribuye a la tasa de hash total de ambas (todas) las monedas y, como resultado, todas son más seguras.
Comenzando con una explicación de alto nivel: el minero (o el controlador de minería en el caso de la minería agrupada) en realidad construye un bloque para ambas cadenas hash de tal manera que el mismo cálculo hash asegura ambos bloques. Las unidades de trabajo basadas en este bloque luego se asignan a los mineros. Si un minero resuelve un bloque (en el nivel de dificultad de una o ambas cadenas de bloques), el bloque se vuelve a ensamblar con la prueba de trabajo completa y se envía a la cadena de bloques correcta (o ambos bloques se vuelven a ensamblar por separado y cada uno se envía a la correspondiente red si cumplía con ambos requisitos de dificultad).
El único detalle confuso es cómo el mismo hash puede asegurar ambas cadenas de bloques. Usaré el ejemplo de Bitcoin y Namecoin, donde Namecoin admite la minería combinada y Bitcoin no:
Primero, el minero debe ensamblar un conjunto de transacciones para ambas cadenas de bloques. Luego ensambla el bloque final de Namecoin y lo procesa. Luego crea una transacción que contiene este hash que es válido en la cadena de Bitcoin y lo inserta en el conjunto de transacciones de Bitcoin en la punta del árbol. Luego ensambla el encabezado final de Bitcoin con esta transacción y envía las unidades de trabajo.
Si un minero resuelve el hash en el nivel de dificultad de Bitcoin, el bloque de Bitcoin se ensambla y se envía a la red de Bitcoin. El hash de Namecoin no hace nada y la red de Bitcoin lo ignora.
Si un minero resuelve el hash en el nivel de dificultad de Namecoin, se ensambla el bloque de Namecoin. Incluye el conjunto de transacciones de Namecoin, el encabezado del bloque de Namecoin, el encabezado del bloque de Bitcoin y el hash del resto de las transacciones en el bloque de Bitcoin. Todo este "lío" se envía al sistema Namecoin. El sistema de Namecoin, que admite la minería combinada, acepta esto como prueba de trabajo porque contiene trabajo que debe haberse realizado después de que se crearon el encabezado del bloque y el conjunto de transacciones de Namecoin. (Porque no puede crear el conjunto de transacciones de Bitcoin que contiene ese hash y, por lo tanto, el encabezado de Bitcoin que lo protege, sin esa información. Así que prueba que se hizo el trabajo).
Tenga en cuenta que un minero puede resolver ambas cadenas simultáneamente, y lo hará si resuelve en la dificultad más alta. Un bloque puede "ganar" en la cadena pública y el otro no. Son totalmente independientes, solo la minería está fusionada.
Tres puntos clave para recordar:
El beneficio para Namecoin es obvio. Muchos mineros de Bitcoin probablemente harán minería combinada, ya que básicamente no les cuesta nada y les da un mayor rendimiento que la minería de Bitcoins solo. Como resultado, su tiempo de generación de bloques será más predecible y sus transacciones más seguras contra un ataque del 51 %.
Básicamente, la idea es que ensamble un bloque de Namecoin y lo convierta en hash, y luego inserte ese hash en un bloque de Bitcoin. Ahora, cuando resuelva el bloque de Bitcoin en un nivel de dificultad mayor o igual al nivel de dificultad de Namecoin, será una prueba de que se ha realizado esa cantidad de trabajo para el bloque de Namecoin. El protocolo de Namecoin se modificó para aceptar un bloque de Bitcoin (resuelto en el nivel de dificultad de Namecoin o superior) que contiene un hash de un bloque de Namecoin como prueba de trabajo para el bloque de Namecoin. El bloque de Bitcoin solo será aceptable para la red de Bitcoin si se encuentra en la dificultad de la red de Bitcoin.
La cadena de bloques de Bitcoin obtiene un único hash adicional cuando se acepta un bloque de minería fusionado, y la cadena de bloques de Namecoin obtiene un poco más (porque incluye el bloque de Bitcoin) cuando se acepta un bloque de minería fusionado. Sin embargo, debido a Merkle Tree, no es necesario incluir todo el bloque de Bitcoin en el árbol de Namecoin, solo los hashes de nivel superior (por lo que la expansión adicional de la cadena de Namecoin no es un gran problema).
Dado que gana más dinero con la minería, tanto los mineros de Namecoins como los de Bitcoins eventualmente harán minería fusionada, y el nivel de dificultad para todas las cadenas de bloques eventualmente será el mismo.
Además, el incentivo económico para minar será el incentivo económico combinado de todas las redes, lo que hará que todas las redes sean más seguras. Por supuesto, esto permite que las redes de la competencia (con diferentes tasas de inflación) se vuelvan seguras rápidamente. Esto somete a Bitcoin a una mayor competencia.
En última instancia, el valor de Bitcoin es un reflejo de la necesidad de Bitcoins para realizar intercambios. Cuantas más personas usen Bitcoin para realizar compras, mayor será la demanda de Bitcoins y mayor será el precio de Bitcoins. (La especulación también aumenta el precio, pero la especulación a largo plazo es esencialmente una apuesta a que la demanda transaccional de Bitcoin aumentará en el futuro). Cuanto mayor sea el precio, mayor será el incentivo para minar.
En un momento dado, existe una cierta cantidad de demanda de una moneda similar a Bitcoin para realizar transacciones. Esa necesidad no aumenta con más competencia. Eso significa que la demanda transaccional de Bitcoin es realmente la misma que la demanda transaccional de todas las formas de pago sustancialmente similares. A medida que más monedas compiten para satisfacer la misma demanda, en realidad reducen la demanda de otras monedas a medida que se utilizan más ampliamente.
Esto significa que, en última instancia, en la medida en que las monedas sean intercambiables para los usuarios finales, la minería combinada no aumenta la seguridad general de las redes. La demanda de divisas determina el precio (y, por tanto, el valor de la recompensa). El aumento de la demanda de cualquier moneda determinada da como resultado una disminución de la demanda de otras, lo que reduce el incentivo para extraer otras monedas. El incentivo total es una función de la demanda total de todas las monedas similares a Bitcoin.
Excepto que ahora las monedas competidoras pueden comercializarse como "tan seguras como Bitcoin pero con tarifas de transacción más bajas". En otras palabras, existe una carrera a la baja entre las monedas competidoras para ofrecer las tarifas de transacción más bajas, porque reducir la tarifa de transacción no daña la seguridad de la red en comparación con las otras redes mineras fusionadas. Los usuarios, siguiendo su propio interés, adoptarán la moneda con las tarifas de transacción más bajas siempre que tenga la misma seguridad que los competidores.
Esto aumentará el precio de la moneda con la tarifa de transacción más baja (porque la demanda de la moneda es más alta) y disminuirá el precio de las monedas con tarifas de transacción más altas (porque la demanda de esas monedas está cayendo a medida que se llena con la demanda de la moneda competidora). Debido a que las monedas con las tarifas de transacción más altas fueron las que generaron el incentivo para minar, el incentivo general para minar disminuirá. Mientras la minería de una moneda se fusione con la moneda de uso gratuito, será impotente para aumentar los incentivos mediante la imposición de tarifas de transacción obligatorias.
El resultado será una disminución del incentivo a la minería, una disminución de la minería y, en última instancia, todas las redes que permitan la minería fusionada se volverán inseguras.
El mismo Satoshi parece ser el inventor de la minería fusionada. En sus palabras ( bitcointalk.org ):
Creo que sería posible que BitDNS fuera una red completamente separada y una cadena de bloques separada, pero que compartiera la potencia de la CPU con Bitcoin. La única superposición es hacer que los mineros puedan buscar pruebas de trabajo para ambas redes simultáneamente.
Las redes no necesitarían ninguna coordinación. Los mineros se suscribirían a ambas redes en paralelo. Escanearían SHA de tal manera que si obtienen un resultado, podrían resolver ambos a la vez. Una solución puede ser solo una de las redes si una red tiene una dificultad menor.
Creo que un minero externo podría llamar a getwork en ambos programas y combinar el trabajo. Tal vez llamar a Bitcoin, obtener trabajo de él, entregarlo a BitDNS getwork para combinarlo en un trabajo combinado.
En lugar de la fragmentación, las redes comparten y aumentan la potencia total de la CPU de cada una. Esto resolvería el problema de que si hay varias redes, son un peligro entre sí si la potencia de la CPU disponible se acumula en una. En su lugar, todas las redes del mundo compartirían la potencia de la CPU combinada, lo que aumentaría la potencia total. Facilitaría el inicio de redes pequeñas al aprovechar una base lista de mineros.
una cosa para recordar en la minería combinada es que el hash de bloque de la cadena auxiliar (por ejemplo, namecoin) no necesita estar por debajo del umbral de la cadena auxiliar. más bien, es el hash de bloque del padre (por ejemplo, bitcoin) el que debe estar por debajo del umbral de la cadena auxiliar (namecoin). por ejemplo, vea lo que sucedió con namecoin cuando se introdujo la minería fusionada en el bloque 19200 :
nmc block height: 19199
nmc block hash: 000000000000b19f0ad5cd46859fe8c9662e8828d8a75ff6da73167ac09a9036
nmc block height: 19200
nmc block hash: d8a7c3e01e1e95bcee015e6fcc7583a2ca60b79e5a3aa0a171eddd344ada903d
esto no sucedió debido a un cambio de dificultad en namecoin, y tampoco sucedió porque la dificultad de namecoin se volvió irrelevante debido a la minería fusionada. más bien sucedió porque los criterios para evaluar bloques válidos cambiaron debido a la minería fusionada.
Se agregaron campos adicionales al encabezado de namecoin y estos nos permiten verificar que el bloque se valida para estar por debajo del umbral de namecoin. específicamente, el hash de bloque de la cadena principal ahora se incluye en el encabezado del bloque de namecoin. es este hash de bloque el que se extrae en la cadena principal, por lo que podemos simplemente observar este hash de bloque y obtener cualquier resultado que sea inferior al umbral de namecoin.
la razón por la que este hash de bloque de cadena principal es relevante para la cadena auxiliar es simplemente porque el hash de bloque de la cadena auxiliar está incluido en el script txin de coinbase en la cadena principal. este txin de coinbase puede tomar cualquier valor arbitrario; no es necesario que produzca un script válido . por lo tanto, es un buen lugar para colocar el hash de bloque de la cadena principal.
entonces, trabajando hacia atrás, para validar un bloque extraído por fusión, necesitamos:
y dado que cada uno de estos pasos implica una función hash unidireccional de los datos en el paso anterior, la finalización de cada paso verifica todos los pasos anteriores.
destripador234