问了 ai,感觉方案都有缺陷
前置条件:
允许事先对每个人验证身份,并官方提供可能的认证信息
要求:
1 投票结果是准确的,即可以确定确实是有资格的 n 个人投票并投给特定提案
2 投票是匿名的,即只能确定投票人有投票资格,而不知道具体是谁(包括主持人或者组织者也不知道)
3 完全线上化,算法化
其他边界条件:
一人一票
只能本人投票,不可代他人投票
除非全部参与者坐到一起提供全部信息并且不撒谎,否则无法确认每一票的投票人
假定大多数人是诚信的,少数人可能会破坏投票
如果有破坏者,是可以在大多数人配合的情况下找到的
1
laminux29 289 天前
非常简单:
1.官方打印一堆全局唯一的随机数字,10 - 12 位就行,不能是连续的。如果不缺钱,甚至可以做成刮刮卡形式的,要刮开才能看到随机数。 2.随机数或刮刮卡,以抽卡的形式发放,保证每个人是随机抽取到的,不能使用发放的形式,不然大家会觉得随机数或刮刮卡上面有记号。 3.投票时,需要输入这些随机数字,才能投票。这样就保证了投票人是有资格的。 4. [不可代他人投票] ,这一条是做不到的,因为它与匿名投票冲突了。就连大会堂的投票,都能发生代投票。 |
2
Aoang 288 天前
只要程序不记录,就能匿名。不然还不是追着痕迹找到人。
问题核心在于如何信任程序会不记录 |
3
meeop OP |
5
laminux29 288 天前
@meeop
1.请仔细看第 2 条:保证每个人是随机抽取到的。 也就是每个人领取时,是随机抽取,就算有监控,也无法看到那个人到底拿了啥。而且如果是刮刮卡,保密性更好。我觉得你应该从没参与过现场纸质匿名投票与抽票,你可以自己先试一下。 2.只要是匿名投票,就做不到不可代投,这是原理问题。你说的私有签名,持有者是可以主动把私有签名发送给其他人的。 |
6
wcxu1123 288 天前 via Android
我感觉既然有途径找到所谓的“破坏者”,那这还是多了很多弯弯绕绕实名制。一个有权限投票的人投什么都是他的自由,什么情况会成为破坏者呢?破坏预期结果的人?
|
7
meeop OP @laminux29 在主办方作弊情况下,这个随机领取是无法保证的,比如各种彩票,也可以通过取票后检查剩余哪些票来判断你取了哪张。
扑克作弊有一种方法就是在扑克背面隐藏信息(比如图案🈶细微差别),这个刮刮卡完全可以从很多我不知道的角度做手脚,从而观察到我拿走哪张或者至少观察到剩余哪些 |
9
meeop OP |