TW201741956A - 使用區塊鏈實現邏輯閘功能 - Google Patents
使用區塊鏈實現邏輯閘功能 Download PDFInfo
- Publication number
- TW201741956A TW201741956A TW106114274A TW106114274A TW201741956A TW 201741956 A TW201741956 A TW 201741956A TW 106114274 A TW106114274 A TW 106114274A TW 106114274 A TW106114274 A TW 106114274A TW 201741956 A TW201741956 A TW 201741956A
- Authority
- TW
- Taiwan
- Prior art keywords
- blockchain
- transaction
- node
- gate
- script
- Prior art date
Links
- 238000013515 script Methods 0.000 claims abstract description 146
- 238000000034 method Methods 0.000 claims description 117
- 230000006870 function Effects 0.000 claims description 28
- 238000012795 verification Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 abstract description 3
- 239000003795 chemical substances by application Substances 0.000 description 59
- 230000009471 action Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 241000282472 Canis lupus familiaris Species 0.000 description 9
- 230000006399 behavior Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000035611 feeding Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000283086 Equidae Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002019 anti-mutation Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01K—ANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
- A01K5/00—Feeding devices for stock or game ; Feeding wagons; Feeding stacks
- A01K5/02—Automatic devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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/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
-
- 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
-
- 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
-
- 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/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/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/321—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 a third party or a trusted authority
-
- 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/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/3242—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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/3247—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 digital signatures
- H04L9/3252—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 digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- 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)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Animal Husbandry (AREA)
- Biodiversity & Conservation Biology (AREA)
- Birds (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Lock And Its Accessories (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本發明係為一種使用區塊鏈實現邏輯閘功能的方法。該交易包括具有多個指令之一鎖定腳本,該等指令經選擇以便實施諸如OR、AND、XOR、NOT等等之一邏輯閘的功能。在一些實例中,該等指令可以一散列形式提供。當該腳本被執行時(因為一第二交易正試圖耗用與該鎖定腳本相關聯之輸出),輸入將由條件指令處理以提供真或假的一輸出。該第二交易被傳輸至區塊鏈網路以供驗證,且若判定為有效的,則該第二交易將被寫入至該區塊鏈。該第二交易之驗證可解譯為一真輸出。因此,該第一交易之該鎖定腳本提供該所要邏輯閘之該功能。
Description
本發明大體上係關於分散式帳本(區塊鏈)技術。此可為任何區塊鏈相關之技術,包括,但不限於比特幣區塊鏈。本發明之態樣亦係關於邏輯閘及組合邏輯之領域。本發明可適合於與控制系統或程序一起使用。
在此文獻中,使用術語「區塊鏈」來包括所有基於電子、電腦形式的分散式帳本。此等包括基於共識(consensus-based)之區塊鏈及交易鏈(transaction-chain)技術、經許可及未經許可之帳本(ledger)、側鏈及交替鏈(alt chain)技術、共用帳本及其變化。區塊鏈技術之最廣泛熟知之應用為比特幣帳本,但其他區塊鏈實施已被提議並開發。雖然本文中出於方便及說明之目的可提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定屬於本發明的範疇。術語「使用者」在本文中可指人類或基於處理器之資源。
區塊鏈為點對點(peer-to-peer)電子帳本,其實施為由區塊構成的基於電腦之去中心化分散式系統,該等區塊又由交易構成。每一交易為一資料結構,該資料結構編碼
區塊鏈系統中之參與者之間的數位資產之控制的傳送,且包括至少一個輸入及至少一個輸出。每一區塊含有先前區塊之散列,使得該等區塊變為鏈接在一起以產生自起初開始已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入於其輸入及輸出中的被稱為腳本(script)之小型程式,該等腳本指定交易之輸出可被存取之方式及人員。在比特幣平台上,此等腳本係使用基於堆疊之腳本處理語言來撰寫。
對於交易而言,為了被寫入至區塊鏈,交易必須經「驗證」。網路節點(挖掘者(miner))執行工作以確保每一交易為有效的,其中無效交易被網路拒絕。安裝於節點上之軟體用戶端藉由執行其鎖定及解鎖腳本而對未花費的交易輸出(Unspent Transaction Output,簡稱:UTXO)執行此驗證工作。若鎖定及解鎖腳本的執行評估為真,則交易為有效的且交易被寫入至區塊鏈。因此,解鎖腳本可提供針對鎖定腳本(locking script)之評估的輸入。雖然此通常為基於簽名之輸入的形式,但其他形式之輸入已知為可能的。此外,腳本處理語言的命令中之許多係為提供真或假結果之布林運算子(例如:OP-EQUAL)。此情形使得條件性能夠被建置於交易中。
區塊鏈技術已知主要廣泛用於密碼貨幣(cryptocurrency)實施。然而,近期,數位企業家已開始探究比特幣所基於之密碼編譯安全性系統及可儲存於區塊鏈上之資料兩者的使用以實施新系統。本發明係關於一種新的且具發明適應性的區塊鏈技術。進一步來說,本發明係關於使用區塊鏈來實施或仿真邏輯閘之功能,該些邏輯閘為簡單、有
效且強力之機構,其可用於產生廣泛且變化之範圍的電腦實施之系統(computer-implemented system)。該些系統可包括用於控制裝置及系統之程序及/或引導裝置及系統之行為的控制單元。
控制單元之基本元件為邏輯閘。藉由將閘邏輯建置至區塊鏈交易(Tx)中,可實施利用由區塊鏈技術帶來之益處的強力程序。此等益處包括但不限於增強型網路安全性、去中心化裝置/系統/程序控制、與舊版系統之潛在整合;及記錄之永恆性/永久性。
因此,需要提供一種在區塊鏈上或經由區塊鏈提供或仿真邏輯閘之功能的解決方案。在此解決方案中,邏輯閘可經由區塊鏈交易之鎖定腳本來實施。對邏輯閘之基本結構的擴展可經提供以允許任何數目個輸入及任何數目個輸出。
現已設計了改良之解決方案。因此,根據本發明,提供一種如隨附申請專利範圍中定義之解決方案。
本發明之實施例可提供電腦實施之方法及對應系統。其可描述為控制方法/系統。
本發明可提供一種包含如下步驟之方法:提供或使用包含鎖定腳本之區塊鏈交易(TX1),該鎖定腳本在執行之後便執行程式碼的經選擇並配置以實施及/或仿真邏輯閘之功能的一部分。程式碼之該部分的執行可在評估至少一個條件之後執行,該條件產生程式碼之該部分的輸入。
至少一個條件之評估可產生布林輸入。程式碼之
該部分可包含一或多個指令。此等指令可為作業碼(opcode)。作業碼可將資料推送至堆疊,或自堆疊彈出資料。程式碼之該部分可經配置以供使用一或多個條件之結果執行。程式碼之該部分可藉由使用者(亦即,交易之程式設計師或產生者)出於仿真邏輯閘之目的來具體選擇。
另外或替代地,方法可包含在第一區塊鏈交易中提供鎖定腳本的步驟。第一(及/或另一)交易可在無人工干預情況下藉由自動化程序(亦即藉由電腦)產生。
鎖定腳本可包含至少一個指令(亦即,程式碼之一部分),其經配置以處理至少一個布林輸入。在一或多個實施例中,至少一個指令可作為至少一個指令之散列(hash)提供於鎖定腳本中。因此,指令可呈散列形式。至少一個指令可藉由在計算中使用布林輸入或對布林輸入執行某操作來處理布林輸入。
布林輸入可藉由在執行程式碼之該部分之前評估一條件來產生。條件可包含對散列值與預儲存之散列值之間的相等性之測試。預儲存之散列值可提供於鎖定腳本內。可選地,條件可經由提供於鎖定腳本內之一或多個指令/作業碼實施。
方法可包含提供具有解鎖腳本之另一區塊鏈交易的步驟。解鎖腳本可包含兌換腳本(redeem script)。至少一個指令可作為散列提供於鎖定腳本內,使得實際指令係經由解鎖(兌換)腳本提供,其中所提供指令之散列必須與鎖定腳本中的散列匹配以便耗用交易的輸出。
方法可包含處理至少一個輸入信號以提供至少
一個布林輸入的步驟。輸入信號可係自任何源接收或導出。
方法可包含如下步驟:使用至少一個布林輸入以分別執行第一及另一區塊鏈交易之鎖定腳本及解鎖腳本。
可藉由另一區塊鏈交易之解鎖腳本来执行處理至少一個輸入信號以提供至少一個布林輸入的步驟。
替代地或另外,在被用作解鎖腳本之輸入之前,其可由至少一個計算資源(computing resource)或代理(agent)執行。計算資源可為「區塊外」資源,從而意謂其並非區塊鏈網路之部分。
方法可包含如下步驟:傳輸另一交易及/或第一交易至區塊鏈網路以用於驗證。該網路可為比特幣網路。
方法可包含如下步驟:監視或搜尋網路之區塊鏈以判定另一交易的存在或不存在。
方法可包含提供計算資源之步驟,該計算資源經配置以基於另一交易在區塊鏈內之偵測而影響裝置或程序的行為。
方法可包含如下步驟:將另一交易的有效性解譯為由邏輯閘提供的真輸出。有效性可藉由控制代理或藉由監視區塊鏈及/或區塊鏈網路來判定。
另一交易之有效性的判定可充當對藉由計算資源/代理執行之動作的觸發器。
另一交易在區塊鏈網路內之驗證可取決於解鎖腳本的執行。
方法可包含如下步驟:基於另一交易在區塊鏈內之存在或不存在的判定而控制裝置、系統或程序的活動或行
為。此裝置、系統或程序可為任何類型之裝置、系統或技術程序。正受控制之裝置、系統或程序可在區塊外實施,亦即,可獨立或不同於區塊鏈網路。
鎖定腳本中之至少一個指令可經配置以實施邏輯閘之真值表(truth table)。
閘可為或(OR)閘、互斥或(XOR)閘、反及(NAND)閘、互斥(NOR)閘及反(NOT)閘或反互斥或(XNOR)閘。閘可為及(AND)閘。閘可為蘊含(IMPLY)閘(亦被稱作邏輯條件、實質條件或實質蘊含(material implication))。閘可為反蘊含閘(converse implication gate)。
至少一個輸入信號可包含數值、恆定值、散列函數之結果、密碼編譯密鑰(cryptographic key)、區塊鏈難題(puzzle)及/或比特幣其他區塊鏈相關位址。
第一及/或另一交易可藉由執行於基於計算之資源上的自動化程序而產生及/或被傳輸至區塊鏈網路。
至少一個指令可包含布林條件或布林運算子。其可使用一基於堆疊之程式設計語言來撰寫及/或執行。
本發明亦可提供經配置以實施上文闡述之方法之任何版本的電腦實施之系統。
本發明可提供一種併有實施於區塊鏈上或使用區塊鏈實施之布林計算或條件的控制系統,該布林計算包含:包含鎖定腳本之區塊鏈交易,該鎖定腳本包含至少一個指令,該至少一個指令經選擇以藉由處理至少一個輸出以提供至少一個布林輸出而實施布林真值表之功能性。
真值表可為針對OR閘、XOR閘、NAND閘、NOR
閘及NOT閘或XNOR閘的真值表。真值表可為針對IMPLY閘(亦被稱作邏輯條件、實質條件或實質蘊含)或反向蘊含閘的真值表。真值表可為針對AND閘的真值表。
根據本發明之另一態樣,可提供一種大體上根據如下文所描述之「技術3」的電腦實施之控制方法。此方法可包含如下步驟:在複數個第一區塊鏈交易(中之每一者)中提供一(各自的)鎖定腳本,該(每一)鎖定腳本包含經配置以處理至少一個輸入信號之至少一個指令;提供具有一解鎖腳本之一另一區塊鏈交易;處理至少一個輸入信號以提供產生至少一個交易輸出;使用該至少一個交易輸出來執行該第一區塊鏈交易及該另一區塊鏈交易的該鎖定腳本及該解鎖腳本。
處理該至少一個輸入信號以產生至少一個交易輸出的步驟可藉由以下各者執行:i)另一區塊鏈交易之解鎖腳本;或ii)至少一個計算資源或代理。
該方法可包含以下步驟:傳輸該另一交易及/或第一交易至一區塊鏈網路以供驗證;及/或監視或搜尋該區塊鏈或區塊鏈網路以判定該另一交易的存在或不存在;及/或提供經配置以基於以下兩者影響一裝置或程序之行為的一計算資源:該另一交易在該區塊鏈或區塊鏈網路內之偵測;及/或
該另一交易的有效性。
方法可包含如下步驟:將在區塊鏈或區塊鏈網路內偵測到另一交易解譯為邏輯閘的真輸出。
另一交易在區塊鏈網路內之驗證可取決於解鎖腳本的執行。
方法可包含基於另一交易之有效性而控制裝置或程序之步驟,其中有效性係藉由以下各者來判定或建立:基於電腦之控制代理,或監視區塊鏈網路以判定其是否已由網路節點驗證,及/或監視區塊鏈之狀態以判定交易是否已寫入至區塊鏈。
鎖定腳本中之至少一個指令可經配置以實施AND閘之真值表。至少一個輸入可包含數值、恆定值、散列函數之結果、密碼編譯密鑰、區塊鏈難題及/或比特幣其他區塊鏈相關位址。第一及/或另一交易可藉由執行於基於計算之資源上的自動化程序而產生及/或被傳輸至區塊鏈網路。至少一個指令可包含條件或條件運算子;及/或可使用基於堆疊之程式設計語言來撰寫及/或執行。本發明可提供電腦實施之系統,該系統經配置以實施根據本發明之態樣的任何方法。
關於一個態樣或實施例描述之任何特徵亦可關於另一態樣或實施例使用。舉例而言,關於方法描述之任何特徵可適用於系統,且反之亦然。
1‧‧‧系統
3‧‧‧第一節點
5‧‧‧通信網路
7‧‧‧第二節點
9‧‧‧第三節點
11‧‧‧竊取者
13‧‧‧資料儲存區
15‧‧‧資料儲存區
17‧‧‧資料儲存區
19‧‧‧第三資料儲存區
23‧‧‧第一處理裝置
27‧‧‧第二處理裝置
100‧‧‧系統/註冊方法
101‧‧‧自動餵食器IOT裝置
102a‧‧‧第一用戶端裝置/第一射頻識別裝置(RFID)頸圈
102b‧‧‧第二用戶端裝置/第二射頻識別裝置(RFID)頸圈
103‧‧‧控制代理
104‧‧‧區塊鏈IOT裝置(BID)控制系統
200‧‧‧註冊方法
300‧‧‧方法
310至370‧‧‧步驟
400‧‧‧方法
410至470‧‧‧步驟
A‧‧‧布林輸入
B‧‧‧布林輸入
X‧‧‧布林輸出
S300至S310‧‧‧步驟
本發明之該些及其他態樣將自本文描述之實施例顯而易見且參考本文中所描述之實施例進行闡明。現將僅藉助於實例且參考附圖而描述本發明之一實施例,在附圖中:
圖1係根據本發明之一實施例且關於說明性使用狀況組態的系統。
圖2係針對圖1之控制系統的真值表。
圖3係針對圖1之實施例的解鎖交易之處理步驟。
圖4至圖8係可用以共用秘密並產生公用或私用密鑰的技術。
圖9係顯示本發明之說明性實施例的功能性,在該實施例中,兩個布林輸入A及B在第一交易之鎖定腳本內進行評估以產生布林輸出X。
圖10係本發明之包含第一交易及第二交易的實施例之概述。
圖11係本發明之一實施例的程序。
圖12係本發明「技術1」之實施例的概述。
圖13係本發明「技術2」之實施例的概述。
圖14係本發明「技術3」之實施例的概述。
圖15係先前技術如何評估鎖定腳本及解鎖腳本之說明。
本發明提供用於使用區塊鏈交易之鎖定腳本來實施特定真值表之邏輯的機構。如先前技術中所熟知,該些真值表用以實施邏輯閘,其中通常基本閘(basic gate)具有A及B兩個輸入以及單一輸出X。圖9係顯示藉由本發明之說明性實施例產生的結構之概述,在該實施例中,A及B兩個輸入係在交易內進行評估以產生輸出X。輸入值A及B係經由區塊鏈交易之解鎖腳本來提供,該區塊鏈交易試圖耗用與含有邏輯閘程式碼之鎖定腳本相關聯的先前交易之輸出。
在一或多個實施例中,解鎖腳本可包含兌換腳本。因此,至少需要兩個交易以實施本發明之任何實施例。第一交易藉由嵌入閘邏輯之鎖定腳本而鎖定某一量之比特幣或其他密碼貨幣。第二交易藉由呈現A及B值(可能連同簽名)而耗用第一交易之輸出。
在經典閘(classical gate)中,A、B及X為二進位,從而採用等於真(1)或假(0)之值。然而,根據本發明之一實施例,經典閘經複寫且擴展以包括更複雜之變化。進一步來說,至區塊鏈閘之輸入本身可能並非「真」或「假」輸入,而是可為若干不同值、不同格式或類型之值中的任一者。舉例而言,A及B可為整數、散列值、密碼編譯密鑰、比特幣(Bitcoin,簡稱:BTC)位址(等),且A及B的真值可在交易內進行評估,以便產生輸出。在交易可為有效(「真」)或無效(「假」)的意義上,輸出必定為二进制的。
然而,輸出可為若干更複雜功能中之任一者服務。舉例而言,輸出可能表示關於滿足一組條件之臨時重要付款,或其可能為不重要付款但仍充當事件之安全永久性記錄。區塊鏈閘之可變使用的另外實施例在下文予以提供。
存在許多不同類型之邏輯閘,所有閘皆在本發明之範疇內。一般言之,存在若干基本2-輸入閘,該些閘對於任何電路之建構係足夠的。該些閘為(以非特定次序排列):
1.AND
2.OR
3.XOR 互斥OR
4.NAND 非AND
5.NOR 非OR
6.XNOR 互斥NOR
7.IMPLY 邏輯條件
8.NOT-IMPLY 實質非蘊含
另一常用閘為NOT,其具有僅一個輸入;其輸出為輸入之相反值。閘通常以「真值表」之形式呈現,「真值表」提供輸入值連同關聯輸出值之每一可能組合。舉例而言,表1顯示AND閘及NOT閘。
所有八個基本2-輸入閘顯示於表2中。
實際上,在給出兩個二進位輸入的情況下存在16種可能的不同方式以繪製輸出行,根據所需之應用程式,其中許多可能會有用。該些方式可各自產生為單一閘。因此,在真值表藉由單一區塊鏈腳本(例如;以下「技術1」)實施時,16個可能性中的任一者可在交易鎖定腳本內被寫碼。當然,可能性中的一些可能具有極少現實生活的應用或無現實生活的應用。為了完整起見,針對前6個閘之16種可能性顯示於表3中。
如先前所述,本發明揭露區塊鏈交易經產生以實施邏輯閘之至少部分功能的解決方案。該閘功能係在交易之鎖定腳本內進行仿真。該鎖定腳本為了方便起見可在本文中被稱為「區塊鏈閘」或「比特幣閘」。又,為了方便起見,儘管可使用替代性區塊鏈協定及平台,然在實施例中亦可引用比特幣。
請注意,根據已知技術,區塊鏈交易可經配置以利用m個多簽名選項中的n個。實際上,此在關於交易需要之簽名數目方面能充當邏輯閘。當n=m時,多簽名操作能充當邏輯AND閘。然而,此為邏輯閘之有限實施,其係由於其僅係關於供應於輸入內之簽名的數目或僅受該數目影響,且不允許區塊鏈實施之邏輯閘對任何其他類型之輸入進行評估。另一方面,本發明允許閘功能對更廣泛之參數化輸入集合進行操作。
根據本發明之各種實施例,第一區塊鏈交易(TX1)之鎖定腳本用以提供所選擇之邏輯閘之功能。
換句話說,提供於第一交易內之鎖定腳本含有某程式碼,該程式碼在執行時將使用所呈現之輸入值以根據特定邏輯閘之真值表提供輸出。因此,鎖定腳本內之指令經選擇且經配置以便實施所需閘之真值表。鎖定腳本係與第一交易的輸出(transaction output,簡稱:TXO)相關聯。
接著產生第二交易(TX2)。第二交易包括輸入,該輸入包含解鎖腳本或與解鎖腳本相關聯。解鎖腳本可用以解鎖第一交易之鎖定腳本以便耗用輸出(TXO)。驗證使得第一交易及第二交易之鎖定腳本及解鎖腳本被執行。因此,將使用A及B之特定值。對於鎖定腳本及解鎖腳本在交易驗證期間經評估之方式的說明請參閱圖15,如先前技術中所熟知。
若鎖定腳本及解鎖腳本之執行帶來有效交易,則交易之有效性可解譯為邏輯閘的真輸出。相反,若交易之驗證未通過,則此可解譯為來自邏輯閘的假輸出。此為對先前技術之增強,此係由於根據已知區塊鏈技術及技藝,未能通過驗證之腳本只是如此。然而,根據本發明,未通過驗證之腳本(亦即,不成功之驗證)使得對「假」輸入進行偵測且後續對「假」輸入作出回應成為可能。因此,本發明能實現導出並起始有意義之後續行為,而不管輸入為真還是假,此係因為某一動作過程取決於區塊鏈閘的輸出,無論輸出碰巧為何輸出。
交易之有效性可藉由以下各者判斷:
●計算代理
●區塊鏈網路上之一或多個節點
●在區塊鏈上之一區塊內偵測交易。如上文所述,當第二交易經提交給(比特幣)網路以便試圖耗用來自第一交易的輸出時,挖掘節點將執行其驗證職責。若交易為有效的,則交易可被寫入至區塊鏈,否則交易將被拒絕。因此,計算代理可監視區塊鏈之狀態,以判定是否已將交易製作成帳本。若交易在區塊鏈中被偵測到,則此應當意謂交易為有效的。
此可藉由計算代理解譯為來自邏輯閘的真輸出。
有效性或無效性之建立可充當對某一動作之執行的觸發器。此動作可藉由代理執行。該動作可控制或影響裝置、系統或程序之行為。
如圖12、圖13及圖14中所示,第一交易(TX1)可被稱作「啟動邏輯閘」,此在於其被定義為將被仿真之閘的功能性。第二交易(TX2)可被稱作「評估邏輯閘」,此係由於第二交易經由解鎖腳本提供將用於閘輸出之評估的值。
如下文並請參閱圖10至圖14,存在用於達成以上情形之各種技術。
技術1
技術1之概述請參閱圖12。關鍵定義屬性:
●輸入信號A及B被提供至單一交易(TX2)之交易輸入的解鎖腳本
●A及B為「(比特幣)難題」,其可伴隨有一或多個簽名
●TX2之解鎖腳本用以試圖耗用先前交易TX1之輸出;此情形引起TX2及TX1之解鎖腳本及鎖定腳本的分別執行
●A及B在TX2之解鎖腳本內經處理以評估為真/假;
●相關邏輯(亦即所選擇閘之程式碼)(設置於TX1之鎖定腳本中)接著使用該些經處理值而執行;
●腳本評估後執行其他邏輯及指令,諸如多簽名(multisig);請注意,如此項技術得知,多簽名操作不同於所選擇邏輯閘之程式碼的執行,且係在前述程式碼執行之後執行
每一難題係為一真或假的條件且係於鎖定腳本之執行期間藉由以下操作進行評估:
●首先經由解鎖腳本提供解答(亦即,針對難題之值)給鎖定腳本
●鎖定腳本散列所呈現之值且接著比較散列後之該所呈現值與內部儲存之散列值(「內部儲存」意謂,散列已作為鎖定腳本之部分被寫入)。所呈現值之散列與所儲存散列之相等性意謂「真」,而不相等性意謂「假」;因此,對於每一難題,散列之比較提供中間結果
●兩個評估條件之中間結果接著應用至設置於鎖定腳本內之相關閘邏輯程式碼,以提供表示邏輯閘之輸出X的最終結果。若最終結果為真,則使用多簽名操作來校驗伴隨之簽名。
TX1之鎖定腳本可為如比特幣協定中已知之支付腳本散列(pay to script hash,簡稱:P2SH)鎖定腳本,或來自替代性協定之功能等效物。根據已知技術,P2SH鎖定腳本包括兌換腳本之散列且TX1輸出可僅在呈現正確腳本之後被耗用,該正確腳本在經散列時與儲存於鎖定腳本中之散列匹配。因此,就支付腳本散列交易而言,實際邏輯呈現於解鎖腳本內,但鎖定腳本「知曉」將隨後供應之邏輯。如熟習此項技術者將理解,雖然此交易中鎖定腳本的行為必須被知曉,但在使用密碼編譯安全技術的情況下,可提供實際指令集作為解鎖腳本之部分。此方法之優點為,兌換腳本或所儲存散列之內容不可被辨別,此係因為實際上解決方案為將兌換腳本作為初始散列,初始散列接著在鎖定腳本之執行期間
再次經散列以便執行比較。因此,私用性及安全性可得以增強或維持。
在另一變化中,A及B值可能不會被散列,而是應用另一測試以導出真及假,而不是針對散列之間的相等性進行測試。舉例而言,A可能為當前道瓊斯指數(Dow Jones index),且腳本可能針對A>(某一預定臨限值)進行測試。此方法將不使用P2SH交易類型來比較散列以便達成針對A及B之中間結果,但實情將使用鎖定腳本中之「條件評估程式碼」以評估某一其他類型之預定條件。以此方式,許多不同種類之條件可針對真/假進行測試。來自條件評估程式碼之中間結果可接著被傳遞至鎖定腳本之閘邏輯部分,且最終傳遞至簽名校驗。簽名校驗程序係根據此項技術中已知之技術而執行。應注意,在此特定狀況下,由於A及B之值不經散列,因此方法在被測試之條件需要保持為秘密的情況下並不合適。
技術2
技術2之概述請參閱圖13。關鍵定義屬性:
●輸入A及B包括於解鎖腳本中,且經呈現給單一交易輸入的鎖定腳本(例如,藉由控制代理)
●A及B為「真」或「假」,且可伴隨有簽名
●藉由A及B表示之條件藉由基於電腦之專用代理在交易外部進行預先評估以導出真/假值,進而安全地傳輸至控制代理
●控制代理產生另一交易,該另一交易包括解鎖腳本,從而將A及B值(加上簽名)呈現給鎖定腳本
因此,技術2與技術1相同,除了條件在呈現給解鎖腳本之前藉由計算代理予以評估外。如同技術1一樣,仿真邏輯閘功能之程式碼提供於第一交易之鎖定腳本中,且輸入之實際值在驗證期間經由另一交易之解鎖腳本予以提供。
技術3
技術3之概述請參閱圖14。關鍵定義屬性:
●A及B被呈現給兩個獨立的交易輸入(對於同一交易)之鎖定腳本
●A及B為「(比特幣)難題」,且可伴隨有簽名
●使用SIGHASH(signature hash)旗標(例如:ANYONECANPAY)之相關組合,兩個獨立的代理分別將A及B呈現給交易範本(其最終藉由控制代理完成)
●A及B在每一鎖定腳本內經評估為真/假,該每一鎖定腳本接著執行相關閘邏輯
●每一腳本接著執行其他邏輯,諸如根據先前技術之簽名檢查
為使整個交易有效,每一輸入必須為有效的。此實施AND真值表。相同技術可用於任何數目個輸入。亦即,替代評估A及B兩個條件,任何數目個條件A、B、C......可設定為用於產生交易的要求。
範本交易
在一或多個實施例中,可提供交易範本,該些交易範本經複製並接著填充有A及B輸入以產生可被廣播至區塊鏈網路的交易。若經廣播交易由網路接受為有效的,則此
可如上文所描述解譯為「真」的輸出,而且亦用來提供關於區塊鏈之永久性非可變更記錄。A及B通常表示可經評估為真或假的條件。任何種類之條件可經評估,且任何種類之資料可經使用以便評估條件。舉例而言,條件可涉及現實世界中之事件、信號之接收到或不存在、計算之成功完成、兩個或兩個以上資料項或電子實體之間的匹配等。儘管清單為無限的,但以下內容表示可能被測試之不同類型條件之極小的指示性樣本。
供用於區塊鏈閘中的可能針對真/假進行測試的實例條件:
1.當前日期為2025年6月30日
2.已到達第1,000,000個比特幣區塊
3.實體已發送了寫碼信號(例如:鮑勃剛才說「進行」交易)
4.位置X中之溫度低於Y℃
5.道瓊斯指數當前高於20,000
6.可識別為Juanita Shalala Morgensen-Smythe之個人剛剛結婚
7.(諸如此類)
區塊鏈閘可藉由任何實體產生。然而,較佳實施例設置一或多個自動化軟體代理以執行與區塊鏈閘之產生、維持及傳輸相關聯的功能。術語「自動化」係指其在無人工干預以完成任務情況下完全由程式之執行來執行。在較佳實施例中,該些代理能夠執行多種功能,該些功能中之僅一樣本如下所列。
可藉由與區塊鏈閘相關之代理執行的實例功能
1.監視現實世界中之事件,且一旦偵測到「觸發器」便可根據設定之規則執行某些動作
2.針對觸發器監視區塊鏈,且一旦偵測到「觸發器」便可根據設定規則執行某些動作
3.獲得交易範本之複本且基於設定之規則用輸入及/或輸出填充該等交易範本,並將交易廣播至區塊鏈網路
4.在經觸發時執行其他類型之動作,諸如發送警告至受關注之主體,或與其他代理通信以發送或接收資料等。
存在用於實施區塊鏈交易中之邏輯閘的許多潛在應用或終端使用。多個閘或閘之組合之經產生並經部署以實施應用之方式的細節超出本文獻之範疇。然而,例如:本發明可用於電子裝置之控制中。此可包括物聯網(internet of things,簡稱:IOT)裝置,諸如:警報系統;載具解鎖系統;器具開關;無線感測器網路;數據採集與監控系統(supervisory control and data acquisition,簡稱:SCADA)(安全方面);工廠控制;反相器;交易鎖定系統;基於時間之保險箱;供水系統;(等)。其亦可用於自動付款系統及計算之開發。舉例而言:
a.若及時接收到付款,則發送至輸出1,否則將發送至輸出2並分別計算金額及利息
b.隨時間增大或減低之ANYONECANPAY區塊鏈交易
用於區塊鏈交易中之「閘」的一些可能變化
1.A及B可能為二元的(如在經典閘中一般)。在交易為「真」(有效的)或「假」(無效的)的意義上,X可為二元的。
2.A及B可能為經密碼編譯之簽名。
3.A及B可能為表示有意義值之任何數字。舉例而言:日期。
4.A及B可能為有意義值之散列
5.A及B在比特幣意義上可能為「難題」(特定散列之解答)
6.A及B可能為以上各者中之兩者或兩者以上的組合(例如:簽名+難題)
7.A及B可能具有不同類型(例如:A=簽名+有意義值;B=難題)
8.可能存在多個輸入,如:A、B、C......
9.X=真(有效的)可能意謂已向第三方支付一些比特幣。舉例而言,當由A及B所表示的某些條件被滿足時,閘邏輯支付比特幣至受益人
10.X=真(有效的)可能意謂輸出比特幣僅被傳回給付款人,且交易之目的與付款不相關(實例例如下)。
11.X=真(有效的)可能意謂觸發一事件(例如:監視代理可能經觸發以採用諸如控制IOT裝置的設定動作)
12.X=真(有效的)可能意謂註冊一事件,即交易之目的為充當事件的不變之永久性安全記錄。
13.可能存在X、Y......多個輸出,此可能意謂向若干受益方支付了比特幣,或制定了若干觸發器,或其組合。
14.可能存在自身包含一閘且自身實施該閘之單一交易;此在鎖定腳本內進行。
本發明之一實施例的實施方式
在此說明性實例中,吾人使用以上技術1以實施用於裝置控制應用中的XOR閘。
區塊鏈物聯網裝置(Blockchain IOT Device,簡稱:BID)為經設定以執行預定指令之計算代理,該等預定指令安全地儲存於BID外部(off-BID)且經由密碼編譯密鑰存取。藉由「BID外部」意謂指令並不提供於BID自身內,而是儲存於其他地方且在需要時予以存取。此等指令經選擇並配置以執行所選擇任務或複數個任務。在經執行時,該等指令可控制並影響IOT裝置之行為。BID可駐留於IOT自身上,從而意謂BID安裝於提供於IOT裝置中或裝置上之記憶體中。然而,在其他實施例中,BID可駐留於裝置外部,且具有至裝置的網際網路連接性。
IOT裝置具有其自身之密碼編譯密鑰(以及IP位址),使得其可與其他裝置或分散式散列表(Distributed Hash Table,簡稱:DHT)等安全地通信並與之相互作用。其「作業系統」為具有針對(至少但不限於)以下各者之某一嵌入式功能性的簡單通用系統:
●密碼編譯計算
●自外部源(諸如DHT)擷取指令
●執行簡單動作,諸如撥動開關(亦即,如在實體IOT裝置上)
因此,IOT裝置或其關聯BID皆不含有其自身之內建式指令且不「知曉」其進行何種指令或如何進行指令。BID僅含有用於自其他地方安全地擷取指令的機構。BID可僅執行一組簡單動作(以下內容僅為說明性並非具限制性):
●對其自身主控私用密鑰及公用密鑰對之存取;其亦具有其自身(可導出)的BTC位址。
●發送資料至網際網路通訊協定(Internet Protocol,簡稱:IP)位址或自IP位址接收資料的能力
●秘密共用協定計算(如下所述)-在較佳實施例中,此等計算可嵌入於機器程式碼中
●查找及解譯區塊鏈事件
●操作及控制其所附接至(例如,經由本質上僅為一組開關之標準應用程式介面(Application Programming Interface,簡稱:API)的實體裝置
BID之傳入及傳出通信使用如下文所描述之安全性機構進行加密,其使得密鑰能夠使用共用秘密產生。此情形允許:
(i)避免「黑客攻擊」之較大安全性
(ii)簡單通用之軟體升級協定
(iii)裝置不可知論
因此,本發明之此實施例提供在任何IOT裝置中可用之通用作業系統。裝置自身並未經程式化-所有程式經分別儲存,且在設定時間(或在一些實施例中在執行時間)載入至裝置中。
轉至圖1,系統100包含分別列舉為102a及102b之第一用戶端裝置及第二用戶端裝置以及BID控制系統104,該BID控制系統可操作以自第一用戶端裝置102a及第二用戶端裝置102b接收輸入並將資訊傳輸至第一用戶端裝置102a及第二用戶端裝置102b。在此實例使用狀況下,第一用
戶端裝置102a及第二用戶端裝置102b為可藉由BID控制系統104偵測之射頻識別裝置(Radio Frequency Identification,簡稱:RFID)。控制系統104可操作以使用區塊鏈並可操作以傳輸輸出至區塊鏈。
將使用卡羅爾的命名為阿基米德(A)及波特蘭(B)之兩隻犬的實例描述控制系統104之工作方式,兩隻犬整天被單獨留在後院且其在不同時進食時彼此友好,此由於某原因使得犬變得具侵略性且彼此爭鬥。A及B皆具有識別RFID頸圈,即第一RFID頸圈102a及第二RFID頸圈102b,該等頸圈可藉由自動餵食器IOT(物聯網)裝置101偵測。此IOT裝置為施配指定數量之食物以供犬中之一者消耗的自動餵食器,亦即,BID控制系統104控制IOT餵食裝置的操作。
在此實例中,BID 104為提供在IOT自動餵食器上且與餵食器介接以控制其功能之軟體資源或組件。
BID藉由自DHT下載並安裝其指令而開始其使用壽命。其並不需要再次進行此操作,直至彼等指令被修改。舉例而言,當BID需要被升級時或當BID之行為被完全修改時,例如其指令集可能經修改以偵測三個或三個以上RFID信號時,可為以上情形。
控制代理使用藉由BID傳輸之值以產生區塊鏈交易,且亦在每一迭代之後與BID共用新秘密,如下文所解釋。
BID控制系統104之功能使用區塊鏈交易來實施,該區塊鏈交易使用鎖定腳本來鎖定:
OP_HASH160<解鎖腳本散列>OP_EQUAL交易經產生以提供(經由連結至分散式散列表(DHT)之詮釋資料)指令集以控制IOT自動餵食器裝置,且可包括根據下文所描述之內容建立的對計算資源之指令。詮釋資料可包括對可存取指令之位置之指標或參考,而非將指令儲存於交易自身內。因此,指令可「區塊外部」保存。
區塊鏈不僅提供用於控制活動之機構而且記錄關於已發生之事件的資訊,例如:區塊鏈提供對餵食之數目進行計數、餵食發生時間、哪一隻犬進食、是否分配了最大食物分配等的能力。區塊鏈亦提供密碼編譯安全性。
交易之重要功能為確保食物僅在同一時間僅有一隻犬存在於餵食器處的情況下進行分配。因此,某一條件需要被建置至交易之腳本中。此能根據說明於圖2中之真值表藉由XOR函數達成:
●若A及B皆不在餵食器處,則不施配食物
●若A而非B在餵食器處,則施配食物;
●若B而非A在餵食器處,則施配食物;
●若A及B皆在餵食器處,則不施配食物。
當A或B係在餵食器處時,RFID信號自各自用戶端裝置(亦即,第一RFID頸圈102a或第二RFID頸圈102b)傳輸至自動餵食器之控制系統104,以解鎖該犬之安全當前難題解答(其在每一迭代之後藉由新難題解答安全地替換)。若A或B並非在餵食器處,則隨機數替代地自各自RFID頸圈傳輸至餵食器。換言之,大「在餵食器處」意謂其RFID頸圈係在餵食器之可偵測範圍內。若為此狀況,則相關難題經解鎖
以供傳輸。若否,則預設值為隨機數。
難題之解答為如下資料:在經散列時產生一值,該值在與(比特幣)腳本內之所儲存值比較時提供匹配。即,程序為:秘密值(「解答」)經散列,且儲存在鎖定腳本內以供稍後比較。為了解鎖腳本,將秘密呈現給鎖定腳本,該腳本首先散列所呈現之值且接著比較所呈現值與其所儲存散列。若比較判定其為相等的,則比較之結果為「真」。實際上,所儲存值為秘密之雙重散列,且所呈現之值為秘密之單一散列。此情形使得任何長度之秘密能夠被減小為標準可管理大小以供輸入至腳本(亦即,始終為160位元長)。
自動餵食器BID執行其指令,該等指令係使用與BID之密鑰/配對相關之查找密鑰自DHT擷取。控制代理管理至/自BID之資料流(亦即,與RFID信號相關、並與BID之指令集無關的資料)。因此,自動餵食器BID監視其自身之狀態。其儲存接收自分離控制代理103之兩個秘密值(S1及S2)。控制代理103可為經配置以監管餵食程序的經合適程式化之計算資源。秘密值S1及S2在犬之RFID頸圈被偵測到在範圍內時有條件地使用。基於如擷取自適當DHT之指令,在偵測到範圍內之RFID(連同與當日時間;先前餵食之數目;其他約束等相關之其他條件)時,BID發送信號至充當其控制代理的通用代理(參見下文)。信號包括:
●S1(=Puzzle-A-Solution),若阿基米德之RFID被偵測到其他隨機次數時
●S2(=Puzzle-B-Solution),若波特蘭之RFID被偵測到其他隨機次數時
自動餵食器BID接著:
●自動餵食器檢查交易之有效性,或在一些實施例中可檢查網路上之有效交易(其可在或可不在區塊上公開,但在任何情況下其必須為有效交易)。此交易係由控制代理產生且廣播。在嵌入之XOR測試已通過情況下此交易為有效的。若未通過,則交易將為無效的且將不會在區塊鏈網路上之第一「跳點(hop)」外傳播超出。因此,交易將不被BID偵測到。抑或若BID係在第一跳點上且因此交易被偵測到,則BID之功能的部分(如對於任何其他節點)將用於驗證交易。因此,BID將能夠在進行其隨後動作之前偵測交易是否為有效的。有效交易亦保證所需資訊(亦即關於餵食事件)已被儲存並記錄在區塊鏈上。
●若以上答案為真,則BID執行其條件指令-在此狀況下,BID施配某一食物
●自控制代理103接收傳輸從而使得其能夠共用兩個秘密(S1及S2,根據下文),且內部地更新此等秘密值以為下一迭代做好準備。
比特幣交易之鎖定腳本藉由以下各者決定:OP_HASH160<Puzzle-A>OP_EQUAL OP_SWAP
OP_HASH160<Puzzle-B>OP_EQUAL
OP_NUMEQUAL OP_NOT OP_VERIFY
OP_1 metadatal PubK-Carol OP_2 OP_CHECKMULTSIG
其中:Puzzle-A為OP_HASH160之等效結果(Puzzle-A-Solution)
Puzzle-B為OP_HASH160之等效結果(Puzzle-B-Solution)
metadatal含有對儲存於DHT中之經編碼指令的參考。
PubK-Carol為卡羅爾之公用密鑰
請注意,代理之程式化可經寫死(hard coded),或其亦可能自DHT擷取其自身之指令。經編碼之指令可根據下文闡述之程序經儲存並存取,以用於使用詮釋資料參考來自區塊鏈交易的合約。卡羅爾之公用密鑰可經安全地保存,或為可使用下文闡述之程序為重新產生的。
為了解鎖上文所展示之說明性區塊鏈交易,將需要以下腳本:Sig-Carol Puzzle-B-solution Puzzle-A-Solution<unlocking script>為了說明以下步驟請參閱圖3。
控制系統104可操作以在步驟S300中散列所呈現之puzzle-A解答且比較該puzzle-A解答與擷取自儲存區的puzzle-A之所儲存版本(其中該版本為解答之散列)。puzzle-A之所儲存版本可儲存於控制系統104本端之儲存區中,或任何其他合適儲存媒體上。若其相等,則堆疊之頂部=1;且若其不同,則堆疊之頂部=0。
堆疊之頂部接著在步驟S302中與堆疊上之第二項目調換,該第二項目為puzzle-B解答。puzzle-B解答經散列且與擷取自儲存區的puzzle-B之所儲存版本進行比較,從而以類似於來自S300之結果的風格再次將1或0推送至堆疊之頂部上。puzzle-B之所儲存版本可儲存於控制系統104本端之儲存區中,或任何其他合適儲存媒體上。
在此點上,頂部兩個堆疊項目各自為0或1。在
步驟S304中,OP_NUMEQUAL接著在數字相等時傳回1,否則傳回0,其為XOR真值表的剛好為相反真值表。
在步驟S306中,OP_NOT接著在堆疊上翻轉頂部項目以產生需要之XOR結果。
在步驟S308中,OP_VERIFY接著檢查堆疊之頂部上之項目是否為1,且若並非為1,亦即若XOR運算已失敗,則交易立即標記為無效的,此係由於來自第一用戶端裝置及第二用戶端裝置之一個以上單一輸入已傳回匹配之難題解答。此情形之結果為,無食物自IOT施配器經施配,此係由於不止一隻犬在IOT施配器處。換言之,控制系統104之輸出藉由基本比特幣交易的執行來控制。
若OP_VERIFY傳回1,則控制系統104中之處理返回至腳本之多簽名部分,其中在步驟S310中檢查卡羅爾之簽名的存在。
由控制系統104在分析解鎖腳本時執行之堆疊操作在下文予以展示。首先,控制系統104散列解鎖腳本以使用OP_EQUAL比較散列與解鎖腳本的散列。在此之後,接著執行解鎖腳本。
使用共用秘密產生密鑰
密鑰可經安全地保存或重新產生。特定言之,在可用以導出公用密鑰之私用密鑰之狀況下,私用密鑰可分批儲存。
使用者(亦即,愛麗絲或鮑勃)可保持其私用密鑰之一個部分,服務提供商可保持第二部分,且第三部分可保持於遠端安全位點處。私用密鑰可使用三個部分中之任何兩者而重新構成,或更一般化地,私用密鑰可使用n個部分中之任何m個部分重新構成。
若私用密鑰可經重新構成,則其可用以在使用時刻處重新產生公用密鑰,且接著私用密鑰及公用密鑰可在使用之後再次被丟棄。
拆分私用密鑰可使用珊米爾(Shamir)之秘密共用方案來達成。私用密鑰-公用密鑰配對可使用以下方法自主控密鑰確切地導出。此方法使得秘密值能夠在從不傳輸的情況下由參與者共用。
系統可使用如現描述之子密鑰產生之方法產生用於參與者的公用密鑰。
請參閱圖4,其包括第一節點3之系統1,該第一節點在通信網路5上與第二節點7通信。第一節點3具有
關聯之第一處理裝置23,且第二節點5具有關聯之第二處理裝置27。第一節點3及第二節點7可包括電子裝置,諸如電腦、電話、平板電腦、行動通信裝置、電腦伺服器等。在一個實例中,第一節點3可為用戶端(使用者)裝置,且第二節點7可為伺服器。伺服器可為電子錢包提供商之伺服器。
第一節點3係與第一非對稱密碼對相關聯,該第一非對稱密碼對具有第一節點主控私用密鑰(V1C)及第一節點主控公用密鑰(P1C)。第二節點7係與第二非對稱密碼對相關聯,該第二非對稱密碼對具有第二節點主控私用密鑰(V1S)及第二節點主控公用密鑰(P1S)。換言之,第一節點及第二節點各自擁有各自之公用-私用密鑰對。
第一節點3及第二節點7各自之第一及第二非對稱密碼對可在註冊程序(諸如針對電子錢包之註冊)期間產生。每一節點之公用密鑰可經公開地共用,諸如在通信網路5上共用。
為了判定第一節點3及第二節點7兩者處之共同秘密(common secret,簡稱:CS),節點3、7在不在通信網路5上傳達私用密鑰情況下執行各自之方法300、400的步驟。
藉由第一節點3執行之方法300包括基於至少第一節點主控私用密鑰(V1C)及產生器值(Generator Value,簡稱:GV)判定330第一節點第二私用密鑰(V2C)。產生器值可係基於在第一節點與第二節點之間共用之訊息(M),該共用可包括在通信網路5上共用訊息,如下文進一步詳細地描述。該方法300亦包括基於至少第二節點主控公用密鑰(P1S)及產生器值(GV)判定370第二節點第二公用密鑰
(P2S)。方法300包括基於第一節點第二私用密鑰(V2C)及第二節點第二公用密鑰(P2S)判定380共同秘密(CS)。
重要的是,同一共同秘密(CS)亦可藉由方法400在第二節點7判定。方法400包括基於第一節點主控公用密鑰(P1C)及產生器值(GV)判定430第一節點第二公用密鑰(P2C)。方法400進一步包括基於第二節點主控私用密鑰(V1S)及產生器值(GV)判定470第二節點第二私用密鑰(V2S)。方法400包括基於第二節點第二私用密鑰(V2S)及第一節點第二公用密鑰(P2C)判定480共同秘密(CS)。
通信網路5可包括區域網路、廣域網路、蜂巢式網路、無線電通信網路、網際網路等。此等網路在資料可經由諸如電線、光纖之通信媒體傳輸或以無線方式傳輸時可易受到竊取(諸如藉由竊取者11進行之竊取)。方法300、400可允許第一節點3及第二節點7在不在通信網路5上傳輸共同秘密情況下獨立地判定共同秘密。
因此,一個優點為共同秘密(CS)可在不必於潛在不安全之通信網路5上傳輸私用密鑰的情況下藉由每一節點安全且獨立地判定。又,共同秘密可用作秘密密鑰(或作為秘密密鑰之基礎)。
方法300、400可包括額外步驟。請參閱圖8。方法300可包括基於訊息(M)及第一節點第二私用密鑰(V2C),在第一節點3處產生經簽名訊息(signed message,簡稱:SM)(SM1)。方法300進一步包括在通信網路上將第一經簽名訊息(SM1)發送360至第二節點7。
又,第二節點7可執行接收440第一經簽名訊息
(SM1)之步驟。方法400亦包括如下步驟:藉由第一節點第二公用密鑰(P2C)驗證450第一經簽名訊息(SM2),且基於驗證第一經簽名訊息(SM1)之結果而鑑認460第一節點3。有利地,此允許第二節點7鑑認出宣稱之第一節點(在第一經簽名訊息產生時)為第一節點3。此係基於如下假設:僅第一節點3具有對第一節點主控私用密鑰(V1C)之存取,且因此僅第一節點3可判定第一節點第二私用密鑰(V2C)從而產生第一經簽名訊息(SM1)。應瞭解,類似地,第二經簽名訊息(SM2)可產生於第二節點7處,且被發送至第一節點3,使得第一節點3可鑑認出第二節點7,諸如在同級間情境下。
在第一節點與第二節點之間共用訊息(M)可以多種方式達成。在一個實例中,訊息可產生於第一節點3處,該訊息接著在通信網路5上發送至第二節點7。替代地,訊息可產生於第二節點7處,且接著在通信網路5上發送至第二節點7在一些實例中,訊息(M)可為公用訊息,且因此可在不安全網路5上傳輸。一或多個訊息(M)可儲存於資料儲存區13、17、19中。熟習此項技術者將認識到,訊息之共用可以多種方式達成。
有利地,允許共同秘密(CS)之重新產生的記錄可經保持,而無需記錄自身必須經私用地儲存或安全地傳輸。
註冊方法100、200
註冊方法100、200的實例請參閱圖6,其中方法100藉由第一節點3執行,且方法200藉由第二節點7執行。此包括分別針對第一節點3及第二節點7建立之第一及第二非對稱密碼對。
非對稱密碼對包括關聯之私用及公用密鑰,諸如用於公用密鑰加密中的彼等。在此實施例中,非對稱密碼對係使用橢圓曲線密碼學(Elliptic curve cryptography,簡稱;ECC)及橢圓曲線運算之性質產生。
在方法100、200中,此情形包括共識110、210於共同ECC系統上且使用基點(G)的第一節點及第二節點。(請注意,基點可被稱作共同產生器,但術語「基點」用以避免與產生器值GV混淆)。在一個實例中,共同ECC系統可係基於為由比特幣使用之ECC系統的secp256K1。基點(G)可經選擇,隨機地產生或經指派。
現轉至第一節點3,方法100包括選定110共同ECC系統及基點(G)。此可包括自第二節點7或第三節點9接收共同ECC系統及基點。替代地,使用者介面15可與第一節點3相關聯,藉此使用者可選擇性地提供共同ECC系統及/或基點(G)。在又一替代例中,共同ECC系統及/或基點(G)中的一者或兩者可由第一節點3隨機地選擇。第一節點3可在通信網路5上發送指示使用共同ECC系統與基點(G)的通知至第二節點7。又,第二節點7可藉由發送指示對使用共同ECC系統及基點(G)之確認的通知而進行選定(settle)210。
該方法100亦包括第一節點3產生120第一非對稱密碼對,該第一非對稱密碼對包括第一節點主控私用密鑰(V1C)及第一節點主控公用密鑰(P1C)。此包括至少部分基於在共同ECC系統中指定之可允許範圍內的隨機整數而產生第一主控私用密鑰(V1C)。此亦包括根據方程式基於第一節點
主控私用密鑰(P1C)及基點(G)之橢圓曲線點乘而判定第一節點主控公用密鑰(P1C):P1C=V1C×G (等式1)因此,第一非對稱密碼對包括:V1C:藉由第一節點保持秘密之第一節點主控私用密鑰。
P1C:公開知曉之第一節點主控公用密鑰。
第一節點3可將第一節點主控私用密鑰(V1C)及第一節點主控公用密鑰(P1C)儲存於與第一節點3相關聯之第一資料儲存區13中。為了安全性,第一節點主控私用密鑰(V1C)可儲存於第一資料儲存區13之安全部分中以確保密鑰保持為私用的。
方法100進一步包括在通信網路5上發送130第一節點主控公用密鑰(P1C)至第二節點7,請參閱圖6。第二節點7可在接收220第一節點主控公用密鑰(P1C)後將第一節點主控公用密鑰(P1C)儲存230於與第二節點7相關聯之第二資料儲存區17中。
類似於第一節點3,第二節點7之方法200包括產生240第二非對稱密碼對,其包括第二節點主控私用密鑰(V1S)及第二節點主控公用密鑰(P1S)。第二節點主控私用密鑰(V1S)亦為可允許範圍內的隨機整數。又,第二節點主控公用密鑰(P1S)藉由以下方程式判定:P1S=V1S×G (等式2)因此,第二非對稱密碼對包括:V1S:藉由第二節點保持為秘密之第二節點主控私用密鑰。
P1S:公開知曉之第二節點主控公用密鑰。
第二節點7可將第二非對稱密碼對儲存於第二資料儲存區17中。方法200進一步包括發送250第二節點主控公用密鑰(P1S)至第一節點3。又,第一節點3可接收140並儲存150第二節點主控公用密鑰(P1S)。
應瞭解,在一些替代例中,各自之公用主控密鑰可接收並儲存於與第三節點9(諸如:受信任之第三方)相關聯之第三資料儲存區19。此可包括充當公用目錄之第三方,諸如:憑證授權單位。因此,在一些實施例中,第一節點主控公用密鑰(P1C)僅在判定需要共同秘密(CS)時由第二節點7請求並接收(且反之亦然)。
註冊步驟可僅需要作為初始設置而發生一次。
會話起始及藉由第一節點3判定共同秘密
請參閱圖7描述判定共同秘密(CS)之實施例。共同秘密(CS)可用於第一節點3與第二節點7之間的特定會話、時間、交易或其他用途,且使用同一共同秘密(CS)可能並非為合乎需要或安全的。因此,共同秘密(CS)可在不同會話、時間、交易等之間改變。
以下內容為了說明上文已描述之安全傳輸技術而提供。
產生訊息(M)310
在此實施例中,由第一節點3執行之方法300包括產生310訊息(M)。訊息(M)可為隨機、偽隨機,或使用者定義的。在一個實例中,訊息(M)係基於Unix時間及亂數(以及任意值)。舉例而言,訊息(M)可提供為:訊息(M)=UnixTime+亂數 (等式3)
在一些實施例中,訊息(M)為任意的。然而,應瞭解,訊息(M)可具有在一些應用中可有用之選擇性值(諸如:Unix時間等)。
方法300包括在通信網路3上發送315訊息(M)至第二節點7。訊息(M)可在不安全網路上發送,此係由於訊息(M)不包括關於私用密鑰的資訊。
判定產生器值(GV)320
方法300進一步包括基於訊息(M)判定320產生器值(GV)的步驟。在此實例中,此情形包括判定訊息之密碼編譯散列。密碼編譯散列演算法之實施例包括SHA-256以產生256位元之產生器值(GV)。即:GV=SHA-256(M) (等式4)應瞭解,可使用其他散列演算法。此情形可包括安全散列演算法(Secure Hash Algorithm,簡稱:SHA)系列中之其他散列演算法。一些特定實施例包括SHA-3子集中之個例,包括SHA3-224、SHA3-256、SHA3-384、SHA3-512、SHAKE128、SHAKE256。其他散列演算法可包括RACE完整性基本評估訊息摘要(RACE Integrity Primitives Evaluation Message Digest,簡稱:RIPEMD)系列中的彼等。特定實施例可包括RIPEMD-160。其他散列函數可包括基於Zemor-Tillich散列函數及背包式類散列函數的系列。
判定第一節點第二私用密鑰330
方法300接著包括基於第二節點主控私用密鑰(V1C)及產生器值(GV)判定330第一節點第二私用密鑰(V2C)的步驟330。此可係基於第一節點主控私用密鑰(V1C)及產
生器值(GV)根據以下方程式之純量相加:V2C=V1C+GV (等式5)因此,第一節點第二私用密鑰(V2C)並非為隨機值,而是確定性地自第一節點主控私用密鑰。密碼編譯對中之對應公用密鑰(即第一節點第二公用密鑰(P2C))具有以下關係:P2C=V2C×G(等式6)將來自等式5之V2C代入至等式6中提供:P2C=(V1C+GV)×G (等式7)其中「+」運算符指橢圓曲線點加。請注意,橢圓曲線密碼術代數式為分散性的,等式7可表達為:P2C=V1C x G+GV×G (等式8)最後,等式1可經代入至等式7中以提供:P2C=P1C+GV×G (等式9.1)
P2C=P1C+SHA-256(M)×G (等式9.2)因此,對應之第一節點第二公用密鑰(P2C)在已知第一節點主控公用密鑰(P1C)及訊息(M)情況下可導出。第二節點7可具有此知識以獨立地判定第一節點第二公用密鑰(P2C),如下文關於方法400將進一步詳細地論述。
基於訊息及第一節點第二私用密鑰產生第一經簽名訊息(SM1)350
方法300進一步包括基於訊息(M)及所判定之第一節點第二私用密鑰(V2C)而產生350第一經簽名訊息(SM1)。產生經簽名訊息包括應用數位簽名演算法以使訊息(M)以數位方式經簽名。在一個實施例中,此包括將第一節點第二私用密鑰(V2C)應用至橢圓曲線數位簽名演算法
(Elliptic Curve Digital Signature Algorithm,簡稱:ECDSA)中之訊息以獲得第一經簽名訊息(SM1)。ECDSA的實例包括基於具有secp256k1、secp256r1、secp384r1、se3cp521r1之ECC系統的彼等。
第一經簽名訊息(SM1)可在第二節點7處藉由對應第一節點第二公用密鑰(P2C)校驗。第一經簽名訊息(SM1)之此校驗可藉由第二節點7使用以鑑認第一節點3,此將在以下方法400中論述。
判定第二節點第二公用密鑰370'
第一節點3接著可判定370第二節點第二公用密鑰(P2S)。如上文所論述,第二節點第二公用密鑰(P2S)可至少基於第二節點主控公用密鑰(P1S)及產生器值(GV)。在此實例中,由於公用密鑰係藉由橢圓曲線點乘與基點(G)被判定370'為私用密鑰,因此第二節點第二公用密鑰(P2S)可以類似於等式6之樣式表達為:P2S=V2S×G (等式10.1)
P2S=P1S+GV×G(等式10.2)等式10.2之數學證明與上文針對第一節點第二公用密鑰(P2C)之導出等式9.1所描述相同。應瞭解,第一節點3可獨立於第二節點7判定370第二節點第二公用密鑰。
在第一節點3處判定共同秘密380
第一節點3接著可基於所判定之第一節點第二私用密鑰(V2C)及所判定之第二節點第二公用密鑰(P2S)來判定380共同秘密(CS)。共同秘密(CS)可藉由以下方程式由第一節點3來判定:
S=V2C×P2S (等式11)
在第二節點7處執行之方法400
現將描述在第二節點7處執行之對應方法400。應瞭解,此等步驟中之一些類似於由第一節點3執行之上文所論述的彼等步驟。
方法400包括在通信網路5上自第一節點3接收410訊息(M)。此可包括藉由第一節點3在步驟315處發送之訊息(M)。第二節點7接著基於訊息(M)判定420產生器值(GV)。藉由第二節點7判定420產生器值(GV)之步驟類似於由上文所描述之第一節點執行的步驟320。在此實例中,第二節點7獨立於第一節點3執行此判定步驟420。
下一步驟包括基於第一節點主控公用密鑰(P1C)及產生器值(GV)判定430第一節點第二公用密鑰(P2C)。在此實例中,由於公用密鑰係藉由橢圓曲線點乘與基點(G)被判定430'為私用密鑰,因此第一節點第二公用密鑰(P2C)可以類似於等式9之樣式表達為:P2C=V2C×G (等式12.1)
P2C=P1C+GV×G (等式12.2)等式12.1及12.2之數學證明與上文針對等式10.1及10.2論述之彼等相同。
第二節點7鑑認第一節點3
方法400可包括由第二節點7執行以鑑認出宣稱之第一節點3為第一節點3之步驟。如先前所論述,此包括自第一節點3接收440第一經簽名訊息(SM1)。第二節點7接著可藉由在步驟430處判定之第一節點第二公用密鑰(P2C)
驗證450第一經簽名訊息(SM1)上的簽名。
校驗數位簽名可根據如上文所論述之橢圓曲線數位簽名演算法(ECDSA)來進行。重要地,藉由第一節點第二私用密鑰(V2C)簽名之第一經簽名訊息(SM1)應僅由對應之第一節點第二公用密鑰(P2C)正確地校驗,此係由於V2C及P2C形成密碼編譯對。由於該些密鑰關於在第一節點3之註冊時產生之第一節點主控私用密鑰(V1C)及第一節點主控公用密鑰(P1C)係確定的,因此校驗第一經簽名訊息(SM1)可用作鑑認出發送第一經簽名訊息(SM1)之宣稱第一節點為註冊期間之相同第一節點3的基礎。因此,第二節點7可進一步執行基於驗證(450)第一經簽名訊息之結果鑑認(460)第一節點3的步驟。
第二節點7判定共同秘密
方法400可進一步包括第二節點7基於第二節點主控私用密鑰(V1S)及產生器值(GV)判定470第二節點第二私用密鑰(V2S)。類似於由第一節點3執行之步驟330,第二節點第二私用密鑰(V2S)可係基於第二節點主控私用密鑰(V1S)及產生器值(GV)根據以下方程式之純量相加:V2S=V1S+GV (等式13.1)
V2S=V1S+SHA-256(M) (等式13.2)
第二節點7接著可獨立於第一節點3基於以下方程式來基於第二節點第二私用密鑰(V2S)及第一節點第二公用密鑰(P2C)判定480共同秘密(CS):S=V2S×P2C (等式14)
藉由第一節點3及第二節點7判定之共同秘密
(CS)的證明
由第一節點3判定之共同秘密(CS)與第二節點7處判定之共同秘密(CS)相同。現將描述等式11及等式14提供相同共同秘密(CS)之數學證明。
轉至藉由第一節點3判定之共同秘密(CS),等式10.1可如下代入至等式11中:S=V2C×P2S (等式11)
S=V2C×(V2S×G)
S=(V2C×V2S)×G (等式15)
轉至藉由第二節點7判定之共同秘密(CS),等式12.1可如下代入至等式14中:S=V2S×P2C (等式14)
S=V2S×(V2C×G)
S=(V2S×V2C)×G (等式16)
由於ECC代數式為可交換的,因此等式15與等式16為等效的,此是因為:S=(V2C×V2S)×G=(V2S×V2C)×G (等式17)
共同秘密(CS)及秘密密鑰
共同秘密(CS)現可用作秘密密鑰或用作對稱密鑰演算法中之秘密密鑰之基礎以用於第一節點3與第二節點7之間的安全通信。
共同秘密(CS)可呈橢圓曲線點(xs,ys)之形式。此可使用由節點3、7達成共識之標準公用已知操作來轉換成標準密鑰格式。舉例而言,xs值可為一個256位元整數,該256位元整數可用作AES256加密之密鑰。針對需要此長度
密鑰之任何應用,其亦可使用RIPEMD160轉換成160位元整數。
共同秘密(CS)可按需要來判定。重要地,第一節點3並不需要儲存共同秘密(CS),此係由於此可基於訊息(M)被重新判定。在一些實例中,在無需與主控私用密鑰需要之安全性位準相同的位準情況下,所使用之訊息(M)可儲存於資料儲存區13、17、19(或其他資料儲存區)中。在一些實例中,訊息(M)可為公開可得的。
然而,取決於某一應用,假如將共同秘密(CS)保持為與第一節點主控私用密鑰(V1C)一樣安全,共同秘密(CS)可儲存於與第一節點相關聯之第一資料儲存區(X)中。
有利地,此技術可用以基於單一主控密鑰密碼對判定可對應於多個安全秘密密鑰之多個共同秘密。
產生器值(密鑰)之階層
舉例而言,可判定一系列連續產生器值(GV),其中每一連續GV可基於前述產生器值(GV)來判定。
舉例而言,不是重複步驟310至370及410至470,该步驟藉由節點之間的先前共識產生連續的單一用途密鑰,而是先前使用之產生器值(GV)可藉由兩個主體重複地重新散列以建立產生器值之階層。實際上,基於訊息(M)之散列的產生器值可為產生器值之下一層(GV')的下一層訊息(M')。進行此操作允許在不需要進一步協定建立傳輸(詳言之,針對共同秘密之每一層之多個訊息的傳輸)情況下計算共用秘密的連續產生。下一層共同秘密(CS')可如下計算。
首先,第一節點3及第二節點7兩者獨立地判定
產生器值的下一層(GV')。此情形類似於步驟320及420,但藉由以下方程式調適:M'=SHA-256(M) (等式18)
GV'=SHA-256(M') (等式19.1)
GV'=SHA-256(SHA-256(M)) (等式19.2)
第一節點3接著可類似於上文描述之步驟370及330判定第二節點第二公用密鑰之下一層(P2S')及第一節點第二私用密鑰之下一層(V2C'),但藉由以下方程式來調適:P2S'=P1S+GV'×G (等式20.1)
V2C'=V1C+GV' (等式20.2)
第二節點7接著可類似於上文描述之步驟430及470判定第一節點第二公用密鑰之下一層(P2C')及第二節點第二私用密鑰之下一層(V2S'),但藉由以下方程式來調適:P2C'=P1C+GV'×G (等式21.1)
V2S'=V1S+GV' (等式21.2)
第一節點3及第二節點7接著可各自判定下一層共同秘密(CS')。詳言之,第一節點3藉由以下方程式來判定下一層共同秘密(CS'):CS'=V2C'×P2S' (等式22)
第二節點7藉由以下方程式判定下一層共同秘密(CS'):CS'=V2S'×P2C' (等式23)
其他產生(CS"、CS'''等)可以相同方式計算以產生鏈階層。此技術要求,第一節點3及第二節點7追蹤原始訊息(M)或原先計算之產生器值(GV),及原始訊息(M)
或原先計算之產生器值(GV)之相關節點。由於此為公開已知之資訊,因此不存在關於此資訊之保留的安全性問題。因此,此資訊可保持於「散列表」上(從而將散列值連結至公用密鑰),且越過網路5自由地分散(例如:使用Torrent)。此外,如果在階層中之任何個別共同秘密(CS)被破壞了,假如私用密鑰V1C、V1S保持為安全的,那麼此並不影響階層中任何其他共同秘密之安全性,。
密鑰之樹型結構
又如上文所描述之鏈(線性)階層,可產生樹型結構之形式的階層。有了樹型結構,諸如鑑認密鑰、加密密鑰、簽名密鑰、支付密鑰等之用於不同用途的多種密鑰可經判定,因為此等密鑰皆被連結至一個安全維護之主控密鑰。此最佳地說明請參閱圖12,圖12所示具有多種不同密鑰之樹型結構901。此等密鑰中之每一者可用以產生與另一參與者之共用秘密。樹型分支可以若干方式來實現,方式中的三者描述如下。
(i)主控密鑰產生
在鏈階層中,每一新「鏈路」(公用/私用密鑰對)係藉由將多層重新散列訊息添加至原始主控密鑰來產生。舉例而言(出於清晰之目的展示僅第一節點3之私用密鑰):V2C=V1C+SHA-256(M) (等式24)
V2C'=V1C+SHA-256(SHA-256(M)) (等式25)
V2C"=V1C+SHA-256(SHA-256(SHA-256(M))) (等式26)
等等。
為了產生分支,任一密鑰可用作子主控密鑰。舉
例而言,V2C'可藉由將散列相加至其而用作子主控密鑰(V3C),如對於常規主控密鑰所進行一般:V3C=V2C'+SHA-256(M) (等式27)
舉例而言,子主控密鑰(V3C)自身可具有下一層密鑰(V3C'):V3C'=V2C'+SHA-256(SHA-256(M)) (等式28)此使用請參閱圖13中所示之主控密鑰產生方法來提供樹型結構903。
(ii)邏輯關聯
在此方法中,樹中之所有節點(公用/私用密鑰對)係作為鏈(或以任何其他方式)產生,且樹中之節點之間的邏輯關係係藉由一表維持,在該表中,樹中之每一節點使用指標簡單地與樹中之父節點關聯。因此,指標可用以判定相關公用/私用密鑰對從而判定針對會話之共同秘密密鑰(CS)。
(iii)訊息多樣性
新私用/公用密鑰對可藉由在鏈或樹中之任何點處引入新訊息而產生。訊息自身可為任意的,或可攜載某一含義或功能(例如:訊息可能係關於「真實」銀行帳號等)。可為所要的是,用於形成新私用/公用密鑰對之此等新訊息經安全地保留。
編碼方案
交易之詮釋資料可用以訪問儲存於區塊外文獻中之指令。此文獻可被稱作「合約」。用以參考合約之詮釋資料可以多種方式經格式化。然而,此處描述合適編碼方案。
若合約定義之權利被授予合約之持有者或所有者,則合約為可轉讓的。非可轉讓合約之實施例為參與者經命名之合約-即,在權利被賦予特定命名之實體而非合約之持有者時。僅可轉讓合約在此編碼方案中予以論述。
代幣表示特定合約,該合約詳述或定義了合約賦予之權利。根據本發明,代幣是一種比特幣交易形式之合約的表示。
此編碼方法使用包含三個參數或資料項之詮釋資料。此資料可指示:i)依據合約可用之份額的量(此在本文中可被稱作「NumShares」);ii)自發送器傳送至至少一個接收端之轉移單位的量(此在本文中可被稱作「ShareVal」);及iii)用於計算轉移單位之數量之值的因數(此在本文中可被稱作「釘住匯率(pegging rate)」)。
此編碼方案之優點為,其可用以使用僅上文所描述之三個參數來將合約囊封或表示為區塊鏈上之代幣。實際上,合約可使用此等三個資料項中之最小值來指定。由於此編碼方案可用於任何類型之可轉讓合約,因此可設計並應用常見演算法。此等詮釋資料項之另外細節提供如下。
可分之代幣為交易輸出之值可經再分為越過多個代幣分配(亦即,越過多個交易分配)之較小量的代幣。基本貨幣為代幣化之法定通貨。可分合約定義為指定非零PeggingRate之彼等合約。對於可分合約,在交易輸出中傳送之代幣化值經由PeggingRate繫結至基礎比特幣(BTC)值。
即,合約依據釘住匯率指定持有者之權利。對於非可分代幣,不存在PeggingRate,且合約依據固定值指定持有者之權利(例如,類似於無記名債券;「此合約剛好可兌換$1000」或代金券「此合約可兌換一次理髮服務」)。對於非可分合約,基礎交易BTC值與合約值不相關。
片語「基礎BTC值」指附接至交易輸出之比特幣量(BTC)。在比特幣協定中,每一交易輸出必須具有非零BTC量以視為有效的。實際上,BTC量必須大於設定之最小值(被稱為「微額(dust)」),該最小值在寫入時當前設定為546聰(satoshis)。1比特幣定義為等於1億聰。由於比特幣交易此處僅用作促進所有權交換的手段,因此實際基礎BTC量為任意的:真值位於合約規範中。理論上,每一代幣可由微額攜載。
根據本編碼方案,具體言之對於可分之代幣,基礎BTC值的確具有含義:其承載經由PeggingRate與合約值之關係。PeggingRate自身為任意的,且經選擇以便保持基礎BTC量為小的。使用PeggingRate而非簡單地使用基礎每一代幣交易與微額的原因為,因為本發明之協定促進了可分割性:當代幣經拆分成具有較小量之若干交易輸出時,不必要調整原始合約。確切而言,每一經再分代幣之合約值僅基於PeggingRate及基礎BTC值之再分量來計算。
有限代幣為總發行值藉由固定非零份額數目固定(或「限制」)的代幣,該固定非零份額數目由稱為NumShares之數量定義。因此,在有限合約下不能發行其他份額。舉例而言,針對賽馬之部分所有權之合約限於賽馬之100%(例如:
100份額占1%或10份額占10%等)。無限合約暗示,發行者能夠承銷份額之其他發行,該進一步發行例如藉由將需要量之法定通貨添加至其儲備賬戶中。NumShares必須在所有合約上明確地陳述。有限合約必須使NumShares>0;無限合約係藉由設定NumShares=0來指明。
基本貨幣實例為通貨儲備(類似於黃金儲備),使得保存於儲備銀行賬戶中之總值與現有本票中之總值(亦即,未兌換代幣)匹配。此概念擴展超出通貨儲備以包括存貨。舉例而言,許可印製T恤代幣之發行者可以10,000件T恤之存貨開始,且可發行可分之代幣以表示彼等10,000件T恤(即其中每一份額=1件T恤)。原始代幣可經再分且每一經再分代幣將根據如由PeggingRate定義的交易輸出之基礎BTC值兌換數件T恤。然而,若需求增加,則發行者可決定發行其他份額(亦即,在發行額上增加份額之數目達(即)另一10,000件)。在此等狀況下,將另一10,000件T恤存放至儲備賬戶(亦即,庫存倉庫)以便承銷另一發行為發行者之責任。因此,任一時間處的庫存中T恤之總數(在庫存充當「儲備賬戶時」)=未兌換份額之總數。
PeggingRate僅應用至可分合約,其中份額之值(由稱為ShareVal之數量表示)被釘住至基礎BTC量。舉例而言,合約可能指定,發行者承諾以對於每一基礎1BTC以$10,000之比率兌換代幣。彼情形將意謂,例如:具有15,400聰之代幣化基礎輸出值的交易將可兌換$1.54。對於PeggingRate之為0的值指示,合約為非可分的(亦即,可僅被整體轉讓,類似於無記名債券)。當PeggingRate設定為0
(意謂不可分代幣)時,基礎BTC值並非與合約值相關,且可設定為任何量。通常在此狀況下,合乎需要的是使基礎BTC量保持為儘可能地小(亦即,設定為微額)以使操作成本最小化。
NumShares為依據(受限)合約可用之份額的總(固定)數目。對於有限合約,Numshares必須為大於零之整數。對於無限合約,NumShares並非固定的,此係由於更多份額可在任何時間被發行(限制條件為其未經承銷),其藉由將值設定為0來指明。
份額定義為轉移單位,且ShareVal為彼單位之值。舉例而言,對於法定通貨,轉移單位可設定為1分。或,例如,轉移單位亦可設定為50分,在該狀況下,轉移可僅以「許多個」50分執行。ShareVal亦可表達為百分數,例如,若飼養員想要以10個相等份額出售賽馬,則ShareVal=10%。ShareVal必須>0,且必須在合約上予以定義。
TotalIssuance表示發行之份額的總值。此值僅係關於有限合約,此係由於對於無限合約,發行並非為固定的,且更多份額可能被發行。若份額表達為百分數,則藉由定義,TotalIssuance=100%。
對於有限合約,NumShares,ShareVal及TotalIssuance以如下方式相關:NumShares×ShareVal=TotalIssuance。
TotalIssuance之為0的值暗示,其為無限合約。無限合約之實例為法定通貨(因此TotalIssuance設定為0);有限合約之實例為:(i)有限版本之紀念硬幣(1000枚鑄造
硬幣,其中1份額=1枚硬幣):TotalIssuance=1000×1=1000枚硬幣;及(ii)售票場地處之座位,其中TotalIssuance=可用座位的總數。
發行額定義為未耗用之代幣的總值(亦即,如藉由UTXO中之交易所判定-未耗用交易輸出)。所有未耗用之交易的全集保持於可用於所有比特幣節點的清單中。舉例而言,若發行者初始地發行$10,000作為法定通貨類型代幣,且隨著時間兌換了價值為$5500之代幣,則發行額=$4500(未兌換代幣之值)。此值應與關聯儲備賬戶中之餘額一致。
適合於與本發明之實施例一起使用之計算資源(「代理」)之說明性實施例
本發明可利用合適地配置之計算資源(本文中「代理」)以執行所要程序之自動化態樣。合適且較佳代理之實例提供如下,但可使用其他實施。
代理可結合區塊鏈、在杜林機之實施中將區塊鏈用作非可抹除紙帶而操作。此代理與區塊鏈網路並行地執行,從而監管並處理(循環)程序之執行。循環程序經設計以執行給定任務,諸如,程序之自動化或裝置或系統之控制。此並行資源監視區塊鏈之狀態,且可使得交易被寫入至區塊鏈。在一種意義上,其在以下定義及特徵情況下利用區塊鏈作為杜林機之非可抹除紙帶:
1.區塊鏈充當杜林機之紙帶。區塊鏈中之每一交易表示紙帶上之小格。此小格可含有來自有限字母表的符號。
2.紙帶頭端可自區塊讀取資訊,該等區塊已被寫入至區塊鏈上。
3.紙帶頭端可寫入含有許多交易之新區塊至區塊鏈之末端。然而,區塊不可寫入於已存在之區塊上。因此,區塊鏈紙帶為不可抹除的。
4.用於每一交易之詮釋資料可經儲存作為多簽名支付腳本散列(pay-to-script-hash,簡稱:P2SH)交易的部分。
代理之重要功能為充當監視區塊鏈之當前狀態的自動化實體。其亦可接收來自任何區塊外源之信號或輸入。取決於區塊鏈狀態及/或經接收輸入,代理可執行某些動作。代理決定哪(些)動作將被執行。此等可能涉及或可能不涉及「現實世界」(亦即,區塊外)中之動作,及/或區塊鏈上之動作(諸如產生並廣播新交易)。代理進行之動作可藉由區塊鏈狀態觸發。代理亦可決定廣播至比特幣網路,且隨後寫入至區塊鏈的下一交易集合。
代理之動作並行地且與區塊鏈(例如:比特幣)網路同時地執行。在一意義上,此情形能擴展區塊鏈(例如:比特幣)腳本的功能。此連續監視實施「循環」控制流構造,從而使得經組合之代理及區塊鏈系統為杜林完整的。
杜林機包括兩個堆疊:
●資料堆疊:此藉由如上文所述之區塊鏈來表示。
●控制堆疊:此藉由代理功能來表示。此儲存與重複控制流功能相關之資訊。
控制堆疊與資料堆疊之分離提供防止無限循環發生於比特幣核心內之優點,從而減輕服務拒絕攻擊。
代理管理並執行能夠經由任何類型之循環構造(例如:FOR-NEXT、REPEAT UNTIL等)進行循環的子常式。
本文中所述之說明性實施例包括使用「重複」構造之一個實例的程序。使用者可指定索引(i)及限值(J)。此等分別表示當前迭代數目(通常自0開始計數)及重複循環之迭代的總數。
對於每一迭代:
1.索引遞增1。對於退出條件,迭代將在索引達到限值時停止
2.執行含有「若條件則動作」(If condition then action,簡稱:ICTA)陳述之程式碼區塊;動作可為區塊鏈上或區塊鏈外之任何動作;
3.計算此子常式之密碼編譯散列。此可作為交易之部分儲存於區塊鏈中。由於散列對於每一程式碼為獨特的,因此其將實現對已被使用之程式碼的校驗
循環之本體包括程式碼區塊。每一程式碼區塊含有「若條件則動作」(ICTA)陳述。此監視區塊鏈之當前狀態以用於交易匹配:
●開始或觸發條件(例如,當達到特定日期時)。
●重複條件(亦即,與先前迭代相關聯之詮釋資料或散列)。
●停止條件(亦即,循環之上一迭代)。
ICTA陳述使得代理能夠基於區塊鏈之當前狀態決定進行之下一交易。進行下一交易涉及將交易廣播至比特幣網路上,且將新交易寫入至區塊鏈上。此充當此迭代已被執行之記錄。一旦交易已被寫入至區塊鏈上,則管理器將隨後發現先前迭代已被執行且寫入至區塊鏈上,且將執行下一
迭代。下一迭代繼續,直至重複循環在索引(i)達到指定於程式碼區塊中之限值(J)時退出。
每一交易以可重新使用之方式在區塊鏈中進行保存。在比特幣實施中,交易中之每一簽名附加有SIGHASH旗標。此旗標可採用不同值,每一值指示交易之其他部分在不涉及此簽名之所有者的情況下是否可經修正。可重新使用之交易在交易輸入中之一者中具有SIGHASH旗標「SigHash_AnyoneCanPay」。此准許任何人促成交易之輸入。此參數使得代理之ICTA功能多次且在不同輸入情況下被執行且重複。功能之使用可被約束至經授權主體-例如,經由可重新使用交易之版權。
ICTA程式碼區塊之「若條件」區段可監視任何類型之條件。此類似於其他程式設計語言(例如,C、C++、Java),且不限於儲存於區塊鏈上之資訊。舉例而言,其可監視日期及時間(亦即,當某日期及時間到達時),或監視天氣(亦即,當溫度低於10℃且正下雨時),監視合約或信託之條件(亦即,當公司A購買公司B時)。
ICTA程式碼區塊之「則動作」區段可執行數個動作。本發明不限制可進行之動作的數目或類型。動作不限於區塊鏈上之交易,但含有與動作相關之詮釋資料的交易可被寫入於區塊鏈上。
詮釋資料可具有任何形式。然而,在一個實施例中,詮釋資料可儲存檔案之超鏈路,該檔案含有與動作相關之更多資料或指令。詮釋資料可一起儲存動作之散列和散列表之超鏈路,該散列表含有與動作相關之更多資料或指令,
該動作之散列充當散列表之循環密鑰。
代理之控制堆疊可以對於每一使用者之需要特定之數種方式來實施。舉例而言,控制堆疊之重複循環可係基於圖靈完整語言。語言之一個可能選擇為福斯風格地基於堆疊之語言。使用此語言之優點為,其使控制堆疊與比特幣腳本在程式設計風格上一致,該等比特幣腳本已知曉且廣泛使用。
使用比特幣腳本的替代堆疊作為資料儲存空間
比特幣腳本含有亦被稱作作業碼之命令,其使得使用者能夠將資料移動至被稱為「替代堆疊(alt stack)」之替代性堆疊。
作業碼為:
●OP_TOALTSTACK-其將資料自主要堆疊之頂部移動至交替堆疊之頂部上。
●OP_FROMALTSTACK-其將資料自替代堆疊之頂部移動至主要堆疊之頂部。
類似於允許資料儲存於計算器上之「記憶體」功能,此使得來自計算之中間步驟的資料能儲存於交替堆疊中。在一個實施例中,交替堆疊用於配置比特幣腳本以求解小的計算任務並傳回計算之結果。
使用程式碼暫存器以管理代理
代理亦管理其擁有並執行之所有程式碼的註冊表。此註冊表類似於使特定密鑰映射至特定值之查找表或詞典來建構。密鑰與值對分別藉由程式碼區塊的散列(H1)與儲存程式碼之Ipv6位址來表示。為了使用密鑰H1擷取程式碼
區塊,查找表用以擷取關聯值(此為儲存程式碼之位置)並相應地擷取源程式碼。程式碼註冊表之實施可發生變化。
代理之程式碼之交易詮釋資料,及循環之重新產生
在特定迭代處重新產生代理之循環所需要的資訊作為詮釋資料儲存於記錄於區塊鏈上之交易中。
以此方式,區塊鏈上之交易儲存或提供資訊之存取,該資訊關於正在代理上執行之循環之給定迭代。此資訊可包括與循環相關聯之任何變數(諸如:索引i)的值及任何其他必要資訊,如針對用於程式碼區塊中之參數的值或指定進一步需要之資訊可被存取之位置的位置相關資料。
詮釋資料自身作為多簽名支付腳本散列腳本(P2SH)的部分儲存於交易中。藉由交易記錄之詮釋資料亦給予了記錄程式碼審計追蹤该記錄程式碼在過去被執行之方式的能力。
存在代理可在每一迭代處重新產生重複循環程式碼區塊的若干方式。程式碼區塊可經寫死至代理自身中,或可儲存於私用或公用可得之檔案中,或經儲存作為私用或公用散列表檔案中之項目,或以上之組合。程式碼區塊在具有經寫死變數情況下可為靜態的,或可為靜態的但含有可經填充之參數。參數可為具有任何資料格式之單值,或可為小塊程式碼,或以上之組合。參數可藉由以下操作來填充:直接自交易(例如:比特幣交易)中之詮釋資料,或自諸如內部資料庫或私用/公用檔案或散列表的外部源擷取參數,或以上之任何組合。對參數值之外部源之指標可儲存於交易中的
詮釋資料中。
以下步驟提供代理可在第i迭代處重新產生重複循環程式碼區塊之方式的一個實例。在此實例中,程式碼註冊表為散列表,藉此散列值充當表之查找密鑰,且被儲存於交易上之詮釋資料中。
1.代理監視區塊鏈以找到含有程式碼區塊之散列的交易,該程式碼區塊與程式碼註冊表中之項目匹配。
2.代理發現含有對應散列(H1)之交易。
3.代理讀取「Metadata-CodeHash」,獲得CodeHash欄位以獲得H1,且將其用以擷取程式碼(C1)。若RIPEMD-160(SHA256(C1))等於H1,則程式碼尚未改變,且進行至下一步驟為安全的。
4.代理讀取儲存索引I之「Metadata-CodeHash」,且在第i迭代處重新產生程式碼。換言之,在適當迭代處「重新載入」循環
5.將使用者之簽名包括於P2SH命令中以校驗詮釋資料的起源。
6.在此等資料需要用於循環之此迭代情況下,代理讀取「Metadata-OutputHash」及「Metadata-OutputPointer」以擷取先前步驟之輸出。
應瞭解,基於上述變化之不同組合,存在用於實施比特幣閘之許多不同型樣。以下情形為僅出於說明的型樣選擇,且並不意欲為限制性的。取決於型樣之特定屬性及閘邏輯之所欲使用,每一型樣可適合於實施一種類型之閘,或適用於若干類型之閘或適用於所有類型之閘:
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代性實施例而不偏離本發明之如由附加申請專利範圍定義的許多替代性實施例。在申請專利範圍中,置放於圓括號中的任何參考標識不應被認作限制申請專利範圍。詞語「包含」及其類似者並不排除除任何請求項或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含(comprise、comprising)」意謂「包括或由......組成」。對元件之單數參考並不排除此類元件之複數參考,且反之亦然。本發明可借助於包含若干獨特元件之硬體且借助於經合適程式化之電腦實施。在枚舉若干構件之裝置項中,此等構件中之若干者可藉由硬體之同一項目來體現。某些措施敍述於彼此不同之附屬請求項中的純粹實情並不指示此等措施之組合不可有利地使用。
100‧‧‧系統/註冊方法
101‧‧‧自動餵食器IOT裝置
102a‧‧‧第一用戶端裝置/第一射頻識別裝置(RFID)頸圈
102b‧‧‧第二用戶端裝置/第二射頻識別裝置(RFID)頸圈
103‧‧‧控制代理
104‧‧‧區塊鏈IOT裝置(BID)控制系統
Claims (19)
- 一種電腦實施之控制方法,其包含以下步驟:在一第一區塊鏈交易中提供一鎖定腳本,該鎖定腳本包含經配置以處理至少一個布林輸入的至少一個指令;提供具有一解鎖腳本之一另一區塊鏈交易;處理至少一個輸入信號以提供至少一個布林輸入;使用該至少一個布林輸入來執行該第一區塊鏈交易的該鎖定腳本及該另一區塊鏈交易的該解鎖腳本。
- 如申請專利範圍第1項之電腦實施之控制方法,其中處理該至少一個輸入信號以提供該至少一個布林輸入的該步驟藉由以下各者執行:i)該另一區塊鏈交易之該解鎖腳本;或ii)至少一個計算資源或代理。
- 如申請專利範圍第1項或第2項之電腦實施之控制方法,且包含如下步驟:傳輸該另一區塊鏈交易及/或第一區塊鏈交易至一區塊鏈網路以供驗證。
- 如申請專利範圍第1項至第3項中任一項之電腦實施之控制方法,且包含以下步驟:監視或搜尋該區塊鏈或區塊鏈網路以判定該另一區塊鏈交易的存在或不存在。
- 如申請專利範圍第3項或第4項之電腦實施之控制方法,且包含如下步驟:基於以下兩者,提供經配置以影響一裝置或程序之行為的一計算資源: 該另一區塊鏈交易在該區塊鏈或區塊鏈網路內之偵測;及/或該另一區塊鏈交易的有效性。
- 如申請專利範圍第3項至第5項之電腦實施之控制方法,且包含如下步驟:將在該區塊鏈或區塊鏈網路內偵測到該另一區塊鏈交易解譯為一邏輯閘的真輸出。
- 如申請專利範圍第1項至第6項中任一項之電腦實施之控制方法,其中該另一區塊鏈交易在一區塊鏈網路內之驗證取決於該解鎖腳本之該執行。
- 如申請專利範圍第1項至第7項中任一項之電腦實施之控制方法,且包含以下步驟:基於該另一區塊鏈交易之該有效性控制一裝置或程序,其中該有效性係藉由以下各者來判定或建立:一基於電腦之控制代理,或監視該區塊鏈網路以判定該區塊鏈網路是否已由一網路節點驗證,及/或監視該區塊鏈之狀態以判定該交易是否已被寫入至該區塊鏈。
- 如申請專利範圍第1項至第8項中任一項之方法,其中該鎖定腳本中之該至少一個指令經配置以實施一邏輯閘之真值表。
- 如申請專利範圍第9項之電腦實施之控制方法,其中該閘為一OR閘、XOR閘、NAND閘、NOR閘、一NOT閘、一XNOR閘、一IMPLY閘或一反蘊含閘。
- 如申請專利範圍第9項之方法,其中該邏輯閘為一AND閘。
- 如申請專利範圍第1項至第11項中任一項之電腦實施之控制方法,其中該至少一個輸入包含一數值、一恆定值、一散列函數之一結果、一密碼編譯密鑰、一區塊鏈難題,及/或一比特幣其他區塊鏈相關位址。
- 如申請專利範圍第1項至第12項中任一項之電腦實施之控制方法,其中該第一區塊鏈交易及/或另一區塊鏈交易係藉由一基於計算之資源執行之一自動化程序而產生及/或傳輸至一區塊鏈網路。
- 如申請專利範圍第1項至第13項中任一項之電腦實施之控制方法,其中該至少一個指令:包含一布林條件或運算子;及/或使用一基於堆疊之程式設計語言來撰寫及/或執行。
- 一種電腦實施之系統,其經配置以實施如申請專利範圍中第1項至第15項之方法。
- 一種電腦實施之控制系統,其併有在一區塊鏈上實施或使用一區塊鏈之一布林計算或運算,該布林計算或運算包含:一區塊鏈交易,其包含:至少一個輸入;及至少一個指令,其經選擇以便藉由處理該至少一個輸入以提供至少一個布林輸出而實施一布林真值表之功能。
- 如申請專利範圍第18項之電腦實施之控制系統,其中該真值表為一OR閘、XOR閘、NAND閘、NOR閘、一NOT閘、IMPLY閘、NOT IMPLY閘或XNOR閘之真值表。
- 如申請專利範圍第19項之電腦實施之控制系統,其中該 真值表為一AND閘之真值表。
- 如申請專利範圍第16項至第18項之電腦實施之控制系統,其中:該布林輸出為一布林值;或該至少一個指令提供於與該區塊鏈交易相關聯之一腳本內,較佳地其中該腳本為一鎖定腳本。
Applications Claiming Priority (40)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1607564.0 | 2016-04-29 | ||
GBGB1607472.6A GB201607472D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607584.8A GB201607584D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607553.3A GB201607553D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607552.5A GB201607552D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607520.2 | 2016-04-29 | ||
GB1607527.7 | 2016-04-29 | ||
GBGB1607561.6A GB201607561D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607584.8 | 2016-04-29 | ||
GBGB1607569.9A GB201607569D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607530.1 | 2016-04-29 | ||
GB1607538.4 | 2016-04-29 | ||
GB1607555.8 | 2016-04-29 | ||
GB1607539.2 | 2016-04-29 | ||
GBGB1607537.6A GB201607537D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607529.3A GB201607529D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607561.6 | 2016-04-29 | ||
GB1607525.1 | 2016-04-29 | ||
GBGB1607520.2A GB201607520D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607472.6 | 2016-04-29 | ||
GBGB1607566.5A GB201607566D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607553.3 | 2016-04-29 | ||
GBGB1607564.0A GB201607564D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607558.2A GB201607558D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607558.2 | 2016-04-29 | ||
GB1607537.6 | 2016-04-29 | ||
GBGB1607530.1A GB201607530D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607541.8A GB201607541D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607554.1A GB201607554D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607554.1 | 2016-04-29 | ||
GB1607566.5 | 2016-04-29 | ||
GB1607552.5 | 2016-04-29 | ||
GBGB1607555.8A GB201607555D0 (en) | 2016-04-29 | 2016-04-29 | Implementing loic gate functionality using a blockchain |
GBGB1607538.4A GB201607538D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607529.3 | 2016-04-29 | ||
GB1607541.8 | 2016-04-29 | ||
GBGB1607539.2A GB201607539D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GBGB1607527.7A GB201607527D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
GB1607569.9 | 2016-04-29 | ||
GBGB1607525.1A GB201607525D0 (en) | 2016-04-29 | 2016-04-29 | Implementing logic gate functionality using a blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201741956A true TW201741956A (zh) | 2017-12-01 |
TWI770022B TWI770022B (zh) | 2022-07-11 |
Family
ID=58670105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106114274A TWI770022B (zh) | 2016-04-29 | 2017-04-28 | 電腦實施之控制方法、系統及控制系統 |
Country Status (13)
Country | Link |
---|---|
US (5) | US11341484B2 (zh) |
EP (6) | EP3449450B1 (zh) |
JP (3) | JP2019517175A (zh) |
KR (1) | KR102416506B1 (zh) |
CN (4) | CN109074576A (zh) |
AU (1) | AU2017257448B2 (zh) |
BR (1) | BR112018071743A2 (zh) |
CA (1) | CA3019270A1 (zh) |
GB (3) | GB2564198A (zh) |
SG (2) | SG11201809115RA (zh) |
TW (1) | TWI770022B (zh) |
WO (3) | WO2017187399A1 (zh) |
ZA (2) | ZA201807089B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978688A (zh) * | 2017-12-28 | 2019-07-05 | 财团法人工业技术研究院 | 分布式共识系统之访问控制方法及其契约产生器与服务器 |
US10554413B2 (en) | 2018-04-03 | 2020-02-04 | Alibaba Group Holding Limited | Cross-blockchain authentication method and apparatus, and electronic device |
TWI701618B (zh) * | 2019-01-09 | 2020-08-11 | 台灣海耶克股份有限公司 | 以任務階層分配資源的方法 |
TWI722554B (zh) * | 2019-09-03 | 2021-03-21 | 橘橘鏈科技股份有限公司 | 證券型代幣協議系統及其代幣化方法 |
TWI722553B (zh) * | 2019-09-03 | 2021-03-21 | 橘橘鏈科技股份有限公司 | 實質資產轉換成加密資產之裝置 |
TWI831760B (zh) * | 2017-12-15 | 2024-02-11 | 安地卡及巴布達商區塊鏈控股有限公司 | 用以基於證明驗證認證鏈外資料之系統及方法 |
TWI840358B (zh) * | 2018-05-14 | 2024-05-01 | 安地卡及巴布達商區塊鏈控股有限公司 | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10354325B1 (en) | 2013-06-28 | 2019-07-16 | Winklevoss Ip, Llc | Computer-generated graphical user interface |
US9898782B1 (en) | 2013-06-28 | 2018-02-20 | Winklevoss Ip, Llc | Systems, methods, and program products for operating exchange traded products holding digital math-based assets |
US10068228B1 (en) | 2013-06-28 | 2018-09-04 | Winklevoss Ip, Llc | Systems and methods for storing digital math-based assets using a secure portal |
WO2017187399A1 (en) * | 2016-04-29 | 2017-11-02 | nChain Holdings Limited | Implementing logic gate functionality using a blockchain |
EP3361672B1 (en) * | 2017-02-10 | 2020-06-17 | Nokia Technologies Oy | Blockchain-based authentication method and system |
WO2018145168A1 (en) * | 2017-02-10 | 2018-08-16 | New Trust Ip Limited | A distributed block chain cryptocurrency system for securement against unauthorised transactions |
US11816642B2 (en) * | 2017-03-20 | 2023-11-14 | Steven Victor Wasserman | Blockchain digital currency: systems and methods for use in enterprise blockchain banking |
CN118569851A (zh) * | 2017-05-22 | 2024-08-30 | 区块链控股有限公司 | 将未确定来源的未确定数据安全地提供到区块链交易的锁定脚本中 |
JP7220678B2 (ja) | 2017-07-07 | 2023-02-10 | エヌチェーン ライセンシング アーゲー | ブロックチェーン上で高レベル演算を提供する方法及びシステム |
EP3683707A4 (en) * | 2017-09-14 | 2020-10-14 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM |
SG11202004147RA (en) * | 2017-11-09 | 2020-06-29 | Nchain Holdings Ltd | System for securing verification key from alteration and verifying validity of a proof of correctness |
US11227457B2 (en) * | 2017-12-02 | 2022-01-18 | International Business Machines Corporation | Blockchain managed storage |
GB201720753D0 (en) | 2017-12-13 | 2018-01-24 | Nchain Holdings Ltd | Computer-implemented system and method |
US11049182B2 (en) | 2017-12-28 | 2021-06-29 | Chicago Mercantile Exchange Inc. | Secure deterministic tokens for electronic messages |
US10373158B1 (en) | 2018-02-12 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
US10438290B1 (en) | 2018-03-05 | 2019-10-08 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11308487B1 (en) | 2018-02-12 | 2022-04-19 | Gemini Ip, Llc | System, method and program product for obtaining digital assets |
US10373129B1 (en) | 2018-03-05 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11909860B1 (en) | 2018-02-12 | 2024-02-20 | Gemini Ip, Llc | Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US11200569B1 (en) | 2018-02-12 | 2021-12-14 | Winklevoss Ip, Llc | System, method and program product for making payments using fiat-backed digital assets |
US11475442B1 (en) | 2018-02-12 | 2022-10-18 | Gemini Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
US10540654B1 (en) | 2018-02-12 | 2020-01-21 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
JP6949249B2 (ja) * | 2018-04-16 | 2021-10-13 | ビーシー ディベロップメント ラボズ ゲーエムベーハー | 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク |
US11132707B2 (en) | 2018-04-25 | 2021-09-28 | At&T Intellectual Property I, L.P. | Blockchain solution for an automated advertising marketplace |
US11005646B2 (en) | 2018-05-23 | 2021-05-11 | International Business Machines Corporation | Blockchain stochastic timer transaction synchronization |
CN108701270A (zh) * | 2018-05-30 | 2018-10-23 | 深圳市元征科技股份有限公司 | 维修厂的管理方法、系统及数据管理服务器 |
WO2020006138A1 (en) * | 2018-06-29 | 2020-01-02 | Arcblock, Inc. | Blockchain adapter, protocol, and access layer |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
US11276059B2 (en) * | 2018-07-31 | 2022-03-15 | Molten Inc. | System and method for autonomous sustenance of digital assets |
EP3654578B1 (en) | 2018-11-16 | 2022-04-06 | SafeTech BV | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information |
US11133983B2 (en) * | 2018-12-14 | 2021-09-28 | T-Mobile Usa, Inc. | Provisioning edge devices in a mobile carrier network as compute nodes in a blockchain network |
US11042147B2 (en) * | 2019-01-15 | 2021-06-22 | Fisher-Rosemount Systems, Inc. | Machine-to-machine transactions using distributed ledgers in process control systems |
US20200389435A1 (en) * | 2019-03-01 | 2020-12-10 | Syntegrity Networks Inc. | Auditing smart bits |
US11611584B2 (en) | 2019-03-01 | 2023-03-21 | Cloudentity, Inc. | Smart bits |
US11228446B2 (en) | 2019-05-10 | 2022-01-18 | Advanced New Technologies Co., Ltd. | Blockchain-based reconciliation method and apparatus and electronic device |
US11153621B2 (en) | 2019-05-14 | 2021-10-19 | At&T Intellectual Property I, L.P. | System and method for managing dynamic pricing of media content through blockchain |
GB201907345D0 (en) | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | Protocol for validating blockchain transactions |
CN110225016B (zh) * | 2019-05-31 | 2020-05-19 | 北京理工大学 | 一种基于区块链网络的数据隐蔽传输方法 |
GB201913143D0 (en) * | 2019-09-12 | 2019-10-30 | Nchain Holdings Ltd | Running a program from a blockchain |
US11954681B2 (en) * | 2019-09-30 | 2024-04-09 | Southeast University | Blockchain-enhanced open internet of things access architecture |
US11556618B2 (en) | 2020-02-18 | 2023-01-17 | At&T Intellectual Property I, L.P. | Split ledger software license platform |
US12015602B2 (en) | 2021-08-16 | 2024-06-18 | Bank Of America Corporation | Information security system and method for secure data transmission among user profiles using a blockchain network |
GB2628366A (en) * | 2023-03-21 | 2024-09-25 | Nchain Licensing Ag | Determining a system state using a blockchain |
GB2628365A (en) * | 2023-03-21 | 2024-09-25 | Nchain Licensing Ag | Determining a system state using a blockchain |
KR102598503B1 (ko) * | 2023-05-02 | 2023-11-07 | 주식회사 오에스정보통신 | 블록체인을 이용한 통합배선반 관리 시스템, 블록체인 기반의 분산저장 처리장치 및 방법 |
TWI835704B (zh) * | 2023-10-02 | 2024-03-11 | 安瀚科技股份有限公司 | 執行硬體電子錢包之非同質化代幣預設鑄造授權之系統與方法 |
Family Cites Families (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE38451E1 (en) * | 1993-11-12 | 2004-03-02 | Altera Corporation | Universal logic module with arithmetic capabilities |
US8339287B2 (en) * | 2002-03-29 | 2012-12-25 | Inputive Corporation | Device to control an electronic or computer system utilizing a fluid flow and a method of manufacturing the same |
US7096216B2 (en) | 2002-07-20 | 2006-08-22 | Microsoft Corporation | Performing operations on a set of objects in a database system |
US20040215650A1 (en) | 2003-04-09 | 2004-10-28 | Ullattil Shaji | Interfaces and methods for group policy management |
US7627644B2 (en) | 2003-11-28 | 2009-12-01 | Canon Kabushiki Kaisha | Recipient-centred proactive caching in a peer-to-peer system |
US7526672B2 (en) | 2004-02-25 | 2009-04-28 | Microsoft Corporation | Mutual exclusion techniques in a dynamic peer-to-peer environment |
TWI351864B (en) * | 2005-03-25 | 2011-11-01 | Via Tech Inc | Apparatus and method for employing cyrptographic f |
EP2247067B1 (en) * | 2005-06-09 | 2016-05-11 | Whirlpool Corporation | Appliance with embedded virtual router |
CA3074633C (en) | 2005-07-15 | 2022-11-08 | Indxit Systems, Inc. | Systems and methods for data indexing and processing |
ATE472212T1 (de) * | 2005-11-08 | 2010-07-15 | Irdeto Access Bv | Verfahren zur verschlüsselung und entschlüsselung von dateneinheiten |
US20070136155A1 (en) | 2005-11-30 | 2007-06-14 | Microsoft Corporation | Financial dimension sets and hierarchies |
US7298170B2 (en) * | 2005-12-30 | 2007-11-20 | Honeywell International Inc. | Safety system based on reconfigurable array of logic gates |
US7761277B2 (en) | 2006-09-14 | 2010-07-20 | International Business Machines Corporation | System and method for improved logic simulation using a negative unknown boolean state |
US8185749B2 (en) | 2008-09-02 | 2012-05-22 | Apple Inc. | System and method for revising boolean and arithmetic operations |
US8407723B2 (en) * | 2009-10-08 | 2013-03-26 | Tibco Software, Inc. | JAVA virtual machine having integrated transaction management system and facility to query managed objects |
US9063978B1 (en) | 2009-10-16 | 2015-06-23 | Igor US Inc. | Apparatuses, methods and systems for a financial transaction tagger |
US8301880B2 (en) | 2009-11-09 | 2012-10-30 | Cisco Technology, Inc. | Certificate enrollment with purchase to limit sybil attacks in peer-to-peer network |
US8782429B2 (en) * | 2009-12-23 | 2014-07-15 | Ab Initio Technology Llc | Securing execution of computational resources |
US20110218891A1 (en) | 2010-03-02 | 2011-09-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Displaying prepaid account information at mobile station |
FR2964929B1 (fr) * | 2010-09-17 | 2012-09-28 | Renault Sa | Procede de commande de l'affichage au tableau de bord des rapports de transmission d'une boite de vitesse automatique et systeme associe |
US8261085B1 (en) * | 2011-06-22 | 2012-09-04 | Media Patents, S.L. | Methods, apparatus and systems to improve security in computer systems |
WO2013172790A1 (en) | 2012-05-16 | 2013-11-21 | Nanyang Technological University | Methods for determining a result of applying a function to an input and evaluation devices |
US20170220998A1 (en) * | 2012-06-14 | 2017-08-03 | Gregory William Horn | Automated service management system with rule-based, cascading action requests |
US20150379510A1 (en) | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
CN103576076B (zh) * | 2012-07-27 | 2019-02-01 | 恩智浦美国有限公司 | 用于执行扫描测试的系统和方法 |
JP5896342B2 (ja) * | 2012-09-04 | 2016-03-30 | 富士ゼロックス株式会社 | 情報処理装置、証跡収集システム及びプログラム |
US9282693B2 (en) | 2013-02-20 | 2016-03-15 | Deere & Company | Data encoding with planting attributes |
WO2014201059A1 (en) * | 2013-06-10 | 2014-12-18 | Certimix, Llc | Secure storing and offline transfering of digitally transferable assets |
GB2514716A (en) | 2013-10-25 | 2014-12-03 | Univ Stellenbosch | System and method for monitoring third party access to a restricted item |
US9569616B2 (en) | 2013-12-12 | 2017-02-14 | Cryptography Research, Inc. | Gate-level masking |
WO2015106285A1 (en) | 2014-01-13 | 2015-07-16 | Yago Yaron Edan | Verification method |
FR3018370A1 (fr) * | 2014-03-07 | 2015-09-11 | Enrico Maim | Procede et systeme de generation automatique de crypto-monnaies |
FR3018378A1 (fr) | 2014-03-12 | 2015-09-11 | Enrico Maim | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
FR3018379A1 (fr) | 2014-03-07 | 2015-09-11 | Enrico Maim | Systeme et procedes transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses |
WO2015142765A1 (en) * | 2014-03-17 | 2015-09-24 | Coinbase, Inc | Bitcoin host computer system |
US9858569B2 (en) | 2014-03-21 | 2018-01-02 | Ramanan Navaratnam | Systems and methods in support of authentication of an item |
SG11201707861UA (en) | 2014-03-25 | 2017-10-30 | Botanic Tech Inc | Systems and methods for executing cryptographically secure transactions using voice and natural language processing |
WO2015144971A1 (en) | 2014-03-27 | 2015-10-01 | Nokia Technologies Oy | Method and apparatus for automatic inter-device authorisation |
US11270298B2 (en) * | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US9830593B2 (en) * | 2014-04-26 | 2017-11-28 | Ss8 Networks, Inc. | Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping |
EP4148642A1 (en) * | 2014-05-09 | 2023-03-15 | Veritaseum, Inc. | Devices, systems, and methods for facilitating low trust and zero trust value transfers |
ZA201502969B (en) | 2014-05-09 | 2016-01-27 | Univ Stellenbosch | Enabling a user to transact using cryptocurrency |
US10340038B2 (en) | 2014-05-13 | 2019-07-02 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain, systems and methods |
US9818092B2 (en) * | 2014-06-04 | 2017-11-14 | Antti Pennanen | System and method for executing financial transactions |
US10275772B2 (en) * | 2014-06-16 | 2019-04-30 | Bank Of America Corporation | Cryptocurrency risk detection system |
KR101626276B1 (ko) * | 2014-06-17 | 2016-06-01 | 어준선 | 디지털 화폐와 연동되어 디지털 컨텐츠를 생성, 제공, 재생하기 위한 방법, 이를 이용한 단말 및 컴퓨터 판독 가능한 기록 매체 |
GB201413284D0 (en) | 2014-07-28 | 2014-09-10 | Pardi Tibor Z And Zovolt Ltd | System to interact with internet of things decices using block-chain based smart contracts and digital currencies |
US20160086175A1 (en) | 2014-09-22 | 2016-03-24 | Qualcomm Incorporated | Peer-to-peer transaction system |
GB201416822D0 (en) | 2014-09-24 | 2014-11-05 | Byrne Preston J | Self-operating smart contract platform |
US20160098723A1 (en) | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
EP4446968A2 (en) * | 2014-10-02 | 2024-10-16 | ecoATM, LLC | Wireless-enabled kiosk for recycling consumer devices |
CN104392354B (zh) * | 2014-11-05 | 2017-10-03 | 中国科学院合肥物质科学研究院 | 一种公钥地址与用户账号的关联和检索方法及其系统 |
CN104320262B (zh) * | 2014-11-05 | 2017-07-21 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
US20160217436A1 (en) | 2015-01-25 | 2016-07-28 | Dror Samuel Brama | Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems. |
US9641338B2 (en) | 2015-03-12 | 2017-05-02 | Skuchain, Inc. | Method and apparatus for providing a universal deterministically reproducible cryptographic key-pair representation for all SKUs, shipping cartons, and items |
WO2016161073A1 (en) | 2015-03-31 | 2016-10-06 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
US9942046B2 (en) | 2015-05-06 | 2018-04-10 | 21, Inc. | Digital currency mining circuitry with adaptable difficulty compare capabilities |
US9735958B2 (en) | 2015-05-19 | 2017-08-15 | Coinbase, Inc. | Key ceremony of a security system forming part of a host computer for cryptographic transactions |
US20160358267A1 (en) | 2015-06-02 | 2016-12-08 | Elwha Llc | Machine/article/composition/process state(s) for tracking philanthropic and/or other efforts |
GB2540975A (en) | 2015-07-31 | 2017-02-08 | British Telecomm | Mitigating blockchain attack |
EP3125489B1 (en) | 2015-07-31 | 2017-08-09 | BRITISH TELECOMMUNICATIONS public limited company | Mitigating blockchain attack |
US10937023B2 (en) | 2015-10-15 | 2021-03-02 | Paypal, Inc. | Crypto currency chargeback system |
US20170140408A1 (en) | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
WO2017091530A1 (en) | 2015-11-24 | 2017-06-01 | Gartland & Mellina Group | Blockchain solutions for financial services and other transaction-based industries |
US10521973B2 (en) | 2015-12-17 | 2019-12-31 | International Business Machines Corporation | System for monitoring and enforcement of an automated fee payment |
US20170214701A1 (en) * | 2016-01-24 | 2017-07-27 | Syed Kamran Hasan | Computer security based on artificial intelligence |
US10255108B2 (en) | 2016-01-26 | 2019-04-09 | International Business Machines Corporation | Parallel execution of blockchain transactions |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
US20170243193A1 (en) | 2016-02-18 | 2017-08-24 | Skuchain, Inc. | Hybrid blockchain |
US10142312B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US10475030B2 (en) * | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
US20170270527A1 (en) | 2016-03-17 | 2017-09-21 | John Rampton | Assessing trust to facilitate blockchain transactions |
US20200327498A1 (en) * | 2016-03-21 | 2020-10-15 | National Ict Australia Limited | Business Process Execution on a Blockchain Platform |
GB201605154D0 (en) | 2016-03-27 | 2016-05-11 | Csefalvay Chris Von And Kraaijenhagen Rutger And Sanford Brett And Maverick Labs Ltd | A method, software and architecture for a graphical user interface for creating, editing, visualizing and authenticating smart contracts |
US10346406B2 (en) | 2016-03-28 | 2019-07-09 | International Business Machines Corporation | Decentralized autonomous edge compute coordinated by smart contract on a blockchain |
US11526938B2 (en) * | 2016-03-31 | 2022-12-13 | Refinitiv Us Organization Llc | Systems and methods for providing financial data to financial instruments in a distributed ledger system |
AU2017240796A1 (en) * | 2016-03-31 | 2018-10-25 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
WO2017187399A1 (en) * | 2016-04-29 | 2017-11-02 | nChain Holdings Limited | Implementing logic gate functionality using a blockchain |
US10198325B2 (en) * | 2016-05-24 | 2019-02-05 | Mastercard International Incorporated | Method and system for desynchronization recovery for permissioned blockchains using bloom filters |
US10523443B1 (en) | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
KR101781583B1 (ko) | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
US11182851B2 (en) * | 2016-10-20 | 2021-11-23 | International Business Machines Corporation | Inter-ledger messaging in a blockchain |
US10380560B2 (en) * | 2016-11-14 | 2019-08-13 | International Business Machines Corporation | Enforcing multi-use constraints on a blockchain |
US10554746B2 (en) * | 2016-11-14 | 2020-02-04 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
US10396997B2 (en) | 2016-12-14 | 2019-08-27 | International Business Machines Corporation | Container-based operating system and method |
US10445302B2 (en) * | 2017-01-03 | 2019-10-15 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
US10560268B2 (en) * | 2017-02-13 | 2020-02-11 | International Business Machines Corporation | Node characterization in a blockchain |
US10356102B2 (en) * | 2017-02-24 | 2019-07-16 | Verizon Patent And Licensing Inc. | Permissions using blockchain |
US10515233B2 (en) * | 2017-03-19 | 2019-12-24 | International Business Machines Corporation | Automatic generating analytics from blockchain data |
FR3065826B1 (fr) * | 2017-04-28 | 2024-03-15 | Patrick Pirim | Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance |
CN108647963B (zh) | 2018-05-02 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 区块链主链的确定方法、装置、服务器和存储介质 |
US11277406B2 (en) * | 2019-06-28 | 2022-03-15 | Intel Corporation | MTS-based mutual-authenticated remote attestation |
-
2017
- 2017-04-28 WO PCT/IB2017/052467 patent/WO2017187399A1/en active Application Filing
- 2017-04-28 EP EP17721471.5A patent/EP3449450B1/en not_active Revoked
- 2017-04-28 CN CN201780022279.5A patent/CN109074576A/zh active Pending
- 2017-04-28 SG SG11201809115RA patent/SG11201809115RA/en unknown
- 2017-04-28 CN CN201780022280.8A patent/CN109791659A/zh active Pending
- 2017-04-28 WO PCT/IB2017/052464 patent/WO2017187396A1/en active Application Filing
- 2017-04-28 EP EP22173910.5A patent/EP4102431A1/en active Pending
- 2017-04-28 CN CN201780022290.1A patent/CN109155034A/zh active Pending
- 2017-04-28 SG SG10202010720VA patent/SG10202010720VA/en unknown
- 2017-04-28 US US16/097,218 patent/US11341484B2/en active Active
- 2017-04-28 GB GB1806516.9A patent/GB2564198A/en not_active Withdrawn
- 2017-04-28 TW TW106114274A patent/TWI770022B/zh active
- 2017-04-28 KR KR1020187034294A patent/KR102416506B1/ko active IP Right Grant
- 2017-04-28 GB GB1806702.5A patent/GB2568333A/en not_active Withdrawn
- 2017-04-28 EP EP17722172.8A patent/EP3449452B1/en active Active
- 2017-04-28 US US16/097,516 patent/US11694193B2/en active Active
- 2017-04-28 BR BR112018071743A patent/BR112018071743A2/pt not_active IP Right Cessation
- 2017-04-28 GB GB1806519.3A patent/GB2564200A/en not_active Withdrawn
- 2017-04-28 CA CA3019270A patent/CA3019270A1/en active Pending
- 2017-04-28 EP EP22174950.0A patent/EP4105868A1/en active Pending
- 2017-04-28 JP JP2018552720A patent/JP2019517175A/ja active Pending
- 2017-04-28 AU AU2017257448A patent/AU2017257448B2/en active Active
- 2017-04-28 WO PCT/IB2017/052466 patent/WO2017187398A1/en active Application Filing
- 2017-04-28 EP EP22172399.2A patent/EP4092956A1/en active Pending
- 2017-04-28 EP EP17721868.2A patent/EP3449451B8/en active Active
- 2017-04-28 CN CN202410408617.0A patent/CN118313834A/zh active Pending
-
2018
- 2018-10-24 ZA ZA2018/07089A patent/ZA201807089B/en unknown
- 2018-10-24 ZA ZA2018/07092A patent/ZA201807092B/en unknown
-
2022
- 2022-04-14 JP JP2022066654A patent/JP2022095891A/ja active Pending
- 2022-05-23 US US17/751,457 patent/US11900364B2/en active Active
-
2023
- 2023-06-05 US US18/205,991 patent/US20240005310A1/en active Pending
-
2024
- 2024-01-08 US US18/407,419 patent/US20240257107A1/en active Pending
- 2024-03-13 JP JP2024038520A patent/JP2024073535A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI831760B (zh) * | 2017-12-15 | 2024-02-11 | 安地卡及巴布達商區塊鏈控股有限公司 | 用以基於證明驗證認證鏈外資料之系統及方法 |
CN109978688A (zh) * | 2017-12-28 | 2019-07-05 | 财团法人工业技术研究院 | 分布式共识系统之访问控制方法及其契约产生器与服务器 |
TWI714843B (zh) * | 2017-12-28 | 2021-01-01 | 財團法人工業技術研究院 | 用於具有分散式共識之分散式系統中之契約資料之存取控制方法及其契約產生器及驗證伺服器 |
US10958436B2 (en) | 2017-12-28 | 2021-03-23 | Industrial Technology Research Institute | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus |
US10554413B2 (en) | 2018-04-03 | 2020-02-04 | Alibaba Group Holding Limited | Cross-blockchain authentication method and apparatus, and electronic device |
TWI690184B (zh) * | 2018-04-03 | 2020-04-01 | 香港商阿里巴巴集團服務有限公司 | 跨區塊鏈的認證方法及裝置、電子設備 |
TWI840358B (zh) * | 2018-05-14 | 2024-05-01 | 安地卡及巴布達商區塊鏈控股有限公司 | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 |
TWI701618B (zh) * | 2019-01-09 | 2020-08-11 | 台灣海耶克股份有限公司 | 以任務階層分配資源的方法 |
TWI722554B (zh) * | 2019-09-03 | 2021-03-21 | 橘橘鏈科技股份有限公司 | 證券型代幣協議系統及其代幣化方法 |
TWI722553B (zh) * | 2019-09-03 | 2021-03-21 | 橘橘鏈科技股份有限公司 | 實質資產轉換成加密資產之裝置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI770022B (zh) | 電腦實施之控制方法、系統及控制系統 | |
JP7364724B2 (ja) | ブロックチェーンIoT装置のためのオペレーティングシステム | |
KR102464299B1 (ko) | 블록체인 구현 방법 및 시스템 | |
US20190149337A1 (en) | Implementing logic gate functionality using a blockchain |