[...] any proof that the e-voting is definitely insecure.
[...] Blockchain can be considered the best solution compared to the current voting system as it covers many security aspects.
can anybody explain to me thoroughly with tangible examples and proofs
In cryptography, a system is considered secure:
- under a set of assumptions
- if formal proof exists
- if an attack requires so much more effort than normal usage of the system that the attack is not only infeasible but impossible.
The proposed
e-voting system based on hyperledger fabric blockchain
is lacking so many details that no one will be able to provide proof that it is insecure. However that does not mean it is secure. Quite the contrary, typical "security assumptions" for blockchain systems include:
- proof of work - this typically means, that the system is secure unless a single attacker has a substantial part of the computing power of the rest of the system. The Bitcoin blockchain is computed in a distributed network. If at any point in time any attacker ever has more computing power than the network, they can fake blocks, that will not become part of the blockchain. This makes the supposedly irreversible transactions in Bitcoin reversible (by abandoning the faked branch) and allows for fraud. This attack is even described in the whitepaper founding Bitcoin. It's not bad practice, to describe potential attacks on the system. However it is bad that the attack only requires an effort from the attacker that grows linearly with the effort put in by regular users.
Non-blockchain systems (i.e. most cryptography) use exponential growth to be fast enough to be used comfortably by regular users while attackers would need all the computing power existing extrapolated to the expected end of life of the system running till the heat death of the universe to crack a single code. "Attackers not having a tad more computing power at any time" is a laughable security assumption in comparison.
- trusted central authority - Bitcoin is a distributed system. Other cryptocurrencies (e.g. Ethereum) rely on a trusted central authority. However having a trusted central authority completely defeats the purpose of establishing trust via blockchain. Think about it this way: PayPal is a payment service with a trusted central authority. What benefit do cryptocurrencies add? They are slower. There's no fraud protection. Most people don't even get, what cryptocurrencies actually are.
PayPal doesn't use blockchain, because their system is simpler, faster and safer without.
- non-quantum computing - Since OP tagged the question "elliptic curves", I'd like to "honourable mention" the impact of quantum computing. Since quantum computers can invert any function [citation needed] that they can compute, hash-based proof of work is likely to fail. If OP claims that his proposed system is "quantum secure", that is a strong claim that should be proven by OP, instead of asking for a proof to the contrary from people, who don't have any detail on the actual proposal. This is not just my opinion but actual practice in what's usually called an auditing process. Not passing auditing processes is also a feature of many blockchain systems as indicated by the criticism by well-known security experts.
E-voting can have some additional security assumptions
- restricted access - There's a challenge to reprogram voting machines to play Doom. There's also a university professor, who takes photos of unattended voting machines. Both of this combined exemplify one of the rules of computer security: If an attacker has physical access to the system, it isn't your system anymore. Problem is, with dedicated voting machines you have to grant access to the machine to anybody, who wants to vote. Without dedicated voting machines, how do the elderly or the poor vote? How do you make sure, eventual non-dedicated machines used for voting are secure? If an attacker can change your software, they can make your software ignore the input of the user and vote for Cthulhu (why vote for the lesser evil?) instead. No amount of buzzwords (e.g. Blockchain) will change the fact that software can be changed.