Sé que la prueba de trabajo muestra que la persona ha invertido algo de tiempo y poder en el procesamiento. También sé que la minería de bitcoin está agregando una transacción a la cadena de bloques y luego el minero deberá resolver un problema de pow.
¿Porqué necesitamos esto? ¿Qué pasa si eliminamos el paso de prueba de trabajo para los mineros y cuáles son las consecuencias de hacerlo?
Imagina que tengo 1 bitcoin. E imagina que puedo formar una transacción para enviar ese bitcoin a Alice o puedo formar una transacción para enviar ese bitcoin a Charlie.
Ahora, ¿qué me impide formar ambas transacciones? Nada.
Entonces, si hago eso, ¿cómo sabrá la gente qué transacción es válida? Claramente, sin alguna forma confiable de saber cuál de esas dos transacciones son válidas, el sistema está condenado.
Esto es lo que hace PoW. Un minero no puede contribuir PoW a ambas transacciones al mismo tiempo, debe elegir una.
La prueba de trabajo (PoW) básicamente se asegura de que los mineros no hagan trampa.
No hay forma de confiar en que todos en la red sean honestos, por lo que debe haber alguna forma de evitar que los mineros creen nuevos bloques que los beneficien. La forma en que funciona es que tienes un grupo de personas tratando de adivinar la respuesta al problema matemático y nadie sabe quién obtendrá la respuesta correcta primero. Quien obtenga la respuesta correcta primero obtiene una recompensa, pero solo si todos los demás mineros aceptan ese registro transaccional (si resulta evidente que un determinado minero está creando transacciones fraudulentas, entonces los otros mineros pueden negarse colectivamente a aceptar sus contribuciones). Esta es la razón por la cual el proceso de creación de un nuevo bloque está diseñado para consumir mucha energía, por lo que hay un costo asociado con la creación de cada nuevo bloque. Esto evita que los mineros simplemente creen un montón de nuevos bloques fraudulentos con la esperanza de que tal vez sean aceptados, porque el costo de hacerlo compensa la recompensa potencial. Es útil pensar en la prueba de trabajo como una posible solución al correo no deseado. Si hubiera un requisito para que cada computadora dedique un minuto a un problema de PoW antes de enviar cada correo, entonces solo las personas con mensajes genuinos aceptarían hacer el esfuerzo. Un minuto de tiempo en la computadora es un costo muy bajo para un individuo, pero el tipo que está enviando 10 millones de correos electrónicos no deseados no puede darse el lujo de esperar 10 millones de minutos para hacerlo. Entonces, volviendo a bitcoin, la posibilidad de que cada minero individual sea el que resuelva cada bloque es bastante pequeña, y dado que se necesita mucho esfuerzo para resolver los bloques, no pueden simplemente enviar spam a la red con soluciones.
Espero que tenga sentido.
Este es el mejor desglose que pude encontrar ( http://nakamotoinstitute.org/mempool/the-proof-of-work-concept/ )
delaying mechanism
. Entonces obliga a todos a retrasarse y hacer una pausa. Y una vez que este retraso obligatorio está ahí, kablam, el resultado es un ordenamiento secuencial. No estoy seguro, si este es el punto. Empecé a leer Mastering Bitcoin
la semana pasada. Por favor corrígeme si estoy equivocado.La forma en que entiendo cómo funciona la prueba de trabajo ( PoW ) es esta: su objetivo fundamental es evitar hacer trampa o crear una vista inconsistente del libro mayor distribuido.
Imagine un escenario de doble gasto , en el que el participante A solo tiene 1 BC para gastar. Pero crea dos transacciones independientes o "gasta" cada una con 1 BC. Luego presenta cada transacción de gasto a dos partes diferentes B y C como pagos válidos. Dado que no existe la noción de serialización de transacciones (como se tendría en una base de datos centralizada con confirmaciones atómicas), es posible que algunos participantes en la red hayan registrado primero el pago de A a B , mientras que otros hayan registrado el pago de A a C primero. Al mismo tiempo, algunos terminarán rechazando este último pago (ya que A solo tiene 1 BC para gastar).
En el mundo ideal, si ambas transacciones se pueden serializar estrictamente (como, por ejemplo, el pago de A a B se registrará en el libro mayor distribuido antes de que se registre el pago duplicado de A a C ), no habrá necesidad de consenso distribuido. En un mundo ideal, donde en las transacciones se puede marcar la hora usando un reloj "central" visible para cada participante, tendríamos una solución fácil.
El proceso PoW resuelve este problema algorítmicamente al forzar un retraso finito no trivial para enviar y confirmar un bloque de transacciones. En el esquema de bitcoin, donde las transacciones deben comprometerse en una granularidad de nivel de bloque , la transacción de doble gasto de A tiene dos posibilidades:
En el último caso, la inconsistencia se detecta y marca fácilmente. En el primer caso también, es fácil detectar la inconsistencia y marcarla, pero es posible hacerlo solo cuando ambas transacciones (la buena y la mala) están agrupadas en el mismo bloque. Esto no es posible si los tamaños de los bloques son demasiado pequeños o los nodos pueden confirmarlos muy rápidamente. Aquí es donde PoW es útil: obliga a que transcurra suficiente tiempo para componer un nuevo bloque y hacer que todos los participantes lo confirmen.
La pregunta que no estaba clara para mí es la siguiente: Bitcoin usa una cierta variación del cálculo de la imagen previa de un valor hash SHA-256. Dado que el propósito de PoW es solo retrasar la creación de nuevos bloques con un retraso de tiempo suficiente, este rompecabezas para resolver podría ser cualquier cosa, como por ejemplo, resolver un problema de colocación de 16 reinas en un tablero de ajedrez, o algo así. No está claro si el rompecabezas realmente necesita tener una correlación con los datos reales en el bloque que se está confirmando.
Sin prueba de trabajo, cualquiera puede comenzar desde el bloque de génesis y crear una larga cadena de transacciones falsas. ¿Cómo se puede decidir qué libro mayor es el correcto?
Aquí es donde entra en juego la prueba de trabajo. Los nodos aceptan la cadena que costó más trabajo crear y rechazan todas las demás. Esto incentiva fuertemente a los mineros a construir sobre la cadena establecida y también dificulta la creación de una cadena falsa. Para crear una cadena falsa, un adversario deberá trabajar más rápido y también deberá ponerse al día con el resto de la red para que se acepte su cadena falsa, lo que es prácticamente imposible para las criptomonedas establecidas como Bitcoin.
respuesta corta :
la prueba de trabajo es una protección y una solución para el problema general bizantino sin ella, los mineros engañarán fácilmente sin perder nada, por lo que configuraron este sistema POW para obligar a los participantes a perder dinero si hacen trampa (usted pierde el dinero invertido en el proceso POW (consumo de electricidad y presupuesto inútil invertido en el hardware)) en cambio tienes un incentivo si no haces trampa. Además, el POW se usa para controlar las ventanas de tiempo de minería (10 min), podemos controlar la dificultad para hacer que la minería sea fácil o difícil.
Proporciona una prueba de consenso entre los nodos de Bitcoin que establece la validez de cualquier bloque dado una vez que tiene aproximadamente 6 bloques extraídos encima y es la cadena más larga de la red.
Dado que es computacionalmente costoso extraer bloques, es poco probable que un solo minero pueda extraer varios bloques seguidos. El resto de la comunidad minera extraería los bloques mucho más rápido y crearía una cadena más larga.
Por lo tanto, dado el bloque A, para tener 6 bloques extraídos por encima del bloque A en la cadena más larga, un gran porcentaje de los mineros en la comunidad minera de bitcoin deben estar trabajando en la cadena que incluye el bloque A.
El hecho de que se haya demostrado que tantos mineros están trabajando en una cadena que incluye el bloque A implica que la comunidad ha llegado al consenso de que el bloque A es un bloque válido.
Así se ha logrado la Prueba de Consenso.
¿Por qué se necesita esta Prueba de Consenso? Protege contra la bifurcación de la cadena de bloques (intencionalmente o no). Otras respuestas describen por qué alguien puede intentar bifurcar intencionalmente la cadena de bloques (consulte el escenario de doble gasto).
brecha
I also know that bitcoin mining is adding a transaction into the blockchain and then the miner will need to solve a pow problem.
La minería es construir un bloque de transacciones y, con suerte, resolver el problema PoW para ese bloque antes de que cualquier otro minero agregue un bloque y luego agregue el bloque a la cadena de bloques.muro