blockchain; online voting; election; encryption mechanism; security; voter privacy; public verifiability; self-tallying