Laboratorio blockchain · hecho a mano, desde cero

Construye tu propia
cadena de bloques

Los koalas son el ejemplo 🐨

Cada koala de esta galería está registrado en una cadena de bloques escrita desde cero en esta misma web: hashes SHA-256, prueba de trabajo, firmas digitales y reglas de contrato. Diseña el tuyo con las piezas que aún quedan, fírmalo con tu llave, mínalo en tu navegador… y aprende cómo funciona cada pieza por dentro.

🎨 Diseñar mi koala 📘 Aprender a construirla
—Koalas
—Quedan
—Bloques
—Ceros PoW

🎨 Diseña tu koala

⛏️ Firma y mina tu koala

Solo https://. Tu web, tu tienda, tu PayPal… Solo tú (con tu llave) podrás cambiarlo.
— —
1 · Firmar el contenido con tu llave privada
2 · Minar: buscar un nonce cuyo hash empiece por ceros
3 · Enviar el bloque al nodo, que vuelve a comprobarlo todo
✔ Cada pieza tiene unidades limitadas: las agotadas aparecen tachadas
✔ No puede haber dos koalas idénticos (ADN único)
✔ Tu llave se crea en tu navegador; la privada nunca sale de él
✔ Sin cartera, sin comisiones: un ejemplo didáctico, no un criptoactivo

¿Qué pasa cuando acuñas?

1

Diseñas y firmas

Tu elección de piezas se convierte en un ADN de 9 números. Lo firmas con tu llave privada (ECDSA P-256): así se demuestra que eres tú sin revelar la llave.

2

Minas el bloque

Tu navegador prueba miles de números (nonce) hasta que el hash SHA-256 del bloque empieza por ceros. Esa es la prueba de trabajo.

3

El nodo lo valida

El servidor repite todas las comprobaciones —hash, ceros, firma, stock, ADN único— y solo entonces encadena el bloque. Cualquiera puede descargar la cadena y auditarla.

🐨 Galería de koalas

Cada tarjeta es el resultado de reproducir la cadena bloque a bloque. Pulsa un koala para ver su ficha, su historial y su enlace.

⛓️ Explorador de la cadena

Esta es la cadena real, bloque a bloque. Cada bloque guarda el hash del anterior: si alguien cambiase una sola letra del pasado, todos los bloques siguientes dejarían de cuadrar.

📘 Aprende a construir tu propia cadena de bloques

Las mismas cinco piezas que mueven la galería de koalas, desmontadas una a una. Todo lo que ves funciona en tu navegador, sin librerías externas.

1La huella: SHA-256

Una función hash convierte cualquier texto en una huella de 64 caracteres. Cambia una letra y la huella cambia por completo; pero no hay forma de volver atrás.

2El bloque y la prueba de trabajo

Un bloque es datos + el hash del anterior + un número libre (nonce). Minar es probar nonces hasta que el hash empiece por N ceros: difícil de encontrar, facilísimo de comprobar.

Cada cero extra multiplica por 16 el trabajo medio.

3La cadena: por qué no se puede reescribir el pasado

Cada bloque incluye el hash del anterior. Cambia el texto de cualquier bloque: su hash cambia, deja de empezar por ceros y rompe a todos los que vienen detrás. Para "arreglarlo" tendrías que volver a minar ese bloque y todos los siguientes… más rápido que el resto del mundo.

4La firma digital: quién es el dueño

Tu llave privada firma; tu llave pública permite a cualquiera comprobar la firma. Si el mensaje cambia una coma, la firma deja de valer. Así se demuestra la propiedad de un koala sin contraseñas.

Genera un par de llaves para empezar.

5El contrato: reglas que todos ejecutan igual

Un smart contract no es magia: es un conjunto de reglas que todos los nodos ejecutan exactamente igual. Aquí las reglas están escritas dos veces —en JavaScript (tu navegador) y en PHP (el nodo)— y ambas deben dar el mismo veredicto.

Ver el contrato KriptoKoalas (pseudo-Solidity)
// Las mismas reglas que ejecutan api.php (PHP) y esta página (JS)
contract KriptoKoalas {
  uint16 constant SUMINISTRO = 300;
  Koala[] koalas;
  mapping(bytes32 => bool) adnUsado;
  mapping(uint8 => mapping(uint8 => uint16)) usados;

  struct Koala { uint8[9] adn; string nombre; string enlace; address dueno; }

  function acunar(uint8[9] adn, string nombre, string enlace) firmado {
    for (uint8 r = 0; r < 9; r++)
      require(usados[r][adn[r]] < stock[r][adn[r]], "Variante agotada");
    require(!adnUsado[keccak(adn)], "Ese koala ya existe");
    require(nombreValido(nombre) && (enlace == "" || esHttps(enlace)));
    adnUsado[keccak(adn)] = true;
    for (uint8 r = 0; r < 9; r++) usados[r][adn[r]]++;
    koalas.push(Koala(adn, nombre, enlace, msg.sender));
  }
  function cambiarEnlace(uint k, string enlace) firmado {
    require(koalas[k].dueno == msg.sender, "No es tu koala");
    require(enlace == "" || esHttps(enlace));
    koalas[k].enlace = enlace;
  }
  function transferir(uint k, address a) firmado {
    require(koalas[k].dueno == msg.sender, "No es tu koala");
    koalas[k].dueno = a;
  }
}

🏛️ ¿Una cadena de bloques soberana?

Soberana en el sentido de propia: sus reglas, sus datos y su código son nuestros, no dependen de Ethereum ni de Polygon. Conviene ser claros sobre lo que eso significa.

Lo que sí es

  • Una cadena real: bloques enlazados por SHA-256 con prueba de trabajo.
  • Propiedad real: cada operación va firmada con ECDSA P-256 y cualquiera puede verificarla.
  • Auditable: descarga el JSON y verifícalo con el botón 🔍 o con tu propio código.
  • Reglas idénticas en navegador y servidor: el "contrato" se ejecuta dos veces.

Lo que no es

  • No es descentralizada: hay un único nodo (este servidor), así que confías en quien lo opera.
  • La prueba de trabajo aquí frena el spam y enseña; no protege frente a quien controla el nodo.
  • Los koalas no son un criptoactivo ni tienen valor económico: es un ejemplo didáctico.
  • Los enlaces los pone cada propietario; no los revisamos uno a uno.

Cómo hacerla crecer

  • Varios nodos que se pasen bloques y acepten la cadena válida más larga (consenso).
  • Anclar periódicamente el hash del último bloque en una blockchain pública.
  • Exportar cada koala como metadatos ERC-721 para acuñarlo en una red pública.
  • Cambiar la prueba de trabajo por autoridad o participación según el caso de uso.

¿Tu proyecto necesita su propia cadena de bloques?

Trazabilidad, certificados, registros auditables, activos digitales internos… Todo lo que ves aquí se puede adaptar a medida: reglas propias, sin depender de terceros y sin comisiones por operación.

✉️ negocios@business-es.business

🔑 Mi llave

Koala