Solidity
Solidity es un lenguaje de programación de alto nivel orientado a objetos. Este lenguaje es principalmente usado en aplicaciones alojadas en la red de Ethereum.
Es decir, se trata del lenguaje por el cual se pueden construir aplicaciones basadas en tecnología blockchain.
Estas aplicaciones pueden ser desde proyectos tokenizados de casi cualquier índole, a los ya conocidos smart contracts o contratos inteligentes. Estos últimos son, en realidad, el mayor uso que se le da a Solidity.
Luego, podemos afirmar que este lenguaje está estrechamente relacionado con el ecosistema de las criptomonedas, en concreto con la que tradicionalmente ha tenido mayor capitalización mundial después de el propio Bitcoin: Ethereum.
Características de Solidity
Cabe destacar que al ser un lenguaje orientado a crear software, se trata de un lenguaje de alto nivel. En otras palabras, un lenguaje de alto nivel tiene como objetivos generar software entendible de forma intuitiva sin hacer referencias al hardware como, en cambio, sí hacen los lenguajes de bajo nivel.
Por otra parte, Solidity es un lenguaje orientado a objetos, lo que quiere decir que puede manejar en su estructura de código grandes referencias a datos, los cuales pueden ser cálculos, bases de datos u objetos predefinidos (archivos Word o PDF, por ejemplo), entre otros. Todo depende de la habilidad del programador para que estos objetos sean debidamente tenidos en cuenta en la aplicación.
Este aspecto es importante porque los contratos inteligentes podrán albergar archivos PDF, en los que se determinen ciertas condiciones entre las partes firmantes o en los que se tengan en cuenta otros aspectos relevantes.
Por ello, a menudo Solidity es comparado con JavaScript (JS), ya que se basa en su sencillez y se le podría considerar como el precursor de este.
Funcionamiento de los contratos inteligentes
El mecanismo por el cual un contrato inteligente funciona es simple y sencillo. En primer lugar, dos o más partes se ponen de acuerdo con un trato concreto. Este trato deberá plasmarse por escrito y firmarse por ambas partes.
En segundo lugar, los términos y condiciones pactados se elevan a la aplicación basada en la red blockchain. Ya no se podrá modificar ni una coma de lo establecido.
En tercer lugar, si se dan las condiciones pactadas, de forma automática se ejecutará el contrato inteligente sin necesidad de avisar o pedir permiso a alguna de las partes.
En resumen, se puede afirmar que el funcionamiento de los contratos inteligentes es independiente. Por lo que no necesita de ningún intermediario y también son automáticos, por lo que tampoco necesitan de supervisión alguna.
Ejemplo de aplicación en Solidity
Un caso en el que podría darse este tipo de contratos es en el sector inmobiliario o real estate.
Un ejemplo podría ser una vivienda que se alquila con opción a compra. La opción de compra solo se activaría si el inquilino (el que alquila) el último mes de alquiler abona la renta correspondiente, más una cantidad en concepto de reserva de la vivienda.
Si esta reserva no se ejecuta, el inquilino pierde la oportunidad de adquisición de la vivienda, al menos bajo contrato previo. Sin embargo, si ejecuta el contrato pagando la cantidad de reserva establecida, automáticamente el contrato inteligente lo reconoce como ‘posible comprador’.
Este caso se puede dar solo si:
- Propietario e inquilino han establecido las condiciones necesarias vía contrato inteligente.
- El inquilino abona la renta y la reserva antes de la fecha límite establecida en el contrato inteligente.
- La forma de pago es compatible con el contrato inteligente (el dinero efectivo no sería en principio una opción).
En definitiva, este tipo de aplicaciones dependen de la creatividad y la pericia de la persona que elabora este tipo de proyectos. Por tanto, depende de su habilidad a la hora de programar y calidad de trabajo.