标题电子投票中隐私性和可验证性问题。
计划:在智能合约中否定只保留计票数的操作,同时存储
sha256(msg.sender,TAG)
其中,TAG是用户自定义上传的混合信息,其目的有两个。一是提SHA256的混乱程度,降低其他用户获取地址的信息破解。二是作为必要信息存储到投票者的数据结构里,提供验证时的计算。
利用msg.sender的原因旨在防止多人采用同样TAG,使得无法验证是否是自己进行的投票。
综上,(msg.sender+TAG)的SHA256 可以有效解决可验证和隐私性的问题。
未投票但是已经获取投票的人员的权利回收问。
原因:此举是为了给管理员提供了部分纠正的功能,部分解决管理员在拟定投票人时的错误或失误操作导致的投票人身份不合法。
计划:建立未授权数组arr1及授权但未投票的数组arr2。
管理员提交第一次信息时将合法身份注册到arr2,同时删除arr1中的相关内容。管理员提交删除信息后,将存在在arr2里的名单移到arr1里,同时删除arr2里的对应内容。
投票者获取投票权并进行投票后,直接将arr2里关于本人的信息移除,此后,管理员将再无权对其身份合法性进行更改,同时也再查到该成员的信息。