Re: [校园] 选举疏失与相关后续处理

楼主: concise (馅锅)   2014-05-30 14:14:07
※ 引述《windhong (登登)》之铭言:
: ※ 引述《a5378623 (黑云)》之铭言:
: : 公开原始码的用意,除了找义工免费帮你修正外,更重要的是让整个机制公开透明,进而
: : 让大众“监督”选举流程。
: : 不要说你忘记,就算你在“当天早上”修正完有记得修改,这也和黑箱没有两样。你以为
: : 谁会有时间,24小时盯着你的网页看你有没有偷偷修改内容?
: : 说到底,投票系统“根本就应该提早完成,并且经过学代监督”而不能概括授权。
: : 这其实和服贸很像,立法院同意行政院去签服贸,不代表可以随便签,甚至是让你“任意
: : 修改服贸内容”,这是绝对不允许的!擅自修改内容这样的行为,比30秒黑箱更过分!!
: 公开原始码基本上是为了debug,让大家检视这个程式有没有问题,
: 甚至在公开的程式原始码基础上,进一步发展新的功能。
: 开源能做的,是透过热心的参与者,
: 确保程式1. 功能是否正常 2. 安全性是否无虞。
这就是开源的美好之处,透明公开化,让对事物有兴趣的人们能够去检验、修改之。
: 但如果要确保程式不影响选举的公平公正,除了程式本身的漏洞之外,
: 还要再处理一个环节:就是确保投票过程中,选务程式版本一致,
: 也就是投票开始前、投票中、结束后需要检查程式没有被更动。
: 因此,只要有人能够确认这点,那么这个部份才没有问题,
在此小鲁想要对这点提醒一下,
今天我们能看到的 5/28 这种简化版的电子投票运作方式,
是“不可能”对外人‘证明’某一段时间 server 一直在跑的程式
确实就是哪一个版本的程式码,真的一模一样完全没有任何的加料、修改。
这件事永远都只可能是内部参与的人才能够确实掌握而已。所以不用考虑怎证明了。
因为不能证明,其实也不用太认真去考虑怎样说明了,
因为就算讲了,人们也可以不去相信。(当然良心上来讲都是该意思意思地解释一下)
于是,对于“公平公正”,真正的重点不应该是摆在程式的版本上。
这种系统在开发上来讲,至少需要有两个阶段、两个性质完全不一样的元件的开发。
一个元件就类似是我们今天可在 GitHub 看到的,那些基本的处理 user input 的功能,
另一个重要的元件是来自密码学家所研究提出之安全的投票协议。(我们还没有)
重点应该先放在把程式想要实作的那个核心的“数位化投票”的协议逻辑给做好。
这核心的算法,相较于各种 front-end (只是一些资料的处理 for user/server) 来说
是很单纯、少量的(虽然较难懂),这一部分特别需要让热心参与的人仔细地好好检视。
虽然比较辛苦,但只要这个核心在“open”的情况下让人们检验、判定无虞、
提供了一些最基本的应能够被“证明”的特性以后,我们撰写的别的部分的程式码当中
那些 user front-end 、 service front-end 等各种细节的 bugs 就算不小心发生了,
也不会对系统运作造成严重的影响。这样子的系统才够 robust ,亦是应该努力的方向。
附注一下最后叙述到的所谓“严重的”影响,系指:
* 发生了不合理的错误,人们无法立即或事后发现,并且严格地证明之。
* 系统发生的某个错误,无法被侷限在最小损害范围内。
(一张票的错误、一个人预期外的行为,不该影响其他人的选票、或者系统的运作)
* etc.
这种程度的情况。
作者: windhong (登登)   2014-05-30 14:52:00
嗯,没办法就server的读写纪录做检查吗?我只懂个大概轮廓,并不是专业,对技术问题并不理解感谢说明!不过您补充的第四段基本上是不可能的@@
作者: tbbhwinh (久我匡一郎)   2014-05-30 16:00:00
推详细

Links booklink

Contact Us: admin [ a t ] ucptt.com