¿Por qué no podemos diseñar un bitcoin que haga un trabajo útil? [duplicar]

La red bitcoin, incluidos todos los mineros, es el proyecto informático más grande que ha creado la humanidad. Entonces pregunto: ¿por qué, en lugar de usarlo para generar datos inútiles, no lo usamos para generar datos significativos, como pruebas de teoremas o algo similar afolding@home?

Su pregunta se basa en la suposición de que asegurar la cadena de bloques de Bitcoin es inútil.
@DavidSchwartz y otros lectores que entienden lo mismo: eso no es lo que quiero decir. Dije que el problema utilizado en sí mismo no es útil (resolver hashes). Estoy preguntando si podríamos usar otro problema que sea útil para otros fines (es decir, el plegamiento de proteínas) y al mismo tiempo poder mantener la seguridad de la cadena de bloques, así como el enfoque actual.
Mira mi respuesta. El plegamiento de proteínas no tiene nada que ver con la minería de Bitcoin.
Gridcoin y Curecoin están haciendo esto. Se pueden ganar CureCoins ejecutando 'Folding @ Home' y se pueden extraer mediante la minería SHA-256. Las Gridcoins se pueden minar extrayendo Scrypt y obtienes una 'bonificación' cuando ejecutas BOINC.
Solicite a los mineros que caminen en cintas de correr para generar electricidad para sus computadoras mientras resuelven sus problemas de hash. Esto puede ser verificado y cuantificado.

Respuestas (4)

Resolver problemas de hash SHA256 en Bitcoin es útil en el sentido de que asegura la cadena de bloques de Bitcoin, pero si su pregunta es: "¿por qué no puede hacer algo computacionalmente útil como efecto secundario?", entonces creo que la respuesta es "no no sé cómo". Para que Bitcoin funcione, la prueba de trabajo que realizan los mineros debe tener las siguientes propiedades:

  • Soluciones fáciles de verificar

  • Soluciones difíciles de encontrar

  • La dificultad de encontrar soluciones se puede cuantificar con precisión

  • Probablemente inseparable del bloque que asegura

Las funciones hash criptográficas como SHA256 satisfacen estas cuatro propiedades. No creo que la demostración automática de teoremas se ajuste a los requisitos porque, que yo sepa, no hay forma de demostrar lo difícil que fue encontrar el teorema que demostraste. La computación grid de propósito general, como BOINC, no cumple con el requisito de fácil verificación, al menos en el contexto de Bitcoin. (De hecho, creo que esta es un área activa de investigación en computación grid, llamada el "problema de las trampas").

Si hubiera algún esquema de prueba de trabajo que satisfaga estas cuatro propiedades y también tenga algún cálculo útil como efecto secundario, sería interesante. No estoy al tanto de ninguno.

No cumplió con el requisito más importante: el trabajo debe ser demostrablemente inseparable del bloque que asegura. De lo contrario, no puede asegurar el bloque.
Muy bien @DavidSchwartz, modificó mi respuesta.
Las propiedades 1 y 2 de @dokkat son la razón por la cual una prueba de trabajo de optimización de circuitos no sería de utilidad: se necesitaría exactamente el mismo esfuerzo para encontrar una respuesta que para verificarla. Lástima, porque sería una tarea realmente útil, que también podría satisfacer el n. ° 3 (no estoy seguro del n. ° 4). El plegamiento de proteínas tiene los mismos problemas, además no satisface el #4. El análisis de los datos de SETI satisface 1 y 2, podría satisfacer el n. ° 4 al vincularlo a una marca de tiempo, pero luego perdería la descentralización de la red (dependería del manejo preciso de los datos por parte de SETI). Etcétera...
Ahora que lo pienso, una prueba de trabajo que generó piezas aleatorias de música en formato MIDI para que el hash (cualquier hash, incluso MD5) del miniarchivo adjunto como stub al bloque satisfaga los requisitos de dificultad podría contar como "útil" a los ojos (¿o deberían ser "oídos"?) de las personas que encuentran tales piezas musicales aleatorias generadas por computadora como "obras de arte". Incluso podría requerir que la longitud aumente con la dificultad, o establecer que dichas piezas deben cumplir las reglas de, por ejemplo, el contrapunto barroco. La mayoría de las piezas serían basura, pero ocasionalmente surgiría la belleza :)

Bueno, conozco una altcoin que hace un trabajo útil: Primecoin .

Como Wikipedia lo describe:

Primecoin (signo: Ψ; código: XPM) es una criptomoneda de código abierto peer-to-peer que implementa un sistema de prueba de trabajo de computación científica. El sistema de prueba de trabajo de Primecoin busca cadenas de números primos.

Primecoin ya tiene bastantes cadenas principales de récord mundial en su nombre: algunas cadenas Cunningham y algunas cadenas Bi-twin .

Encontrar registros de la cadena Cunningham puede ser satisfactorio para quienes los encontraron, pero no es útil de ninguna manera. Las cadenas utilizadas en las aplicaciones no necesitan batir récords más de lo que los números primos necesitan batir récords.
Por cierto, ya hay un clon de Primecoin. Si falla, ¿desaparecerán las cadenas descubiertas en esa red? Espero que no. Del mismo modo, cuando un bloque se queda huérfano en Primecoin, todo el esfuerzo por descubrir su cadena se desperdicia: una moneda aún más útil (desde el punto de vista de aquellos a quienes les gusta encontrar cadenas de Cunningham, especialmente para establecer récords) tendría una forma de preservar de alguna manera esas cadenas en lugar de dejarlas desaparecer en el éter.
@MeniRosenfeld Si Primecoin (y sus clones) se vuelven mucho más valiosos con el tiempo, estoy seguro de que veremos toda una nueva generación de chips dedicados específicamente a la tarea de privar a la primacía de un número y/o intentar factorizarlo: lo que tendría profundas implicaciones para la criptografía en todas partes. En cierto modo, eso sería aún más útil que encontrar largas cadenas de Cunningham o números primos de Mersenne solo porque sí.

La minería de Bitcoin es un trabajo útil, asegura la cadena de bloques de Bitcoin. Si quiere pagarle a la gente para que haga otro tipo de trabajo, ciertamente puede hacerlo, pero eso no tiene nada que ver con la minería de Bitcoin. El trabajo que hacen los mineros de Bitcoin es precisamente el trabajo necesario para asegurar la cadena de bloques de Bitcoin.

No existe una forma conocida de hacer que algo sea a la vez el plegamiento de proteínas y también asegurar la cadena de bloques de Bitcoin, más de lo que puede hacer haciendo sus impuestos también el plegamiento de proteínas. Hashing no se eligió arbitrariamente, se eligió porque asegura la cadena de bloques de Bitcoin.

¿No es eso exactamente lo que hace Primecoin?
Realmente no. Encontrar cadenas bitwin o cadenas Cunningham no es realmente útil.
Cunningham chains are now considered useful in cryptographic systems since "they provide two concurrent suitable settings for the ElGamal cryptosystem ... [which] can be implemented in any field where the discrete logarithm problem is difficult."-Wikipedia _
@StevenRoose: las cadenas de Cunningham son útiles en el mismo sentido en que lo son los números primos. Pero encontrar registros de cadenas de Cunningham por el simple hecho de hacerlo es tan inútil como encontrar registros de números primos.

Además de PrimeCoin, también se propuso PermaCoin como una solución para el archivo del conocimiento público:

Extracto del resumen:

Proponemos una modificación a Bitcoin que reutiliza sus recursos mineros para lograr un objetivo más ampliamente útil: el almacenamiento distribuido de datos de archivo . Llamamos a nuestro nuevo esquema Permacoin. A diferencia de Bitcoin y sus alternativas propuestas, Permacoin requiere que los clientes inviertan no solo en recursos computacionales, sino también en almacenamiento. Nuestro esquema implica un rompecabezas de raspado alternativo para Bitcoin basado en pruebas de recuperación (POR) . Acuñar dinero con éxito con este SOP requiere acceso aleatorio local a una copia de un archivo. Dada la competencia entre los clientes de minería en Bitcoin, este SOP modificado da lugar a un almacenamiento de archivos altamente descentralizado, lo que reduce el desperdicio general de Bitcoin.

El documento completo se puede encontrar aquí: https://www.cs.umd.edu/~elaine/docs/permacoin.pdf