El Blockchain y Sus Aplicaciones

Publicado en

Hoy en día, una conversación sobre tendencias en comercio que no hable sobre bitcoin, sin duda quedaría incompleta. Ya en este reportaje hablamos sobre bitcoins y la expectativa que hay alrededor de esta criptomoneda, pero ahora quisiera platicar sobre la tecnología que sustenta al bitcoin, es decir el block chain.*

Conforme escribo este artículo, Nasdaq ha anunciado que comenzará a experimentar con usar el blockchain para registrar transacciones [1]. Pero las aplicaciones del blockchain no se reducen al ámbito financiero. Por ejemplo, la plataforma DemocracyOS está considerando aprovechar esta tecnología para registrar votación ciudadana. El artículo “Block chain 2.0: The renaissance of money” publicado por Wired en enero de este año lo plantea así [2]:

“Bitcoin, altcoin, dodgecoin … ¿a quién le importan? Lo único que importa es el block chain”.

Así que hay que asegurarnos de entender qué es, cómo funciona y cómo se podría aplicar en otros campos.

Fundamentos

El aspecto central sobre el que se basa el diseño del sistema bitcoin es que no hay una autoridad central. Ante esto, se requiere un mecanismo para determinar quién es dueño de qué monedas. Dicho mecanismo debe ser distribuido (repartido entre una red de nodos) y resistente a ataques que quieran alterar su integridad. Este es el rol que juega el blockchain. Es una bitácora donde se registran todas las transacciones de bitcoins que es compartida por todos los nodos que participan en la red bitcoin. En otras palabras, el blockchain es una bitácora transaccional distribuida, y en el caso del bitcoin viene a ser el equivalente a su libro mayor de contabilidad (ledger).

El blockchain es administrado por la red de nodos del sistema bitcoin. Dichos nodos están continuamente difundiendo transacciones del tipo: el emisor X envía Y bitcoins al receptor Z. Los nodos validan las transacciones, las agregan a su copia del libro de contabilidad, y difunden estas nuevas transacciones a otros nodos. Cada nodo de red tiene su propia copia del blockchain. Aproximadamente cada 10 minutos se crea un nuevo bloque que contiene un grupo de transacciones aceptadas, se agrega el bloque a la cadena, y se envía al resto de los nodos. El proceso de calcular los bloques para irlos agregando a la cadena es lo que se conoce como hacer minería. Es un proceso diseñado para ser computacionalmente intensivo, de tal manera que el número de bloques que se encuentra cada día se mantiene constante.

El algoritmo blockchain fue inventado específicamente para el sistema Bitcoin, pero se puede aplicar en cualquier otro caso donde se requiera establecer un consenso distribuido en presencia de actores maliciosos o no confiables.

Garantizando la integridad

Como su nombre lo indica, el blockchain es una cadena de bloques. La cadena va desde el bloque inicial (génesis) hasta el bloque más reciente. Es así que una copia completa del blockchain contiene todas las transacciones realizadas en un sistema a lo largo de su historia. A partir de esta información, es posible determinar el valor que corresponde a cada dirección del sistema en cualquier punto de la historia.

Para implementar este encadenamiento, cada nuevo bloque contiene un hash del bloque previo. Esto garantiza un orden cronológico, ya que un bloque nuevo requiere conocer el bloque anterior para poder determinar su hash. Una vez que un bloque es parte de la cadena, todos los bloques subsecuentes tienen rastro de ese bloque, por lo que si quisiéramos alterar un bloque, cambiaría su hash y por lo tanto habría que regenerar todos los bloques subsecuentes, lo cual lo hace impráctico computacionalmente y por lo tanto es un mecanismo de protección para evitar alteración de datos.

Podremos tener nuestras opiniones sobre el bitcoin y su viabilidad, pero es un hecho que la tecnología blockchain funciona y es efectiva para su propósito. Un blockchain se puede utilizar para firmar digitalmente cualquier tipo de información sensible, sin necesidad de una autoridad central. Esto por ejemplo se puede aplicar en la gestión de contratos, depósitos de garantía, autenticación, etcétera.

Monedas de colores

Imaginemos que a nuestros bitcoins les agregamos notas para indicar que en realidad representan cierto activo. Esto es lo que se conoce como monedas coloreadas (colored coins), y es un mecanismo que permite utilizar el blockchain para almacenar y gestionar la propiedad de activos que no son bitcoins. Por ejemplo, podríamos manejar el capital social de una empresa en el blockchain por medio de colorear monedas que representen acciones y repartirlas entre los accionistas. Las acciones entonces se podrían negociar inmediatamente y sin costos de transacción. También podemos representar bienes inmobiliarios como monedas coloreadas. Entonces, puedes poner tu casa en un bitcoin, y transferir la propiedad de tu casa por medio de una simple transacción en la red de bitcoin.

Colored coins [4] es un servicio para colorear monedas, es decir crear activos digitales sobre la red bitcoin. Así que si quieres te puedes poner romántico(a), poner tu corazón en un bitcoin y transferirselo a tu amado(a).

Contratos inteligentes y dinero programable

Uno de los campos de aplicación para el blockchain es el de contratos inteligentes. Esto consiste en crear programas que pueden manejar dinero automáticamente. Al crear un contrato se definen ciertas condiciones o criterios que se deben cumplir, y las acciones (transacciones) que se disparan cuando se cumplen los criterios. Cuando se realiza una transacción entre dos partes, el programa verifica que el producto/servicio se haya satisfecho, y solamente si el criterio se cumple entonces la cantidad de dinero se transmite a la cuenta del proveedor. De esta forma, se obtiene un servicio de depósito de garantía en tiempo real con un costo de operación cercano a cero.

Si te interesan los contratos inteligentes, te recomiendo que eches un vistazo al proyecto Codius [4]. Es una plataforma open source para hospedar programas inteligentes que administren contratos, criptomonedas u otros activos. Otro proyecto que busca establecer una plataforma para aplicaciones descentralizadas es Ethereum [5], el cual involucra una nueva criptomoneda, un lenguaje de programación y un nuevo navegador diseñado para este protocolo.

Gestión de propiedad intelectual

Otra aplicación interesante del blockchain es para compartir y gestionar el uso de propiedad intelectual.

Por ejemplo, ascribe [6] es un servicio que utiliza el blockchain de bitcoin para permitir a artistas, galerías y coleccionistas registrar, transferir y archivar arte digital. Los artistas registran sus obras en un registro de propiedad intelectual distribuido que es públicamente accesible. Las obras son almacenadas en la nube y acreditadas al artista. Cada versión de la obra recibe un identificador criptográfico único que es inseparable de la versión original.

El fundador de ascribe comentó recientemente en un artículo publicado en Forbes [7] que un acercamiento similar también sería muy útil para gestionar los derechos de otras obras artísticas, como la música o las películas, permitiendo rastrear su uso y por lo tanto compensar adecuadamente a los dueños de los derechos. Por ejemplo, si eres un artista puedes asignarle los derechos a tu obra a una disquera y monitorear por medio del blockchain las formas en las que la disquera explota tus obras (ventas, licencias, streaming, etcétera). Esto minimizaría la controversia y costos de transacción sobre el pago de regalías. Pero más allá de eso, facilitaría que los artistas pudieran compartir, gestionar y monitorear directamente el uso de sus obras.

Conclusión

Nos dirijimos a un mundo de aprendizaje automatizado (machine learning), en el que las computadoras pueden actuar sin necesidad de ser programadas explicitamente. Dicho mundo requiere de la capacidad de asignar recursos de forma rápida y eficiente, sistemas capaces de auto-organizarse y realizar las transacciones. El blockchain parece ser la clave para lograr esto.

Si te interesa ir a mayor profundidad técnica sobre cómo crear una cadena alternativa del blockchain, la wiki de Bitcoin [8] tiene buena información al respecto.

[Recuadro]

Nota sobre nomenclatura. La documentación original del bitcoin utiliza el término “block chain” (dos palabras) para referirse a este mecanismo, ya que a fin de cuentas es eso, una cadena de bloques. Sin embargo, conforme su popularidad y aplicaciones han aumentado, es común referirse a éste como un sustantivo y unir las dos palabras para crear un anglicismo (“el blockchain”). Es por ello que en la mayoría de este artículo he utilizado esta forma, una sola palabra integrada como anglicismo.

[fin de recuadro]

Referencias

  1. “Nasdaq bets on bitcoin’s Blockchain as the future of finance”. The Guardian. http://swgu.ru/p-

  2. “Block chain 2.0: The renaissance of money”. Wired. http://swgu.ru/p-

  3. Colored coins. http://coloredcoins.org

  4. Codius. https://codius.org

  5. Ethereum. http://ethereum.org

  6. ascribe. https://www.ascribe.io

  7. “The Bitcoin Blockchain Just Might Save The Music Industry...If Only We Could Understand It”. Forbes. http://swgu.ru/pz

  8. Alternative chain. https://en.bitcoin.it/wiki/Alternative_chain

Bio

Pedro Galván es director editorial de SG Software Guru.