如何检查用户是否投票但无法看到为谁投票?
How to check if an user voted but to be impossible to see for whom?
区块链投票系统
当前系统的工作原理
- 用户身份经权威机构确认后方可投票。
- 选票由权威机构收集和统计。
- 得票最多的人,拥有~4年的权力,然后我们再投票。
问题
- 民选者在〜4年内可能会变得不负责任和腐败,而公民对此无法做太多事情,他们只需要等到〜4年就会到期。
- 很多钱都花在了竞选活动上,因为每个人都在努力获得权力~4 年。
新系统如何运作
- 用户在其身份在区块链中注册并得到权威机构确认后才可以投票。
- 投票匿名存储在区块链上。
- 可以检查用户是否投票,但不可能检查他为谁投票。
- 投票是"realtime"(每xx分钟一次开采一个新块),可以在城镇中心的广告牌上显示,因此民选人士每天都会观看它,并努力维护人们的信任。
- 允许用户每周(星期日)更改他们的投票。
- 如果用户 X 周未更改或更新他的投票,则投票将过期并删除。这样市民会更加活跃(这也解决了死用户的问题)
问题
- 如何实现:可以检查用户是否投票,但不可能检查他为谁投票 ?
如何实现用户?
- 身份验证:生物识别或仅由权威机构提供的密钥。对于非技术用户来说,它必须非常简单和安全。
- 新用户创建 - 年满 18 岁的新人
- 任何人都必须能够验证投票的用户是否是真人(防止有能力创建新用户的腐败的中央机构泛滥)
选民发表他们希望如何投票的声明。
选民盲选,将盲选附在身份证明上并签名。
中央机关接收盲选并验证签名。如果签名正确,则中央机关签署blinded票
选民揭开签名的选票并将其上传到存储库或匿名添加到区块链。
中央机构必须能够为每一张非盲选票产生一张签名的盲选票。那么如果收集到中央机关签名的5万张选票,中央机关必须能够拿出5万张选民签名的盲选票。
签名的盲选票显示了谁投票了。公开投票显示每个候选人或提案获得了多少票。无法将盲选票映射到非盲选票,因此无法判断谁投了什么票。
区块链投票系统
当前系统的工作原理
- 用户身份经权威机构确认后方可投票。
- 选票由权威机构收集和统计。
- 得票最多的人,拥有~4年的权力,然后我们再投票。
问题
- 民选者在〜4年内可能会变得不负责任和腐败,而公民对此无法做太多事情,他们只需要等到〜4年就会到期。
- 很多钱都花在了竞选活动上,因为每个人都在努力获得权力~4 年。
新系统如何运作
- 用户在其身份在区块链中注册并得到权威机构确认后才可以投票。
- 投票匿名存储在区块链上。
- 可以检查用户是否投票,但不可能检查他为谁投票。
- 投票是"realtime"(每xx分钟一次开采一个新块),可以在城镇中心的广告牌上显示,因此民选人士每天都会观看它,并努力维护人们的信任。
- 允许用户每周(星期日)更改他们的投票。
- 如果用户 X 周未更改或更新他的投票,则投票将过期并删除。这样市民会更加活跃(这也解决了死用户的问题)
问题
- 如何实现:可以检查用户是否投票,但不可能检查他为谁投票 ?
如何实现用户?
- 身份验证:生物识别或仅由权威机构提供的密钥。对于非技术用户来说,它必须非常简单和安全。
- 新用户创建 - 年满 18 岁的新人
- 任何人都必须能够验证投票的用户是否是真人(防止有能力创建新用户的腐败的中央机构泛滥)
选民发表他们希望如何投票的声明。
选民盲选,将盲选附在身份证明上并签名。
中央机关接收盲选并验证签名。如果签名正确,则中央机关签署blinded票
选民揭开签名的选票并将其上传到存储库或匿名添加到区块链。
中央机构必须能够为每一张非盲选票产生一张签名的盲选票。那么如果收集到中央机关签名的5万张选票,中央机关必须能够拿出5万张选民签名的盲选票。
签名的盲选票显示了谁投票了。公开投票显示每个候选人或提案获得了多少票。无法将盲选票映射到非盲选票,因此无法判断谁投了什么票。