Pues aquí estamos de nuevo con otra edición de ‘La Blockchain con OnChain’. Irónicamente, en esta edición vamos a estar hablando de blockchain (juro que todo esto es una coincidencia. Guiño de cara ;) ).

Una vez que hayamos publicado todos los artículos de esta serie, realizaremos un cuestionario en discord para evaluar su conocimiento…

Ahhhh es broma!

No en serio, SOMOS…

Ok, ok, realmente no lo somos. Sin embargo, aquí hay contenido excelente, por lo que si está buscando refrescar sus conocimientos o tal vez hayamos despertado su interés, le agradecemos por tomarse el tiempo para leerlos. Así que sin más preámbulos comencemos.

Durante la última década y media, las cadenas de bloques han ganado protagonismo en el mundo de la tecnología. Se han utilizado para construir diferentes aplicaciones para realizar diversas tareas. El primer caso de uso conocido para una cadena de bloques fue el proyecto Bitcoin. Pero, ¿qué es exactamente una cadena de bloques y qué la hace tan importante?

Este artículo cubrirá los componentes básicos de las cadenas de bloques y sus atributos clave.

Cadenas de bloques, desde cero

Una cadena de bloques es un libro mayor distribuido que contiene datos organizados en bloques y vinculados en una cadena. Para comprender mejor lo que eso significa y cómo funciona, analizaremos los siguientes términos en detalle:

Bloqueo, Hashing y Minería/Validación.

Bloque

En una cadena de bloques, un bloque es una colección de algunos datos. Usando las cadenas de bloques de Bitcoin y Ethereum como ejemplos, un bloque de Bitcoin contendrá una lista de transacciones de Bitcoin, mientras que un bloque de Ethereum contendrá una lista de transacciones de Ethereum. Cada transacción que sucede se agrega al bloque. En la cadena de bloques de Bitcoin, la cantidad de datos que almacena un bloque se denomina “ Tamaño del bloque”..” Muchas cadenas de bloques tienen un límite de tamaño de bloque. El límite de tamaño de bloque de Bitcoin es de 1 MB, lo que da espacio para almacenar entre 1500 y 2000 transacciones por bloque. Aunque todas las cadenas de bloques siguen los mismos principios fundamentales, coinciden en detalles clave de manera diferente. Por ejemplo, Ethereum y algunas otras cadenas de bloques no tienen un límite de tamaño de bloque fijo como Bitcoin, sino que están limitados por el gas. En Ethereum, gas es el término para las tarifas requeridas para realizar una transacción. El límite de tamaño de bloque (o límite de gas) para Ethereum es de 30 millones de gas, lo que significa que las tarifas totales de gas de todas las transacciones en un bloque de Ethereum no deben exceder los 30 millones. Starknet, la cadena de bloques en la que se basa StarkDeFi , aprovecha Ethereum y tiene el mismo límite de gas que Ethereum.

Además de los datos de transacciones, todos los bloques de una cadena de bloques también contienen el hash del bloque anterior. Pero, ¿qué es un hachís?

Hash

Imagina una caja negra que te da alguna salida para cualquier entrada que le des sin seguir un patrón identificable. En blockchains, esta caja negra es una función complicada llamada “ función hash “. Las funciones hash toman los datos del bloque y algunos metadatos y devuelven un “ hash criptográfico “.

Este hash criptográfico ayuda a crear la cadena de bloques que forman las cadenas de bloques. Se realiza incluyendo el hash obtenido de un bloque al siguiente bloque de transacciones, formando un enlace entre cada bloque adyacente.

Uno puede preguntarse: “ Pero, ¿qué pasa con el primer bloque en la cadena de bloques? ¿Qué hash se incluye ya que no hay un bloque anterior ? El primer bloque en una cadena de bloques se llama “ Bloque Génesis” . Diferentes cadenas de bloques eligen qué hash asignar a un Bloque Génesis. Algunos usan 0 o el hash de algo importante para el equipo de desarrollo, o ningún hash. Todo depende de lo que el equipo quiera hacer.

Hay varias funciones de hashing seguras que ya están en uso en la industria. La mayoría de las cadenas de bloques usan las que ya existen, y algunas crean las suyas propias. Bitcoin, por ejemplo, utiliza el algoritmo hash seguro de 256 bits (SHA-256) .

Para que una función hash se considere apta para su propósito, debe:

a) ser determinista, es decir, una entrada SIEMPRE debe producir la misma salida.

b) calcular hashes en un tiempo razonable.

c) ser difícil de calcular una inversa, es decir, la entrada no debe derivarse fácilmente de la salida sin hacer cálculos computacionalmente intensivos.

d) ser resistente a las “ colisiones de hash “, es decir, siempre debe tener un hash único para cada entrada. No hay dos entradas que den como resultado el mismo hash.

e) no tener patrones identificables. Un pequeño cambio en la entrada debería dar como resultado un hash completamente diferente.

Minería/Validación

Recuerde que dijimos que la cadena de bloques era un libro mayor distribuido. Eso significa que comprende nodos (computadoras) en una red que buscan lograr un objetivo común de mantener la cadena de bloques y mantener todos los datos válidos siguiendo un protocolo (conjunto de reglas). Al igual que los límites de tamaño de bloque, las cadenas de bloques logran esto a través de diferentes medios. Los dos métodos populares son Prueba de trabajo y Prueba de participación .

Para las cadenas de bloques de prueba de trabajo como Bitcoin, una vez que un bloque alcanza su límite, los nodos (llamados mineros en este caso) comienzan a calcular un valor que se puede combinar con los datos del bloque y el hash del bloque anterior para producir el conjunto de hash del bloque actual. por el protocolo. Este valor solo se puede encontrar adivinando en un proceso llamado “ minería “, ya que las buenas funciones de hashing son técnicamente irreversibles. Todos los nodos de la red compiten para ser los primeros en encontrar el valor. El protocolo aumenta la dificultad al aumentar la cantidad de conjeturas requeridas en función de la cantidad de mineros en la red. Esta es la razón por la que podía extraer Bitcoins con una computadora portátil en los primeros días cuando no era popular, pero ahora necesita grandes plataformas de minería.

En el momento en que un nodo encuentra un valor que cumple con los criterios establecidos, transmite la solución a todos los demás nodos de la red. Si el hash y todas las transacciones en el bloque son válidos, los otros nodos lo aceptan como el siguiente bloque y lo agregan al suyo. El nodo que encontró el valor también es recompensado con las tarifas de transacción de ese bloque y el bitcoin recién acuñado asociado con ese bloque.

Sin embargo, en las cadenas de bloques de prueba de participación , los mineros se intercambian por validadores. Los validadores hacen el mismo trabajo que los mineros, pero son designados por la red para verificar las transacciones en un bloque, a diferencia de un enfoque competitivo de “ gratis para todos “, para que el proceso sea más equitativo.

Atributos clave de la cadena de bloques

Hasta este punto, hemos discutido los conceptos básicos clave de las cadenas de bloques. Uno puede preguntar: “¿ Por qué debería pasar por todas estas molestias cuando podríamos mantener una buena base de datos de transacciones ?”. Bueno, las cadenas de bloques tienen algunas características que las hacen únicas e importantes. Estos incluyen la descentralización, la inmutabilidad, la seguridad y la transparencia.

Descentralización

La descentralización es el principio básico de la tecnología blockchain. A diferencia de los sistemas tradicionales que mantienen los datos en manos de una sola entidad, los datos de blockchain se distribuyen a través de la red de nodos. Cada nodo guarda y actualiza una copia de estos datos para garantizar que no haya un punto central de falla, ya que ninguna entidad puede manipular o controlar los datos.

Inmutabilidad

Cuando decimos que los datos son inmutables, no se pueden editar ni cambiar una vez que se agregan a un bloque. La inmutabilidad de Blockchain garantiza que los datos almacenados en él sean altamente seguros y confiables, lo que lo hace ideal para aplicaciones como transacciones financieras y sistemas de votación.

Seguridad

Los sistemas que aprovechan las cadenas de bloques ofrecen una alta seguridad. Las técnicas criptográficas como el hash aseguran que los datos almacenados en las cadenas de bloques sean altamente resistentes a las infracciones de seguridad y hacen que la cadena de bloques sea ideal también para aplicaciones centradas en la seguridad.

Transparencia

Finalmente, las cadenas de bloques ofrecen transparencia y responsabilidad a todas las partes interesadas de un sistema. Todas las transacciones en una cadena de bloques son visibles para cualquier persona interesada, lo que las hace muy fáciles de auditar. Esto hace que las cadenas de bloques sean perfectas para aplicaciones en las que la transparencia y la rendición de cuentas son importantes, como los registros gubernamentales y los sistemas de gestión de identidad.

Bifurcación de cadena de bloques

Como se discutió en las secciones anteriores, las cadenas de bloques son sistemas distribuidos con muchos nodos de gestión. Por lo tanto, lo que sucede cuando los errores requieren corrección o hay disputas dentro de la comunidad del proyecto es muy importante. Ahí es donde la bifurcación es útil.

La bifurcación de blockchain se refiere al acto de crear una nueva versión de una cadena de bloques. Hay dos tipos de bifurcaciones: bifurcaciones blandas y bifurcaciones duras.

Soft Forks

Las bifurcaciones suaves ocurren cuando las reglas de la cadena de bloques se cambian de una manera que es compatible con versiones anteriores de la cadena de bloques existente. Esto significa que los nodos que no se actualizan a la nueva versión del software aún pueden participar en la red, pero es posible que no puedan aprovechar las nuevas funciones introducidas en la bifurcación. La bifurcación suave se realiza con mayor frecuencia en la comunidad de blockchain sin muchas opiniones divididas.

Hard Forks

Los Hard Forks son eventos más populares en la comunidad de blockchain y se anticipan de manera más ceremoniosa. Las bifurcaciones duras ocurren cuando la cadena de bloques se divide en dos cadenas que ya no son compatibles. Esto sucede cuando las reglas de la cadena de bloques se modifican de tal manera que los nodos que no se actualizan a la nueva versión ya no pueden participar en la red. Esto puede dar como resultado una divergencia permanente de la cadena de bloques, con diferentes comunidades y usuarios que admiten diferentes versiones. Esto suele suceder en los casos en que la comunidad de la cadena de bloques tiene puntos de vista muy divergentes sobre los desarrollos futuros de la cadena de bloques. Por ejemplo, Bitcoin Cash y Bitcoin son el resultado de una bifurcación dura en la que los nodos del lado de Bitcoin Cash querían que la comunidad aumentara el límite de tamaño de bloque.Ethereum y Ethereum Classic son otros ejemplos. Fueron el resultado de una bifurcación dura en la que los nodos del lado de Ethereum querían deshacer un error que resultó en que un atacante explotara la red y se apoderara de algunas criptomonedas por valor de millones de dólares.

El trilema de la cadena de bloques

En toda la industria de las cadenas de bloques, existe la creencia generalizada de que las cadenas de bloques se enfrentan a tres desafíos principales: descentralización, seguridad y escalabilidad (número de transacciones por segundo). La mayoría de las cadenas de bloques solo pueden lograr dos de tres. Las comunidades de Blockchain suelen elegir los dos para centrarse en lo que a menudo afecta negativamente al tercero. Cualquier cadena de bloques que pueda ser excelente en las tres habría construido la cadena de bloques definitiva. Este problema se llama el “ Trilema Blockchain ”.

Por ejemplo, Ethereum es muy descentralizado y seguro, pero no muy escalable. Starknet, la cadena de bloques de StarkDeFi , tiene la misión de mejorar este problema de escalabilidad al ofrecer una solución conocida como “ ZK-Rollup “ , donde mejoran significativamente la escalabilidad en Starknet y agrupan muchas transacciones en Ethereum como una sola transacción. En la industria de las cadenas de bloques, Ethereum es una cadena de bloques de capa 1 (L1) y Starknet se considerará una cadena de bloques de capa 2 (L2).

Conclusión

La tecnología Blockchain se ha convertido en una poderosa herramienta para transacciones seguras y transparentes. Su naturaleza descentralizada tiene el potencial de revolucionar la forma en que pensamos sobre los datos, la confianza y las transacciones. Las aplicaciones blockchain de la criptografía les han permitido proporcionar un nivel de seguridad y transparencia que antes era imposible con los sistemas tradicionales. Sin embargo, la tecnología blockchain aún se encuentra en sus primeras etapas y se deben abordar muchos desafíos para lograr la adopción global. StarkDeFi está contribuyendo a este objetivo. A medida que más empresas e industrias exploran las posibilidades de las cadenas de bloques, podemos esperar ver nuevos desarrollos e innovaciones emocionantes en los próximos años.

Siga a StarkDeFi aquí y en Twitter , LinkedIn y GitHub para obtener más publicaciones increíbles y otros anuncios. Además, únete a nuestro canal de Telegram y al servidor de Discord para disfrutar de la mejor experiencia DeFi .

Gracias…