Skip to content

Elianagam/blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockchain Rustica

Implementacion de los nodos:

2 componentes:

  • El coordinador (servidor que se encarga de limitar a 1 la concurrencia en la seccion critica)
  • Cliente: es el que contiene la informacion propia de la blockchain (y tambien es el que accede a la seccion critica)

Implementacion de la blockchain:

Caracteristicas basicas de una blockchain:

  • Cada uno de los nodos tiene una copia local de la blockchain
  • Se broadcastean los nuevos bloques que entran en la blockchain
  • En el mundo real para ingresar un bloque nuevo hay que hacer mining (proceso de encontrar un hash que tenga relacion con el nonce del bloque)

Nuestra implementacion:

  • Cada nodo tiene una referencia a su precedente (hash)
  • Cada nodo tiene una copia local de la blockchain
  • Cuando algun nodo quiere ingresar un nuevo valor este hashea el bloque y lo agrega a la blockchain (aca usamos el algoritmo de concurrencia distribuida)
  • Ademas envia al nodo lider un mensaje para que broadcastee el nodo al resto (algoritmo de eleccion de lider)
  • Cada nodo actualiza su copia local de la blockchain

Ejecucion

Como tenemos dos compnentes hay que especificar cual queremos buildear/correr, para eso se usa

Node

cargo run --bin app <puerto> 

: puerto al que se bindea el nodo, tiene que estar en el rango de 8000 a 8050

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages