Cadena de bloques

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Formación de una cadena de bloques. La cadena mayor (negra) consiste del serie de bloques más larga del bloque de génesis (verde) al bloque actual. Bloques huerfanos (púrpura) existen fuera de la cadena mayor

Una cadena de bloques, también conocida por las siglas BC (del inglés Blockchain)[1] [2] [3] [4] [5] es una base de datos distribuida, formada por cadenas de bloques diseñadas para evitar su modificación una vez que un dato ha sido publicado usando un sellado de tiempo confiable y enlazando a un bloque anterior.[6] Por esta razón es especialmente adecuada para almacenar de forma creciente datos ordenados en el tiempo y sin posibilidad de modificación ni revisión. Este enfoque tiene diferentes aspectos:

  • Almacenamiento de datos.- Es lograda mediante la replicación de la información de la cadena de bloques
  • Transmisión de datos.- Es lograda mediante peer-to-peer
  • Confirmación de datos.- Es lograda mediante un proceso de consenso entre los nodos participantes. El tipo de algoritmo más utilizado es el de prueba de trabajo en el que hay un proceso abierto competitivo y transparente de validación de las nuevas entradas llamada minería.

El concepto de cadena de bloque fue aplicado por primera vez en 2009 como parte de Bitcoin.

Los datos almacenados en la cadena de bloques normalmente suelen ser transacciones (Ej. financieras) por eso es frecuente llamar a los datos transacciones. Sin embargo no es necesario que lo sean. Realmente podríamos considerar que lo que se registran son cambios atómicos del estado del sistema. Por ejemplo una cadena de bloques puede ser usada para estampillar documentos y securizarlos frente a alteraciones.[7]

Aplicaciones[editar]

El concepto de cadena de bloques es usado en los siguientes campos:

  • En el campo de las criptomonedas la cadena de bloques se usa como notario público no modificable de todo el sistema de transacciones a fin de evitar el problema de que una moneda se pueda gastar dos veces. Por ejemplo es usada en Bitcoin, Ethereum, Dogecoin y Litecoin, aunque cada una con sus particularidades [8] .
  • En el campo de las bases de datos de registro de nombres la cadena de bloques es usada para tener un sistema de notario de registro de nombres de tal forma que un nombre solo pueda ser utilizado para identificar el objeto que lo tiene efectivamente registrado. Es una alternativa al sistema tradicional de DNS. Por ejemplo es usada en Namecoin.
  • Uso como notario distribuido en distintos tipos de transacciones haciéndolas más seguras, baratas y rastreables. Por ejemplo se usa para sistemas de pago, transacciones bancarias (dificultando el lavado de dinero), envío de remesas y préstamos.
  • Es utilizado como base de plataformas descentralizadas que permiten soportar la creación de acuerdos de contrato inteligente entre pares. El objetivo de estas plataformas es permitir a una red de pares administrar sus propios contratos inteligentes creados por los usuarios. Primero se escribe un contrato mediante un código y se sube a la cadena de bloques mediante una transacción. Una vez en la cadena de bloques el contrato tiene una dirección desde la cual se puede interaccionar con él. Ejemplos de este tipo de plataformas son Ethereum y Eris

Clasificación[editar]

Las cadenas de bloques se pueden clasificar basándose en el acceso a los dos datos almacenados en la misma[7] :

  • Cadena de bloques pública: Es aquella en la que no hay restricciones ni para leer los datos de la cadena de bloques (los cuales pueden haber sido cifrados) ni para enviar trasacciones para que sean incluidas en la cadena de bloques
  • Cadena de bloques privada: Es aquella en la que tanto los accesos a los datos de la cadena de bloque como el envío de transacciones para ser incluidas, están limitadas a una lista predefinida de entidades

Ambos tipos de cadenas deben ser considerados como casos extremos pudiendo haber casos intermedios.

Las cadenas de bloques se pueden clasificar basándose en los permisos para generar bloques en la misma[7] :

  • Cadena de bloques sin permisos: Es aquella en la que no hay restricciones para que las entidades puedan procesar transacciones y crear bloques. Este tipo de cadenas de bloques necesitan tokens nativos para proveer incentivos que los usuarios mantengan el sistema. Ejemplos de tokens nativos son los nuevos bitcoins que se obtienen al construir un bloque y las comisiones de las transacciones. La cantidad recompensada por crear nuevos bloques es una buena medida de la seguridad de una cadena de bloques sin permisos.
  • Cadena de bloques con permisos: Es aquella en la que el procesamiento de transacciones está desarrollado por una predefinida lista de sujetos con identidades conocidas. Por ello generalmente no necesitan tokens nativos. Los tokens nativos son necesarios para proveer incentivos para los procesadores de transacciones. Por ello es típico que usen como protocolo de consenso prueba de participación

Las cadenas de bloques públicas pueden ser sin permisos (ej. Bitcoin) o con permisos (ej. cadenas laterales federadas[9] . Las cadenas de bloques privadas tienen que ser con permisos [9] . Las cadenas de bloques con permisos no tienen que ser privadas ya que hay distintas formas de acceder a los datos de la cadena de bloques como por ejemplo[7] :

  • Leer las transacciones de la cadena de bloques, quizás con algunas restricciones (Ejemplo un usuario puede tener acceso sólo a las transacciones en las que está involucrado directamente)
  • Proponer nuevas transacciones para la inclusión en la cadena de bloques.
  • Crear nuevos bloques de transacciones y añadirlo a la cadena de bloques.

Mientras que la tercera forma de acceso en las cadenas de bloques con permisos está restringida para cierto conjunto limitado de entidades, no es obvio que el resto de accesos a la cadena de bloques debería estar restringido. Por ejemplo una cadena de bloques para entidades financieras sería una con permisos pero podría[7] :

  • Garantizar el acceso de lectura (quizá limitada) para transacciones y cabeceras de bloques para sus clientes con el objetivo de proveer una tecnológica, transparente y fiable forma de asegurar la seguridad de los depósitos de sus clientes.
  • Garantizar acceso de lectura completo a los reguladores para garantizar el necesario nivel de cumplimiento.
  • Proveer a todas las entidades con acceso a los datos de la cadena de bloques una descripción exhaustiva y rigurosa del protocolo, el cual debería contener explicaciones de todas las posibles interacciones con los datos de la cadena de bloques.

Cadena lateral[editar]

Una cadena lateral, en inglés sidechain, es una cadena de bloques que valida datos desde otra cadena de bloques a la que se llama principal. Su utilidad principal es poder aportar funcionalidades nuevas, las cuales pueden estar en periodo de pruebas, apoyándose en la confianza ofrecida por la cadena de bloques principal[10] [11] . Las cadenas laterales funcionan de forma similar a como hacían las monedas tradicionales con el patrón oro.[12]

Un ejemplo de cadena de bloques que usa cadenas laterales es Lisk[13] . Debido a la popularidad de Bitcoin y la enorme fuerza de su red para dar confianza mediante su algoritmo de consenso por prueba de trabajo, se quiere aprovechar como cadena de bloques principal y construir cadenas laterales vinculadas que se apoyen en ella. Una cadena lateral vinculada es una cadena lateral cuyos activos pueden ser importados desde y hacia la otra cadena. Este tipo de cadenas se puede conseguir de las siguiente formas[11] :

  • Vinculación federada, en inglés federated peg. Una cadena lateral federada es una cadena lateral en la que el consenso es alcanzado cuando cierto número de partes están de acuerdo (confíanza semicentralizada). Por tanto tenemos que tener confianza en ciertas entidades. Este es el tipo de cadena lateral Liquid, de código cerrado, propuesta por Blockstream[14] .
  • Vinculación SPV, en inglés SPV peg donde SPV viene de Simplified Payment Verification. Usa pruebas SPV. Esencialmente una prueba SPV está compuesta de una lista de cabeceras de bloque que demuestran prueba de trabajo y una prueba criptográfica de que una salida fue creada en uno de los bloques de la lista. Esto permite a los verificadores chequea que cierta cantidad de trabajo ha sido realizada para la existencia de la salida. Tal prueba puede ser invalidada por otra prueba demostrando la existencia de una cadena con más trabajo la cual no ha incluido el bloque que creó la salida. Por tanto no se requiere confianza en terceras partes. Es la forma ideal. Para conseguirla sobre Bitcoin el algoritmo tiene que ser modificado y es dificil alcanzar el consenso para tal modificación. Por ello se usa con bitcoin vinculación federada como medida temporal

Referencias[editar]

  • An Integrated Reward and Reputation Mechanism for MCS Preserving Users’ Privacy. Cristian Tanas, Sergi Delgado-Segura, Jordi Herrera-Joancomartí. 4 de febrero de 2016. Data Privacy Management, and Security Assurance. 2016. pp 83-99
  1. Economist Staff (2015-10-31). «Blockchains: The great chain of being sure about things». The Economist. Consultado el 18 June 2016. «[Subtitle] The technology behind bitcoin lets people who do not know or trust each other build a dependable ledger. This has implications far beyond the crypto currency.» 
  2. Morris, David Z. (2016-05-15). «Leaderless, Blockchain-Based Venture Capital Fund Raises $100 Million, And Counting». Fortune (magazine). Consultado el 2016-05-23. 
  3. Popper, Nathan (2016-05-21). «A Venture Fund With Plenty of Virtual Capital, but No Capitalist». New York Times. Consultado el 2016-05-23. 
  4. Brito, Jerry & Castillo, Andrea (2013). «Bitcoin: A Primer for Policymakers». Fairfax, VA: Mercatus Center, George Mason University. Consultado el 22 October 2013. 
  5. Trottier, Leo (2016-06-18). «original-bitcoin» (self-published code collection). github. Consultado el 2016-06-18. «This is a historical repository of Satoshi Nakamoto's original bit coin sourcecode». 
  6. «Blockchain». Investopedia. Consultado el 19 March 2016. «Based on the Bitcoin protocol, the blockchain database is shared by all nodes participating in a system.» 
  7. a b c d e Public versus Private Blockchains. Part 1Public versus Private Blockchains. Part 2. BitFury Group in collaboration with Jeff Garzik. Octubre 2015
  8. «Particularidades Desarrollo Blockchain». Consultado el 7 Marzo 2017. 
  9. a b Digital Assets on Public Blockchains. BitFury Group. Marzo 2016
  10. La revolución de la tecnología de las cadenas de bloques y su impacto en los sectores económicos. Ismael Santiago Moreno. Profesor Doctor de Finanzas. Universidad de Sevilla octubre 2016
  11. a b Enabling Blockchain Innovations with Pegged Sidechains. Adam Back et ali. 2014
  12. Cadenas laterales: el gran salto adelante. Majamalu el 11 abril, 2014 en Economía, Opinión
  13. Lisk libera la primera criptomoneda modular con cadenas laterales. Bitcoin PR Buzz. Mayo 2016
  14. Liquid Recap and FAQ. Johnny Dilley. Noviembre de 2015

Enlaces externos[editar]