999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區塊鏈的投票系統設計*

2018-07-26 02:19:44郄九玲
通信技術 2018年7期
關鍵詞:系統

郄九玲,胡 浩

(南京郵電大學,江蘇 南京 210003)

0 引 言

沒有調查就沒有發言權。投票調查在生活中扮演著重要角色。但是,現有的線上投票系統依然存在一些不容忽視的問題。比如,系統管理者可能會為了利益而惡意修改數據;系統可能遭受黑客的攻擊。現有線上投票系統的公正性和安全性,完全依賴網站本身的安全和信譽度。而區塊鏈具有去中心化、數據不可篡改、安全可信的特點,數據一旦存入區塊鏈,就無法篡改。區塊鏈是不可篡改、真實可信的數據庫,因此區塊鏈技術是保證投票系統公正性和安全性的最佳方案。

1 認識區塊鏈

狹義來講,區塊鏈[1]是一種按照時間順序將數據區塊以鏈式結構組合成特定數據結構,并以密碼學方式保證不可篡改和不可偽造的去中心化共享賬本,能夠安全存儲有先后關系的、能在系統內驗證的數據。

廣義上的區塊鏈[2]是利用加密鏈式區塊結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用自動化腳本代碼(智能合約)來編程和操作數據的,一種全新的去中心化基礎架構與分布式計算范式。

區塊鏈是不可篡改和不可偽造的去中心化共享賬本,具有去中心化、去信任化、安全可信等特點[3]。

(1)去中心化。區塊鏈網絡中的所有節點共同提供服務,參與網絡中數據的驗證、記賬、存儲、維護和傳輸等過程。網絡中不存在擁有特殊權利的中心節點,從而形成去中心化的分布式系統。

(2)去信任化。區塊鏈網絡中的信任由數學算法來背書。區塊鏈網絡中的節點互相交換數據時,不需要了解對方的可信度,通過數學算法建立信任。網絡中的數據可驗證,各節點欺騙不了其他節點。區塊鏈系統運行公開透明,數據可查[4]。

(3)安全可信。區塊鏈通過數字簽名技術、基于時間戳的鏈式結構和分布式系統共識算法聚合的強大算力,保證區塊鏈數據的安全可信,不可篡改。區塊鏈以分布式存儲數據,每個節點都存儲網絡中生成的數據,相當于數據有了很多備份。P2P網絡中的各個節點存儲著完全相同的數據,除非攻擊者控制P2P網絡中超過一定比例(比特幣為51%,數學證明不可行)的節點[5],否則任何單個節點惡意修改數據,都不會影響整個網絡數據的正確性。

2 系統需求分析和架構設計

2.1 需求分析

2.1.1 研究目標

為了滿足個人、企業、機構及政府的意見調研需求,需設計一個公平、公正、透明的投票系統。投票系統有如下三個分指標:

(1)確保投票數據不能被篡改;

(2)投票數據可追溯、可驗證;

(3)匿名投票,保證投票人隱私。

2.1.2 系統功能分析

系統用戶可以在主頁瀏覽自己感興趣的投票調查、參與投票,并在投票記錄頁面查看投票記錄。如果用戶有調查的需求,也可以發起一個投票調查,設置投票選項。系統具有注冊登錄、投票、新建投票、查詢票數和查詢記錄等功能。系統設計要緊密結合區塊鏈的特點,充分發揮區塊鏈的優勢,構建去中心化、數據不可篡改的投票系統[6]。

2.2 系統架構設計

為了滿足系統公平、工作和透明的需求,設計采用區塊鏈技術實現投票系統。區塊鏈是不可篡改、真實可信的數據庫,本次設計將區塊鏈數據(投票數據)存入區塊鏈中,普通數據(如用戶名,密碼等)存入本地數據庫。系統架構如圖1所示,主要包括應用層和區塊鏈層。應用層采用B/S架構,Web應用層主要實現系統功能(注冊登錄、投票等)。區塊鏈層可細分為網絡層和存儲層,其將投票數據發送到區塊鏈網絡中,并實現數據在區塊鏈中的分布式存取。

圖1 系統架構

Web應用層實現系統功能,如注冊登錄、投票、新建投票及查詢票數等功能。普通數據(如用戶名,密碼等)直接存入數據庫,區塊鏈數據(投票記錄)存入區塊鏈。當訪問普通數據時,需要進行數據庫設計,編寫sql語句。當訪問區塊鏈數據時,需要調用底層區塊鏈接口,實現數據在區塊鏈中的存取。系統中區塊鏈數據存儲流程,如圖2所示。

應用層獲取區塊鏈數據后,用私鑰對數據進行簽名,將數據封裝好后發送到區塊鏈網絡中。區塊鏈網絡中的節點校驗數據有效性,將有效數據存入數據池中,丟棄無效數據。節點的數據池滿了,通過某種共識機制決定由哪個節點取得記賬權,即按照一定的結構(如加入時間戳)將這些有效數據打包成一個區塊,并以鏈式結構存儲到區塊鏈中。取得記賬權的節點向全網廣播本區塊,其他節點驗證區塊的有效性。若有效,則將區塊存到區塊鏈中;否則,丟棄[7]。

圖2 區塊鏈數據存儲流程

區塊鏈網絡層。網絡層實現網絡的構建,并加以驗證機制和共識機制,保證數據的安全性和一致性。區塊鏈節點網絡是一個P2P網絡。區塊鏈網絡中的所有節點共同參與網絡中數據的驗證、記賬、存儲、維護和傳輸等過程。

區塊鏈存儲層。存儲層將數據以首尾相連、基于時間戳的鏈式數據結構存儲。區塊一旦經過節點驗證保存到區塊鏈中,將無法改動。通過“區塊十鏈式結構”,區塊鏈可以及時發現任一數據的篡改。區塊鏈提供了一個有時序、可查的記錄,可以看做是不可篡改、真實可信的數據庫。

3 區塊鏈層設計

為了達到區塊鏈去中心化、數據不可篡改、安全可信的要求,區塊鏈層將利用P2P網絡構建分布式數據庫,運用數字簽名算法及加密技術保證數據的不可篡改、共識算法來保證網絡中數據的一致性,并運用時間戳技術將數據區塊以首尾相連的鏈式結構保存。如圖3所示,區塊鏈層分為網絡層和存儲層。網絡層實現網絡的構建,并加以驗證機制和共識機制保證數據的安全性和一致性,設計重點是構建P2P網絡,實現驗證機制和共識機制。存儲層封裝數據區塊,將數據區塊以首尾相連的鏈式保存,設計重點是運用時間戳、哈希函數、Merkle樹和非對稱加密等技術,構建數據區塊結構,實現區塊的鏈式存儲。

圖3 區塊鏈層

3.1 區塊鏈網絡層設計

3.1.1 節點P2P網絡構建

P2P網絡具有去中心化、可擴展性、分散性和健壯性等優點,可以將參與數據校驗和記賬的節點組織起來,使系統可以在去中心化的情況下穩定運行。P2P網絡中不存在中心節點,節點之間通過扁平式拓撲結構互聯互通。每個節點具有相同的功能,提供網絡服務。每個節點具有發現新節點、同步區塊、應用層網絡路由、驗證區塊數據和傳播區塊數據等功能。

構建P2P網絡是區塊鏈層的初始化過程。如果一個新節點首次加入P2P網絡,需要網絡中其他節點的IP地址。DNS seed可以提供P2P網絡上節點IP地址的DNS服務器,有助于發現節點。因此,采用DNS seed方式加入P2P網絡,采用TCP協議,使用8333端口。

加入過程如下:

(1)連接種子節點;

(2)接收節點IP地址列表;

(3)連接列表中的節點;

(4)當建立一個或多個連接后,節點向其相鄰節點發送自身IP地址。相鄰節點將轉發IP地址,使更多節點接收IP地址,保證連接更穩定。

3.1.2 數據驗證機制

驗證機制保證數據的不可篡改。P2P網絡中的每個節點不斷接收數據,節點接收數據后會在第一時間驗證數據的有效性。節點會驗證數據結構、數字簽名等,只有滿足所有條件的數據才有效。如果數據無效,則丟棄。如果數據有效,則將有效數據數存入數據池。獲得記賬權的節點會向全網廣播區塊,其他節點會驗證區塊的有效性,包括區塊頭中的隨機數、時間戳和區塊體中的數據。若區塊有效,則存入區塊鏈;否則,丟棄。

本次設計采用橢圓曲線數字簽名算法(ECDSA),私鑰是d,公鑰是(E,P,n,Q)。

生成簽名過程如下:

(1)選擇一個隨機整數k,介于[1,n-1];

(2) 計 算 kp=(x1,y2)以 及 r=x1mod n。 如 果r=0,則跳到步驟(1);否則,執行步驟(3)。

(3)計算 s=k-1{h(m)+dr}mod n(其中 h(·)是哈希算法)。若s=0,則跳到步驟(1);否則,執行步驟(4);

(4)簽名信息m是(r,s)。

簽名驗證過程如下:

(1)獲取公鑰(E,P,n,Q);

(2)驗證r和s是否為整數,且介于區間[1,n-1];

(3)計算w=s-1mod n以及h(m);

(4)計算u1=h(m)wmodn以及u2=rwmodn;

(5)計算u1P+u2Q=(x0,y0)以及v=x0modn;

(6)當且僅當v=r,簽名驗證正確。

3.1.3 共識機制

共識機制為區塊鏈中數據的一致性提供保障,是區塊鏈能夠維持運行的關鍵所在。區塊鏈中的共識機制具體表現在,當節點收集到一定數量的有效數據時,有多個節點將數據打包成區塊,在節點可能被攻擊的情況下,系統如何對記賬權歸屬哪個節點達成共識,使區塊鏈能夠穩定可靠地運行。性能良好的共識算法能夠選擇合適的節點,該節點將自己打包好的區塊數據廣播到全網,經其他節點驗證有效性后,該區塊方可存入區塊鏈中。

工作量證明機制(Proof of work,Pow)算法簡單,容易實現,容錯性好(允許全網50%節點被攻擊)。本次設計采用工作量證明機制,在節點將數據打包成區塊前,需要找出一個隨機數,使區塊頭各元素的哈希值不大于目標哈希值(由特定的算法產生目標哈希),提高打包區塊的門檻。第一個找到滿足條件隨機數的節點將獲得本區塊的記賬權并向全網廣播,經大部分節點驗證有效性后存入區塊鏈。計算能力越強的節點,最先找到滿足條件隨機數的概率越大。

3.2 區塊鏈存儲層設計

3.2.1 數據區塊

為了實現數據基于時間戳的鏈式結構存儲,并能夠快速驗證數據的有效性,數據區塊采用如圖4所示的結構,每個數據區塊分為區塊頭(Header)和區塊體(Body)。區塊頭中包含版本號(Version)、前一區塊哈希值(Prey-block)、時間戳(Timestamp)、隨機數(Nonce)、本區塊目標哈希值(Bits)和Merkle根(Merkle-root)。區塊創建過程中生成的有效數據和對應數量則保存在區塊體中。有效數據通過Merkle樹的哈希產生唯一的Merkles根,存入區塊頭。

圖4 數據區塊采用的結構

3.2.2 鏈式結構

為了能夠提供區塊鏈數據的追溯和驗證功能,可以將區塊以鏈式結構存儲。當前區塊包含前一區塊的哈希值,如果節點不知道前一個區塊的哈希值,就能生成新的區塊。通過區塊哈希值將區塊鏈中的所有數據區塊串成一條鏈,區塊鏈中始終保存著最長的一條鏈(主鏈),即從創世塊到最新生成的區塊。當新的區塊存入區塊鏈中,將會鏈接在主鏈后面。

區塊鏈將數據區塊以鏈式結構存儲在區塊鏈上,數據區塊中帶有時間戳,因此增加了數據的時間維度,可以方便地追溯和驗證數據。通過前一區塊哈希值,可以定位前一區塊并驗證前一區塊是否修改。通過“區塊十鏈式結構”,區塊鏈可以及時發現任一數據的篡改。區塊鏈提供了一個有時序、可查的記錄,可以看做是不可篡改、真實可信的數據庫。

4 Web應用層設計

應用層采用B/S架構,根據系統功能分析,設計完成注冊登錄模塊、主頁模塊、投票模塊、新建投票模塊、投票結果查詢模塊和投票歷史查詢模塊。Web應用層將采用Spring+Spring Boot+Mybits的框架開發,數據庫為mysql。

應用層采用MVC(Model View Controller)設計模式,分為視圖層、業務邏輯層和數據訪問層,如圖5所示。為了實現投票結果不可篡改的特點,投票數據是存儲在區塊鏈中的。每一次投票都會生成一個投票數據,如圖6所示。投票數據主要包括版本號、輸入、輸出和時間。輸入中有投票者的公鑰和私鑰生成的數字簽名等信息,輸出中有選項對應的區塊鏈地址。

圖5 應用層的MVC設計模式

圖6 投票數據

5 結 語

區塊鏈具有去中心化、數據不可篡改、安全可信的特點,數據一旦存入區塊鏈,就無法篡改。在分析系統需求和數據存儲特點的基礎上,將系統分為應用層和區塊鏈層,重點設計了區塊鏈網絡層中P2P網絡的組網方式、數據區塊的驗證機制、保證數據一致性的共識機制,并運用時間戳、Merkle樹、非對稱加密等技術來設計數據區塊,然后利用鏈式結構存儲數據區塊。在此基礎上將區塊鏈技術應用于投票場景,實現了一個數據安全的投票系統,保證了其投票結果的公平、公正和可信。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 麻豆国产精品一二三在线观看| 日本精品视频一区二区| 午夜视频免费试看| 亚洲精品免费网站| 亚洲日韩日本中文在线| 久爱午夜精品免费视频| 日韩天堂视频| 亚洲欧美不卡中文字幕| 国产精品99一区不卡| 免费一级无码在线网站| 美女潮喷出白浆在线观看视频| 久热中文字幕在线观看| 无码免费的亚洲视频| 亚洲精品麻豆| 国产精品美女自慰喷水| jizz在线观看| 在线一级毛片| 亚洲成a人片77777在线播放| 亚洲欧美自拍中文| 成年免费在线观看| 亚洲欧美人成电影在线观看| 99精品影院| 欧美中文字幕无线码视频| 亚洲第一色视频| 全裸无码专区| 国产一区二区三区日韩精品| 色老二精品视频在线观看| 九九热视频在线免费观看| 极品国产一区二区三区| 在线观看国产小视频| 91丝袜美腿高跟国产极品老师| 国产一级二级三级毛片| 欧美特黄一免在线观看| 精品综合久久久久久97超人该| 福利在线一区| 国产成人精品免费视频大全五级| 亚洲视频一区| 久久久噜噜噜久久中文字幕色伊伊 | 欧美人人干| 一级毛片在线免费看| 中文字幕66页| 欧美亚洲一区二区三区导航| 亚洲第一页在线观看| 毛片在线播放网址| 国产精品久久久久鬼色| 小说区 亚洲 自拍 另类| 热伊人99re久久精品最新地| 中文字幕亚洲综久久2021| 精品91视频| 国产超碰一区二区三区| 成人在线综合| 日韩欧美视频第一区在线观看| 国内a级毛片| 99精品影院| 91精品人妻互换| 这里只有精品国产| 久久久国产精品免费视频| 一级片一区| 99国产在线视频| 伊人91在线| 亚洲无码高清一区二区| 激情無極限的亚洲一区免费| 欧美人在线一区二区三区| 国产成人av大片在线播放| 香蕉99国内自产自拍视频| 国产欧美日韩精品第二区| 熟妇无码人妻| 国产精品亚洲一区二区三区z| 欧美19综合中文字幕| 中文字幕1区2区| 久久久黄色片| 97精品伊人久久大香线蕉| 免费无码AV片在线观看中文| 538精品在线观看| 天天躁狠狠躁| 2021国产精品自拍| 亚洲成A人V欧美综合| 2018日日摸夜夜添狠狠躁| 亚洲区欧美区| 国产精品白浆在线播放| 人与鲁专区| 国产v精品成人免费视频71pao|