TW202022744A - 在區塊鏈網路中的資料隔離 - Google Patents

在區塊鏈網路中的資料隔離 Download PDF

Info

Publication number
TW202022744A
TW202022744A TW108128021A TW108128021A TW202022744A TW 202022744 A TW202022744 A TW 202022744A TW 108128021 A TW108128021 A TW 108128021A TW 108128021 A TW108128021 A TW 108128021A TW 202022744 A TW202022744 A TW 202022744A
Authority
TW
Taiwan
Prior art keywords
merkle tree
blockchain
node
computer
transactions
Prior art date
Application number
TW108128021A
Other languages
English (en)
Other versions
TWI706352B (zh
Inventor
張文彬
申超
Original Assignee
香港商阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW202022744A publication Critical patent/TW202022744A/zh
Application granted granted Critical
Publication of TWI706352B publication Critical patent/TWI706352B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文的實施方式包括由區塊鏈網路中的區塊鏈節點接收讀取區塊鏈中的特定區塊的請求,該請求被從區塊鏈網路中的輕量級節點處接收並且包括輕量級節點的標識,並且該特定區塊包括與該特定區塊相關聯的原始Merkle樹;由區塊鏈節點識別與輕量級節點的標識相關聯的權限;由區塊鏈節點基於包括在區塊中的原始Merkle樹產生隔離Merkle樹,該隔離Merkle樹僅包括原始Merkle樹中的基於所述識別的權限被判定為可由輕量級節點存取的交易,隔離Merkle樹與原始Merkle樹一致;並且由區塊鏈節點向輕量級節點發送包括隔離Merkle樹的響應。

Description

在區塊鏈網路中的資料隔離
本發明係有關於在區塊鏈網路中的資料隔離。
分散式帳本系統(DLS),也可稱為共識網路和/或區塊鏈網路,使參與的實體能夠安全地且不可篡改地儲存資料。在不引用任何特定用例(例如,加密數位貨幣)的情況下,DLS通常被稱為區塊鏈網路。區塊鏈網路的示例類型可以包括公有區塊鏈網路、私有區塊鏈網路和聯盟區塊鏈網路。公有區塊鏈網路向所有實體開放使用DLS,並開放參與共識過程。私有區塊鏈網路針對特定實體提供,該實體集中控制讀寫權限。聯盟區塊鏈網路針對選擇的實體組群提供,該實體組群控制共識過程,並包括存取控制層。 區塊鏈網路可以包括不同類型的節點。完全參與節點(以下稱為「區塊鏈節點」)通過嘗試構建和驗證新交易區塊以添加到區塊鏈來參與區塊鏈網路的共識過程。輕量級節點不參與區塊鏈網路的共識過程,並且可能無法完全同步它們自己內部的區塊鏈表示形式。例如,輕量級節點可能只同步區塊頭資訊,而不是同步區塊鏈中的特定區塊的所有交易資料。 在私有或聯盟區塊鏈網路中,節點(例如輕量級節點)可能僅具有從區塊鏈中讀取特定交易的權限,例如,與輕量級節點相關聯的標識參與到其中的交易。在這種情況下,輕量級節點可以向區塊鏈節點查詢特定區塊,並且可以被返回該區塊的已移除其無法存取交易的表示形式(例如,默克爾(Merkle)樹)。以這種方式構造的Merkle樹可能與表示區塊中的交易的完整Merkle樹不一致,這可能導致輕量級節點處由於節點不具有準確的區塊表示形式而產生錯誤。
本文的實施方式包括用於在區塊鏈網路中施行資料隔離,並同時仍然為該區塊鏈網路中的所有節點提供在該區塊鏈中的區塊的一致表示形式的電腦實施方法。更具體地,本文的實施方式涉及產生Merkle樹,該Merkle樹不包括與請求節點隔離的資料,但是該Merkle樹仍然與表示被請求區塊的完整Merkle樹一致。 在一些實施方式中,操作包括:由該區塊鏈網路中的區塊鏈節點接收讀取該區塊鏈的特定區塊的請求,其中該請求從該區塊鏈網路的輕量級節點處被接收並且包括有輕量級節點的標識,並且該特定區塊包括包含與該特定區塊相關聯的多個交易的原始Merkle樹;由該區塊鏈節點識別與該輕量級節點的標識相關聯的權限;由該區塊鏈節點基於包括在該區塊中的該原始Merkle樹產生隔離Merkle樹,該隔離Merkle樹僅包括該原始Merkle樹中基於所識別的權限被判定為可由該輕量級節點存取的交易,其中該隔離Merkle樹與該原始Merkle樹一致;並且由該區塊鏈節點向輕量級節點發送包括隔離Merkle樹的響應。其他實施方式包括相關的系統、裝置和電腦程式,其被配置為執行編碼在電腦儲存設備上的方法的操作。 這些和其他實施方式可各自可選地包含以下一個或多個特徵。 在一些實施方式中,基於包括在該特定區塊中的該原始Merkle樹產生該隔離Merkle樹包括修改該原始Merkle樹以產生該隔離Merkle樹,包括:從該原始Merkle樹中移除被判定為不可由該輕量級節點存取的所有交易;以及移除所述原始Merkle樹中的所有交易已經被移除的分支,並只完整保留每個分支的根雜湊值。 在一些實施方式中,如果該權限表明該輕量級節點不具有對交易的讀取存取權,則確該輕量級節點不可存取該交易。 在一些情況下,該多個交易中的每個交易均包括與該交易中的一個或多個參與者相關聯的一個或多個標識。 在一些實施方式中,該標識與標識類相關聯,該權限與該標識類相關聯,並且該區塊鏈節點被配置為對與該標識類相關聯的標識施行與該標識類相關聯的權限。 在一些情況下,該標識類為監管者類,與該監管者類相關聯的權限表明與該監管者類相關聯的標識可存取該區塊鏈網路中的所有交易。 在一些實施方式中,該標識類為公共類,與該公共類相關聯的權限表明該標識只可存取該區塊鏈網路中該標識作為參與者的交易。 在一些情況下,僅當基於該隔離Merkle樹中的雜湊值足以允許所述輕量級節點驗證該隔離Merkle樹中的交易時,該隔離Merkle樹與該原始Merkle樹一致。 本文還提供了耦接到一個或多個處理器並且其上儲存有指令的一個或多個非暫態電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將促使所述一個或多個處理器按照本文提供的方法的實施例執行操作。 本文還提供了用於實施本文提供的所述方法的系統。該系統包括一個或多個處理器以及耦接到所述一個或多個處理器並且其上儲存有指令的電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將導致所述一個或多個處理器按照本文提供的方法的實施例執行操作。 應瞭解,依據本文的方法可以包括本文描述的方面和特徵的任意組合。也就是說,根據本文的方法不限於本文具體描述的方面和特徵的組合,還包括所提供的方面和特徵的任意組合。 以下在圖式和描述中闡述了本文的一個或多個實施例的細節。根據文和圖式以及申請專利範圍,本文的其他特徵和優點將顯而易見。
本文實施例包括一種電腦實施的方法,用於在區塊鏈網路中施行資料隔離的,並同時仍然為區塊鏈網路中的所有節點提供在區塊鏈中的區塊的一致表示形式。更具體地,本文的實施方式涉及產生Merkle樹,該Merkle樹不包括與請求節點隔離的資料,但是該Merkle樹仍然與表示被請求區塊的完整Merkle樹一致。 在一些實施例中,操作包括:由區塊鏈網路中的區塊鏈節點接收讀取區塊鏈中的特定區塊的請求,其中,該請求從區塊鏈網路中的輕量級節點處接收並且包括有該輕量級節點的標識,並且該特定區塊包括包含與該特定區塊相關聯的多個交易的原始Merkle樹;由該區塊鏈節點識別與該輕量級節點的標識相關聯的權限;由該區塊鏈節點基於包括在區塊中的該原始Merkle樹產生隔離Merkle樹,該隔離Merkle樹僅包括該原始Merkle樹中基於所述識別的權限被判定為可由該輕量級節點存取的交易,其中,該隔離Merkle樹與該原始Merkle樹一致;並且由該區塊鏈節點向該輕量級節點發送包括隔離Merkle樹的響應。 為本文實施例提供進一步的背景,並且如上所述,分散式帳本系統(DLS),又可稱為共識網路(例如,由點對點節點組成)和區塊鏈網路,使參與的實體能夠安全地、不可篡改地進行交易和儲存資料。雖然「區塊鏈」一詞通常與各種加密貨幣網路相關聯,但是本文所使用的區塊鏈一般指在不參考任何特定用例的情況下的DLS。如上所述,區塊鏈網路可作為公有區塊鏈網路、私有區塊鏈網路或聯盟區塊鏈網路被提供。 在公有區塊鏈網路中,共識過程由共識網路的節點控制。例如,數百、數千甚至數百萬個實體可以協同運作公有區塊鏈網路,每個實體操作該公有區塊鏈網路中的至少一個節點。因此,公有區塊鏈網路可以被認為是關於參與實體的公有網路。在一些示例中,大多數實體(節點)必須對每個區塊簽名以使該區塊有效,並被添加到區塊鏈網路的區塊鏈(分散式帳本)中。示例性公有區塊鏈網路包括為點對點支付網路的各種加密貨幣網路。加密貨幣網路可利用分散式帳本(即區塊鏈)。如上所述,區塊鏈一詞通常用於指代分散式帳本,而不特指任何特定的加密貨幣網路。 通常,公有區塊鏈網路支援公開交易。公開交易為公有區塊鏈網路內的所有節點共享,並儲存在全域區塊鏈中。全域區塊鏈是跨所有節點複製的區塊鏈。也就是說,所有節點相對於全域區塊鏈處於完全共識狀態。為了達成共識(例如,同意向區塊鏈添加區塊),在公有區塊鏈網路內實施共識協定。示例性共識協議包括但不限於在加密貨幣網路中實施的工作量證明(POW)。 通常,為特定實體提供私有區塊鏈網路,該特定實體集中控制讀寫權限。實體控制哪些節點能夠參與到區塊鏈網路中。因此,私有區塊鏈網路通常被稱為權限網路,其限制允許誰參與網路,以及它們的參與級別(例如,僅在某些交易中)。可以使用各種類型的存取控制機制(例如,現有參與者投票添加新實體,監管機構可以控制權限)。 通常,聯盟區塊鏈網路在參與實體之間是私有的。在聯盟區塊鏈網路中,共識過程由授權的節點集控制,一個或多個節點由相應的實體(例如,金融機構、保險公司)操作。例如,由十(10)個實體(例如,金融機構、保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體可以操作聯盟區塊鏈網路中的至少一個節點。因此,聯盟區塊鏈網路可以被認為是與參與實體相關的私有網路。在一些示例中,每個實體(節點)必須對每個區塊簽名,以使區塊有效並被添加到區塊鏈中。在一些示例中,至少實體(節點)的子集(例如,至少7個實體)必須對每個區塊簽名,以使區塊有效並被添加到區塊鏈中。 將參考私有區塊鏈網路進一步詳盡描述本文的實施方式,在私有區塊鏈網路中,可以基於區塊鏈網路的結構將特定資料與特定參與實體隔離。然而,可以預期,本文的實施方式可以在任何適當類型的區塊鏈網路中實現。 鑒於以上背景,將進一步詳盡描述本文的實施方式。更具體地,如上所述,本文的實施方式涉及產生一個Merkle樹,該Merkle樹不包含與請求節點隔離的資料,但仍然與表示被請求區塊的完整Merkle樹一致。 在一些實施方式中,輕量級節點可以從參與到網路中的區塊鏈節點處請求特定區塊。區塊鏈節點可以判定輕量級節點沒有讀取區塊中特定交易的權限。區塊鏈節點可以從表示被請求區塊的完整Merkle樹的副本中移除這些交易,但是對於樹中只包含已移除交易的任意分支僅保留根雜湊值。這樣做可以有效地將輕量級節點與未被授權讀取的交易資料隔離,並且還可以允許向輕量級節點呈現與區塊的完整Merkle樹一致的區塊表示形式。這可以允許輕量級節點(通過檢查Merkle樹中的雜湊值)驗證區塊的完整性,即使沒有存取與其隔離的交易資料的權限。 圖1描繪了可用於執行本文實施例的環境100的示例。在一些示例中,示例性環境100使實體能夠參與到私有區塊鏈網路102中。示例性環境100包括計算設備106,108以及網路110。在一些示例中,網路110包括區域網路(LAN)、廣域網路(WAN)、網際網路或其組合,並且連接網路網站、用户設備(例如,計算設備)和後臺系統。在一些示例中,可以通過有線和/或無線通訊鏈路來存取網路110。 在所描繪的示例中,計算系統106、108可以各自包括能夠作為節點參與至私有區塊鏈網路102中的任何適當的計算系統。示例性計算設備包括但不限於伺服器、桌上型電腦、膝上型電腦、平板計算設備以及智慧型電話。在一些示例中,計算系統106、108承載一個或多個由電腦實施的服務,用於與私有區塊鏈網路102進行互動。例如,計算系統106可以承載第一實體(例如,用户A)的由電腦實施的、例如交易管理系統的服務,第一實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用户)的交易。計算系統108可以承載第二實體(例如,用户B)的由電腦實施的、例如交易管理系統的服務,例如,第二實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用户)的交易。在圖1的示例中,私有區塊鏈網路102被表示為節點的點對點網路(Peer-to-Peer network),且計算系統106、108分別提供參與私有區塊鏈網路102的第一實體和第二實體的節點。 圖2描繪了根據本文實施方式的示例性概念架構200。示例性概念架構200包括實體層202、承載服務層204以及區塊鏈網路層206。在描繪的示例中,實體層202包括三個實體,實體_1(E1)、實體_2(E2)、實體_3(E3),每個實體擁有各自的交易管理系統208。 在所描繪的示例中,承載服務層204包括用於每個交易管理系統208的介面210。在一些示例中,各交易管理系統208使用協定(例如,超文本傳輸安全協定(HTTPS))通過網路(例如,圖1的網路110)與其對應的介面210通信。在一些示例中,每個介面210在相應的交易管理系統208與區塊鏈網路層206之間提供通信連接。更具體地,介面210與區塊鏈網路層206中的區塊鏈網路212通信。在一些示例中,介面210與區塊鏈網路層206間的通信是利用遠端程序呼叫(RPC)進行的。在一些示例中,介面210「承載」用於各自的交易管理系統208的區塊鏈網路節點。例如,介面210提供用於存取區塊鏈網路212的應用程式設計介面(API)。 如本文所述,區塊鏈網路212被提供作為包括多個節點214的點對點網路,所述多個節點214在區塊鏈216中不可篡改地記錄資訊。儘管示意性地描繪了單個區塊鏈216,但是在區塊鏈網路212上提供並維護了區塊鏈216的多個副本。例如,每個節點214儲存區塊鏈的副本。在一些實施方式中,區塊鏈216儲存與在參與私有區塊鏈網路的兩個或更多個實體之間進行的交易相關聯的資訊。 圖3A描繪了根據本文實施方式的用於區塊鏈中的區塊310的示例Merkle樹300。如圖所示,Merkle樹300包括區塊頭,該區塊頭包括該區塊中的所有資料的雜湊值,以及區塊鏈中前一區塊的雜湊值和隨機值。區塊頭還包括根雜湊值,該根雜湊值是Merkle樹中位於其正下方的兩個雜湊值(325a、325b)的序連連接(concatenation)。 Merkle樹300的葉節點包括交易305a-305d,交易305a-305d表示記錄在區塊鏈的該特定區塊310中的交易。Merkle樹300還包括雜湊值315a-315d。這些雜湊值315a-315d均是分別基於交易305a-305d的交易資料產生的雜湊值。例如,可以通過提供交易305a中的資料作為用以產生雜湊值315a的SHA 256雜湊演算法的輸入來產生雜湊值315a。在一些實施方式中,任何保證唯一性的雜湊函數都可以用來產生雜湊值315a-315d。 Merkle樹300還包括雜湊值325a(「雜湊值01」)和雜湊值325b(「雜湊值23」)。雜湊值325a-325b是通過序連連接Merkle樹中在其正下方的兩個雜湊值產生的。例如雜湊值325a(「雜湊值01」)是通過序連連接雜湊值315a(「雜湊值0」)和雜湊值315b(「雜湊值1」)產生的。類似地,如上所述,區塊頭中的根雜湊值是通過序連連接雜湊值325a和雜湊值325b來構造的。 在圖3A中用灰色陰影顯示的交易305a-305c表示請求區塊310的實體(例如輕量級節點)不具有存取權限的交易。圖3B描繪了示例Merkle樹350,在Merkle樹350中利用圍繞分支的虛線框標識出Merkle樹300中僅包括要與請求實體隔離的交易的分支335a、335b。 圖3C描繪了根據本文實施方式的示例隔離Merkle樹390,其基於圖3A的Merkle樹產生。如圖所示,在隔離Merkle樹390中,已將之前圖3B中所標識的分支335a和335b移除。 在一些實施方式中,可以通過將軟體演算法應用於完整Merkle樹(如圖3A所示的樹)來產生類似於示例390的隔離Merkle樹。在一示例演算法中,區塊鏈節點從輕量級節點接收讀取特定區塊的請求。該區塊鏈節點掃描被請求區塊中的交易,並基於請求中包括的識別屬性和與該標識相關聯的權限來判定該輕量級節點是否具有讀取每個交易的權限。 在示例演算法中,區塊鏈節點順序地遍歷掃描區塊中的交易,所述交易根據定義儲存在Merkle樹的葉節點中。對於每個交易,如果該輕量級節點有讀取該交易的權限,則該區塊鏈節點移動至下一交易。如果該區塊鏈節點發現輕量級節點沒有讀取權限的交易Tx_i,則該區塊鏈節點繼續掃描後續交易,直到再次發現該輕量級節點有讀取權限的交易Tx_j為止。區塊鏈節點隨後將該輕量級節點沒有讀取權限的從Tx_i至Tx_(j-1)所有交易的組移除。此外,區塊鏈節點從Merkle樹中移除現在不包含交易的任意分支,並只保留該特定分支的根雜湊值。如圖3B和3C所示,分支移除過程應用於分支335a和335b。 繼續對交易進行掃描和處理,直到處理了Merkle樹中的最後一個交易為止,並獲得包括該輕量級節點有讀取權限的交易的Merkle樹。將該隔離Merkle樹返回給該輕量級節點。 圖4描繪了可根據本文實施方式執行的示例過程400。在一些實施方式中,可以通過使用一個或多個計算設備執行的一個或多個電腦可執行程式來執行示例過程400。 在402,區塊鏈節點從區塊鏈網路的輕量級節點接收讀取區塊鏈的特定區塊的請求。該請求包括輕量級節點和包含原始Merkle樹的所述特定區塊的標識,所述原始Merkle樹包含與所述特定區塊相關聯的多個交易。在一些情況下,多個交易中的每個交易都包括與該交易中的一個或多個參與者相關聯的一個或多個標識。方法400從402繼續到404。 在404,區塊鏈節點識別與輕量級節點的標識相關聯的權限。在一些情況下,標識與標識類相關聯,權限與標識類相關聯,並且區塊鏈節點被配置為對與標識類相關聯的標識施行與標識類相關聯的權限。在一些實施方式中,標識類為監管者類,與監管者類相關聯的權限表明與監管者類相關聯的標識可存取區塊鏈網路中的所有交易。在一些情況下,標識類是公共類,並且與公共類相關聯的權限表明標識只可存取區塊鏈網路中該標識是參與者的交易。方法400從404繼續到406。 在406,區塊鏈節點基於包括在特定區塊中的原始Merkle樹產生隔離Merkle樹。該隔離Merkle樹僅包括原始Merkle樹中基於所述識別的權限被判定為可由輕量級節點存取的交易。在一些實施方式中,如果權限表明輕量級節點不具有對交易的讀取存取權,則判定該交易不可被該輕量級節點存取。隔離Merkle樹與原始的Merkle樹一致。在一些實施方式中,僅當輕量級節點基於隔離Merkle樹中的雜湊值足以驗證隔離Merkle樹中的交易時,隔離Merkle樹才與原始Merkle樹一致。在一些情況下,產生隔離Merkle樹包括修改原始Merkle樹以產生隔離Merkle樹,這包括從原始Merkle樹中移除被判定為不能被輕量級節點存取的所有交易,並且移除原始Merkle樹的所有交易都已移除的分支、並完整保留每個分支的根雜湊值。方法400從406繼續到408。 在408,區塊鏈節點向輕量級節點發送包括隔離Merkle樹的響應。方法400從408停止。 本文中描述的主題、動作以及操作的實施可以在數位電子電路、有形體現的電腦軟體或韌體、電腦硬體中實現,包括本文中公開的結構及其結構等同物,或者它們中的一個或多個的組合。本文中描述的主題的實施可以實現為一個或多個電腦程式,例如,一個或多個電腦程式指令模組,編碼在電腦程式載體上,用於由資料處理裝置執行或控制資料處理裝置的操作。載體可以是有形的非暫態電腦儲存媒體。可選地或附加地,載體可以是人工產生的傳播信號,例如,機器產生的電、光或電磁信號,其被產生來編碼資訊用於傳輸到合適的接收器裝置以供資料處理裝置執行。電腦儲存媒體可以是或部分是機器可讀取儲存設備、機器可讀儲存基板、隨機或串列存取記憶體設備或它們中的一個或多個的組合。電腦儲存媒體不是傳播信號。 術語「資料處理裝置」包括用於處理資料的所有類型的裝置、設備和機器,包括例如可程式設計處理器、電腦或者多處理器或電腦。資料處理裝置可以包括專用邏輯電路,例如FPGA(現場可程式設計閘陣列)、ASIC(專用積體電路)或GPU(圖形處理單元)。除了硬體,該裝置還可以包括為電腦程式創建執行環境的代碼,例如,構成處理器韌體、協定棧、資料庫管理系統、作業系統或者它們中的一個或多個的組合的代碼。 電腦程式也可以被稱為或描述為程式、軟體、軟體應用程式、app、模組、軟體模組、引擎、腳本或代碼,可以以任何形式的程式設計語言編寫,包括編譯或演繹性語言、說明或程式性語言;它可以配置為任何形式,包括作為獨立程式,或者作為模組、元件、引擎、副程式或適合在計算環境中執行的其他單元,該環境可包括由通信資料網路互聯的在一個或多個位置的一台或多台電腦。 電腦程式可以但非必須對應於檔案系統中的檔。電腦程式可以儲存在:保存其他程式或資料的檔的一部分中,例如,儲存在標記語言文檔中的一個或多個腳本;專用於所討論的程式的單個檔;或者多個協調檔,例如,儲存一個或多個模組、副程式或代碼部分的多個檔。 本文中描述的過程和邏輯流程可由一台或多台電腦執行一個或多個電腦程式進行,以進行通過對輸入資料進行運算並產生輸出的操作。過程和邏輯流程也可以由例如FPGA、ASIC、GPU等的專用邏輯電路或專用邏輯電路與一個或多個程式設計電腦的組合來執行。 適合於執行電腦程式的電腦可以基於通用和/或專用微處理器,或任何其他種類的中央處理單元。通常,中央處理單元將從唯讀記憶體和/或隨機存取記憶體接收指令和資料。電腦的元件可包括用於執行指令的中央處理單元以及用於儲存指令和資料的一個或多個記憶體設備。中央處理單元和記憶體可以補充有專用邏輯電路或集成在專用邏輯電路中。 通常,電腦可耦接至一個或多個非暫態電腦可讀儲存媒體(也可稱為電腦可讀記憶體)。耦接至電腦的儲存媒體可為電腦內部元件(例如集成硬碟驅動器)或外部元件(例如通用序列匯流排(USB)硬碟驅動器或網路上存取的儲存系統)。儲存媒體可以是例如,磁片、磁光碟、光碟、固態驅動器、例如雲儲存系統的網路儲存資源、或其他類型的儲存媒體。但是,電腦不需要具有這樣的設備。此外,電腦可以嵌入在另一個設備中,例如行動電話、個人數位助理(PDA)、移動音訊或視頻播放機、遊戲控制台、全球定位系統(GPS)接收器或例如通用序列匯流排(USB)快閃記憶體驅動器的可擕式儲存設備,僅舉幾例。 為了提供與用户的互動,本文中描述的主題的實施例可以在電腦上實現或配置為與該電腦通信,該電腦具有:顯示裝置,例如,LCD(液晶顯示器)監視器,用於向用户顯示資訊;以及輸入裝置,用户可以通過該輸入裝置向該電腦提供輸入,例如鍵盤和例如滑鼠、軌跡球或觸控板等的指標裝置。其他類型的設備也可用於提供與用户的互動;例如,提供給用户的回饋可以是任何形式的感官回饋,例如視覺回饋、聽覺回饋或觸覺回饋;並且可以接收來自用户的任何形式的輸入,包括聲音、語音或觸覺輸入。此外,電腦可以通過向用户使用的設備發送文檔和從用户使用的設備接收文檔來與用户互動;例如,通過向用户設備上的web瀏覽器發送web頁面以響應從web瀏覽器收到的請求,或者通過與例如智慧型電話或電子平板電腦等的用户設備上運行的應用程式(app)進行互動。此外,電腦可以通過向個人設備(例如,運行消息應用的智慧手機)發送文本消息或其他形式的消息並反過來接收來自用户的響應訊息來與用户互動。 本文結合系統、裝置和電腦程式元件使用術語「配置為」。對於被配置為執行特定操作或動作的一個或多個電腦的系統,意味著系統已經在其上安裝了在運行中促使該系統執行所述操作或動作的軟體、韌體、硬體或它們的組合。對於被配置為執行特定操作或動作的一個或多個電腦程式,意味著一個或多個程式包括當被資料處理裝置執行時促使該裝置執行所述操作或動作的指令。對於被配置為執行特定操作或動作的專用邏輯電路,意味著該電路具有執行所述操作或動作的電子邏輯。 雖然本文包含許多具體實施細節,但是這些不應被解釋為由申請專利範圍本身限定的對要求保護的範圍的限制,而是作為對特定實施例的具體特徵的描述。在本文多個單獨實施例的上下文中描述的多個特定特徵也可以在單個實施例中的組合實現。相反,在單個實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求保護,但是在一些情況下,可以從要求保護的組合中刪除來自該組合的一個或多個特徵,並且可以要求保護指向子組合或子組合的變體。 類似地,雖然以特定順序在圖式中描繪了操作並且在申請專利範圍中敘述了操作,但是這不應該被理解為:為了達到期望的結果,要求以所示的特定順序或依次執行這些操作,或者要求執行所有示出的操作。在一些情況下,多工和並行處理可能是有利的。此外,上述實施例中的各種系統模組和元件的劃分不應被理解為所有實施例中都要求如此劃分,而應當理解,所描述的程式元件和系統通常可以一起集成在單個軟體產品或者打包成多個軟體產品。 已經描述了主題的特定實施例。其他實施例在以下申請專利範圍的範圍內。例如,申請專利範圍中記載的動作可以以不同的循序執行並且仍然實現期望的結果。作為一個示例,圖式中描繪的過程無需要求所示的特定順序或次序來實現期望的結果。在一些情況下,多工和並行處理可能是有利的。
100:環境 102:私有區塊鏈網路 106、108:計算系統 110:網路 200:示例性概念架構 202:實體層 204:承載服務層 206:區塊鏈網路層 208:交易管理系統 210:介面 212:區塊鏈網路 214:節點 216:區塊鏈 300、350、390:Merkle樹 305a、305b、305c、305d:交易 310:特定區塊 315a、315b、315c、315d、325a、325b:雜湊值 335a、335b:分支 400:示例過程
圖1描繪了可用於執行本文實施方式的示例環境。 圖2描繪了根據本文實施方式的示例概念架構。 圖3A描繪了根據本文實施方式的用於區塊鏈中的區塊的示例Merkle樹。 圖3B描繪了根據本文實施方式的帶有包括隔離交易分支的圖3A的示例Merkle樹。 圖3C描繪了根據本文實施方式的基於圖3A中的Merkle樹產生的示例隔離Merkle樹。 圖4描繪了可根據本文實施方式執行的示例過程。 各圖式中的相同元件編號表示相同的元件。

Claims (10)

  1. 一種電腦實施的方法,用於保護由區塊鏈網路維護的區塊鏈上儲存的敏感性資料,所述方法包括: 由所述區塊鏈網路中的區塊鏈節點接收讀取所述區塊鏈中的特定區塊的請求,其中,所述請求從所述區塊鏈網路中的輕量級節點處被接收並且包括所述輕量級節點的標識,並且所述特定區塊包括包含與所述特定區塊相關聯的多個交易的原始Merkle樹; 由所述區塊鏈節點識別與所述輕量級節點的所述標識相關聯的權限; 由所述區塊鏈節點基於包括在所述特定區塊中的所述原始Merkle樹產生隔離Merkle樹,所述隔離Merkle樹僅包括來自所述原始Merkle樹中的基於所述識別的權限被判定為能由所述輕量級節點存取的交易,其中所述隔離Merkle樹與所述原始Merkle樹一致;以及 由所述區塊鏈節點向所述輕量級節點發送包括所述隔離Merkle樹的響應。
  2. 如申請專利範圍第1項所述的電腦實施的方法,其中,基於包括在所述特定區塊中的所述原始Merkle樹產生所述隔離Merkle樹,包括: 修改所述原始Merkle樹以產生所述隔離Merkle樹,包括: 從所述原始Merkle樹中移除被判定為不能由所述輕量級節點存取的所有交易;以及 移除所述原始Merkle樹中的所有交易已經被移除的分支,並只保留每個所述分支的雜湊值完整。
  3. 如申請專利範圍第2項所述的電腦實施的方法,其中,如果所述權限表明所述輕量級節點不具有對所述交易的讀取存取權,則判定所述交易不能由所述輕量級節點存取。
  4. 如申請專利範圍第1項所述的電腦實施的方法,其中,所述多個交易中的每個交易包括與該交易中的一個或多個參與者相關聯的一個或多個標識。
  5. 如申請專利範圍第4項所述的電腦實施的方法,其中, 所述標識與標識類相關聯, 所述權限與所述標識類相關聯,以及 所述區塊鏈節點被配置為對與所述標識類相關聯的所述標識施行與所述標識類相關聯的權限。
  6. 如申請專利範圍第5項所述的電腦實施的方法,其中, 所述標識類為監管者類,並且 與所述監管者類相關聯的所述權限表明與所述監管者類相關聯的標識能夠存取所述區塊鏈網路中的所有交易。
  7. 如申請專利範圍第5項所述的電腦實施的方法,其中, 所述標識類為公共類,且 與所述公共類相關聯的所述權限表明所述標識只能存取所述區塊鏈網路中所述標識為參與者的交易。
  8. 如申請專利範圍第1項所述的電腦實施的方法,其中,僅當基於所述隔離Merkle樹足以允許所述輕量級節點驗證所述區塊的完整性時,所述隔離Merkle樹才與所述原始Merkle樹一致。
  9. 一種非暫態電腦可讀儲存媒體,其耦接到一個或多個處理器且其上儲存有指令,當由所述一個或多個處理器執行所述指令時,所述指令促使所述一個或多個處理器根據申請專利範圍第1-8項中一項或多項的方法執行操作。
  10. 一種系統,包括: 計算設備;以及 電腦可讀取儲存設備,其耦接到所述計算設備並在其上儲存有指令,當由所述計算設備執行所述指令時,所述指令促使所述計算設備根據申請專利範圍第1-8項中一項或多項的方法執行操作。
TW108128021A 2018-12-13 2019-08-07 用於保護由區塊鏈網路維護的區塊鏈上儲存的敏感性資料之電腦實施的方法、非暫態電腦可讀儲存媒體及其系統 TWI706352B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/120805 WO2019072293A2 (en) 2018-12-13 2018-12-13 DATA INSULATION IN A BLOCK CHAIN NETWORK
WOPCT/CN2018/120805 2018-12-13

Publications (2)

Publication Number Publication Date
TW202022744A true TW202022744A (zh) 2020-06-16
TWI706352B TWI706352B (zh) 2020-10-01

Family

ID=66100120

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108128021A TWI706352B (zh) 2018-12-13 2019-08-07 用於保護由區塊鏈網路維護的區塊鏈上儲存的敏感性資料之電腦實施的方法、非暫態電腦可讀儲存媒體及其系統

Country Status (15)

Country Link
US (2) US11003646B2 (zh)
EP (1) EP3560143B1 (zh)
JP (1) JP6816297B2 (zh)
KR (1) KR102258440B1 (zh)
CN (1) CN109863521A (zh)
AU (1) AU2018348333A1 (zh)
BR (1) BR112019015423A8 (zh)
CA (1) CA3051762A1 (zh)
MX (1) MX2019008898A (zh)
PH (1) PH12019501735A1 (zh)
RU (1) RU2745518C9 (zh)
SG (1) SG11201906846YA (zh)
TW (1) TWI706352B (zh)
WO (1) WO2019072293A2 (zh)
ZA (1) ZA201904928B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109829822B (zh) * 2019-01-28 2020-10-23 杭州复杂美科技有限公司 交易替换方法、交易排队方法、设备和存储介质
CN110998556B (zh) * 2019-03-21 2023-09-15 创新先进技术有限公司 区块链网络中的数据隔离
CN110311782B (zh) * 2019-04-29 2020-04-14 山东工商学院 个人信息的零知识证明方法、系统及存储介质
SG11202000784SA (en) 2019-04-30 2020-02-27 Alibaba Group Holding Ltd Methods and devices for managing access to account in blockchain system
CN110365768B (zh) * 2019-07-15 2021-07-06 腾讯科技(深圳)有限公司 分布式系统的数据同步方法、装置、介质、电子设备
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
CN111125593B (zh) * 2019-11-14 2024-01-26 深圳源中瑞科技有限公司 基于区块链的家谱信息处理方法、设备及存储介质
CN111295650B (zh) 2019-12-05 2023-05-16 支付宝(杭州)信息技术有限公司 在基于区块链的系统中执行映射迭代
CN111226209B (zh) * 2019-12-05 2024-03-01 支付宝(杭州)信息技术有限公司 在基于区块链的系统中执行映射迭代
CN111242617B (zh) * 2020-01-02 2022-05-10 支付宝(杭州)信息技术有限公司 用于执行交易正确性验证的方法及装置
JP7381881B2 (ja) * 2020-02-21 2023-11-16 富士通株式会社 管理プログラム、管理装置および管理方法
CN111343177B (zh) * 2020-02-25 2022-11-29 百度在线网络技术(北京)有限公司 轻量级节点的监管方法、装置、设备和介质
US10887104B1 (en) 2020-04-01 2021-01-05 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
US11409907B2 (en) 2020-04-01 2022-08-09 Onu Technology Inc. Methods and systems for cryptographically secured decentralized testing
CN112565435B (zh) * 2020-12-10 2021-08-17 广东投盟科技有限公司 基于事务链的业务处理方法、系统及计算机可读存储介质
CN112799839B (zh) * 2021-01-28 2024-03-15 百果园技术(新加坡)有限公司 请求处理方法、装置、计算机可读存储介质及电子设备
WO2023140828A1 (en) * 2022-01-18 2023-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling access to data stored on a blockchain

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005017809A2 (en) * 2003-08-15 2005-02-24 Docomo Communications Laboratories Usa, Inc. Method and apparatus for authentication of data streams with adaptively controlled losses
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
CN104750784B (zh) * 2015-03-06 2018-03-02 西安交通大学 一种基于Merkle树结构的空间查询完整性验证方法
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US10269012B2 (en) * 2015-11-06 2019-04-23 Swfl, Inc. Systems and methods for secure and private communications
WO2017145009A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited A method and system for securing computer software using a distributed hash table and a blockchain
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106796688B (zh) * 2016-12-26 2020-12-18 深圳前海达闼云端智能科技有限公司 区块链的权限控制方法、装置、系统及节点设备
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
CN111917864B (zh) * 2017-02-22 2023-08-22 创新先进技术有限公司 一种业务校验的方法及装置
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
WO2018223042A1 (en) * 2017-06-01 2018-12-06 Schvey, Inc. d/b/a/ Axoni Distributed privately subspaced blockchain data structures with secure access restriction management
CN107733855B (zh) * 2017-08-31 2019-11-05 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
US10783272B2 (en) * 2017-12-08 2020-09-22 Nec Corporation Method and system of preserving privacy for usage of lightweight blockchain clients
CN108664803B (zh) * 2018-04-04 2022-03-22 中国电子科技集团公司第三十研究所 一种基于密码的文档内容细粒度访问控制系统
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети
WO2019207503A1 (en) * 2018-04-27 2019-10-31 nChain Holdings Limited Partitioning a blockchain network
CN108961052B (zh) 2018-06-25 2022-02-22 百度在线网络技术(北京)有限公司 区块链数据的验证方法、存储方法、装置、设备和介质

Also Published As

Publication number Publication date
EP3560143A4 (en) 2020-03-11
MX2019008898A (es) 2019-09-10
CN109863521A (zh) 2019-06-07
RU2019123413A (ru) 2021-01-26
US20190278758A1 (en) 2019-09-12
JP6816297B2 (ja) 2021-01-20
WO2019072293A2 (en) 2019-04-18
CA3051762A1 (en) 2019-04-18
KR102258440B1 (ko) 2021-06-02
WO2019072293A3 (en) 2019-10-10
BR112019015423A8 (pt) 2023-03-28
SG11201906846YA (en) 2019-08-27
ZA201904928B (en) 2021-06-30
AU2018348333A1 (en) 2020-07-02
EP3560143A2 (en) 2019-10-30
US11003646B2 (en) 2021-05-11
KR20200074909A (ko) 2020-06-25
US20210232558A1 (en) 2021-07-29
PH12019501735A1 (en) 2020-03-09
JP2020516103A (ja) 2020-05-28
EP3560143B1 (en) 2021-09-15
BR112019015423A2 (pt) 2020-03-31
TWI706352B (zh) 2020-10-01
RU2745518C2 (ru) 2021-03-25
RU2019123413A3 (zh) 2021-01-26
RU2745518C9 (ru) 2021-05-26

Similar Documents

Publication Publication Date Title
TWI706352B (zh) 用於保護由區塊鏈網路維護的區塊鏈上儲存的敏感性資料之電腦實施的方法、非暫態電腦可讀儲存媒體及其系統
TWI705689B (zh) 區塊鏈網路中的資料隔離
EP3893433B1 (en) Data isolation in blockchain networks
TWI720727B (zh) 電腦實現的用於管理儲存在區塊鏈網路中的敏感資料元素的方法、用於管理儲存在區塊鏈網路中的敏感資料元素的裝置及系統
JP6856772B2 (ja) 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理
US10860710B2 (en) Processing and storing blockchain data under a trusted execution environment
US10986097B2 (en) System for using a distributed ledger to manage user entitlements to computing resources
TW202023224A (zh) 事件驅動的區塊鏈工作流程處理
CN111066019A (zh) 处理存储在区块链网络中的数据元素
EP3472720B1 (en) Digital asset architecture