TWI625703B - Online voting and ballot counting system based on blockchain and method thereof - Google Patents

Online voting and ballot counting system based on blockchain and method thereof Download PDF

Info

Publication number
TWI625703B
TWI625703B TW106110807A TW106110807A TWI625703B TW I625703 B TWI625703 B TW I625703B TW 106110807 A TW106110807 A TW 106110807A TW 106110807 A TW106110807 A TW 106110807A TW I625703 B TWI625703 B TW I625703B
Authority
TW
Taiwan
Prior art keywords
voting
ticketing
message
blockchain
server
Prior art date
Application number
TW106110807A
Other languages
Chinese (zh)
Other versions
TW201837871A (en
Inventor
吳伊婷
張軒豪
Original Assignee
張軒豪
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 張軒豪 filed Critical 張軒豪
Priority to TW106110807A priority Critical patent/TWI625703B/en
Application granted granted Critical
Publication of TWI625703B publication Critical patent/TWI625703B/en
Publication of TW201837871A publication Critical patent/TW201837871A/en

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一種基於區塊鏈的線上投票與唱票系統及其方法,透過投票端連線至伺服端進行投票操作以產生相應投票項目的投票訊息,伺服端將投票訊息廣播至以點對點方式相互連接的唱票節點進行驗證,唱票節點將通過驗證的投票訊息寫入投票資料區塊,並且由第一個寫完投票資料區塊的唱票節點透過廣播領導其它唱票節點驗證此投票資料區塊,在至少一部分的唱票節點對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點的區塊鏈之尾端,用以達成提高投票與唱票的公正性之技術功效。A blockchain-based online voting and ticketing system and method thereof, which are connected to a server through a voting terminal to perform a voting operation to generate a voting message of a corresponding voting item, and the server broadcasts the voting message to a ticketing node connected to each other in a point-to-point manner. To verify, the ticketing node writes the verified voting message into the voting data block, and the first ticketing node that has written the voting data block passes the broadcast to lead the other ticket counting nodes to verify the voting data block, at least part of the voting ticket. After the node completes the verification of the content of the first written voting data block, the verified voting data block is linked to the end of the blockchain of each ticketing node to achieve the fairness of voting and ticketing. Technical efficacy.

Description

基於區塊鏈的線上投票與唱票系統及其方法Block voting based online voting and ticketing system and method thereof

本發明涉及一種線上投票與唱票系統及其方法,特別是應用區塊鏈記錄投票訊息之基於區塊鏈的線上投票與唱票系統及其方法。The present invention relates to an online voting and ticketing system and method thereof, and more particularly to a blockchain-based online voting and ticketing system and method thereof for applying a blockchain to record voting messages.

近年來,隨著電子投票的普及與蓬勃發展,例如:股東會電子投票系統。使用者對於電子投票的接受度也較以往高出不少。In recent years, with the popularity and booming of electronic voting, for example: the shareholder meeting electronic voting system. User acceptance of electronic voting is also much higher than in the past.

一般而言,傳統電子投票仍以使用封閉式的中心化架構為主軸。然而,此一方式在中心節點被入侵攻陷時,將導致整個電子投票平台隨之癱瘓,甚至投票記錄也可能被惡意竄改,另一方面,傳統中心化架構的另一弊病是存在黑箱作業的可能性,無法有效防止黑箱作業及灌票的情況。因此,具有投票與唱票的公正性不佳之問題。In general, traditional electronic voting is still based on the use of a closed centralized architecture. However, this method will lead to the collapse of the entire electronic voting platform when the central node is compromised. Even the voting record may be maliciously tampered with. On the other hand, another drawback of the traditional centralized architecture is the possibility of black box operations. Sex, can not effectively prevent the black box operation and the situation of the ticket. Therefore, there is a problem of poor fairness in voting and ticketing.

有鑑於此,便有廠商提出同步備援的技術,透過同步備援電子投票平台來確保投票記錄即使被竄改,也仍然能夠即時回復。然而,雖然此一方式提供被竄改時能即時回復的功能,然而,卻無法確保回復的資料未被竄改,而且也缺乏足夠的監督機制,因此仍然無法有效解決投票與唱票的公正性不佳的問題。In view of this, some manufacturers have proposed synchronous backup technology to ensure that voting records can be instantly replied even if they are tampered with through the synchronous backup electronic voting platform. However, although this method provides the ability to respond instantly when tampering, it does not ensure that the replied information has not been tampered with, and there is not enough monitoring mechanism, so it is still unable to effectively resolve the fairness of voting and ticketing. problem.

綜上所述,可知先前技術中長期以來一直存在投票與唱票的公正性不佳之問題,因此實有必要提出改進的技術手段,來解決此一問題。In summary, it can be seen that there has been a problem of poor fairness in voting and ticketing in the prior art, and it is therefore necessary to propose improved technical means to solve this problem.

本發明揭露一種基於區塊鏈的線上投票與唱票系統及其方法。The invention discloses a blockchain-based online voting and ticketing system and a method thereof.

首先,本發明揭露一種基於區塊鏈的線上投票與唱票系統,此系統包含:投票端、唱票節點及伺服端。其中,投票端用以接收並顯示投票項目,以及根據不同的投票項目傳送對應的投票訊息以完成投票;每一唱票節點透過點對點方式相互連線並提供運算資源,所述唱票節點用以接收及驗證投票訊息,並且將通過驗證的投票訊息寫入投票資料區塊,以及在至少一部分的唱票節點對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點的區塊鏈之尾端;以及伺服端用以提供投票端登入投票,所述伺服端包含:儲存模組及投票模組,其中,儲存模組用以預先儲存投票項目提供所述投票端選擇至少其中之一以進行投票;投票模組用以自登入伺服端的投票端接收所述投票訊息,並且廣播此投票訊息,提供至少一部分的唱票節點對此投票訊息進行驗證。First, the present invention discloses a blockchain-based online voting and ticketing system. The system includes: a voting terminal, a ticketing node, and a server. The voting terminal is configured to receive and display the voting items, and transmit corresponding voting messages according to different voting items to complete the voting; each of the voting nodes are connected to each other in a peer-to-peer manner and provide computing resources, and the voting node is used for receiving and Verification of the voting message, and writing the verified voting message to the voting data block, and after at least a portion of the ticketing node has verified the content of the first written voting data block, the verified voting data block will be verified. Linked to the end of the blockchain of each ticketing node; and the server is configured to provide a voting terminal to vote, the server includes: a storage module and a voting module, wherein the storage module is used to pre-store the voting item Providing the voting terminal to select at least one of them to vote; the voting module is configured to receive the voting message from the voting terminal of the login server, and broadcast the voting message, and provide at least a part of the voting node to verify the voting message.

另外,本發明揭露一種基於區塊鏈的線上投票與唱票方法,應用在具有投票端、唱票節點及伺服端的環境,其步驟包括:透過點對點方式相互連線所述唱票節點以提供運算資源;伺服端預先儲存投票項目提供所述投票端選擇至少其中之一以進行投票;投票端接收並顯示投票項目,以及根據不同的投票項目傳送對應的投票訊息至伺服端以完成投票;伺服端自登入伺服端的投票端接收所述投票訊息,並且廣播此投票訊息,提供至少一部分的唱票節點對此投票訊息進行驗證;至少一部分的唱票節點自伺服端接收投票訊息,並且將通過驗證的投票訊息寫入投票資料區塊,以及在至少一部分的唱票節點對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點的區塊鏈之尾端。In addition, the present invention discloses a blockchain-based online voting and ticketing method, which is applied to an environment having a voting terminal, a ticketing node, and a server. The steps include: connecting the ticketing nodes to each other through a point-to-point manner to provide computing resources; Pre-storing the voting item to provide the voting terminal to select at least one of them to vote; the voting terminal receives and displays the voting item, and transmits the corresponding voting message to the server according to different voting items to complete the voting; the server self-login servo The voting terminal of the terminal receives the voting message, and broadcasts the voting message, providing at least a part of the ticketing node to verify the voting message; at least a part of the ticketing node receives the voting message from the server, and writes the verified voting message to the voting The data block, and after at least a portion of the ticketing node completes verification of the content of the first written voting material block, links the verified voting data block to the end of the blockchain of each ticketing node.

本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過投票端連線至伺服端進行投票操作以產生相應投票項目的投票訊息,伺服端將投票訊息廣播至以點對點方式相互連接的唱票節點進行驗證,唱票節點將通過驗證的投票訊息寫入投票資料區塊,並且由第一個寫完投票資料區塊的唱票節點透過廣播領導其它唱票節點驗證此投票資料區塊,在至少一部分的唱票節點對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點的區塊鏈之尾端。The system and method disclosed in the present invention are as above, and the difference from the prior art is that the present invention connects to the server through a voting terminal to perform a voting operation to generate a voting message of a corresponding voting item, and the server broadcasts the voting message to each other in a point-to-point manner. The connected ticket node performs verification, and the ticketing node writes the verified voting message into the voting data block, and the first ticketing node that has written the voting data block passes the broadcast to lead the other ticket counting node to verify the voting data block. After at least a portion of the ticketing node completes verification of the content of the first written voting material block, the verified voting data block is linked to the end of the blockchain of each ticketing node.

透過上述的技術手段,本發明可以達成提高投票與唱票的公正性之技術功效。Through the above technical means, the present invention can achieve the technical effect of improving the fairness of voting and ticketing.

以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。The embodiments of the present invention will be described in detail below with reference to the drawings and embodiments, so that the application of the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented.

在說明本發明所揭露之基於區塊鏈的線上投票與唱票系統及其方法之前,先對本發明所自行定義的名詞作說明,本發明所述的唱票節點是指預先安裝有應用程式,以便使唱票節點能夠透過此應用程式與伺服端通信,以及與其它唱票節點以點對點方式相互連接,並且應用區塊鏈技術記錄投票訊息的計算機裝置,所有唱票節點之間都是「競合關係」,其含義為第一批收到資料的各唱票節點皆會單獨進行驗證,並且嘗試寫到自己本身既有的區塊鏈中,但是因為只有最快處理完的唱票節點(第一名)可以廣播出驗證完畢的資料,而其它唱票節點則接收第一名廣播出的資料並且加入自己的區塊鏈中,所以每個唱票節點既在比賽,也在合作接收由最快完成的唱票節點的資料寫入自己的區塊鏈(可視為副本),使得區塊鏈的資料更為安全,稍後將對唱票節點做詳細說明。另外,本發明可應用在公有區塊鏈網路(如:以太坊網路、比特幣網路)及私有區塊鏈網路,當應用在公有區塊鏈網路時,可透過既有的驗證端驗證新區塊中紀錄的內容(即:新紀錄),當應用在私有區塊鏈網路時,由於既有的驗證端並非私有區塊鏈網路的節點,因此無法讀取區塊鏈的內容,所以要使用與公有區塊鏈網路相同方式進行驗證時,必須架設屬於私有區塊鏈網路之節點的驗證端(如:唱票節點),以便在私有區塊鏈網路中讀取區塊鏈的內容,並提供給使用者進行驗證。Before describing the blockchain-based online voting and ticketing system and method thereof disclosed in the present invention, the nouns defined by the present invention are described. The ticketing node of the present invention refers to an application installed in advance so as to enable The ticketing node can communicate with the server through the application, and connect with other ticket-sending nodes in a peer-to-peer manner, and apply the blockchain technology to record the voting information of the computer device. All the ticket-sending nodes are "competitive relationship", meaning Each of the first lottery nodes that receive the data will be verified separately and try to write to their own blockchain, but only the fastest processed voter node (first place) can be broadcast for verification. The completed data, while the other ticket-sending nodes receive the first broadcasted material and add it to its own blockchain, so each ticket-sending node is both in the game and also cooperates to receive the data from the fastest completed ticket-selling node. Your own blockchain (can be seen as a copy) makes the blockchain data more secure, and will be detailed later on the ticket node. Instructions. In addition, the present invention can be applied to a public blockchain network (eg, Ethereum network, bitcoin network) and a private blockchain network. When applied to a public blockchain network, it can be used through existing The verification end verifies the content recorded in the new block (ie, the new record). When the application is in the private blockchain network, the blockchain cannot be read because the existing verification terminal is not the node of the private blockchain network. Content, so to use the same method as the public blockchain network for authentication, you must set up a verification end (such as a ticket-selling node) of the node belonging to the private blockchain network to read in the private blockchain network. Take the contents of the blockchain and provide it to the user for verification.

以下配合圖式對本發明基於區塊鏈的線上投票與唱票系統及其方法做進一步說明,請先參閱「第1圖」,「第1圖」為本發明基於區塊鏈的線上投票與唱票系統之系統方塊圖,此系統包含:投票端110、唱票節點120及伺服端130。其中,投票端110用以接收並顯示投票項目(例如:選舉、公投、問卷調查等等),以及根據不同的投票項目傳送對應的投票訊息至伺服端130以完成投票。在實際實施上,投票端110是計算機裝置,例如:智慧型手機、個人電腦、筆記型電腦、個人數位助理等等,並且可透過網路登入伺服端130,其登入方式可使用帳號與密碼、自然人憑證、身分證字號、電話號碼等等足以識別投票者的方式來實現。在投票端110登入伺服端130後,即可接收儲存在伺服端130的投票項目以顯示在投票端110,提供位於投票端110的投票者瀏覽並進行投票操作,進而產生對應投票項目的投票訊息。另外,伺服端130可根據投票端110的投票訊息產生一組相應的識別碼,並且將其嵌入在對應的投票訊息中,所述識別碼可以是一組應用在區塊鏈中的唯一地址。接著,投票端110會將產生的投票訊息傳送至伺服端130以完成投票。另外,當投票端110欲顯示投票項目時,可產生包含議題區塊、選項區塊、第一狀態區塊及第二狀態區塊的顯示界面,其中,議題區塊顯示投票項目的投票標題,選項區塊顯示投票項目的選項,第一狀態區塊顯示此投票端110的投票/唱票(當投票端110同時也作為唱票節點120時)歷史,第二狀態區塊顯示唱票節點120的連線狀態、已投票的投票項目之總數及回饋金額等至少其中之一,稍後將配合圖式做詳細說明。The following is a description of the blockchain-based online voting and ticketing system and the method thereof according to the following drawings. Please refer to "1st picture" first, and "1st picture" is a blockchain-based online voting and ticketing system. The system block diagram includes: a voting terminal 110, a ticketing node 120, and a server 130. The voting terminal 110 is configured to receive and display voting items (eg, elections, referendums, questionnaires, etc.), and transmit corresponding voting messages to the server 130 according to different voting items to complete the voting. In actual implementation, the voting terminal 110 is a computer device, such as a smart phone, a personal computer, a notebook computer, a personal digital assistant, etc., and can log in to the server 130 through a network, and the login method can use an account number and a password. The natural person voucher, the identity card number, the phone number, and the like are sufficient to identify the voter. After the voting terminal 110 logs in to the server 130, the voting item stored in the server 130 can be received to be displayed on the voting terminal 110, and the voting device located at the voting terminal 110 can be browsed and voted to generate a voting message corresponding to the voting item. . In addition, the server 130 may generate a corresponding set of identification codes according to the voting message of the voting terminal 110 and embed it in the corresponding voting message, and the identification code may be a set of unique addresses applied in the blockchain. Next, the voting terminal 110 transmits the generated voting message to the server 130 to complete the voting. In addition, when the voting terminal 110 wants to display the voting item, a display interface including an issue block, an option block, a first status block, and a second status block may be generated, wherein the issue block displays the voting title of the voting item. The option block displays the option of the voting item, the first status block displays the history of the voting/singing ticket of the voting party 110 (when the voting terminal 110 also serves as the ticketing node 120), and the second status block displays the connection of the ticketing node 120. At least one of the status, the total number of voting items voted and the amount of feedback, etc., will be explained in detail later with the schema.

每一唱票節點120透過點對點方式相互連線並提供運算資源,所述唱票節點120用以接收來自伺服端130的投票訊息,並且將通過驗證的投票訊息寫入投票資料區塊,以及在至少一部分的唱票節點120對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點120的區塊鏈之尾端。在實際實施上,唱票節點120可以是公有區塊鏈網路/公有鏈(Public Blockchain)或是私有區塊鏈網路/私有鏈(Private Blockchain)的架構,每一唱票節點120皆為具網路連線功能的計算機裝置,如:筆記型電腦、個人電腦、平板電腦、智慧型手機、個人數位助理、伺服器及工業電腦等等,所述唱票節點120也可作為挖礦(Mining)機。另外,當唱票節點120將通過驗證的投票訊息寫入投票資料區塊時,會由第一個寫完自己區塊的唱票節點120透過廣播領導其它唱票節點120來驗證這個已經寫完的投票資料區塊,並且在此投票資料區塊之內容通過部分的唱票節點120的驗證後,使所有唱票節點120將此投票資料區塊連結至自己本身的區塊鏈之尾端,以便完成區塊鏈的同步更新,此時,區塊鏈就增長一個區塊,也就是通過驗證的投票資料區塊被寫入每一個唱票節點120原本的區塊鏈中。特別要說明的是,在初始時,每一唱票節點120需安裝應用程式以與伺服端130溝通,並且可預先選擇要進行唱票的投票項目,唱票節點120亦可根據投票項目篩選來自伺服端130接收到的投票訊息。如此一來,藉由區塊鏈技術即可使投票訊息難以被竄改而實現唱票的目的。Each ticket node 120 is interconnected by a peer-to-peer method and provides computing resources. The ticket node 120 is configured to receive a voting message from the server 130 and write the verified voting message into the voting data block, and at least a portion After the ticketing node 120 completes the verification of the content of the first written voting material block, the verified voting data block is linked to the end of the blockchain of each of the ticket counting nodes 120. In actual implementation, the ticketing node 120 may be a public blockchain network/public chain chain or a private blockchain network/private chain (Private Blockchain) architecture, and each ticket node 120 is a network. The computer device of the connection function, such as a notebook computer, a personal computer, a tablet computer, a smart phone, a personal digital assistant, a server, an industrial computer, etc., the ticketing node 120 can also be used as a mining machine. . In addition, when the ticketing node 120 writes the verified voting message into the voting material block, the first ticketing node 120 that has written its own block will use the broadcast to lead the other ticketing node 120 to verify the already written voting data. Block, and after the content of the voting material block is verified by the partial ticketing node 120, all the ticketing nodes 120 link the voting data block to the end of its own blockchain to complete the blockchain. Synchronous update, at this time, the blockchain grows by one block, that is, the verified voting data block is written into the original blockchain of each ticket node 120. In particular, at the initial stage, each ticket node 120 needs to install an application to communicate with the server 130, and may pre-select a voting item to be voted, and the ticket node 120 may also filter from the server 130 according to the voting item. The received voting message. In this way, the blockchain technology can make the voting message difficult to be tampered with to achieve the purpose of ticketing.

伺服端130用以提供投票端110登入投票,所述伺服端130包含:儲存模組131及投票模組132。其中,儲存模組131用以預先儲存投票項目提供所述投票端110選擇至少其中之一以進行投票,每一投票項目可包含回饋訊息。在實際實施上,儲存模組131可使用關聯式資料庫儲存至少一個投票項目,每一投票項目除了包含回饋訊息之外,還可包含唱票數量,以便伺服端130根據唱票數量將投票訊息廣播至相應數量的唱票節點120,而非廣播至任意數量的唱票節點120。舉例來說,重要的投票項目所包含的唱票數量可設為較大;不重要的投票項目所包含的唱票數量可設為較小。如此一來,重要的投票項目可使用較多的唱票節點120進行唱票與驗證,而不重要的投票項目則使用較少的唱票節點120進行唱票與驗證,有效善用整體唱票節點120的運算資源及避免回饋金額無上限。特別要說明的是,伺服端130可以視為區塊鏈網路中的一個節點,或者是非節點的計算機裝置,也就是說可以視需求作相應調整,並且伺服端130可與每一唱票節點120透過點對點方式相互連線,或是只與一部分的唱票節點120直接相互連線,接著,與伺服端130直接連線的唱票節點120再與另一部分的唱票節點120相互連線,而且在區塊鏈網路中可以同時存在多個伺服端130,也就是說伺服端130同樣是去中心化的分散式架構。The server 130 is configured to provide a voting terminal 110 to log in. The server 130 includes a storage module 131 and a voting module 132. The storage module 131 is configured to pre-store the voting items to provide the voting terminal 110 to select at least one of them to vote, and each voting item may include a feedback message. In actual implementation, the storage module 131 may store at least one voting item using an associated database. Each voting item may include a number of tickets in addition to the feedback message, so that the server 130 broadcasts the voting message according to the number of tickets. A corresponding number of ticketing nodes 120 are instead broadcast to any number of ticketing nodes 120. For example, the number of tickets included in an important voting item can be set to be larger; the number of tickets included in an unimportant voting item can be set to be smaller. In this way, important voting items can use more vouchers nodes 120 for ticketing and verification, while unimportant voting items use fewer voicing nodes 120 for voicing and verification, effectively utilizing the computing resources of the overall voicing node 120. And there is no limit to avoiding the amount of feedback. In particular, the server 130 can be regarded as a node in a blockchain network or a non-node computer device, that is, it can be adjusted accordingly, and the server 130 can be associated with each ticket node 120. Connected to each other through a point-to-point method, or directly connected to only a part of the ticket-selling node 120, and then the ticket-selling node 120 directly connected to the server 130 is connected to the other part of the ticket-selling node 120, and is in the block. Multiple servos 130 can exist simultaneously in the chain network, that is, the server 130 is also a decentralized decentralized architecture.

投票模組132用以自登入伺服端130的投票端110接收所述投票訊息,並且廣播此投票訊息,提供至少一部分的唱票節點120(如:與伺服端130直接相互連線的唱票節點120)進行驗證。在實際實施上,投票模組132還可將相同的投票項目所產生的投票訊息廣播至對應的唱票節點120,而唱票節點120也可根據所述投票項目篩選接收到的投票訊息,以便於處理且避免區塊鏈中存在多餘的投票訊息,舉例來說,避免針對「投票項目一」進行唱票的唱票節點120,其區塊鏈中存在「投票項目二」的投票訊息。然而,本發明並未以此做限定,換句話說,亦可將不同的投票項目產生的投票訊息寫入同一個區塊鏈。特別要說明的是,伺服端130本身也可作為唱票節點120,所以除了將接收到的投票訊息廣播到至少一部分唱票節點120進行驗證之外,也可同時對投票訊息進行驗證處理,並且同樣將通過驗證的投票訊息寫入投票資料區塊,以及在投票資料區塊的內容取得共識後,將投票資料區塊連結在本身的區塊鏈之尾端。The voting module 132 is configured to receive the voting message from the voting terminal 110 of the login server 130, and broadcast the voting message to provide at least a portion of the ticketing node 120 (eg, the ticketing node 120 directly connected to the server 130). authenticating. In actual implementation, the voting module 132 can also broadcast the voting message generated by the same voting item to the corresponding ticketing node 120, and the ticketing node 120 can also filter the received voting message according to the voting item, so as to facilitate processing. Moreover, it is avoided that there are redundant voting messages in the blockchain. For example, the ticketing node 120 for ticketing for "voting item one" is avoided, and the voting message of "voting item 2" exists in the blockchain. However, the present invention is not limited thereto, in other words, the voting messages generated by different voting items can also be written into the same blockchain. In particular, the server 130 itself can also serve as the ticketing node 120. Therefore, in addition to broadcasting the received voting message to at least a portion of the ticketing node 120 for verification, the voting message can be simultaneously verified and processed. The verified voting message is written into the voting data block, and after the content of the voting data block is agreed, the voting data block is linked at the end of its own blockchain.

除此之外,針對獎勵唱票節點120的部分,在公有鏈的架構下,可透過挖礦獎勵來實現。至於在私有鏈的架構下,所述伺服端130還可包含回饋模組133用以計算每一唱票節點120的連線時間,並且根據此連線時間及每一投票項目的回饋訊息計算回饋金額作為獎勵機制,此獎勵機制可自由選擇開啟或關閉。在實際實施上,所述回饋訊息可記錄投票者參與投票可獲得的回饋,如:拆帳比例或固定金額。舉例來說,假設有一投票項目包含的回饋訊息記錄為「0.2」,其可代表每一唱票節點120參與並完成此一投票項目後可獲得新台幣0.2元。另外,為了兼顧公開透明及隱私,所述回饋訊息可以公開透明且匿名的方式公布,也就是說,可清楚得知投票者在每一投票項目中獲得的金額,但無法得知投票者的身分。特別要說明的是,由於唱票節點120提供運算資源驗證投票資料區塊,因此,回饋模組133會同時根據每一唱票節點120的連線時間和回饋訊息計算出回饋金額,假設連線時間為1小時,回饋訊息記錄為「0.2」,則回饋金額的計算方式為連線時間1小時的金額(如:預設滿1小時為1元、滿2小時為2元……)再加上回饋訊息代表的金額新台幣0.2元,也就是說,回饋金額為新台幣1.2元。雖然回饋金額的計算方式以上述舉例說明,然並未以此限定本發明,任何根據連線時間及回饋訊息計算出回饋金額的方式皆不脫離本發明的應用範疇。如此一來,倘若投票議題非常冷門,仍然可以藉由提供回饋金額增加投票參與性(即:增加投票率),避免遭遇到投票率不佳的情況,以及同樣藉由提供回饋金額增加唱票節點的數量以增加投票的公正性。In addition, the part of the reward ticketing node 120 can be realized by the mining reward under the structure of the public chain. As for the private chain architecture, the server 130 may further include a feedback module 133 for calculating the connection time of each ticket node 120, and calculating the feedback amount according to the connection time and the feedback message of each voting item. As a reward mechanism, this reward mechanism is free to choose to turn it on or off. In actual implementation, the feedback message can record the feedback that the voter can participate in, such as: the split ratio or the fixed amount. For example, suppose a voting item contains a feedback message recorded as "0.2", which can represent NT$0.2 on behalf of each ticketing node 120 participating in and completing this voting item. In addition, in order to balance openness and privacy, the feedback message can be published in an open and anonymous manner, that is, the amount of money obtained by the voter in each voting item can be clearly known, but the identity of the voter cannot be known. . In particular, since the ticketing node 120 provides the computing resource verification voting data block, the feedback module 133 calculates the reward amount according to the connection time and the feedback message of each ticketing node 120, assuming that the connection time is 1 hour, the feedback message is recorded as "0.2", and the feedback amount is calculated as the amount of connection time of 1 hour (for example: 1 hour for the default 1 hour, 2 yuan for the full 2 hours...) plus feedback The amount of the message represents NT$0.2, which means that the amount of the reward is NT$1.2. Although the calculation method of the feedback amount is exemplified above, the present invention is not limited thereto, and any manner of calculating the feedback amount according to the connection time and the feedback message does not deviate from the application scope of the present invention. In this way, if the voting topic is very unpopular, it is still possible to increase the voting participation by providing the amount of feedback (ie, increase the voting rate), avoid the situation of poor voting rate, and increase the voting node by providing the amount of feedback. Quantity to increase the fairness of voting.

要補充說明的是,所述投票端110、唱票節點120及伺服端130皆具有一組應用在區塊鏈中的唯一地址以用於識別及智能合約至少其中之一,此組地址可藉由綁定手機號碼及身分證字號來確認一人只有一個地址(或稱為帳號),避免重複投票、灌票等等的情況發生,在實際實施上,還可搭配政府主管機關現有的或未來的身分驗證機制,也可搭配其它私營機構的身分驗證機制來確認身分。由於區塊鏈也可以用於身分驗證,所以本發明投票與唱票系統也可以搭配以區塊鏈技術為底層的身分驗證機制,以利適用於國家級的公投系統。由於在進行投票及唱票過程中,區塊鏈皆會記錄地址,所以可根據地址進行識別及驗證。另外,因為投票訊息會被廣播到至少一部分唱票節點120(例如:與伺服端130直接連線的唱票節點120)進行驗證,而通過驗證的投票訊息才會被寫入投票資料區塊,並且在至少一部分的唱票節點120對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點120的區塊鏈之尾端,而且在區塊鏈中的資料無法再被修改,所以導致區塊鏈紀錄的內容是可信任的,能夠有效避免資料被竄改的機率,故有別於傳統的電子投票及唱票的方式更具有公正性。It should be added that the voting terminal 110, the ticketing node 120 and the server 130 all have a set of unique addresses applied in the blockchain for identifying and at least one of the smart contracts. Bind the mobile phone number and the identity card number to confirm that one person has only one address (or account number), to avoid repeated voting, filling of the ticket, etc. In actual implementation, it can also match the existing or future status of the government authority. The verification mechanism can also be used in conjunction with other private institutions' identity verification mechanisms to confirm identity. Since the blockchain can also be used for identity verification, the voting and ticketing system of the present invention can also be combined with the blockchain technology as the underlying identity verification mechanism to facilitate the application of the national referendum system. Since the blockchain records the address during the voting and ticketing process, it can be identified and verified according to the address. In addition, since the voting message is broadcasted to at least a part of the ticket counting node 120 (for example, the ticket counting node 120 directly connected to the server terminal 130), the verified voting message is written into the voting material block, and After at least a portion of the ticketing node 120 completes verification of the content of the first written voting material block, the verified voting data block is linked to the end of the blockchain of each of the ticket counting nodes 120, and is in the block. The data in the chain can no longer be modified, so the content of the blockchain record is trustworthy, which can effectively avoid the chance of data being falsified. Therefore, it is different from the traditional electronic voting and ticketing method.

接著,請參閱「第2圖」,「第2圖」為本發明基於區塊鏈的線上投票與唱票方法之方法流程圖,應用在具有投票端110、唱票節點120及伺服端130的環境,其步驟包括:透過點對點方式相互連線所述唱票節點120以提供運算資源(步驟210);伺服端130預先儲存投票項目提供所述投票端110選擇至少其中之一以進行投票(步驟220);投票端110接收並顯示投票項目,以及根據不同的投票項目傳送對應的投票訊息至伺服端130以完成投票(步驟230);伺服端130自登入伺服端130的投票端110接收所述投票訊息,並且廣播此投票訊息,提供至少一部分的唱票節點120對此投票訊息進行驗證(步驟240);至少一部分的唱票節點120自伺服端130接收投票訊息,並且將通過驗證的投票訊息寫入投票資料區塊,以及在至少一部分的唱票節點120對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點120的區塊鏈之尾端(步驟250)。透過上述步驟,即可透過投票端110連線至伺服端130進行投票操作以產生相應投票項目的投票訊息,伺服端130將投票訊息廣播至以點對點方式相互連接的唱票節點120進行驗證,唱票節點120將通過驗證的投票訊息寫入投票資料區塊,並且由第一個寫完投票資料區塊的唱票節點120透過廣播領導其它唱票節點120來驗證這個已經寫完的投票資料區塊,以及在此投票資料區塊之內容通過部分唱票節點120的驗證後,其它唱票節點120會有共識地將此投票資料區塊連結至自己本身的區塊鏈之尾端。換句話說,唱票節點120的驗證有二種情況,第一種情況是驗證投票訊息,通過驗證的投票訊息才會被寫入投票資料區塊;第二種情況是驗證投票資料區塊之內容,通過驗證後才會將投票資料區塊連結至自己本身的區塊鏈。Next, please refer to "FIG. 2", and "FIG. 2" is a flowchart of a method for the online voting and ticketing method based on the blockchain of the present invention, which is applied to an environment having a voting terminal 110, a ticketing node 120, and a server 130. The steps include: interconnecting the ticketing node 120 in a peer-to-peer manner to provide computing resources (step 210); the server 130 pre-storing the voting items to provide the voting terminal 110 to select at least one of them for voting (step 220); The voting terminal 110 receives and displays the voting item, and transmits a corresponding voting message to the server 130 according to different voting items to complete the voting (step 230); the server 130 receives the voting message from the voting terminal 110 of the login server 130, And broadcasting the voting message, providing at least a portion of the ticketing node 120 to verify the voting message (step 240); at least a portion of the ticketing node 120 receives the voting message from the server 130, and writes the verified voting message to the voting data area. Block, and at least a portion of the ticketing node 120 completes the content of the first written voting data block After the node linked to each of the validated voting tellers data block 120 of the trailing end of the chain block (Step 250). Through the above steps, the voting terminal 110 can be connected to the server 130 to perform a voting operation to generate a voting message of the corresponding voting item, and the server 130 broadcasts the voting message to the ticket counting node 120 connected to each other in a point-to-point manner to verify the ticket node. 120 writes the verified voting message into the voting material block, and the first ticketing node 120 that has written the voting data block passes the broadcast to lead the other ticket counting node 120 to verify the already written voting data block, and After the content of the voting material block is verified by the partial ticketing node 120, the other ticketing node 120 will unanimously link the voting data block to the end of its own blockchain. In other words, there are two cases for the verification of the ticketing node 120. The first case is to verify the voting message, and the verified voting message is written into the voting data block; the second case is to verify the content of the voting data block. After verification, the voting data block will be linked to its own blockchain.

另外,在步驟250之後,伺服端130還可計算每一唱票節點120的連線時間,並且根據每一唱票節點120的連線時間及區塊鏈中每一投票項目的回饋訊息計算每一唱票節點120的回饋金額,所述投票端110、唱票節點120及伺服端130皆具有一組應用在區塊鏈中的唯一地址以提供識別及交易回饋金額(步驟260)。如此一來,可藉由提供回饋金額有效提高使用者將其計算機裝置作為唱票節點120的意願。特別要說明的是,上述步驟260是應用在私有鏈時的獎勵機制,而應用在公有鏈時則可使用挖礦本身既有的獎勵機制。In addition, after step 250, the server 130 can also calculate the connection time of each ticket node 120, and calculate each ticket according to the connection time of each ticket node 120 and the feedback message of each voting item in the blockchain. The feedback amount of the node 120, the voting terminal 110, the ticketing node 120, and the server 130 all have a unique set of addresses applied in the blockchain to provide an identification and transaction reward amount (step 260). In this way, the user's willingness to use his or her computer device as the ticketing node 120 can be effectively increased by providing the reward amount. In particular, the above step 260 is a reward mechanism applied when the private chain is applied, and when applied to the public chain, the reward mechanism existing in the mining itself can be used.

以下配合「第3圖」至「第8圖」以實施例的方式進行如下說明,請先參閱「第3圖」,「第3圖」為應用本發明進行投票之示意圖。在實際實施上,位於投票端110的投票者欲進行投票時,可透過網路連線至伺服端130瀏覽所有投票項目,以便從中選擇至少一個投票項目參與投票。如「第3圖」所示意,投票端110產生包含議題區塊310、選項區塊320、第一狀態區塊330及第二狀態區塊340的顯示界面300,以便在議題區塊310顯示投票項目的投票標題;在選項區塊320顯示投票項目的選項;在第一狀態區塊330顯示投票/唱票歷史;在第二狀態區塊340顯示所有唱票節點120的連線狀態、已投票的投票項目之總數及回饋金額至少其中之一。舉例來說,假設投票者選擇的投票項目為「想選的總統候選人:1. 吳此人;2. 佚名;3. 梅仁」,在私有鏈的架構下,其包含的回饋訊息為「0.2」。那麼,顯示界面300中的議題區塊310將顯示「想選的總統候選人:」;選項區塊320將顯示「1. 吳此人;2. 佚名;3. 梅仁」等選項;第一狀態區塊330將顯示投票端110的投票/唱票歷史(也就是曾參與過的投票/唱票);以及第二狀態區塊340可顯示參與此投票項目的所有唱票節點120之連線狀態及回饋金額,例如:新台幣0.2元。在實際實施上,伺服端130會根據投票端110的投票訊息產生一組相應的識別碼,並且將其嵌入在相應的投票訊息中,以及將產生的識別碼顯示於投票端110以供投票者確認,所述識別碼是應用在區塊鏈中的唯一地址。舉例來說,投票端110參與投票項目產生投票訊息,伺服端130會根據這個投票訊息產生一組識別碼,並且嵌入在這個投票訊息中,如:將一組識別碼「0xFFFF」嵌入投票訊息。如此一來,投票端110可藉由識別碼確認自己的投票。The following description will be made by way of example with reference to "3rd" to "8th". Please refer to "3rd figure" and "3rd figure" for the voting of the application of the present invention. In actual implementation, when the voter at the voting terminal 110 wants to vote, the network can be connected to the server 130 to browse all the voting items, so as to select at least one voting item to participate in the voting. As indicated in FIG. 3, the voting terminal 110 generates a display interface 300 including an issue block 310, an option block 320, a first status block 330, and a second status block 340 to display a vote in the issue block 310. The voting title of the item; the option to display the voting item in the option block 320; the voting/single history is displayed in the first status block 330; the connection status of all the ticketing nodes 120, the voted vote is displayed in the second status block 340 At least one of the total number of items and the amount of feedback. For example, suppose the voting items selected by the voters are "President candidates who want to choose: 1. Wu this person; 2. Anonymous; 3. Mei Ren". Under the private chain structure, the feedback message is " 0.2". Then, the topic block 310 in the display interface 300 will display "President candidate to be selected:"; the option block 320 will display "1. Wu this person; 2. Anonymous; 3. Meiren" and the like; The status block 330 will display the voting/single history of the voting party 110 (i.e., the voting/single ticket that has been participated); and the second status block 340 can display the connection status and feedback of all the ticketing nodes 120 participating in the voting item. The amount, for example: NT$0.2. In practical implementation, the server 130 generates a corresponding set of identification codes according to the voting message of the voting terminal 110, and embeds it in the corresponding voting message, and displays the generated identification code on the voting terminal 110 for the voter. It is confirmed that the identification code is a unique address applied in the blockchain. For example, the voting terminal 110 participates in the voting item to generate a voting message, and the server 130 generates a set of identification codes according to the voting message, and is embedded in the voting message, for example, embedding a group of identification codes "0xFFFF" into the voting message. In this way, the voting terminal 110 can confirm its vote by the identification code.

如「第4圖」所示意,「第4圖」為應用本發明進行唱票之示意圖。假設有二個投票項目,不同投票端110皆參與這兩個投票項目的投票,其中,第一個投票項目具有三個唱票節點410;第二個投票項目具有二個唱票節點420,同一投票項目的唱票節點(410、420)之間以點對點方式連接。當伺服端130接收到來自不同投票端110的投票訊息後,會將投票訊息廣播至相應的唱票節點(410、420)進行驗證,以便唱票節點(410、420)將通過驗證的投票訊息寫入投票資料區塊。在實際實施上,寫入投票資料區塊的方式可以是將相同投票項目但來自不同投票端110的投票訊息寫同一個投票資料區塊,而廣播至唱票節點(410、420)的方式則可先偵測參與同一個投票項目的唱票之唱票節點(例如:第一個投票項目之唱票節點410、第二個投票項目之唱票節點420),再依照投票項目將投票訊息廣播至相應的唱票節點(410、420)。特別要說明的是,倘若投票項目還包含唱票數量,那麼,伺服端130可根據唱票數量將投票訊息廣播至相應數量的唱票節點(410、420),舉例來說,假設第一個投票項目的唱票數量為數值3,伺服端130會限制加入此投票項目的唱票節點410之總數為三個。另外,驗證投票資料區塊的方式可以先由各投票項目的至少一部分唱票節點(410、420)針對此投票資料區塊以隨機方式持續找出作為解答的編碼(雜湊值),接著再由最先找出編碼的唱票節點廣播具有此編碼的投票資料區塊,並且由其他唱票節點確認其是否有效,倘若為有效,則同一投票項目的所有唱票節點(410、420)都會將對應投票項目的投票資料區塊加入區塊鏈。如此一來,藉由區塊鏈技術,同一投票項目的所有唱票節點(410、420)都留存一份投票端110的投票訊息,並且使投票訊息具有難以被竄改的特性,進而實現唱票的目的。As shown in "Fig. 4", "Fig. 4" is a schematic diagram of the application of the present invention for ticketing. Assuming there are two voting items, different voting terminals 110 participate in the voting of the two voting items, wherein the first voting item has three ticketing nodes 410; the second voting item has two ticketing nodes 420, the same voting item. The ticketing nodes (410, 420) are connected in a point-to-point manner. When the server 130 receives the voting message from the different voting terminals 110, the voting message is broadcasted to the corresponding ticketing node (410, 420) for verification, so that the ticketing node (410, 420) writes the verified voting message. Voting data block. In practical implementation, the manner of writing the voting data block may be that the voting information of the same voting item but from different voting terminals 110 is written into the same voting data block, and the manner of broadcasting to the voting ticket node (410, 420) may be Firstly, the ticketing node of the ticket ticket participating in the same voting item is detected (for example, the ticketing node 410 of the first voting item, the ticketing node 410 of the second voting item), and then the voting message is broadcasted to the corresponding ticketing node according to the voting item. (410, 420). In particular, if the voting item further includes the number of tickets, the server 130 can broadcast the voting message to the corresponding number of ticketing nodes (410, 420) according to the number of tickets, for example, assuming the first voting item. The number of tickets is a value of three, and the server 130 limits the total number of ticket-voicing nodes 410 joining the voting item to three. In addition, the method of verifying the voting data block may firstly find the code (the hash value) as the solution in a random manner for at least a part of the voting node (410, 420) of each voting item, and then the most First find out that the coded ticket node broadcasts the voting data block with this code, and it is confirmed by other ticket counting nodes whether it is valid. If it is valid, all the ticket counting nodes (410, 420) of the same voting item will correspond to the voting items. The voting data block is added to the blockchain. In this way, with the blockchain technology, all the ticket-selling nodes (410, 420) of the same voting item retain a voting message of the voting terminal 110, and the voting message has characteristics that are difficult to be tampered with, thereby achieving the purpose of ticket-scoring. .

請參閱「第5圖」,「第5圖」為應用本發明建立新投票項目之示意圖。在實際實施上,建立新投票項目可在瀏覽器500的輸入框510中鍵入投票標題、結束條件、各種選項、回饋金額等等。舉例來說,投票標題可設為「想選的總統候選人」;結束條件可為時間、區塊編號或總票數;選項可設定各候選人的姓名;回饋金額可設定任意數字。最後,建立者點選送出按鍵520即可建立新投票項目。要補充說明的是,由於區塊產生的時間基本上是固定的,所以可以將區塊編號與時間進行轉換,使結束條件能夠以時間的格式或以區塊編號的格式進行呈現,除此之外,結束條件亦可預設總票數,如:5000。那麼,當投票的總票數為5000時,即代表滿足結束條件,並禁止再投票且公布投票結果。Please refer to "Figure 5", "Figure 5" for a schematic diagram of the application of the present invention to establish a new voting item. In actual implementation, creating a new voting item may enter a voting title, an ending condition, various options, a rebate amount, and the like in an input box 510 of the browser 500. For example, the voting title can be set to "Presidential candidate to be selected"; the end condition can be time, block number or total number of votes; the option can set the name of each candidate; the amount of feedback can be set to any number. Finally, the creator can select a button 520 to create a new voting item. It should be added that since the time generated by the block is basically fixed, the block number and time can be converted, so that the end condition can be presented in time format or in block number format, except that In addition, the end condition can also be preset to the total number of votes, such as: 5000. Then, when the total number of votes cast is 5000, it means that the end condition is satisfied, and it is forbidden to vote again and the voting result is announced.

如「第6圖」所示意,「第6圖」為應用本發明顯示所有投票項目之示意圖。在實際實施上,使用者可透過瀏覽器500連線至伺服端130讀取其儲存的所有投票項目,並且如「第6圖」所示意顯示於顯示區塊620中,例如:顯示所有投票項目的編號、標題、在區塊鏈上的地址,並且可以游標610點選位於結果欄位的「瀏覽」進一步瀏覽相應的投票項目之投票結果。假設欲進行投票,亦可使用游標610點選欲進行投票項目的地址,舉例來說,假設欲進行的投票項目之標題為「想選的總統候選人」,可使用游標610點選地址「0x92b8031ec9……」以顯示詳細內容並進行投票。As shown in "Figure 6," "Figure 6" is a schematic diagram showing the application of the present invention to display all voting items. In actual implementation, the user can connect to the server 130 through the browser 500 to read all the voting items stored therein, and display it in the display block 620 as shown in FIG. 6, for example, display all voting items. The number, title, address on the blockchain, and cursor 610 click on the "Browse" in the result field to further view the voting results of the corresponding voting item. If you want to vote, you can also use the cursor 610 to select the address of the voting item. For example, if you want to vote for the title of the candidate you want to vote for, you can use the cursor 610 to select the address "0x92b8031ec9". ..." to display the details and vote.

請參閱「第7圖」,「第7圖」為應用本發明進行投票之另一示意圖。在實際實施上,投票者可透過瀏覽器500瀏覽投票項目中的各選項710,如:「Bitcoin」、「Etherum」、「Monero」及「Dogecoin」等等,並且從中選擇至少其中之一。當投票者選擇完畢時,再點選投票按鍵730後即完成投票,進而產生相應的投票訊息。Please refer to "Figure 7", "Figure 7" for another diagram of voting by applying the present invention. In actual implementation, the voter can browse through various options 710 in the voting item through the browser 500, such as "Bitcoin", "Etherum", "Monero" and "Dogecoin", etc., and select at least one of them. When the voter has selected, the voting button 730 is clicked to complete the voting, and a corresponding voting message is generated.

如「第8圖」所示意,「第8圖」為應用本發明顯示投票結果之示意圖。前面提到,可以游標點選位於結果欄位的「瀏覽」進一步瀏覽相應的投票項目之投票結果。換句話說,在完成投票後,任何人皆可透過游標點選「瀏覽」以便如「第8圖」所示意,在瀏覽器500中的顯示區塊810顯示投票標題、編號、選項名稱及數量,以及於結果區塊820顯示統計出的總票數、勝選的編號及投票發起人等等。其中,投票發起人係以區塊鏈的地址形式(例如:「0x8e199f3cb……」)呈現。As shown in "Fig. 8," "Fig. 8" is a schematic diagram showing the result of voting using the present invention. As mentioned earlier, you can click the "Browse" in the result field to further view the voting results of the corresponding voting items. In other words, after completing the voting, anyone can click "Browse" through the cursor to display the voting title, number, option name and quantity in the display block 810 in the browser 500 as shown in "Figure 8." And in the result block 820, the total number of votes counted, the winning number, the voting initiator, and the like are displayed. Among them, the voting initiator is presented in the form of a blockchain address (for example, "0x8e199f3cb...").

綜上所述,可知本發明與先前技術之間的差異在於透過投票端110連線至伺服端130進行投票操作以產生相應投票項目的投票訊息,伺服端130將投票訊息廣播至以點對點方式相互連接的唱票節點120進行驗證,唱票節點120將通過驗證的投票訊息寫入投票資料區塊,並且由第一個寫完投票資料區塊的唱票節點透過廣播領導其它唱票節點驗證此投票資料區塊,在至少一部分唱票節點120對第一個寫完的投票資料區塊的內容完成驗證後,將通過驗證的投票資料區塊連結至每一唱票節點120的區塊鏈之尾端,藉由此一技術手段可以解決先前技術所存在的問題,進而達成提高投票與唱票的公正性之技術功效。In summary, it can be seen that the difference between the present invention and the prior art is that the polling operation is performed by the voting terminal 110 to the server 130 to generate a voting message of the corresponding voting item, and the server 130 broadcasts the voting message to each other in a point-to-point manner. The connected ticket node 120 performs verification, and the ticketing node 120 writes the verified voting message into the voting data block, and the voting node is verified by the first ticketing node that has written the voting data block to broadcast the other voting node through the broadcast. After at least a portion of the ticketing node 120 completes verification of the content of the first written voting material block, the verified voting data block is linked to the end of the blockchain of each of the ticket counting nodes 120, thereby A technical means can solve the problems existing in the prior art, thereby achieving the technical effect of improving the fairness of voting and ticketing.

雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。While the present invention has been described above in the foregoing embodiments, it is not intended to limit the invention, and the invention may be modified and modified without departing from the spirit and scope of the invention. The scope of patent protection shall be subject to the definition of the scope of the patent application attached to this specification.

110‧‧‧投票端
120‧‧‧唱票節點
130‧‧‧伺服端
131‧‧‧儲存模組
132‧‧‧投票模組
133‧‧‧回饋模組
300‧‧‧顯示界面
310‧‧‧議題區塊
320‧‧‧選項區塊
330‧‧‧第一狀態區塊
340‧‧‧第二狀態區塊
410‧‧‧唱票節點
420‧‧‧唱票節點
500‧‧‧瀏覽器
510‧‧‧輸入框
520‧‧‧送出按鍵
610‧‧‧游標
620‧‧‧顯示區塊
710‧‧‧選項
730‧‧‧投票按鍵
810‧‧‧顯示區塊
820‧‧‧結果區塊
步驟210‧‧‧透過點對點方式相互連線唱票節點以提供運算資源
步驟220‧‧‧伺服端預先儲存至少一投票項目提供投票端選擇至少其中之一以進行投票
步驟230‧‧‧投票端接收並顯示該至少一投票項目,以及根據不同的所述投票項目傳送對應的一投票訊息至所述伺服端以完成投票
步驟240‧‧‧伺服端自登入所述伺服端的所述投票端接收該投票訊息,並且廣播該投票訊息,提供至少一部分的該些唱票節點對該投票訊息進行驗證
步驟250‧‧‧至少一部分的該些唱票節點自所述伺服端接收該投票訊息,並且將通過驗證的該投票訊息寫入一投票資料區塊,以及在至少一部分的該些唱票節點對第一個寫完的該投票資料區塊的內容完成驗證後,將通過驗證的該投票資料區塊連結至每一唱票節點的一區塊鏈之尾端
步驟260‧‧‧伺服端計算每一唱票節點的一連線時間,並且根據每一唱票節點的該連線時間及該區塊鏈中每一投票項目的一回饋訊息計算每一唱票節點的一回饋金額,所述投票端、該些唱票節點及所述伺服端皆具有一組應用在區塊鏈中的唯一地址以提供識別及交易該回饋金額
110‧‧‧ Vote
120‧‧‧Scoring node
130‧‧‧Server
131‧‧‧ storage module
132‧‧‧ voting module
133‧‧‧Reward module
300‧‧‧ display interface
310‧‧‧Subject block
320‧‧‧Option block
330‧‧‧First State Block
340‧‧‧Second state block
410‧‧‧Single node
420‧‧‧Single node
500‧‧‧ browser
510‧‧‧ input box
520‧‧‧Send button
610‧‧‧ cursor
620‧‧‧Display block
710‧‧‧ options
730‧‧‧ Vote button
810‧‧‧Display block
820‧‧‧ Result Block Steps 210‧‧‧Connecting the ticket nodes to each other in a peer-to-peer manner to provide computing resources Step 220‧‧ The server pre-stores at least one voting item to provide at least one of the voting options to vote for step 230 ‧ ‧ The voting terminal receives and displays the at least one voting item, and transmits a corresponding voting message to the server according to different voting items to complete the voting step 240 ‧ ‧ the server automatically logs in to the server The voting terminal receives the voting message and broadcasts the voting message, providing at least a portion of the ticket counting nodes to verify the voting message. Step 250‧ ‧ at least a portion of the ticket counting nodes receive the voting message from the server And the verified voting message is written into a voting data block, and after at least a part of the ticket counting nodes complete verification of the content of the first written voting material block, the voting material that passes the verification is verified. The block is linked to the end of a blockchain of each ticket node. Step 260‧‧‧ The server calculates each sing a connection time of the node, and calculating a rebate amount for each ticket node according to the connection time of each ticket node and a feedback message of each voting item in the blockchain, the voting terminal, the tickets The node and the server each have a set of unique addresses applied in the blockchain to provide identification and transaction amount

第1圖為本發明基於區塊鏈的線上投票與唱票系統之系統方塊圖。 第2圖為本發明基於區塊鏈的線上投票與唱票方法之方法流程圖。 第3圖為應用本發明進行投票之示意圖。 第4圖為應用本發明進行唱票之示意圖。 第5圖為應用本發明建立新投票項目之示意圖。 第6圖為應用本發明顯示所有投票項目之示意圖。 第7圖為應用本發明進行投票之另一示意圖。 第8圖為應用本發明顯示投票結果之示意圖。1 is a system block diagram of a blockchain-based online voting and ticketing system of the present invention. 2 is a flow chart of a method for the online voting and ticketing method based on the blockchain of the present invention. Figure 3 is a schematic diagram of voting using the present invention. Figure 4 is a schematic diagram of the application of the present invention for ticketing. Figure 5 is a schematic diagram of the application of the present invention to create a new voting item. Figure 6 is a schematic diagram showing the application of the present invention to display all voting items. Figure 7 is another schematic diagram of voting using the present invention. Figure 8 is a schematic diagram showing the results of voting using the present invention.

Claims (10)

一種基於區塊鏈的線上投票與唱票系統,該系統包含: 至少一投票端,用以接收並顯示至少一投票項目,以及根據不同的所述投票項目傳送對應的一投票訊息以完成投票; 多個唱票節點,每一唱票節點透過點對點方式相互連線並提供運算資源,該些唱票節點用以接收及驗證該投票訊息,並且將通過驗證的該投票訊息寫入一投票資料區塊,以及在至少一部分的該些唱票節點對第一個寫完的該投票資料區塊的內容完成驗證後,將通過驗證的該投票資料區塊連結至每一唱票節點的一區塊鏈之尾端;以及 至少一伺服端,用以提供所述投票端登入投票,每一伺服端包含: 一儲存模組,用以預先儲存所述投票項目提供所述投票端選擇至少其中之一以進行投票;以及 一投票模組,用以自登入所述伺服端的所述投票端接收該投票訊息,並且廣播該投票訊息,提供至少一部分的該些唱票節點對該投票訊息進行驗證。A blockchain-based online voting and ticketing system, the system comprising: at least one voting terminal for receiving and displaying at least one voting item, and transmitting a corresponding voting message according to different said voting items to complete the voting; a ticketing node, each of which is connected to each other in a peer-to-peer manner and provides computing resources. The ticketing nodes are used to receive and verify the voting message, and write the verified voting message into a voting data block, and After at least a portion of the ticket-scoring nodes complete verification of the content of the first written voting material block, the verified voting data block is linked to the end of a blockchain of each ticket-sending node; At least one server for providing the voting terminal to vote, each server includes: a storage module for pre-storing the voting item to provide the voting terminal to select at least one of them for voting; and a voting module, configured to receive the voting message from the voting terminal that is logged into the server, and broadcast the voting message, At least some portion of the roll call vote node to verify the message. 根據申請專利範圍第1項之基於區塊鏈的線上投票與唱票系統,其中所述伺服端根據所述投票端的所述投票訊息產生相應的一識別碼,並且將該識別碼嵌入在對應的所述投票訊息中,該識別碼為一組應用在區塊鏈中的唯一地址。According to the blockchain-based online voting and ticketing system of claim 1, wherein the server generates a corresponding identification code according to the voting message of the voting terminal, and embeds the identification code in the corresponding location. In the voting message, the identification code is a unique set of addresses applied in the blockchain. 根據申請專利範圍第1項之基於區塊鏈的線上投票與唱票系統,其中所述投票端產生包含一議題區塊、一選項區塊、一第一狀態區塊及一第二狀態區塊的一顯示界面,其中,該議題區塊顯示該投票項目的投票標題,該選項區塊顯示該投票項目的選項,該第一狀態區塊顯示投票/唱票歷史,該第二狀態區塊顯示該些唱票節點的連線狀態、已投票的該投票項目之總數及一回饋金額至少其中之一。The blockchain-based online voting and ticketing system according to claim 1, wherein the voting terminal generates a topic block, an option block, a first status block, and a second status block. a display interface, wherein the topic block displays a voting title of the voting item, the option block displays an option of the voting item, the first status block displays a voting/single ticket history, and the second status block displays the At least one of the connection status of the ticket node, the total number of voting items voted, and a return amount. 根據申請專利範圍第1項之基於區塊鏈的線上投票與唱票系統,其中該伺服端更包含一回饋模組,用以計算每一唱票節點的一連線時間,並且根據該連線時間及該區塊鏈中每一投票項目的一回饋訊息計算一回饋金額,所述投票端、該些唱票節點及所述伺服端皆具有一組應用在區塊鏈中的唯一地址以提供識別及交易該回饋金額。According to the blockchain-based online voting and ticketing system of claim 1, wherein the server further includes a feedback module for calculating a connection time of each ticket node, and according to the connection time and A feedback message for each voting item in the blockchain calculates a feedback amount, and the voting terminal, the ticket counting nodes and the server each have a set of unique addresses applied in the blockchain to provide identification and transaction. The amount of the feedback. 根據申請專利範圍第1項之基於區塊鏈的線上投票與唱票系統,其中每一投票項目更包含一唱票數量,所述伺服端根據所述投票項目及該唱票數量將該投票訊息廣播至相應數量的該些唱票節點。According to the blockchain-based online voting and ticketing system of claim 1, wherein each voting item further includes a number of tickets, and the server broadcasts the voting message to the corresponding according to the voting item and the number of the number of tickets. The number of these ticketing nodes. 一種基於區塊鏈的線上投票與唱票方法,應用在具有至少一投票端、多個唱票節點及至少一伺服端的環境,其步驟包括: 透過點對點方式相互連線該些唱票節點以提供運算資源; 所述伺服端預先儲存至少一投票項目提供所述投票端選擇至少其中之一以進行投票; 所述投票端接收並顯示該至少一投票項目,以及根據不同的所述投票項目傳送對應的一投票訊息至所述伺服端以完成投票; 所述伺服端自登入所述伺服端的所述投票端接收該投票訊息,並且廣播該投票訊息,提供至少一部分的該些唱票節點對該投票訊息進行驗證;以及 至少一部分的該些唱票節點自所述伺服端接收該投票訊息,並且將通過驗證的該投票訊息寫入一投票資料區塊,以及在至少一部分的該些唱票節點對第一個寫完的該投票資料區塊的內容完成驗證後,將通過驗證的該投票資料區塊連結至每一唱票節點的一區塊鏈之尾端。A blockchain-based online voting and ticketing method is applied to an environment having at least one voting terminal, a plurality of ticketing nodes, and at least one server. The steps include: interconnecting the ticketing nodes in a point-to-point manner to provide computing resources; The server pre-stores at least one voting item to provide the voting terminal to select at least one of the voting items; the voting terminal receives and displays the at least one voting item, and transmits a corresponding one of the voting items according to the different voting items. Sending a message to the server to complete the voting; the server receives the voting message from the voting terminal that is logged into the server, and broadcasts the voting message, and provides at least a part of the vouchers to verify the voting message; And at least a portion of the ticketing nodes receive the voting message from the server, and write the verified voting message into a voting material block, and at least a portion of the ticketing nodes are written to the first one After the content of the voting data block is verified, the voting data will be verified. Each block is linked to a trailing end node tellers block chains. 根據申請專利範圍第6項之基於區塊鏈的線上投票與唱票方法,其中所述伺服端根據所述投票端的所述投票訊息產生相應的一識別碼,並且將該識別碼嵌入在對應的所述投票訊息中,該識別碼為一組應用在區塊鏈中的唯一地址。The blockchain-based online voting and ticketing method according to claim 6, wherein the server generates a corresponding identification code according to the voting message of the voting terminal, and embeds the identification code in the corresponding location. In the voting message, the identification code is a unique set of addresses applied in the blockchain. 根據申請專利範圍第6項之基於區塊鏈的線上投票與唱票方法,其中所述投票端產生包含一議題區塊、一選項區塊、一第一狀態區塊及一第二狀態區塊的一顯示界面,其中,該議題區塊顯示該投票項目的投票標題,該選項區塊顯示該投票項目的選項,該第一狀態區塊顯示投票/唱票歷史,該第二狀態區塊顯示該些唱票節點的連線狀態、已投票的該投票項目之總數及一回饋金額至少其中之一。The blockchain-based online voting and ticketing method according to claim 6 of the patent application scope, wherein the voting terminal generates an issue block, an option block, a first status block, and a second status block. a display interface, wherein the topic block displays a voting title of the voting item, the option block displays an option of the voting item, the first status block displays a voting/single ticket history, and the second status block displays the At least one of the connection status of the ticket node, the total number of voting items voted, and a return amount. 根據申請專利範圍第6項之基於區塊鏈的線上投票與唱票方法,其中該方法更包含所述伺服端計算每一唱票節點的一連線時間,並且根據每一唱票節點的該連線時間及該區塊鏈中每一投票項目的一回饋訊息計算每一唱票節點的一回饋金額,所述投票端、該些唱票節點及所述伺服端皆具有一組應用在區塊鏈中的唯一地址以提供識別及交易該回饋金額的步驟。The blockchain-based online voting and ticketing method according to claim 6 of the patent application scope, wherein the method further comprises the server calculating a connection time of each ticket node, and according to the connection time of each ticket node And a feedback message of each voting item in the blockchain calculates a feedback amount of each ticketing node, wherein the voting terminal, the ticket counting nodes and the server have a set of unique applications in the blockchain The address provides the step of identifying and trading the amount of the reward. 根據申請專利範圍第6項之基於區塊鏈的線上投票與唱票方法,其中每一投票項目更包含一唱票數量,所述伺服端根據所述投票項目及該唱票數量將該投票訊息廣播至相應數量的該些唱票節點。According to the blockchain-based online voting and ticketing method of claim 6, wherein each voting item further includes a number of tickets, and the server broadcasts the voting message to the corresponding according to the voting item and the number of the number of tickets. The number of these ticketing nodes.
TW106110807A 2017-03-30 2017-03-30 Online voting and ballot counting system based on blockchain and method thereof TWI625703B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106110807A TWI625703B (en) 2017-03-30 2017-03-30 Online voting and ballot counting system based on blockchain and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106110807A TWI625703B (en) 2017-03-30 2017-03-30 Online voting and ballot counting system based on blockchain and method thereof

Publications (2)

Publication Number Publication Date
TWI625703B true TWI625703B (en) 2018-06-01
TW201837871A TW201837871A (en) 2018-10-16

Family

ID=63255926

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106110807A TWI625703B (en) 2017-03-30 2017-03-30 Online voting and ballot counting system based on blockchain and method thereof

Country Status (1)

Country Link
TW (1) TWI625703B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110660150A (en) * 2018-06-28 2020-01-07 厦门本能管家科技有限公司 Credible voting method and system based on block chain
TWI714868B (en) * 2018-07-03 2021-01-01 萬福資訊股份有限公司 Counting method based on digital currency and blockchain counting system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109523682A (en) * 2018-10-19 2019-03-26 闪维(北京)文化有限公司 A kind of ballot system
TWI755210B (en) * 2020-12-22 2022-02-11 天宿智能科技股份有限公司 Anonymous disclosure and many-to-many recognition system based on blockchain and allowing identity confirmation and method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320140A1 (en) * 2007-06-25 2008-12-25 Microsoft Corporation Credit-based peer-to-peer storage
CN101447100A (en) * 2008-11-27 2009-06-03 吴峰 Method for fabricating subentry vote and subentry voting system
CN103903325A (en) * 2013-07-08 2014-07-02 苏州大学 Safe electronic voting system based on identity signature
JP2014211809A (en) * 2013-04-19 2014-11-13 株式会社グラント Voting support system and voting support server
CN104392534A (en) * 2014-11-21 2015-03-04 西南交通大学 Electronic voting system based on finger vein feature recognition
TW201523506A (en) * 2013-12-06 2015-06-16 sheng-zhi Zhan Method for automatic counting of voters in election via telecommunication system and computer database system designed by computer software

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320140A1 (en) * 2007-06-25 2008-12-25 Microsoft Corporation Credit-based peer-to-peer storage
CN101447100A (en) * 2008-11-27 2009-06-03 吴峰 Method for fabricating subentry vote and subentry voting system
JP2014211809A (en) * 2013-04-19 2014-11-13 株式会社グラント Voting support system and voting support server
CN103903325A (en) * 2013-07-08 2014-07-02 苏州大学 Safe electronic voting system based on identity signature
TW201523506A (en) * 2013-12-06 2015-06-16 sheng-zhi Zhan Method for automatic counting of voters in election via telecommunication system and computer database system designed by computer software
CN104392534A (en) * 2014-11-21 2015-03-04 西南交通大学 Electronic voting system based on finger vein feature recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A; *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110660150A (en) * 2018-06-28 2020-01-07 厦门本能管家科技有限公司 Credible voting method and system based on block chain
CN110660150B (en) * 2018-06-28 2021-11-16 本无链科技(深圳)有限公司 Credible voting method and system based on block chain
TWI714868B (en) * 2018-07-03 2021-01-01 萬福資訊股份有限公司 Counting method based on digital currency and blockchain counting system

Also Published As

Publication number Publication date
TW201837871A (en) 2018-10-16

Similar Documents

Publication Publication Date Title
CN109509287B (en) Electronic voting system and control method
US10783539B2 (en) Incentive-based crowdvoting using a blockchain
JP6939791B2 (en) Bulletin board information management system
US20230091451A1 (en) Application Collaboration Method, Computer Readable Medium, and Application Collaboration System
US11495075B2 (en) Distributed voting system, method, apparatus, computer device and readable storage medium
TWI625703B (en) Online voting and ballot counting system based on blockchain and method thereof
CN111416709B (en) Voting method, device, equipment and storage medium based on block chain system
CN111383114A (en) Asset information management method and device based on block chain
CN110728494A (en) Real estate service handling method, real estate property information system and real estate property information device
JP2019053712A (en) Electronic voting system, and, control method
CN108829702B (en) Public welfare economic system management method and device based on alliance chain and storage medium
JP7029328B2 (en) Electronic voting system and control method
CN109886695A (en) Information sharing method and device and electronic equipment between different blocks chain
CN110838067B (en) Real estate transaction data processing method, device, server and storage medium
CN111340628A (en) Asset information management method and device based on block chain
US20230043223A1 (en) Methods for Securely Adding Data to a Blockchain Using Dynamic Time Quanta and Version Authentication
JP2019053713A (en) Electronic voting system, and, control method
CN110189462A (en) A kind of electronic voting method
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
KR20200078002A (en) Method and system for selecting a winner among weighted candidates based on a blockchain
Sliusar et al. Blockchain technology application for electronic voting systems
Yadav et al. E-voting using blockchain technology
JP2005049973A (en) Campaigning device
US10341314B2 (en) Method of security and verifiability of an electronic vote
CN112102079B (en) Service data processing method and device, computer equipment and storage medium