👨🏫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?
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.
Difusión de la transacción: Esta transacción se transmite a todas las computadoras (nodos) que participan en la red blockchain.
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.
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.
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.
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.
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.
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:
TypeScript/Javascript -> Azle
Python -> Kybra
Rust
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
Crear un Internet Identity
Crear una cuenta en Hobbie
Completar perfil en el form: https://airtable.com/app0jQaUjBJqdVVgH/shrYmw5szfDcLDLCr
Unirse al discord de ICP Hub Latam: https://discord.gg/2UTpVQvC
Unirse al discord de Zona Tres: https://discord.gg/kHVVAyKD
Recursos
Emulador de blockchain: https://andersbrownworth.com/blockchain
Internet Identity: https://identity.ic0.app
Hobbie: https://hobbi.me
Documentación de Internet Identity: https://internetcomputer.org/docs/current/developer-docs/integrations/internet-identity
Documentación de ICP Tokens: https://internetcomputer.org/icp-tokens
Documentación de Chain-key Tokens: https://internetcomputer.org/how-it-works/chain-key-tokens
Documentación de HTTPS Outcalls: https://internetcomputer.org/https-outcalls
Documentación de vetKeys: https://internetcomputer.org/docs/current/developer-docs/integrations/vetkeys
Last updated