MIT關於區塊鏈投票系統不可靠的報告,哪裡不可靠?

近期美國大選吸引了全世界的目光,而直到發文的時候,大選結果還未出來,主要原因是今年特朗普團隊認為今年的大選出現舞弊現象,原因是有報道稱一個叫Dominion投票系統出現過一個小失誤,將特朗普的小部分選票劃給拜登,當然目前事件還在調查之中,是否真偽這時候也難以判斷。

據媒體報道今年美國大選中採用的投票機來自三個不同的公司,分別是選舉系統和軟體(ES&S),Hart InterCivic和Dominion投票系統。當然網上也有爆料說Dominion系統出現過軟體故障,還專門有影片展示,我們暫且不說這件事情,對於瞭解區塊鏈行業的人來說,區塊鏈投票是一個最簡單而且透明的方法,並且還安全,一直以來這也是大家對區塊鏈投票的第一印象,很多人初學智慧合約solidity語言程式設計的時候,第一個demo合約就是一個簡單的鏈上投票系統,可見目前區塊鏈投票還是比較有前景的。

在全世界都在討論投票造假問題的時候,很多人目光就鎖定了區塊鏈投票,本來筆者以為這是一個很好的宣傳區塊鏈機會,但是MIT的一份報告卻說基於區塊鏈的投票系統其實並不可靠,這就引起了很多人的關注。

圖片摘自騰訊新聞

那麼基於區塊鏈的投票系統是不是真的不可靠呢?我們也來探討一下。

投票系統的複雜性

很多人用以太坊智慧合約寫投票系統的時候,肯定沒有想到投票的複雜性,首先是登記選民,這一步目前普通的區塊鏈開發者基本上是比較難實現的,因為選民的登記是一個比較複雜的過程,涉及到個人身份資訊等。

當然傳統的方式比較簡單,投票軟體公司直接連線上美國國內負責身份資訊的政府單位伺服器,然後直接用來核實選民身份,這一步驟大家都是大同小異,但是區塊鏈生成的投票賬號如果在投票前遭到盜取,那麼可能難以解決,就是類似賬號被盜的情況,這個時候就要有專門的解決方案。

而傳統的線上投票方式則只需要進行修改密碼或者忘記密碼等功能實現就行,這部分如果放到鏈上就顯得複雜很多了。

登記選民之後,就是投票時身份的核實,傳統方式還是比較簡單,一個API埠就行,而區塊鏈投票系統如果走傳統方式,那麼還比較簡單,如果要鏈上儲存個人資訊來進行資料核實的話,就相對複雜多了,技術實現難度比較大,也就是說區塊鏈去做投票系統可能會更加複雜,傳統方式可能會原理簡單一些。

不同條件下投票速度和可擴充套件性

傳統的線上投票速度自然快,使用者端直接將投票資料上傳到伺服器,伺服器記錄,就完成了投票過程,當然中間也有複雜的步驟,比如客戶端的安全、資料傳輸過程的安全和在伺服器內部儲存的安全性這三大安全必須要保障好。

而區塊鍊形式的投票,我們認為就是一個轉幣的過程,假如候選人是A和B兩個賬號,然後選民有1個幣,他們只能將這個幣發給A或者發給B,而且數量只能是整數,不能帶小數點,這樣專用做投票的鏈其他功能完全可以禁止掉,只留下投票的功能。

區塊鏈我們都知道投票的速度比較慢,而傳統線上的S/C形式的投票就相對快多了,當然如果出現大選最後一分鐘投票的話,那麼可能鏈上會出現阻塞的情況,而且沒法解決。而伺服器模式投票一般阻塞的話,多開幾個好的伺服器就行,這樣就可以分流。

投票系統部署的成本和攻擊成本

投票成本基本上來說,自然是區塊鍊形式的投票成本高,因為這是基於節點的形式,也就是說需要大量節點來保證資料無法被篡改,傳統線上投票自然成本就低很多了。

當然對應的,傳統線上投票的攻擊成本一般來說比較高,主要是集中在使用者裝置方面、資料傳輸和伺服器儲存資料方面,但是考慮到現在的資料都是加密的形式,因此重點還是在使用者裝置方面,比如手機感染病毒出現亂投票的現象,伺服器端一般資料被鎖定或者破壞比較多,修改的話也得破解系統管理員密碼才行,專業的系統一般都是硬體鎖,簡單來說,就是將類似隨身碟這樣的硬體連上之後才能登陸,否則就沒法登陸,這樣很大程度上避免了駭客攻擊的現象,除非採用社會工程學的方式盜取硬體加密鎖,這樣才可能破解管理員密碼。

區塊鏈投票系統則是另一種情況,因為是點對點形式的,因此各類的節點誰去運營是一個問題,如果都是某一個機構運營的話,那麼就相當於一臺機器,因此作廢誰的選票都可以,這自然就有問題了,除了運營者外,節點的配置也是比較關鍵的,一般分為記賬節點和確認節點,那麼記賬節點就是否能夠正確投票的關鍵,確認節點是能否作廢投票的關鍵。

記賬節點如果維護不當,可能導致很多人投票失敗,確認節點如果維護不當,可能會導致已經投好的票被作廢的情況,如果被攻擊,那麼這些票會被進入記憶體池,然後遲遲不上鍊,這就很尷尬了。

但是區塊鏈投票的話有一點是比較不錯的,那就是選票投給誰是無法修改的,而且可以斷網簽名,然後聯網廣播,這樣避免了駭客攻擊投票者裝置。比如你投特朗普,可能即使是駭客,也沒法修改系統改成拜登,除非他拿到你的私鑰,或者駭客可能會做一些破壞,使得你的票沒法上鍊,簡單說就是你將票填好了,結果發現投票點關門了,這就是目前區塊鏈投票系統存在的問題。

區塊鏈投票還有一個問題,就是粉塵攻擊問題,這一點尤為明顯,比如一大幫惡意選民,他們在最後一段時間裡開始投票,佔用tps,這樣使得其他選民沒法上鍊,因為確認區塊也是有時間的,因此這樣的話,就會造成很多票沒投上的問題,即使沒有駭客去攻擊系統,也會出現這種現象。

系統運營者問題

當然區塊鏈投票中存在的問題,筆者認為最關鍵的還是節點是誰運營的問題,假如AB兩黨各運營一半,那麼他們作為利益相關者,可能會在出塊的時候動點手腳,比如不是他們的票,他們不上鍊,這就問題大了,另外如果給第三方的話,也有可能出現被金錢收買的情況,因此還是無法保證安全。

當然有人可能認為說,用公鏈,畢竟有激勵,可以讓礦工有利可圖,他們自然會公平些,其實這也是有矛盾的,一般來說,不相關者可能會公平點,但是大選這件事情不是金錢能夠衡量的,因此可能有的礦工即使虧本也要作惡這樣就不好了,比如可能礦工生命受到威脅了之類的。

當然我們假設使用比特幣鏈或者以太坊鏈,這樣還會出現另一個問題,那就是攻擊成本問題。

目前美國大選,兩黨光為此消耗了140億美元,我們按照一黨70億美元來算,當然也就是說,比特幣的鏈一筆投票交易產生的價值要大於50美元才行,這裡按照美國大選1.4億人口投票,比特幣一個區塊3000筆交易算的,那麼一個區塊的價值要15萬美元,按照現在的區塊獎勵肯定是不夠的,也就是說駭客動用51攻擊是比較划算的,這樣就不能保證資料的安全性。

比特幣鏈都不能保證安全性,自然以太坊鏈也是不行的,其他鏈自然就更不用說了。

最後,其實新聞上說的MIT教授們擔心的選票的可追溯性、審計、保密性這些其實基本上都不是什麼大事情,因為區塊鏈現在的發展,其實類似門羅幣這樣的隱私技術已經得到應用,可追溯性是區塊鏈最拿手的,我們常說的區塊鏈溯源其實就是落地之一,至於審計,現在的做鏈上資料審計的公司確實相對來說是比較少,但是未來肯定還會繼續發展的。總體上來說區塊鏈技術應用於投票之中還是有不少問題的,但是我們注意到,其實重點是選舉的重要程度和相關成本問題的博弈,簡單來說,如果搞一場小規模的選舉,那麼自然一個公鏈或聯盟鏈就可以解決,如果是總統大選這樣的選舉,那麼這不僅僅是聯盟鏈,而且現在的公鏈也無法支撐起來,當然傳統的線上投票自然也是不太可能撐起來的,但是目前對比起來,其實區塊鏈進行大選投票,可能問題更多,當然這也沒事,因為區塊鏈技術也是不斷進步的,現在不行不代表以後不可以,區塊鏈投票是基於博弈原理的,如果後期能有技術將這種模式改掉,那麼效果也不一定會差。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读