Usando EOSIO para prevenir fraude electoral con #Fiscal_Digital

El domingo 16 de Junio se llevaron a cabo las elecciones nacionales de la Republica de Guatemala, apoyé como fiscal informático para uno de los partidos que compitieron para diputados y con #Fiscal_Digital. Los informaticos encontramos varias anomalías por lo que se solicito de manera oficial que se nos entregara la copia digital que se usó para presentar los resultados preliminares en Guatemala. #Fiscal_Digital propuso solicitando que se entregaran con una huella digital hash por lo que el Tribunal Supremo Electoral (TSE) entregó SHA1 (nosotros como informaticos preferíamos SHA-256).

Segunda Vuelta

Las anomalias reportadas no se tomaron en cuenta como esperábamos y el proceso electoral siguió su curso como esperaba el gobierno, pero al menos habíamos ganado en algo: los archivos digitales con su huella digital (en la segunda vuelta si fue SHA256 😎). Esta vez #Fiscal_Digital hizo la convocatoria a la comunidad para crear una copia en varios Blockchain, por lo que me dí a la tarea para apoyar dentro de la red EOSIO.

Proceso Blockchain EOSIO

Como primer paso, aprovechando que soy parte de los Embajadores de TokenPocket, se me dió la oportunidad de crear una cuenta Oficial para #Fiscal_Digital la cual tiene 12 digitos:

fiscaldigita 
EOS82xRn3eUJBKBGxSxesTvnpgBySK4eDLrSp5NVAFKUMEAccZ8dT

https://bloks.io/account/fiscaldigita#keys

Verificación de Hash

Primero verificamos los archivos entregados por el TSE:

  1. Teniendo todos los archivos de imagenes de las Actas en una PC Ubuntu se corrió el siguiente comando en la terminal «sha256sum -b * > _sha256.txt»
  2. Teniendo ahora la verificacion en una computadora de nuestra propiedad se procedió a comparar los hash, en este caso se usó una simple hoja de Excel comparando columna A (hash de TSE) con la columna B (Hash PC Ubuntu) todos los archivos son equivalentes (bien hecho TSE 💪)
  3. El mismo proceso se hizo con los archivos CSV de la base de datos (lamentablemente no se tiene Hash de esos archivos 🙄)

Proof of Existence

Ya con la verificacion y el listado de hash en dos archivos _sha256.txt y ActasCSV.txt se procedió a genera un hash para cada archivo

Hash de  _sha256.txt: 3838d043c6834df4b7ef0fe447d600ae6d7902b288082f22f7d21b9151ae57d7

Hash de ActasCSV.txt: 554b24e81955a431e4dba1ec27cbcda7a73b2591c547607efc2f2617255771c5

Para que estos archivos siempre estén disponibles se procedio a guardarlos en IPFS gracias a la pagina https://globalupload.io/ generando un nuevo hash (de IPFS) el cual hace disponible siempre dicho contendio

Ya tenemos todo listo para crear una prueba de existencia en la Blockchain EOSIO 🤟 ahora a usar el Smart Contract de EOS Argentina el cual se puede utilizar desde Bloks.io desde el siguiente enlace:

https://bloks.io/account/eosproof1111?loadContract=true&tab=Actions&account=eosproof1111&scope=eosproof1111&limit=100&action=save

Llenamos los campos para cada archivo…

Lo hacemos para cada archivo y tendremos una TX ID

TX ID de  _sha256.txt 7493bba1b1a0e08f589ec0a9b180c9122b359e383a69216fb5a7dcae2203bc11
TX ID de ActasCSV.txt f6bb473c3b84fa1cbe768a936c380adf403e878f4aa47b6ca30bc256630383b5

Y ¡listo! tenemos una copia en IPFS y una prueba de existencia en EOSIO. Esto se pudo haber hecho para cada acta pero por razones de tiempo lo que se subio fue un archivo con el listado de todos los hash.

Comentarios