Using EOSIO to prevent electoral fraud with #Fiscal_Digital

On Sunday June 16 the national elections of the Republic of Guatemala were held, I supported as a computer prosecutor for one of the parties that competed for deputies and with #Fiscal_Digital. The informatics found several anomalies, so it was officially requested that the digital copy that was used to present the preliminary results in Guatemala be delivered to us. #Fiscal_Digital proposed requesting that they be delivered with a hash fingerprint so the Supreme Electoral Court (TSE as in spanish) delivered SHA1 (we as informatics preferred SHA-256).

Second round

The anomalies reported were not taken into account as we expected and the electoral process continued as expected by the government, but at least we had won something: the digital files with their fingerprint (in the second round was SHA256 😎). This time #Fiscal_Digital called the community to create a copy in several Blockchain, so I gave myself the task to support within the EOSIO network.

EOSIO Blockchain process

As a first step, taking advantage of the fact that I am part of the TokenPocket Ambassadors, I was given the opportunity to create an Official account for #Fiscal_Digital which has 12 digits:

fiscaldigita 
EOS82xRn3eUJBKBGxSxesTvnpgBySK4eDLrSp5NVAFKUMEAccZ8dT

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

Hash Verification

First we verify the files delivered by the TSE:

  1. Having all the image files of the Proceedings on an Ubuntu PC, the following command was run in the terminal «sha256sum -b *> _sha256.txt»
  2. Having now the verification on a computer of our property, the hash was compared, in this case a simple Excel sheet was used comparing column A (TSE hash) with column B (Ubuntu Hash PC) all files are equivalent (well done TSE 💪)
  3. The same process was done with the CSV files of the database (unfortunately there is no hash of those files 🙄)

Proof of Existence

With the verification and hash listing in two files _sha256.txt and ActasCSV.txt, a hash was generated for each file

  _Sha256.txt hash: 3838d043c6834df4b7ef0fe447d600ae6d7902b288082f22f7d21b9151ae57d7
 Hash from ActasCSV.txt: 554b24e81955a431e4dba1ec27cbcda7a73b2591c547607efc2f2617255771c5 

So that these files are always available, they were saved in IPFS thanks to the page https://globalupload.io/ generating a new hash (of IPFS) which always makes said content available

We already have everything ready to create a proof of existence in the EOSIO Blockchain 🤟 now to use the EOS Argentina Smart Contract which can be used from Bloks.io from the following link:

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

We fill in the fields for each file …

We do it for each file and we will have a TX ID

 TX ID of _sha256.txt 7493bba1b1a0e08f589ec0a9b180c9122b359e383a69216fb5a7dcae2203bc11
 TX Actas ID CSV.txt f6bb473c3b84fa1cbe768a936c380adf403e878f4aa47b6ca30bc256630383b5

And ready! We have a copy in IPFS and proof of existence in EOSIO. This could have been done for each act but for reasons of time what was uploaded was a file with the list of all hashes.

Related Articles

Responses