¿Cuál es el problema que resuelve la minería?

Por supuesto, la función de la minería es asegurar la cadena de bloques, pero estoy buscando un resumen más abstracto de cuál es el problema exacto que la minería intenta resolver. Creo que se llama el problema de los generales bizantinos , pero ¿puede describirse en un par de oraciones?

La red necesita seleccionar un extraño al azar de un grupo grande en un horario fijo, y utiliza una 'lotería de hashing' como un método razonablemente justo para hacerlo. ¿Es esa una buena definición de la razón por la que se necesita POW?

En otras palabras: supongamos que desarrollé un método alternativo para seleccionar un nodo p2p aleatorio cada pocos minutos, quién puede publicar el siguiente bloque, ¿podría eso reemplazar la prueba de trabajo basada en CPU?

@David El título puede estar duplicado, pero la pregunta es totalmente diferente. Sé todo sobre las colisiones de hash y los antecedentes técnicos de la minería, solo quiero saber qué propiedades debería tener una alternativa para poder reemplazar la minería.
@David: la pregunta es (obviamente) totalmente diferente. ¡E interesante!

Respuestas (4)

En mi opinión, es uno de los conceptos erróneos más grandes sobre Bitcoin que los mineros resuelven un "problema difícil". Muchas fuentes de noticias lo explican así, pero en realidad no es cierto.

Todo lo que hace un minero es adivinar hasta que acierta en algo. Un minero toma su bloque de transacciones (incluida la transacción de base de monedas que envía las tarifas y la recompensa del bloque a sí mismo) y calcula el hash de la misma. El cálculo de hash es un procedimiento muy común y no es nada "difícil". El hash que obtiene debe coincidir con una determinada condición. Esta condición se vuelve más difícil a medida que más mineros la prueban (ver Dificultad ). Cuando el minero obtiene un hash que cumple con la condición, puede publicarlo en todos los demás clientes de Bitcoin y el bloque se agrega a la cadena de bloques.

La razón por la que los mineros con más potencia informática tienen más posibilidades de ganar el bloque es porque simplemente pueden adivinar más rápido. Pueden calcular más hashes por segundo para probar la condición (la potencia minera se expresa en hashes/segundo).

La necesidad de una prueba de trabajo está ahí porque el protocolo de Bitcoin quiere que un bloque se encuentre solo una vez cada 10 minutos aproximadamente. Entonces, a medida que más mineros ingresan al juego, se vuelve más difícil de hacer. El POW se asegura de que encontrar un bloque no sea fácil y lleve algo de tiempo. Esa es también la razón por la que la dificultad aumenta a medida que más personas mías. Cada 2 semanas, los algoritmos ajustan la dificultad para que nuevamente se encuentre un bloque cada 10 minutos con el hashpower promedio de las dos semanas anteriores.

Entonces, para responder a su segunda pregunta: si pudiera encontrar un método alternativo para lograr exactamente lo mismo que se hace actualmente en la minería de Bitcoin, podría reemplazarlo. Pero Bitcoin está programado tal como está y probablemente nunca cambiará este método. Pero hay monedas alternativas que usan diferentes métodos para distribuir las monedas y asegurar la cadena de bloques.

Para ser justos, llamo a la minería matemática "difícil" no porque sea un problema objetivamente difícil, sino porque es poco probable que a ti o a mí nos resulte fácil hacer 2 rondas de sha256 con lápiz y papel.
A menudo se le llama un "rompecabezas matemático difícil" para el que tienes que encontrar una solución. Que no es el caso. Pero, de hecho, aunque todas las computadoras que se venden hoy en día pueden realizar un sha256, no es algo que mucha gente pueda hacer a mano :)

En pocas palabras, la minería resuelve el problema de lograr una ordenación de transacciones acordada globalmente y la selección de una de varias transacciones incompatibles.


Aquí está el problema que necesita una solución:

Si tengo 10 Bitcoin y simultáneamente introduzco en dos partes distantes de la red una transacción que le da 10 Bitcoin a Alice y una transacción que le da 10 Bitcoin a Bob.

Diferentes nodos (carteras, etc.) recibirán las dos transacciones en un orden diferente, algunos obtienen primero la transacción de Alice y rechazan la transacción de Bob como un intento de doble gasto. Otros viceversa.

¿Cómo es que el mundo entero finalmente está de acuerdo en cuál de Bob y Alice tienen los 10 Bitcoin?


La minería proporciona un mecanismo para seleccionar periódicamente un nodo que especifica un pedido (y, por lo tanto, elige qué transacción se rechaza). También proporciona la base para resolver puntos de vista conflictivos de orden de transacción entre partes de la red.

La minería proporciona un registro continuo inmutable y verificable de este ordenamiento.

Creo que la preocupación era que un nodo p2p es más fácil de falsificar que una solución que requiere un gran esfuerzo.

Con la minería que lleva tiempo, la sincronización se vuelve más fácil. Las bifurcaciones ocurren en la cadena de bloques y estas bifurcaciones deben resolverse, donde los nodos seleccionan la cadena más larga.

Es muy difícil para los nodos distribuidos resolver y llegar a un acuerdo si se agregan nuevos bloques a cadenas de bloques bifurcadas simultáneamente a alta velocidad en diferentes partes de la red.

Otra razón es que si varios mineros trabajan en bloques similares, es poco probable que terminen al mismo tiempo, ya que el número aleatorio que genera un hash lo suficientemente pequeño podría llegar en cualquier momento, lo que probablemente signifique tiempos muy diferentes para diferentes mineros. entonces uno gana claramente.

Así entiendo yo la necesidad de la minería.