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