TW201946016A - 區塊鏈網路劃分技術(三) - Google Patents
區塊鏈網路劃分技術(三) Download PDFInfo
- Publication number
- TW201946016A TW201946016A TW108114531A TW108114531A TW201946016A TW 201946016 A TW201946016 A TW 201946016A TW 108114531 A TW108114531 A TW 108114531A TW 108114531 A TW108114531 A TW 108114531A TW 201946016 A TW201946016 A TW 201946016A
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction
- node
- partition
- blockchain
- network
- Prior art date
Links
- 238000000638 solvent extraction Methods 0.000 title description 14
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000005192 partition Methods 0.000 claims description 148
- 238000012795 verification Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 abstract 1
- 230000008901 benefit Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 6
- 230000000644 propagated effect Effects 0.000 description 6
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013316 zoning Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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
-
- 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/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
-
- 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
-
- 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/3297—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 involving time stamps, e.g. generation of time stamps
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Electrotherapy Devices (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
Abstract
揭示一種驗核一區塊鏈交易之電腦實施型方法。該方法包含從包含至少一個UTXO之至少一個分區之一成員節點請求由該交易之至少一個相應輸入所參考之至少一個UTXO、從至少一個節點取得至少一個UTXO之有效性資料、以及使用該有效性資料對至少一個輸入進行一驗核檢查。
Description
本揭露係有關於用於劃分區塊鏈網路之方法,以及用於對已劃分區塊鏈網路之交易進行驗核之方法,並且尤其、但非排他地係有關於用於將比特幣區塊鏈之未動用交易輸出(UTXO)集合劃分之方法、以及用於對比特幣區塊鏈之已劃分UTXO集合之交易進行驗核之方法。
在本文件中,我們使用「區塊鏈」一詞來包括所有形式之電子、電腦為基之、分散式分類帳。這些包括基於共識之區塊鏈及交易鏈技術、許可及未許可之分類帳、共享分類帳以及其變體。雖然已提出並開發其他區塊鏈實作態樣,區塊鏈技術最廣為人知之應用仍是比特幣分類帳。儘管本文中為了方便及說明目的可意指為比特幣,應知,本揭露仍不受限於配合比特幣區塊鏈使用,並且替代之區塊鏈實作態樣及協定仍落入本揭露之範疇內。「使用者」一詞在本文中可意指為一人類或一處理器為基之資源。「比特幣」一詞在本文中係用於包括推導自或基於比特幣協定之任何版本或變例。
一區塊鏈是一種點對點、電子分類帳,其係實施成一電腦為基之分散型、分散式系統,由諸區塊所構成,該等區塊進而由諸交易所構成。各交易係一資料結構,其編碼區塊鏈系統中諸參與者之間一數位資產之支配權移轉、並且包括至少一個輸入及至少一個輸出。各區塊含有前一個區塊之一雜湊,以使得諸區塊與之變為鏈接在一起,以建立所有交易之一永久、不可更改記錄,自其起始以來便已將該等交易寫入至該區塊鏈。交易含有小程式,係稱為嵌入其輸入及輸出之指令碼,其指定可如何及由誰來存取該等交易之該等輸出。在比特幣平台上,這些指令碼係使用堆疊式指令碼語言來編寫。
為了將一交易寫入至區塊鏈,必須對其進行「驗核」。網路節點(礦工)進行工作以確保各交易有效,並且將無效交易從網路拒絕。安裝在節點上之軟體用戶端藉由執行其鎖定及解鎖指令碼,對一未動用交易(UTXO)進行此驗核工作。如果鎖定及解鎖指令碼之執行評估為成立,則交易有效,並且將交易寫入至區塊鏈。因此,為了將一交易寫入至區塊鏈,其必須i)藉由接收交易之第一節點來驗核 - 如果交易經過驗核,則節點將其轉發至網路中之其他節點;ii)加入由一礦工所建置之一新區塊;以及iii)受開採,即加入過去交易之公開分類帳。
雖然區塊鏈技術在加密貨幣實作態樣之使用方面廣為人知,但數位企業家已開始探索比特幣所基於之密碼編譯保全系統、及可儲存在區塊鏈上之資料兩者之使用以實施新系統。如果區塊鏈可用於不限於加密貨幣領域之自動化任務及流程,那將會非常有利。此類解決方案將能夠利用區塊鏈之效益(例如,一永久性、防竄改事件記錄、分散式處理等),同時在其應用方面也更加通用。
如上述,一區塊鏈網路,例如比特幣區塊鏈網路,係一保全之分散式運算系統。系統之完整節點持續並管理整個區塊鏈之一副本、發送及接收交易、驗核該等交易、以及基於一共享分散型共識協定將區塊新增到區塊鏈。這種方法雖然具有保全性,但確實具有與藉由每個完整節點驗核及儲存各交易之事實相關之規模缺陷。在驗核方面,這造成交易之網路傳播延遲,因為各交易必須先進行以驗核才可將其朝向一礦工接續向前傳播。再者,歸因於驗核之延遲使得網路易受諸如女巫攻擊(Sybil attacks)等「雙重動用」相關攻擊影響。
本揭露旨在透過使用亦稱為分區化之水平劃分、以及用於在一分區化區塊鏈網路上分配及/或驗核交易之相關聯技巧或協定來提升區塊鏈網路之可擴縮性、速度、可靠度以及保全性。本文中所揭示的是:
‧ 用於一分區化區塊鏈之一網路結構;以及
‧ 一分區化UTXO與記憶池(mempool)結構。
‧ 用於一分區化區塊鏈之一網路結構;以及
‧ 一分區化UTXO與記憶池(mempool)結構。
所屬技術領域中之劃分考量兩個特定維度:水平及垂直。在一水平劃分資料庫之稱為分區之劃分區段中,實際存在一特定資料庫架構之多個執行個體,有資料跨這些執行個體之各執行個體散播,扣減了執行個體備援性。然而,垂直劃分是跨多個節點拆分一給定資料庫架構,藉此使用正規化來散播一特定對象之屬性。
希望涉入區塊鏈網路之不同當事方可佔有一系列運算資源,範圍從小型低功率機器到伺服器場。因此,參與方係藉由運算資源受限於涉入區塊鏈網路之一預定程度。
在比特幣中,區塊鏈本身係一組已連結交易,該等已連結交易將特定變化標記於建立一區塊時開採之硬幣之所有權。在交易驗核期間,所需檢查之一是檢查還沒有一雙重動用。一雙重動用是指已處於比特幣記憶池中、或於區塊鏈上確認之一交易輸入中何時已經參考一交易輸出。已知一記憶池係對用於比特幣交易之一記憶體池或區域的一參考,各完整節點為其自身維護該參考。傳統上,在一節點驗證一交易之後,其在一記憶池內部等待直到被插入一區塊。為了在檢查交易輸入方面使交易驗核更有效率,而不是驗核整個區塊鏈,網路之目前狀態保持在稱為UTXO集合之一獨立結構內。此結構含有尚未藉由一交易動用之各交易輸出,其可包括coinbase及標準交易。
根據本揭露之一態樣,提供有一種將一區塊鏈網路劃分成諸分區之電腦實施型方法。該方法包含:識別一區塊鏈交易之一交易id;以及基於該交易id將該交易分配給一分區。
將一區塊鏈網路劃分成諸分區能讓使用者選擇自己對區塊鏈網路之涉入程度。各使用者可選擇成為一或多個分區之一成員。一使用者係少於所有分區之一成員,需要更少儲存空間以儲存分配給該等分區之所有交易,該使用者係該等分區之一成員。將一交易分配給基於其交易id之一分區提供以下優點:所產生之諸分區尺寸將大約相等,藉此避免相對於一更小分區之成員對一更大分區之成員施加不適當之負擔,同時能夠準確地進行交易及相關聯驗證,並無任何不適當之延遲。
本文中引用之使用者可與一或多個節點或運算裝置相關聯,並且這些節點亦可在已劃分區塊鏈網路中稱為用戶端實體。下文中,亦可將對一使用者之一參考理解為對與使用者相關聯之節點或實體的參考(其可擁有或控制係為分區化或已劃分區塊鏈網路某部分之節點或實體)。各節點可與已劃分區塊鏈網路中之至少一或多個其他節點通訊性耦合。
本文中所論述與此相關聯之這些優點、以及本揭露之其他態樣(下文有論述)係歸因於節點之結構、以及分區化區塊鏈網路之所產生之網路拓樸結構及架構、及與網路之節點相關聯之協定。在此一分區化網路中接收、儲存及/或驗核UTXO係使用所述及訴求保護專利權之用於通訊、資料儲存、資料共享之方法、規則或協定、以及用於各分區內之節點的驗核技巧來進行,並且係基於為了與屬於不同分區之節點通訊而相關聯之規則及協定來進行。
下文將針對本揭露之各項實施例進一步解釋這些特定結構、資料流方法、交易分配及驗核協定。有助益的是,本文中所述用於在分區化區塊鏈網路內分配交易、及驗核此類已分配交易之分區化網路結構或架構、及相關聯方法實現用於資料流、資料儲存及UTXO驗核檢查之新穎技巧。再者,鑑於結構及資料通訊/驗核協定,這些技巧有助益地防止雙重動用攻擊,諸如比特幣區塊鏈中之女巫攻擊。
該方法可更包含使用交易id進行一操作之步驟。將交易分配給一分區之步驟可基於該操作之結果。
這提供以下優點:可取決於該操作之選擇來調適分區之布置結構。
該操作可包含一模數操作。
這提供以下優點:可更輕易地產生所欲數量之等尺寸分區。
根據本揭露,提供有將一區塊鏈網路劃分成諸分區之再一電腦實施型方法。該方法包含:識別一上代區塊鏈交易,該上代交易係由與一子代區塊鏈交易之一輸入對應之一輸出所定義;以及將該上代交易及該子代交易分配給同一個分區。
將一區塊鏈網路劃分成諸分區能讓使用者選擇自己對區塊鏈網路之涉入程度。各使用者可選擇成為一或多個分區之一成員。一使用者係少於所有分區之一成員,需要更少儲存空間以儲存分配給該等分區之所有交易,該使用者係該等分區之一成員。基於識別一上代區塊鏈交易將一交易分配給一分區,該上代交易係由與一子代區塊鏈交易之一輸入對應之一輸出所定義,以及將該上代交易及該子代交易分配給相同分區提供以下優點:可進行由身為一特定分區之成員的使用者所進行之驗核操作,同時要向及從身為不同分區之成員的使用者傳輸之所需資訊更少,因為被驗核之一子代交易將始終具有身為相同分區之一成員的一上代交易。
一上代交易可使用子代區塊鏈交易之複數個輸入之一輸入來識別。使用之輸入可基於其索引來選擇。該索引可以是1,在這種狀況中,使用之輸入係複數個輸入之第一輸入。
這提供使一子代交易有多個輸入要被分配給一分區之優點。
一上代交易可使用子代區塊鏈交易之複數個輸入之一最大輸入子集來識別。舉例而言,在一子代交易具有五個輸入之例子中,其中這五個輸入中之兩個輸入意指為一早期交易之兩個輸出,並且其餘三個輸入各意指為三個不同早期交易,上代交易被定義為這兩個輸入因為都是最大輸入子集而都引用之早期交易。
這提供以下優點:對於具有多個輸入之一子代交易,減少身為不同分區之成員的使用者所需之資訊量。
根據本揭露,亦提供有一種用於驗核一區塊鏈交易之一電腦實施型方法。該方法包含:請求由來自包含至少一個UTXO之至少一個分區之一成員節點的該交易之至少一個相應輸入所參考之至少一個UTXO;從至少一個節點取得至少一個UTXO之有效性資料;以及使用該有效性資料對至少一個輸入進行一驗核檢查。
本方法能夠驗核要在一分區化區塊鏈網路中發生之一區塊鏈交易。本方法所提供之優點在於,各使用者可選擇成為一或多個分區之一成員,並且身為少於所有分區之一成員的一使用者驗核分配給使用者係一成員之分區的所有交易所需之運算能力更小。
本揭露從而係有關於一種驗核與一區塊鏈網路相關聯之一區塊鏈交易之電腦實施型方法,其中將該區塊鏈網路劃分成複數個分區,各分區包含至少一個成員節點,並且其中該區塊鏈網路中之各節點係該複數個分區中至少一個分區之成員,該方法包含下列步驟:藉由一請求節點請求由來自包含至少一個UTXO之至少一個分區之一成員節點的該交易之至少一個相應輸入所參考之至少一個UTXO,其中該成員節點係與一UTXO集合相關聯,該等UTXO係有關於分配給該成員節點係一成員之各分區的一或多個交易;基於確定該所請求之至少一個UTXO可得自該成員模式,該方法更包含以下步驟:基於與至少一個UTXO相關聯之有效性資料對至少一個輸入進行一驗核檢查;基於確定該交易有效,將該交易新增到與該請求節點相關聯之一記憶池;以及將該交易傳播到該請求節點係一成員之該至少一個分區之其他成員節點。
根據本揭露,進一步提供有一種用於驗核一區塊鏈交易之一電腦實施型方法。該方法包含:識別至少一個分區,其包含由交易之至少一個相應輸入所參考之至少一個UTXO;將交易傳送到至少一個分區之至少一個成員節點;以及使用UTXO之有效性資料對至少一個輸入進行一驗核檢查。
本方法能夠驗核要在一分區化區塊鏈網路中發生之一區塊鏈交易。本方法所提供之優點在於,各使用者可選擇成為一或多個分區之一成員,並且身為少於所有分區之一成員的一使用者驗核分配給使用者係一成員之分區的所有交易所需之運算能力更小。
以上任何方法可更包含將對於一節點之分區從屬關係資訊提出之一請求傳遞至另一節點之步驟。
這提供以下優點:查找分區從屬關係資訊之節點設置有用於更輕易地找出該資訊之一機制。
以上任何方法可更包含將一節點之分區從屬關係資訊傳遞至另一節點之步驟。
這提供用於在諸節點之間將節點之分區從屬關係資訊轉移之一機制,藉此提供使進行一驗核操作之一節點將失敗之可能性降低之優點。
在一些實施例中,該等方法包括以下步驟:將一節點之分區化從屬關係資訊傳遞或廣播至與該節點及/或網路中一或多個其他節點相關聯之分區中之所有其他節點。該方法亦可包括通訊係使用一經修改addr訊息來進行,其中該經修改addr訊息包括與該節點相關聯之一或多個分區之一指示。
該傳遞可使用一經修改addr訊息來進行。
這提供以下優點:提供用於在諸節點之間交換分區從屬關係資訊之一更保全機制。
本揭露亦提供一種系統,其包含:
一處理器;以及
包括可執行指令之記憶體,該等可執行指令因藉由該處理器執行而令該系統進行本文中所述電腦實施型方法之任何實施例。
一處理器;以及
包括可執行指令之記憶體,該等可執行指令因藉由該處理器執行而令該系統進行本文中所述電腦實施型方法之任何實施例。
本揭露亦提供一種上有儲存可執行指令之非暫時性電腦可讀儲存媒體,該等可執行指令隨著藉由一電腦系統之一處理器執行而令該電腦系統至少進行本文中所述電腦實施型方法之一實施例。
在目前區塊鏈網路中,不同節點係以一大幅非結構化方式點對點連接(除了比特幣用戶端內用以輔助節點發現之若干硬編碼網路種子)。這些節點進行通訊以共享有效交易、區塊、以及與其他節點有關之資訊。
一分區化網路之結構
一分區化網路之結構
本揭露之一第一實施例可在圖1b中看到,其根據本揭露繪示一分區化區塊鏈網路之一結構。另一方面,圖1a繪示現有、即先前技術區塊鏈網路之一結構。
根據本揭露,為了降低具有昂貴且強大運算資源供當事方以一預定涉入程度參與區塊鏈網路之依賴,可允許諸當事方成為一分區化區塊鏈網路之任何數量之分區之成員。這意味著包括業餘愛好者在內之小型當事方可選擇成為圖1b中所示網路之單一分區之成員,並且諸如金融機構等大型當事方可選擇成為圖1b之分區化區塊鏈網路之許多、或甚至所有分區之成員。這種方法適用於可能需要交易歷史保全性之實體或當事方,舉例來說,用以確保想要或需要更高保全性之這些當事方能夠驗核及儲存區塊鏈中之每筆交易,而可能不希望或需要相同(更大)程度、或可能想要一更輕權重涉入之其他當事方或實體亦可參與圖1b之相同分區化區塊鏈網路,並且可僅儲存區塊鏈之一子集。
如可參照圖1b,一特定節點可以是一或多個分區群組之一成員。這可藉由本圖中所示之陰影線看到,其中陰影區內之一節點係分區2及分區3兩者之成員。對於通訊,在目前比特幣網路及比特幣SV (BSV)用戶端中,可用對等體之一清單,即網路中諸節點之一清單,保持與其可連接至、配送至及接收自之節點有關之資訊。在根據第一實施例之一分區化區塊鏈中,保持附加資訊,包括各節點係一成員之分區。在一些實作態樣中,為了跨網路處置交易傳播,圖1b之分區化網路中所示之各節點被布置或組配成使得其可與出自各分區之至少單一節點通訊,以傳播其送往一不同分區之交易。在一些實作態樣中,由各節點所保持之資訊可呈一資料結構之形式,以指出其可連接至、配送至、接收自之節點、以及其在圖1b中所見分區化網路中所屬之分區。亦可保持涉及節點之其他細節,諸如一識別符、實體相關聯等。舉例來說,此資料結構可予以保持在與各節點相關聯之一記憶體內,或可予以保持在與分區相關聯之一記憶體中。
在與如圖1b中所見之一分區化網路有關之一第二實施例中,解釋該等節點與單一分區內之多個其他節點通訊之技巧。此技巧有助益地防阻一區塊鏈網路內之「女巫風格」攻擊
一女巫攻擊是一種單一敵手或惡意實體可能控制一網路上多個節點但該網路並不知道之攻擊。舉例而言,一敵手可建立多個電腦及IP位址,並且亦可建立多個帳戶/節點以試圖假裝其全都存在。以下例示性實作態樣可看到此一攻擊之操作。如果一攻擊者試圖用其控制之用戶端填充網路,則一節點可接著很可能僅連線至攻擊者節點。舉例而言,攻擊者可拒絕為一節點中繼區塊及交易,有效地將該特定節點與網路中斷連線。這亦可藉由攻擊者中繼其建立之區塊來操作,有效地將一節點或實體放在一單獨網路上,藉此使一節點及與該節點或其所代表實體相關聯之交易開放給雙重動用攻擊。因此,女巫攻擊係現有區塊鏈網路之一問題。
為了防止諸如圖1b所見之一分區化區塊鏈網路中之女巫攻擊,根據第二實施例,節點被組配用以與單一分區內之多個或所有其他節點通訊。如上述,女巫攻擊可有效地忽視從一特定節點送來之交易,防止該等交易透過網路進一步傳播。因此,在本揭露之第二實施例中,一給定分區中之節點可藉以交換與其他分區中之節點有關之資訊、以及旋轉其使用之一技巧係如圖2中所見。
根據第二實施例,分區化網路中之各節點可彼此廣播每筆交易。如果一給定節點非為與一交易相關聯之分區之一成員(此相關聯係於下文參照第三及第四實施例作說明),則其不執行一完整交易驗核,而是先進行基本交易級別檢查再接續向前傳播。請注意,在一些實作態樣中,以上關於第二實施例所論述之協定及規則係有關於並且係視為本文中所論述之本揭露之一或多個或所有其他實施例之部分。
於不同或特定時間/執行個體,亦可在特定分區中之諸節點之間共享關於其他節點之細節。此係使用addr協定訊息之一修改版本根據本揭露之第二實施例來進行。目前作為比特幣協定之部分存在之addr訊息之一實作態樣係用於列出或識別一或多個IP位址及埠口。舉例而言,一getaddr請求可用於取得含有一堆已知作動對等體之一addr訊息(例如,用於自舉)。addr訊息通常僅含有一個位址,但有時含有更多位址,並且在一些實例中,含有多達1000個位址。在一些實例中,所有節點週期性地廣播含有其自有IP位址之一addr,亦即每24小時廣播一次。接著,節點可向其對等體中繼這些訊息,並且如果對該等節點屬於新訊息,則可儲存中繼之位址。依此作法,網路中之節點可具有一合理清晰之局面,其IP在連線至網路當下或之後係連線至網路。在大部分狀況中,IP位址由於一初始新增廣播而被新增到每一者之位址資料庫。
除了上述以外,根據本揭露之一經修改addr協定之一實作態樣還可能有能力於其上傳送附加資訊至一特定節點所屬之分區或諸分區。舉例來說,在經修改addr協定中,當諸如圖1b之一共享網路中之一節點在網路中加入一特定分區時,被廣播為addr訊息之部分的內容亦可包括識別一或多個分區之一欄位,其係該一或多個分區之一成員。因此,此資訊亦回應於從圖1b之網路中之一對等體提出之一getaddr請求而予以回傳。如在第一實施例中所論述,此類資訊可基於與各節點、及/或該節點相關聯各分區相關聯之一資料結構。在一些實施例中,經修改addr協定亦可包括該節點係一成員之分區的狀態及/或該節點本身的狀態。舉例來說,可識別各成員分區中節點數量之細節,或者如果一特定分區作動,或亦可識別一給定分區中作動節點之數量。
將交易分配給分區化網路中之分區
將交易分配給分區化網路中之分區
如上述,在一分區化區塊鏈網路中,交易不由每個節點驗核及儲存,而是被分配給一或多個特定分區。因此,需要一種將交易分配給不同分區之策略。兩項可能實施例將在下文作說明,並且係根據本揭露之一第三實施例稱為「基於交易id之」分區化、以及根據本揭露之一第四實施例稱為「基於輸入之」分區化。
在一些實作態樣中,現有比特幣協定將可能經歷一分岔以便啟始擇一方案。當一給定分區中之節點隨後接收一交易時,該等節點可檢查是否已將該交易發送至正確分區。此方法使交易跨分區平衡。
擇一追溯地將分區化方法應用於區塊鏈,而且達到任何程度。也就是說,可應用擇一方法,使得一分區化網路被定義為從區塊鏈中之第一區塊(以比特幣區塊鏈來說明,所謂的起源區塊)之時間便存在,一直到未來一任意選擇之區塊數。
可按次序多次應用下文所述之分區化方法,並且可按任何順序應用。舉例而言,可在第一執行個體中進行交易id分區化,並且可在一往後日期進行基於輸入之分區化。再者,如上述,可追溯地將該等方法擇一應用,並且進一步對此,可隨後應用擇一方法。每次應用分區化方法時,可選擇分區數n,並且允許協定藉由增加節點數來擴縮。節點數可基於網路上之總節點數、區塊鏈之尺寸、及/或基於其他特性來選擇。對於下文所述兩種分區方法,還將說明一旦發生分區化便藉由各節點儲存交易所採用之方式。
基於交易id之分區配送
基於交易id之分區配送
在一水平劃分區塊鏈中,由於各分區不含有及處置網路上之所有交易,因此需要一種將交易分配給不同分區之策略。再者,任何分區化方法都需要能夠進行進一步分區化。在本揭露之一第三實施例中,如藉助於圖3所解釋,跨分區之交易配送係基於一交易id (txid)來處置。
在步驟302中,為一給定交易建立交易id,表示為txid。在一些實作態樣中,此txid係由於將一SHA256函數套用於交易資料而取得。
在步驟304中,使用此交易id,一操作係基於txid、及分區化網路中之可用分區數來實行。在一些實作態樣中,將區塊鏈網路上目前作動之分區數之一模數套用於交易id,即分區數 = txid mod n,其中n係(所欲或作動)分區數。
在步驟306中,步驟304之結果接著對應於受給定交易分配之分區。
在步驟308中,一旦在步驟306中分配,便將交易配送到所識別之分區,亦即,將交易配送到步驟306中所識別分區中包含之節點。
因此,當一給定分區中之節點接收一交易時,該等節點可輕易地檢查是否已將該交易發送至正確分區。在一些實施例中,此類檢查可基於與各節點相關聯之資料結構來促進,該資料結構包括與該節點相關聯之資訊,如以上在第一實施例中所論述。有助益的是,該方法使交易跨分區更加平衡。
網路上之分區計數可基於若干參數來任意選擇,包括:
‧ 網路上之總節點數;以及
‧ 區塊鏈之尺寸。
基於輸入之分區配送
‧ 網路上之總節點數;以及
‧ 區塊鏈之尺寸。
基於輸入之分區配送
根據本揭露之一第四實施例之一分區化方法係如藉助圖4中之流程圖所解釋。
在此實施例中,於步驟402中,識別一給定交易之一輸入。在一些實作態樣中,這是用於交易之第一輸入。
在步驟404中,識別一早期交易之一輸出,步驟402中之輸入意指為該輸出。
在步驟406中,步驟402及404之結果,即對應之輸入,與來自一早期交易之輸出,兩者都被分配給如圖1b所見分區化網路中之相同分區。在一些實作態樣中,此步驟包括識別分區以將兩交易分配給該分區。在一項實例中,倘若已經被分配該分區,則該分區可以是與早期交易相關聯之一分區。在另一實例中,如上述,可針對該給定或早期交易將一經修改addr廣播、或對一getaddr請求之一回應用於識別該分區。在其他實例中,只要兩交易都被指派給相同分區,便可為兩交易以一隨機或一規定基礎,即基於旋轉之基礎,選擇一分區。舉例來說,如果未識別一上代交易,亦即如果其係所接收之一coinbase交易,則可將此加以應用。
步驟408展示反覆進行以上在步驟402至406中之程序,以產生諸交易藉由其第一輸入所連結之交易鏈。
一交易在此上下文中係稱為一「上代」交易,其輸出係由一後續交易之一第一輸入所引用,並且該後續交易係稱為一「子代」交易。
應知,在步驟402中使用第一輸入來定義一上代對於該方法並非必要;因為如果一給定交易中存在複數個輸入,則可選擇任何輸入來進行該方法。舉例而言,如果子代交易之一特定數量之輸入意指為與上代相同之分區中之交易之輸出,則可將一早期交易定義為一子代交易之一上代。該數量之輸入可定義子代交易之大部分輸入。因此,在以上於步驟406中論述之一些實作態樣中,基於該數量之輸入、或的確要考量之第一或任何其他規定之特定輸入,所分配之分區將與所識別之上代之分區相同。
應知,可循序、按任何順序進行第三及第四實施例之以上兩種分區化方法,並且可如所欲多次進行這兩種方法。舉例而言,一區塊鏈網路可根據第四實施例之基於輸入之配送來分叉,並且隨後一或多個分叉結果可根據第三實施例之基於交易ID之配送來分區化。
UTXO集合/記憶池分區化
UTXO集合/記憶池分區化
目前在比特幣網路中,每個節點維護自有UTXO集合,驗核期間對其進行檢查及更新。圖5展示一UTXO集合之一實例。
根據本揭露之一第五實施例,在一分區化區塊鏈(諸如圖1b中所示)中,一或多個分區之各成員節點具有與交易有關之一UTXO集合,該等交易係有關於該節點係一成員之各分區。這在圖6中有進一步說明,其繪示身為多於一個分區之成員的節點。這些可藉由本圖中重疊之相異陰影區域看到。將瞭解的是,在一些實作態樣中,此類UTXO集合在下文稱為分區化UTXO,與第五實施例有關,可有關於並且視為本文中所論述之本揭露之一或多個或所有其他實施例之部分。
交易驗核
交易驗核
對於要驗核之交易,需要在比特幣網路中檢查及更新UTXO集合。當UTXO集合分區化時,本揭露提供此程序之一新版本,用於對於一分區化區塊鏈實施驗核。如上述,諸如圖1b中之分區化區塊鏈上之各節點與網路上之一節點清單相關聯或維護該節點清單,包括該等節點係哪個分區之成員的資訊。這在以上有論述,與第一實施例有關。
下文說明根據本揭露用於交易驗核之兩種方法,可將其用於檢查UTXO集合。這些分別根據第六實施例係命名為交易分區驗核;以及根據本發明之第七實施例係命名為UTXO分區驗核。
交易分區驗核
交易分區驗核
在第六實施例中,交易驗核係藉由受分配交易之分區來實行。如以上關於第三實施例所述,使用應用於交易id之一模數函數之結果將交易配送到一分區。由於一交易可具有來自不同分區之輸入,因此驗核節點與其他分區通訊以進行UTXO檢查。
請參照圖7a,現將說明在不同分區中之諸節點之間實行之UTXO集合檢查。還關於圖7b解釋此程序。
根據第六實施例,分區4中之一節點向分區1中對其屬於已知之節點請求擷取UTXO。這在步驟702中看到。分區編號只是為了說明而指定,並且與任何給定分區相關聯之任何給定節點都可進行此請求。
接著在步驟704中評量所接收回應之有效性。如果沒有節點具有UTXO,則給定一空回應。在這種狀況中,所論交易在步驟706中視為無效。在這種狀況中,交易將不會發生進一步傳播。在一些狀況中,如果有一指令碼錯誤,舉例來說,或如果有UTXO不可用之任何指示,則一交易亦視為無效。
倘若收到給定交易之一UTXO,步驟708中將交易輸入視為有效。如[先前技術]中所論述,已知安裝在節點上之軟體用戶端、或程式或應用程式可在一UTXO上藉由執行其鎖定及解鎖指令碼來進行此驗核。在一些實作態樣中,這稱為用於交易之有效性資料。如果鎖定及解鎖指令碼之執行評估為成立,則交易有效,並且將交易寫入至區塊鏈。再者,亦如上述,有效性檢查之一是用來檢查還沒有一雙重動用。在一些實作態樣中,當一節點接收一交易時,其將查詢交易在與該節點相關聯、或相關聯分區之一資料結構中動用之UTXO。
在步驟710中,接著將所論交易新增到分區4之節點或分區4之記憶池上之節點。
在步驟712中,接著將交易傳播到分區4中之其他節點。
基於UTXO分區之驗核
基於UTXO分區之驗核
在第七實施例中,將交易傳播到含有一給定交易之UTXO的分區(如圖1b所見一分區化網路之分區)。
圖8a繪示由分區4中之一節點所建立之一動用交易(Tx),該動用交易被傳播到含有該交易之UTXO之各分區。在此實施例中,節點將交易發送至分區1及2。圖8b中進一步繪示該程序。
當步驟802中一分區內之一節點接收一給定交易時,繼續接著基於這項實施例中相同分區內之輸入來驗核該交易。
因此,在步驟804,檢查給定交易之輸入是否與相同分區相關聯。根據第四實施例,如上述,可將交易分配給一分區。如上述,如果節點係多於一個分區之一成員,則「相同」分區檢查在本步驟中將應用於任何此類分區。
未驗核與一不同分區中之UTXO有關之輸入,如步驟806b中所見。在一些實作態樣中,各輸入之驗核可採用相同方式多次實行,因為目前可在比特幣網路中實行驗核。否則,節點進入步驟806a驗核交易。
步驟806a再進一步,於步驟808中檢查與給定交易相關聯之一輸入之有效性。如上述,並且亦在圖7b之步驟706及708中,對一未動用交易(UTXO)之驗核可藉由執行其鎖定及解鎖指令碼來進行。在一些實作態樣中,這稱為用於交易之有效性資料。如果鎖定及解鎖指令碼之執行評估為成立,則交易有效,並且將交易寫入至區塊鏈。再者,亦如上述,有效性檢查之一是用來檢查還沒有一雙重動用。在一些實作態樣中,當一節點接收一交易時,其將查詢交易在與該節點相關聯、或與該節點之分區相關聯之一資料結構中動用之UTXO。
在一輸入無效之狀況中,諸如當UTXO不存在、或值大於UTXO時、或如果有一指令碼錯誤;則如步驟810b所見,將給定交易丟棄。在這種狀況中,不將該給定交易傳播到相同分區中之其他節點。
如果該輸入視為有效,則在步驟810a中將該交易識別為有效。
接著在步驟812中將該交易新增到節點之記憶池。
在步驟814,將該交易傳播到與該節點相關聯之分區中之其他節點。
現請參照圖9,提供有一運算裝置2600之一說明性、簡化方塊圖,其可用於實踐本揭露之至少一項實施例。在各項實施例中,運算裝置2600在單獨被取用時、或通訊性耦合至一或多個其他此類節點或系統時,可用於實施圖1b中所見分區化區塊鏈網路之一或多個分區中之一節點或一節點組合、及/或以上所示及所述之任何電腦實施型系統、方法或協定。
舉例而言,可為了當作一資料伺服器、一網頁伺服器、一可攜式運算裝置、一個人電腦、或任何電子運算裝置使用而組配運算裝置2600。如圖9所示,運算裝置2600可包括具有一或多個層級之快取記憶體及一記憶體控制器之一或多個處理器(集體標示為2602),可將其組配成與包括主記憶體2608及永續性儲存器2610之一儲存子系統2606通訊。主記憶體2608可包括動態隨機存取記憶體(DRAM) 2618及唯讀記憶體(ROM) 2620,如所示。儲存子系統2606及快取記憶體2602可用於儲存資訊,諸如與本揭露中所述交易及區塊相關聯之細節。(多個)處理器2602可用於提供如本揭露所述任何實施例之步驟或功能。
(多個)處理器2602亦可與一或多個使用者介面輸入裝置2612、一或多個使用者介面輸出裝置2614及網路介面子系統2616通訊。
一匯流排子系統2604可提供一種用於使運算裝置2600之各種組件及子系統能夠如希望彼此通訊之機制。雖然將匯流排子系統2604示意性展示為單一匯流排,匯流排子系統之替代實施例仍可利用多條匯流排。
網路介面子系統2616可向其他運算裝置及網路提供一介面。網路介面子系統2616可當作用於從出自運算裝置2600之其他系統接收資料及將資料傳送至該等其他系統之一介面。舉例而言,網路介面子系統2616可使一資料技術人員能夠將裝置連接至一網路,使得該資料技術人員在一遠距位置(諸如一資料中心)時,可有能力將資料傳送至該裝置及從該裝置接收資料。
使用者介面輸入裝置2612可包括一或多個使用者輸入裝置,諸如鍵盤;指標裝置,諸如一整合式滑鼠、軌跡球、觸控板、或圖形輸入板;一掃描器;一條碼掃描器;一併入顯示器之觸控螢幕;諸如語音辨識系統、麥克風之音訊輸入裝置;以及其他類型之輸入裝置。一般而言,「輸入裝置」一詞之使用係意欲包括用於將資訊輸入至運算裝置2600之所有可能類型之裝置及機制。
一或多個使用者介面輸出裝置2614可包括一顯示子系統、一列印機、或諸如音訊輸出裝置等非視覺化顯示器。顯示子系統可以是一陰極射線管(CRT)、諸如液晶顯示器(LCD)之一平板裝置、發光二極體(LED)顯示器、或一投射或其他顯示裝置。一般而言,「輸出裝置」一詞之使用係意欲包括用於將資訊從運算裝置2600輸出之所有可能類型之裝置及機制。一或多個使用者介面輸出裝置2614舉例而言,可用於呈現使用者介面以在可能適當的情況下促進使用者與進行所述程序及其中變體之應用程式互動。
儲存子系統2606可提供用於儲存基本程式設計及資料構造之一電腦可讀儲存媒體,該等基本程式設計及資料構造可提供本揭露之至少一項實施例之功能。該等應用程式(程式、程式碼模組、指令)在受一或多個處理器執行時,可以提供本揭露之一或多項實施例之功能,並且可予以儲存在儲存子系統2606中。這些應用程式模組或指令可由一或多個處理器2602執行。儲存子系統2606可另外提供用於儲存根據本揭露所用資料之一儲存庫。舉例而言,主記憶體2608及快取記憶體2602可為程式及資料提供依電性儲存。永續性儲存器2610可為程式及資料提供永續(非依電性)儲存,並且可包括快閃記憶體、一或多個固態驅動機、一或多個磁性硬碟機、具有相關聯可移除式媒體之一或多個軟碟機、具有相關聯可移除式媒體之一或多個光學驅動機(例如:CD-ROM或DVD或藍光)驅動機、以及其他相似之儲存媒體。此類程式及資料可包括用於實行如本揭露所述一或多項實施例之步驟之程式、以及與如本揭露所述交易及區塊相關聯之資料。
運算裝置2600可呈各種類型,包括一可攜式電腦裝置、平板電腦、一工作站、或下面所述之任何其他裝置。另外,運算裝置2600可包括可透過一或多個連接埠(例如:USB、一耳機插孔、Lightning連接器等)連接至運算裝置2600之另一裝置。可連接至運算裝置2600之裝置可包括組配來接受光纖連接器之複數個連接埠。因此,此裝置可組配成將光學信號轉換成電氣信號,可透過將裝置連接至運算裝置2600之連接埠傳送該電氣信號以供處理。由於電腦及網路不斷變化之本質,為了說明裝置之較佳實施例,圖9所示運算裝置2600之說明僅意欲作為一特定實例。許多其他組態有可能比圖9所示系統具有更多或更少組件。
應知上述實施例說明而不是限制本揭露,並且所屬技術領域中具有通常知識者將能夠設計許多替代實施例而不脫離如隨附申請專利範圍所定義之本揭露之範疇。在請求項中,置放於括號內的任何參照符號不得視為限制請求項。「包含」一詞及其變體、及類似者不排除存在任何請求項或本說明書中整體所列者外之元件或步驟。在本說明書中,「包含」意味著「包括或由以下所組成」,並且「包含」之變體意味著「包括或由以下所組成」。元件之單數參照不排除此類元件之複數參照,反之亦然。本揭露可藉助於包含數個相異元件之硬體、及藉由一適當程式規劃之電腦來實施。在列舉數個構件之裝置請求項中,這些構件中有數個可藉由相同硬體項目來具體實現。在互不相同之附屬項中明載某些量測的唯一事實不在於指出這些量測之一組合無法用於產生利益。
要瞭解的是,以上說明係意欲為說明性而非限制性。在閱讀及理解以上說明後,許多其他實作態樣對於所屬技術領域中具有通常知識者將顯而易見。雖然已參照特定例示性實作態樣說明本揭露,仍將認知的是,本揭露不受限於所述實作態樣,而是可在隨附申請專利範圍請求項之範疇內憑藉修改及更改來實踐。因此,本說明書及圖式應視為一說明性概念,而不是一限制性概念。因此,本揭露之範疇連同此類請求項給與權利之均等例的全部範疇,應該參照隨附申請專利範圍來判定。
302~308、402~408、702~711、802~814‧‧‧步驟
2600‧‧‧運算裝置
2602‧‧‧記憶體控制器
2604‧‧‧匯流排子系統
2606‧‧‧儲存子系統
2608‧‧‧主記憶體
2610‧‧‧永續性儲存器
2612‧‧‧使用者介面輸入裝置
2614‧‧‧使用者介面輸出裝置
2616‧‧‧網路介面子系統
2618‧‧‧動態隨機存取記憶體
2620‧‧‧唯讀記憶體
本揭露之較佳實施例係以一般性但非限制性概念在下文參照附圖作說明,其中:
圖1a及1b根據本揭露之第一實施例,繪示一傳統區塊鏈網路(圖1a)與一分區化區塊鏈(圖1b)網路之間的一比較;
圖2繪示與本揭露之一第二實施例有關所用之節點使用旋轉;
圖3根據本揭露一第三實施例,繪示將一交易分配給一分區之一方法;
圖4根據一第四實施例,繪示將一交易分配給一分區之一方法;
圖5繪示先前技術之一UTXO資料結構;
圖6繪示本揭露之一第五實施例;
圖7a及7b繪示本揭露之一第六實施例;以及
圖8a及8b繪示本揭露之一第七實施例;
圖9係一示意圖,其繪示一運算環境,可在其中實施本揭露之各項實施例。
Claims (6)
- 一種驗核區塊鏈交易之電腦實施型方法,該方法包含: 請求至少一個未動用交易輸出(UTXO),該至少一個UTXO係由來自包含至少一個UTXO之至少一個分區之一成員節點的該交易之至少一個相應輸入所參考; 從至少一個節點取得至少一個UTXO之有效性資料;以及 使用該有效性資料對至少一個輸入進行一驗核檢查。
- 如請求項1之方法,其更包含將對於一節點之分區從屬關係資訊提出之一請求傳遞至另一節點之步驟。
- 如前述請求項中任一項之方法,其更包含將一節點之分區從屬關係資訊傳遞至另一節點之步驟。
- 如請求項2或3之方法,其中該傳遞係使用一經修改addr訊息來進行。
- 一種系統,其包含有: 一處理器;以及 包括可執行指令之記憶體,該等可執行指令因藉由該處理器執行而令該系統進行如請求項1至4中任一項之電腦實施型方法。
- 一種非暫時性電腦可讀儲存媒體,其上有儲存可執行指令,該等可執行指令因藉由一電腦系統之一處理器執行而令該電腦系統至少進行如請求項1至4中任一項之電腦實施型方法。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1806907.0 | 2018-04-27 | ||
GBGB1806909.6A GB201806909D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GB1806911.2 | 2018-04-27 | ||
GB1806914.6 | 2018-04-27 | ||
GBGB1806907.0A GB201806907D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GBGB1806930.2A GB201806930D0 (en) | 2018-04-27 | 2018-04-27 | Computer-implemented systems and methods |
GB1806930.2 | 2018-04-27 | ||
GB1806909.6 | 2018-04-27 | ||
GBGB1806914.6A GB201806914D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
GBGB1806911.2A GB201806911D0 (en) | 2018-04-27 | 2018-04-27 | A computer-implemented method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201946016A true TW201946016A (zh) | 2019-12-01 |
TWI848945B TWI848945B (zh) | 2024-07-21 |
Family
ID=
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI820124B (zh) | 電腦實施型方法、運算系統及非暫時性電腦可讀儲存媒體 | |
CN110771127B (zh) | 用于区块链网络中一致分布式内存池的方法和系统 | |
EP3543853A1 (en) | Providing microservice information | |
CN110998631A (zh) | 分布式账本技术 | |
TWI848945B (zh) | 驗證區塊鏈交易之運算系統、非暫時性電腦可讀儲存媒體及電腦實施型方法 | |
KR102514893B1 (ko) | Esg를 위한 비채굴 블록체인 네트워크 시스템에서 nft에 기반하여 서버 노드가 동작하는 방법 및 그 서버 노드를 포함하는 블록체인 네트워크 시스템 |