TWI755210B - 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 - Google Patents
基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 Download PDFInfo
- Publication number
- TWI755210B TWI755210B TW109145457A TW109145457A TWI755210B TW I755210 B TWI755210 B TW I755210B TW 109145457 A TW109145457 A TW 109145457A TW 109145457 A TW109145457 A TW 109145457A TW I755210 B TWI755210 B TW I755210B
- Authority
- TW
- Taiwan
- Prior art keywords
- blockchain
- announcement
- data
- wallet address
- end host
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012790 confirmation Methods 0.000 title claims abstract description 15
- 238000012795 verification Methods 0.000 claims description 46
- 150000003839 salts Chemical class 0.000 claims description 8
- 238000011835 investigation Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 2
- 239000000463 material Substances 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001568 sexual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法,透過揭露端主機產生一次性錢包地址,並且將揭露資料加密成加密資料後寫入區塊鏈,再由身分驗證端主機產生相應的有效標記,以及由收集公告端主機對加密資料進行解密與生成相應的簽收標記,並且混淆解密獲得的揭露資料及其相應的一次性錢包地址的對應關係,用以作為混淆承認公告的內容並寫入區塊鏈,以便提供揭露端主機在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,將承認標記寫入區塊鏈,藉以達到提高匿名性且允許確認身分之技術功效。
Description
本發明涉及一種匿名揭露暨多對多承認之系統及其方法,特別是基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法。
近年來,隨著區塊鏈的普及與蓬勃發展,各種區塊鏈應用便如雨後春筍般湧現,其中又以區塊鏈具備無法否認和難以竄改的特性而常被應用於投票或民調等等。
一般而言,傳統以區塊鏈進行投票或民調時,由於區塊鏈會完整地紀錄投票者的地址,當區塊鏈應用普及化後,原本的地址不具名(或稱之為匿名)效果便會逐漸減弱,舉例來說,隨著某一地址的使用率增加,分析者可以針對單一地址來分析使用此地址的使用者,進而得知其選擇、興趣及取向等等,倘若在某一應用中被得知使此地址所對應的真實身分,那麼,此地址便不再具有匿名性,以往的不具名選擇都將形同具名。
有鑑於此,便有廠商提出編碼及加密的技術手段,其透過雜湊及金鑰加密的方式,對資料內容(如:選票或民調)進行編碼及加密,使得公開於區塊鏈上的資料仍然能夠維持相當程度的匿名性。然而,此方式在金鑰被竊取的情況下,竊取者可以搭配暴力測試的方式嘗試各種雜湊函式(Hash Function)來執行解密及雜湊碰撞(Collision)以獲得資料內容,故具有匿名性不佳的問題。
另外,雖然許多應用需要不具名的特性,如:匿名投票、匿名民調等等,但是為了避免發生弄虛作假的情況,實務上仍然需要有驗證身分真實性的機制,而傳統方式往往只在初始時或投票完成時才會進行驗證,導致存在資料不透明的空檔。
綜上所述,可知先前技術中長期以來一直存在無法兼顧匿名性及允許確認身分的問題,因此實有必要提出改進的技術手段,來解決此一問題。
本發明揭露一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法。
首先,本發明揭露一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,其包含:揭露端主機、身分驗證端主機及收集公告端主機。
其中,揭露端主機用以傳送一次性錢包地址至身分驗證端主機,並且以收集公告端公鑰加密揭露資料以生成加密資料,再以所述一次性錢包地址發布加密資料,將此加密資料寫入區塊鏈,以及在區塊鏈上的混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,使用自身的一次性錢包地址將承認標記寫入區塊鏈,用以承認所述混淆承認公告中存在自身的揭露資料,其中所述揭露資
料包含識別碼,用以在揭露資料被公告在混淆承認公告時,允許揭露端主機根據識別碼辨識屬於自身的揭露資料;身分驗證端主機用以自揭露端主機接收一次性錢包地址,以及對揭露端主機進行驗證,當完成驗證且接收到一次性錢包地址時,建立一次性錢包地址與揭露端主機的對應關係,以及在偵測到一次性錢包地址將加密資料寫入區塊鏈時,將對應加密資料的有效標記寫入區塊鏈以作證加密資料來自所述一次性錢包地址;收集公告端主機用以在區塊鏈上偵測到有效標記及其對應的加密資料時,自區塊鏈載入加密資料,並且通過收集公告端私鑰解密以獲得揭露資料及其相應的一次性錢包地址,再將對應此加密資料的簽收標記寫入區塊鏈,以及當收集公告端主機獲得所述揭露資料及其相應的一次性錢包地址時,混淆揭露資料與一次性錢包地址之間的對應關係作為混淆承認公告的內容,並且將此混淆承認公告發布於區塊鏈,使所述混淆承認公告包含已混淆對應關係的所有所述揭露資料及所述一次性錢包地址。
另外,本發明還揭露一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,應用在包含揭露端主機、身分驗證端主機及收集公告端主機的區塊鏈網路,其步驟包括:所述多個揭露端主機中每一揭露端主機傳送一次性錢包地址至身分驗證端主機,並且以收集公告端公鑰加密揭露資料以生成加密資料,再以所述一次性錢包地址發布此加密資料,用以將此加密資料寫入區塊鏈;當身分驗證端主機對所述每一揭露端主機完成驗證且接收到一次性錢包地址時,建立一次性錢包地址與所述每一揭露端主機的對應關係,以及偵測到一次性錢包地址將加密資料寫入區塊鏈時,將對應此加密資料的有效標記寫入區塊鏈,用以作證此加密資料來自所述一次性錢包地址;收集公告端主機在區塊鏈上偵測到有效標記及其對應的加密資料時,自區塊鏈載入加密資料,
並且通過收集公告端私鑰解密以獲得揭露資料及其相應的一次性錢包地址,再將對應此加密資料的簽收標記寫入區塊鏈;當收集公告端主機獲得揭露資料及其相應的一次性錢包地址時,混淆揭露資料與一次性錢包地址之間的對應關係作為混淆承認公告的內容,並且將此混淆承認公告發布於區塊鏈,使所述混淆承認公告包含已混淆對應關係的所有揭露資料及所述一次性錢包地址,其中所述揭露資料包含識別碼,用以在揭露資料被公告在混淆承認公告時,允許所述每一揭露端主機根據識別碼辨識屬於自身的揭露資料;以及所述每一揭露端主機在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,使用自身的一次性錢包地址將承認標記寫入區塊鏈,用以承認所述混淆承認公告中存在自身的揭露資料。
本發明所揭露之系統與方法如上,與先前技術的差異在於本發明是透過揭露端主機產生一次性錢包地址,並且將揭露資料加密成加密資料後寫入區塊鏈,再由身分驗證端主機產生相應的有效標記,以及由收集公告端主機對加密資料進行解密與生成相應的簽收標記,並且混淆解密獲得的揭露資料及其相應的一次性錢包地址的對應關係,用以作為混淆承認公告的內容並寫入區塊鏈,以便提供揭露端主機在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,將承認標記寫入區塊鏈。
透過上述的技術手段,本發明可以達成提高匿名性且允許確認身分之技術功效。
100:區塊鏈網路
110:揭露端主機
110a~110n:揭露端主機
120:身分驗證端主機
130:收集公告端主機
300:區塊鏈
310:加密資料
311:揭露資料
312:鹽資料
320:有效標記
330:簽收標記
410:混淆承認公告
411a~411n:揭露資料
412a~412n:一次性錢包地址
413a~413n:承認標記
步驟210:揭露端主機傳送一一次性錢包地址至身分驗證端主機,並且以一收集公告端公鑰加密一揭露資料以生成一加密資料,再以該一次性錢包地址發布該加密資料,用以將該加密資料寫入一區塊鏈
步驟220:當該身分驗證端主機偵測到該一次性錢包地址將該加密資料寫入該區塊鏈時,將對應該加密資料的一有效標記寫入該區塊鏈,用以作證該加密資料來自該一次性錢包地址
步驟230:收集公告端主機在該區塊鏈上偵測到該有效標記及其對應的該加密資料時,自該區塊鏈載入該加密資料,並且通過一收集公告端私鑰解密以獲得所述揭露資料及其相應的所述一次性錢包地址,再將對應該加密資料的一簽收標記寫入該區塊鏈
步驟240:當該收集公告端主機獲得所述揭露資料及其相應的所述一次性錢包地址時,混淆所述揭露資料與所述一次性錢包地址之間的對應關係作為一混淆承認公告的內容,並且將該混淆承認公告發布於該區塊鏈,使該混淆承認公告包含已混淆對應關係的所有所述揭露資料及所述一次性錢包地址
步驟250:每一揭露端主機在該混淆承認公告中偵測到自身的所述揭露資料及所述一次性錢包地址時,使用自身的所述一次性錢包地址將一承認標記寫入該區塊鏈,用以承認該混淆承認公告中存在自身的該揭露資料
第1圖為本發明基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統的系統方塊圖。
第2A圖及第2B圖為本發明基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法的方法流程圖。
第3A圖至第3D圖為應用本發明進行匿名的投票或民調暨彩券開獎之示意圖。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
首先,在說明本發明所揭露之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法之前,先對本發明的應用環境作說明,本發明係應用在區塊鏈網路環境,此區塊鏈網路包含揭露端主機、身分驗證端主機及收集公告端主機。實際上,上述這些主機皆可視為區塊鏈網路的節點,並且各自存在一條記錄相同內容的區塊鏈。除此之外,所述區塊鏈上也可以存在預先設置的智能合約(Smart Contract),所述智能合約是指在區塊鏈的基礎上依據既定的條件及傳輸的資訊來驅動執行指令的電腦程式,具體而言,所述智能合約係透過程式語言,例如:Solidity、Serpent、LLL、EtherScript、Sidechain等等來撰寫,其可包含各種不同的函式(Function)、事件(Event)、參數狀態等等,用以藉由執行指令來改變參數狀態或觸發事件。
以下配合圖式對本發明基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法做進一步說明,請先參閱「第1圖」,「第1圖」為本發明基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統的系統方塊圖,此系統包含:揭露端主機110、身分驗證端主機120及收集公告端主機130。
其中,揭露端主機110用以傳送一次性錢包地址至身分驗證端主機120,並且使用收集公告端公鑰加密揭露資料以生成加密資料,再以所述一次性錢包地址發布(Deploy)所述加密資料,以便將此加密資料寫入區塊鏈,以及當揭露端主機110在區塊鏈上的混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,使用自身的一次性錢包地址將承認標記寫入區塊鏈,用以承認所述混淆承認公告中存在自身的揭露資料。在實際實施上,所述收集公告端公鑰是指預先從收集公告端主機130獲得的公開金鑰(Public Key);所述一次性錢包地址可由揭露端主機110透過分層確定性錢包(Hierarchical Deterministic Wallet,HD Wallet)根據做為種子的主密鑰所生成,實際上,身分驗證端主機120會預先儲存主要錢包地址或身分資料,以便在身分驗證端主機120根據所述主要錢包地址或身分資料對揭露端主機110完成驗證且自揭露端主機110接收到一次性錢包地址時,建立此一次性錢包地址與主要錢包地址或身分資料的對應關係,進而允許從所述對應關係中確認使用者的真實身分。另外,在進行加密及解密時,還可以搭配使用密碼學中的鹽(salt)資料,並且將其作為加密資料的其中一部分,使收集公告端主機130自區塊鏈載入加密資料後,可以通過收集公告端私鑰對加密資料進行解密以獲得揭露資料,進而提高整體的安全層級。
身分驗證端主機120用以自揭露端主機110接收一次性錢包地址,以及在偵測到一次性錢包地址將加密資料寫入區塊鏈時,將對應加密資料
的有效標記寫入區塊鏈以作證加密資料來自所述一次性錢包地址。在實際實施上,由於揭露端主機110會如前所述,先傳送一次性錢包地址至身分驗證端主機120,所以身分驗證端主機120在偵測之前,會先確認揭露端主機110是否具備資格,例如:透過比對主要錢包地址、實名驗證或其相似方式進行確認,若是,才會偵測此一次性錢包地址是否將加密資料寫入區塊鏈。另外,身分驗證端主機120產生的所述有效標記可以使用JSON或其相似格式進行記錄,其內容如下:
「{加密後的揭露資料之交易雜湊值:“0x04542......”,來源地址是否有效:True}」或者在智能合約(Smart Contract)內新增一筆記錄如下:「[揭露資料記錄號:13,來源地址是否有效:False]」
收集公告端主機130在區塊鏈上偵測到有效標記及其對應的加密資料時,自區塊鏈載入加密資料,並且通過收集公告端私鑰,即:收集公告端主機130本身的私密金鑰(Private Key),用以進行解密以便獲得揭露資料(可為一筆或多筆)及其相應的一次性錢包地址,接著,再將對應此加密資料的簽收標記寫入區塊鏈。另外,當收集公告端主機130獲得揭露資料及其相應的一次性錢包地址時,混淆揭露資料與一次性錢包地址之間的對應關係作為混淆承認公告的內容,特別要說明的是,收集公告端主機130仍然持有包含對應關係的揭露資料與一次性錢包地址,接著,再將混淆承認公告發布於區塊鏈,使所述混淆承認公告包含已混淆對應關係的所有揭露資料及一次性錢包地址,也就是說,混淆承認公告的內容是不包含對應關係的多筆揭露資料的集合加上多筆一次性錢包地址的集合。至於所述混淆可透過執行混淆函式(Function)將揭露資
料及一次性錢包地址的對應關係混淆、打亂或隱藏,舉例來說,可以將混淆承認公告中的揭露資料與一次性錢包地址的順序隨機排序、混淆排列等等,使混淆承認公告中的兩者之間不再具有對應關係,也無法得知其對應關係。實際上,所述收集公告端私鑰與收集公告端公鑰相應,並且為收集公告端主機130的同一組金鑰對(Key Pairs),其可使用對稱式或非對稱式加密技術來實現。另外,所述揭露資料可包含具有唯一性的識別碼,用以在揭露資料被公告在混淆承認公告時,允許揭露端主機110根據此識別碼辨識屬於自身的揭露資料。在實際實施上,收集公告端主機130產生的簽收標記可以使用JSON或其相似格式進行記錄,其內容如下:
「{加密後的揭露資料之交易雜湊值:“0x04542......”,解密是否成功:False}」或者在智能合約內新增一筆記錄如下:「[揭露資料記錄號:17,解密是否成功:True]」
相較於前述的有效標記主要是記錄來源地址是否有效,此處的簽收標記主要是記錄解密是否成功。除此之外,在實際實施上,所述混淆承認公告可以是一個智能合約,其紀錄有揭露資料與其相應的一次性錢包地址,並且讓揭露端主機110透過此智能合約寫入承認標記,所述混淆承認公告也可以是一筆區塊鏈交易的資料內容,允許揭露端主機110寫入一筆獨立的交易代表承認標記,並且在資料內容中註明對應的關係,例如:對應的混淆承認公告交易之雜湊值。另外,由於揭露資料的數量可能與揭露端主機110的數量不相等,例如:一個揭露端主機110能夠產生多筆揭露資料,所以可將權重關係註明於混淆承認
公告的智能合約中,以權重投票為例,有些揭露端主機110可以產生三筆投票紀錄,其一次性地址可以承認三票;也可以同一個揭露端主機110透過身分驗證端主機120產生多個一次性身分來個別進行投票。再者,當存在無法辨識的所述揭露資料時,該收集公告端主機根據所有具有該承認標記的所述揭露資料重新發布該混淆承認公告,直到所有所述揭露資料均具有相應的該承認標記為止。換句話說,倘若對混淆承認公告承認的揭露端主機110之數量不足,收集公告端主機130可以去掉未被承認的一次性地址與揭露資料,重新發布混淆承認公告,直到所有揭露資料均被承認為止。除此之外,所述混淆承認公告可以拆分為多個,例如:揭露端主機110的數量眾多,難以達成全部的揭露端主機110都對同一份混淆承認公告進行承認。以應用在匿名投票為例,可以拆分成多個混淆承認公告以代表多個投票所,但最後的票數是所有投票所的集合。
特別要說明的是,在實際實施上,本發明所述的主機皆可利用各種方式來實現,包含軟體、硬體或其任意組合,例如,在某些實施方式中,各主機可利用軟體及硬體或其中之一來實現,除此之外,本發明亦可部分地或完全地基於硬體來實現,例如,系統中的一個或多個主機可以透過積體電路晶片、系統單晶片(System on Chip,SoC)、複雜可程式邏輯裝置(Complex Programmable Logic Device,CPLD)、現場可程式邏輯閘陣列(Field Programmable Gate Array,FPGA)等來實現。本發明可以是系統、方法及/或電腦程式。電腦程式可以包括電腦可讀儲存媒體,其上載有用於使處理器實現本發明的各個方面的電腦可讀程式指令,電腦可讀儲存媒體可以是可以保持和儲存由指令執行設備使用的指令的有形設備。電腦可讀儲存媒體可以是但不限於電儲存設備、磁儲存設備、光儲存設備、電磁儲存設備、半導體儲存設備或上述的任意合適的組合。電腦
可讀儲存媒體的更具體的例子(非窮舉的列表)包括:硬碟、隨機存取記憶體、唯讀記憶體、快閃記憶體、光碟、軟碟以及上述的任意合適的組合。此處所使用的電腦可讀儲存媒體不被解釋為瞬時訊號本身,諸如無線電波或者其它自由傳播的電磁波、通過波導或其它傳輸媒介傳播的電磁波(例如,通過光纖電纜的光訊號)、或者通過電線傳輸的電訊號。另外,此處所描述的電腦可讀程式指令可以從電腦可讀儲存媒體下載到各個計算/處理設備,或者通過網路,例如:網際網路、區域網路、廣域網路及/或無線網路下載到外部電腦設備或外部儲存設備。網路可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火牆、交換器、集線器及/或閘道器。每一個計算/處理設備中的網路卡或者網路介面從網路接收電腦可讀程式指令,並轉發此電腦可讀程式指令,以供儲存在各個計算/處理設備中的電腦可讀儲存媒體中。執行本發明操作的電腦程式指令可以是組合語言指令、指令集架構指令、機器指令、機器相關指令、微指令、韌體指令、或者以一種或多種程式語言的任意組合編寫的原始碼或目的碼(Object Code),所述程式語言包括物件導向的程式語言,如:Common Lisp、Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby與PHP等,以及常規的程序式(Procedural)程式語言,如:C語言或類似的程式語言。所述電腦程式指令可以完全地在電腦上執行、部分地在電腦上執行、作為一個獨立的軟體執行、部分在客戶端電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。
請參閱「第2A圖」及「第2B圖」,「第2A圖」及「第2B圖」為本發明基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法的方法流程圖,應用在包含揭露端主機110、身分驗證端主機120及收集公告端主機130的區
塊鏈網路100,其步驟包括:揭露端主機110傳送一次性錢包地址至身分驗證端主機120,並且以收集公告端公鑰加密揭露資料以生成加密資料,再以所述一次性錢包地址發布加密資料,用以將加密資料寫入區塊鏈(步驟210);當身分驗證端主機120偵測到所述一次性錢包地址將加密資料寫入區塊鏈時,將對應加密資料的有效標記寫入區塊鏈,用以作證加密資料來自一次性錢包地址(步驟220);收集公告端主機130在區塊鏈上偵測到有效標記及其對應的加密資料時,自區塊鏈載入加密資料,並且通過收集公告端私鑰解密以獲得揭露資料及其相應的一次性錢包地址,再將對應加密資料的簽收標記寫入區塊鏈(步驟230);當收集公告端主機130獲得所述揭露資料及其相應的一次性錢包地址時,混淆揭露資料與一次性錢包地址之間的對應關係作為混淆承認公告的內容,並且將所述混淆承認公告發布於區塊鏈,使所述混淆承認公告包含已混淆對應關係的所有揭露資料及一次性錢包地址(步驟240);每一揭露端主機110在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,使用自身的一次性錢包地址將承認標記寫入區塊鏈,用以承認混淆承認公告中存在自身的揭露資料(步驟250)。透過上述步驟,即可透過揭露端主機110產生一次性錢包地址,並且將揭露資料加密成加密資料後寫入區塊鏈,再由身分驗證端主機120產生相應的有效標記,以及由收集公告端主機130對加密資料進行解密與生成相應的簽收標記,並且混淆解密獲得的揭露資料及其相應的一次性錢包地址的對應關係,用以作為混淆承認公告的內容並寫入區塊鏈,以便提供揭露端主機110在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,將承認標記寫入區塊鏈。如此一來,只有收集公告端主機130能夠從區塊鏈上的加密資料得知揭露資料。所述身分驗證端主機120雖然知道一次性錢包地址與真實身分的關係,但是無法
得知一次性錢包地址與揭露資料的關係,至於收集公告端主機130雖然知道一次性錢包地址與揭露資料的關係,但是無法得知一次性錢包地址與真實身分的關係。因此,可以同時兼顧匿名性與允許確認身分。
以下配合「第3A圖」至「第3D圖」以實施例的方式進行如下說明,如「第3A圖」至「第3D圖」所示意,「第3A圖」至「第3D圖」為應用本發明進行匿名的投票或民調暨彩券開獎之示意圖。當應用在匿名投票時,揭露端主機110的角色可視為投票人、身分驗證端主機120的角色可視為各投票所選務人員、收集公告端主機130的角色可視為選務中心、揭露資料為選舉人投票。另外,各端主機的操作、確認資訊與寫入行為可透過裝置或系統自動化,例如:物聯網(Internet of Thing,IoT)投票機或專用投票的行動程式(APP)。以下為進行匿名投票的流程步驟:
1.如「第3A圖」所示意,揭露端主機110將欲使用的一次性錢包地址傳送至身分驗證端主機120。此步驟相當於投票人於投票所進行身分檢驗後,將欲使用的一次性錢包地址,告知投票所選務人員。
2.如「第3B圖」所示意,揭露端主機110使用收集公告端公鑰來加密揭露資料311以生成加密資料310,再以一次性錢包地址發布此加密資料310,用以將加密資料寫入區塊鏈300。在實際實施上,為了提高資料安全性,還可搭配密碼學的鹽資料312,並且使其成為所述加密資料310的一部分以供解密之用。此步驟相當於投票人使用選務中心公鑰(即:收集公告端公鑰)加密其投票內容(含識別碼),並且將加密結果寫入智能合約(如:投票所收集合約)。除此之外,投票內容也可包含權重以達到權重投票的效果,而一個揭露端主機110可以產生一個以上的投票內容。
3.身分驗證端主機120在偵測到一次性錢包地址將加密資料310寫入區塊鏈300時,將對應所述加密資料310的有效標記320寫入區塊鏈300,用以作證加密資料310來自一次性錢包地址。此步驟相當於各投票所選務人員在觀測到投票人的加密結果(即:加密資料310)寫入投票所收集合約時,將對應的有效標記寫入投票所收集合約中。
4.當收集公告端主機130在區塊鏈300上偵測到有效標記320及其對應的加密資料310時,自區塊鏈300載入加密資料310,並且通過收集公告端私鑰來解密載入的加密資料310以獲得揭露資料311及其相應的一次性錢包地址,再將對應所述加密資料310的簽收標記330寫入區塊鏈300。此步驟相當於選務中心觀測到有效標記與對應的加密結果時,從區塊鏈上取得加密結果,並且使用選務中心私鑰(即:收集公告端私鑰)解密以得到投票內容與識別碼,再將對應的有效標記寫入投票所收集合約中。
5.如「第3C圖」所示意,當收集公告端主機130獲得揭露資料(411a~411n)及其相應的一次性錢包地址(412a~412n)時,混淆揭露資料(411a~411n)與一次性錢包地址(412a~412n)之間的對應關係,並且發布一個混淆承認公告410於區塊鏈300,其中所述混淆承認公告410包含已混淆對應關係的所有揭露資料(411a~411n)及一次性錢包地址(412a~412n)。此步驟相當於選務中心集合所有投票人的投票內容(含識別碼),用以發布公開驗票合約(即:混淆承認公告410),其中公開所有投票內容與所有投票者的一次性錢包地址,但不包含兩者的對應關係。實際上,發布的公開驗票合約可以整合或打散一個或多個投票內容。
6.如「第3D圖」所示意,每一揭露端主機(110a~110n)在混淆承認公告410中偵測到自身的揭露資料及一次性錢包地址時,將使用自身的一次性錢包地址將承認標記寫入區塊鏈300,用以承認此混淆承認公告410中存在自身的揭露資料。此步驟相當於各個投票人透過識別碼在公開驗票合約中確認到自己的投票內容,對公開驗票合約寫入承認標記。
如此一來,當所有的投票人均寫入承認標記後,代表公開驗票合約中的所有選票都有投票人承認,所述公開驗票合約即成立;反之,倘若非所有投票人均寫入承認標記,選務中心可去除此紀錄並重新發布公開驗票合約;被去除的紀錄可以重新被發布在其他的公開驗票合約中,直到其被承認為止,或是在投票期程結束後將其視為廢票。選務中心可發布多個投票所收集合約與多個公開驗票合約,並最後統計所有成立的公開驗票合約,統計其投票內容作為投票結果。在此例中,由於收集公告端主機130無法改變揭露資料的內容,所以能夠達成揭露端主機110自主檢驗揭露資料是否確實有被公告之功效。換句話說,由於計票方***無法造假,而且每個投票人都可以於驗票階段,確定自己的票有被開出,故可稱為自主式驗票。
接下來,當應用在匿名民調時,揭露端主機110的角色可視為受訪者、身分驗證端主機120的角色可視為第三方驗證機構、收集公告端主機130的角色可視為民調中心,以及揭露資料為受訪內容(如:受訪者的投票)。各端主機的操作、確認資訊與寫入行為可透過裝置或系統自動化,例如:民調網頁系統或行動應用程式。實際上,應用在匿名民調與應用在匿名投票,兩者大同小異,其差異僅在於各端主機的角色及揭露資料的內容不同。因此,以下同樣以「第3A圖」至「第3D圖」說明進行匿名民調的流程步驟:
1.如「第3A圖」所示意,揭露端主機110同樣先將欲使用的一次性錢包地址傳送至身分驗證端主機120。此步驟相當於受訪者於第三方驗證機構進行身分檢驗後,將欲使用的一次性錢包地址,告知第三方驗證機構。
2.如「第3B圖」所示意,揭露端主機110使用收集公告端公鑰來加密揭露資料311(含識別碼)以生成加密資料310(可包含鹽資料312),再以一次性錢包地址發布此加密資料310,用以將加密資料310寫入區塊鏈300。此步驟相當於受訪者用民調中心公鑰(即:收集公告端公鑰)來加密其受訪內容(含識別碼),甚至加密鹽資料312,再將加密結果寫入區塊鏈的一筆交易。
3.身分驗證端主機120在偵測到一次性錢包地址將加密資料310寫入區塊鏈300時,將對應所述加密資料310的有效標記320寫入區塊鏈300,用以作證加密資料310來自一次性錢包地址。此步驟相當於第三方驗證機構在觀測到受訪者的加密結果(即:加密資料310)之交易被寫入區塊鏈300時,將註明有加密結果的交易雜湊值之有效標記320寫入區塊鏈300。
4.當收集公告端主機130在區塊鏈300上偵測到有效標記320及其對應的加密資料310時,自區塊鏈300載入加密資料310,並且通過收集公告端私鑰來解密載入的加密資料310以獲得揭露資料311及其相應的一次性錢包地址,再將對應所述加密資料310的簽收標記330寫入區塊鏈300。此步驟相當於民調中心觀測到有效標記與對應的加密結果時,從區塊鏈上取得加密結果,用民調中心私鑰(即:收集公告端私鑰)解密,得到受訪內容與識別碼,並且將註明有加密結果的交易雜湊值之簽收標記330寫入區塊鏈300。
5.如「第3C圖」所示意,當收集公告端主機130獲得揭露資料(411a~411n)及其相應的一次性錢包地址(412a~412n)時,混淆揭露資料(411a
~411n)與一次性錢包地址(412a~412n)之間的對應關係,並且發布一個混淆承認公告410於區塊鏈300,其中所述混淆承認公告410包含已混淆對應關係的所有揭露資料(411a~411n)及一次性錢包地址(412a~412n)。此步驟相當於民調中心集合所有簽收的受訪內容(含識別碼),用以發布公開民調公告(即:混淆承認公告410),其中公開所有受訪內容與所有受訪者的一次性錢包地址,但不包含兩者的對應關係。實際上,發布的公開民調公告可以是一個或多個,假設是一個,可以整合所有簽收的受訪內容;假設是多個則可將所有簽收的受訪內容打散至不同的公開民調公告。
6.如「第3D圖」所示意,每一揭露端主機(110a~110n)在混淆承認公告410中偵測到自身的揭露資料及一次性錢包地址時,將使用自身的一次性錢包地址將承認標記寫入區塊鏈300,用以承認此混淆承認公告410中存在自身的揭露資料。此步驟相當於各個受訪者透過識別碼在公開民調公告中確認到自己的受訪內容,將註明有公開民調公告的交易雜湊值之承認標記寫入區塊鏈。
如此一來,當所有的受訪者均寫入承認標記後,代表公開民調公告中的所有受訪內容都有相應的受訪者承認,所以此公開民調公告成立;反之,倘若非所有受訪者均寫入承認標記,那麼,民調中心可去除此紀錄並重新發布一個公開民調公告,而被去除的受訪內容可以重新被發布在其他的公開民調公告中,直到其被承認為止,或者在民調期程結束後,將此紀錄視為無效。實際上,民調中心可發布多個公開民調公告,並最後統計所有成立的公開民調公告,統計其受訪內容作為民調結果。
最後,當應用在彩券開獎時,揭露端主機110的角色可視為彩券購買者、身分驗證端主機120的角色可視為彩券零售商、收集公告端主機130的角色可視為彩券總公司,以及揭露資料為彩券選號和任意決定或隨機產生的演算法權重。各端主機的操作、確認資訊與寫入行為可透過裝置或系統自動化,例如:彩券官方網頁系統或行動應用程式。同樣地,由於應用在彩券開獎與應用在匿名的投票或民調皆大同小異,所以同樣以「第3A圖」至「第3D圖」說明進行彩券開獎的流程步驟:
1.如「第3A圖」所示意,揭露端主機110將欲使用的一次性錢包地址傳送至身分驗證端主機120。此步驟相當於彩券購買者將欲使用的一次性錢包地址告知彩券零售商。
2.如「第3B圖」所示意,揭露端主機110使用收集公告端公鑰來加密揭露資料311以生成加密資料310,再以一次性錢包地址發布此加密資料310,用以將加密資料寫入區塊鏈300。此步驟相當於彩券購買者使用彩券總公司公鑰加密揭露資料(包含購買彩券數字、演算法權重與識別碼),再將加密結果寫入彩券總公司事前發布在區塊鏈上的當期彩券智能合約中。同樣地,為了提高資料安全性,在加解密的過程中還可同時搭配密碼學的鹽資料312。
3.身分驗證端主機120在偵測到一次性錢包地址將加密資料310寫入區塊鏈300時,將對應所述加密資料310的有效標記320寫入區塊鏈300,用以作證加密資料310來自一次性錢包地址。此步驟相當於彩券零售商觀測到彩券購買者的加密結果寫入彩券購買智能合約時,將此紀錄對應的有效標記寫入當期彩券智能合約中。
4.當收集公告端主機130在區塊鏈300上偵測到有效標記320及其對應的加密資料310時,自區塊鏈300載入加密資料310,並且通過收集公告端私鑰來解密載入的加密資料310以獲得揭露資料311及其相應的一次性錢包地址,再將對應所述加密資料310的簽收標記330寫入區塊鏈300。此步驟相當於彩券總公司觀測到有效標記與對應的加密結果時,從區塊鏈上取得加密結果,並且使用收集公告端私鑰解密,進而得到購買的彩券選號、演算法權重及識別碼,再將其對應的有效標記寫入當期彩券智能合約中。
5.如「第3C圖」所示意,當收集公告端主機130獲得揭露資料(411a~411n)及其相應的一次性錢包地址(412a~412n)時,混淆揭露資料(411a~411n)與一次性錢包地址(412a~412n)之間的對應關係,並且發布一個混淆承認公告410於區塊鏈300,其中所述混淆承認公告410包含已混淆對應關係的所有揭露資料(411a~411n)及一次性錢包地址(412a~412n)。此步驟相當於彩券總公司集合所有購買者購買的彩券紀錄(包含購買的彩券數字、演算法權重及識別碼),並且發布一個混淆承認公告合約,其中公開所有彩券紀錄與所有購買方的一次性錢包地址,但不包含兩者的對應關係。
6.如「第3D圖」所示意,每一揭露端主機(110a~110n)在混淆承認公告410中偵測到自身的揭露資料及一次性錢包地址時,將使用自身的一次性錢包地址將承認標記寫入區塊鏈300,用以承認此混淆承認公告410中存在自身的揭露資料。此步驟相當於各個彩券購買者透過識別碼在混淆承認公告合約中確認到自己購買的彩券紀錄後,對混淆承認公告合約寫入承認標記。
當所有的彩券購買者均寫入承認標記後,可以使用彩券紀錄中的演算法權重來計算出開獎號碼。倘若非所有彩券購買者均寫入承認標記,則彩
券總公司可去掉這些未具有承認標記的彩券紀錄重新發布一個混淆承認公告合約。由於透過所有彩券購買者提供的演算法權重來計算開獎號碼,所以能夠使開獎號碼脫離彩券總公司的掌控,而除了演算法權重之外,亦因購買者的隨機性及承認標記,進而達到公正無法造假的效果。
綜上所述,可知本發明與先前技術之間的差異在於透過揭露端主機產生一次性錢包地址,並且將揭露資料加密成加密資料後寫入區塊鏈,再由身分驗證端主機產生相應的有效標記,以及由收集公告端主機對加密資料進行解密與生成相應的簽收標記,並且混淆解密獲得的揭露資料及其相應的一次性錢包地址的對應關係,用以作為混淆承認公告的內容並寫入區塊鏈,以便提供揭露端主機在混淆承認公告中偵測到自身的揭露資料及一次性錢包地址時,將承認標記寫入區塊鏈,藉由此一技術手段可以解決先前技術所存在的問題,進而達成提高匿名性且允許確認身分之技術功效。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
100:區塊鏈網路
110:揭露端主機
120:身分驗證端主機
130:收集公告端主機
Claims (10)
- 一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,該系統包含:一揭露端主機,用以傳送一一次性錢包地址,並且以一收集公告端公鑰加密一揭露資料以生成一加密資料,再以該一次性錢包地址發布該加密資料,將該加密資料寫入一區塊鏈,以及在該區塊鏈上的一混淆承認公告中偵測到自身的所述揭露資料及所述一次性錢包地址時,使用自身的所述一次性錢包地址將一承認標記寫入該區塊鏈,用以承認該混淆承認公告中存在自身的該揭露資料,其中所述揭露資料包含一識別碼,用以在所述揭露資料被公告在該混淆承認公告時,允許該揭露端主機根據該識別碼辨識屬於自身的所述揭露資料;一身分驗證端主機,用以自該揭露端主機接收該一次性錢包地址,以及對該揭露端主機進行驗證,當完成驗證且接收到該一次性錢包地址時,建立該一次性錢包地址與該揭露端主機的對應關係,以及在偵測到該一次性錢包地址將該加密資料寫入該區塊鏈時,將對應該加密資料的一有效標記寫入該區塊鏈以作證該加密資料來自該一次性錢包地址;以及一收集公告端主機,用以在該區塊鏈上偵測到該有效標記及其對應的該加密資料時,自該區塊鏈載入該加密資料,並且通過一收集公告端私鑰解密以獲得該揭露資料及其相應的所述一次性錢包地址,再將對應該加密資料的一簽收標記寫入該區 塊鏈,以及當該收集公告端主機獲得所述揭露資料及其相應的所述一次性錢包地址時,混淆所述揭露資料與所述一次性錢包地址之間的對應關係作為該混淆承認公告的內容,並且將該混淆承認公告發布於該區塊鏈,使該混淆承認公告包含已混淆對應關係的所有所述揭露資料及所述一次性錢包地址。
- 如請求項1之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,其中該一次性錢包地址係由該揭露端主機透過分層確定性錢包(Hierarchical Deterministic Wallet,HD Wallet)根據做為種子的主密鑰所生成,以及該身分驗證端主機預先儲存一主要錢包地址或一身分資料,該身分驗證端主機根據該主要錢包地址或該身分資料對該揭露端主機完成驗證。
- 如請求項1之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,其中所述有效標記、所述簽收標記及所述承認標記允許記錄在相同的一智能合約或不同的多筆區塊鏈交易記錄,所述有效標記及所述簽收標記包含加密後的該揭露資料之交易雜湊值及解密是否成功的判斷訊息,所述承認標記包含所述一次性錢包地址。
- 如請求項1之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,其中該加密資料包含一鹽資料,當該收集公告端自該區塊鏈載入該加密資料後,通過該收集公告端私鑰對該加密資料進行解密以獲得該揭露資料。
- 如請求項1之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統,其中當存在無法辨識的所述揭露資料時,該收集公告端主機根據所有具有該承認標記的所述揭露資料重新發布該混淆承認公告,直到所有所述揭露資料均具有相應的該承認標記為止。
- 一種基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,應用在包含多個揭露端主機、一身分驗證端主機及一收集公告端主機的一區塊鏈網路,其步驟包括:所述多個揭露端主機中每一揭露端主機傳送一一次性錢包地址至該身分驗證端主機,並且以一收集公告端公鑰加密一揭露資料以生成一加密資料,再以該一次性錢包地址發布該加密資料,用以將該加密資料寫入一區塊鏈;當該身分驗證端主機對該每一揭露端主機完成驗證且接收到該一次性錢包地址時,建立該一次性錢包地址與該每一揭露端主機的對應關係,以及偵測到該一次性錢包地址將該加密資料寫入該區塊鏈時,將對應該加密資料的一有效標記寫入該區塊鏈,用以作證該加密資料來自該一次性錢包地址;該收集公告端主機在該區塊鏈上偵測到該有效標記及其對應的該加密資料時,自該區塊鏈載入該加密資料,並且通過一收集公告端私鑰解密以獲得所述揭露資料及其相應的所述一次性錢包地址,再將對應該加密資料的一簽收標記寫入該區塊鏈; 當該收集公告端主機獲得所述揭露資料及其相應的所述一次性錢包地址時,混淆所述揭露資料與所述一次性錢包地址之間的對應關係作為一混淆承認公告的內容,並且將該混淆承認公告發布於該區塊鏈,使該混淆承認公告包含已混淆對應關係的所有所述揭露資料及所述一次性錢包地址,其中所述揭露資料包含一識別碼,用以在所述揭露資料被公告在該混淆承認公告時,允許該每一揭露端主機根據該識別碼辨識屬於自身的所述揭露資料;以及該每一揭露端主機在該混淆承認公告中偵測到自身的所述揭露資料及所述一次性錢包地址時,使用自身的所述一次性錢包地址將一承認標記寫入該區塊鏈,用以承認該混淆承認公告中存在自身的該揭露資料。
- 如請求項6之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,其中該一次性錢包地址係透過分層確定性錢包(Hierarchical Deterministic Wallet,HD Wallet)根據做為種子的主密鑰所生成,以及該身分驗證端主機預先儲存一主要錢包地址或一身分資料,該身分驗證端主機根據該主要錢包地址或該身分資料對該每一揭露端主機完成驗證。
- 如請求項6之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,其中所述有效標記、所述簽收標記及所述承認標記允許記錄在相同的一智能合約或不同的多筆區塊鏈交易記錄,所述有效標記及所述簽收標記包含加密後的該揭露資料之 交易雜湊值及解密是否成功的判斷訊息,所述承認標記包含所述一次性錢包地址。
- 如請求項6之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,其中該加密資料包含一鹽資料,當該收集公告端主機自該區塊鏈載入該加密資料後,通過該收集公告端私鑰對該加密資料進行解密以獲得該揭露資料。
- 如請求項6之基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之方法,其中當存在無法辨識的所述揭露資料時,該收集公告端主機根據所有具有該承認標記的所述揭露資料重新發布該混淆承認公告,直到所有所述揭露資料均具有相應的該承認標記為止。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145457A TWI755210B (zh) | 2020-12-22 | 2020-12-22 | 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 |
CN202110535652.5A CN114662140A (zh) | 2020-12-22 | 2021-05-17 | 基于区块链的允许确认身分的匿名公开暨多对多承认的***及其方法 |
JP2021098690A JP7254377B2 (ja) | 2020-12-22 | 2021-06-14 | ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法 |
US17/348,730 US11632240B2 (en) | 2020-12-22 | 2021-06-15 | Anonymous disclose and many-to-many recognition system based on blockchain and identity confirmation allowance and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145457A TWI755210B (zh) | 2020-12-22 | 2020-12-22 | 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI755210B true TWI755210B (zh) | 2022-02-11 |
TW202226784A TW202226784A (zh) | 2022-07-01 |
Family
ID=81329499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145457A TWI755210B (zh) | 2020-12-22 | 2020-12-22 | 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11632240B2 (zh) |
JP (1) | JP7254377B2 (zh) |
CN (1) | CN114662140A (zh) |
TW (1) | TWI755210B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230040377A1 (en) * | 2021-08-03 | 2023-02-09 | Unified Sentinel Data Networks, LLC | Autonomous distributed wide area network having control plane and order management on a blockchain |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298806B1 (en) * | 2015-07-08 | 2016-03-29 | Coinlab, Inc. | System and method for analyzing transactions in a distributed ledger |
TW201837871A (zh) * | 2017-03-30 | 2018-10-16 | 張軒豪 | 基於區塊鏈的線上投票與唱票系統及其方法 |
TW201909013A (zh) * | 2017-07-14 | 2019-03-01 | 中華電信股份有限公司 | 在公開匿名環境驗證身份及保護隱私的系統與方法 |
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及*** |
CN110162996A (zh) * | 2019-04-23 | 2019-08-23 | 上海链度科技有限公司 | 基于区块链的投票***、方法和投票终端 |
TW202030668A (zh) * | 2018-11-27 | 2020-08-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 電腦實施系統及在區塊鏈上儲存資料的方法(一) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10594484B2 (en) * | 2015-02-13 | 2020-03-17 | Yoti Holding Limited | Digital identity system |
US10853592B2 (en) * | 2015-02-13 | 2020-12-01 | Yoti Holding Limited | Digital identity system |
US10692085B2 (en) * | 2015-02-13 | 2020-06-23 | Yoti Holding Limited | Secure electronic payment |
US10542115B1 (en) * | 2015-10-01 | 2020-01-21 | Sprint Communications Company L.P. | Securing communications in a network function virtualization (NFV) core network |
US11270403B2 (en) * | 2018-07-30 | 2022-03-08 | Hewlett Packard Enterprise Development Lp | Systems and methods of obtaining verifiable image of entity by embedding secured representation of entity's distributed ledger address in image |
CN109274505B (zh) | 2018-11-22 | 2021-09-24 | 浙江工商大学 | 一种基于区块链技术的匿名电子选举方法 |
CN111241586B (zh) | 2020-01-20 | 2023-02-07 | 布比(北京)网络技术有限公司 | 区块链地址匿名处理方法及***、终端、存储介质 |
US11611560B2 (en) * | 2020-01-31 | 2023-03-21 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform |
CN111970121A (zh) | 2020-07-30 | 2020-11-20 | 山东爱城市网信息技术有限公司 | 一种基于区块链技术的投票选举方法 |
-
2020
- 2020-12-22 TW TW109145457A patent/TWI755210B/zh active
-
2021
- 2021-05-17 CN CN202110535652.5A patent/CN114662140A/zh active Pending
- 2021-06-14 JP JP2021098690A patent/JP7254377B2/ja active Active
- 2021-06-15 US US17/348,730 patent/US11632240B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298806B1 (en) * | 2015-07-08 | 2016-03-29 | Coinlab, Inc. | System and method for analyzing transactions in a distributed ledger |
TW201837871A (zh) * | 2017-03-30 | 2018-10-16 | 張軒豪 | 基於區塊鏈的線上投票與唱票系統及其方法 |
TW201909013A (zh) * | 2017-07-14 | 2019-03-01 | 中華電信股份有限公司 | 在公開匿名環境驗證身份及保護隱私的系統與方法 |
WO2019052286A1 (zh) * | 2017-09-12 | 2019-03-21 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及*** |
TW202030668A (zh) * | 2018-11-27 | 2020-08-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 電腦實施系統及在區塊鏈上儲存資料的方法(一) |
TW202034654A (zh) * | 2018-11-27 | 2020-09-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(三) |
CN110162996A (zh) * | 2019-04-23 | 2019-08-23 | 上海链度科技有限公司 | 基于区块链的投票***、方法和投票终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114662140A (zh) | 2022-06-24 |
US20220200786A1 (en) | 2022-06-23 |
JP2022099221A (ja) | 2022-07-04 |
US11632240B2 (en) | 2023-04-18 |
JP7254377B2 (ja) | 2023-04-10 |
TW202226784A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736482B2 (en) | Systems and methods for online third-party authentication of credentials | |
CN111095332B (zh) | 用于保护隐私的社交媒体广告的方法和*** | |
KR101661933B1 (ko) | 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법 | |
KR101661930B1 (ko) | 블록체인을 기반으로 하는 공인인증서 발급시스템 | |
JP4776245B2 (ja) | ユニバーサルパーベイシブトランザクションフレームワークのためのオピニオン登録アプリケーション | |
CN109639714A (zh) | 一种基于区块链的物联网身份注册与验证方法 | |
CN105659559B (zh) | 验证远程服务器的安全性 | |
CN109905360B (zh) | 数据验证方法及终端设备 | |
CN109978688A (zh) | 分布式共识***之访问控制方法及其契约产生器与服务器 | |
CN111260398A (zh) | 一种广告投放控制方法、装置、电子设备及存储介质 | |
WO2002069557A1 (fr) | Appareil et procede de traitement de donnees, et support de stockage | |
CN110766406A (zh) | 资源转移方法、资源转移装置、存储介质及电子设备 | |
CN106302544A (zh) | 一种安全验证方法和*** | |
WO2008030670A1 (en) | Detecting and adjudicating click fraud | |
CN111241196A (zh) | 广告频次控制方法及*** | |
TWI622949B (zh) | 具多重密鑰的kyc資料標記之爭議救濟系統及其方法 | |
CN109815659A (zh) | 基于web项目的安全认证方法、装置、电子设备及存储介质 | |
TWI755210B (zh) | 基於區塊鏈的允許確認身分之匿名揭露暨多對多承認之系統及其方法 | |
KR102143530B1 (ko) | 블록체인 기반의 온라인 비밀 투표 시스템을 구축하는 전자투표 서버 및 이의 동작 방법 | |
KR100912532B1 (ko) | 신뢰 컴퓨팅 환경에서 각 참여자가 상호 보증 기능을 갖는인터넷 전자투표 방법 및 시스템 | |
WO2019156089A1 (ja) | 所有者同一性確認システム、端末管理サーバおよび所有者同一性確認方法 | |
JP2023524107A (ja) | 暗号化されたブラックボックスアキュムレータを備えた分散型プライバシ保護リワード | |
TWI783330B (zh) | 基於區塊鏈的允許確認身分之匿名揭露暨四方驗證之系統及其方法 | |
CN112784249A (zh) | 实现无标识情形下进行移动终端认证处理的方法、***、处理器及其计算机可读存储介质 | |
JP6874700B2 (ja) | 電子商取引システム、通信端末、第三者機関サーバ、電子商取引方法、およびプログラム |