El responsable de la firma Blockstream, Russell O’Connor presentó el proyecto Simplicity, un nuevo lenguaje de programación que podría sustituir a algunos de los ya existentes en el ecosistema blockchain, a partir de una revisión crítica de las capacidades actuales para la creación de un sistema que contempla soluciones a sus deficiencias.
Simplicity pretende ofrecer una solución a los problemas de lenguajes como Bitcoin Script o el EVM de Ethereum, y algunas de sus características como la creación y asignación de caracteres de sus direcciones y firmas, los valores predeterminados de sus utilidades, o la ejecución de los contratos inteligentes de las transacciones. Aunque aún es un proyecto de investigación y desarrollo de Blockstream, existe la posibilidad de su uso en productos de la empresa en el futuro, y tras este anunció vendrá la versión de desarrollo SD, tal y como se lee en una publicación web de Blockstream.
El estreno del proyecto lo hizo O’Connor este lunes 30 de octubre, durante su participación en el evento Lenguajes de Programació y Análisis para Seguridad (PLAS) 2017, presentando su trabajo “Simplicity: A New Language for Blockchains”.
El lenguaje incluirá Arboles Merkelizados de Sintaxis Abstracta (MASTs) -una adición al lenguaje de programación de Bitcoin- mostrando las partes que necesitan cambiarse, y permitiendo que las partes no utilizadas de un programa se eliminen. El objetivo de esta integración es aumentar la privacidad y disminuir los requisitos de espacio en los bloques, permitiendo a los desarrolladores un manejo más sencillo.
Simplicity es un lenguaje MAST de bajo nivel, escrito y funcional, donde los programas se crean a partir de los combinadores básicos. Al igual que Bitcoin Script, Simplicity está diseñado para operar en la capa de consenso. Si bien uno puede escribir Simplicity a mano, se espera que sea el objetivo de uno o varios lenguajes frontales en la web.
Simplicity Itself for Blockchains
Dr. Russell O’Connor introduces #Simplicity, a new programming language for smart contracts on the #blockchain. https://t.co/aiTZENJ1My
— Blockstream (@Blockstream) 30 de octubre de 2017
Para la evaluación de los programas desarrollados en Simplicity, O’Connor ideó una Bit Machine, una máquina abstracta (modelo teórico de un hardware o software) que permitirá calcular un límite en los costos de cálculo de la evaluación de un programa Simplicity, ayudando a los desarrolladores a valorar sus propias ideas.
Simplicity ofrece un lenguaje de programación funcional que utiliza combinadores y que permite el análisis estático de las funcionalidades del sistema, ya que no permite bucles ilimitados; y cuenta con una semántica formalizada ya definida, orientando sus características a solucionar las principales carencias de los lenguajes de programación blockchain actuales.