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.
4.5