¿Cuál es la clave en Defi?
¿Qué es un contrato inteligente?
Los contratos inteligentes fueron propuestos por el criptógrafo Nick Saab en los años 90. Debido a la falta de un entorno de ejecución confiable en ese momento, los contratos inteligentes no se aplicaron ni desarrollaron hasta la aparición de Ethereum.
Entonces, ¿qué es un contrato inteligente? En pocas palabras, un contrato inteligente es un contrato que utiliza lenguaje informático en lugar de lenguaje legal para registrar términos y es ejecutado automáticamente por un programa. En otras palabras, los contratos inteligentes son versiones digitales de contratos tradicionales que se ejecutan en una red blockchain y los programas los ejecutan automáticamente.
Las máquinas expendedoras y cajeros automáticos pueden entenderse hasta cierto punto como máquinas que ejecutan contratos inteligentes, pero no son contratos inteligentes reales.
Consideraciones de seguridad para contratos inteligentes durante la fase de diseño
Considerar el modelado de amenazas y el diseño de seguridad
Qué: implementar escenarios específicos para identificar amenazas potenciales al sistema y Es muy importante priorizar el ciclo de vida del desarrollo desde el principio: los desarrolladores de contratos inteligentes deben identificar todos los controles de seguridad que se implementarán durante el desarrollo y todas las pruebas, auditorías y monitoreo de amenazas que se deben verificar durante el desarrollo. Todos los supuestos de seguridad, incluida la complejidad esperada y los vectores de ataque, deben definirse y articularse claramente durante la fase de diseño.
Cómo: seguir prácticas conocidas de modelado de amenazas. Si el equipo de desarrollo no tiene experiencia en seguridad interna, debería trabajar con un consultor de seguridad al principio de la fase de diseño. Al diseñar su sistema, adopte una mentalidad de "atacante" y asuma que cualquier persona, pieza de hardware o servicio puede verse comprometido.
¿Cuáles son las características de los contratos inteligentes?
En comparación con los contratos tradicionales, los contratos inteligentes tienen tres características:
1. El contenido del contrato es abierto y transparente.
Los contratos inteligentes se implementan en la cadena de bloques y el contenido de sus contratos es naturalmente abierto y transparente.
2. El contenido del contrato no puede ser alterado.
De manera similar, debido a que se implementa en la cadena de bloques, el contenido del contrato inteligente no se puede modificar.
3. Operación permanente
Los nodos de red en la cadena de bloques también mantienen los contratos inteligentes que se ejecutan en la cadena de bloques. Los contratos inteligentes pueden ejecutarse para siempre mientras exista la cadena de bloques. Hay una especie de hermandad tipo "cadena en el pacto".
En comparación con los contratos tradicionales, los contratos inteligentes con las tres características principales de blockchain tienen las siguientes ventajas.
Un contrato inteligente es un contrato que utiliza lenguaje informático en lugar de lenguaje legal para registrar términos y es ejecutado automáticamente por un programa. Se implementa en bloques y también tiene las características de que los datos de blockchain sean abiertos, transparentes, inalterables y en funcionamiento permanente.
En comparación con los contratos tradicionales, los contratos inteligentes tienen las ventajas de no ser confiables, ser seguros, eficientes y no requerir arbitraje de terceros. Pero los contratos inteligentes no son perfectos, no son inteligentes o tienen muy poca inteligencia.
El artículo menciona que la ejecución de contratos inteligentes no requiere una decisión de un tercero. Al mismo tiempo, se mencionó que cuando las condiciones de ejecución involucran información externa, el contrato inteligente no puede detectarla y es necesario ingresar información relevante para activar la decisión de ejecución del contrato inteligente.