Verifykenya.icp (use ICP to verify Kenya's 2027 general election)


My dream: use an ICP smart contract (SNS with large community ownership) to verify Kenya’s 2027 general election

Goal: Deliver Kenya’s election results to the world within 10mins of polls closing for all elective seats and have all 200,000+ IEBC (our electoral body) forms (the legal poling station final tally election document) visually verified by millions of actual humans from the community & around the world.

INTRO: Hey everybody in the ICP space, i have an idea:

My same is Sam (twitter/x) and I would like to share this idea with the community.

PROBLEM: In my home country Kenya we have had turbulent elections for many years. For example in 2007 an election dispute led to 1600 deaths. This led to a new constitution and a constitutional requirement that election results must be digitally transmitted from each polling centre and made available to the world in realtime.

Therefore the Kenyan government through the IEBC was compelled to digitally transmit elections results directly from polling stations (where the written result is legally final) to prevent election tampering. They provide an open API where anyone who wants to monitor the election results in real time can download elections forms as they were filled out & transmitted by elections officials from each polling station.

The problem is that we have over 40,000+ polling stations and 5 elective seats, so in total 200,000+ partially hand-written documents are transmitted through their API in a short amount of time. Each of these document details the number of votes for each candidate at a particular poling station. Since these documents are partially hand written, a human must download each document and read the hand written vote count in order for them to verify the official government result tally for that elective seat. (We can’t use AI or OCR due to the sensitivity of this task. This must be a human done task)

Due to the high transmission rate and the requirement for a human to visually read these figures, It therefore becomes impossible for any one independent organisation to download each document and tally results for each candidate in order to verify the results the government body IEBC publishes. It can’t be done in a timely manner by one organisation: the task is too monumental.

As you can see, even though the election is technically “open” we still need to trust the final tally the IEBC delivers as the election results because no single independent organisation has the resources to verify each of the 200,000+ documents. So the election was transparent up to the delivery of the final tally. Therefore Kenyans are forced to trust one single entity to tell them who won an election because only the IEBC had the resources to tally all the results from all 40,000+ polling stations.

This is what introduces mistrust and leads to violence in Kenya after elections and is what happened in our 2022 elections. The documents were (and still are) available but independent observers were overwhelmed by them. Up to date no one except the IEBC has tallied all the documents from the 2022 Kenyan elections. As a result of not having independent oversight of the results tally our country has undergone a period of post election protests which have lead to many deaths as detailed here by amnesty.

SOLUTION: We should build an ICP SNS smart contract that can produce a tamperproof audit trail where it verifiably downloads these documents in real time from IEBC and then makes them available for anyone in the world to visually verify them and input their data. The smart contract will then aggregate those human verified results to produce the ICP verified elections results for Kenya’s 2027 general election. Using the power of the crowd and the power of ICP smart contracts a final tally could be produced in a timely manner (<10 mins) and delivered to the world.

No longer will the IEBC have a monopoly on the truth on the final tally for our elections. PROBLEM SOLVED!

The ICP community could do what has never been done in any democracy: verify an entire election and save actual human lives.

WHY THIS MATTERS: The Kenyan election attracts global medial coverage and this would be a good demonstration of ICP smart contracts in use in the real world doing something useful. All the things like proof of personhood the community has been discussing would gain more importance and new meaning. This would take our community mainstream if we can capture global media attention in the lead up to, during and after the Kenyan election and our community would grow by orders of magnitude.

This is a project that is close to my heart. I would love if we could implement it by pooling all the resources in our community.

I would love feedback.


Personally, I think we should be a purely economic organization. We should not interfere in politics.

let’s do some good. good.

Hi Sam,

Think we are far from that being a reality. I would advise to start small, show and prove how it works, then grow to bigger and bigger institutions, until it reaches an entire nation.

On your context, already can see a few important risks (that no ICP tech or SNS can mitigate).

  • It needs legal, government, international and even population recognition of the process/results.
  • it needs heavy/battle testing until it can be almost garanteed it can’t/wasn’t tampered with.
  • it relies on the community to do the human verification. But the community is not trained in the election system. Even if it was somehow guaranteed it wasn’t economically motivated to tamper the results, it still has to deal with simple human failure (mostly due to lack of training).
  • last but not least, if web2 has some performance issues, web3 will be (theoretically) even worse. It could hit network/storage/speed issues for such a large size operation. Even the distance to IC nodes could be a problem.

So in short, super aligned with the direction. But we need to start small and grow in usage and recognition.

To my understanding the IEBC has all the constitutional power about election polls in Kenya; the goal would not be to replace them but rather provide the body with tools to make the elections results more open and verifiable to the general public in real time.
I envision the work with the government bodies of Kenya about the matter at hand would set pace and birth a revolutionary trend that can serve as a template of election process to be adopted across all regions of Africa and in the world. There are however several challenges that lie along the way among them being education of the general public about the IC technology to solidify trust in the designed system, setting up at least 1 data center in all provinces which can be costly and nurturing a home talent to spearhead the codifying of the election process.
Overall I can see this motion come to fruition. General elections being 2027 I imagine work on this process would begin in early 2026; however prior to that, motions have to pass via parliament on the adoption of this technology in verifying election results. There are also other challenges that lie ahead among them being the adoption of the SNS by the larger IC community and NNS. It would not be an easy transition but it is a project worth investing time and resources in :kenya: :white_check_mark:.

There is a saying in China: protect yourself when you are weak, and help those in need when you are strong. In a word, your idea is very good, but now is not a good time to implement it.

1 Like

I do agree but we have also seen how difficult ICP is having converting its great tech to mainstream attention and use. ICP needs to be ambitious and this could be a great way to showcase it.

Yes, i agree with all your points. But i still see it as a pursuit worth pursuing. Nothing great is easy and with a dedicated team we could work on all those challenges and we have time 4+years.

Here is an example of one of the doucments

As you can see to read the document itself requires little training as it is designed to be easily verifiable so it is feasible.

You dont need data centres, the IEBC already delivers what we need through a CDN and we could even ask for logs etc from each of the transmission kits. This problem is a processing problem.

With a crowd able to collaborate like in r/place we can verifiably count the election faster than it has ever been done anywhere. This is a perfect task for an ICP smart contract. I’m trying to get buy in with the blockchain association of Kenya & others and maybe i can get the ball rolling from there also.

I firmly believe that this could be a project that could galvanise the ICP community towards a single goal and along the path of doing good our community will break through into the crypto mainstream.

Sounds interesting. So all documents are available and all you need to do is get volunteers to digitize them? I suppose each document will be digitized with redundancy by 3+ volunteers. Can you get enough people to join? How many will be needed? The IC part doesn’t seem too hard to do.

The thing is, by 2027 OCR and AI will be even better. I don’t see why you can’t get the documents through a few different AIs and then check if the numbers match.

That’s why I think the NNS is great, because it can guarantee the authenticity of the vote. I think the NNS will be one of the important ways of human governance society in the future,people living in democratic countries may not understand.

Exactly, all documents are publicly available and we could even use the 2022 data to do a full election day simulation to load test the system. so all we need is the document digitised and with enough people we will get an accurate reading of the data. The issue with ai is that it will be closed box and i want everything to be open source for maximum trust. With internet identity we can have volunteers from around the world and with some work ensure no bots participate.

Exactly we can give the world a complete audit of our SNS for maximum transparency. This would be a great use of the ICP community fund