¿Qué tan diferente es el contrato inteligente del paquete de programas?

Estaba leyendo sobre el contrato inteligente y puedo crear el contrato inteligente, pero no sabía por qué se usa el contrato inteligente. Cuando busqué en Google sobre esto, entendí lo siguiente:

  • Nuevo lenguaje 'solidez' utilizado para crear el contrato inteligente.

  • Un contrato inteligente es seguro y no se puede actualizar después de la implementación.

  • Un contrato inteligente no es más que un conjunto de funciones que automatizan el proceso.

  • Después de implementarlo en la red blockchain, obtendrá la dirección de ese contrato. Al importar esta dirección, podemos acceder a sus métodos.

  • Un contrato inteligente no almacena los datos. Necesitamos crear la lógica en consecuencia para almacenar los datos en la base de datos.

Pero espere, podemos lograr los mismos puntos anteriores usando el conjunto de programas llamados 'paquetes'. ¿Por qué no usamos lo siguiente?

  • Cree un paquete que tenga todo el conjunto de funciones. (lo mismo que hemos escrito en el contrato inteligente usando solidez)

  • Podemos hacer este paquete como privado. (Solo algunas organizaciones tienen acceso a esto)

  • Podemos agregar la capa de seguridad adicional para que el usuario malicioso no tenga acceso a ese código.

por último, mi principal preocupación es ¿por qué se usa el contrato inteligente? a pesar de que podemos implementar la misma lógica usando el paquete (como se describe arriba)

Disculpe, ¿qué es "el conjunto de programas llamados 'paquetes'"?

Respuestas (2)

A través de la historia de la humanidad, la gente ha llegado con nuevas ideas y bautiza estas ideas con nombres. "Contrato inteligente" es el nombre de una idea. No es más que un fragmento de código (en este caso, se ejecuta en una red descentralizada). No hay nada particular (fundamentalmente hablando) en el "contrato inteligente", en comparación con cualquier otro scrypt.

Mucha gente dirá que los contratos inteligentes no son inteligentes, pero en el contexto de una red que solo tiene la capacidad de enviar transacciones básicas, tener una herramienta que pueda procesar datos de entrada y proporcionar una salida basada en algún tipo de lógica. podría considerarse una herramienta "inteligente".

Entonces, puede pensar en el "contrato inteligente" como una pieza de código.

Podemos agregar la capa de seguridad adicional para que el usuario malicioso no tenga acceso a ese código.

Pero en una red sin confianza, como Ethereum y bitcoin, desea que todos tengan acceso al código (para que no tenga que confiar en las buenas intenciones de las personas), aunque no desea que las personas lo moderen. Estos ya se logran en Ethereum.

Espero que esto ayude

La diferencia es que un desarrollador o propietario puede cambiar arbitrariamente el código o el estado (base de datos) de un sistema centralizado utilizando un software centralizado.

Utilice un contrato inteligente en el caso de que desee que los datos se eleven al nivel de un hecho indiscutible. Es decir, los nuevos datos ingresan al sistema solo a través de los canales definidos en el contrato inteligente. A la inversa, la mera existencia de datos/estado en un contrato inteligente puede servir como prueba de que el proceso prescrito por el contrato inteligente debe haber ocurrido.

Un ejemplo son las "fichas". En términos más generales, las criptomonedas. Estos son estados y procesos de bases de datos que no están sujetos a interferencia arbitraria por parte de actores autorizados, por diseño. Como prueba de concepto para blockchain y prueba de trabajo, diría que Bitcoin y Ethereum lo han hecho bastante bien.

Ethereum hace algo completamente nuevo que posiblemente encaje en una arquitectura general.

En caso de que ayude, una cadena de bloques puede establecer un conjunto de invariantes para una aplicación y las personas pueden ver que las violaciones de esos invariantes no serán posibles.

Espero eso ayude.