Microsoft anunció recientemente el desarrollo de una herramienta de verificación de código abierto llamada VeriSol para los contratos inteligentes de Ethereum y el lenguaje de programación Solidity.
Anunciada en el blog oficial de Microsoft, la herramienta se llama VeriSol como una abreviatura de Verifier for Solidity.
Asociación con el grupo Azure
Hoy en día, Solidity es el lenguaje de programación más utilizado para el desarrollo de contratos inteligentes y dApps de Ethereum.
VeriSol permitirá a los desarrolladores escribir especificaciones para sus contratos inteligentes utilizando un lenguaje intermedio que se puede probar mediante mecanismos de lógica matemática.
Hoy en día, VeriSol sigue siendo un prototipo, pero el equipo pretende cubrir lo antes posible todos los usos posibles de las principales aplicaciones empresariales.
VeriSol es el producto final de la asociación entre el grupo de Azure Blockchain y el grupo de Investigación de Microsoft.
Verificación requerida para garantizar mayor seguridad
La seguridad ha sido durante mucho tiempo el principal problema de los contratos inteligentes de Ethereum, como lo demuestra el número de robos de criptomonedas y de pirateos. La verificación formal proporciona a los desarrolladores un protocolo efectivo para probar la seguridad de los componentes más críticos en su código.
El proceso generalmente requiere desarrolladores especializados y largos períodos de tiempo para ejecutarse, por lo que se recomienda que se reserve solo para las partes más importantes del producto.
Uno de los principales investigadores de Microsoft, Shuvendu Lahiri, dijo:
“El modesto tamaño del código y la semántica de ejecución secuencial de los contratos inteligentes los hacen susceptibles de verificación escalable, y el entorno operativo abierto reduce sustancialmente la necesidad de modelar manualmente el entorno en el que opera un contrato inteligente”.
VeriSol integrará el kit de desarrollo y el banco de trabajo para la cadena de bloques Azure de Microsoft, que ofrece modelos de desarrollo e integraciones con todos los servicios típicos de Azure.
Esta herramienta tiene como objetivo proporcionar a los desarrolladores una forma más directa de desarrollo y les dará la posibilidad de encontrar fácilmente cualquier error en el código.