¿Qué es Blockchain y cómo funciona?

Si está interesado en la tecnología, es muy probable que haya escuchado los términos Bitcoin, Crypto, Ethereum o incluso "libros de contabilidad distribuidos y descentralizados".

Probablemente hayas escuchado a la gente hablar sobre las criptomonedas y los algoritmos de cifrado, sobre el fin de los "intermediarios", etc.

Es fácil suponer que las criptomonedas (por ejemplo, Bitcoin, Ripple, Ethereum, Litecoin, etc.) son las mismas que blockchain. Ellos no están.

Las criptomonedas son una aplicación inteligente de una tecnología mucho más inteligente: Blockchain.

En esta publicación, cubriré algunos de los conceptos básicos de la cadena de bloques para que comprendas qué es, cómo se debe conceptualizar y qué se puede construir sobre ella.

Pero como ocurre con todas las cosas, tienen más sentido si comprendes por qué se inventaron, antes de entrar en lo que hacen. Ese contexto lo ayudará a comprender qué problema se diseñó para resolver la cadena de bloques.

¿Por qué usar blockchain?

Gran pregunta. Me alegro de que lo hayas preguntado. Sentémonos y hagamos un pequeño experimento mental.

¿Qué sucede si tú y tu mejor amigo conducen de forma independiente y separada la misma campaña de petición? Digamos que es por la causa de "Liberar a los hámsteres".

Digamos que lo lleva a cabo en una secuencia idéntica en el mismo suburbio, pero presenta diferentes conjuntos de firmas en la petición. ¿Qué versión de la petición firmada es la "fuente de la verdad"?

Debería rastrear sus senderos separados, una firma a la vez, para localizar la última discrepancia. Y luego tendrías que trabajar más atrás para identificar el primer resultado que divergió entre tus hojas de firmas. Antes de esa divergencia de raíz, todas las demás firmas de las dos listas deben coincidir.

Entonces sabes eso antes de esa divergencia. Ambas listas están de acuerdo, por lo que esas firmas representan el número mínimo de personas que firmaron para apoyar la liberación de los hámsteres.

Si bien eso puede funcionar bien para hámsters y pequeños estudios suburbanos, no funciona tan bien en el mundo digital. O votaciones, transacciones bancarias, financieras, transferencia de títulos de propiedad, cumplimiento de obligaciones contractuales, etc. Necesita "terceros de confianza" independientes para verificar una cadena de eventos y asegurarle solemnemente que la "cadena de custodia" no se ha roto.

Una "cadena de custodia" a veces también puede denominarse "procedencia"; ambos significan lo mismo: la secuencia de eventos históricos relacionados con los datos en cuestión.

Es por eso que los gobiernos tienen la última palabra sobre su identidad, y los votos deben ser contados físicamente y contados por cientos de voluntarios, y los empleados en oficinas sucias mantienen libros de contabilidad y certificados para confirmar si usted es dueño o no de su granja / vallado blanco. bungalow.  

Es por eso que necesita intermediarios financieros para asegurarse de que cuando compre su artículo de colección, el muñeco Darth Vader, con una tarjeta de crédito, el dinero (valor) se "elimine" de su cuenta y se "ingrese" en la cuenta del vendedor.

Esto se denomina técnicamente el "problema del doble gasto": ¿cómo se asegura de no gastar el mismo dinero dos veces? Sin alguien que haga esto, podría gastar dinero y al mismo tiempo seguir reteniendo ese dinero.

Por lo tanto, es un gran problema en realidad: la vida moderna requiere que dependamos, confiemos y paguemos por intermediarios externos "confiables" para garantizar que el valor (dinero) realmente "cambie de manos" digitalmente. Es por eso que existen Visa y MasterCard, y por qué PayPal y otros se vinculan con sus cuentas bancarias.

En el corazón de la cadena de bloques, ¿por qué está este problema? ¿Cómo saber que una secuencia de eventos no ha sido manipulada para alterar el estado actual?

Aquí es donde encaja la cadena de bloques. ¿Claro, hasta ahora?

Cómo funciona Blockchain

En aras de comunicar un concepto con simplicidad, puedo tomarme libertades con algunos de los aspectos técnicos subyacentes de esta tecnología. Mi objetivo es que entiendas qué es y tengas un modelo mental de cómo funciona. Para eso, es posible que deba ser un poco relajado con la precisión para mejorar las probabilidades de comprensión, especialmente para los hablantes de inglés no nativos.

Es esencial recordar que la cadena de bloques es una tecnología: código de software matemáticamente complejo para ser específico. Y Bitcoin (o Ethereum o cualquiera de las otras criptomonedas que se ofrecen) son solo aplicaciones de esa tecnología.

Entonces los principios clave son:

  • Las cadenas de bloques son "extraídas" (producidas mediante el gasto de esfuerzo, como en la extracción de oro) por computadoras poderosas y hambrientas de recursos, llamadas nodos, que están en la misma red.
  • Las cadenas de registros de transacciones cifrados digitalmente y con sello de tiempo se agrupan en "bloques", que se mantienen en un "libro mayor" por cada nodo. A medida que las transacciones se agregan a un bloque, los bloques se vinculan entre sí de forma lineal y cronológica como "cadenas". Luego, todo el registro / libro mayor se sincroniza a través de la red de nodos de modo que todas las "cadenas" de bloques en los nodos deben contar una historia idéntica del historial de cualquier transacción determinada. Así obtenemos "bloque + cadena = blockchain". Es una lista enlazada larga y complicada.
  • Cada bloque de una cadena tiene su propia identificación, un hash criptográfico que es único y específico para cada bloque. Ese hash también se almacena en el siguiente bloque de la cadena, lo que genera un enlace. Un bloque puede almacenar miles de transacciones y el cambio más mínimo en los datos de ese bloque daría como resultado un nuevo hash. Entonces, si un hash cambia pero el siguiente bloque tiene un hash diferente, entonces sabemos que algunos datos del bloque anterior fueron manipulados.
  • A medida que cientos se convierten en miles de nodos (y se agregan más todo el tiempo), cada nodo tiene que "estar de acuerdo" con el historial de los bloques / libro mayor; esto se denomina "consenso crítico". Una de las formas en que se logra el consenso es a través del hash criptográfico del que hablamos anteriormente.
  • Cuando hay discrepancias en el libro mayor (por ejemplo, el hash de un bloque no coincide con la referencia del siguiente bloque al hash del bloque anterior), el libro mayor con la cadena más larga de transacciones válidas incrustadas será el "correcto": el fuente de verdad. Cualquier nodo que trabaje en otros (versiones más cortas) de la cadena cambiará al más largo. Esto mantiene el consenso crítico (este bit está enormemente simplificado, pero suficiente por ahora).
  • Cualquier intercepción o cambio malicioso en un libro mayor (nuevamente, por ejemplo, donde el hash de un bloque no concuerda) crearía inmediatamente una discrepancia con todas las demás versiones. También tendría un "historial" de bloque más corto para corroborarlo, lo que hace que esa versión manipulada sea un personaje sospechoso en la red blockchain donde la longitud importa (ejem).
  • Replicar esa discrepancia en todas las versiones del libro mayor, toda la red de blockchain, es una tarea tan enorme que es computacionalmente impráctico, y solo sucedería si los malos de repente tuvieran el control sobre la mayoría de los nodos que extraen blockchain y los cambiaran a todos. bastante rápido. Este tipo de ataque coordinado en la mayoría de los nodos de la red a menudo se denomina ataque del 51%.

Curiosamente, Satoshi Nakamoto dice en el documento técnico original de Bitcoin,

Como tal, la verificación es confiable siempre que los nodos honestos controlen la red, pero es más vulnerable si la red es dominada por un atacante. "  

Sin embargo, en otros lugares, él / ella / la organización (no sabemos quién es "Satoshi") señala con calma que para modificar transacciones pasadas en bloques, en toda la red de nodos, el atacante tendría que volver a hacer la cadena de custodia en esos bloques, y todos los bloques agregados después de eso. Entonces tendrían que correr como locos para ponerse al día y superar el trabajo de los nodos que no están bajo el control del malo (para que puedan volver a escribir el libro mayor, por así decirlo).

Y debido a esto, la " probabilidad de que un atacante más lento se ponga al día disminuye exponencialmente a medida que se agregan bloques posteriores ".

La gran complejidad programática, el ritmo y el volumen de las actividades nodales dificultan que los falsificadores / atacantes se pongan al día con los nuevos bloques minados constantemente, y mucho menos los superen.

Eso tiene sentido. Es como la mentira que le dices a un miembro de la familia sobre por qué no pudiste asistir al recital de flauta de su hijo. Y luego tienes que perseguir locamente a todos los demás miembros de la familia y asegurarte de haberles contado la misma mentira para que cuando la persona original a la que le has mentido lo mencione, todos sepan esta mentira y sigan el juego. Suena agotador.

Para terminar, la característica definitoria de una cadena de bloques es que es un libro mayor distribuido en muchos, muchos nodos y es extremadamente intensivo en computación (costoso) agregar nodos a esa red.

Por lo tanto, cada libro mayor debe estar "al tanto" de todas las transacciones y debe tener una versión acordada (que tendrá la "cadena de custodia" más larga) en toda la red a la que se agregará la siguiente transacción.

Como declara Satoshi Nakamoto en el documento técnico original de Bitcoin, “ La única forma de confirmar la ausencia de una transacción es estar al tanto de todas las transacciones. "

Es importante destacar que los "desintermedios" de blockchain confían, por lo que no necesitamos pagar tarifas de transacción de "terceros confiables" por ser confiables y mantenernos a nosotros, ya las contrapartes con las que tratamos, honestos. La cadena de bloques asegura programáticamente la veracidad (procedencia) del historial de transacciones en ella.

Entonces, por qué debería importarnos?

Bueno, al deshacerse de la necesidad de “intermediarios de confianza”, cualquier intermediario que cobre una tarifa modesta por darnos el regalo de la certeza necesita encontrar un nuevo trabajo. Y eso impacta a los bancos que tradicionalmente ofrecen tales servicios de garantía.  

También significa que podemos programar “contratos inteligentes” entre el promitente y el prometido que reconocen automáticamente (digitalmente) si esa promesa se ha cumplido o no.

Esto ha permitido a una artista verdaderamente experta en tecnología como Imogen Heap vender su música directamente al público que la escucha y cobrar sus cuotas directamente de ellos en lugar de perder la mayor parte de las ganancias en manos de sellos discográficos, gerentes y otros "intermediarios de confianza".  

Es probable que cambie la forma en que se protege, accede, comparte, distribuye y desarrolla la propiedad intelectual en Internet.

Incluso podría significar que la flota de conductores de Uber realiza transacciones directamente con personas que desean un viaje en lugar de depender de Uber para coordinar y controlar el flujo de información y dinero.

Puede significar que podría enviarte directamente pequeñas cantidades de dinero prácticamente sin comisiones (microtransacciones). Podría significar que los millones de personas no bancarizadas del mundo que tienen teléfonos inteligentes pueden comenzar a realizar transacciones mucho más allá de sus límites tradicionales del mundo físico.

Sorprendentemente, los gobiernos están mirando más allá de las criptomonedas cuando se trata de implementar esta tecnología, para registrar la propiedad de la tierra, por ejemplo.

En efecto, podríamos crear un mundo de verdaderas transacciones digitales peer-to-peer para la transferencia de valor distribuida, horizontal, que elimina la necesidad de depender de la confianza y, sobre todo, requiere un extraordinario poder computacional para manipular. Estas transacciones pueden ser entre personas, máquinas y dispositivos.

Por tanto, podría ofrecer un nuevo paradigma de seguridad para la protección de los datos recopilados y transferidos a través de la “Internet de las cosas”.

Personalmente, creo que la complejidad del mundo moderno se oculta detrás de las pantallas táctiles intuitivas. La tecnología Blockchain se integrará rápidamente en nuestro universo tecnológico sin que seamos plenamente conscientes de ello, al igual que hemos estado utilizando ADN recombinante de levadura para la producción de insulina sintética desde la década de 1970.

Los cambios y ahorros de costos se denominarán ampliamente cambios tecnológicos, como esa "cosa entretejida" o alguna otra frase vaga que incluya todo.

Una trampa: funcionará siempre y cuando podamos confiar en que un "sistema sin confianza" que esté codificado y diseñado por humanos (¿en quién confiamos?) Promoverá la causa de la falta de confianza en un mundo en el que no se puede confiar . Es posible que deba leer esa oración varias veces.

Terminando

Bien, ahora debería conocer razonablemente los conceptos básicos de blockchain. Pero hay mucho más que aprender si está interesado.

Puede debatir si blockchain es útil o exagerado, revolucionario o aburrido. Pero es difícil ignorar que es muy bueno como concepto.

Aquí hay un video realmente fantástico de Anders Brownworth que explica todo con una maqueta de blockchain. Te recomiendo que lo veas.

Y como ejercicio de aprendizaje, puede crear su propia cadena de bloques directamente en su navegador o en su línea de comandos. Aquí hay un tutorial rápido sobre cómo construir su propia cadena de bloques.

Si tiene algún comentario sobre este artículo o cree que podría haber explicado mejor partes de este, envíeme un tweet a @ZubinPratap

Además, creo que sus recursos más preciados son su tiempo, esfuerzo y dinero. De estos, el recurso más importante es el tiempo, porque los otros dos pueden renovarse y recuperarse. Entonces, si vas a dedicar tiempo a algo, asegúrate de que te acerque a este objetivo.

Con eso en mente, si quieres invertir 3 horas conmigo para encontrar el camino más corto para aprender a programar (especialmente si cambias de carrera, como yo), dirígete a mi sitio de cursos personal y escribe "Udemy "en el cuadro de comentarios y deje su correo electrónico.

Además, si desea obtener más información sobre mi viaje hacia el código, consulte el episodio 53 del podcast freeCodeCamp, donde Quincy (fundador de FreeCodeCamp) y yo compartimos nuestras experiencias como cambiadores de carrera que pueden ayudarlo en su viaje. También puede acceder al podcast en iTunes, Stitcher y Spotify.