Bitcoin está diseñado para tener una duración promedio de 10 minutos entre la extracción de bloques. Esto se mantiene por el atributo de dificultad y la complejidad de haskey. Pero la minería requiere mucho poder y también es un proceso manual.
¿Por qué simplemente no crea un bloque cada 10 minutos automáticamente?
Ahora bitcoin tiene 10 kb (no estoy seguro exactamente) reservados para transacciones prioritarias del grupo. Simplemente decidamos la prioridad por la misma funcionalidad y llenemos nuestro bloque con transacciones.
Los usuarios solo necesitan enviar la transacción al grupo, no se pierde energía y está automatizado. Los bloques seguirán teniendo sus códigos hash y se mantendrá toda la inmutabilidad. Solo el minero no necesita encontrarlo. Digamos que he codificado bitcoin así: 1. 5 min por cada bloque nuevo. 2. solo una transacción de una clave pública a la vez. Detendrá el gasto doble y no necesitará POW, y dentro de 5 minutos, los cambios se reflejarán en los nodos de conexión.
¿Por qué no se utilizan tales métodos? ¿Cuáles son los inconvenientes?
Uno de los conceptos centrales de Bitcoin es que tiene un libro de transacciones descentralizado (la cadena de bloques de Bitcoin). Esto significa que cada nodo (completo) en la red tiene una copia de este libro mayor (a diferencia de VISA, por ejemplo, donde solo una parte centralizada tiene una copia del libro mayor de transacciones).
Cuando se deben agregar nuevas transacciones a la cadena de bloques, esto genera un problema. Los nodos de la red de Bitcoin deben ponerse de acuerdo (o llegar a un consenso ) sobre un nuevo estado de la cadena de bloques. El problema se reduce a "¿Qué bloque de transacciones agregaremos todos a nuestra cadena de bloques a continuación?" .
Ahora, digamos que todos los nodos completos tendrían su rutina de software propuesta que dice "Crearé un nuevo bloque de todas las transacciones de los últimos 10 minutos" .
El resultado será que diferentes nodos tendrán diferentes cadenas de bloques .
Las transacciones no se pueden propagar instantáneamente a través de toda la red de Bitcoin. Por lo tanto, una transacción dada podría caer dentro del lapso de tiempo de 10 minutos para algunos nodos, pero llegar tarde a otros nodos más distantes.
Los nodos ahora están en desacuerdo y no está seguro qué cadena de bloques es la verdadera cadena de bloques de la red.
Entonces, para evitar esto, se necesita un algoritmo de consenso, que permita que todos los nodos de la red se pongan de acuerdo sobre el siguiente bloque a agregar, por lo que solo hay una versión de la verdad . Un nodo deberá proponer el siguiente bloque que se agregará, y los otros nodos deberán poder verificar fácilmente que el bloque es válido.
PoW es solo un ejemplo de un algoritmo de consenso y, de hecho, se sabe que consume mucha energía. Existen otros algoritmos de consenso que son más eficientes energéticamente, por ejemplo, PoS (Prueba de participación), PoC (Prueba de capacidad), ...
Pero sin uno de estos algoritmos, no hay forma de mantener una y la misma cadena de bloques descentralizada.
¿Quién crearía el bloque? ¿Qué pasa si dos personas crean diferentes bloques y no pueden ponerse de acuerdo? Si toda la red confiara en un grupo para crear el bloque una vez cada 10 minutos, se vuelve completamente centralizado. Bitcoin utiliza la carrera minera para descentralizar de forma segura la decisión de qué bloque es el bloque aceptado.
El problema en una red de chismes entre pares es que no todos los pares tienen la misma información al mismo tiempo. Esto significa que "solo una transacción de una clave pública a la vez" no es un problema trivial de resolver. De hecho, esta es la invención principal de Bitcoin: la red de Bitcoin utiliza la cadena de bloques para determinar qué transacción debe considerarse "vista primero" .
Piyush Chittara
muro