Saltar al contenido
Gorka Hernandez Villalon, desarrollador iOS y especialista en automatizacion con IAGorka Hernandez
Volver a proyectos
DestacadoOpen SourceBlockchain

FadeChain

Proyecto ganador de hackathon blockchain UPF: votacion privada con zero-knowledge.

FadeChain fue el proyecto de mi equipo en una hackathon de blockchain celebrada en el campus de Poblenou de la Universitat Pompeu Fabra, dentro de la asignatura de Criptografia i Seguretat d'Enginyeria. El reto consistia en crear una propuesta innovadora sobre la red de pruebas Ethereum Sepolia. Construimos un sistema de votacion que preserva la privacidad usando zero-knowledge proofs: los votantes prueban elegibilidad sin revelar identidad, el contrato evita doble voto mediante nullifier hashes y los resultados quedan auditables on-chain. La arquitectura combina un contrato Solidity, arbol Merkle incremental, circuito Circom de referencia, frontend de demo y relayer Node.js para evitar vincular wallet y voto. La propuesta incorpora ponderacion temporal lineal, dando mas peso a votos tempranos para reducir comportamiento de arrastre.

Problema, stack y resultado

Problema que resuelve

Sistema de votacion on-chain sobre Ethereum Sepolia con zk-SNARKs Groth16, Merkle trees, relayer de privacidad y ponderacion temporal del voto. Proyecto ganador en la hackathon blockchain UPF.

Tecnologias usadas

Stack principal: Solidity, Ethereum Sepolia, Circom. Tecnologias del proyecto: Solidity, Ethereum Sepolia, Circom, zk-SNARKs, Groth16, Merkle Trees, Relayer, Smart Contracts, Zero-Knowledge.

Que hice yo

Mi rol fue Equipo FadeChain · Blockchain & ZK. Trabaje la parte tecnica, el enfoque de producto y la documentacion suficiente para que el resultado pueda explicarse y evolucionar.

Resultado o aprendizaje

Proyecto ganador en hackathon blockchain UPF. Votacion on-chain privada con pruebas zero-knowledge Groth16.

Highlights

  • Proyecto ganador en hackathon blockchain UPF.
  • Votacion on-chain privada con pruebas zero-knowledge Groth16.
  • Registro de votantes mediante Merkle tree incremental.
  • Prevencion de doble voto con nullifier hashes.
  • Relayer Node.js para separar wallet y voto en el flujo privado.
  • Ponderacion temporal lineal del voto para incentivar participacion temprana.