es la prueba de trabajo para la seguridad o la eficiencia?

estoy leyendo la prueba de trabajo (también conocida como pow, umbral objetivo, dificultad, etc.); según tengo entendido, pow agrega un requisito para validar los encabezados de bloque, de modo que tanto los nodos benignos como los malignos necesitan una cantidad de tiempo razonable para crear un bloque válido; pero no veo cómo este límite de velocidad se relaciona con la seguridad ; incluso si no hay pow, de modo que cada bloque sea válido, siempre que los nodos benignos tengan la mayoría de la potencia informática, ¿no podrían garantizar que la cadena principal se forme correctamente?

por ejemplo, asumiendo que los nodos benignos son la mayoría:

  • con pow, los nodos malignos generan nuevos bloques a mblks/min, mientras que los nodos benignos a bblks/min, y b > m;

  • sin pow, los nodos malignos se generan a 100000mblks/min, mientras que los nodos benignos a 100000bblks/min; todavía tenemos 100000b > 100000m(a pesar de que el libro mayor público ahora crece mucho más);

el anterior es un ejemplo extremo, pero podría imaginarse ajustando el pow paso a paso, de los 10 blks/min actuales a los 20 blks/min, a los 30 blks/min, etc. ¿El protocolo bitcoin se vuelve menos seguro debido a los ajustes?

PoW y la validación son cosas completamente separadas. Puedes PoW las fotos de tu gato y eso estaría bien. Los nodos completos harán el 100% de la validación por sí mismos y solo elegirán bloques de Bitcoin válidos, por lo que descartarán las imágenes de sus gatos.

Respuestas (1)

En principio sí, lo que sugieres podría funcionar, incluso en tu "caso extremo". Pero en la práctica, si se necesitara muy poco trabajo para crear un bloque válido, entonces se crearían billones de bloques por segundo (tanto por buenos como por malos actores), y sería imposible simplemente almacenar o transferir esa cantidad de datos, no por mencionar tratar de clasificarlos en una cadena. También tendría muchas más personas pisándose los dedos de los pies al crear múltiples bloques que nombran al mismo padre, lo que lleva a muchas bifurcaciones en la cadena de bloques que tardarían un tiempo en resolverse.

Pero no tendría nada de malo alterar el programa de dificultad para que los bloques se creen a una tasa promedio algo más alta (tenga en cuenta que el estándar de Bitcoin es 0,1 bloques por minuto, es decir, un bloque cada 10 minutos, no 10 bloques por minuto). La elección de 0,1 bloques por minuto fue arbitraria y una tasa diferente funcionaría bien. Litecoin, por ejemplo, utiliza una tasa de 0,5 bloques por minuto.

Es útil no tenerlo demasiado rápido, de modo que la mayoría de las veces haya al menos unos segundos entre bloques, y el bloque tenga la oportunidad de propagarse a través de la red antes de que se encuentre uno nuevo. De lo contrario, obtienes más tenedores, como se mencionó anteriormente.

También tenga en cuenta que una idea errónea común es que reducir el tiempo de bloqueo aceleraría la confirmación de las transacciones. La seguridad de una transacción contra el doble gasto está relacionada con el trabajo total realizado en la cadena de bloques, no solo con la cantidad de bloques. Entonces, si Bitcoin aumentara la tasa de bloque a 0,5 por minuto como Litecoin, eso significaría que cada bloque demuestra solo 1/5 del trabajo anterior. Para obtener una seguridad equivalente al estándar actual de 6 confirmaciones, ahora tendría que esperar 30 confirmaciones y aún tardaría 60 minutos.

Entonces, aunque no habría ningún problema en particular con aumentar la tasa de bloqueo (aparte de los inherentes a cambiar el protocolo a través de una bifurcación dura), tampoco habría beneficios dramáticos.

bien, esto suena como que variar pow no abre un problema de seguridad y pow es por razones de usabilidad, eficiencia, etc.;
Buena respuesta en general, pero el "concepto erróneo común" no es un concepto erróneo. Imagina 2 cadenas, A dirigida a bloques de 1 minuto y B a bloques de 10 minutos. Después de 10 minutos, A tiene alrededor de 10 bloques y B tiene alrededor de 1 bloque. Si un atacante quisiera mantener en privado una cadena más larga y publicarla después de 10 minutos, necesitaría aproximadamente 11 bloques privados para A y 2 bloques privados para B. Incluso si pudiera producir bloques a la mitad de la velocidad del resto de la red. las posibilidades de eso serían de aproximadamente 1 en 2^11 en A y 1 en 2^2 en B, por lo que A permite confirmaciones más cortas para una confianza similar.