TWI900537B - Voting system, voting program - Google Patents
Voting system, voting programInfo
- Publication number
- TWI900537B TWI900537B TW110107826A TW110107826A TWI900537B TW I900537 B TWI900537 B TW I900537B TW 110107826 A TW110107826 A TW 110107826A TW 110107826 A TW110107826 A TW 110107826A TW I900537 B TWI900537 B TW I900537B
- Authority
- TW
- Taiwan
- Prior art keywords
- voting
- account
- transaction information
- token
- shareholder
- Prior art date
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本發明係關於一種投票系統及投票程式。 This invention relates to a voting system and a voting program.
眾所周知有一種用來讓使用PC或攜帶式終端等的人經由網際網路(Internet)等之網路而進行問卷回答或意思表達的投票系統。有人提出在如此的投票系統中進一步採用分散式帳本(distributed ledger)方式來防止竄改、或進行電子簽章所為的確認為本人的方法(例如參照專利文獻1至4等)。 Voting systems are widely known that allow people using PCs or portable terminals to answer questionnaires or express their opinions via a network such as the Internet. Some have proposed further employing a distributed ledger system in such voting systems to prevent tampering or to verify identity through electronic signatures (e.g., see Patent Documents 1 to 4).
對此,作為上述的應用例之一,例如像股東投票般要求在進行一次投票之後,只要是在期限內的話就可複數次更改投票的投票方式。 As one of the aforementioned use cases, shareholders can change the voting method multiple times after voting once, as long as the voting period is within a certain time limit.
然而,只是單純地讓投票可以更改,則會產生防止竄改及確認為本人等的機能難以同時達成之問題。 However, simply allowing votes to be altered creates the problem of being unable to simultaneously prevent tampering and verify identity.
[先前技術文獻] [Prior Art Literature]
[專利文獻] [Patent Literature]
專利文獻1:日本專利公告第6511201號 Patent Document 1: Japanese Patent Publication No. 6511201
專利文獻2:日本專利公報特表2018-517208號 Patent Document 2: Japanese Patent Gazette No. 2018-517208
專利文獻3:日本專利公告第6325152號 Patent Document 3: Japanese Patent Publication No. 6325152
專利文獻4:日本專利公報特開2019-95884號 Patent Document 4: Japanese Patent Publication No. 2019-95884
本發明係有鑑於如上所述的問題點而完成者,其目的在提供一種投票系統,可在期間內再投票並且投票確定後難以竄改。 The present invention was developed in light of the aforementioned problems. Its purpose is to provide a voting system that allows for re-voting during a voting period and makes it difficult to tamper with a finalized vote.
為了解決上述的課題,本發明之投票系統係採用分散式帳本,並經由網路從投票用帳戶(account)對於被投票用帳戶進行投票符記(token)之移轉而進行投票,該投票系統係具有:發行投票符記給利用帳戶產生手段而產生的前述投票用帳戶之符記發行手段;在預定的期間內保持用來使前述投票符記從前述投票用帳戶移轉到前述被投票用帳戶的交易資訊(transaction information)之交易資訊保持手段;以及在前述預定的期間結束時將記錄於前述交易資訊保持手段之前述交易資訊記錄至前述分散式帳本之記錄手段。 To address the aforementioned issues, the voting system of the present invention utilizes a distributed ledger and conducts voting by transferring voting tokens from a voting account to a voted account via a network. The voting system comprises: a token issuing means for issuing a voting token to the voting account generated by account generation means; a transaction information storage means for retaining transaction information used to transfer the voting token from the voting account to the voted account for a predetermined period; and a recording means for recording the transaction information recorded in the transaction information storage means to the distributed ledger upon expiration of the predetermined period.
根據本發明,就可提供在期間內可再投票且投票確定後難以竄改之投票系統。 According to the present invention, a voting system can be provided that allows re-voting during the voting period and is difficult to tamper with once the vote is finalized.
9:網路 9: Internet
10:區塊鏈(分散式帳本) 10: Blockchain (distributed ledger)
20,20’:伺服器 20,20’: Server
21,21’:符記發行手段 21,21’: Methods of issuing tokens
22,22’:交易資訊保持手段 22,22’: Means of maintaining transaction information
23,23’:期限管理手段(記錄手段) 23,23’: Deadline Management Methods (Recording Methods)
24,24’:議題記憶部 24,24’: Agenda Memory Department
30:攜帶式終端 30: Portable Terminal
31:投票用應用程式 31: Voting App
32:帳戶產生手段 32: Account Generation Methods
33:簽章手段 33: Signature Methods
34:私鑰(投票用帳戶) 34: Private key (voting account)
40:資料庫 40:Database
41:股東資訊賦予手段 41: Means of providing shareholder information
50:投票符記 50: Voting Token
100,100’:投票系統 100,100’: Voting System
Qy(Q1y,Q2y,Q3y,Q4y,Q5y):被投票用帳戶 Qy(Q1y,Q2y,Q3y,Q4y,Q5y): Account used for voting
Qn(Q1n,Q2n,Q3n,Q4n,Q5n):被投票用帳戶 Qn(Q1n,Q2n,Q3n,Q4n,Q5n): Account used for voting
Tx:交易資訊 Tx: Transaction information
Tx1:投票交易 Tx1: Voting Transaction
P:使用者 P: User
圖1係顯示本發明的實施型態之投票系統的整體構成的一例之圖。 Figure 1 shows an example of the overall structure of a voting system according to an embodiment of the present invention.
圖2係顯示圖1所示的投票用應用程式的功能構成的一例之圖。 Figure 2 shows an example of the functional configuration of the voting application shown in Figure 1.
圖3係顯示圖1所示的伺服器的功能構成的一例之圖。 Figure 3 shows an example of the functional configuration of the server shown in Figure 1.
圖4係顯示圖1所示的投票系統的動作的一例之圖。 Figure 4 shows an example of the operation of the voting system shown in Figure 1.
圖5係顯示圖1所示的投票系統的動作的一例之流程圖。 Figure 5 is a flow chart showing an example of the operation of the voting system shown in Figure 1.
圖6係顯示圖1所示的投票系統的期限結束時的動作的一例之圖。 Figure 6 shows an example of the operation of the voting system shown in Figure 1 when the deadline expires.
圖7係顯示圖1所示的投票系統的投票確定動作的一例之圖。 Figure 7 shows an example of the voting confirmation operation of the voting system shown in Figure 1.
圖8係顯示本發明之投票系統的其他的實施型態的一例之圖。 Figure 8 shows an example of another implementation of the voting system of the present invention.
作為本發明的第一實施型態,圖1顯示經由網際網路等之網路9進行投票之投票系統100的整體構成的一例。 As a first embodiment of the present invention, FIG1 shows an example of the overall structure of a voting system 100 for conducting voting via a network 9 such as the Internet.
在本實施型態中,雖然說明的是投票系統100為:本身為股東之使用者P針對股東大會等中的複數個議題分別回答Yes/No之股東投票的系統,但不限定於如此的構成。 In this embodiment, the voting system 100 is described as a system in which a user P, who is a shareholder, votes by answering yes/no on multiple issues at a shareholders' meeting, etc. However, the system is not limited to this configuration.
投票系統100係具有:使用投票用應用程式(App)31所需的攜帶式終端30;投票系統100的管理者所管理的伺服器20;同樣地由投票系統100的管理者所管理,並保管股東資訊之資料庫40;以及以分散式帳本的方式記錄投票結果之區塊鏈10。 Voting system 100 comprises: a portable terminal 30 for using a voting application (App) 31; a server 20 managed by the administrator of voting system 100; a database 40, also managed by the administrator of voting system 100 and storing shareholder information; and a blockchain 10 that records voting results in a distributed ledger format.
攜帶式終端30係可使用投票用應用程式31之智慧手機(smartphone)或平板電腦(tablet)等之使用者P所有的攜帶式終端,具有可經由網路9而從各個攜帶式終端30連接到伺服器20之通訊功能。 The portable terminal 30 is a portable terminal owned by a user P, such as a smartphone or tablet, that can use the voting application 31. Each portable terminal 30 has a communication function that allows it to connect to the server 20 via the network 9.
投票用應用程式31係如圖2(a)所示,具有:產生私鑰(private key)34而產生投票用帳戶之帳戶產生手段32、以及利用產生的私鑰34對後述的投票符記(token)50進行簽章來作成交易資訊Tx之簽章手段33。 As shown in Figure 2(a), the voting application 31 includes: account generation means 32 that generates a private key 34 to create a voting account, and signing means 33 that uses the generated private key 34 to sign a voting token 50 (described later) to create transaction information Tx.
投票用應用程式31係當使用者如例如圖2(b)所示,針對複數個議題分別利用單選按鈕(radio button)等進行了Yes/No的選擇後,並藉由按下圖2(c)所示的投票按鈕來確定所做的選擇,就利用簽章手段33對於投票符記50進行簽章,然後將之往與各個回答相對應的被投票用帳戶移轉。攜帶式終端30只要是使用者P使用的終端即可,亦可為PC(個人電腦)等。 After a user selects Yes/No for multiple issues using radio buttons, as shown in Figure 2(b), and then confirms their selection by pressing the voting button shown in Figure 2(c), voting application 31 signs voting token 50 using signature means 33 and transfers it to the voted account corresponding to each answer. The portable terminal 30 can be any terminal used by user P, and may be a PC (personal computer).
另外,投票用應用程式31可為在伺服器20側在Web瀏覽器上動作之所謂的Web應用程式(Web App),亦可為安裝於攜帶式終端30之應用程式。所謂的「使用投票用應用程式31」係指顯示可在攜帶式終端30與伺服器20之間使用的應用程式。在投票用應用程式31係在伺服器20上並由使用者使用攜帶式終端30對之進行操作的情況,攜帶式終端30具有作為投票用應用程式31的應用程式操作部的功能。 The voting application 31 can be a so-called web application (web app) running on a web browser on the server 20 side, or it can be an application installed on the portable terminal 30. "Using the voting application 31" means displaying the application as usable between the portable terminal 30 and the server 20. If the voting application 31 is on the server 20 and the user operates it using the portable terminal 30, the portable terminal 30 functions as the application operation unit for the voting application 31.
伺服器20係如圖3所示,具有:發行投票符記50之符記發行手段21、以及暫時保存從投票用應用程式31發送來的進行過簽章的交易資訊Tx之交易資訊保持手段22。 As shown in Figure 3, the server 20 includes a token issuing unit 21 for issuing voting tokens 50 and a transaction information storage unit 22 for temporarily storing signed transaction information Tx sent from the voting application 31.
伺服器20還具有:用來在預定的期間結束時將交易資訊保持手段22所保持的進行過簽章的交易資訊Tx彙總廣播(broadcast)到區塊鏈10上之期限管理手段23。 The server 20 also has a time limit management means 23 for broadcasting the signed transaction information Tx stored by the transaction information storage means 22 to the blockchain 10 at the end of a predetermined period.
伺服器20設有:用來記憶在本實施型態中係發揮作為被投票用帳戶的機能的複數個議題Q1~Q5之議題記憶部24。 The server 20 is provided with an issue storage unit 24 for storing a plurality of issues Q1 to Q5, which in this embodiment functions as an account for voting.
在議題記憶部24,以位址(address)的型態保存著關於各個議題Q1~Q5(例如股東投票的議題)作為在贊成的情況要由投票符記50所投票的被投票用帳戶之帳戶Qy(Q1y,Q2y,Q3y,Q4y,Q5y)、及作為在反對的情況要由投票符記50所投票的被投票用帳戶之帳戶Qn(Q1n,Q2n,Q3n,Q4n,Q5n)。 The issue memory 24 stores, in the form of addresses, the account Qy (Q1y, Q2y, Q3y, Q4y, Q5y) of the voting account to be voted on by the voting token 50 in the case of "Agree" and the account Qn (Q1n, Q2n, Q3n, Q4n, Q5n) of the voting account to be voted on by the voting token 50 in the case of "Oppose" for each issue Q1 to Q5 (e.g., issues to be voted on by shareholders).
資料庫40係保存使用者P所持有的股數等的股票資訊之資料庫,該資料庫40具有:用來使投票用帳戶與本身為所有者的使用者P的股東資訊產生關聯之股東資訊賦予手段41。 The database 40 stores stock information such as the number of shares held by user P. The database 40 includes shareholder information assigning means 41 for associating voting accounts with the shareholder information of user P, who is the owner.
此資料庫40可為保有股東資訊之信託銀行等所管理的資料庫,可為從信託銀行提供出股東資訊之任意的資料庫。 This database 40 can be a database managed by a trust bank or the like that stores shareholder information, or any other database that provides shareholder information from a trust bank.
股東資訊賦予手段41係根據例如使用者P登入(login)伺服器20之際的登入ID來辨別使用者P,然後將該使用者P所持有的股數傳送給伺服器20。 The shareholder information providing means 41 identifies user P based on the login ID used by user P when logging into the server 20, and then transmits the number of shares held by user P to the server 20.
區塊鏈10在本實施型態中係由有限個參加者所形成的私有鏈(private chain),並記錄由複數個使用者P的投票用帳戶相對應的私鑰34進行過簽章的交易資訊Tx之分散式帳本系統。 In this embodiment, blockchain 10 is a private chain formed by a limited number of participants and a distributed ledger system that records transaction information Tx signed by the private keys 34 corresponding to the voting accounts of multiple users P.
上述揭示並不對本實施型態加以限定,區塊鏈10除了私有鏈之外,亦可為公有鏈(public chain)、聯盟鏈(consortium chain)等其他的分散式帳本系統。 The above disclosure does not limit this embodiment. In addition to private chains, blockchain 10 can also be a public chain, consortium chain, or other distributed ledger systems.
另外,區塊鏈10除了可利用帳戶基礎(account-based)進行代幣(coin)之計算的以太坊(Ethereum)之外,亦可採用NEM(新經區塊鏈)等之UTXO(未花費交易輸出)型的區塊鏈。 In addition, blockchain 10 can utilize not only Ethereum, which uses an account-based coin calculation, but also UTXO (unspent transaction output) blockchains such as NEM (New Economic Blockchain).
以下,說明關於如此構成的投票系統100的具體的動作。 The following describes the specific operation of the voting system 100 configured in this manner.
以下說明的一個前提,係在本實施型態中,管理股東資訊之信託銀行等已先郵寄通知給各使用者P。 The following explanation assumes that, in this implementation, the trust bank or other entity managing shareholder information has already sent a notification by mail to each user P.
該通知中記載有:使用攜帶式終端30取得投票用應用程式31的方法、各使用者P各自的ID及密碼等的登入資訊。 The notification contains information on how to access the voting application 31 using the portable terminal 30, as well as login information such as each user P's ID and password.
上述揭示並不對通知的方法加以限定,亦可是從信託銀行以外的單位發出通知、或是從經營投票系統100的營運者發出通知。 The above disclosure does not limit the method of notification; notification may also be issued by an entity other than a trust bank or by the operator of voting system 100.
假設使用者P已事先在各自的攜帶式終端30安裝好要利用投票系統100所需的投票用應用程式31。 Assume that user P has already installed the voting application 31 required to use the voting system 100 on their respective portable terminals 30.
在本實施型態中,雖然是針對進行一個股東投票的情況進行說明,但投票用應用程式31亦可為針對複數年或複數間公司的股東投票分別產生其帳戶,再就各股東投票進行同樣的處理來進行複數個股東投票。 Although this embodiment describes a single shareholder vote, the voting application 31 can also generate separate accounts for shareholder votes for multiple years or multiple companies, and perform the same process for each shareholder vote to conduct multiple shareholder votes.
使用者P如圖4所示在投票用應用程式31上使用預先接獲通知的作為登入資訊之ID及密碼進行登入(步驟S100)。 As shown in FIG4 , user P logs in to the voting application 31 using the ID and password that were previously notified as login information (step S100).
若登入資訊正確,投票用應用程式31就利用帳戶產生手段32產生帳戶(亦即公鑰及私鑰34)(步驟S101)。 If the login information is correct, the voting application 31 generates an account (i.e., a public key and a private key 34) using the account generation means 32 (step S101).
然後,投票用應用程式31係進行向伺服器20的符記發行手段21請求發行投票符記50給自己(步驟S102)。 Then, the voting application 31 requests the token issuing means 21 of the server 20 to issue a voting token 50 to itself (step S102).
伺服器20根據使用者P登入投票用應用程式31之際輸入的ID及密碼等登入資訊,向資料庫40查詢該使用者P的股東資訊,並且確認是否未投票、及持有股數(步驟S103)。同時,針對經帳戶產生手段32產生的投票用帳戶儲存其位址。 Based on the login information, such as the ID and password, entered by user P when logging into the voting application 31, the server 20 queries the database 40 for user P's shareholder information and confirms whether the user has not voted and the number of shares held (step S103). Simultaneously, the address of the voting account generated by the account generation means 32 is stored.
資料庫40利用股東資訊賦予手段41,使在步驟S103中經確認的投票用帳戶與本身為所有者之使用者P的股東資訊產生關聯。以及,資料庫40通知伺服器20關於其所查詢的投票用帳戶的持有股數(步驟S104)。 The database 40 uses the shareholder information assigning means 41 to associate the voting account identified in step S103 with the shareholder information of user P, who is the owner. Furthermore, the database 40 notifies the server 20 of the number of shares held by the queried voting account (step S104).
符記發行手段21根據在步驟S104接獲通知的持有股數,發行投票符記50給投票用帳戶(步驟S105)。 The token issuing means 21 issues a voting token 50 to the voting account based on the number of shares held notified in step S104 (step S105).
此時,發行的投票符記50係與複數個議題Q1~Q5分別對應,作為對應於例如五個議題之五種不同的代幣(coin)。 At this time, the issued voting tokens 50 correspond to multiple issues Q1 to Q5, respectively, serving as five different coins corresponding to, for example, five issues.
在本實施型態中,投票符記50可為依照例如以太坊(Ethereum)的ERC20等的規格所創建的符記來實現,亦可藉由創建其他新型的符記、或虛擬貨幣而產生。 In this embodiment, the voting token 50 can be implemented as a token created in accordance with specifications such as Ethereum's ERC20, or can be generated by creating other new tokens or virtual currencies.
符記發行手段21在步驟S105,按照從資料庫40得到的持有股數而將各種類的投票符記50移轉到投票用帳戶。 In step S105, the token issuing means 21 transfers various types of voting tokens 50 to voting accounts according to the number of shares held obtained from the database 40.
如圖5所示,在投票用應用程式31上利用各投票用帳戶的私鑰34對投票符記50進行簽章,作成投票交易Tx1(步驟S106)。 As shown in Figure 5, the voting token 50 is signed using the private key 34 of each voting account on the voting application 31 to create a voting transaction Tx1 (step S106).
如此的投票交易Tx1為用來從投票用帳戶往伺服器20上的議題記憶部24中分別與議題Q1~Q5對應而預先設定的被投票用帳戶Qy,Qn進行移轉的交易,並暫時保持該投票交易Tx1而完成假投票(步驟S107)。 This voting transaction Tx1 is used to transfer data from the voting account to the voting accounts Qy and Qn, which are pre-set in the issue memory 24 on the server 20 and correspond to issues Q1 to Q5, respectively. The voting transaction Tx1 is temporarily retained to complete the pseudo-voting process (step S107).
在本發明中,係藉由該投票符記50之移轉,而在例如在議題Q1選擇了Yes之情況,從一個使用者P將議題Q1用的投票符記50『投票』到被投票用帳戶Qy。同樣地,在議題Q2選擇了Yes之情況,從一個使用者P將議題Q2用的投票符記50『投票』到被投票用帳戶Qy。被投票用帳戶Qy、Qn可為不分議題而共通的帳戶,可藉由使投票符記50的種類變化來區別是對於哪個議題的投票,亦可將被投票用帳戶Qy、Qn按各議題而區分。 In the present invention, by transferring voting tokens 50, for example, if user P selects Yes on issue Q1, they can "vote" with voting token 50 for issue Q1 to the account being voted on Qy. Similarly, if user P selects Yes on issue Q2, they can "vote" with voting token 50 for issue Q2 to the account being voted on Qy. The accounts being voted on Qy and Qn can be common regardless of the issue, and the voting token 50 type can be changed to distinguish the issue being voted on. Alternatively, the accounts being voted on Qy and Qn can be separated for each issue.
如此的投票符記50因為是與使用者P的股東資訊產生關聯之後發行給投票用應用程式31的投票用帳戶,所以難以複製,而且投票符記50的個數係由議題的數目及投票權的數目所決定。 Because such voting tokens 50 are associated with user P's shareholder information and issued to the voting account of the voting application 31, they are difficult to copy. Furthermore, the number of voting tokens 50 is determined by the number of issues and the number of voting rights.
藉由如上所述的構成,就可經由計算被投票用帳戶Qy、Qn所分別具有的與各議題對應的投票符記50,而確認使用者P所做的投票數。 With the above configuration, the number of votes cast by user P can be confirmed by counting the voting tokens 50 corresponding to each issue held by the voting accounts Qy and Qn.
此處,投票符記50之往被投票用帳戶的移轉尚未被廣播到區塊鏈10上,因此雖然有用來從使用者P的投票用帳戶移轉到議題記憶部24的被投票用帳戶Qy、Qn之投票交易Tx1,但該投票交易Tx1可說是處於可刪除或訂正等的假投票狀態。 At this point, the transfer of voting token 50 to the voting account has not yet been broadcast to blockchain 10. Therefore, although there is a voting transaction Tx1 used to transfer voting tokens from user P's voting account to the voting accounts Qy and Qn in the issue memory 24, this voting transaction Tx1 is in a pseudo-voting state that can be deleted or corrected.
交易資訊保持手段22暫時保存該投票交易Tx1(步驟S108)。 The transaction information storage means 22 temporarily stores the voting transaction Tx1 (step S108).
保存於交易資訊保持手段22之投票交易Tx1係如前述為可刪除或訂正等的假投票狀態。 The voting transaction Tx1 stored in the transaction information storage means 22 is in a pseudo-voting state that can be deleted or revised, as mentioned above.
投票用應用程式31判斷使用者P是否有新的投票指示(步驟S109)。 The voting application 31 determines whether user P has a new voting instruction (step S109).
投票用應用程式31在使用者P想要更改自身的投票時,再度執行步驟S107之投票,來改寫該投票交易Tx1。 When user P wishes to change his or her vote, voting application 31 re-executes step S107 to rewrite the voting transaction Tx1.
具體而言,交易資訊保持手段22係保存用相同的投票用帳戶(亦即相同的私鑰34)進行過簽章的最新的投票交易Tx1來改寫掉舊的。 Specifically, the transaction information storage means 22 saves the latest voting transaction Tx1 signed with the same voting account (i.e., the same private key 34) to overwrite the old one.
另一方面,若在步驟S109沒有新的投票指示,則投票用應用程式31維持待機狀態直到預定的期限截止(步驟S110)。 On the other hand, if there is no new voting instruction in step S109, the voting application 31 remains in standby mode until the predetermined deadline expires (step S110).
在使用者P完成步驟S106~S108之投票,但預定的期間尚未結束之假投票狀態,伺服器20可使保存於交易資訊保持手段22之進行過簽章的投票交易Tx1、與使用者P的持有股數相對照地將假投票狀態的投票結果顯示出來。 After user P completes voting in steps S106-S108 but the predetermined voting period has not yet expired, the server 20 can display the voting results of the pseudo-voting state by comparing the signed voting transaction Tx1 stored in the transaction information storage device 22 with the number of shares held by user P.
因此,投票用應用程式31亦可將在該假投票狀態的投票符記50的數目的計算結果顯示出來。 Therefore, the voting application 31 can also display the calculation result of the number of voting tokens 50 in the fake voting state.
接著,說明使用投票用應用程式31進行投票之後,到預定的期限截止時的投票用應用程式31、伺服器20、區塊鏈10各者的動作。 Next, we will explain the actions of the voting application 31, server 20, and blockchain 10 after a vote is cast using the voting application 31 and the predetermined deadline has expired.
期限管理手段23在預定的期間(例如投票日)結束的時點將保存於交易資訊保持手段22的投票交易Tx1讀出(步驟S201),將進行過簽章的投票交易Tx1發送至區塊鏈10(步驟S202)。 At the end of a predetermined period (e.g., voting day), the deadline management means 23 reads the voting transaction Tx1 stored in the transaction information storage means 22 (step S201) and sends the signed voting transaction Tx1 to the blockchain 10 (step S202).
區塊鏈10將該投票交易Tx1寫入,使該投票交易Tx1確定下來。 Blockchain 10 writes the voting transaction Tx1, making the voting transaction Tx1 final.
因此,期限管理手段23發揮作為『在預定的期間結束時將記錄於交易資訊保持手段22之交易資訊Tx記錄至區塊鏈10之記錄手段』的功能。 Therefore, the deadline management means 23 functions as a recording means for recording the transaction information Tx recorded in the transaction information storage means 22 on the blockchain 10 at the end of the predetermined period.
此處,期限管理手段23除了在預定的投票日結束時將交易資訊Tx記錄至區塊鏈10之外,亦可例如以網路爬蟲(crawler bot)的方式在每個預先訂定的預定的期間將保存於交易資訊保持手段22的投票交易Tx1廣播出去。 Here, in addition to recording the transaction information Tx on the blockchain 10 at the end of the scheduled voting day, the deadline management means 23 can also broadcast the voting transaction Tx1 stored in the transaction information storage means 22 at each predetermined period, for example, using a crawler bot.
交易資訊Tx的廣播的時序,可為在設計時就決定的,亦可為伺服器20的運用者所任意決定的時序。 The timing of broadcasting transaction information Tx can be determined during design or arbitrarily determined by the user of server 20.
投票用應用程式31可在期限管理手段23所決定的預定的期間結束後,不僅顯示出在假投票狀態的投票交易Tx1的計數結果,也根據記錄至區塊鏈10之投票交易Tx1而顯示出該確定下來的投票結果。此時攜帶式終端30及伺服器20係具有作為用來顯示出投票結果的投票結果顯示手段之功能。 After the predetermined period determined by the deadline management means 23 has expired, the voting application 31 can display not only the counting results of the voting transaction Tx1 in the pseudo-voting state, but also the finalized voting results based on the voting transaction Tx1 recorded in the blockchain 10. In this case, the portable terminal 30 and the server 20 function as voting result display means for displaying the voting results.
如上述從區塊鏈10讀出投票結果,會比單純地根據暫時保存的投票符記50的數量來顯示出投票結果的作法更加提高正確性。 Reading the voting results from the blockchain 10 as described above will improve accuracy compared to simply displaying the voting results based on the number of temporarily stored voting tokens 50.
藉由如此的構成,有助於提高投票結果的透明性、可信賴性。 This structure will help enhance the transparency and credibility of voting results.
或者,亦可計數議題記憶部24內的被投票用帳戶Qy(Q1y,Q2y,Q3y,Q4y,Q5y)、Qn(Q1n,Q2n,Q3n,Q4n,Q5n)所各自保有的投票符記50的數量,來顯示出投票結果。 Alternatively, the voting results can be displayed by counting the number of voting tokens 50 held by each of the voting accounts Qy (Q1y, Q2y, Q3y, Q4y, Q5y) and Qn (Q1n, Q2n, Q3n, Q4n, Q5n) in the issue memory unit 24.
本實施型態中,投票系統100為經由網路從投票用帳戶對於被投票用帳戶進行投票符記之移轉而進行投票之採用分散式帳本的投票系統,該投票系統100具有:發行投票符記50給利用帳戶產生手段32而產生的投票用帳戶之符記發行手段21;在預定的期間內保持用來使投票符記50從投票用帳戶移轉到前述被投票用帳戶的交易資訊Tx之交易資訊保持手段22;以及在預定的期間結束時將記錄於交易資訊保持手段22之交易資訊Tx記錄至區塊鏈10之期限管理手段23。 In this embodiment, voting system 100 utilizes a distributed ledger to conduct voting by transferring voting tokens from a voting account to a voted account via a network. Voting system 100 includes: token issuing means 21 for issuing voting tokens 50 to voting accounts generated by account generating means 32; transaction information storage means 22 for retaining transaction information Tx used to transfer voting tokens 50 from the voting account to the voted account for a predetermined period; and expiration management means 23 for recording the transaction information Tx recorded in transaction information storage means 22 on the blockchain 10 at the end of the predetermined period.
藉由如此的構成,可在投票交易Tx1是保存於交易資訊保持手段22的『預定的期間內』,亦即投票日之前可更改投票,並且在『預定的期間』結束時因為將投票交易Tx1廣播到區塊鏈10而使投票結果確定下來。 With this structure, voting transaction Tx1 can be stored in the transaction information storage device 22 for a "predetermined period," meaning that votes can be changed before the voting day. Furthermore, at the end of the "predetermined period," voting transaction Tx1 is broadcast to the blockchain 10, finalizing the voting result.
本實施型態中,投票系統100係在預定的期間內以可改寫的方式保持著被保持於交易資訊保持手段22的投票交易Tx1。 In this embodiment, the voting system 100 retains the voting transaction Tx1 stored in the transaction information storage means 22 in an overwritable manner for a predetermined period of time.
藉由如此的構成,在投票交易Tx1是保存於交易資訊保持手段22的『預定的期間內』,亦即投票日之前都可更改投票。 With this structure, votes can be changed while the voting transaction Tx1 is stored in the transaction information storage device 22 within the "predetermined period," that is, before the voting day.
又,本實施型態中,具有股東資訊賦予手段41,且符記發行手段21係根據藉由股東資訊賦予手段41而取得的使用者P的股東資訊,來決定所要發行的投票符記50的數量。 Furthermore, in this embodiment, shareholder information assigning means 41 is provided, and the token issuing means 21 determines the number of voting tokens 50 to be issued based on the shareholder information of user P obtained by the shareholder information assigning means 41.
根據如此的構成,因為投票符記50係在與使用者P的股東資訊產生關聯之後,才發行給投票用應用程式31的投票用帳戶,所以難以複製,而且投票符記50 的個數係由議題的數目及投票權的數目所決定,所以可藉由將被投票用帳戶Qy、Qn各自具有的投票符記50予以加總來確認各使用者所做的投票數。 With this configuration, voting tokens 50 are issued to voting accounts in voting application 31 after being associated with user P's shareholder information, making them difficult to copy. Furthermore, the number of voting tokens 50 is determined by the number of issues and voting rights. Therefore, the number of votes cast by each user can be confirmed by summing the voting tokens 50 held by each voting account Qy or Qn.
又,在本實施型態中,投票交易Tx1係用屬於投票用帳戶之各個私鑰34進行過簽章,然後保持於交易資訊保持手段22。 Furthermore, in this embodiment, the voting transaction Tx1 is signed using the private key 34 of each voting account and then stored in the transaction information storage means 22.
根據如此的構成,就可在投票交易Tx1保存於交易資訊保持手段22的『預定的期間內』,亦即投票日之前更改投票。 With this structure, votes can be changed while voting transaction Tx1 is stored in the transaction information storage device 22 for the "predetermined period," that is, before the voting day.
用於本實施型態之投票系統100中的程式,係用來經由網路而對被投票用帳戶Qy、Qn進行投票之採用區塊鏈10的投票程式。 The program used in the voting system 100 of this embodiment is a voting program using blockchain 10 for voting accounts Qy and Qn via the Internet.
本實施型態之投票程式係具有:產生用來進行投票的投票用帳戶之產生步驟S101、發行投票符記50給投票用帳戶之符記發行步驟S105、暫時記憶由投票用帳戶進行過簽章的投票符記50的投票交易Tx1之暫時記憶步驟S108、以及在預定的期間結束時進行投票交易Tx1的廣播而將之記錄至區塊鏈10之記錄步驟S202。 The voting process of this embodiment includes: a generation step S101 for generating a voting account for voting; a token issuance step S105 for issuing a voting token 50 to the voting account; a temporary storage step S108 for temporarily storing the voting transaction Tx1 containing the voting token 50 signed by the voting account; and a recording step S202 for broadcasting the voting transaction Tx1 and recording it on the blockchain 10 at the end of a predetermined period.
藉由如此的構成,投票系統100在期間內可再投票且投票確定後難以竄改。 With this configuration, voting system 100 allows for further voting during the voting period, and once the vote is finalized, it is difficult to tamper with it.
使用如此的投票系統100進行了投票時,在區塊鏈10係只有用私鑰34進行過簽章的區塊能夠以可判別的狀態被看見。 When voting is conducted using such a voting system 100, only blocks signed with the private key 34 can be viewed in a discernible state on the blockchain 10.
私鑰34係在最初使用者P登入投票用應用程式31之際產生的投票用帳戶,使用者P與私鑰34之組合並無法從區塊鏈10得知。在用於例如通常為一人一票的選舉或問卷調查之情況,如此會確保使用者P的匿名性。 Private key 34 is a voting account generated when user P initially logs into voting application 31. The combination of user P and private key 34 cannot be obtained from blockchain 10. This ensures the anonymity of user P in elections or surveys where one person, one vote is common.
然而,特別是在股東投票這樣的特殊的投票型態,可能會有在例如上市公司等將包含持有股數在內的股東資訊公告出來的情況。 However, especially in special voting types such as shareholder voting, there may be cases where, for example, listed companies may disclose shareholder information including the number of shares held.
亦即,只要可算出使用某一私鑰34進行的投票在區塊鏈10上總共有幾票,就有可能推測出使用者P是誰。 In other words, as long as the total number of votes cast using a certain private key 34 on blockchain 10 can be calculated, it is possible to infer who user P is.
因此,作為本發明的第二實施型態,在投票系統100中,帳戶產生手段32可根據藉由股東資訊賦予手段41而取得的股東資訊,產生複數個使用者P的投票用帳戶。 Therefore, as a second embodiment of the present invention, in voting system 100, account generation means 32 can generate a plurality of voting accounts for user P based on the shareholder information obtained by shareholder information assignment means 41.
具體而言,在第一實施型態的步驟S101中,投票用應用程式31可針對單一個使用者P作出複數對之作為投票用帳戶的私鑰34與公鑰的配對。 Specifically, in step S101 of the first embodiment, the voting application 31 can create multiple pairs of private keys 34 and public keys for a single user P, each serving as a voting account.
根據如此的構成,就不是根據使用者P的股東資訊,而是針對一個投票用帳戶(私鑰34)每一種類分配一個投票符記50。 With this structure, instead of using the shareholder information of user P, a voting token 50 is assigned to each voting account (private key 34) for each type.
因此,不會用相同的私鑰34對投票符記50進行簽章,所以僅使用區塊鏈10中公開的資訊將難以推知使用者P是誰。 Therefore, the voting token 50 will not be signed with the same private key 34, so it will be difficult to infer the identity of user P using only the public information in the blockchain 10.
在如此的第二實施型態中,也因為私鑰34之管理係只在投票用應用程式31上進行,所以使用者P可不用特別留意所使用的投票權的區分而進行投票。 In this second embodiment, since the private key 34 is managed only in the voting application 31, user P can vote without paying special attention to the division of voting rights used.
如上述的使用複數個投票用帳戶之投票,一般而言一票一票都會以不同的私鑰34進行簽章,所以會有投票用應用程式31的計算處理所花的時間增長之虞,但在第二實施型態中,投票交易Tx1實際上並不是馬上記錄至區塊鏈10,而是暫時保存於交易資訊保持手段22。因此在本實施型態中,投票用應用程式31可先在要給使用者P看的顯示上顯示出投票已結束之通知,並利用背景處理進行利用該複數個帳戶之簽章。藉由採用如此的處理方法,就不會有可用性降低的情形,且有助於提高使用者P的匿名性。 In voting using multiple voting accounts, as described above, each vote is typically signed with a different private key 34, potentially increasing the computational processing time of the voting application 31. However, in the second embodiment, the voting transaction Tx1 is not immediately recorded on the blockchain 10 but is temporarily stored in the transaction information storage device 22. Therefore, in this embodiment, the voting application 31 can first display a notification indicating the end of voting on a display intended for user P, and then perform the signatures using the multiple accounts in the background. This approach prevents usability degradation and helps enhance user P's anonymity.
再者,作為本發明的第三實施型態,可將股東資訊賦予手段41及資料庫40省略。 Furthermore, as a third embodiment of the present invention, the shareholder information providing means 41 and the database 40 can be omitted.
如此之將股東資訊賦予手段41省略的情況,可想成是為了用於例如問卷調查或選舉等的投票之投票系統100’。 In this way, the method 41 for providing shareholder information is omitted, which can be thought of as a voting system 100' for use in, for example, a questionnaire or an election.
在特別是選舉的情況,只要在從自治體配送到各投票權人作為投票所入場券之通知上,記載使用攜帶式終端30取得投票用應用程式31的方法、各使用者P各自的ID及密碼等登入資訊即可。 In the case of an election, the notice distributed from the municipality to each voter as a polling station admission ticket simply states the method for obtaining the voting application 31 using the portable terminal 30 and the login information such as the ID and password of each user P.
圖8顯示經由網路9進行投票之投票系統100’的整體構成的一例。 FIG8 shows an example of the overall structure of a voting system 100' for conducting voting via the network 9.
在本實施型態中,以投票系統100’係作為投票權人或問卷的回答者之使用者P針對複數個議題分別回答Yes/No之投票系統進行說明。 In this embodiment, the voting system 100 is described as a voting system in which a user P, acting as a voter or respondent to a questionnaire, answers Yes/No to multiple questions.
投票系統100’係具有:安裝有投票用應用程式31之攜帶式終端30、伺服器20’、及以分散式帳本的方式記錄投票結果之區塊鏈10。 Voting system 100' comprises a portable terminal 30 with a voting application 31 installed, a server 20', and a blockchain 10 that records voting results in a distributed ledger format.
攜帶式終端30係安裝有投票用應用程式31之使用者P所有的攜帶式終端,具有可從各個攜帶式終端30經由網路9而連接到伺服器20’之通訊功能。 The portable terminals 30 are owned by user P, who has installed the voting application 31. Each portable terminal 30 has a communication function that allows it to connect to the server 20' via the network 9.
攜帶式終端30的功能構成,因為與作為第一實施型態而說明過的相同故適當地將其說明予以省略。 The functional configuration of the portable terminal 30 is the same as that described in the first embodiment, so its description will be omitted as appropriate.
伺服器20’係如圖8所示,具有:發行投票符記50之符記發行手段21’、及暫時地保存從投票用應用程式31發送來的進行過簽章的交易資訊Tx之交易資訊保持手段22’。 As shown in Figure 8, the server 20' includes a token issuing means 21' for issuing voting tokens 50, and a transaction information storage means 22' for temporarily storing signed transaction information Tx sent from the voting application 31.
伺服器20’還具有:用來在預定的期間結束時將交易資訊保持手段22’所保持的進行過簽章的交易資訊Tx彙總廣播到區塊鏈10上之期限管理手段23’。 The server 20' also has a time limit management means 23' for aggregating and broadcasting the signed transaction information Tx stored by the transaction information storage means 22' to the blockchain 10 at the end of a predetermined period.
伺服器20’設有:議題記憶部24’,該議題記憶部24’係用來記憶在本實施型態中發揮作為被投票用帳戶的機能的複數個議題Q1~Q5。 The server 20' is equipped with an issue storage unit 24', which is used to store a plurality of issues Q1 to Q5, which function as voting accounts in this embodiment.
在議題記憶部24’,以位址的型態保存著關於各個議題Q1~Q5(例如股東投票的議題)作為在贊成的情況要由投票符記50所投票的被投票用帳戶之帳戶Qy(Q1y,Q2y,Q3y,Q4y,Q5y)、及作為在反對的情況要由投票符記50所投票的被投票用帳戶之帳戶Qn(Q1n,Q2n,Q3n,Q4n,Q5n)。 The issue memory 24' stores, in the form of addresses, the account Qy (Q1y, Q2y, Q3y, Q4y, Q5y) of the voting account to be voted on by the voting token 50 in the case of "yes" and the account Qn (Q1n, Q2n, Q3n, Q4n, Q5n) of the voting account to be voted on by the voting token 50 in the case of "no" for each issue Q1 to Q5 (e.g., issues to be voted on by shareholders).
在第三實施型態中,符記發行手段21’係按議題Q1~Q5的數目每一種類只發行一個投票符記50給各個使用者P。 In the third embodiment, the token issuing means 21' issues only one voting token 50 to each user P for each category of issues Q1-Q5.
亦即,議題有五個的話,係分配每個議題一個共計五種類的投票符記50給在投票用應用程式31作成的投票用帳戶。 That is, if there are five issues, a total of five types of voting tokens 50 are allocated to the voting account created in the voting application 31 for each issue.
藉由如此的構成,使用者P可針對各個議題Q1~Q5進行一人一票之投票。 With this structure, user P can vote on each of the questions Q1-Q5.
因為如此使一人可投一票,並使期限之前的變更容易且期限後的變更不可能,所以具有國會議員選舉的提前投票的實施會變容易等之效果。 This will allow one person to cast one vote, making changes before the deadline easier and impossible after the deadline, thus facilitating early voting for parliamentary elections.
另外,在選舉中,可不是產生與例如議題Q1~Q5的Yes/No對應之被投票用帳戶Q1y,Q1n,...,而是針對各個候選人,產生在某個選區的複數個候選人的每一個的被投票用帳戶。在此情況,議題記憶部24’係產生與各候選人對應的複數個被投票用帳戶。 Furthermore, in an election, rather than generating voting accounts Q1y, Q1n, ... corresponding to the Yes/No answers to, for example, issues Q1-Q5, voting accounts are generated for each candidate in a particular constituency. In this case, the issue memory unit 24' generates multiple voting accounts corresponding to each candidate.
關於投票系統100’的動作、構成,因為與在第一至第二實施型態中說明過的內容重複,故將其說明予以省略。 The operation and structure of voting system 100' overlap with those described in the first and second embodiments, so their description will be omitted.
以上針對本發明的較佳的實施型態進行了說明,但本發明並不限定於該特定的實施型態,只要是在上述的說明中未特別加以限定的,都可以在申請專利範圍所記載的本發明的主旨的範圍內做各種變化、變更。 The above description is based on the preferred embodiments of the present invention. However, the present invention is not limited to this specific embodiment. Unless otherwise specified in the above description, various modifications and alterations can be made within the scope of the present invention as described in the patent application.
例如,期限管理手段23’亦可針對投票的期限例如以網路爬蟲(crawler bot)的方式在每個預先訂定的預定的期間將保存於交易資訊保持手段22’的投票交易Tx1廣播出去。 For example, the deadline management means 23' can also broadcast the voting transaction Tx1 stored in the transaction information storage means 22' at each predetermined period, for example, using a crawler bot.
交易資訊Tx的廣播的時序,可為在設計時就決定的,亦可為伺服器20’的運用者所任意決定的時序。 The timing of broadcasting transaction information Tx can be determined during design or arbitrarily determined by the user of server 20'.
區塊鏈10可為私有鏈,亦可為公有鏈。 Blockchain 10 can be a private chain or a public chain.
採用公有鏈作為區塊鏈10的情況,防竄改性會更加提高,而且會確保投票結果的透明性、可信賴性。 Using a public chain as blockchain 10 will further enhance its resistance to tampering and ensure the transparency and credibility of voting results.
本發明的實施型態中說明的效果,只不過是列舉本發明所產生的最好的效果,本發明所能產生的效果並不限定於本發明的實施型態中所說明的。 The effects described in the embodiments of this invention are merely the best examples of the effects produced by this invention. The effects that can be produced by this invention are not limited to those described in the embodiments of this invention.
9:網路 9: Internet
10:區塊鏈(分散式帳本) 10: Blockchain (distributed ledger)
20:伺服器 20: Server
21:符記發行手段 21: Methods of issuing tokens
22:交易資訊保持手段 22: Means of maintaining transaction information
23:期限管理手段(記錄手段) 23: Deadline Management Methods (Recording Methods)
24:議題記憶部 24: Agenda Memory Department
30:攜帶式終端 30: Portable Terminal
31:投票用應用程式 31: Voting App
40:資料庫 40:Database
41:股東資訊賦予手段 41: Means of providing shareholder information
50:投票符記 50: Voting Token
100:投票系統 100: Voting System
P:使用者 P: User
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110107826A TWI900537B (en) | 2021-03-02 | 2021-03-02 | Voting system, voting program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110107826A TWI900537B (en) | 2021-03-02 | 2021-03-02 | Voting system, voting program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202236102A TW202236102A (en) | 2022-09-16 |
| TWI900537B true TWI900537B (en) | 2025-10-11 |
Family
ID=84957353
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110107826A TWI900537B (en) | 2021-03-02 | 2021-03-02 | Voting system, voting program |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI900537B (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030094489A1 (en) * | 2001-04-16 | 2003-05-22 | Stephanie Wald | Voting system and method |
| CN109272631A (en) * | 2017-07-17 | 2019-01-25 | 卡巴斯基实验室股份制公司 | The system and method for determining the ballot paper of the voter collected by electronic voting |
| CN109964446A (en) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | A voting-based consensus method |
| TWI743563B (en) * | 2019-02-28 | 2021-10-21 | 開曼群島商創新先進技術有限公司 | System, method and device for voting |
-
2021
- 2021-03-02 TW TW110107826A patent/TWI900537B/en active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030094489A1 (en) * | 2001-04-16 | 2003-05-22 | Stephanie Wald | Voting system and method |
| CN109272631A (en) * | 2017-07-17 | 2019-01-25 | 卡巴斯基实验室股份制公司 | The system and method for determining the ballot paper of the voter collected by electronic voting |
| CN109964446A (en) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | A voting-based consensus method |
| TWI743563B (en) * | 2019-02-28 | 2021-10-21 | 開曼群島商創新先進技術有限公司 | System, method and device for voting |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202236102A (en) | 2022-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4165855B1 (en) | Systems and methods for building blockchains for verifying assets for smart contracts | |
| US20220391887A1 (en) | Systems and Methods for Maintenance of NFT Assets | |
| Palma et al. | Blockchain and smart contracts for higher education registry in Brazil | |
| US20200258338A1 (en) | Secure voting system | |
| US20240281901A1 (en) | Information processing apparatus, information processing method, and program | |
| Mercuri | Electronic vote tabulation checks and balances | |
| US12423667B2 (en) | Systems and methods for the facilitation of blockchains | |
| US8615520B2 (en) | Computer based methods and systems for establishing trust between two or more parties | |
| US20190051079A1 (en) | Cryptographically tracked and secured vote by mail system | |
| JP2025183377A (en) | Ticket system, program, and method. | |
| US20190188411A1 (en) | Systems and Methods for Decentralizing Consumer Preferences, Consent and Permissions Management with Reward and Reputation Network for Enterprises Using a Blockchain Ledger | |
| Cranor | Electronic voting: computerized polls may save money, protect privacy | |
| JP7064947B2 (en) | Electronic voting system and control method | |
| US20240020691A1 (en) | Systems and methods for authenticated trust distribution using blockchain | |
| US20250028790A1 (en) | Systems and Methods for Token Use and Protection Using Blockchain | |
| Rosasooria et al. | E-voting on blockchain using solidity language | |
| CN110689415A (en) | Public resource transaction platform management system | |
| US10192048B2 (en) | CertiSafe, a novel credential authentication process and system ( CAPS ) | |
| TWI625703B (en) | Online voting and ballot counting system based on blockchain and method thereof | |
| JP7064950B2 (en) | Electronic voting system and control method | |
| CN114693241A (en) | Block chain-based electronic resume system and implementation method thereof | |
| JP6843327B1 (en) | Voting system, voting program | |
| TWI900537B (en) | Voting system, voting program | |
| Tanim et al. | Dr. FANS: A Decentralized Micro-credential Verification System Towards Higher Qualifications | |
| JP3723429B2 (en) | History storage device, verification device, and electronic rights distribution system |