👨‍🏫Lunes - Introducción a Blockchain e Internet Computer

Identifica las características que hacen único a Internet Computer Protocol.

Este día aprenderás los fundamentos de Blockchain e Internet Computer Protocol y cómo funciona su arquitectura.

Lo importante de este día será lo siguiente:

  • ¿Qué es la Blockchain?

  • Ventajas de la Blockchain

  • Conocer la propuesta de Internet Computer y diferencias con otras Blockchain

  • Crear tu identidad en Internet Computer

  • Volverte un usuario web3 con Internet Computer

Este día enfócate en aprender tanto como puedas ¡NO JUEGUES AÚN CON EL CÓDIGO!

¿Qué es la Blockchain?

Un primer acercamiento podemos definierla de la siguiente forma:

Blockchain se define un registro digital de transacciones descentralizado e inmutable

En otras palabras, podemos entender a la Blockchain como una tecnología que permite registrar información la cuál no se puede alterar (inmutable) y que a su vez no se encuentra almacenada por una sola entidad (descentralizada).

Conceptos básicos

Para entender su funcionamiento, es necesario primero entender algunos conceptos básicos:

Bloque

Es la unidad básica de una blockchain, este almacena la información que se almacena en la blockchain, dentro de la información que almacena se encuentra:

  • Datos de la transacción: qué se intercambió, entre quiénes y cuándo.

  • Hash del bloque: identificador único del bloque que lo contiene.

  • Hash del bloque anterior: identificador único que vincula el bloque al anterior en la cadena.

Candea de bloques

Sucesión de bloques que se relacionan unos con otros a través de sus hashes (cada bloque contiene la referencia al hash anterior) que en su conjunto conforman el historial completo de las transacciones que se han realizado en una red.

Hash

Una función criptográfica que genera una cadena única de caracteres a partir de un conjunto de datos.

Nodo

Computadoras en la red blockchain que almacenan y ejecutan la cadena de bloques.

Mecanismos de consenso

Algoritmo que define cómo se llega a un acuerdo sobre el estado de la cadena de bloques entre todos los nodos de la red.

¿Cómo funciona la Blockchain?

  1. Iniciar una transacción: Imagina que quieres enviar dinero (o cualquier activo digital) a un amigo. Inicias una transacción en la red blockchain, especificando la cantidad y la dirección del destinatario.

  2. Difusión de la transacción: Esta transacción se transmite a todas las computadoras (nodos) que participan en la red blockchain.

  3. Verificación por nodos: Cada nodo verifica la validez de la transacción. Esto podría implicar comprobar si tienes fondos suficientes y si la transacción cumple con las reglas de la blockchain específica.

  4. Agrupar transacciones (Creación de bloques): Las transacciones validadas se agrupan en un bloque. Cada bloque tiene una capacidad limitada, por lo que solo un cierto número de transacciones pueden caber en un bloque.

  5. Asegurar el bloque (Minería): En ciertas blockchains (como Bitcoin), los mineros compiten para resolver un complejo rompecabezas matemático. El primer minero que lo resuelva consigue "asegurar" el bloque agregándolo a la cadena. Este proceso se llama minería y sirve como medida de seguridad.

  6. Agregar el bloque a la cadena: Una vez que un bloque está asegurado, se vincula criptográficamente al bloque anterior, formando una cadena. Este enlace asegura la inmutabilidad: una vez que se agrega un bloque, no se puede alterar sin alterar todos los bloques posteriores.

  7. Actualización del libro mayor: Todos los nodos participantes actualizan su copia de la blockchain con el nuevo bloque. Esto asegura que todos tengan el mismo historial de transacciones.

  8. Confirmación y finalización: Una vez que se agrega un bloque con suficientes bloques posteriores encima (dependiendo de la blockchain específica), la transacción se considera confirmada y completada. Tu amigo recibe el activo digital.

Smart Contracts

Con Ethereum una de las cosas que cambiaron fue la capacidad de utilizar las redes de blockchain para ejecutar transacciones diferentes a las hechas para operar con criptomonedas.

A esta capacidad se le lla´mó Smart Contracts, que son programas autoejecutables los cuales tienen la capacidad de procesar información y el estado resultante quede grabado en la cadena.

Los Smart Contracts tienen la característica de que una vez desplegados en la Blockchain, estos son inmutables, cualquier modificación que se requiera necesita desplegarse pero como un nuevo contrato.

Desarrollo con blockchain

Web3 es una nueva forma de internet basada en la descentralización. Para los desarrolladores, esto significa que las aplicaciones y datos se almacenan y ejecutan en una red de nodos (ordenadores) en lugar de servidores centralizados en la nube.

En este caso a nuestra aplicación corriendo en blockchain la llamaremos Aplicación Descentralizada (DApp) o canister y la red blockchain donde correran DApps que desarrollen esta semana será Internet Computer Protocol (ICP).

Internet Computer Protocol (ICP) es la única blockchain de uso general que ejecuta aplicaciones descentralizadas a la velocidad de la web. No es solo una blockchcain si no una plataforma de servicios en la nube descentralizados.

Ve esto como que puedes cargar tus aplicaciones en la nube y que en lugar de existir en un servidor de Amazon o Microsoft, ésta correrá como un canister de Internet Computer.

¿Qué es Internet Computer?

Internet Computer es un protocolo blockchain el cual lleva el desarrollo de tecnología mas allá, provee de una nube descentralizada que permite desarrollar aplicaciones (Canisters) de forma escalable.

En internet computer un Canister puede albergar una aplicación completa desde su frontend hasta su backend sin preocuparnos de Firewalls, servidores, tecnologías centralizadas o servicios como IPFS o oraculos.

Internet computer permite construir en Web3 como si pensaramos en una plataforma de computo en la nube serverless descentralizada para la ejecución y almacenamiento de data y aplicaciones.

¿Qué es un canister?

Un Canister es un componente fundamental y un entorno de ejecución para implementar y ejecutar aplicaciones de software en la plataforma de Internet Computer Protocol (ICP). Los canisters agrupan código y almacenamiento para crear aplicaciones seguras y eficientes. Son similares a los contratos inteligentes de otras plataformas blockchain.

Estos pueden programarse en:

  1. TypeScript/Javascript -> Azle

  2. Python -> Kybra

  3. Rust

  4. Motoko

Cambiando las reglas del juego

ICP cambia las reglas del juego en el desarrollo de aplicaciones descentralizadas a través de los canisters.

  • Almacenamiento real on-chain no solo metadata.

  • Nodos sin necesidad de infraestructura cloud centralizada a través de data centers independientes.

  • Canisters (Smart contracts) son indexables por buscadores como google o cualquier otro.

  • Tanto el frontend como el backend pueden descentralizarse.

Wallet e Identidad

Conoce la versión Web3 de los sistemas de identidad como usuario y contraseña que existen en las aplicaciones tradicionales. Los cuales nos vuelven moneda de cambio para los gigantes tecnológicos

ICP Token

El token nativo de ICP "ICP token" tiene varias utilidades dentro del ecosistema:

  • Puede convertirse en Cycles, unidades de cómputo para la utilización de Canisters, transferibles y con un modelo de reverse gas para el usuario (0% fees).

  • Puede lockearse en Neurons por un tiempo determinado. Esto da el derecho de votar propuestas dentro de la Network Nervous System (NNS) el mecanismo de gobernanza en IC.

Network Nervous System

Éste es el mecanismo de gobernanza de ICP controlada por aquellos holder de Neurons. La NNS controla lo siguiente aspectos:

  • Cuales Data centers participan en la red.

  • El número, ubicación y ownership de los nodos aceptados dentro de un data center.

  • Asignación de nodos en una subnet blockchain.

  • Nuevas versiones del protocol son aceptadas o no.

Obten Cycles para desarrollar durante esta semana

Este es el token con el que se paga por el procesamiento, uso, execución y almacenamiento en la red de internet computer. Puedes solicitar 30T de tokens cycles en el faucet de ICP.

Conoce el ecosistema de Dapps en ICP

Internet Computer cuenta con un ecosistema de aplicaciones en crecimiento el cual puedes consultar y convertirte en un usuario de web3 con ICP

Explora las DApps -> https://internetcomputer.org/ecosystem

Web3 vs Real Web3

Las DApps desarrolladas en IC no necesitan de servicios de terceros fuera de blockchain, servidores centralizados para escalar o wallets al momento de usar aplicaciones.

Actividades

  1. Crear un Internet Identity

  2. Crear una cuenta en Hobbie

  3. Unirse al discord de ICP Hub Latam: https://discord.gg/2UTpVQvC

  4. Unirse al discord de Zona Tres: https://discord.gg/kHVVAyKD

Recursos

  1. Internet Identity: https://identity.ic0.app

  2. Documentación de ICP Tokens: https://internetcomputer.org/icp-tokens

  3. Documentación de HTTPS Outcalls: https://internetcomputer.org/https-outcalls

Last updated