本發(fā)明涉及的是一種電子投票領(lǐng)域的技術(shù),具體是一種基于虛擬貨幣的投票系統(tǒng)。
背景技術(shù):
比特幣等是一種具有去中心化性質(zhì)的虛擬貨幣,完全通過(guò)點(diǎn)對(duì)點(diǎn)技術(shù)實(shí)現(xiàn)的電子現(xiàn)金系統(tǒng)。此類虛擬貨幣的基礎(chǔ)技術(shù)是區(qū)塊鏈技術(shù),它可以使得在線支付能夠直接由一方發(fā)起并支付給另外一方,也就是說(shuō)在交易過(guò)程中間不需要通過(guò)第三方參與,例如金融機(jī)構(gòu)的調(diào)解。此類虛擬交易在全球范圍內(nèi)興起,應(yīng)用市場(chǎng)也不斷擴(kuò)展。
區(qū)塊(block)是比特幣交易中的最小單元,每10分鐘,全網(wǎng)就會(huì)生成一個(gè)區(qū)塊,所有的交易信息都會(huì)被包裝在這個(gè)區(qū)塊中,而這些區(qū)塊則會(huì)以特定的順序排列成鏈,這就是交易鏈,也叫區(qū)塊鏈。此類虛擬貨幣系統(tǒng)中的所有交易信息記錄都將保存在交易鏈中,由交易鏈保障區(qū)塊的安全,也就保障了單個(gè)交易的安全。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)多采用自定義的區(qū)塊鏈進(jìn)行投票以管理根證書(shū),導(dǎo)致其安全邊際較小的缺陷,提出一種基于虛擬貨幣的投票系統(tǒng),適用于不同類型大小和不同時(shí)間跨度的投票過(guò)程,完全公開(kāi)保存轉(zhuǎn)賬記錄的交易鏈從而保證投票過(guò)程的透明性與公正性。
本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明包括:登記模塊、投票模塊和統(tǒng)計(jì)模塊,其中:登記模塊設(shè)置虛擬貨幣的轉(zhuǎn)賬地址作為各候選項(xiàng)的投票地址,并登記投票者及其對(duì)應(yīng)的投票賬戶;投票模塊讀取投票者選擇的候選項(xiàng),將投票者的投票賬戶中的虛擬貨幣轉(zhuǎn)入其選擇的候選項(xiàng)的投票地址中;統(tǒng)計(jì)模塊提取所有候選項(xiàng)的轉(zhuǎn)賬記錄,得到投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票。
所述的虛擬貨幣為比特幣或萊特幣。
所述的登記模塊包括:投票方登記單元、候選項(xiàng)登記單元和虛擬貨幣分配單元,其中:投票方登記單元登記投票者并為其關(guān)聯(lián)投票賬戶,候選項(xiàng)登記單元登記候選項(xiàng)并設(shè)置虛擬貨幣的轉(zhuǎn)賬地址作為各候選項(xiàng)的投票地址,虛擬貨幣分配單元為各個(gè)投票賬戶分配所需的虛擬貨幣。
所述的投票模塊包括:界面單元和轉(zhuǎn)賬單元,其中:界面單元與投票者交互并將投票者選擇的候選項(xiàng)傳輸?shù)睫D(zhuǎn)賬單元,轉(zhuǎn)賬單元將投票者的投票賬戶中的虛擬貨幣轉(zhuǎn)入其選擇的候選項(xiàng)的對(duì)應(yīng)投票地址中。
所述的統(tǒng)計(jì)模塊包括:數(shù)據(jù)讀取單元、票數(shù)統(tǒng)計(jì)單元和呈現(xiàn)單元,其中:數(shù)據(jù)讀取單元讀取在有效投票時(shí)間內(nèi)的所有投票賬戶轉(zhuǎn)賬記錄并提交票數(shù)統(tǒng)計(jì)單元,票數(shù)統(tǒng)計(jì)單元將轉(zhuǎn)賬記錄轉(zhuǎn)化為投票記錄并統(tǒng)計(jì)投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票,呈現(xiàn)單元將投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票通過(guò)屏幕顯示。
附圖說(shuō)明
圖1為本發(fā)明整體結(jié)構(gòu)示意圖;
圖2為登記模塊結(jié)構(gòu)示意圖;
圖3為投票模塊結(jié)構(gòu)示意圖;
圖4為統(tǒng)計(jì)模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
本實(shí)施例中投票系統(tǒng)應(yīng)用比特幣網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)投票過(guò)程。面向投票過(guò)程數(shù)據(jù)鏈為比特幣歷史交易過(guò)程中完整區(qū)塊鏈,該區(qū)塊鏈中的每一個(gè)區(qū)塊包含有如下結(jié)構(gòu):神奇數(shù)、區(qū)塊大小、數(shù)據(jù)區(qū)塊頭信息以及交易計(jì)數(shù)和交易詳情。比特幣區(qū)塊之間通過(guò)相應(yīng)的hash值相連接,每個(gè)區(qū)塊都由網(wǎng)絡(luò)中的礦工計(jì)算而來(lái),網(wǎng)絡(luò)中的所有計(jì)算能力共同支撐了網(wǎng)絡(luò)的數(shù)據(jù)安全性。
如圖1所示,本實(shí)施例包括:登記模塊、投票模塊和統(tǒng)計(jì)模塊,其中:登記模塊設(shè)置虛擬貨幣的轉(zhuǎn)賬地址作為各候選項(xiàng)的投票地址,并登記投票者及其對(duì)應(yīng)的投票賬戶;投票模塊讀取投票者選擇的候選項(xiàng),將投票者的投票賬戶中的虛擬貨幣轉(zhuǎn)入其選擇的候選項(xiàng)的投票地址中;統(tǒng)計(jì)模塊提取所有候選項(xiàng)的轉(zhuǎn)賬記錄,得到投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票。
如圖2所示,所述的登記模塊包括:投票方登記單元、候選項(xiàng)登記單元和虛擬貨幣分配單元,其中:投票方登記單元登記投票者并為其關(guān)聯(lián)投票賬戶,候選項(xiàng)登記單元登記候選項(xiàng)并設(shè)置虛擬貨幣的轉(zhuǎn)賬地址作為各候選項(xiàng)的投票地址,虛擬貨幣分配單元為各個(gè)投票賬戶分配所需的虛擬貨幣。
所述的投票方登記單元所登記投票者可以以本人的比特幣賬戶作為投票賬戶。虛擬貨幣分配單元為各個(gè)投票賬戶轉(zhuǎn)入足額的比特幣。所有候選項(xiàng)的投票地址以及投票規(guī)則以文件形式輸出并公布。
所述的候選項(xiàng)設(shè)為兩組,其中:第一組有三個(gè)候選項(xiàng)分別為c1-1,c1-2,和c1-3,投票規(guī)則為單選,即投票者只能在三個(gè)候選項(xiàng)中選擇一個(gè)進(jìn)行轉(zhuǎn)賬投票。當(dāng)有投票者往三個(gè)候選項(xiàng)中的兩個(gè)或者三個(gè)轉(zhuǎn)賬,則該投票為無(wú)效票。第二組有5個(gè)候選項(xiàng)c2-1、c2-2、c2-3、c2-4和c2-5,投票規(guī)則為多選且要求是3個(gè)以內(nèi),即投票者只能在五個(gè)候選項(xiàng)中選擇一個(gè)、兩個(gè)或者三個(gè)進(jìn)行轉(zhuǎn)賬投票,當(dāng)有投票者往五個(gè)候選項(xiàng)中的4個(gè)或者5個(gè)轉(zhuǎn)賬,則該投票者投出的是無(wú)效票。
采用json格式的文件方式來(lái)存儲(chǔ)和公開(kāi)投票者投票賬戶和投票規(guī)則。其中全部投票者投票賬戶文件中每一個(gè)對(duì)象包含了一個(gè)投票登記點(diǎn)的所有已登記的投票賬戶,對(duì)象的名稱為投票登記點(diǎn)名稱,對(duì)象的值為一個(gè)有序列表,列表中的每一項(xiàng)為一個(gè)已登記的投票賬戶。投票規(guī)則文件中的候選項(xiàng)上限對(duì)象展示了投票者可以選取的候選項(xiàng)上限,對(duì)象的值為整型,當(dāng)為1,則該次投票只能單選,當(dāng)大于1,則該次投票者可以多選,但所選的候選項(xiàng)數(shù)目不能超過(guò)該值,其余的每一個(gè)對(duì)象都代表了一個(gè)候選項(xiàng),對(duì)象的名稱為候選項(xiàng),對(duì)象的值為該候選項(xiàng)對(duì)應(yīng)的轉(zhuǎn)賬地址即投票地址。
如圖3所示,所述的投票模塊包括:界面單元和轉(zhuǎn)賬單元,其中:界面單元與投票者交互并將投票者選擇的候選項(xiàng)傳輸?shù)睫D(zhuǎn)賬單元,轉(zhuǎn)賬單元將投票者的投票賬戶中的虛擬貨幣轉(zhuǎn)入其選擇的候選項(xiàng)的投票地址中。
所述的界面單元將投票者選擇的候選項(xiàng)轉(zhuǎn)化為該候選項(xiàng)所對(duì)應(yīng)的投票地址,而后由轉(zhuǎn)賬單元執(zhí)行轉(zhuǎn)賬操作。當(dāng)投票者的選擇是單選,則向?qū)?yīng)候選項(xiàng)的轉(zhuǎn)賬地址轉(zhuǎn)入特定數(shù)額的比特幣。當(dāng)投票者的選擇是多選,則按照投票規(guī)則檢查投票者的選擇是否為無(wú)效投票,若其為無(wú)效投票,則駁回投票請(qǐng)求,需要投票方進(jìn)行再一次投票,若為符合投票規(guī)則,則分別向每一個(gè)候選項(xiàng)投票地址轉(zhuǎn)入特定數(shù)額的比特幣。為保證轉(zhuǎn)賬過(guò)程被比特幣網(wǎng)絡(luò)及時(shí)確認(rèn)并保存在區(qū)塊鏈中,除了需要轉(zhuǎn)入候選項(xiàng)的必要金額(可選擇比特幣最小幣值),投票賬戶的剩余比特幣可設(shè)置為轉(zhuǎn)賬的手續(xù)費(fèi)。
如圖4所示,所述的統(tǒng)計(jì)模塊包括:數(shù)據(jù)讀取單元、票數(shù)統(tǒng)計(jì)單元和呈現(xiàn)單元,其中:數(shù)據(jù)讀取單元讀取在有效投票時(shí)間內(nèi)的所有投票賬戶轉(zhuǎn)賬記錄并提交票數(shù)統(tǒng)計(jì)單元,票數(shù)統(tǒng)計(jì)單元將轉(zhuǎn)賬記錄轉(zhuǎn)化為投票記錄并統(tǒng)計(jì)投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票,呈現(xiàn)單元將投票者總數(shù)、投票時(shí)間、有效票數(shù)、無(wú)效票數(shù)以及各候選項(xiàng)的有效得票通過(guò)屏幕顯示。轉(zhuǎn)賬記錄保存于交易鏈中。
所述的數(shù)據(jù)讀取單元采用大步長(zhǎng)6來(lái)初步確定區(qū)塊范圍,再通過(guò)不斷減少搜索步長(zhǎng),每次減少1,來(lái)最終確定區(qū)塊鏈符合有效投票時(shí)間的區(qū)間。讀取所有的有效投票時(shí)間段存在于交易鏈中的轉(zhuǎn)賬記錄后,票數(shù)統(tǒng)計(jì)單元通過(guò)對(duì)比特幣數(shù)據(jù)結(jié)構(gòu)的解析,使其轉(zhuǎn)化為能夠讀取的投票記錄。
對(duì)本實(shí)施例中的對(duì)所有候選項(xiàng)的投票分別進(jìn)行統(tǒng)計(jì),其中第一組總票數(shù)為13071,其中有效票為339,無(wú)效票為12732,第二組總票數(shù)為13071,其中有效票為1210,無(wú)效票為11861,統(tǒng)計(jì)所用平臺(tái)為個(gè)人電腦,有效投票時(shí)間為80分鐘,統(tǒng)計(jì)所用時(shí)間為2分鐘。
與現(xiàn)有技術(shù)相比,本發(fā)明具有大型虛擬貨幣網(wǎng)絡(luò)交易活躍計(jì)算量大所帶來(lái)的安全性,完全公開(kāi)保存轉(zhuǎn)賬記錄的交易鏈從而保證了投票過(guò)程的透明性與公正性,適用于不同類型大小、不同規(guī)模大小以及不同時(shí)間跨度的投票過(guò)程。
上述具體實(shí)施可由本領(lǐng)域技術(shù)人員在不背離本發(fā)明原理和宗旨的前提下以不同的方式對(duì)其進(jìn)行局部調(diào)整,本發(fā)明的保護(hù)范圍以權(quán)利要求書(shū)為準(zhǔn)且不由上述具體實(shí)施所限,在其范圍內(nèi)的各個(gè)實(shí)現(xiàn)方案均受本發(fā)明之約束。