TW202139668A - 用於與區塊鏈相關聯之多個服務之平台 - Google Patents
用於與區塊鏈相關聯之多個服務之平台 Download PDFInfo
- Publication number
- TW202139668A TW202139668A TW110105836A TW110105836A TW202139668A TW 202139668 A TW202139668 A TW 202139668A TW 110105836 A TW110105836 A TW 110105836A TW 110105836 A TW110105836 A TW 110105836A TW 202139668 A TW202139668 A TW 202139668A
- Authority
- TW
- Taiwan
- Prior art keywords
- client
- blockchain
- request
- service
- platform
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 99
- 238000012546 transfer Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 5
- 238000013515 script Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 19
- 230000008901 benefit Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000005065 mining Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- 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/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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
在一第一態樣中,本揭露內容提出用於使用與一應用程式設計介面(API)相關聯之一平台處理器實施提供與一區塊鏈相關聯之多個服務之一平台的方法、裝置及系統,該API能夠以一超文字傳送協定(HTTP)傳輸協定格式接收對一服務之一用戶端請求。此外,為了合適地驗證用戶端之身分及/或該請求,判定所請求區塊鏈服務之一目的地位址或端點,且基於該目的地位址產生至少一個區塊鏈交易以獲得一輸出指令碼。接著將基於該輸出指令碼之一結果以該HTTP傳輸協定格式發送至給定用戶端。在一些態樣中,該區塊鏈交易係與被實施為該區塊鏈上之一有限狀態機的一事件串流相關聯。
Description
發明領域
本揭露內容大體上係關於用於實施與用於一或多個用戶端之分散式分類帳,亦即區塊鏈相關聯的一或多個服務之平台的方法及系統。特定言之,本揭露內容係關於但不限於提供對與用於一或多個用戶端之區塊鏈相關聯之多個功能及應用的存取,諸如實施事件串流或機器可讀合約。
發明背景
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式分類帳。此等分類帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可分類帳、共用分類帳、公用及私用區塊鏈以及其變化。區塊鏈技術之最廣泛已知之應用為比特幣分類帳,但其他區塊鏈實施已被提出並開發。雖然可在本文中出於便利性及說明的目的提及比特幣,但應注意,本揭露內容不限於關於比特幣區塊鏈之使用,且與數位資產之任何種類或數位資產之表示相關聯的替代區塊鏈實施及協定屬於本揭露內容之範疇內。術語「用戶端」、「實體」、「節點」、「使用者」、「發送者」、「接收者」、「付款人」、「收款人」在本文中可指基於計算或處理器之資源。術語「比特幣」在本文中用以包括源自或基於比特幣協定之任何版本或變化。術語「數位資產」可指任何可轉移資產,諸如密碼貨幣、表示財產之至少一部分之符記、智慧型合約、許可證(亦即軟體許可證),或用於媒體內容之DRM合約等。應理解,術語「數位資產」在整個此文件中用於表示商品,其可與可轉移至自一個實體至另一實體之交易中之支付或作為支付提供之值相關聯。
區塊鏈為同級間電子分類帳,其經實施為由區塊構成的基於電腦之去中心化分散式系統,該等區塊又由交易構成。每個交易為一資料結構,且包括至少一個輸入及至少一個輸出,該資料結構編碼區塊鏈系統中之參與者之間的數位資產之控制的轉移。每個區塊包含先前區塊之散列,使得區塊變為鏈結在一起以產生自一開始便已寫入至區塊鏈之所有交易的永久性不可更改之記錄。交易包含嵌入至其輸入及輸出中的被稱為指令碼的小型程式,該等指令碼指定交易之輸出可被存取之方式及人員。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
為了將交易寫入至區塊鏈,交易必須經「驗證」。網路節點(挖掘者(miner))執行工作以確保每個交易係有效的,其中無效交易被網路拒絕。安裝於節點上之軟體用戶端藉由執行其鎖定及解鎖指令碼而對未用交易(UTXO)執行此驗證工作。若鎖定及解鎖指令碼之執行評估為真,則交易係有效的且接著將交易寫入至區塊鏈。因此,為了將交易寫入至區塊鏈,該交易必須:i)由接收交易之第一節點進行驗證,若交易經驗證,則節點將該交易轉送至網路中之其他節點;ii)添加至由挖掘者構建之新區塊;及iii)經挖掘,亦即添加至過去交易之公用分類帳。
應瞭解,由挖掘者執行之工作的本質將取決於用以維持區塊鏈之共識機制的類型。雖然工作證明(PoW)與原始比特幣協定相關聯,但應瞭解,可使用其他共識機制,諸如權益證明(PoS)、權益委託證明(DPoS)、能力證明(PoC)、經過時間證明(PoET)、授權證明(PoA)等。不同共識機制在挖掘如何在節點之間分散方面存在變化,其中成功地挖掘區塊之幾率取決於例如挖掘者之散列處理能力(PoW)、由挖掘者保持之密碼貨幣量(PoS)、委託給委託挖掘者之密碼貨幣量(DPoS)、挖掘者儲存密碼難題之預定解決方案的能力(PoC)、隨機指派至挖掘者之等待時間(PoET)等。通常,挖掘者具備用於挖掘區塊之激勵或獎勵。比特幣區塊鏈例如用新發佈之密碼貨幣(比特幣)及與區塊中之交易相關聯的費用(交易費用)來獎勵挖掘者。對於比特幣區塊鏈,發佈之密碼貨幣量隨時間而減少,其中激勵最終僅由交易費用組成。因此,應瞭解,交易費用之處置係用於將資料提交至諸如比特幣區塊鏈之公用區塊鏈的基礎機制之部分。
如先前所提及,給定區塊中之每個交易編碼區塊鏈系統中之參與者之間的數位資產之控制的轉移。數位資產無需一定對應於密碼貨幣。例如,數位資產可與文件、影像、實體物件等之數位表示有關。向挖掘者支付密碼貨幣及/或交易費用可簡單地充當用以藉由執行必要工作而維持區塊鏈之有效性的激勵。與區塊鏈相關聯之密碼貨幣可充當挖掘者之安全性,其中區塊鏈自身為主要與除了密碼貨幣以外之數位資產相關的交易之分類帳。在一些情況下,參與者之間的密碼貨幣之轉移有可能係由一實體處置,該實體不同於及/或獨立於使用區塊鏈來維持交易之分類帳的實體。
一旦作為UTXO儲存在區塊鏈中,使用者可將相關聯資源之控制轉移至與另一交易中之輸入相關聯的另一位址。此轉移通常而非基本上使用數位錢包進行。此數位錢包可為裝置;實體媒體;程式;諸如桌上型電腦、膝上型電腦或行動終端之計算裝置上之應用程式(app);或與諸如網際網路之網路上之域相關聯的遠端代管服務。數位錢包儲存公用及私用密鑰且可用以追蹤與使用者相關聯之資源、符記及資產等之所有權;接收或使用數位資產;轉移可與數位資產,諸如密碼貨幣、許可證、財產或其他類型之資源相關的符記。
儘管區塊鏈技術由於密碼貨幣實施之使用而為最廣泛已知的,但數位企業家正在探索比特幣所基於之密碼安全系統及可儲存於區塊鏈上以實施新系統之資料二者的使用。區塊鏈技術在區塊鏈可用於不限於密碼貨幣範圍之自動任務及過程時高度有利。此等解決方案將能夠利用區塊鏈的益處(例如,事件的永久性防篡改記錄、分散式處理等),同時在其應用中變得更通用。
當前研究之一個領域係使用區塊鏈實施「智慧型合約」。此等智慧型合約係經設計以使機器可讀合約或協定之條款之執行自動化的電腦程式。不同於將以自然語言撰寫之傳統合約,智慧型合約係包含可處理輸入以產生結果之規則的機器可執行程式,該等規則接著可取決於彼等結果而使得執行動作。區塊鏈相關關注之另一領域係使用「符記」(或「彩色幣」)來表示真實世界實體及經由區塊鏈轉移真實世界實體。潛在地敏感或秘密之項目可由符記表示,符記不具有可辨別之含義或值。符記因此充當允許自區塊鏈參考真實世界項目之識別符。
上文提及之實例或情境在利用區塊鏈之優勢來提供事件之永久性防篡改記錄時需要用戶端、用戶端實體、計算裝置或與用戶端相關聯之終端包括或實施軟體及/或硬體或處理器/模組,諸如用於實施用於管理數位資產,管理用於例如藉由比特幣中本聰之視覺(BSV)區塊鏈使用之橢圓曲線數位簽章演算法(ECDSA)之密碼密鑰的功能性的數位錢包。另外,用戶端裝置亦需要能夠實施區塊鏈交易建構及存取BSV庫。因此,用戶端不僅需要包括實施此功能性之處理,且亦需要確保在此類過程可利用區塊鏈網路來發送、接收及檢視資料及/或數位資產之前針對此類過程實施適當安全措施,該等數位資產與智慧型合約或表示真實世界資產交易之符記相關。
因此,期望實施安全、低複雜度、使用者友好、高效且穩固之技術,該技術將允許無論計算上是否複雜之任何用戶端皆能夠以計算上及功能上較不繁重之簡單、快速、準確、可靠且安全方式瞬時存取與區塊鏈相關聯之有用應用程式並與之互動。更特定言之,期望利用分散式分類帳(區塊鏈)技術及記錄之增大之安全性、透明度及可靠性的優勢,以提供用於多個區塊鏈相關服務或應用程式之共同平台或介面,該等服務或應用程式使得任何用戶端計算裝置能夠確保與用戶端相關聯之任何資料、事件或數位資產可瞬時且安全地被挖掘,或容易地寫入至區塊鏈中,藉此提供可視需要產生、寫入、更新、讀取或檢視的持續、防篡改且可審計記錄。
現已設計出此經改良解決方案。本揭露內容藉由提出一或多種技術來解決上文技術問題,藉此與用戶端相關聯之資料或資訊可藉由提供用於與區塊鏈相關聯之一或多個服務之應用程式設計介面(API)的方法、裝置及系統簡單地、安全地且瞬時地寫入至區塊鏈中或自區塊鏈獲得,而此類用戶端無需實施用於使用區塊鏈之任何處理或功能性,同時仍能夠利用與區塊鏈相關聯之所有優勢。
發明概要
在第一態樣中,本揭露內容提出用於使用與應用程式設計介面(API)相關聯之平台處理器實施平台之方法、裝置及系統,該平台提供與區塊鏈相關聯之多個服務,該API能夠以超文字傳送協定(HTTP)傳輸協定格式接收對服務之用戶端請求。此外,為了合適地驗證用戶端之身分及/或請求,判定所請求區塊鏈服務之目的地位址或端點,且基於目的地位址產生至少一個區塊鏈交易以獲得輸出指令碼。接著將基於輸出指令碼之結果以HTTP傳輸協定格式發送至給定用戶端。
在第二態樣中,本揭露內容提出用於基於來自用戶端且與使用區塊鏈實施之事件串流ES相關的HTTP請求,實施與用於用戶端的區塊鏈相關聯之交易的資料寫入服務的方法、裝置及系統,其中該事件串流可用以表示或追蹤有限狀態機(FSM)。例如,此FSM可為智慧型合約。判定區塊鏈上之事件串流ESn
之當前狀態,在所接收請求中識別事件串流ES之新或下一事件En +1
,且藉由產生區塊鏈交易來加以處理,該區塊鏈交易包括與來自事件串流ES之先前交易TX之交易輸出相關聯的輸入;及與表示新事件En +1
之事件資料相關聯的未用輸出UTXO。一旦經提交至區塊鏈,則基於新事件En +1
將區塊鏈上之事件串流之當前狀態更新為ESn +1
。結果與當前狀態ESn +1
相關聯,該結果係以HTTP傳輸協定格式經提供。
在本說明書通篇中,詞「包含(comprise)」或諸如「包括」、「包含(comprises)」或「包含(comprising)」之變化應理解為暗示包括所陳述之要素、整數或步驟,或要素、整數或步驟之群組,但不排除任何其他要素、整數或步驟,或要素、整數或步驟之群組。
較佳實施例之詳細說明
根據第一態樣,本揭露內容提供一種用於提供與區塊鏈相關聯之多個服務的平台的電腦實施方法,該平台經提供用於多個用戶端,該方法由與應用程式設計介面(API)相關聯之平台處理器實施。
有利地,平台處理器API允許基於網路之互動介面,亦即,在一些實施例中,其可實施為用於一或多個用戶端之網路服務,使得可使用基於網路之服務的標準網際網路通訊協定經由網際網路進行通訊。例如,在一些實施例中,藉此可基於諸如TCP/IP等之輸送層協定來傳輸及接收應用程式層級或用戶端與伺服器之間的層(在此情況下為平台服務)中之HTTP訊息或請求,諸如HTTP、HTTPS等。對HTTP傳輸協定或HTTP API之參考在本文中亦囊封所有標準網際網路通訊協定,諸如TCP/IP、UDP、HTTPS等。
在一些實施例中,平台處理器被實施為HTTP API端點。在一些實施例中,平台處理器被實施為代表性狀態轉移(REST)端點。有利地,API可實施為REST端點,藉此亦允許用戶端使用標準網際網路或基於網路之協定(諸如HTTP或HTTPS)進行通訊。
第一態樣之方法包含以下步驟:自多個用戶端當中之給定用戶端接收請求,該請求係與多個服務當中之給定服務有關,且來自給定用戶端之請求係基於超文字傳送協定(HTTP)傳輸協定格式。接著,基於用戶端身分及/或請求有效之判定,該方法包括獲得與給定服務相關聯之目的地位址。在一些實施例中,目的地位址可為IP位址或網路位址端點。例如,此可為端點通用資源識別符(URI)且可包括網路伺服器之通用資源位置(URL),可由支付處理器或所請求服務之一或多個其他實體(包括用戶端)自該等位址存取所請求服務。
在一些實施例中,此目的地位址可為與平台API端點相同之端點。在平台提供諸如主或核心服務之所請求服務時可為此情況。在存在由平台提供之多種不同類型之服務,每個服務由不同處理器或網路伺服器實施的其他實施例中,目的地位址可不同於平台API,該平台API可充當用於與平台相關聯之其他處理器及網路伺服器的主機伺服器。在此情況下,平台處理器包含多個處理器或與多個處理器相關聯,該等處理器各自經組配以用於實施區塊鏈上之多個服務當中的給定服務,且各自與各別處理器特有之特定目的地位址或端點相關聯。
第一態樣之方法進一步包括以下步驟:基於對應於所獲得目的地位址之至少一個區塊鏈交易處理對給定服務之請求,以獲得輸出指令碼。在一些實施例中,輸出指令碼係與相關於所請求服務之資料相關聯,或所請求服務之結果包括於UTXO中且包括用於交易之此資料或數位資產。
在第一態樣中,接著將與輸出指令碼相關聯之此結果以HTTP或類似傳輸協定格式發送至給定(請求)用戶端。
有利地,本揭露內容之第一態樣之方法藉由實施提供為用於一或多個用戶端之API的平台,允許與用戶端相關聯之一或多個處理器註冊或使用由平台處理器提供之網路服務來將資料寫入或存取至區塊鏈中。與平台相關聯之一或多個處理器可使用基於標準之介面設計實施所提供服務中之一或多者,該介面設計諸如但不限於代表性狀態轉移(REST),其為用於開發網路服務及基於網路之互動的架構式樣。在REST API之上下文中,資源可定義為具有類型、相關聯資料、與其他資源之關係,及對其進行操作之一組方法的物件。因此,由第一態樣之平台處理器實施之平台或服務有利地提供為API實施,以存取諸如比特幣SV (BSV)區塊鏈之區塊鏈或分散式分類帳(的狀態),且觸發可經由應用程式介面更改彼狀態並將其曝露為REST API之操作或功能。換言之,與平台相關聯之一或多個伺服器或處理器可被視為用於選擇使用此服務之一或多個用戶端的REST端點。有利地,用戶端可因此經由HTTP或類似網際網路命令與平台服務通訊。更有利地,對於所提供服務中之任一者,用戶端無需實施BSV、比特幣、區塊鏈知識、ECDSA或其他密碼密鑰管理庫,或諸如數位錢包軟體等之交易建構軟體。使用一或多個處理資源或使用者終端之用戶端可簡單地登記以經由一些已知鑑認技術來使用平台,該等技術諸如用於驗證用戶端身分之密碼保護授權或標準公用密鑰基礎架構(PKI)。用戶端接著應能夠簡單地經由基本HTTP或類似者與平台服務通訊。
在一些實施例中,可經由平台提供的與區塊鏈相關聯之服務的一些實例為:
- 用於將資料寫入/提交至區塊鏈中以更改區塊鏈之狀態的資料服務;
- 用於讀取/獲得反映區塊鏈之當前狀態的資料的資料服務;
- 與簡化支付驗證相關聯的用於與區塊鏈相關聯之交易的服務;
- 與對與區塊鏈相關聯之一或多個事件串流及/或機器可讀合約之管理相關聯的服務;
- 與數位錢包框架之管理相關聯的用於多個用戶端的服務;
- 與提供同級間通訊頻道相關聯之頻道服務;
- 與資料儲存相關聯之儲存服務。
在存在與第一態樣之平台處理器相關聯之多個處理器或網路伺服器的實施例中,第一態樣之方法進一步包含提供應用程式設計介面(API)轉換器之步驟,以用於執行以下步驟:以HTTP傳輸協定格式自用戶端接收請求,將所接收請求轉換成遠端程序呼叫(RPC)格式,及將RPC請求發送至多個處理器當中經組配以實施所接收請求中識別之服務的給定處理器。在回流路徑中,此實施例包括以RPC格式自給定處理器接收相關聯回應,及使用HTTP或類似傳輸協定轉換待發送至用戶端之各別回應。
此係有利的,因為其允許用戶端使用基於網路之平台API經由簡單HTTP傳達與區塊鏈相關聯之請求,且無縫地提供與實施上文所描述服務,但不使用用於網路服務之網際網路協定通訊標準進行通訊的節點或伺服器中之任一者的互操作性。此實施例中實施之API轉換器不限於HTTPS至RPC轉換,且反之亦然,或就此而言,其他基於網路之協定至替代通訊協定,該等替代通訊協定由實施上文服務中之一或多者的平台處理器、用於給定密碼貨幣之網路或可另外設想之數位資產所支援。在回流路徑中,第一態樣之方法亦包括以RPC格式自各別處理器接收與對應區塊鏈交易相關聯之回應,且因此,使用HTTP轉換各別回應以用於發送至用戶端上。因此,由平台處理器有利地實施所提出介面實現了無縫通訊,以用於在用戶端(支付人)及挖掘者使用不同無線資料通訊協定及機制時將交易提交至區塊鏈。
在第一態樣之一些實施例中,來自用戶端之所接收請求為HTTP GET或HTTP POST或HTTP PUT或HTTP PATCH請求,其包括特定針對於給定用戶端之用戶端識別符,以及平台所提供之多個服務當中的給定所請求服務之服務識別符或與該兩識別符相關聯,如上文所提及。在一些實施例中,發送至用戶端之結果為基於用戶端識別符之HTTP POST請求。
在一些實施例中,為了使用於區塊鏈交易之用戶端定址較簡單,已存在使用令人難忘且較使用者友好之別名代替一或多個用戶端實體之複雜公用位址的機制。此解決方案提出於均以nChain控股有限公司之名義的美國專利申請案第16/384696號及英國專利申請案第1907180.2號中。此等文件闡明基於別名之支付服務及相關聯協定,稱為bsvalias支付服務,其中別名用於目的地定址而非用戶端實體之公用位址。此系統中之別名通常與發送/接收用戶端實體之域名相關聯,且可為URI或電子郵件地址。因此,只要發送者或實體知道或具備別名,則此對於bsvalias支付系統或基於別名之定址機制係足夠的。可例如使用諸如JavaScript物件表示JSON文件之機器可讀資源中提供之指令將訊息發送至用戶端之別名,該等指令保存在用於bsvalias或其他支付服務之熟知URI或位置中。在本揭露內容之一些實施例中,多個用戶端中之一或多者可具有諸如上文之別名以識別各別用戶端。
在相關實施例中,第一態樣之方法包含基於用戶端識別符及對應於用戶端識別符之記錄來驗證用戶端,該記錄與平台處理器相關聯。例如,此記錄可能已在用戶端註冊或登記時產生且儲存於平台處理器中或與平台處理器相關聯。接著,基於用戶端之成功驗證,該方法包括基於服務識別符及包括於各別記錄中之屬性或設定來判定自用戶端接收之請求是否有效。在一些實施例中,該屬性或設定可指示是否允許給定用戶端存取所請求服務之全部或部分。例如,與用戶端識別符相關聯之一或多個權限等級可提供於屬性或設定中。例如,可允許給定用戶端請求讀取區塊鏈上針對特定事件之資料的服務,但可能不允許修改、刪除或終止此事件,而另一用戶端可具有對於與一或多個服務有關之所有動作的權限。
在一些實施例中,驗證給定用戶端之身分的步驟可係基於與用戶端相關聯之數位簽章。包括與每個用戶端相關聯之私用密鑰及公用密鑰(或公用位址)的密碼密鑰對可用於驗證服務請求實際上確實來源於給定用戶端,亦即,其中由私用密鑰簽署之資料僅可使用對應公用密鑰恢復或驗證。若驗證係基於數位簽章,則可使用並實施標準公用密鑰基礎架構(PKI)技術。
在第一態樣之一些實施例中,一種如由多個用戶端當中的給定用戶端之一或多個處理器實施的用於存取多個服務之平台的電腦實施方法包含以下步驟:獲得或識別與一或多個處理器相關聯之應用程式設計介面(API)端點,該一或多個處理器與平台相關聯;及發送與多個服務當中之給定服務有關的請求,該請求包括給定用戶端之用戶端識別符,及給定所請求服務之服務識別符或與該兩識別符相關聯。如上文所提及,請求係使用超文字傳送協定(HTTP)或類似傳輸協定格式發送的。該方法亦包括接收與相關聯於請求之區塊鏈交易的輸出指令碼有關的結果,該結果係以HTTP傳輸協定格式提供至用戶端。
在第二態樣中,本揭露內容提供一種用於實施與區塊鏈相關聯之交易的資料寫入服務之電腦實施方法,該方法由與應用程式設計介面(API)相關聯之平台處理器實施,以使得用戶端能夠存取該服務以將資料寫入至區塊鏈。第二態樣之方法包含以下步驟:自用戶端接收請求,該請求與使用區塊鏈實施之事件串流ES相關,來自用戶端之請求係基於超文字傳送協定(HTTP)傳輸協定格式。在一些實施例中,事件串流可追蹤或表示為有限狀態機(FSM),諸如確定性有限自動機(DFA),其為表示具有有限數目個狀態之系統的熟知計算術語,且其可在給定時間處於僅一個狀態中,具有用於自一個階段轉變至下一階段之轉變功能或觸發事件。在一些實施例中,此事件串流用於表示技術過程之控制手段或技術。在一些實施例中,事件串流可表示或追蹤與區塊鏈上之機器可讀合約或智慧型合約相關聯的輸入、狀態及/或事件,其中有利地,記錄了合約之過去及當前狀態的不可變記錄。在一些實施例中,自用戶端接收之請求包括觸發事件,以使得狀態轉變能夠在與事件串流相關聯之智慧型合約中進行。
第二態樣之方法包含判定事件串流之當前狀態ESi = n
的步驟,其中i為自0至N之整數,每個整數i表示事件串流ES之給定狀態,藉此i=0表示所產生事件串流ES,i=n表示區塊鏈中處於當前狀態之事件串流ES,且i=N表示事件串流ES之最終狀態。在一些實施例中,當前狀態之判定可為基於與事件串流相關聯之最近結果的目前狀態指示,該結果儲存於區塊鏈上或事件串流之一或多個單獨鏈外儲存資源中。此可係基於與事件串流相關聯之早期或先前區塊鏈交易的識別符。若不存在針對事件串流識別之先前狀態,則此將使得判定當前狀態為n=0,亦即將產生新的事件串流。在一些實施例中,亦可自區塊鏈擷取或讀取當前狀態。此操作可由如上文所解釋之資料讀取器執行,該資料讀取器可為由平台處理器提供的多個服務當中之服務。
在第二態樣之方法中,基於所接收請求處理事件串流ES之新事件En + 1
包括以下步驟:產生區塊鏈交易TXn + 1
,區塊鏈交易TXn + 1
包括與來自先前交易TXn
之交易輸出(TXOn
)相關聯的輸入,及與表示新事件En
之事件資料相關聯的未用輸出(UTXOn + 1
)。在一些實施例中,在n=0之情況下,將不存在使用先前輸出之輸入。然而,可存在表示與事件串流ES相關聯之數位資產的其他輸入。該方法接著包括將交易TXn + 1
提交至區塊鏈。
一旦經提交,基於所提交區塊鏈交易更新事件串流之當前狀態,亦即,狀態將基於新產生之事件En + 1
而更新為ESi = n + 1
,使得ESi = n
= ESn + 1
。在一些實施例中,經更新狀態係基於存在於事件串流中之最新交易之未用輸出UTXOn + 1
中之資料。該方法接著包括基於事件串流之經更新當前狀態ESn + 1
發送結果,該結果係基於HTTP傳輸協定格式提供的。
本揭露內容之第二態樣論述由平台處理器實施的資料寫入服務之實施,或換言之,該實施實現寫入與真實世界過程相關聯之資料的功能性,諸如控制智慧型合約之狀態。第二態樣之平台處理器與第一態樣中論述之彼平台處理器相關聯,其中第二態樣論述多個區塊鏈服務中之一者,亦即用於將資料寫入至區塊鏈中以改變其當前狀態。因為請求及態樣係使用用於平台之API接收及提供,所以第二態樣提供與第一態樣相關聯之所有優勢。另外,資料寫入服務有利地允許一或多個用戶端藉由簡單地自效果提取觸發器或事件而實現區塊鏈實施之智慧型合約的狀態交易。因此,智慧型合約之各種階段的不可變記錄可由第二態樣之資料寫入服務提供。
本揭露內容之態樣亦包括一種計算裝置,其包含處理器及記憶體,該記憶體包括可執行指令,作為由處理器執行之結果,該等可執行指令使得裝置執行如上文所論述之電腦實施方法,其中計算裝置與平台處理器有關。
本揭露內容之態樣亦包括一種計算裝置,其包含處理器及記憶體,該記憶體包括可執行指令,作為由處理器執行之結果,該等可執行指令使得裝置執行如上文所論述之電腦實施方法,其中計算裝置與用戶端有關。
本揭露內容之態樣亦包括一種電腦系統,其包含經由無線通訊網路通訊耦接至至少一個用戶端之至少一個平台處理器,該至少一個平台處理器與應用程式設計介面(API)端點相關聯以用於處理來自至少一個用戶端之HTTP請求,該至少一個平台處理器根據上文所提及之計算裝置實施;且該至少一個用戶端根據上文所提及之用戶端計算裝置實施。
本揭露內容的態樣亦包括一種電腦可讀儲存媒體,其上儲存有可執行指令,作為由電腦之處理器執行之結果,該等可執行指令使得電腦執行如上文所闡明之態樣及實施例中任一者之方法。
現在作為說明參考附圖描述一些特定實施例,在該等附圖中,相似附圖標記指代相似特徵。
第一態樣-用於與區塊鏈相關聯之多個服務的平台API
用於提供上文針對第一態樣所描述之多個服務的平台處理器可為平台即服務(PaaS)及軟體即服務(SaaS),其有利地實現了使用諸如BSV區塊鏈之區塊鏈網路快速遞送有用的真實世界業務及技術應用,諸如管理軟體受控技術系統或智慧型合約。平台服務之概述可見於圖1中,其展示系統之高層級示意圖。平台服務具有提供API 108之平台處理器100,可由一或多個用戶端經由該API存取服務。
如此圖中所示之平台服務100由三個服務系列構成,且旨在允許使用者及組織容易且安全地利用由區塊鏈之特有性質提供的優勢,而實際上無需在用戶端末端處實施任何基於區塊鏈之軟體、知識或庫。此等服務為:
- 資料服務102,其旨在簡化鏈作為商品資料分類帳之使用。
- 計算服務104,其旨在提供由諸如比特幣SV之數位資產支援之一般化計算框架。
- 商務服務106,其提供用於使用諸如比特幣SV之數位資產進行交易之企業級能力
- 可與上文核心服務相關聯的額外服務,諸如基於簡單支付驗證(SPV)之服務、用於同級間通訊之頻道服務及/或儲存服務。
如上文所提及,可經由或使用HTTPS協定在API處自用戶端接收請求,此係因為API被實施為網路服務。接著由一或多個服務模組或處理資源102至106使用基礎軟體110實施所請求服務,此基礎軟體110係與區塊鏈相關聯,亦即以實施資源、庫及/或密鑰管理錢包以用於產生、處理及提交與區塊鏈相關聯之交易。一旦經處理,可將交易提交至區塊鏈網路112(而非實施任何此功能性或交易庫之用戶端)。至多,用戶端可實施與密碼貨幣或某一其他數位資產相關聯之數位錢包等,但此並非必要的,此係因為平台服務100亦可能夠提供及管理用於用戶端之數位資產。
圖2a與本揭露內容之第一態樣相關,且描繪用於提供與區塊鏈相關聯之多個服務之平台,諸如圖1中所示之平台100的電腦實施方法。圖2a之方法由與應用程式設計介面(API)相關聯之平台處理器實施。
步驟202a描繪自多個用戶端當中之給定用戶端接收請求。在一些實施例中,用戶端可為與用戶端相關聯之一或多個計算裝置、資源或處理器,該用戶端已經註冊或登記以存取由平台處理器提供之多個服務。如上文所提及,平台處理器可為一或多個處理器,每個處理器提供待使用諸如比特幣SV區塊鏈之區塊鏈實施的不同類型之功能或服務(諸如,用於圖1中所見之資料、計算及商務服務的處理器)。亦有可能存在僅用於單個服務之一個處理器。因為平台處理器與API端點(諸如平台之URI)相關聯,所以來自給定用戶端之請求可係基於諸如超文字傳送協定(HTTP)傳輸協定格式之標準網際網路協定。在一些實施例中,請求可包括用戶端之識別符以及所請求服務之識別符。
在步驟204a中,檢查用戶端之身分以查看用戶端是否為經登記以使用平台處理器及由平台處理器提供之功能性的有效用戶端。在一些實施例中,此檢查可係基於已知鑑認方法,諸如密碼保護之登入鑑認等。在此情況下,可基於包括於請求中之用戶端識別符或別名及密碼產生給定用戶端之記錄。驗證可係基於在API處接收的密碼匹配記錄中之密碼。在其他實施例中,基於私用/公用密碼密鑰對之標準PKI技術亦可用以驗證存在於步驟202a中自用戶端接收之請求中的數位簽章。在此情況下,可藉由檢查是否可使用公用密鑰成功地恢復或驗證由私用密鑰簽署之請求來驗證用戶端之身分。
若用戶端身分無法被驗證或驗證失敗,則在步驟206a中,並不進一步處理請求。
若成功地驗證了用戶端,則在步驟208a中,接著檢查步驟202a中之服務請求的有效性。此步驟用以確保給定用戶端實際上經授權以利用所請求服務。此情況之權限或屬性可存在於用戶端之記錄中,以指示可提供至或不可提供至各別用戶端的一或多種類型之存取等級或服務。
若發現請求對於該請求用戶端而言係不被允許或無效的,則在步驟210a中,並不進一步處理請求。
應理解,上文所闡明的驗證用戶端及/或服務之實施例對於第一態樣之操作而言並非必需的,但係有用的。在一些情況下,可僅執行步驟204a或208a中之驗證。在一些情況下,並不執行驗證。在此情況下,任何用戶端(無論是否登記)皆可在適當支付此存取時使用服務或平台。
在步驟212a中,獲得目的地位址,其可為負責實施步驟202a中之所請求服務之伺服器或處理器的端點URI。在存在多個平台處理器之一些實施例中,主機伺服器或平台API可將所接收請求轉換成遠端程序呼叫(RPC)格式,該格式待發送至與經組配以實施所識別服務之處理器相關聯的目的地位址。
在步驟214a中,由負責所請求服務的各別平台處理器處理該服務。由平台處理器基於負責處理器之目的地位址/端點獲得或讀取或產生區塊鏈交易,且獲得此交易之輸出指令碼。雖然圖2a在此步驟中提及產生區塊鏈交易,但應理解,本揭露內容之第一態樣不限於此。若步驟202a中之請求為自區塊鏈讀取或獲得資料,則可能不產生交易,而是可簡單地自區塊鏈讀取或獲得交易。可存在多個區塊鏈交易或所產生區塊鏈交易中之一或多者的多個輸出指令碼。
在步驟216a中,輸出指令碼可包括作為結果的資料輸出(例如,可存在資料載體UTXO),或可基於交易識別符或交易之剩餘輸出獲得結果。亦可存在與交易相關聯的可從中獲得結果之不可用OP-RETURN輸出。
在步驟218a中,以HTTP或類似傳輸協定格式將與輸出指令碼相關聯之結果提供至給定用戶端。在一些實施例中,若服務之負責處理器位於主機平台API之遠端,則平台處理器以RPC格式自負責處理器接收與區塊鏈交易相關聯之回應。API轉換器接著在將回應發送至用戶端之前將此轉換為可基於HTTP格式發送之訊息。如上文所提及,若用戶端使用諸如bsvalias之別名定址服務,則以由bsvalias機器可讀資源指示的格式在經定址至用戶端之別名的HTTP訊息中發送結果。
圖2b與本揭露內容之第一態樣相關,且描繪用於存取與區塊鏈相關聯之多個服務之平台,諸如圖1中所示之平台100的電腦實施方法。圖2b之方法由與用戶端相關聯之一或多個處理器實施。
在步驟202b中,識別與平台相關聯之應用程式設計介面(API)端點。如之前所提及,此可為與主機平台處理器相關聯之API,且可存在負責實施服務之一或多個其他處理器,每個處理器具有其自身的服務端點或目的地位址。
在步驟204b中,用戶端準備對服務之請求,諸如圖1中之資料寫入服務102。在一些實施例中,用戶端在請求中包括用戶端別名或識別符及/或服務識別符,使得其可被路由至正確服務端點。此可用於由平台處理器檢查請求用戶端的有效性及用戶端使用所請求服務之權限。
在步驟206b中,使用超文字傳送協定(HTTP)或類似傳輸協定格式來發送步驟204b中準備之請求,此係因為平台處理器被實施為HTTP或REST API。
在步驟208b中,自平台處理器提供與相關聯於請求之區塊鏈交易之輸出指令碼有關的結果。以HTTP傳輸協定格式將此結果提供至用戶端。
有利地,在第一態樣之方法的情況下,對基於區塊鏈之服務的請求係由用戶端以HTTP傳輸協定格式發送及接收,且因此用戶端可利用區塊鏈特有之所有優勢及服務,而不必實施任何交易能力或區塊鏈庫。此係因為服務係經由平台API提供,該平台API可為HTTP或REST API端點。例如,REST API設計標準可使用經由網際網路之以下HTTP命令處理HTTP請求及通訊,且此為用戶端所需之所有功能性,亦即,以能夠經由網際網路發送及接收訊息。平台處理器遠端地或單獨地實施用於用戶端之命令。
命令 | GET | POST | PUT | DELETE | PATCH |
資源 | 讀取 | 產生 | 更新 或 產生 | 刪除 | 部分更新 |
圖3提供與區塊鏈相關聯之多個服務的較細化示意圖,且該等服務可由與API相關聯之平台300實施,經由該API可存取所提供服務中之任一或多者。如此圖中所見,資料服務302可包括資料寫入器302a及資料讀取器服務302b。使用資料寫入器服務302a的事件串流之實施將在圖中詳細解釋,以使得用戶端能夠以簡單、安全且最佳化方式將資料寫入至區塊鏈中。資料讀取器服務302b使得用戶端能夠發送查詢,該查詢傳回儲存於區塊鏈中之資料。此可使用經濾波串流,其中用戶端可預定義其希望臨時或定期地(亦即,在某一時間框內)自區塊鏈讀取的資料類型,或與區塊鏈310中處理的相關或不相關事件或文件之集合相關聯的彼等資料類型。資料封存特徵允許存取指定事件或合約之先前交易之日誌。
平台300之計算服務306包括與智慧型合約相關聯之應用程式306a及框架306b,智慧型合約在一些實施例中可表示為區塊鏈310中之狀態機。例如,計算服務可管理與用於與平台服務相關聯之用戶端之區塊鏈相關聯的智慧型合約。計算服務306與資料服務302互動,此係因為資料將需要被輸入且結果需要被提供至用戶端以用於任何此計算。
商務服務304負責經由企業錢包304a提供企業級能力,以用於基於一流的安全實踐及技術在區塊鏈310上進行交易。例如,在一些實施例中,企業錢包可實施在多於一個人員或使用者或帳戶可能需要在滿足經定義準則,亦即與高於某一預定義限值之較大密碼貨幣值相關聯之交易上簽出時實現區塊鏈交易處理的功能性。企業錢包亦可包括實施臨限數目及/或類型之簽章以移動大量數位資產,諸如密碼貨幣或表示另一資源之符記的功能性。可接著基於由此企業錢包實施應用之準則在處理之後在區塊鏈上表示此等資產之移動。
SPV服務308(簡化之支付驗證)為需要來自區塊鏈之資訊但並不包括至區塊鏈之直接鏈路的應用程式,此係因為該等服務並不運行挖掘者節點。此SPV服務308允許輕型用戶端驗證交易是否包括於區塊鏈中,而無需下載整個區塊鏈310。在觀測者可使用不同API(諸如,與用於交易驗證之簡單支付驗證(SPV)相關聯的API)接收事件串流之版本(下文在第二態樣中論述)的情況下,此可為有利的。在此組配中,平台服務可充當SPV伺服器,且出於驗證之目的接收事件串流之版本(亦即,複本)的觀測者可為SPV用戶端。SPV服務308因此可改良可縮放性及效率,以及減少網路之複雜度。結合頻道之使用(參見下文之頻道服務),可極大地改良同級間資料之遞送及驗證。
本揭露內容亦與一種用於實施用於一或多個用戶端之頻道服務的電腦實施方法相關,該方法由頻道處理器實施且包含以下步驟:自一或多個用戶端當中的給定用戶端接收請求,該請求與產生頻道及向給定用戶端提供對一或多個功能之存取有關,該一或多個功能實現給定用戶端與另一實體之間經由頻道的直接通訊。頻道服務可與SPV服務308組合提供,或作為平台300內之單獨服務提供。該方法包括儲存與頻道相關聯的一或多個通知及/或向給定用戶端提供該一或多個通知。
有利地,頻道之使用使得能夠藉由提供用於頻道或傳訊服務之介面或功能的方法、裝置及系統進行用戶端之直接或同級間通訊,而此等用戶端無需實施區塊鏈之任何處理或功能性,同時仍能夠利用與其相關聯的所有優勢。
頻道服務可由單獨頻道處理器提供,或可由上文所提及平台或平台處理器提供,或可與用戶端整合在一起,或可與用戶端及/或平台分離/獨立地實施。頻道能夠實現實體之間的直接或同級間通訊路徑或作業階段,以用於轉移可例如為驗證所需的訊息或資料。以nChain Holdings有限公司之名義申請之英國專利申請案第2007597.4號中詳細描述了頻道服務及/或頻道處理器之實例,該申請案之標的物以引用的方式併入本文中。
除了上文內容之外,亦可經由平台300提供儲存服務。在一些實施例中,與平台相關聯之任何基礎資料可任擇地儲存在針對平台服務之用戶端提供的單獨及/或地理限制之儲存選項中。此可用以儲存對於驗證與平台相關聯之任何區塊鏈交易所需的資料,或用於安全擷取與用戶端相關聯或關於智慧型合約之資料。地理限制之資料儲存有利地確保了可根據本地法律(例如,GDPR)保持資料,且因此此使得平台/平台300之服務提供者對保持在儲存器中之資料具有某一法律責任或其他責任。
第二態樣-提供與區塊鏈相關聯之資料寫入服務的平台
圖4與本揭露內容之第二態樣相關,且描繪用於提供與區塊鏈相關聯之交易的資料寫入服務,諸如第一態樣之圖3中所見之資料寫入器302a的電腦實施方法。圖3之方法由與用於服務之應用程式設計介面(API)相關聯之平台處理器實施。
步驟402描繪自用戶端接收請求,該請求與使用區塊鏈實施之事件串流ES相關。來自用戶端之請求係呈超文字傳送協定(HTTP)傳輸協定格式,如同第一態樣。在一些實施例中,事件串流與狀態機相關,且表示實施為區塊鏈中之有限狀態機的機器可讀合約或智慧型合約。有限狀態機(FSM)係熟知之計算數學模型。其為在任何給定時間處可恰好處於有限數目個狀態中之一者的抽象機。FSM可回應於一些外部輸入自一個狀態改變至另一狀態,自一個狀態至另一狀態之改變被稱為轉變。FSM可由其狀態、其初始狀態及每個轉變之條件的清單定義。在比特幣SV區塊鏈中,UTXO集可被視為狀態機,其中給定輸出之已用狀態隨至交易(機器)之先前輸入而變。因此,藉由重現所有交易,可使用區塊鏈來確定性地建立任何輸出之當前使用狀態及UTXO集之當前內容。因此,在圖4之實施例中,請求可被視為更改智慧型合約之當前狀態的請求,該智慧型合約被實施為區塊鏈中之事件串流ES。
步驟404描繪藉由資料寫入器或用於實施資料寫入服務之平台處理器判定事件串流之當前狀態ESi = n
。吾等認為i為自0至N之整數,每個整數i表示具有有限數目個狀態之事件串流ES的給定狀態,藉此i=0表示所產生事件串流ES,i=n表示區塊鏈中處於當前狀態之事件串流ES,且i=N表示事件串流ES之最終狀態。因此,事件串流ES之當前狀態將為En
。
步驟406描繪基於步驟402中之所接收請求識別或獲得與事件串流ES之下一或新事件En + 1
相關聯的資料。在此實施例中,新事件可為觸發狀態之更改,使得事件串流轉變至下一狀態的資料或功能。
步驟408描繪由與實施資料寫入器之平台處理器相關聯的一或多個處理器產生下一事件En + 1
之區塊鏈交易TXn + 1
的步驟。區塊鏈交易TXn + 1
至少包括:
- 與來自先前交易TXn
之交易輸出(TXOn
)相關聯的輸入。此輸入使用來自先前交易之TXOn
輸出。
- 與表示新事件En + 1
之事件資料相關聯的未用輸出(UTXOn + 1
)。在一些實施例中,此為資料輸出,亦即表示交易之資料載體元素。
可存在額外輸入,諸如適當時覆蓋網路挖掘費用之資金輸入,且亦可存在其他輸出,諸如交易之改變輸出。
步驟410描繪將步驟408中產生之交易TXn + 1
提交至區塊鏈。此處,可將交易提交至區塊鏈,諸如比特幣SV網路,以用於由與平台處理器相關聯之挖掘者節點或BSV節點軟體包括於後續區塊中。
步驟412描繪基於新產生之事件En + 1
將事件串流ES之當前狀態現在更新為ESi = n + 1
,使得ESi = n
= ESn + 1
。此對應於提交至ES之區塊鏈的最新交易TXn + 1
。在一些實施例中,基於最終交易輸出UTXOn + 1
中之事件資料輸出來識別及更新新的狀態。
步驟414描繪發送基於步驟412中之經更新當前狀態ESn + 1
的結果,該結果係基於HTTP傳輸協定格式提供至用戶端。
現在轉向圖5,提供計算裝置2600之說明性簡化方塊圖,該計算裝置可用於實踐本揭露內容之至少一個實施例。在各種實施例中,計算裝置2600可用以實施上文所說明及描述之系統中之任一者。例如,計算裝置2600可經組配以用作圖之DBMS之一或多個組件,或計算裝置2600可經組配為與給定使用者相關聯的用戶端實體,該用戶端實體作出對由圖5之DBMS管理之資料庫的資料庫請求。因此,計算裝置2600可為攜帶型計算裝置、個人電腦,或任何電子計算裝置。如圖5中所示,計算裝置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或Blue-Ray)驅動機及其他相似儲存媒體。此程式及資料可包括用於進行如本揭露內容中所描述的一或多個實施例之步驟的程式,以及與如本揭露內容中所描述之交易及區塊相關聯的資料。
計算裝置2600可具有各種類型,包括攜帶型電腦裝置、平板電腦、工作站或下文所描述之任何其他裝置。另外,計算裝置2600可包括可通過一或多個埠(例如,USB、頭戴式耳機插口、雷電型連接器等)連接至計算裝置2600的另一裝置。可連接至計算裝置2600之裝置可包括經組配以接受光纖連接器之多個埠。因此,此裝置可經組配以將光學信號轉換成可通過將裝置連接至計算裝置2600之埠傳輸的電信號以供處理。由於電腦及網路不斷改變之本質,出於說明裝置之較佳實施例之目的,圖5中所描繪之計算裝置2600之描述僅意欲作為特定實例。具有比圖5中所描繪之系統更多或更少組件的許多其他組配係可能的。經枚舉實例實施例
本揭露內容特此基於與上文態樣相關之以下條項來論述,該等條項在本文中經提供作為例示性實施例以用於較佳地解釋、描述及理解所主張之態樣及實施例。
1. 一種用於提供與一區塊鏈相關聯之多個服務之一平台的電腦實施方法,該平台經提供用於多個用戶端,該方法由與一應用程式設計介面(API)相關聯之一平台處理器實施,該方法包含以下步驟:
自該多個用戶端當中之一給定用戶端接收一請求,該請求係與該多個服務當中之一給定服務有關,來自該給定用戶端之該請求係基於一超文字傳送協定(HTTP)傳輸協定格式;
基於用戶端身分及/或請求有效之一判定,獲得與該給定服務相關聯之一目的地位址;
基於對應於所獲得目的地位址之至少一個區塊鏈交易處理對該給定服務之該請求,以獲得一輸出指令碼;以及
將與該輸出指令碼相關聯之一結果發送至該給定用戶端,該結果係基於該HTTP傳輸協定格式提供的。
2. 如條項1中闡明之方法,其中平台處理器被實施為一HTTP API端點。
3. 如條項2中闡明之方法,其中該平台處理器被實施為一代表性狀態轉移(REST)端點。
4. 如任一前述條項中闡明之方法,其中該平台處理器包含多個處理器或與該多個處理器相關聯,每個處理器經組配以用於實施該區塊鏈上之該多個服務當中的一給定服務,且每個處理器與各別處理器特有之一特定目的地位址或端點相關聯。
5. 如任一前述中闡明之方法,其中該平台處理器與一API轉換器相關聯,該API轉換器經組配以用於執行以下步驟:
以該HTTP傳輸協定格式自該給定用戶端接收該請求;
將一所接收請求轉換成一遠端程序呼叫(RPC)格式,且將RPC請求發送至該多個處理器當中經組配以實施該所接收請求中識別之該給定服務的一給定處理器;
以一RPC格式自該給定處理器接收與至少一個區塊鏈交易相關聯之一回應;以及
使用該HTTP傳輸協定轉換待發送至該用戶端的各別回應。
6. 如任一前述條項中闡明之方法,其中該所接收請求為一HTTP GET或POST或PUT或PATCH請求,其包括該給定用戶端之一用戶端識別符及所請求之該給定服務之一服務識別符或與該兩識別符相關聯,且其中發送至該用戶端之該結果為基於該給定用戶端之該用戶端識別符的一HTTP POST請求。
7. 如條項6中闡明之方法,其包含基於該用戶端識別符及對應於該用戶端識別符之一記錄來驗證該用戶端,該記錄與該平台處理器相關聯;以及
基於對該用戶端之一成功驗證,基於該服務識別符及包括於各別記錄中之一屬性或設定來判定來自該用戶端之該所接收請求是否有效。
8. 如條項6或7中闡明之方法,其中該用戶端識別符為經提供用於一給定用戶端之一別名,該別名特定針對於該給定用戶端且由一基於別名之定址服務提供,該定址服務具有可自一經定義或熟知位置存取之一機器可讀資源,該機器可讀資源包括與該給定用戶端有關之一或多個能力。
9. 如條項8中闡明之方法,其中該別名與該給定用戶端之一域名相關聯。
10. 如任一前述條項中闡明之方法,其中該平台包括使用該區塊鏈實施之以下服務中之至少一或多者:
用於將資料寫入/提交至該區塊鏈中以更改該區塊鏈之一狀態的資料服務;
用於讀取/獲得反映該區塊鏈之當前狀態之資料的資料服務;
與簡化之支付驗證相關聯的用於與該區塊鏈相關聯之交易的服務;
與對與該區塊鏈相關聯之一或多個事件串流及/或智慧型合約之管理相關聯的服務;
與對用於與該區塊鏈相關聯之多個用戶端之一數位錢包框架的管理相關聯之服務;
與提供同級間通訊頻道相關聯之服務;
與資料儲存相關聯之服務。
11. 一種用於存取與一區塊鏈相關聯之多個服務之一平台的電腦實施方法,該平台經提供用於多個用戶端,該方法由該多個用戶端當中之一給定用戶端之一或多個處理器實施,該方法包含以下步驟:
獲得或識別與一或多個處理器相關聯之一應用程式設計介面(API)端點,該一或多個處理器與該平台相關聯;
發送與該多個服務當中之一給定服務有關的一請求,該請求包括該給定用戶端之一用戶端識別符及所請求之該給定服務之一服務識別符或與該兩識別符相關聯,其中該請求係基於一超文字傳送協定(HTTP)傳輸協定格式發送的;以及
接收與相關聯於該請求之一區塊鏈交易之一輸出指令碼有關的一結果,該結果係基於該HTTP傳輸協定格式提供至該用戶端。
12. 一種用於實施與一區塊鏈相關聯之交易的一資料寫入服務的電腦實施方法,該方法由與一應用程式設計介面(API)相關聯之一平台處理器實施,該方法包含以下步驟:
自一用戶端接收一請求,該請求與使用該區塊鏈實施之一事件串流ES相關,來自該用戶端之該請求係基於一超文字傳送協定(HTTP)傳輸協定格式;
判定該事件串流之一當前狀態ESi = n
,其中i為自0至N之一整數,每個整數i表示該事件串流ES之一給定狀態,藉此i=0表示所產生事件串流ES,i=n表示該區塊鏈中處於一當前狀態之該事件串流ES,且i=N表示該事件串流ES之一最終狀態;
藉由以下步驟基於所接收請求處理該事件串流ES之一新事件En + 1
:
產生一區塊鏈交易TXn + 1
,該區塊鏈交易TXn + 1
包括:
與來自一先前交易TXn
之一交易輸出(TXOn
)相關聯的一輸入;以及
與表示該新事件En + 1
之事件資料相關聯的一未用輸出(UTXOn + 1
);
將該交易TXn + 1
提交至該區塊鏈;
其中回應於該提交,該方法包括基於新產生事件En + 1
將該事件串流之該當前狀態更新為ESi = n + 1
,使得ESi = n
= ESn + 1
;以及
基於經更新當前狀態ESn + 1
發送一結果,該結果係基於該HTTP傳輸協定格式提供的。
應注意,上文所提及之態樣及實施例說明而非限制本揭露內容,且熟習此項技術者將能夠設計許多替代實施例而不偏離本揭露內容之如由所附申請專利範圍定義的範疇。在申請專利範圍中,置放於圓括號中的任何附圖標記不應被認作限制申請專利範圍。詞「包含」等並不排除除了任何請求項或說明書中整體列出之彼等元件或步驟以外的元件或步驟之存在。在本說明書中,「包含」意謂「包括或由……組成」。元件之單數參考並不排除此類元件之複數參考,且反之亦然。本揭露內容可藉助於包含若干獨特元件之硬體且藉助於經合適程式設計之電腦來實施。在枚舉若干構件之裝置請求項中,此等構件中之若干者可由硬體之同一物件體現。在彼此不同之依附請求項中敍述某些措施的純粹實情並非指示此等措施不能有利地組合使用。
100:平台處理器,平台服務
102:資料寫入服務,服務模組或處理資源
104:計算服務,服務模組或處理資源
106:商務服務,服務模組或處理資源
108:應用程式設計介面(API)
110:基礎軟體
112:區塊鏈網路
202a,202b,204a,204b,206a,206b,208a,208b,210a,212a,214a,216a,218a,402,404,406,408,410,412,414:步驟
300:平台
302:資料服務
302a:資料寫入器服務
302b:資料讀取器服務
304:商務服務
304a:企業錢包
306:計算服務
306a:應用程式
306b:框架
308:SPV服務
310:區塊鏈
2600:計算裝置
2602:處理器,快取記憶體
2604:匯流排子系統
2606:儲存子系統
2608:主記憶體
2610:持久性儲存器
2612:使用者介面輸入裝置
2614:使用者介面輸出裝置
2616:網路介面子系統
2618:動態隨機存取記憶體(DRAM)
2620:唯讀記憶體(ROM)
現將僅作為實例且參考附圖描述本揭露內容之態樣及實施例,在附圖中:
圖1為描繪了根據第一態樣的用於與區塊鏈相關聯之多個服務的平台的概述之示意圖。
圖2a為描繪了根據第一態樣的用於提供與區塊鏈相關聯之多個服務的平台的方法之流程圖,該方法如由與平台相關聯之一或多個處理器實施。
圖2b為描繪了根據第一態樣的用於存取與區塊鏈相關聯之多個服務的平台的方法之流程圖,該方法如由與用戶端相關聯之一或多個處理器實施。
圖3為描繪了根據第一態樣的與區塊鏈相關聯之多個服務的平台的組件之示意圖。
圖4為描繪了根據第二態樣的用於實施與區塊鏈相關聯之交易的資料寫入服務之方法的流程圖,該方法如由與平台服務相關聯之一或多個處理器實施。
圖5為說明其中可實施本揭露內容之各種態樣及實施例的計算環境之示意圖。
100:平台處理器,平台服務
102:資料寫入服務,服務模組或處理資源
104:計算服務,服務模組或處理資源
106:商務服務,服務模組或處理資源
108:應用程式設計介面(API)
110:基礎軟體
112:區塊鏈網路
Claims (12)
- 一種用於提供與一區塊鏈相關聯之多個服務之一平台的電腦實施方法,該平台經提供用於多個用戶端,該方法由與一應用程式設計介面(API)相關聯之一平台處理器實施,該方法包含以下步驟: 自該多個用戶端當中之一給定用戶端接收一請求,該請求係與該多個服務當中之一給定服務有關,來自該給定用戶端之該請求係基於一超文字傳送協定(HTTP)傳輸協定格式; 基於用戶端身分及/或請求為有效之一判定,獲得與該給定服務相關聯之一目的地位址; 基於對應於所獲得目的地位址之至少一個區塊鏈交易處理對該給定服務之該請求,以獲得一輸出指令碼;以及 將與該輸出指令碼相關聯之一結果發送至該給定用戶端,該結果係基於該HTTP傳輸協定格式提供。
- 如請求項1之方法,其中平台處理器被實施為一HTTP API端點。
- 如請求項2之方法,其中該平台處理器被實施為一代表性狀態轉移(REST)端點。
- 如前述請求項中任一項之方法,其中該平台處理器包含多個處理器或與該多個處理器相關聯,每個處理器經組配以用於實施該區塊鏈上之該多個服務當中的一給定服務,且每個處理器與各別處理器特有之一特定目的地位址或端點相關聯。
- 如前述請求項中任一項之方法,其中該平台處理器與一API轉換器相關聯,該API轉換器經組配以用於執行以下步驟: 以該HTTP傳輸協定格式自該給定用戶端接收該請求; 將一所接收請求轉換成一遠端程序呼叫(RPC)格式,且將RPC請求發送至該多個處理器當中經組配以實施該所接收請求中識別之該給定服務的一給定處理器; 以一RPC格式自該給定處理器接收與至少一個區塊鏈交易相關聯之一回應;以及 使用該HTTP傳輸協定轉換待發送至該用戶端的各別回應。
- 如前述請求項中任一項之方法,其中該所接收請求為一HTTP GET或POST或PUT或PATCH請求,其包括該給定用戶端之一用戶端識別符及所請求之該給定服務之一服務識別符或與該兩識別符相關聯,且其中發送至該用戶端之該結果為基於該給定用戶端之該用戶端識別符的一HTTP POST請求。
- 如請求項6之方法,其包含基於該用戶端識別符及對應於該用戶端識別符之一記錄來驗證該用戶端,該記錄與該平台處理器相關聯;以及 基於對該用戶端之一成功驗證,基於該服務識別符及包括於各別記錄中之一屬性或設定判定來自該用戶端之該所接收請求是否有效。
- 如請求項6或7之方法,其中該用戶端識別符係為一給定用戶端提供之一別名,該別名特定於該給定用戶端且由一基於別名之定址服務提供,該定址服務具有可自一經定義或熟知位置存取之一機器可讀資源,該機器可讀資源包括與該給定用戶端有關之一或多個能力。
- 如請求項8之方法,其中該別名與該給定用戶端之一域名相關聯。
- 如前述請求項中任一項之方法,其中該平台包括使用該區塊鏈實施之以下服務中之至少一或多者: 用於將資料寫入/提交至該區塊鏈中以更改該區塊鏈之一狀態的資料服務; 用於讀取/獲得反映該區塊鏈之當前狀態之資料的資料服務; 用於與該區塊鏈相關聯之交易的簡化支付驗證相關聯的服務; 與對與該區塊鏈相關聯之一或多個事件串流及/或智慧型合約之管理相關聯的服務; 與對用於與該區塊鏈相關聯之多個用戶端之一數位錢包框架的管理相關聯之服務; 與提供同級間通訊頻道相關聯之服務; 與資料儲存相關聯之服務。
- 一種用於存取與一區塊鏈相關聯之多個服務之一平台的電腦實施方法,該平台經提供用於多個用戶端,該方法由該多個用戶端當中之一給定用戶端之一或多個處理器實施,該方法包含以下步驟: 獲得或識別與一或多個處理器相關聯之一應用程式設計介面(API)端點,該一或多個處理器與該平台相關聯; 發送與該多個服務當中之一給定服務有關的一請求,該請求包括該給定用戶端之一用戶端識別符及所請求之該給定服務之一服務識別符或與該兩識別符相關聯,其中該請求係基於一超文字傳送協定(HTTP)傳輸協定格式發送;以及 接收與相關聯於該請求之一區塊鏈交易之一輸出指令碼有關的一結果,該結果係基於該HTTP傳輸協定格式提供至該用戶端。
- 一種用於實施與一區塊鏈相關聯之交易的一資料寫入服務的電腦實施方法,該方法由與一應用程式設計介面(API)相關聯之一平台處理器實施,該方法包含以下步驟: 自一用戶端接收一請求,該請求與使用該區塊鏈實施之一事件串流ES相關,來自該用戶端之該請求係基於一超文字傳送協定(HTTP)傳輸協定格式; 判定該事件串流之一當前狀態ESi = n ,其中i為自0至N之一整數,每個整數i表示該事件串流ES之一給定狀態,藉此i=0表示所產生事件串流ES,i=n表示該區塊鏈中處於一當前狀態之該事件串流ES,且i=N表示該事件串流ES之一最終狀態; 藉由以下步驟基於所接收請求處理該事件串流ES之一新事件En + 1 : 產生一區塊鏈交易TXn + 1 ,該區塊鏈交易TXn + 1 包括: 與來自一先前交易TXn 之一交易輸出(TXOn )相關聯的一輸入;以及 與表示該新事件En + 1 之事件資料相關聯的一未用輸出(UTXOn + 1 ); 將該交易TXn + 1 提交至該區塊鏈; 其中回應於該提交,該方法包括基於新產生事件En + 1 將該事件串流之該當前狀態更新為ESi = n + 1 ,使得ESi = n = ESn + 1 ;以及 基於經更新當前狀態ESn + 1 發送一結果,該結果係基於該HTTP傳輸協定格式提供。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2002285.1 | 2020-02-19 | ||
GBGB2002285.1A GB202002285D0 (en) | 2020-02-19 | 2020-02-19 | Computer-implemented system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202139668A true TW202139668A (zh) | 2021-10-16 |
Family
ID=69956567
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110105841A TW202139669A (zh) | 2020-02-19 | 2021-02-19 | 用於與區塊鏈相關聯之事件序列之事件串流 |
TW110105836A TW202139668A (zh) | 2020-02-19 | 2021-02-19 | 用於與區塊鏈相關聯之多個服務之平台 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110105841A TW202139669A (zh) | 2020-02-19 | 2021-02-19 | 用於與區塊鏈相關聯之事件序列之事件串流 |
Country Status (8)
Country | Link |
---|---|
US (3) | US11880839B2 (zh) |
EP (2) | EP4107688A1 (zh) |
JP (2) | JP2023515435A (zh) |
KR (2) | KR20220143873A (zh) |
CN (2) | CN115136169A (zh) |
GB (1) | GB202002285D0 (zh) |
TW (2) | TW202139669A (zh) |
WO (2) | WO2021165817A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2622241A (en) * | 2022-09-08 | 2024-03-13 | Nchain Licensing Ag | Blockchain state machine |
GB2622240A (en) * | 2022-09-08 | 2024-03-13 | Nchain Licensing Ag | Blockchain state machine |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US20170132630A1 (en) * | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
US10868674B2 (en) | 2016-08-12 | 2020-12-15 | ALTR Solutions, Inc. | Decentralized database optimizations |
US11010216B2 (en) * | 2016-12-22 | 2021-05-18 | Nippon Telegraph And Telephone Corporation | RPC conversion processing system and RPC conversion method |
US11810018B2 (en) * | 2017-05-22 | 2023-11-07 | Nchain Licensing Ag | Secure provision of undetermined data from an undetermined source into the locking script of a blockchain transaction |
US10762079B2 (en) | 2017-09-29 | 2020-09-01 | Oracle International Corporation | System and method for managing a blockchain cloud service |
US20190139036A1 (en) * | 2017-11-03 | 2019-05-09 | Aid Technology Limited | Method, apparatus, and computer-readable medium for securely performing digital asset transactions |
US10693637B2 (en) * | 2018-03-23 | 2020-06-23 | Belavadi Nagarajaswamy Ramesh | System and method for composite-key based blockchain device control |
US11431477B2 (en) * | 2018-05-14 | 2022-08-30 | nChain Holdings Limited | Computer-implemented systems and methods for using a blockchain to perform an atomic swap |
US11250466B2 (en) * | 2018-07-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time |
US10999260B1 (en) * | 2020-05-12 | 2021-05-04 | iCoin Technology, Inc. | Secure messaging between cryptographic hardware modules |
-
2020
- 2020-02-19 GB GBGB2002285.1A patent/GB202002285D0/en not_active Ceased
-
2021
- 2021-02-15 CN CN202180015550.9A patent/CN115136169A/zh active Pending
- 2021-02-15 WO PCT/IB2021/051261 patent/WO2021165817A1/en unknown
- 2021-02-15 US US17/800,857 patent/US11880839B2/en active Active
- 2021-02-15 JP JP2022549509A patent/JP2023515435A/ja active Pending
- 2021-02-15 CN CN202180015545.8A patent/CN115176248A/zh active Pending
- 2021-02-15 EP EP21707790.8A patent/EP4107688A1/en active Pending
- 2021-02-15 EP EP21707787.4A patent/EP4107644A2/en active Pending
- 2021-02-15 JP JP2022549731A patent/JP2023513845A/ja active Pending
- 2021-02-15 WO PCT/IB2021/051258 patent/WO2021165814A2/en unknown
- 2021-02-15 US US17/799,567 patent/US20230082545A1/en active Pending
- 2021-02-15 KR KR1020227031587A patent/KR20220143873A/ko unknown
- 2021-02-15 KR KR1020227031588A patent/KR20220143874A/ko unknown
- 2021-02-19 TW TW110105841A patent/TW202139669A/zh unknown
- 2021-02-19 TW TW110105836A patent/TW202139668A/zh unknown
-
2023
- 2023-11-10 US US18/388,762 patent/US20240086914A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115136169A (zh) | 2022-09-30 |
JP2023515435A (ja) | 2023-04-13 |
US11880839B2 (en) | 2024-01-23 |
CN115176248A (zh) | 2022-10-11 |
TW202139669A (zh) | 2021-10-16 |
KR20220143874A (ko) | 2022-10-25 |
WO2021165814A3 (en) | 2021-09-30 |
EP4107644A2 (en) | 2022-12-28 |
US20230078784A1 (en) | 2023-03-16 |
EP4107688A1 (en) | 2022-12-28 |
WO2021165817A1 (en) | 2021-08-26 |
JP2023513845A (ja) | 2023-04-03 |
GB202002285D0 (en) | 2020-04-01 |
WO2021165814A2 (en) | 2021-08-26 |
US20230082545A1 (en) | 2023-03-16 |
US20240086914A1 (en) | 2024-03-14 |
KR20220143873A (ko) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022520656A (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
EP4081967A1 (en) | Destination addressing for transactions associated with a distributed ledger | |
US20240086914A1 (en) | Platform for a plurality of services associated with a blockchain | |
TW202025665A (zh) | 用以移轉數位資源存取權之電腦實施系統及方法 | |
JP2022534023A (ja) | コンピュータで実施されるシステムおよび方法 | |
TW202139127A (zh) | 用於與區塊鏈相關聯之服務平台之運算服務 | |
WO2020212784A1 (en) | Destination addressing associated with a distributed ledger | |
KR20210106532A (ko) | 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법 | |
TW202135504A (zh) | 平台服務驗證技術 | |
TW202130153A (zh) | 區塊鏈交易之回叫機制 | |
CN114641967A (zh) | 区块链交易的回调机制 | |
CN113228075B (zh) | 用于控制或强制执行在区块链上进行的转移的计算机实现的系统和方法 | |
JP7512294B2 (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
US20230093411A1 (en) | Synchronising event streams | |
CN115151934A (zh) | 平台服务验证 | |
CN117941322A (zh) | 基于区块链的交易协议 | |
CN117614934A (zh) | 资源转移方法、装置、电子设备及存储介质 |