Tiempo de lectura: 5 minutos
El proyecto blockchain de Tezos tuvo un comienzo espléndido al recaudar $232 millones con la Oferta Inicial de Monedas, obteniendo el segundo lugar en recibir los fondos más grandes entre las 20 ICO más grandes.
Entre las redes de cadenas de bloques más populares, como Ethereum o Bitcoin, ¿cómo pudo Tezos ganar toda la atención? Para encontrar la respuesta, echemos un vistazo más de cerca a los atributos distintivos de Tezos que han atraído a hordas de seguidores.
Si bien la cadena de bloques que surgió durante su época funcionó en el consenso de Prueba de trabajo (PoW), la cadena de bloques de Tezos fue innovadora en el uso Prueba de Estaca(PoS) basado en consenso con un mecanismo de autocorrección y gobernanza en cadena.
Como resultado, Tezos se convirtió en el centro de atención como la alternativa perfecta para crear aplicaciones DeFi ecológicas que requieren mucha menos energía y bajos costos. Entonces, ¿cómo se compara la infraestructura de Tezos con la flexibilidad para implementar actualizaciones mucho más fácilmente?
Eso nos lleva a aprender sobre la configuración arquitectónica, que agrega valor a los Tezos.
Contratos inteligentes en Tezos
Los contratos inteligentes son contratos ejecutables programados para procesar el intercambio de tokens entre dos partes sin que ninguna de las partes confíe en la otra.
Cuando se trata de Tezos, está escrito únicamente usando el lenguaje de programación de Michelson. Además, Tezos emplea la verificación formal para garantizar la corrección del código, lo que lo hace más seguro y confiable.
Enumerando los detalles de la cadena de bloques de Tezos
El Lo más destacado de los Tezos se dan aquí para una mejor comprensión de su configuración y singularidad.
Automodificable
Tezos, que valida los bloques que operan con el algoritmo de consenso, está integrado con un mecanismo automodificable. Cualquier enmienda al protocolo, como cambiar a un consenso diferente, modificar el sistema de recompensas, agregar transacciones, etc., se implementa en función del sistema de votación en cadena.
Cualquier cambio de menor a mayor en el protocolo económico de Tezos se activa mediante el procedimiento de votación en cadena. Este protocolo autoenmendable tiene la ventaja de evitar las bifurcaciones o divisiones en la comunidad.
Gobernanza en cadena
Tezos se opone a Bitcoin y Ethereum, que siguieron los sistemas de gobierno no formalizados que llevaron a las divisiones de blockchain (Bitcoin Cash y Ethereum classic).
El gobierno en cadena en Tezos facilita que los "Panaderos", también conocidos como Mineros, propongan y emitan votos sobre actualizaciones de protocolo. La metodología en cadena en Tezos está diseñada para implementar automáticamente las actualizaciones en el código del protocolo subyacente sin pasar por un director centralizado.
Consenso de prueba de participación: el PoS
El consenso PoS en Tezos permite que cualquiera participe. Para ser un panadero de Tezos que valide el bloque y permita la creación de consenso, el panadero debe poseer una cantidad mínima de tokens XTZ (nativos).
También adopta un método en el que si el usuario no tiene suficiente dinero para hornear, puede delegar tokens XTZ a un panadero con una gran cantidad de fondos Tez. A su vez, las recompensas obtenidas por el panadero se redistribuyen entre los delegadores.
Explotar los motivos encontrados en los contratos inteligentes de Tezos
Uno de los informes de auditoría reveló errores en la arquitectura de paso de mensajes de los contratos inteligentes de Tezos. Vamos a decodificarlos aquí ahora.
Arquitectura de paso de mensajes
En cambio, un contrato externo que se supone que debe llamarse durante la ejecución de la función se pone en cola en una lista de llamadas que se ejecutarán en el contrato de Tezos.
El orden que se encuentra en el contrato de Tezos es,
- Ejecutar a() # Llamadas siguientes: [b, d]
- Ejecutar b() # Siguientes llamadas: [d, c]
- Ejecutar d() # Siguientes llamadas: [c]
- Ejecutar c() # Próximas llamadas: []
Donde puede ver que el código d() se ejecuta antes que el código c().
Este tipo de ejecución tiene la posibilidad de dos tipos de vulnerabilidades,
Omisión de autorización de devolución de llamada
La arquitectura de Tezos está diseñada para evitar que el contrato lea el valor de retorno de una llamada externa mediante la función de devolución de llamada. Pero aquí, dado que no hay restricciones, el uso de la devolución de llamada puede generar problemas de control de acceso.
Inyección de llamada
Ofrece posibilidades para que el atacante comprometa el contrato al inyectar llamadas entre una función y una llamada externa generada.
Al ejecutar las funciones, las llamadas generadas se ponen en cola en la lista de llamadas a ejecutar. Un atacante puede obtener una ventaja colocando su llamada en la cola y ejecutando el código entre el final de la función ejecutada y las llamadas generadas.
Cuando se ejecuta la llamada del atacante, el saldo del contrato o la memoria del contrato pasa a un estado no válido y el atacante logra con éxito la inyección de la llamada.
Precauciones que se deben observar al codificar el contrato inteligente de Tezos usando Michelson
El lenguaje de programación de Michelson es una opción de acceso para escribir contratos seguros resistentes a fugas de datos y robos de fondos. Aunque el lenguaje de programación es tan fuerte, hay una lista de errores que pueden aparecer en el contrato.
Comprendamos los errores comunes y las formas de descartar los errores.
Reembolso a una lista de contratos
Esta es una condición en la que los fondos de un grupo de personas se reembolsan a la vez. Ocurre al aceptar contratos arbitrarios donde un usuario malicioso inicia tal problema.
Los posibles problemas de este error son que un contrato se traga todo el gas a través de una serie de devoluciones de llamada, se llama a la instrucción 'FAIL' que detiene todos los cálculos, errores de reingreso, etc.
¿Cual es la solución?
Las cuentas predeterminadas no ejecutan el código; por lo tanto, el problema anterior se puede solucionar creando una cuenta predeterminada a partir de las claves de las personas. Además, se puede programar para que los usuarios retiren sus fondos individualmente.
No establecer el estado antes de la transferencia
La reentrada es un obstáculo común en la cadena de bloques. Cuando el contrato llama a otro contrato externo para realizar transferencias, el arbitrario gana ventaja al realizar más transferencias si el estado no se actualiza después de cada transferencia.
Provoca múltiples retiros de fondos del contrato.
¿Cual es la solución?
Tenga cuidado al realizar llamadas a contratos externos y asegúrese de que su comportamiento no se pueda modificar. Para prohibir el reingreso, marque en el almacenamiento para que los usuarios no puedan volver a ingresar a menos que tengan una buena razón.
Almacenamiento o transferencia de datos privados
Los datos que se publican se pueden consultar de forma explícita. Eso significa que la información privada se vuelve visible para todos cuando se transmite la transacción. Esto le da la oportunidad al nodo malicioso en el sistema de manipular la transacción no firmada retrasándola o modificándola.
¿Cual es la solución?
Firmar las transacciones que contengan información sensible. El uso de contadores para hacer cumplir las órdenes de transacción puede resolver el problema.
Garantice la protección profesional de los proyectos a través de las auditorías de contratos inteligentes de Tezos
Los Tezos construidos con una estructura automodificable ofrecen una mejor escalabilidad y confiabilidad, pero aunque la seguridad siempre es un tema de duda para las aplicaciones basadas en blockchain. El más pequeño de los problemas puede causar la mayor pérdida de fondos.
Y ahí es donde QuillAuditorias da un paso adelante para proteger los activos de las garras de los malos actores. No les damos ninguna posibilidad de explotar el contrato, ya que reconocemos y solucionamos esos problemas mediante la realización de Auditorías de contratos inteligentes de Tezos.
Tenga una consulta gratuita con nuestros expertos para conocer nuestros servicios de auditoría.
2 Vistas
- Bitcoin
- blockchain
- Blockchain y seguridad de contratos inteligentes
- cumplimiento de blockchain
- conferencia de la cadena de bloque
- coinbase
- Coingenius
- Consenso
- conferencia criptográfica
- minería criptográfica
- criptomoneda
- Descentralizado
- DeFi
- Acciones digitales
- Etereum
- máquina de aprendizaje
- token no fungible
- Platón
- platón ai
- Inteligencia de datos de Platón
- platoblockchain
- PlatónDatos
- juego de platos
- Polígono
- prueba de participación
- hachís
- Auditoría inteligente de contratos
- Smart Contract Security
- W3
- zephyrnet