---
# System prepended metadata

title: Team2 Proposal

---

# Team2 Proposal

##    組員
R12922124 資工所 葉晟育
T12902101 資工系 鄧人瑋
R12944020 網媒所 陳詠君

##    專案名稱
&emsp;&emsp;**基於區塊鏈的匿名保密投票系統**

##    目錄
* [簡介](#簡介)
* [使用區塊鏈的必要性](#使用區塊鏈的必要性)
* [動機](#動機)
* [探討](#探討)
* [方法](#方法)
* [經濟效益](#經濟效益)
* [複雜度、我們可以做到什麼程度](#複雜度、我們可以做到什麼程度)
* [參考資料](#參考資料)

##    簡介
&emsp;&emsp;「線上投票」是最節省大家時間的作法，只要連上網路就可以投票，同時人也不一定得在投票所才能進行。然而線上投票存在很多疑慮，如投票結果被竄改、匿名性和保密性問題等。因此，我們希望透過區塊鏈技術改進投票系統來解決這些問題。

##    線上投票利與弊
- 好處:
    1.使行動不便者能不用出門投票。
    2.增加投票率。
    3.減少人力成本(監票人員、計票人員)。
- 壞處:
    1.可能遭受網路攻擊。(因為資料是分散於不同使用者的，所以區塊鏈技術可防止網路攻擊)
    2.過程無公開透明性以及信任，代表選舉可能被操縱。(區塊鏈投票系統為open source)
    3.投票資訊的保密性受到質疑。(可藉由零知識證明來達成資料保密性)
    4.投票者可以能遭受脅迫。(目前無解決方法)

##    使用區塊鏈的必要性
![image](https://hackmd.io/_uploads/ByeGMyGJra.png)
- 多人可改資料--YES
- 大家相信彼此--NO
- 第三方可相信--NO
- 資料要隱私--YES
- 實名

[泰國民主黨黨內初選使用區塊鏈投票系統](https://www.nasdaq.com/articles/thailand-uses-blockchain-supported-electronic-voting-system-in-primaries-2018-11-13)
[Hyperledger Fabric was chosen to be a major blockchain infrastructure](https://hyperledger-fabric.readthedocs.io/en/release-2.5/key_concepts.html)
[The Prototype of Thai Blockchain-based Voting System](https://thesai.org/Publications/ViewPaper?Volume=11&Issue=5&Code=IJACSA&SerialNo=10)

##    動機
&emsp;&emsp;提高線上投票的透明度、公正性、安全性和隱私保護，同時減少系統被攻擊的風險，並確保投票結果的真實性和完整性。

##    探討
- **如何確認一個人只能投一張票**
- **如何確保公正性**
- **如何確保匿名性**
- **如何將個人選擇全程保密**
- **如何確認在投票過程中無法開票**  [name=薛]：而且要使用公鏈
- [name=薛]：**如何防止脅迫投票**

##    方法
- **實現一人一票**
    1. 每個公民可以用身份證以綫上或綫下的方式來創建自己的公鑰。這其中需要通過公民身份資料庫來驗證身份，確保一個使用者只會有一個帳戶。
    1. 僅給每個使用者一個token，在投票時須消耗一個token，確保每個人只會投一次票。并且由於不可篡改，本人改變主意也不可以變。
- **確保公正性**
    - 把投票紀錄存放在區塊上，並且利用數位簽章驗證投票者的身分。因為紀錄都保存在鏈上，每個人可以在開票後檢視開票結果。
- **確保匿名性**
    - 區塊上投票者（Token支付者）信息為公民的公鑰。
- **個人選擇的保密**
    - 被投票者地址進行加密
- **實現投票過程保密，即無法中途開票**
    - 公開鏈，但是開票時間到之後直接查看候選人賬戶Token數量即可
- **防止脅迫**
    - 陰陽密鑰+延遲記錄

##    經濟效益
- 政府方面：減少綫下投票點管理的開銷
- 公民方面：使不方便行動的族群可以在家投票。

##    複雜度、我們可以做到什麼程度
- 小型demo，如模擬100個公民，3個候選人的投票系統。

##    To do
- 了解 hyperledger fabric 架構

##    參考資料
[使用零知識證明來實現可使用公有區塊鏈來稽核的匿名電子投票](https://ndltd.ncl.edu.tw/cgi-bin/gs32/gsweb.cgi/login?o=dnclcdr&s=id="111NTNU5392019".&searchmode=basic)
[The Prototype of Thai Blockchain-based Voting System](https://thesai.org/Downloads/Volume11No5/Paper_10-The_Prototype_of_Thai_Blockchain.pdf)


##    slides
https://docs.google.com/presentation/d/1KNI2aC0Z8LaBfBtHukM78g5Kg5A_V5zsncptNaE322w/edit?usp=sharing