¿Cómo se implementa una cadena de bloques en el código?

Blockchain es un libro mayor descentralizado y distribuido. Un libro mayor es básicamente un libro de contabilidad que se utiliza para registrar las transacciones financieras. Entonces, la implementación digital de este Ledger es blockchain. Blockchain es criptográficamente seguro e inmutable. Al estar descentralizado, cada nodo en la red tendrá una copia de blockchain.

Con esta definición, volvamos a su pregunta “¿Cómo funciona blockchain en términos de codificación”? ¿Asumo que quieres saber blockchain en términos de cómo se implementa en términos de código?

Para comprender la implementación de blockchain en términos de código, debe comprender 3 componentes técnicos principales que constituyen una cadena de bloques.

  1. Red informática de igual a igual
  2. Criptografía de clave asimétrica
  3. Funciones hash criptográficas

Blockchain se basa principalmente en los conceptos técnicos anteriores.

Aparte de esto, si profundizas en blockchain, verás muchas más cosas como.

  • El mecanismo de consenso utilizado en blockchain para autorizar y autenticar transacciones
  • Mecanismo de crear bloques y agregar a la cadena
  • La estructura de árbol de merkel utilizada en blockchain
  • La vinculación de bloques en la cadena utilizando punteros hash, similar a la lista vinculada
  • Detalles de la transacción en el bloque
  • El encabezado del bloque
  • El bloque génesis
  • Soporte de blockchain para contratos inteligentes, etc.

Entonces, con esta visión general, primero puede adquirir el conocimiento de la tecnología que constituye una cadena de bloques, luego puede aplicar su conocimiento para pasar por el código de la cadena de bloques y comprender.

Multichain es una cadena de bloques de código abierto que es la bifurcación de la cadena de bloques de bitcoin. Multichain puede ser un candidato adecuado para experimentar.

Es una estructura de datos compleja en la que puede agregar bloques en la parte superior, cambiar a un bloque superior diferente (en el caso de las horquillas) y obtener información relativa a los bloques que contiene.

Hay un montón de funciones para encontrar y extraer bloques o elementos específicos de un bloque en Blockchain que son utilizados por un minero para transferir información a otro minero / persona en la red.

Pero lo más importante es pensar que Blockchain es una estructura de datos. Sobre esta “cadena de bloques” puede construir diferentes capas de abstracción: elija, por ejemplo, qué contendrá un bloque, cómo se implementará la prueba de trabajo.

Cuando se implemente BlockChain, se integrará en una red de mineros, y debe respetar los tres aspectos principales de cualquier blockchain.

  • seguro contra la manipulación
  • descentralizado
  • protegido contra la falsificación

Sin embargo, principalmente todos los Blockchains respetan la misma implementación con respecto a esos aspectos y debería haber mirado el más seguro y mejorado: el Blockchain de la red Bitcoin: bitcoin / bitcoin

Aquí hay otro enlace que explica bien cómo se podría implementar una cadena de bloques: Dominar Bitcoin

More Interesting

¿Cuál es mi concepto erróneo con respecto al algoritmo de clasificación de fusión aquí?

¿Por qué se utilizan montones para la asignación de memoria? ¿Por qué no se utilizan pilas ni ninguna otra?

¿La evolución biológica es algorítmica?

¿Cuál es el error lógico en mi siguiente código para la multiplicación de karatsuba?

¿Cuáles son algunos ejemplos de árboles M aplicados a problemas del mundo real?

¿Bajo qué escenarios son apropiados los siguientes algoritmos de ruta más corta?

¿Cómo planificarías un campamento de algoritmos y estructuras de datos de un mes?

¿Cuáles son las ventajas de los algoritmos SVM?

Dos jugadores juegan el siguiente juego: hay N piedras en la mesa, el jugador puede tomar 1 o 2 piedras (si N mod 3 = 0), 1 o 3 (si N mod 3 = 1) y 1, 2 o 3 ( si N mod 3 = 2). ¿Cómo determino al ganador en el juego?

¿Cuál es la lógica y la intuición detrás del algoritmo de optimización de momento y por qué se considera mejor que el descenso de gradiente?

Cuando se ejecuta el ordenamiento rápido aleatorio, ¿cuántas llamadas se realizan al generador de números aleatorios en el peor de los casos? ¿Y también para el mejor caso?

¿Qué es un árbol de recursión?

¿Cómo se construye exactamente una estructura de datos de árbol en JavaScript?

¿Cómo verifico si un número binario es divisible por decir 'n'?

¿Los algoritmos de aprendizaje y las estructuras de datos son muy importantes para la informática y la programación?