Resolución de un bloqueo y verificación de transacciones [duplicado]

Mi entendimiento de la minería es que la razón por la que un premio de Bitcoin viene junto con la resolución del bloque actual es para incentivar a las personas a intentar resolver el bloque. También tengo entendido que la razón por la que es deseable que haya personas tratando de resolver bloques es porque esto es lo que hace que la red funcione, es decir, cuantas más personas usen su poder de procesamiento para verificar las transacciones de Bitcoin, mejor.

Lo que no entiendo es qué tiene que ver el hashing con la verificación de transacciones real. Tengo vagamente esta idea en mi cabeza de que debido a la dificultad del algoritmo hash SHA256, si alguien encuentra un hash que resuelve un bloque, eso debe significar que pasó una cantidad significativa de tiempo trabajando para encontrar el hash. . . pero, ¿qué tiene eso que ver con pasar una cantidad significativa de tiempo trabajando para verificar las transacciones? ¿Qué impide que las personas simplemente hagan hash pero no verifiquen? Además, si estoy en lo cierto al suponer que el hashing no tiene otro propósito que el de verificar que alguien de hecho hizo una buena cantidad de trabajo para la red, ¿realmente no hay otro método mejor para probar esto? ¿Por qué algo tan estúpido como simplemente hacer un seguimiento de cuántas transacciones ha verificado una persona no va a funcionar?

Respuestas (1)

Verificar una transacción no es un proceso difícil, es encontrar un buen hash de bloque que dificulta la minería. Además, si un minero verifica una transacción y la incluye en el bloque que está creando, obtiene la tarifa de transacción de esa transacción. Esto hace que sea atractivo para los mineros verificar transacciones en lugar de solo buscar un hash de bloque.

La razón por la que la minería es difícil y es necesario verificar que un minero ha puesto una cierta cantidad de trabajo para encontrar su nuevo bloque es por seguridad de la red. Si la minería fuera más fácil, sería más fácil para los atacantes tomar el control de la cadena de bloques.

Además, el protocolo Bitcoin intenta lograr una tasa de creación de bloques de 1 bloque cada 10 minutos. Para lograrlo, el protocolo ajusta automáticamente la dificultad de encontrar un bloque cada 2016 bloques. Esto debería ser de aproximadamente 2 semanas. Cuando estos bloques de 2016 se encontraron demasiado rápido, la dificultad aumentará. De lo contrario, caerá. Esto permite predecir el suministro de bitcoins a lo largo del tiempo .

Entonces, debido a que solo queremos que se encuentre un bloque cada 10 minutos, la dificultad debe ser proporcional a la cantidad total de trabajo que realiza toda la red. Esto significa que cuantas más personas estén minando, más ayudarán a aumentar la dificultad y ayudarán a que la red sea más segura contra los ataques.

No entiendo completamente tu última pregunta. Pero "hacer un seguimiento de cuántas transacciones ha verificado una persona" no sería una alternativa adecuada por varias razones. Primero, como mencioné anteriormente, la verificación de transacciones no es un proceso difícil, por lo que la cantidad de transacciones verificadas no sería una buena medida de la cantidad de trabajo que realizó. Además, en la red Bitcoin, no existe tal cosa como una "persona". Es posible realizar un seguimiento de la dirección IP de quién envía transacciones y bloquea, pero identificar a las personas por su dirección IP no es una buena idea (las IP no siempre son fijas y varios usuarios pueden compartir una IP). El único otro método de identificación que admite Bitcoin son sus direcciones, pero el anonimato real de Bitcoin requiere que cambies con frecuencia la dirección que usas. por lo tanto, las direcciones no deben usarse como identificación. (Aunque a veces lo son. )

Traté de responder a todas sus preguntas, si me perdí algo, solo pregúntenme en un comentario.

Supongo que lo que no entiendo es el punto de agregar el trabajo adicional en la forma de buscar un hash de bloque. Evidentemente, esto no tiene nada que ver con la verificación de transacciones per se, es solo un medio de seguridad, y entiendo que esta seguridad surge simplemente porque hace que sea más difícil para cualquier entidad controlar un gran porcentaje de la red. Lo que no entiendo es cómo hacer que el hashing sea difícil logra esto. (Se están acabando los caracteres; consulte el siguiente comentario).
Si hace que el hashing sea más fácil, entonces para poder computacional fijo, en cierto sentido obtiene más control sobre la cadena de bloques, pero al mismo tiempo, ¿no todos los demás obtienen el mismo control de la cadena de bloques (lo es, después de todo, cada vez más fácil para todos, no solo para una persona en particular), de modo que en términos de la proporción de poder de cómputo que tiene sobre la cadena de bloques, nada ha cambiado, aunque puede que esté encontrando bloques más rápido.
Entonces parecería que el único propósito del hashing es controlar el tiempo (aproximadamente de todos modos) que lleva encontrar bloques, para controlar la velocidad a la que se introducen nuevas monedas en la economía. ¿Es esto incorrecto?
Además, cuando extraigo ahora, todas las monedas que extraigo se depositan en una dirección específica, por lo que, aunque personalmente podría hacer uso de más de una dirección, en lo que respecta a la minería, solo tengo una a la vez. Dado eso, ¿cómo sería 'peor' (en el sentido de usar direcciones con fines de identificación) mantener el seguimiento de las verificaciones de transacciones por dirección de Bitcoin que la forma en que funciona la minería ahora?
Es cierto que la dificultad también se usa para predecir la velocidad a la que se crean los bloques, agregaré eso a la respuesta.
@StevenRoose Tengo una pregunta. Digamos que después del bloque anterior, no hay transacciones pendientes. Ahora, 2 mineros A y B en el mundo con el mismo equipo, ¿deberían esperar un par de minutos a que lleguen nuevas transacciones, y luego empacarlas e incluir también el Hash del bloque anterior, y luego comenzar a resolver ese rompecabezas de Hash? Siento que la mejor estrategia para cualquier minero en este caso sería empacar directamente un bloque vacío sin transacciones, pero el hash del bloque anterior e inmediatamente comenzar a resolver ese rompecabezas Hash. Si ese es el caso, comience desde el Bloque 0, todo debería ser un bloque vacío
@ftxx Perdón por la demora. Si no hay transacciones, un minero nunca esperará. Comenzarán a trabajar en un bloque vacío. Luego, cuando llega una nueva transacción, el minero puede decidir cambiar el bloque en el que está trabajando. Es importante comprender que comenzar a trabajar en un bloque nuevo no representa una desventaja, ya que el trabajo no es incremental. Entonces, el minero probablemente creará un nuevo bloque con esa transacción y luego cambiará su hardware minero para resolver ese bloque en lugar del vacío.