Short answer: You do not need blockchain to perform a cryptographic "End-to-end auditable" voting protocol. You probably meant that cryptographic protocol instead of blockchain, in that case, the big challenge is to convince all voters that the execution of the protocol results in fair election.
End of short answer.
The original meaning of blockchain is restricted to open, permissionless, censorship resistant blockchain. Later, "permissioned blockchain" came into the scene. In my opinion, permissioned blockchain is bullshit. I could be wrong here due to some unforeseen use cases, but in all cases I have seen, if you can replace "blockchain" with "database" you don't need blockchain. See
https://www.youtube.com/watch?v=SMEOKDVXlUoThe essence of blockchain is permissionless without central authority. The vision that I have in 2009 is that peers can achieve consensus without trusting each other. Consensus is achieved through block reward mechanism among peers without central authority. The reward mechanism is in fact the core idea of blockchain leading to consensus achieved through game theory. The importance of openness cannot be understated - open blockchain is akin to internet, permissioned blockchain is just a closed walled garden intranet. If you think internet is cool technology, take away the openness and censorship resistant feature, let the government maintain all content, then you are left with useless thing that is not even an internet.
In the context of Malaysian voting, you need at least the JPN's (or SPR) database to have a list of eligible voters. Therefore JPN becomes the central authority. There is no need for blockchain to execute end-to-end auditable voting in this setting. Instead, SPR will just need to publish some data for the public to verify and each voter will see that his own vote is taken into account. Remember, blockchain is about openness and this is contradictory if you just want Malaysians to vote because the blockchain does not differentiate between Malaysians and non-Malaysians. You can do global scale voting on blockchain but it does not have the concept of "one person one vote." The blockchain is by design easy for one person to act as multiple person. The technical term for this is Sybil attack. This is not a problem on Bitcoin because it is perfectly okay for one participant to own multiple Bitcoin addresses. On the other hand, voting on blockchain will most likely result in votes weighted by the value of tokens owned by each individuals.
I can see a link between voting and blockchain, which is timestamping and permanent record. In case you didn't know, anyone can use a timestamping service for the Bitcoin blockchain free of charge,
https://originstamp.org/The weakest link in gaining trust is still people need to trust SPR/JPN central authority and this cannot be solved by blockchain.
Back to the basics, what the voters want is a cryptographic protocol that can satisfy the following properties:
1) An individual voter must be able to verify that his vote is taken into account accurately.
2) His vote is secret and cannot be deduced from the result.
3) Only eligible voters can vote and each of them can cast at most one vote.