Blockchain y Node.js

construyendo la web 3.0

Que es la blockchain

es un libro mayor distribuido de acontecimientos digitales es modificable solo a través del consenso de la mayoría de participantes y una vez modificado se considera inmutable

Libro Mayor Contable Distribuido

Consenso.

Hashes

 funciones hash o funciones digest.Una función hash H es una función computable mediante un algoritmo tal que tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los convierte en un rango de salida finito, normalmente cadenas de longitud fija.

text credit: Wikipedia

Y entonces lo bloques que?

cada bloque esta compuesto de lo siguiente.

Quien genera el bloque?

Para generar un bloque cada una de las maquinas conectadas a la red (mineros) debe intentar crear un hash valido para el bloque, este hash tiene una reglas establecidas para cada blockchain, cuando algún minero encuentre el hash que cumpla con las características, este trendrá una recompensa, el bloque entrara a la red y se comparara con las demás. Este método de consenso es llamado proof of work

Hash Bitcoin

No se puede cambiar!

Smart Contracts.

Un contrato inteligente es un programa que vive en un sistema no controlado por ninguna de las partes, o sus agentes, y que ejecuta un contrato automático el cual funciona como una sentencia if-then (si-entonces) de cualquier otro programa de ordenador.

Title Text

Publico vs Privado.

  • Virtual Machine(EVM)
  • Cryto Currency (ether)
  • Smart Contracts

Ethereum

Hyperledger

  • Proyecto Open Source (Linux Foundation)
  • No usa crypto currency
  • El Consenso depende del proyecto

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

A programar...

BitcoinJs

  • Librerías de cifrado
  • Crear e interactuar con wallets

https://github.com/bitcoinjs

EthereumJs

  • ethereumjs-vm (maquina virtual)
  • Crear e interactuar con wallets

https://github.com/ethereumjs

Solidity

  • Lenguaje de alto nivel para construir smart contracts
  • Basado en Javascript
  • Compilado en la EVM 
  • Lenguaje Typado

Solidity

TRUFFLE

  • Framework para crear, testear y desplegar smark contract
  • Nos provee migraciones 
  • Testear smart contract con javasctrip

Gracias!

@nic_restrepo

nicolas@softdev.team

blockchain and nodejs

By nicolas restrepo

blockchain and nodejs

  • 700