SECCCIONES
Blockchain
¿Qué es Blockchain?
Bitcoin
¿Qué es Bitcoin?
Pirate Chain
¿Qué es Pirate Chain?
Blockchain - El pilar de las monedas digitales
¿Qué es Blockchain?
Blockchain es literalmente una cadena de bloques, pero no en el sentido tradicional de esas palabras. Cuando decimos las palabras "bloque" y "cadena" en este contexto, estamos de hecho hablando acerca de información digital (el "bloque") almacenado en una base de datos pública (la "cadena").
Los "bloques" en el blockchain están hechos por piezas digitales de información. Específicamente, están compuestos de tres partes:
- Los bloques almacenan información acerca de transacciones como la fecha, hora, y la cantidad en dólares de tus compras más recientes, transferencia de fondos a otra persona, etc.
- Los bloques almacenan información acerca de los participantes en una transacción. En el caso de una compra, un bloque guardaría tu nombre junto con el destinatario. En lugar de usar tu propio nombre, tu compra es almacenada sin información de identificación utilizando una "firma digital", parecido a un nombre de usuario.
- Los bloques almacenan información que los distingue de otros bloques. Muy parecido a como tú y yo tenemos nombres para distinguirnos de los demás, cada bloque almacena un código único llamado "hash" que nos permite diferenciarlos de cualquier otro bloque. Digamos que envías $100 a un amigo, y una hora más tarde, le envías otros $100. Aunque los detalles de tu nueva transacción parecerían casi idénticos a tu compra anterior, aún podemos distinguir los bloques gracias a sus códigos únicos.
Mientras que el bloque en el ejemplo anterior esta siendo usado para almacenar solo una transacción, la realidad es un poco diferente. Un solo bloque puede de hecho almacenar hasta 1 MB de datos. Dependiendo del tamaño de las transacciones, eso significa que un solo bloque puede albergar unos cuantos miles de transacciones bajo el mismo techo.
¿Cómo funciona el Blockchain?
Cuando un bloque almacena nuevos datos éstos se añaden a la blockchain. La blockchain, como su nombre lo sugiere, consiste en múltiples bloques encadenados. Deben suceder cuatro cosas para que un bloque sea añadido a la cadena de bloques.
- Debe tener lugar una transacción. Continuemos con el ejemplo de enviar dinero a un amigo. Después de enviar algo de dinero, decides enviar más
- La transacción debe ser verificada. Después de hacer esa compra, tu transacción debe ser verificada. Como en otros registros públicos de información, como la Securities Exchange Commission, Wikipedia, o tu biblioteca local, hay alguien a cargo de examinar el ingreso de nuevos datos. Con la blockchain, sin embargo, ese trabajo es delegado a una red de computadores. Estas redes a menudo consisten de miles (o en el caso de Biction, varios millones) de computadores repartidas a lo largo del globo. Cuando envías tu transacción, la red de computadores se apura en comprobar que tu transacción ocurrió en la manera que tu lo dices. Es decir, confirman los detalles de la transacción, incluyendo la hora de la transacción, la cantidad de dinero, y los participantes.
- La transacción debe ser almacenada en un bloque. Después que tu transacción ha sido verificada como precisa, obtiene la luz verde. El monto de la transacción, tu firma digital, y la firma digital de tu amigo se almacenan en un bloque. Allí la transacción probablemente se una a otras cientos o miles como ella.
- A ese bloque se le debe asignar un hash. No muy distinto a un ángel guardando sus alas, una vez que todas las transacciones del bloque han sido verificadas, éste debe recibir un código único identificativo denominado hash. El bloque también recibe el hash del bloque más reciente agregado a la blockchain. Una vez obtenido el hash, el bloque puede ser agregado a la blockchain.
Cuando ese nuevo bloque es agregado a la blockchain, se convierte en público y disponible para cualquiera que lo quiera ver — incluso tú. Si hechas un vistazo a la blockchain de Bitcoin, verás que tienes acceso a los datos de la transacción, junto con información acerca de cuándo ("Time"), dónde ("Height") y por quién ("RelayedBy") fue agregado el bloque a la blockchain.
¿Es la blockchain segura?
La tecnología blockchain toma en cuenta los problemas de seguridad y confianza de varias formas. Primero, los bloques nuevos son siempre almacenados de forma lineal y cronológica. Así pues, siempre se agregan al "final" de la blockchain. Si miras a la blockchain de Bitcoin, verás que cada bloque tiene una posición en la cadena, llamado "altura" ("ḧeight"). Al 31 de Agosto de 2019, la altura de los bloques ha llegado a 592.517.
Después de que un bloque ha sido agregado al final de la blockchain, es muy difícil retroceder y alterar el contenido del bloque. Esto es así porque cada bloque contiene su propio hash, junto con el hash del bloque que lo precede. Los códigos hash son creados por una función matemática que convierte información digital en una serie de números y letras. Si esa información se editara de cualquier forma, el código hash también lo haría.
Aquí esta el por qué eso es importante para la seguridad. Digamos que un hacker intenta editar tu transacción con tu amigo de manera que tu tengas que pagar más. Tan pronto como editan la cantidad de tu transacción, el hash del bloque cambiará. El siguiente bloque en la cadena todavía contendría el hash antiguo, y el hacker necesitaría actualizar ese bloque de manera de cubrir sus huellas. Sin embargo, hacer eso cambiaría el hash del bloque. Y el siguiente, y así sucesivamente.
Para cambiar un solo bloque, entonces, un hacker necesitaría cambiar cada bloque posterior a ese en la blockchain. Recalcular todos esos hashes tomaría una enorme e improbable cantidad de poder computacional. En otras palabras, una vez que el bloque es agregado a la blockchain se vuelve muy difícil editar e imposible de borrar.
Para abordar el asunto de la confianza, la redes blockchain han implementado pruebas para loas computadoras que se quieren unir y agregar bloques a la cadena. Las pruebas, llamadas "modelos de consenso", requieren que los usuarios se "pongan a prueba" antes de poder participar en una red blockchain. Uno de los ejemplos más comunes usados por Bitcoin es la llamada "prueba de trabajo".
En el sistema de prueba de trabajo, las computadoras deben "probar" que ellas han "trabajado" resolviendo un problema matemático computacional complejo. Si un computador resuelve uno de estos problemas, se convierte en elegible para agregar un bloque a la blockchain. Pero el proceso de agregar bloques a la blockchain, lo que en el mundo de las criptomonedas se llama "minería", no es fácil. De hecho, de acuerdo al sitio de noticias blockchain BlockExplorer, las probabilidades de resolver uno de estos problemas en la red Bitcion es cerca de 1 en 5.8 trillones en Febrero de 2019. Para resolver problemas matemáticos complejos a estas probabilidades, las computadoras deben ejecutar programas que les cuestan cantidades significativas de energía (léase; dinero).
La prueba de trabajo no hace imposibles los ataques de hackers, pero los hace de cierta forma inútiles. Si un hacker quisiera coordinar una ataque en el blockchain, necesitarían resolver problemas matemáticos computacionales complejos con probabilidades de 1 en 5.8 trillones tal como cualquier otra persona. El coste de organizar tal ataque casi por seguro superaría los beneficios.
Blockchain vs. Bitcoin
El objetivo de la blockchain es permitir que cierta información digital pueda ser registrada y distribuida, pero no editada. Ese concepto puede ser difícil de entender sin ver la tecnología en acción, así pues, echemos una mirada a como funciona actualmente la primera aplicación de la tecnología blockchain.
La tecnología blockchain fue esbozada por primera vez en 1991 por Stuart Haber y W. Scott Stornetta, dos investigadores que querían implementar un sistema donde las marcas de tiempo de los documentos no pudieran ser alteradas. Pero no fue hasta casi dos décadas después, con el lanzamiento de Bitcoin en Enero de 2009, que la blockchain tuvo su primera aplicación en el mundo real.
El protocolo Bitcoin esta basado en la blockchain. En una publicación de investigación que introduce la moneda digital, Satoshi Nakamoto, el pseudónimo del creador de Bitcoin, se refirió al mismo como "un nuevo sistema de efectivo electrónico que es completamente punto a punto, sin terceros de confianza".
Así es como funciona:
Tienes a toda esta gente, alrededor de todo el mundo, que posee Bitcoin. De acuerdo a un estudio de 2017 realizado por Cambridge Centre for Alternative Finance, el número puede llegar a unos 5.9 millones. Digamos que uno de esos 5.9 millones de personas quiere gastar sus Bitcoin en comestibles. Aquí es donde entra la blockchain.
Cuando se trata de dinero impreso, el uso de monedas impresas se regulada y verifica por una autoridad central, usualmente un banco o gobierno — pero Bitcoin no es controlado por nadie. En su lugar, las transacciones en Bitcoin son verificadas por una red de computadoras.
Cuando una persona paga a otra por bienes usando Bitcoin, las computadoras de la red de Bitcoin compiten por verificar la transacción. Para hacer eso, los usuarios ejecutan un programa en sus computadoras e intentan resolver un complejo problema matemático y encontrar el llamado "hash". Cuando una computadora resuelve el problema de"hashing" de un bloque, el trabajo algorítmico también verificará las transacciones del bloque. La transacción completada se registra públicamente y se almacena como un bloque en la blockchain, momento en el cual se vuelve inalterable. En el caso Bitcoin y de muchas otras blockchains, las computadoras que han verificado con éxito los bloques son recompensadas por su labor con la criptomoneda. (Para una explicación más detallada de la verificación, mira: ¿Qué es la minería Bitcoin?)
A pesar de que las transacciones son registradas publicamente en el blockchain, no lo son los datos del usuario — o, al menos no completamente. Para realizar transacciones en la red Bitcoin, los participantes deben ejecutar un programa llamado "billetera" ("Wallet"). Cada billetera consiste en dos únicas y distintivas llaves criptográficas: una llave pública y una llave privada. La llave pública es el lugar donde las transacciones son depositadas y retiradas. Estas es también la llave que aparece en el libro blockchain como la firma digital del usuario.
Incluso si un usuario recibe un pago en Bitcoins a su llave pública, los fondos no podrán ser retirados con su contraparte privada, La llave pública de un usuario es una versión corta de su llave privada, creada a través de complicados algoritmos matemáticos. Sin embargo, debido a la complejidad de esta ecuación, es casi imposible revertir el proceso y generar una llave privada desde una llave pública. Por esta razón, la blockchain se considera confidencial.
Public & Private Keys
He aquí la versión "Explícamelo como si tuviera 5 años": Puedes pensar en una llave pública como un casillero en el colegio, y la llave privada como la combinación del seguro del casillero. Profesores, estudiantes e incluso tu amor platónico puede insertar cartas y notas por la abertura en tu casillero. Sin embargo, la única persona que puede acceder al contenido del casillero es la que tiene la clave única. Debería ser considerado, no obstante, que mientras la combinación del casillero se guarda en la oficina del director de la escuela, en el caso de la blockchain no hay una base de datos central que mantenga almacenada las llaves privadas de la blockchain. Si un usuario extravía su llave privada, pierde acceso a su billetera Bitcoin.
En la red Bitcoin, la blockchain no se comparte y mantiene solamente por una red pública de usuarios, sino que también es consensuada. Cuando los usuarios se unen a la red, sus computadores conectados reciben una copia de la blockchain, que se actualiza cada vez que se agrega una transacción. Pero, ¿Qué pasa si, a través de error humano o por los esfuerzos de un hacker, la copia de la blockchain de un usuario es manipulada para ser diferente a todas las demás copias de la blockchain?
El protocolo de la blockchain desincentiva la existencia de múltiples blockchains a través de un proceso llamado "consenso". Ante la presencia de múltiples copias distintas de la blockchain, el protocolo de consenso adoptará la cadena más larga disponible. Más usuarios en una blockchain significa que los bloques se pueden agregar al final de la cadena más facilmente. Bajo la misma lógica, la blockchain que se registrará sera siempre en la que más usuarios confían. El protocolo de consenso es una de las mayores fortalezas de la tecnología blockchain pero también permite una de sus más grandes debilidades.
Teóricamente, es posible que un hacker se aproveche de la regla de la mayoría, lo que se refiere como ataque de 51%. Así es como ocurriría. Digamos que hay 5 millones de computadoras en la red blockchain, de seguro un eufemismo bruto, pero un número lo suficientemente fácil de dividir. Para lograr una mayoría en la red, un hacker necesitaría controlar por lo menos 2.5 millones más uno de todas las computadoras. Al hacer eso, un atacante o grupo de atacantes podría interferir con el proceso de registro de nuevas transacciones. Podrían enviar transacciones para luego revertirlas. Esta vulnerabilidad, conocida como "doble gasto" ("double-spending"), es un equivalente digital a una falsificación perfecta y permitiría a los usuarios gastar sus Bitcoins dos veces.
Tal ataque es extremadamente difícil de ejecutar en una red de la escala de la blockchain Bitcoin ya que requeriría que un atacante obtuviera el control de millones de computadoras. Cuando Bitcoin fue fundado en 2009 y sus usuarios eran solo unas decenas, hubiera sido más fácil para un atacante controlar la mayoría del poder computacional de la red. Esta característica definitoria de la blockchain ha sido marcada como una debilidad en las criptomonedas pequeñas. El temor de los usuarios a los ataques de 51% puede en realidad limitar que se formen monopolios en la blockchain, de aquí la naturaliza descentralizada del Bitcoin.