TWI744532B - 用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統 - Google Patents
用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統 Download PDFInfo
- Publication number
- TWI744532B TWI744532B TW107119490A TW107119490A TWI744532B TW I744532 B TWI744532 B TW I744532B TW 107119490 A TW107119490 A TW 107119490A TW 107119490 A TW107119490 A TW 107119490A TW I744532 B TWI744532 B TW I744532B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- nodes
- point
- group
- secret
- Prior art date
Links
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本發明提供供兩個節點用以在不涉及自律專用節點之一群組或不涉及一集中式憑證管理器或認證器的情況下將彼此鑑認為藉由該群組提供憑證之方法及裝置。該方法可涉及一第一節點及一第二節點使用涉及其各別識別符及秘密點的雙線性配對操作來得到相同對話金鑰。假設該等秘密點及該等識別符係使用群組私密金鑰自群組獲得,則該雙線性配對操作導致相同對話金鑰在兩個節點中之每一者處產生,由此鑑認其各別憑證且實現兩個節點之間的受信賴通訊。
Description
本發明大體上係關於區塊鏈交易,且更特定言之係關於用以於節點間建立受信賴點對點通訊之方法及裝置。
在此文件中,吾人使用「區塊鏈」一詞來包括所有形式的基於電腦之電子分散式總帳。此等形式包括但不限於基於共識的區塊鏈及交易鏈技術、允許及不允許的總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知應用為比特幣(Bitcoin)總帳,儘管已提議且開發出了其他區塊鏈實施。雖然本文中出於方便及說明之目的可提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代性區塊鏈實施及協定屬於本發明之範疇。
區塊鏈係基於共識之電子總帳,其經實施為由區塊組成的基於電腦之非集中式分散系統,該等區塊又由交易組成。每一交易(Tx)為編碼區塊鏈系統中之參與者
之間的數位資產之控制轉移的資料結構,且包括至少一個輸入及至少一個輸出。每一區塊含有先前區塊之雜湊,使得區塊變為鏈接在一起以產生自一開始便已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被稱為指令碼之小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
接收新交易之網路節點會快速地嘗試將該交易推出至網路中之其他節點。在將新交易傳輸至其他節點之前,其經「驗證」,此意謂對照一組準則檢查該新交易,以確保該交易符合根據適用區塊鏈協定之恰當交易的基本要求。
為了將交易寫入至區塊鏈,藉由經設計以收集交易且將其形成區塊之一節點(「採礦節點」之「挖掘者」)將該交易併入至一區塊中。挖掘者接著嘗試完善相對於該節點之「工作證明(proof of work)」。挖掘者在整個區塊鏈網路中競爭,以便首先組譯交易之區塊且完善該區塊的相關聯工作證明。成功的挖掘者將其確認之區塊添加至區塊鏈,且該區塊經由網路傳播,使得保持該區塊鏈之一複本的其他節點可更新其記錄。接收區塊之彼等節點亦「驗證」該區塊及其中之所有交易,以確保該區塊遵守協定之形式要求。
非集中式點對點系統中之挑戰之一為確保一節點可受信賴地與網路中之另一節點通訊。隨著一些實
施之網路架構演進,一些節點可承擔更多的特殊任務,且其他節點可依賴於作為某些資料之來源或作為某些功能之執行者的彼等專用節點。若一節點接著依賴於資訊之另一節點或作為合法來源,則需要其能夠建立用於與該節點通訊之受信賴關係。在節點可具有不同作用的情況下,具有用於判定及驗證節點之作用的機制可為有利的。此外,若節點證明為非法或惡意的,則其他節點應當有可能記得該節點,以便忽略來自此節點之未來通訊。在點對點系統中,挑戰為解決此等問題而不會藉由強加中央授權機構來損害系統之點對點性質。
現已設計出此解決方案。
因此,根據本發明,提供如所附申請專利範圍中所界定之方法及裝置。
本申請案可描述且揭示管理憑證自一群自律專用節點至請求節點之安全分佈的方法及裝置。憑證之安全分佈可使用節點均不重建或不擁有之秘密共用(secret share)及群組私密金鑰。憑證包括請求節點之識別符及節點自藉由複數個專用節點中之每一者提供的秘密點之部分組譯的秘密點,其中秘密點係基於群組私密金鑰及請求節點之識別符之映射至點雜湊。在一些實施中,節點可為區塊鏈節點。
本申請案可進一步描述且揭示供兩個節點
用以在不涉及自律專用節點之一群組或不涉及一集中式憑證管理器或認證器的情況下將彼此鑑認為藉由該群組提供憑證之方法及裝置。方法可涉及一第一節點及一第二節點使用涉及其各別識別符及秘密點的雙線性配對操作來得到相同金鑰。假設該等秘密點及該等識別符係使用群組私密金鑰自群組獲得,則該雙線性配對操作導致相同金鑰在兩個節點中之每一者處產生,由此鑑認其各別憑證且實現兩個節點之間的受信賴通訊。
在一額外或替代性態樣中,本申請案描述一種供一節點用以自一群組專用節點獲得一憑證之電腦實施方法,該等專用節點中之每一者具有一群組私密金鑰之一私密金鑰份額。該方法可包括:將對憑證之一請求自該節點發送至複數個專用節點,其中該節點具有一識別符;自該等複數個專用節點中之每一節點接收藉由該節點根據該識別符及該節點之私密金鑰份額產生的一秘密點之一部分;及藉由組合該密碼點之該等接收部分來產生該秘密點,且其中該秘密點為該群組私密金鑰乘以該識別符之一映射至點雜湊,且該憑證為該識別符及該秘密點。該等專用節點或該節點均不需要獲得該群組私密金鑰之完整複本。
在一些實施中,發送該請求包括將一單獨請求發送至該等複數個專用節點中之每一者。該識別符可包括識別該節點之一識別符字串,及識別該群組之專用節點之作用的一作用字串。在一些情況下,該識別符進一步包
括憑證之期滿時間,且在一些其他情況下,發送一請求包括發送該識別符字串,且其中接收包括接收該識別符。
在一些實施中,產生該秘密點涉及組合該秘密點之接收部分。在一些實例實施中,組合可包括加總。
在一些實施中,該秘密點係使用秘密共用產生且係基於該群組私密金鑰。在彼等情況中之一些中,秘密共用使用該複數個專用節點之拉格朗日內插及私密金鑰份額,而無需重建該群組私密金鑰。
在一額外或替代性態樣中,本申請案可描述一種供一第一節點用以與一第二節點建立一受信賴通訊之電腦實施方法,該第二節點具有一第二節點識別符及一第二秘密點,該第二秘密點為一群組私密金鑰乘以該第二節點識別符之一映射至點雜湊,該群組私密金鑰與經組配以授予憑證的節點之一群組相關聯。該方法可包括:自該群組之節點獲得一第一秘密點,其中該第一秘密點係該群組私密金鑰乘以一第一節點識別符之一映射至點雜湊;將該第一節點識別符發送至該第二節點;接收該第二節點識別符;使用關於該第二節點識別符之一映射至點雜湊及關於該第一秘密點的一雙線性配對操作來產生一第一對話金鑰;以及確認該第一對話金鑰匹配藉由該第二節點使用關於該第二秘密點及關於該第一節點識別符之一映射至點雜湊的該雙線性配對操作產生之一第二對話金鑰。
在一些實施中,用以產生第一對話金鑰的該雙線性配對操作之特徵可為以下表達式中之一者:
K A =e(H 1(id B ),s A ),及K A =e(s B ,H 1(id A )),且用以產生該第二對話金鑰的該雙線性配對操作的特徵在於該等表達式中之另一者,且其中e()為該雙線性配對操作,H 1()為該映射至點雜湊,id A 及id B 各自為該第一節點識別符及該第二節點識別符中之一者,且s A 及s B 各自為該第一秘密點及該第二秘密點中之一者。
在一些實施中,獲得該第一秘密點包括自該群組之節點中的複數個節點中之每一者獲得該第一秘密點之各別部分,及組合該等各別部分以形成該第一秘密點,但不重建該群組私密金鑰。
在一些實施中,確認包括:將經該第一對話金鑰加密的一挑戰自該第一節點發送至該第二節點;接收對該挑戰之一回應;及基於該回應,判定該第二節點使用該第二對話金鑰有效地解密該挑戰。
在一些實施中,發送進一步包括發送一第一隨機數,且其中接收進一步包括接收一第二隨機數及一經計算C 0值,其中該C 0值包含該第二對話金鑰、該第一隨機數及該第二隨機數之一串連之一雜湊。在彼等情況中之一些中,該串連進一步包括該第一節點識別符及該第二節點識別符。在彼等情況中之一些中,產生包括產生包含該第一對話金鑰、該第一隨機數及該第二隨機數之一串連之該雜湊的一經計算C 1值,且其中確認包含確認該經計算C 0值匹配該經計算C 1值。
在一些實施中,該第二秘密點為該群組私密金鑰乘以該第二節點識別符之該映射至點雜湊。
在一些實施中,該第一秘密點及該第二秘密點係各自藉由該群組之節點使用秘密共用分別地提供至該第一節點及該第二節點。
在一額外或替代性態樣中,本申請案可描述一種節點,其包括一個或多個處理器、記憶體、一網路介面及一應用程式,該應用程式包括在執行時使該節點實行本文中所描述之方法中之一或多者的操作之處理器可執行指令。
在一額外或替代性態樣中,本申請案可描述一種儲存處理器可執行指令之非暫時性處理器可讀媒體,該等處理器可執行指令在由一或多個處理器執行時使該一或多個處理器實行本文中所描述之方法中之一或多者的操作。
100、200、300:區塊鏈網路
102、A、B:節點
202:專用節點
204、402a、402b、402c:採礦節點
302:覆蓋網路
502:專用節點之群組
504:請求節點
506:請求
508:秘密點
700:程序
702、704、706、708、710、712:操作
1000:區塊鏈節點
1002:處理器
1004:網路介面
1006:記憶體
1020:區塊鏈應用程式
F:有限域
本發明之此等及其他態樣將自本文中所述之實施例顯而易見且參考本文中所描述之實施例進行闡明。現在將僅借助於實例且參看隨附圖式來描述本發明之實施例,其中:圖1說明區塊鏈節點之實例網路;圖2展示含有專用節點之實例區塊鏈網路;圖3展示實例區塊鏈網路,其中專用節點形成疊對網路;
圖4圖解地說明與採礦節點相互作用的專用區塊鏈節點之網路;圖5圖解地展示向專用區塊鏈節點之群組或網路請求憑證的區塊鏈節點;圖6圖解地展示區塊鏈節點自專用區塊鏈節點之群組獲得部分憑證之實例實施;圖7以流程圖形式展示用於自區塊鏈節點之群組獲得憑證之一個實例程序;圖8為說明兩個區塊鏈節點鑑認彼此的自專用區塊鏈節點之群組獲得之憑證之一實例程序的圖式;圖9為說明兩個區塊鏈節點鑑認彼此的自專用區塊鏈節點之群組獲得之憑證之另一實例程序的圖式;且圖10為實例區塊鏈節點之簡化方塊圖。
在本申請案中,「及/或」一詞意欲涵蓋所列元件之所有可能的組合及子組合,包括所列單獨元件中之任一者、任何子組合或所有元件,且未必排除額外元件。
在本申請中,片語「……或……中的至少一者」意欲涵蓋所列元件中之任何一或多者,包括所列單獨元件中之任一者、任何子組合或所有元件,未必排除任何額外元件且未必需要所有元件。
儘管下文所描述之實例參考區塊鏈網路之上下文中的實施,但應瞭解,本申請案不必限於區塊鏈節
點或區塊鏈網路中之實施。
首先將參看圖1,該圖以方塊圖形式說明與區塊鏈相關聯之實例網路,其在本文中可被稱作區塊鏈網路100。區塊鏈網路100為可由任何人無需邀請或無需來自其他成員之同意即加入的點對點開放式成員資格網路。執行區塊鏈網路100操作所依據的區塊鏈協定的例子之分散式電子裝置可參與區塊鏈網路100。此分散式電子裝置可被稱作節點102。舉例而言,區塊鏈協定可為比特幣協定或其他密碼貨幣。
執行區塊鏈協定且形成區塊鏈網路100之節點102的電子裝置可屬於各種類型,包括例如電腦(諸如,桌上型電腦、膝上型電腦、平板電腦)、伺服器、行動裝置(諸如,智慧型電話)、可穿戴式電腦(諸如,智慧型手錶),或其他電子裝置。
區塊鏈網路100之節點102使用可包括有線及無線通訊技術的合適通訊技術彼此耦接。在許多情況下,區塊鏈網路100至少部分經由網際網路實施,且節點102中之一些可位於地理上分散的位置中。
節點102保持區塊鏈上的分組至區塊中之所有交易的全域總帳,該等區塊中之每一者含有鏈中之先前塊的雜湊。全域總帳為分散式總帳且每一節點102可儲存全域總帳之完整複本或部分複本。由影響全域總帳之節點102進行之交易係由其他節點102驗證,使得全域總帳之有效性得以維持。實施及操作區塊鏈網路(諸如,使用比特
幣協定之區塊鏈網路)的細節將為一般熟習此項技術者所瞭解。
每一交易通常具有一或多個輸入及一或多個輸出。嵌入至輸入及輸出中之指令碼指定交易之輸出可如何存取及由誰存取。交易之輸出可為由於該交易而將值傳送至之位址。彼價值因而與作為未用交易輸出(unspent transaction output;UTXO)的彼輸出位址相關聯。後續交易可接著參考彼位址而作為輸入,以便耗費或分散彼價值。
節點102可視其功能性而屬於不同類型或類別。已建議存在四個與節點102相關聯之基本功能:錢包、採礦、完全區塊鏈維護以及網路路由。此等功能可存在變化。節點102可具有多於一個的功能。舉例而言,「完全節點」提供所有四個功能。舉例而言,諸如可以數位錢包實施之輕質節點的特徵可僅為錢包及網路路由功能。並非儲存完全區塊鏈,數位錢包可記住區塊標頭,該等區塊標頭在查詢區塊時充當索引。
如上文所提及,採礦節點(「挖掘者」)在競賽中競爭以形成區塊鏈中之下一個區塊。為了組合一區塊,挖掘者將建構該區塊以作為來自未確認交易之集區(「記憶集區(mempool)」)的交易集合。挖掘者接著嘗試完善關於其已經組譯之區塊的工作證明。若挖掘者達成在接收任何其他挖掘者已成功地產生一區塊且完善其工作證明的通知之前完善工作證明,則挖掘者藉由將工作證明發
送至網路上之同級節點來傳播其區塊。彼等節點驗證該區塊,接著將其在網路中另外發送至其他節點。若挖掘者在其完成自身的工作證明之前接收到另一區塊已完成的通知,則挖掘者放棄努力且開始嘗試建構下一個區塊。區塊之快速傳播幫助避免挖掘者及驗證節點之努力被浪費。
在區塊鏈之當前實施,諸如比特幣網路中,接收區塊之每一節點在將該區塊發送至其他節點之前首先驗證該區塊。驗證區塊所用的時間使區塊經由網路之傳播減緩。應注意,區塊鏈之一些實施,包括現有協定之演進,可藉由僅節點之一子集而非網路中之每一節點來提供區塊驗證;然而,大部分節點處之區塊驗證仍很可能為任何區塊鏈實施之特徵,以防止無效區塊經由網路傳播。
驗證一區塊涉及確認該區塊符合藉由適用區塊鏈協定設定之規定準則。適用於比特幣協定之實例準則定義於比特幣核心用戶端功能CheckBlock及CheckBlockHeader中。除了確認區塊本身遵循規定準則之外,亦可針對與交易層級準則之順應性來評估區塊內之每一交易。作為一實例,比特幣協定中所應用之交易層級準則可在函數AcceptToMemoryPool、CheckTransaction及CheckInputs中詳細地看到。
一般而言,交易層級驗證準則係彼等規定特性,根據適用區塊鏈協定,交易必須認為彼等規定特性有效。類似地,區塊層級驗證準則係彼等規定特性,根據適用區塊鏈協定,區塊必須認為彼等規定特性有效。
區塊鏈之一些演進可提供其他專用節點。作為一實例,可存在經結構化為具有大量快速存取記憶體及重要網路通訊資源的儲存節點的節點。該等儲存節點可實施儲存未確認交易之分散式交易資料庫(「記憶集區」)。在一些實施中,該等儲存節點可實施用於未用交易輸出的分散式UTXO資料庫。在一些情況下,此等分散式資料庫可藉助於分散式雜湊表來實施。作為另一實例,一些節點可經結構化為經設計以集中於快速驗證及交易傳播的驗證器節點。該等驗證器節點及該等儲存節點可藉由在經設計用於分散式大量儲存器及用於快速驗證及傳播交易的區塊鏈網路100內形成快速交易商業網路而促進與大規模付款處理相關聯的增加之交易量。
來自付款處理中之使用的交易數目之顯著增長可使儲存於每一記憶集區中的交易之量增加。假設交易(TX)之平均大小為500位元組且交易速率為約104TX/s,則記憶集區可接收約400GB之每日傳入資料。所有此資料需要儲存於未確認交易之記憶集區中歷時變化之時間量。因此,在一些實施中,節點之網路可使用藉助於分散式雜湊表(Distributed Hash Table;DHT)實施的共用記憶集區,以便儲存未確認交易之集區,而非在每一節點處儲存完整記憶集區。在此實施中,採礦節點及/或一些其他類型之節點可能未必在本端保持整個記憶集區,以便減輕該等節點的儲存及更新未確認交易之極大集區的負擔。實情為,採礦節點及/或其他類型之專用節點可依賴於
儲存節點及或驗證器節點之網路來管理對記憶集區之維護。在下文之一些實例中,專用節點一詞可用以指在區塊鏈網路中具有特定作用的節點,諸如驗證器節點、儲存節點或其類似者。
現在參看圖2,其展示節點之區塊鏈網路200的一個實例實施。區塊鏈網路200包括複數個專用節點202及複數個採礦節點204。在此實例中,專用節點202實體地且邏輯地分散遍佈網路200。將理解,區塊鏈網路200可包括許多其他類型之節點,包括完全節點、簡化付款驗證(simplified payment verification;SPV)節點(例如錢包)及具有聚焦作用的其他專用節點。
在圖3中示出了區塊鏈網路300之另一實例實施,該圖展示形成區塊鏈網路300內之(邏輯)覆蓋網路302的專用節點202。覆蓋網路302可經組配以確保覆蓋網路302內之專用節點202之間的快速通訊,從而確保自共用記憶集區之快速存取及擷取。
該等專用節點202在此實例中可經實施以促進作為用以促進經由區塊鏈網路200、300之大量付款處理的結構之部分的快速交易驗證及傳播。就此而言,專用節點202可為集中於交易驗證及傳播的驗證器節點,且採礦節點204集中於區塊採礦且減輕對儲存記憶集區或驗證交易的需要。在此實例中,專用節點202可由於其參與其基於DHT之儲存而能夠直接地存取記憶集區,或可能夠經由一或多個儲存節點來存取記憶集區。
區塊鏈網路200、300之此重構及個別節點的促進快速交易處理之作用可構成確保區塊鏈之增長及各種節點之非惡意參與中的挑戰。藉由避免強加一或多個中央授權機構之控制來維持區塊鏈網路200、300之非集中式性質非常重要。為了使網路200、300恰當地工作,採礦節點204、專用節點202及其他專用節點應以確保每一節點可靠地執行其自身功能或作用且每一節點可相信其他節點會可靠地執行其功能或作用的方式相互作用。為此目的,專用節點202與採礦節點204之間的相互作用可使用促進實行區塊之快速採礦及傳播中之合作的複數個交易。
現在參看圖4,其圖解地展示複數個採礦節點402(個別地展示為402a、402b、402c)及含有複數個專用節點202之覆蓋網路302。在此實例中,專用節點202使用例如DHT將記憶集區實施為共用記憶集區,從而以分散式方式將未確認交易之大資料庫儲存在專用節點202之間。然而,此係一個實例實施,且在一些其他實施中,每一專用節點202可儲存記憶集區之完全複本。
採礦節點402可包括如藉由元件符號402b及402c指示之彼等挖掘者的個別單獨挖掘者,且可包括含有多個挖掘者之礦池,諸如藉由元件符號402a指示之礦池。
採礦節點402在此實例中不具有記憶集區之完全複本,且依賴於專用節點202來為其提供挖掘新區塊所需的材料。詳言之,專用節點202中之一者可邀請採礦
節點402使用專用節點202能夠存取的記憶集區中之未確認交易之集合來參與挖掘新區塊。採礦節點402可藉由接收新的未確認交易之集合來選擇同意參與採礦活動。作為自每一採礦節點402接收保證金的交換,專用節點202為其中之每一者提供交易之集合(或交易之集合的雜湊)。若參與採礦節點402中之一者成功地自交易之集合創建一新區塊,則除用於挖掘區塊之正常費用之外,彼採礦節點402亦自專用節點202接收其保證金之退款。其他不成功的採礦節點402將其保證金作為罰款交給專用節點202。若沒有一個參與採礦節點402成功地創建下一個區塊,則專用節點202退還該等採礦節點之保證金,但減去由專用節點202部分地收取以作為其在驗證交易及向該等採礦節點提供經驗證交易之集合的工作上之補償的驗證費用。
然而,在此實例中,採礦節點402會想要能夠鑑認專用節點202合法地作為專用節點之池的成員。同樣地,在專用節點202本身之間,該等專用節點可能需要鑑認專用節點202中之一者的身分及彼節點參與共同作業工作之權限。在許多網路架構中,此功能係藉由強加集中地管理憑證且鑑認參與節點的中央鑑認服務(諸如憑證權限或其類似者)來實現。但此架構在應避免中央控制或權限之分散式點對點架構中不理想。
相同問題可出現在區塊鏈網路之其他部分中,此係因為區塊鏈網路之架構演進以適應具有特殊作用,不論用於驗證、儲存器、採礦或其他功能的節點。彼
等節點充當具有特定作用之群組的成員,且彼群組的具有彼作用之其他成員會想要能夠識別且鑑認該群組中之成員資格。類似地,並非該群組之成員,但與互動該群組中之專用節點相互作用且需要「信任」該專用節點的節點會想要能夠鑑認彼節點在該群組中之成員資格。將希望節點能夠鑑認身分及成員資格,而無需對分散式區塊鏈網路強加集中式憑證權限。
在一個態樣中,本申請案提供用於授權作為一專用節點群組之成員的節點之群組中的依賴於分散式私密金鑰份額之節點的方法及裝置。因此,產生憑證且經由該群組中之專用節點的合作且以專用節點不可單獨地提供有效憑證至請求節點的方式將該等憑證提供至請求節點。
在另一態樣中,本申請案提供經由確認每一節點擁有藉由同一節點群組授予的憑證而於兩個節點間建立一受信賴通訊通道之方法。受信賴通訊通道中所涉及之節點均可為授予憑證之群組的成員,但未必為成員。在一個實例中,節點中之一者為專用節點之群組的成員,而另一節點並非成員。確認兩個節點之憑證之有效性可基於每一節點使用一雙線性配對操作產生一金鑰且確保該等金鑰匹配。節點中之一者的雙線性配對操作可包括作為引數的另一節點之識別符的映射至點雜湊,及合作地產生且藉由節點群組提供至節點中之一者的秘密點。
現在參看圖5,其圖解地展示專用節點之群組502。請求節點504希望自專用節點之群組502獲得憑
證,以便能夠證明其身分為專用節點中之一者或為與專用節點中之一者通訊的節點。請求節點504可為或可不為專用節點之群組502的部分。
請求節點504將對憑證之請求506發送至節點群組502。請求506與請求節點504之識別符相關聯。在一些實施中,該識別符可由請求節點504產生且隨請求506發送。舉例而言,請求節點504可產生其識別符「Alice」且告知節點群組502其id=Alice。在一些實施中,該識別符可由節點群組502或更特定言之由節點群組502中的節點中之一者指派,且傳達至請求節點504。在一些實施中,請求節點504為節點群組502提供其「名稱」或識別符字串,例如「Alice」,其可為任何文數字字串或其他唯一識別符。節點群組502可將額外資訊串連至該識別符字串,從而產生請求節點504之識別符。舉例而言,節點群組502可組合識別符字串與節點群組502之名稱或識別符。在一些實施中,名稱係節點群組502之「作用」或功能,諸如「驗證器」或其類似者。在一些實施中,節點群組502可組合識別符字串與憑證之期滿時間,以使得評估請求節點504之憑證的任何其他節點可自其識別符評定該等憑證是否保持未期滿。在下文所說明之一個實例實施中,請求節點504之識別符係由識別符字串(例如Alice)、識別節點群組502或其功能作用的作用字串及憑證之期滿時間的串連形成。識別符之其他可能實施將被一般熟習此項技術者瞭解。
節點群組502中之每一節點包括私密金鑰k之份額k i 。秘密共用被用於秘密k在n個玩家之間分割的臨限值密碼系統中,以使得至少t+1個參與者需要合作以便重建k。已知秘密k之任何t個片段使該秘密保持未判定。
秘密共用係基於多項式內插,且假設秘密為有限域F之一元素。方案包含代理商(dealer)(亦存在無代理商版本)、n個參與者U 1,...,U n 之一集合。在協定中,任意隨機秘密係作為f(0)儲存於t次多項式f(x)中,且僅節點i可計算其份額f(x i )。若n個節點中之t+1個節點合作,則該等節點可使用拉格朗日多項式內插來重建f(x)上之任何點,該等點之份額(關於金鑰k)k 1,k 2,...,k n 對應於f(x 1),f(x 2),...,f(x n )。拉格朗日多項式內插提供可用t+1個點p={(x 1,f(x 1)),(x 2,f(x 2)),...,(x t+1,f(x t+1))}來重建t次函數f(x),
請注意:b i,p (x i )=1且b i,p (x j )=0。就此而言,b i 為內插係數。
在涉及無代理商份額分佈之一實施中:
1.每一節點i經指派大家都知道的x i 。每一x i 必須係唯一的。
2.每一節點i產生t次隨機多項式f i (x)。
3.每一節點i向所有其他節點秘密地發送(用接收方之公用金鑰加密)其在多項式f i (x j )mod n上的各別點。
4.每一節點i對所有其接收的f 1(x i ),f 2(x i ),...f p (x i )求和,全部對n取模,(其中n係基礎域之特性(亦可表示GF(n),))以形成k i =f(x i )mod n,其為多項式f(x)mod n上的份額。
返回圖5之實例,節點群組502之節點合作以產生請求節點504之秘密點s A ,如元件符號508所指示。秘密點s A 在循環群G 1 中,其重要性將自下文關於交握及配對之解釋變得明晰。秘密點與識別符有關,其為:s A =k.H 1(id A )
其中id A 係請求節點504之識別符。在一些實施中,可認為憑證為(id A ,s A )。如下文將更詳細地解釋,H 1為一映射至點雜湊函數。
為了在不重建群組私密金鑰k之情況下產生秘密點,節點群組502在使用秘密共用加入之形式產生s A 時合作。圖6展示授予請求節點504憑證之節點群組502之另一實例。在此說明中,請求節點504發送一憑證請求至節點群組502的至少t+1個節點。彼等節點各自為請求節點504提供s A 之一部分。詳言之,秘密點s A 之每一份額s Ai 係藉由節點i判定且發送至請求節點504,且請求節點504接著將該等份額組譯(即組合)成秘密點s A 。在一些實例中,份額s Ai 係藉由對其求和來組合以獲得秘密點s A 。
現在參看圖7,其以流程圖形式展示憑證的基於群組之分散式產生的一個實例程序700。程序700係由一請求節點實行。該程序以在操作702中,該請求節點將一索引i設定為1開始。該請求節點接著向一節點i請求憑證。節點i為經組配以實行本文中所描述之憑證授予程序之一實施的節點群組中之一專用節點。節點i使用群組私密金鑰份額ki之部分來判定秘密點s A 之第i個部分。彼部分可被稱作s Ai 。
在操作706中,該請求節點自第i個節點接收部分s Ai ,亦即該請求節點接收一部分憑證。在操作708中,接收節點評定索引i是否為t+1。若是,則接收節點已接收t+1個部分憑證,但若不是,則接收節點仍需要額外部分憑證來重建秘密點s A 。若i還不等於t+1,則在操作710中,使i遞增1,且程序700返回至操作704以向節點群組中之另一節點請求一另外部分憑證。若i等於t+1,則在操作712中,該請求節點組譯秘密點s A 。
在經由節點群組中之節點的共同努力獲得憑證後,具有用以不依賴於中央授權機構或返回群組以進行確認/鑑認而檢查或驗證憑證之機制將為有利的。以此方式,來自同一節點群組的聲稱具有有效憑證之兩個節點可驗證彼此的憑證而不會加重時間延遲及與使節點群組合作地驗證及確認所頒予之憑證相關聯的通訊負擔。
作為概述,考慮群組私密金鑰k為有限域之成員,即k 。獲得憑證之請求節點使該等憑證呈識別
符id A 及循環群G 1中之秘密點s A 之形式。在此實例實施例中,識別符(或「假名」)id A 為(Alice∥作用∥期满时间),其中∥表示兩個字串之串連,且作用為與節點群組及/或其功能或作用相關聯之一字串或其他文數字識別符。請求節點可向任何人展現其識別符,但將s A 保密。
另一請求節點獲得識別符idB為(Bob∥作用∥期满时间)及秘密點s B 。
請注意,秘密點s A 係藉由s A =k.H 1(id A )給出,且秘密點s B 係藉由s B =k.H 1(id B )給出。
當Alice及Bob希望彼此建立受信賴通訊,即其中一者或兩者希望驗證另一人的憑證時,兩個節點交換其各別識別符/假名,但不揭示其秘密點。
節點Alice接著藉由計算下式來產生對話金鑰K A :K A =e(H 1(Bob∥作用∥期滿時間),s A )
其中e()為雙線性映射,即配對操作,且節點Bob藉由計算下式來計算對話金鑰K B :K B =e(s B ,H 1(Alice∥作用∥期滿時間))
操作H 1()為映射至點函數,如下文將進一步描述。由於配對之性質,該兩個金鑰相同,即K A =K B 。藉由發送一挑戰值及獲得其回應,該兩個節點可驗證協定成功,即該兩個節點各自保持由同一節點群組頒予的指示相同作用之憑證。替代地,一方可將某些內容發送至另一方,當且僅當交握成功時,該內容被成功解密。
配對操作在此實例中依賴於s A 及s B 在此情況下來自同一循環群G 1。在其他情況下,該兩者可來自作為兩個阿貝耳群相關的不同循環群G1及G2,其選取另一阿貝耳群中之值為:e:G 1×G 2→G T
其中G 1 、G2及GT為相同階之循環群。
在公用之憑證的產生中存在某些參數。該等參數可藉由任何節點在程序中產生且與其他節點共用。自E為含有域中之n個點的橢圓曲線的假設開始,其中q為與2及3互質的質數之冪,該等公用參數可包括以下各者:params=(p,G 1,G 2,G T ,g 1,g 2,e,H 1,H 2)
其中g 1(分別g 2)為質數階p的群組G 1(分別G 2)之產生器,其具有雙線性映射e(.,.)。G 1為階數r的E()之循環子群,其中r、q互質。且,e(g 1,g 2)產生G T ,其亦具有階數p。H 1及H 2為分別關於G 1及G 2之映射至點雜湊。如上文所提及,在一些實施中,且在本文中所描述之實例中的多者中,僅G 1可使用,此意謂將同一映射至點雜湊函數H 1用於秘密點s A 及s B 兩者。
在一些橢圓曲線密碼系統中,雜湊演算法用以將作為有限域之元素的密碼或其他字串映射成給定橢圓曲線之點。此等為映射至點雜湊。更精確地,映射至點雜湊函數H 1為以訊息m作為輸入且返回點P E(K)的變換。更特定言之,H 1返回點P E(K)[r],其中E(K)[r]為E(K)的藉由G 1產生之子群。在此方案中,存在自基礎域至曲線的
一對一映射f。此使得能夠使用f(H(m))進行雜湊,其中H為經典雜湊函數且H(m)。
現在參看圖8,其展示在藉由驗證彼此之憑證來建立受信賴通訊通道時的兩個節點A及B之間的訊息流。在此實例實施中,節點A將其識別符id A 提供至節點B。在一些情況下,識別符id A 可公開獲得且可由節點B自另一源獲得。自此,節點B能夠使用節點A之識別符、由節點B保持之秘密點s B 及由頒予憑證之節點群組規定的映射至點雜湊函數H 1來產生對話金鑰K B 。使用亦由節點群組規定的配對操作e()來產生對話金鑰K B 。
K B =e(s B ,H 1(Alice∥作用∥期滿時間))
其中,在此實例中,節點B之識別符id B 為(Alice∥作用∥期滿時間)。
節點B將其識別符id B 提供至節點A,且節點A接著能夠使用節點B之識別符、其秘密點s A 及相同的配對操作及映射至雜湊函數來類似地產生對話金鑰K A :K A =e(H 1(Bob∥作用∥期滿時間),s A )
若秘密點係由節點群組使用同一群組私密金鑰k及各別節點A及B之識別符合法合作地產生,則配對操作應導致K A =K B 。此可以數種方式中之任一方式測試。在此實例實施中,節點A發送經對話金鑰K A 加密之一挑戰至節點B。節點B嘗試使用其對話金鑰K B 來解密該挑戰且發送對該挑戰之一回應。該回應可藉由對話金鑰K B 加密。基於此,兩個節點可確保其具有相同對話金鑰。
該對話金鑰可用以加密兩個節點之間的通訊。在另一實施中,該對話金鑰可用以加密通訊,從而導致另一金鑰之設置。在又一實施中,兩個節點之間的通訊僅依賴於用以驗證/鑑認彼此之憑證的上述程序,且兩個節點之間的通訊未經加密或使用節點之常見公用-私密金鑰對來加密。
另一實例實施係藉由圖9之信號圖說明。在此實例中,節點A藉由產生一隨機隨機數nonce A 開始。節點A將其識別符id A 及其隨機數發送至節點B。節點B產生其自身隨機數nonce B 。在此實例中,節點B接著產生值C 0,其為配對操作之結果與包括該等隨機數之其他資料的雜湊。在此實例中,值C 0可由下式給出:C 0=H(e(s B ,H 1(id A ))∥id A ∥id B ∥nonce A ∥nonce B )
其中H為字串至字串之抗碰撞雜湊函數。在一個實例中,H係SHA-256。
節點B接著回覆節點A,提供其識別符id B 、其隨機數nonce B 及值C 0。節點A接著執行類似計算以獲得值C 1,該值在此實例中表示為:C 1=H(e(H 1(id B ),s A )∥id A ∥id B ∥nonce A ∥nonce B )
應注意,C 1對比C 0之表達式中之引數的唯一差別在於配對操作。因此,若雙線性配對操作確認節點A及節點B之憑證係自同一節點群組獲得,則該兩個值應匹配。節點A可驗證該等值是否匹配,且若匹配,則發送C 1至節點B,節點B亦驗證該等值是否匹配。在一個實施中,接著使用值C 0=C 1作為對話金鑰來加密節點A與節點
B之間的通訊。在一些實施中,該等節點僅僅依賴於其常見公用金鑰-私密金鑰對來加密通訊,且上述操作係用於鑑認,而非用於建立對話金鑰。
在一些實例實施中,經串流且經雜湊以形成值C 0及C 1的資料或字串其他資料或字串,或可排除以上實例字串中的一些。舉例而言,在一個實施中,值C 0及C 1可不包括識別符id A 及id B 之串連。儘管應瞭解,雜湊及隨機數幫助防止通訊受到中間人攻擊。
現將參看圖10,其以方塊圖形式展示區塊鏈節點1000之簡化實例。區塊鏈節點1000在此實例中包括處理器1002、網路介面1004及記憶體1006。區塊鏈節點1000可使用具有網路連接性及足夠的處理及記憶體資源以實行本文中所描述之功能的任何合適計算硬體來實施。區塊鏈節點1000可包括用以實施本文中所描述之功能的處理器可執行指令。在一些情況下,該等處理器可執行指令可被稱作區塊鏈應用程式1020,但是應瞭解,該等指令可視硬體及作業系統而實施於一或多個模組、應用程式、指令碼或其他程式設計結構中。處理器1002可包括多核處理器及/或多個處理器。
應理解,本文中所描述之裝置及程序以及任何模組、常式、程序、執行緒、應用程式或實施所描述方法/程序以用於組配視訊特徵抽取器的其他軟體組件可使用標準電腦程式設計技術及語言來實現。本申請不限於特定處理器、電腦語言、電腦程式設計慣例、資料結構或其
他此等實施細節。
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不背離如由所附申請專利範圍界定的本發明之範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被認為限制申請專利範圍。詞語「包含」及類似者並不排除除任何技術方案或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含」意謂「包括或由……組成」。元件之單數參考並不排除此等元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適規劃之電腦來實施。在枚舉若干構件之裝置技術方案中,此等構件中之若干者可由硬體之同一物件體現。某些措施敍述於相互不同的附屬項中的純粹事實並不指示此等措施不能有利地組合使用。
202‧‧‧專用節點
300‧‧‧區塊鏈網路
302‧‧‧覆蓋網路
Claims (19)
- 一種供一第一節點用以與一第二節點建立一受信賴通訊之電腦實施方法,該第二節點具有一第二節點識別符及一第二秘密點,該第二秘密點為一群組私密金鑰乘以該第二節點識別符之一映射至點(map-to-point)雜湊,該群組私密金鑰與經組配以授予憑證的節點之一群組相關聯,該方法包含:自該群組之節點獲得一第一秘密點,其中該第一秘密點係該群組私密金鑰乘以一第一節點識別符之一映射至點雜湊;將該第一節點識別符發送至該第二節點;接收該第二節點識別符;使用帶有該第二節點識別符之一映射至點雜湊及帶有該第一秘密點的一雙線性配對操作來產生一第一對話金鑰;以及確認該第一對話金鑰與一第二對話金鑰相匹配,該第二對話金鑰係藉由該第二節點使用帶有該第二秘密點及帶有該第一節點識別符之一映射至點雜湊的該雙線性配對操作所產生。
- 如請求項1之方法,其中用以產生第一對話金鑰的該雙線性配對操作包含以下表達式中之一者:K A =e(H 1(id B ),s A ),及K A =e(s B ,H 1(id A )),且其中用以產生該第二對話金鑰的該雙線性配對操 作包含該等表達式中之另一者,且其中e()為該雙線性配對操作,H 1()為該映射至點雜湊,id A 及id B 各自為該第一節點識別符及該第二節點識別符中之一者,且s A 及s B 各自為該第一秘密點及該第二秘密點中之一者。
- 如請求項1之方法,其中獲得該第一秘密點包含:自該群組之節點中的複數個節點中之每一者獲得該第一秘密點之各別部分,及組合該等各別部分以形成該第一秘密點而不重建該群組私密金鑰。
- 如請求項1之方法,其中確認包含:將以該第一金鑰加密的一挑戰自該第一節點發送至該第二節點;接收對該挑戰之一回應;及基於該回應,判定該第二節點使用該第二金鑰有效地解密該挑戰。
- 如請求項1之方法,其中發送進一步包括:發送一第一隨機數,且其中接收進一步包括:接收一第二隨機數及一經計算C 0值,其中該C 0值包含該第二對話金鑰、該第一隨機數及該第二隨機數之一串連之一雜湊。
- 如請求項5之方法,其中該串連進一步包括該第一節點識別符及該第二節點識別符。
- 如請求項5之方法,其中產生包括:產生包含該第一對話金鑰、該第一隨機數及該第二隨機數之一串連之該雜湊的一經計算C 1值,且其中確認包含:確認該經計算C 0值匹配該經計算C 1值。
- 如請求項1之方法,其中該第二秘密點為該群組私密金鑰乘以該第二節點識別符之該映射至點雜 湊。
- 如請求項1之方法,其中該第一秘密點及該第二秘密點係各自藉由該群組之節點使用秘密共用分別地提供至該第一節點及該第二節點。
- 一種第一節點,其包含:一處理器;記憶體;一網路介面;以及一區塊鏈應用程式,其含有用以與一第二節點建立一受信賴通訊之處理器可執行指令,該第二節點具有一第二節點識別符及一第二秘密點,該第二秘密點為一群組私密金鑰乘以該第二節點識別符之一映射至點雜湊,該群組私密金鑰與經組配以授予憑證的節點之一群組相關聯,其中,該等處理器可執行指令在執行時使該第一節點進行如下動作:自該群組之節點獲得一第一秘密點,其中該第一秘密點係該群組私密金鑰乘以一第一節點識別符之一映射至點雜湊;將該第一節點識別符發送至該第二節點;接收該第二節點識別符;使用帶有該第二節點識別符之一映射至點雜湊及帶有該第一秘密點的一雙線性配對操作來產生一第一對話金鑰;確認該第一對話金鑰與一第二對話金鑰相匹 配,該第二對話金鑰係藉由該第二節點使用帶有該第二秘密點及帶有該第一節點識別符之一映射至點雜湊的該雙線性配對操作所產生。
- 如請求項10之第一節點,其中用以產生第一對話金鑰的該雙線性配對操作包含以下表達式中之一者:K A =e(H 1(id B ),s A ),及K A =e(s B ,H 1(id A )),且其中用以產生該第二對話金鑰的該雙線性配對操作包含該等表達式中之另一者,且其中e()為該雙線性配對操作,H 1()為該映射至點雜湊,id A 及id B 各自為該第一節點識別符及該第二節點識別符中之一者,且s A 及s B 各自為該第一秘密點及該第二秘密點中之一者。
- 如請求項10之第一節點,其中該等處理器可執行指令在執行時使該第一節點藉由以下操作來獲得該第一秘密點:自該群組之節點中的複數個節點中之每一者獲得該第一秘密點之各別部分,及組合該等各別部分以形成該第一秘密點而不重建該群組私密金鑰。
- 如請求項10之第一節點,其中該等處理器可執行指令在執行時使該第一節點藉由以下操作做出確認:將經該第一對話金鑰加密的一挑戰自該第一節點發送至該第二節點;接收對該挑戰之一回應;及基於該回應,判定該第二節點使用該第二對話金鑰有效地解密該挑戰。
- 如請求項10之第一節點,其中該等處 理器可執行指令在執行時使該第一節點藉由進一步發送一第一隨機數來進行發送,且藉由進一步接收一第二隨機數及一經計算C 0值來進行接收,其中該C 0值包含該第二對話金鑰、該第一隨機數及該第二隨機數之一串連之一雜湊。
- 如請求項14之第一節點,其中該串連進一步包括該第一節點識別符及該第二節點識別符。
- 如請求項14之第一節點,其中該等處理器可執行指令在執行時使該第一節點藉由產生包含該第一對話金鑰、該第一隨機數及該第二隨機數之一串連之該雜湊的一經計算C 1值來進行產生,且藉由確認該經計算C 0值匹配該經計算C 1值來進行確認。
- 如請求項10之第一節點,其中該第二秘密點為該群組私密金鑰乘以該第二節點識別符之該映射至點雜湊。
- 如請求項10之第一節點,其中該第一秘密點及該第二秘密點係各自藉由該群組之節點使用秘密共用分別地提供至該第一節點及該第二節點。
- 一種儲存有處理器可執行指令之非暫時性處理器可讀媒體,該等處理器可執行指令在由一或多個處理器執行時使該一或多個處理器實行如請求項1之方法中的操作。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??1709096.0 | 2017-06-07 | ||
GBGB1709096.0A GB201709096D0 (en) | 2017-06-07 | 2017-06-07 | Computer-implemented system and method |
GB1709096.0 | 2017-06-07 | ||
GB1709097.8 | 2017-06-07 | ||
GBGB1709097.8A GB201709097D0 (en) | 2017-06-07 | 2017-06-07 | Computer-Implemented system and method |
??1709097.8 | 2017-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201904232A TW201904232A (zh) | 2019-01-16 |
TWI744532B true TWI744532B (zh) | 2021-11-01 |
Family
ID=62751223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107119490A TWI744532B (zh) | 2017-06-07 | 2018-06-06 | 用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統 |
Country Status (6)
Country | Link |
---|---|
US (4) | US20200186335A1 (zh) |
EP (6) | EP3465578B1 (zh) |
JP (4) | JP2020523813A (zh) |
CN (2) | CN110709874A (zh) |
TW (1) | TWI744532B (zh) |
WO (2) | WO2018224945A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200186335A1 (en) | 2017-06-07 | 2020-06-11 | nChain Holdings Limited | Credential generation and distribution method and system for a blockchain network |
CN111149324B (zh) * | 2017-09-21 | 2023-12-29 | Lg电子株式会社 | 用于管理具有链接值的数字证书的密码学方法和系统 |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
CN112232817A (zh) * | 2018-10-25 | 2021-01-15 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN111367859A (zh) * | 2018-12-26 | 2020-07-03 | 北京邦天信息技术有限公司 | 一种区块链交易数据的存储方法及系统 |
KR102284422B1 (ko) | 2019-02-01 | 2021-08-04 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록체인 시스템에서 노드 사이의 통신 확립 방법 및 디바이스 |
CN109981739A (zh) * | 2019-02-25 | 2019-07-05 | 平安科技(深圳)有限公司 | 基于区块链的会话数据处理方法、装置、设备及介质 |
CN110336822A (zh) * | 2019-07-09 | 2019-10-15 | 青岛大学 | 一种基于双线性配对的信息加密方法、装置、设备及介质 |
CN111030821B (zh) * | 2019-08-27 | 2022-07-12 | 杭州云象网络技术有限公司 | 一种基于双线性映射技术的联盟链的加密方法 |
US11159326B1 (en) * | 2019-08-29 | 2021-10-26 | Hiro Systems Pbc | Client-side authentication system and associated method |
CN110602190B (zh) * | 2019-08-30 | 2022-04-19 | 上海唯链信息科技有限公司 | 区块链共识的方法及区块链节点和存储装置 |
US11216553B1 (en) * | 2020-05-14 | 2022-01-04 | Rapid7, Inc. | Machine scanning system with distributed credential storage |
CN111638962A (zh) * | 2020-06-08 | 2020-09-08 | 杭州复杂美科技有限公司 | 交易池动态伸缩方法、设备和存储介质 |
US11902426B2 (en) * | 2021-06-26 | 2024-02-13 | Ceremorphic, Inc. | Efficient storage of blockchain in embedded device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017559A2 (en) | 2001-08-13 | 2003-02-27 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
WO2014017959A1 (en) * | 2012-07-27 | 2014-01-30 | Telefonaktiebolaget L M Ericsson (Publ) | Secure session for a group of network nodes |
TW201505412A (zh) * | 2013-04-30 | 2015-02-01 | Thomson Licensing | 用於可追踪群組加密之裝置及方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181015B2 (en) * | 2001-07-31 | 2007-02-20 | Mcafee, Inc. | Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique |
GB0215524D0 (en) * | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
GB0215590D0 (en) | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
KR100480258B1 (ko) * | 2002-10-15 | 2005-04-07 | 삼성전자주식회사 | 무선 근거리 네트워크에서 고속 핸드오버를 위한 인증방법 |
US8108678B1 (en) * | 2003-02-10 | 2012-01-31 | Voltage Security, Inc. | Identity-based signcryption system |
US7342896B2 (en) * | 2003-03-03 | 2008-03-11 | Sharp Laboratories Of America, Inc. | Centralized network organization and topology discover in Ad-Hoc network with central controller |
US7571321B2 (en) | 2003-03-14 | 2009-08-04 | Voltage Security, Inc. | Identity-based-encryption messaging system |
US8050409B2 (en) | 2004-04-02 | 2011-11-01 | University Of Cincinnati | Threshold and identity-based key management and authentication for wireless ad hoc networks |
US7657744B2 (en) * | 2004-08-10 | 2010-02-02 | Cisco Technology, Inc. | System and method for dynamically determining the role of a network device in a link authentication protocol exchange |
GB2419787B (en) * | 2004-10-28 | 2007-07-04 | Hewlett Packard Development Co | Method and apparatus for providing short-term private keys in public-key cryptographic systems |
US8285996B2 (en) | 2005-03-30 | 2012-10-09 | Dublin City University | Verification of identity based signatures |
KR100629495B1 (ko) * | 2005-07-23 | 2006-09-28 | 삼성전자주식회사 | 그룹 키 생성방법 |
CN100547981C (zh) * | 2006-08-31 | 2009-10-07 | 南京邮电大学 | 网格环境中基于虚拟组织的秘密通信方法 |
JPWO2008156107A1 (ja) * | 2007-06-18 | 2010-08-26 | 日本電気株式会社 | 電子データの暗号化及び暗号化データ復号化システム及びその方法 |
KR20100075480A (ko) * | 2007-09-07 | 2010-07-02 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 네트워크를 위한 노드 및 네트워크를 위한 분산된 보안 아키텍처를 확립하는 방법 |
CN101179380A (zh) * | 2007-11-19 | 2008-05-14 | 上海交通大学 | 一种双向认证方法、系统及网络终端 |
JP5102701B2 (ja) * | 2008-05-27 | 2012-12-19 | パナソニック株式会社 | 秘密鍵配布方法、秘密鍵配布システム |
US9344438B2 (en) * | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
US20100235625A1 (en) * | 2009-03-13 | 2010-09-16 | Ravi Kant Pandey | Techniques and architectures for preventing sybil attacks |
US8850203B2 (en) * | 2009-08-28 | 2014-09-30 | Alcatel Lucent | Secure key management in multimedia communication system |
CN101711027B (zh) * | 2009-12-22 | 2012-07-04 | 上海大学 | 一种无线传感器网络中基于身份的分散密钥管理方法 |
JP5457848B2 (ja) * | 2010-01-18 | 2014-04-02 | 日本電信電話株式会社 | Idベース認証鍵交換システム、認証鍵交換方法、認証鍵交換装置及びそのプログラムと記録媒体 |
CN101841479B (zh) | 2010-04-28 | 2012-12-05 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
WO2011153539A1 (en) * | 2010-06-04 | 2011-12-08 | Northwestern University | Pseudonymous public keys based authentication |
CN102208962B (zh) | 2011-05-19 | 2014-04-02 | 清华大学 | 无线数据传输方法 |
US8874769B2 (en) * | 2011-06-30 | 2014-10-28 | Qualcomm Incorporated | Facilitating group access control to data objects in peer-to-peer overlay networks |
JP5784833B2 (ja) * | 2011-07-15 | 2015-09-24 | アルカテル−ルーセント | セキュアグループメッセージング |
US9065637B2 (en) | 2012-01-25 | 2015-06-23 | CertiVox Ltd. | System and method for securing private keys issued from distributed private key generator (D-PKG) nodes |
CN103297174A (zh) | 2012-02-27 | 2013-09-11 | 陈小虎 | 基于动态网络编码的高速移动自组网数据传输方法 |
US10454997B2 (en) * | 2012-09-07 | 2019-10-22 | Avigilon Corporation | Distributed physical security system |
US9154296B1 (en) | 2012-09-28 | 2015-10-06 | Emc Corporation | Secure and anonymous distributed authentication |
CN102970679B (zh) * | 2012-11-21 | 2015-12-09 | 越亮传奇科技股份有限公司 | 基于身份的安全签名方法 |
US9106644B2 (en) * | 2013-05-30 | 2015-08-11 | CertiVox Ltd. | Authentication |
US8971540B2 (en) * | 2013-05-30 | 2015-03-03 | CertiVox Ltd. | Authentication |
GB201309702D0 (en) * | 2013-05-30 | 2013-07-17 | Certivox Ltd | Security |
US9384362B2 (en) | 2013-10-14 | 2016-07-05 | Intuit Inc. | Method and system for distributing secrets |
CN103702326B (zh) * | 2013-12-02 | 2016-09-28 | 北京理工大学 | 一种基于移动Ad Hoc网络的无证书密钥协商方法 |
US10069914B1 (en) | 2014-04-21 | 2018-09-04 | David Lane Smith | Distributed storage system for long term data storage |
US9946858B2 (en) | 2014-05-05 | 2018-04-17 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
SE538279C2 (sv) * | 2014-09-23 | 2016-04-19 | Kelisec Ab | Förfarande och system för att fastställa förekomst av |
US10304143B2 (en) | 2016-05-05 | 2019-05-28 | Lance Timothy Kasper | Consensus system for manipulation resistant digital record keeping |
US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
GB201509499D0 (en) * | 2015-06-02 | 2015-07-15 | Certivox Ltd | Zkd |
EP3113392A1 (en) | 2015-06-30 | 2017-01-04 | Thomson Licensing | Method and apparatus to distribute an access credential to multiple devices using ultrasonic communication |
US20170236120A1 (en) | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
US10608825B2 (en) | 2016-04-21 | 2020-03-31 | Protoblock, Inc. | Decentralized exchanges in a distributed autonomous platform |
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US10856122B2 (en) * | 2016-05-31 | 2020-12-01 | Intel Corporation | System, apparatus and method for scalable internet of things (IoT) device on-boarding with quarantine capabilities |
CN106209369B (zh) | 2016-07-01 | 2019-04-12 | 中国人民解放军国防科学技术大学 | 一种基于身份密码系统的通信方法 |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
CN109644126B (zh) * | 2016-09-30 | 2022-05-13 | 英特尔公司 | 用于异构型网络中的多个设备认证的技术 |
US10291627B2 (en) | 2016-10-17 | 2019-05-14 | Arm Ltd. | Blockchain mining using trusted nodes |
US10540652B2 (en) | 2016-11-18 | 2020-01-21 | Intel Corporation | Technology for secure partitioning and updating of a distributed digital ledger |
CN106603198A (zh) | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
JP6894979B2 (ja) | 2017-02-24 | 2021-06-30 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | 分散型ブロックチェーンコンセンサスネットワークにおいて新しいブロックに署名する方法 |
US11233656B2 (en) | 2017-02-24 | 2022-01-25 | Nec Corporation | Method for mining a block in a decentralized blockchain consensus network |
WO2018186874A1 (en) | 2017-04-07 | 2018-10-11 | Chang Hwa Shang | Blockchain network and method of operation thereof |
US10102265B1 (en) | 2017-04-12 | 2018-10-16 | Vijay K. Madisetti | Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing |
US11488121B2 (en) | 2017-05-11 | 2022-11-01 | Microsoft Technology Licensing, Llc | Cryptlet smart contract |
US10425235B2 (en) | 2017-06-02 | 2019-09-24 | Analog Devices, Inc. | Device and system with global tamper resistance |
US20200186335A1 (en) | 2017-06-07 | 2020-06-11 | nChain Holdings Limited | Credential generation and distribution method and system for a blockchain network |
-
2018
- 2018-06-04 US US16/620,461 patent/US20200186335A1/en active Pending
- 2018-06-04 EP EP18734633.3A patent/EP3465578B1/en active Active
- 2018-06-04 CN CN201880037501.3A patent/CN110709874A/zh active Pending
- 2018-06-04 EP EP18734635.8A patent/EP3465579B1/en active Active
- 2018-06-04 CN CN201880037551.1A patent/CN110709875A/zh active Pending
- 2018-06-04 WO PCT/IB2018/053981 patent/WO2018224945A1/en unknown
- 2018-06-04 EP EP23158641.3A patent/EP4210271A1/en active Pending
- 2018-06-04 EP EP23187848.9A patent/EP4254301A3/en active Pending
- 2018-06-04 JP JP2019561823A patent/JP2020523813A/ja active Pending
- 2018-06-04 EP EP19210134.3A patent/EP3664005B1/en active Active
- 2018-06-04 JP JP2019561993A patent/JP7065887B2/ja active Active
- 2018-06-04 EP EP21210931.8A patent/EP3979553B1/en active Active
- 2018-06-04 WO PCT/IB2018/053977 patent/WO2018224941A1/en unknown
- 2018-06-04 US US16/620,474 patent/US11296873B2/en active Active
- 2018-06-06 TW TW107119490A patent/TWI744532B/zh active
-
2022
- 2022-03-29 US US17/707,834 patent/US11979493B2/en active Active
-
2023
- 2023-02-13 JP JP2023019628A patent/JP2023053218A/ja active Pending
- 2023-02-24 US US18/114,213 patent/US20230208630A1/en active Pending
- 2023-02-27 JP JP2023028439A patent/JP2023054359A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017559A2 (en) | 2001-08-13 | 2003-02-27 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
WO2014017959A1 (en) * | 2012-07-27 | 2014-01-30 | Telefonaktiebolaget L M Ericsson (Publ) | Secure session for a group of network nodes |
TW201505412A (zh) * | 2013-04-30 | 2015-02-01 | Thomson Licensing | 用於可追踪群組加密之裝置及方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4210271A1 (en) | 2023-07-12 |
US11979493B2 (en) | 2024-05-07 |
CN110709874A (zh) | 2020-01-17 |
TW201904232A (zh) | 2019-01-16 |
JP2020526055A (ja) | 2020-08-27 |
WO2018224941A1 (en) | 2018-12-13 |
US20230208630A1 (en) | 2023-06-29 |
EP3664005B1 (en) | 2021-12-08 |
EP4254301A3 (en) | 2023-10-11 |
US20220294622A1 (en) | 2022-09-15 |
US20200186335A1 (en) | 2020-06-11 |
EP4254301A2 (en) | 2023-10-04 |
US11296873B2 (en) | 2022-04-05 |
EP3465578B1 (en) | 2019-07-24 |
EP3465579B1 (en) | 2019-11-20 |
EP3979553B1 (en) | 2024-06-19 |
EP3664005A1 (en) | 2020-06-10 |
WO2018224945A1 (en) | 2018-12-13 |
US20200186336A1 (en) | 2020-06-11 |
JP2020523813A (ja) | 2020-08-06 |
EP3465579A1 (en) | 2019-04-10 |
JP2023054359A (ja) | 2023-04-13 |
JP7065887B2 (ja) | 2022-05-12 |
CN110709875A (zh) | 2020-01-17 |
JP2023053218A (ja) | 2023-04-12 |
EP3979553A1 (en) | 2022-04-06 |
EP3465578A1 (en) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI744532B (zh) | 用以於區塊鏈網路節點間建立受信賴點對點通訊之方法與系統 | |
JP6515246B2 (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
JP7493014B2 (ja) | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 | |
Zhang et al. | SMAKA: Secure many-to-many authentication and key agreement scheme for vehicular networks | |
CN111404950B (zh) | 一种基于区块链网络的信息共享方法、装置和相关设备 | |
Tiwari et al. | ACDAS: Authenticated controlled data access and sharing scheme for cloud storage | |
TWI840358B (zh) | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 |