Auditoría del sorteo
Cualquier persona puede verificar matemáticamente que este sorteo fue transparente y no fue manipulado.
7d8974f7f123afefb76dddb568103bd9cccd225bddc887e69cf55f573dea68b8
6e87f5df6d35aa9d1e2dc69084f729c42b5fc9ab166f411a021359e1bed37d756edfa6e87fbd1839ea2e85ecb5c520e0
84d0de04e6a2d36ade0d252c6bea4dcd4d5a093d558a0d776c9f0982e58a5c54
Cómo verificar (Node.js / Python)
// Node.js:
const crypto = require('crypto');
const seed = '6e87f5df6d35aa9d1e2dc69084f729c42b5fc9ab166f411a021359e1bed37d756edfa6e87fbd1839ea2e85ecb5c520e0';
const commit = '7d8974f7f123afefb76dddb568103bd9cccd225bddc887e69cf55f573dea68b8';
const beacon = '84d0de04e6a2d36ade0d252c6bea4dcd4d5a093d558a0d776c9f0982e58a5c54';
const totalTickets = 67;
// 1. Verificar que el seed corresponde al commit publicado:
const recomputed = crypto.createHash('sha256').update(seed).digest('hex');
console.log('Seed valido:', recomputed === commit);
// 2. Calcular el ganador:
const hash = crypto.createHash('sha256').update(seed + ':' + beacon).digest('hex');
const winnerIdx = parseInt(hash.slice(0, 12), 16) % totalTickets;
console.log('Indice ganador:', winnerIdx); // debe ser 65
Bitácora completa
{
"slug": "mega-charizard-x-ex-upc-mayo-2026",
"commit_hash": "7d8974f7f123afefb76dddb568103bd9cccd225bddc887e69cf55f573dea68b8"
}
{
"total_tickets": 67
}
{
"combined": "6e87f5df6d35aa9d1e2dc69084f729c42b5fc9ab166f411a021359e1bed37d756edfa6e87fbd1839ea2e85ecb5c520e0:84d0de04e6a2d36ade0d252c6bea4dcd4d5a093d558a0d776c9f0982e58a5c54",
"full_hash": "f169cc0c31023db0cd487980e7735e91cd21af60193ee6c728ad0d0c00c44aa4",
"commit_hash": "7d8974f7f123afefb76dddb568103bd9cccd225bddc887e69cf55f573dea68b8",
"beacon_round": "29159159",
"beacon_value": "84d0de04e6a2d36ade0d252c6bea4dcd4d5a093d558a0d776c9f0982e58a5c54",
"seed_revealed": "6e87f5df6d35aa9d1e2dc69084f729c42b5fc9ab166f411a021359e1bed37d756edfa6e87fbd1839ea2e85ecb5c520e0",
"total_tickets": 67,
"winning_index": 65,
"winning_ticket_id": 332,
"winning_ticket_code": "HZ-RFL-9E0E-01D2"
}