¿Privacidad del contrato inteligente? ¿Cómo se puede implementar un contrato inteligente "privado" en Ethereum? [duplicar]

Según mi lectura actual, entiendo el contrato inteligente como un código visible y ejecutable en toda la cadena de bloques. El autor puede publicar el código del contrato inteligente y todos pueden verificar el código con el código de operación en la dirección del contrato.

Pero, ¿qué pasa si alguien quiere tener privacidad sobre su contrato inteligente? ¿Cómo si quieren ocultar su implementación detallada (para evitar ataques de piratas informáticos, etc.) mientras quieren que todos accedan y usen su contrato al mismo tiempo?

¿Cómo lograr un contrato inteligente privado entonces?

Respuestas (2)

Los piratas informáticos no pueden manipular su código. Solo pueden ejecutarlo como todas las demás personas. Los contratos inteligentes son resistentes a los piratas informáticos. Si deja un agujero en su sistema para que cualquiera pueda ingresar y ejecutar el código que ven a través de ese agujero. The_Dao no era exactamente un hack, era un exploit, el código estaba escrito de forma incorrecta.

Cualquiera puede ver su código compilado en la cadena de bloques, pero para comprender cómo funciona, generalmente necesitan un código legible por humanos. Si no publica la "versión humana", solo verán el código compilado. Por el momento, no existe ninguna herramienta que permita obtener el código humano a partir del compilado.

Si codificas es MUY fácil (?!?) Entonces tal vez uno pueda entender algo de la versión compilada. Nunca podría reconocer un código escrito por mí si me muestran la versión compilada.

revisa este

https://etherscan.io/address/0x2f593f1809876bf76d0992e0527a19d56b44754c

hay una TAB: código de contrato

haga clic y vea el enlace VERIFICAR Y PUBLICAR, si conoce el código "humano" original, puede publicarlo, el sistema lo compilará y lo comparará con el código compilado existente en línea, si coinciden, se acepta y se muestra, y la gente puede auditar el compilado leyendo la versión humana.

Así es como funciona. Si uso un dapp, puedo encontrar fácilmente en js la dirección del contrato. No se puede ocultar un contrato. Podría llenar el contrato con mucho código basura, por lo que la versión compilada será más compleja, si quiere sentirse más cómodo. Pero hasta ahora nunca he conocido a nadie que se sienta cómodo leyendo el código compilado.

Puede hacer una prueba, escribir un código y ofrecer una recompensa para ver si alguien puede leerlo.

¡Gracias Max! ¿Conoce algún contrato inteligente que se use con bastante frecuencia pero el autor no publicó el código legible original? Mi preocupación es que, para convencer a las personas de que mi código es seguro y confiable, necesito publicar un código legible. Pero al hacer eso, me abro para que los piratas informáticos aprovechen los errores que cometí en el contrato inteligente. No estoy seguro si mi entendimiento es correcto. Esperando poder escuchar de ti :)
Todas las personas usan paypal y no conocen el código. Pero esta es una comunidad diferente. Simplemente debe escribir el código correcto sin errores ni fallas.

Existen múltiples proyectos y técnicas para hacer que las transacciones sean lo más "privadas" posibles. Por nombrar algunos: Hawk Project, zk-SNARKS, Coinjoin y Ring Signatures. Estos son diferentes en su enfoque y el problema que resuelven.

Hay una excelente publicación de blog de Vitalkik Buterin sobre la privacidad de blockchain y contratos inteligentes, donde se explican con más detalle: https://blog.ethereum.org/2016/01/15/privacy-on-the-blockchain/