Protocol-Design
可以在比特幣區塊鏈上進行 eVoting 嗎?
我基本上是一個加密菜鳥(而不是英語本地人),所以請放縱 :)
我想如果你能用比特幣實現一個電子投票系統。
我看到兩個主要要求:
- 每個公民只能投票一次
- 選票不可追踪
我想像政府可以給每個公民一個私鑰(例如他們的護照),並使實際投票成為一個多重簽名程序,您需要提供政府提供的簽名以及您自己的簽名來簽署您的選票。
現在對於我的實際問題(感謝您到目前為止的耐心):
是否有某種數學魔法可以確保滿足這兩個要求?換句話說:您能否以加密方式使用兩個私鑰來簽署交易,確保一個密鑰是由某個 CA(= 政府)頒發的,而無法追踪到實際使用者(保持投票匿名)。
是的,可以做到。但是,它的工作方式與您想像的略有不同。
政府可以創建一個在零幣規則下執行的新區塊鏈。然後政府可以為每個公民分配一個聰。例如,這種分配可以通過讓每個公民訪問政府辦公室出示他們的護照並接收他們的聰來實現。特定區塊鏈上的這個 satoshi 構成了為這次選舉投票的許可。
分發聰後,政府將以零幣地址的形式宣布候選方。然後,每個公民都可以通過將他們的 satoshi 轉移到他們所投票的政黨的賬戶來投票給他們喜歡的政黨。
最後,當選舉結束時,區塊鏈可以被凍結在一個特定的區塊號上,每一方都可以透露他們收到的金額。然後可以比較這些金額以選出獲勝者或計算獲得議會席位。
該方案同時滿足您聲明的防止雙花和**投票保密的屬性。
然而,這不是一個好的投票方案,因為它有很多問題。一個重要的問題是強制;公民可能被迫在槍口下放棄投票。