TW202021311A - 區塊鏈網路中的功能即服務(faas)平臺 - Google Patents
區塊鏈網路中的功能即服務(faas)平臺 Download PDFInfo
- Publication number
- TW202021311A TW202021311A TW108127723A TW108127723A TW202021311A TW 202021311 A TW202021311 A TW 202021311A TW 108127723 A TW108127723 A TW 108127723A TW 108127723 A TW108127723 A TW 108127723A TW 202021311 A TW202021311 A TW 202021311A
- Authority
- TW
- Taiwan
- Prior art keywords
- function
- controller
- call
- smart contract
- data
- Prior art date
Links
Images
Classifications
-
- 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Mobile Radio Communication Systems (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本說明書的實施方式包括透過在所述區塊鏈網路內執行的第一函數控制器,接收來自智慧合約的、以執行第一函數的第一函數呼叫,所述第一函數呼叫包括執行所述第一函數的資料;透過所述第一函數控制器,將所述第一函數呼叫的資料發送給第一函數元件,所述第一函數元件根據所述第一函數呼叫的資料執行所述第一函數;透過所述第一函數控制器,接收來自所述第一函數元件的第一函數結果;並透過所述第一函數控制器,將所述第一函數結果提供給所述智慧合約。
Description
本發明係關於區塊鏈網路中的功能即服務(FAAS)平臺。
分散式帳本系統(distributed ledger system,DLS),也可以稱為共識網路和/或區塊鏈網路,使參與實體能夠安全地且不可篡改地儲存資料。DLS通常被稱為不引用任何特定用例(例如,加密貨幣)的區塊鏈網路。區塊鏈網路的示例類型可以包括公有區塊鏈網路、私有區塊鏈網路和聯盟區塊鏈網路。公有區塊鏈網路對使用DLS和參與共識過程的所有實體是開放的。私有區塊鏈網路提供給特定實體,該特定實體集中控制讀取和寫入許可權。聯盟區塊鏈網路提供給選擇的實體組(該選擇的實體組控制共識過程)並包括存取控制層。
智慧合約可以在區塊鏈網路中執行以執行一個或多個函數。智慧合約可以被描述為包含編碼函數的單體應用(monolithic application)。作為單體應用,可能需要相對穩健的開發操作來支援智慧合約(例如,編碼每個函數,對函數的更新導致整個智慧合約的更新)。
本說明書的實施方式包括在區塊鏈網路中提供應用程式的電腦實現的方法。更具體地,本說明書的實施方式涉及向在區塊鏈網路中執行的應用程式提供函數的功能即服務(FaaS)平臺。
在一些實施方式中,操作包括透過在所述區塊鏈網路內執行的第一函數控制器,接收來自智慧合約的執行第一函數的第一函數呼叫,所述第一函數呼叫包括執行所述第一函數的資料;透過所述第一函數控制器,將所述第一函數呼叫的資料發送給第一函數元件,所述第一函數元件根據所述第一函數呼叫的資料執行所述第一函數;透過所述第一函數控制器,接收來自所述第一函數元件的第一函數結果;並透過所述第一函數控制器,將所述第一函數結果提供給所述智慧合約。其他實施方式包括相應的系統、裝置和電腦程式,被配置為執行編碼在電腦儲存設備上的方法的操作。
這些和其他實施方式可以各自可選地包括以下特徵中的一個或多個:所述第一函數呼叫還包括所述第一函數的位址和所述第一函數的版本識別字;所述版本識別字為空,表示要執行所述第一函數的最新版本;操作還包括透過所述第一函數控制器,更新統計資料,所述統計資料與回應於所述第一函數呼叫而執行的所述第一函數的版本相關聯;所述統計資料表示第一函數的每個版本的已執行次數;操作還包括:透過在所述區塊鏈網路中執行的第二函數控制器,接收來自所述智慧合約的執行第二函數的第二函數呼叫,所述第二函數呼叫包括執行所述第二函數的資料,其中所述第二函數不同於所述第一函數,並且其中所述第二函數控制器不同於所述第一函數控制器;透過所述第二函數控制器,將所述第二函數呼叫的資料發送給第二函數元件,所述第二函數元件基於所述第二函數呼叫的資料執行所述第二函數,其中所述第二函數元件不同於所述第一函數元件;透過所述第二函數控制器,接收來自所述第二函數元件的第二函數結果;和透過所述第二函數控制器,將所述第二函數結果提供給所述智慧合約;所述第一函數和所述第二函數由不同的提供方提供;並且所述智慧合約至少部分地基於所述函數結果來執行交易,所述交易被記錄在所述區塊鏈網路的區塊鏈內。
本說明書還提供了一個或多個非暫時性電腦可讀儲存媒體,其連接到一個或多個處理器並且具有儲存在其上的指令,當由一個或多個處理器執行時,所述指令使得一個或多個處理器根據本文提供的方法的實施方式執行操作。
本說明書還提供了用於實現本文提供的方法的系統。該系統包括一個或多個處理器,以及連接到一個或多個處理器的電腦可讀儲存媒體,其上儲存有指令,當由一個或多個處理器執行時,所述指令使得一個或多個處理器根據本文提供的方法的實施方式執行操作。
應瞭解,根據本說明書的方法可包括本文描述的方面和特徵的任意組合。也就是說,根據本說明書的方法不限於本文具體描述的方面和特徵的組合,還包括所提供的方面和特徵的任意組合。
在圖式和以下描述中闡述了本說明書的一個或多個實施方式的細節。根據說明書和圖式以及申請專利範圍,本說明書的其他特徵和優點將顯而易見。
本說明書的實施方式包括在區塊鏈網路中提供應用程式的電腦實現方法。更具體地,本說明書的實施方式涉及向在區塊鏈網路中執行的應用程式提供函數的功能即服務(function-as-a-service,FaaS)平臺。在一些實施方式中,操作包括透過在區塊鏈網路內執行的函數控制器,接收來自智慧合約的執行一函數的函數呼叫,該函數呼叫包括執行該函數的資料;透過該函數控制器,將所述函數呼叫的資料發送給函數元件,所述函數元件基於所述函數呼叫的資料執行所述函數;透過該函數控制器,接收來自所述函數元件的函數結果;並透過該函數控制器,將所述函數結果提供給所述智慧合約。
為進一步提供本說明書實施方式的背景(context),並且如上所述,分散式帳本系統(DLS)也可以稱為共識網路(例如,由對等節點組成)和區塊鏈網路,使參與實體能夠安全地且不可篡改地進行交易和儲存資料。儘管術語區塊鏈通常與比特幣加密貨幣網路相關聯,但是本文使用區塊鏈來一般地指代不參考任何特定用例的DLS。如上所述,區塊鏈網路可以被提供為公有區塊鏈網路、私有區塊鏈網路或聯盟區塊鏈網路。
在公有區塊鏈網路中,共識過程由共識網路的節點控制。例如,數百、數千、甚至數百萬個實體可以在公有區塊鏈網路中協作,每個實體在公有區塊鏈網路中操作至少一個節點。因此,公有區塊鏈網路可以被認為是相對於參與實體的公有網路。在一些示例中,大多數實體(節點)必須對每個塊進行簽名,以使該塊有效並且將有效的塊添加到區塊鏈網路的區塊鏈(分散式帳本)。示例公有區塊鏈網路包括比特幣網路,比特幣網路是對等支付網路。比特幣網路利用分散式帳本,被稱為區塊鏈。如上所述,然而,術語區塊鏈通常用於指代不特別參考比特幣網路的分散式帳本。
通常,公有區塊鏈網路支援公有交易。公有交易與公有區塊鏈網路內的所有節點共用,並儲存在全域區塊鏈中。全域區塊鏈是跨所有節點複製的區塊鏈。也就是說,相對於全域區塊鏈,所有節點處於完全一致的狀態。為了達成共識(例如,同意向區塊鏈添加塊),在公有區塊鏈網路內實施共識協定。示例共識協定包括但不限於,在比特幣網路中實施的工作量證明(proof-of-work,POW)。
通常,私有區塊鏈網路提供給特定實體,特定實體集中控制讀取和寫入許可權。該實體控制哪些節點能夠參與區塊鏈網路。因此,私有區塊鏈網路通常被稱為許可網路,其對允許誰參與網路及其參與水準(例如,僅在某些交易中)施加限制。可以使用各種類型的存取控制機制(例如,現有參與者投票添加新實體,監管機構可以控制准入)。
通常,聯盟區塊鏈網路在參與實體中是私有的。在聯盟區塊鏈網路中,共識過程由授權的一組節點控制,一個或多個節點由相應的實體(例如,金融機構、保險公司)操作。例如,由十(10)個實體(例如,金融機構、保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體在該聯盟區塊鏈網路中操作至少一個節點。因此,就參與實體而言,聯盟區塊鏈網路可以被認為是私有網路。在一些示例中,每個實體(節點)必須對每個塊進行簽名,以使該塊有效並將有效的塊添加到區塊鏈。在一些示例中,至少實體(節點)的子集(例如,至少7個實體)必須對每個塊進行簽名以使該塊有效,並且將有效的塊添加到區塊鏈。
這裡參考公有區塊鏈網路進一步詳細描述本說明書的實施方式,該公有區塊鏈網路在參與實體之間是公有的。然而,可以預期,本說明書的實施方式可以在任何合適類型的區塊鏈網路中實現。雖然本說明書中描述的技術表示為與公有區塊鏈網路相關,但是這些技術也可以用於其他類型的區塊鏈網路,包括私有區塊鏈網路和聯盟區塊鏈網路,而無論是否進行更改。
鑒於上述背景,本文進一步詳細描述了本說明書的實施方式。更具體地,並且如上所述,本說明書的實施方式涉及向在區塊鏈網路中執行的應用程式提供函數的FaaS平臺。以這種方式,開發者可以開發相對較少(例如,從編碼層面)的應用程式(例如,智慧合約),並且可以透過本說明書的FaaS平台呼叫一個或多個函數。
為進一步提供本說明書實施方式的背景,在區塊鏈網路中,應用程式可以被開發、測試和部署在區塊鏈網路內執行。示例應用程式可以包括但不限於智慧合約。智慧合約可以被描述為具有影響各方的合約條款的現實世界、法律合約的數字表示。智慧合約被實施、儲存、更新(根據需要)、並在示例場景中,在聯盟區塊鏈網路內執行。與智慧合約相關聯的合約方(例如,買方和賣方)被表示為聯盟區塊鏈網路中的節點。
在一些示例中,智慧合約可以儲存資料,該資料可以用於記錄資訊、事實、關聯、餘額以及實現合約執行邏輯所需的任何其他資訊。智慧合約可以被描述為由函數組成的電腦可執行程式,其中可以創建智慧合約的實例(instance),呼叫函數以執行智慧合約的邏輯。
在技術方面,可以基於物件和物件導向的類來實現智慧合約。例如,智慧合約的條款和元件可以表示為由實現智慧合約的應用程式處理的物件。智慧合約(或智慧合約中的物件)可以像其他物件導向的物件一樣呼叫另一個智慧合約(或同一智慧合約中的物件)。例如,由物件發出的呼叫可以是創建、更新、刪除、傳播或對另一個類的物件通信的呼叫。物件之間的呼叫可以實現為函數、方法、應用程式設計發展介面(application programming interface,API)或其他呼叫機制。例如,第一物件可以呼叫函數來創建第二物件。
整合式開發環境(integrated development environment,IDE)可用於開發、測試和部署應用程式,例如部署智慧合約到區塊鏈網路中。示例IDE包括由瑞士楚格(Zug)的乙太坊基金會提供的Remix IDE,用於在Solidity語言中創建智慧合約。
圖1描繪了可用於執行本說明書實施方式的示例環境100。在一些示例中,示例環境100使得實體能夠參與私有區塊鏈網路102。示例環境100包括計算系統106、108和網路110。在一些示例中,網路110包括區域網路(LAN)、廣域網路(WAN)、網際網路或其組合,並且與網站、用戶設備(例如,計算設備)和後端系統連接。在一些示例中,可以透過有線和/或無線通訊鏈路來訪問網路110。
在所描繪的示例中,計算系統106、108均可以包括能夠作為節點參與私有區塊鏈網路102中的任何合適的計算系統。示例計算設備包括但不限於:伺服器、桌上型電腦、膝上型電腦、平板計算設備和智慧型電話。在一些示例中,計算系統106、108承載(host)一個或多個用於與私有區塊鏈網路102互動的電腦實現的服務。例如,計算系統106可以承載第一實體(例如,用戶A)的電腦實現的服務,例如第一實體用於管理其與一個或多個其他實體(例如,其他用戶)交易的交易管理系統。計算系統108可以承載第二實體(例如,用戶B)的電腦實現的服務,例如第二實體用於管理其與一個或多個其他實體(例如,其他用戶)交易的交易管理系統。在圖1的示例中,私有區塊鏈網路102被表示為節點的對等網路,並且計算系統106、108分別提供參與私有區塊鏈網路102的第一實體和第二實體的節點。
圖2描繪了根據本說明書實施方式的示例概念架構200。示例概念架構200包括實體層202、服務承載層204和區塊鏈網路層206。在所描繪的示例中,實體層202包括三個實體,實體_1(E1)、實體_2(E2)和實體_3(E3),每個實體具有相應的交易管理系統208。
在所描繪的示例中,服務承載層204包括用於每個交易管理系統208的介面210。在一些示例中,各個交易管理系統208使用協定(例如,超文字傳輸協定安全(hypertext transfer protocol secure,HTTPS))透過網路(例如,圖1的網路110)與相應的介面210通信。在一些示例中,每個介面210為相應的交易管理系統208與區塊鏈網路層206之間提供通信連接。更具體地,介面210與區塊鏈網路層206的區塊鏈網路212通信。在一些示例中,使用遠端程序呼叫(remote procedure call,RPC)來進行介面210與區塊鏈網路層206之間的通信。在一些示例中,介面210“承載(host)”用於相應交易管理系統208的區塊鏈網路節點。例如,介面210提供用於訪問區塊鏈網路212的應用程式設計發展介面(API)。
如本文所述,區塊鏈網路212被提供為對等網路,其包括在區塊鏈216中不可篡改地記錄資訊的多個節點214。儘管示意性地描繪了單個區塊鏈216,但是提供了區塊鏈216的多個副本,並且跨區塊鏈網路212維護了多個副本。例如,每個節點214儲存區塊鏈的副本。在一些實施方式中,區塊鏈216儲存與交易相關聯的資訊,該交易在參與私有區塊鏈網路的兩個或更多個實體之間進行。
圖3描繪了根據本說明書實施方式的FaaS平臺300的示例概念架構。如本文進一步詳細描述的,FaaS平臺300用於提供支援智慧合約執行的函數,例如圖3的智慧合約302。在一些示例中,智慧合約302可以執行被記錄在區塊鏈的塊304中的交易。
在圖3的示例中,FaaS平臺300包括交易發起者306,交易發起者306可以是例如發起促使執行智慧合約302的操作的節點。例如,交易發起者306可以發送請求308以發起智慧合約302的執行。在一些示例中,智慧合約302接收該請求,並執行在智慧合約302中程式設計的邏輯。根據本說明書的實施方式,邏輯可以包括對FaaS平臺300中一個或多個函數應用程式312的呼叫。
在一些示例中,每一個函數應用程式312由相應的函數提供方310提供。例如,函數提供方310可以包括開發接收輸入、執行函數和提供輸出的函數應用程式的實體(例如,開發者)。在一些示例中,每個函數應用程式312包括函數控制器314,以及一個或多個函數316、318、320(函數程式碼)。函數提供方310可以提供函數的初始版本(例如,函數316),並且可以更新函數以提供後續版本(例如,函數318、320)。
在一些實施方式中,智慧合約302執行呼叫函數。智慧合約302向相應的函數應用程式312發送函數呼叫,函數呼叫包括待函數應用程式312處理的輸入。相應的函數控制器314接收函數呼叫。函數控制器314將該輸入路由到函數316、318、320的合適版本。接收該輸入的函數316、318、320處理該輸入以提供輸出,該輸出被發送回智慧合約302。
在一些實施方式中,由FaaS平臺300提供的函數應用程式儲存在區塊鏈中,並且在FaaS平臺300註冊。在一些示例中,註冊對用戶(例如,智慧合約的開發者)公開函數的資訊。示例資訊可以包括但不限於:提供方310的識別字、函數的描述、函數的版本以及函數的統計資料(例如,每個版本已被呼叫的次數)。例如,用戶可以使用該資訊表示與每個函數相關聯的置信水準。例如,開發智慧合約的用戶可以查看註冊表以標識所需的函數,並且可以對智慧合約進行程式設計以呼叫該函數。
以下是根據本說明書實施方式說明FaaS平臺的設計和使用的非限制性示例。一個或多個函數提供方,也稱為FaaS提供方(例如,圖3的函數提供方310),提供一個或多個電腦可執行函數。例如,函數提供方可以開發用以執行函數的電腦可執行程式碼,該函數接收輸入、處理該輸入和提供輸出。示例函數可以包括但不限於Rivest-Shamir-Adleman(RSA)校驗和函數,其接收任意長度的消息作為輸入並產生校驗和作為輸出(例如,128比特(16個比特位元組)校驗和)。在一些示例中,該函數是純函數。也就是說,該函數沒有狀態資訊、可重複呼叫和/或嵌套呼叫。
在一些實施方式中,為函數提供函數控制器(也稱為FaaS控制器)(例如,圖3的函數控制器314)。在一些示例中,函數控制器和函數一起形成函數應用程式,也稱為FaaS應用程式(例如,圖3的函數應用程式312)。在一些示例中,函數控制器處理函數版本的統計和儲存,以及呼叫資訊。下面的表1描述了函數控制器儲存的示例資訊:
表1:示例信息
在一些實施方式中,當函數準備好用於生產使用時,函數提供方將該函數(作為電腦可執行函數程式碼)提交給區塊鏈網路,並且在區塊鏈網路內為函數程式碼分配唯一位址(例如,23d61f4a88f90be1290c0eeab344992e1a2e8f6d)。在一些示例中,函數控制器也被提交給區塊鏈網路,並且在區塊鏈網路內為其分配自己的唯一位址。在一些示例中,將函數首次提交給區塊鏈網路時,最新版本值(例如,latestVersion)被設置為預設值(例如,1.0.0)。在一些示例中,基於位址和版本值,將該函數記錄在版本映射中(例如,23d61f4a88f90be1290c0eeab344992e1a2e8f6d, 1.0.0),該函數的統計資料為空。
在一些實施方式中,可以創建一個或多個智慧合約(例如,智慧合約302),該一個或多個智慧合約呼叫FaaS平臺的一個或多個函數。在一些示例中,創建智慧合約的用戶可以用相關函數資訊(例如,描述、位址、版本、統計資料)查看可用函數的庫,並且可以對智慧合約進行程式設計以呼叫一個或多個函數。例如,智慧合約可以包括呼叫上面介紹的示例RSA校驗和函數的邏輯。在一些示例中,智慧合約可以包括版本識別字以表示待呼叫的函數的版本(例如,1.0.0)。在一些示例中,版本識別字可以是空的,其表示要呼叫函數的最新版本。在一些實施方式中,在智慧合約完成並準備好使用之後,將智慧合約提交給區塊鏈網路,並且在區塊鏈網路內為該智慧合約分配唯一位址(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)。
在一些實施方式中,為了防止最終升級(更新)函數程式碼影響智慧合約的執行邏輯,更新函數控制器的版本映射(versionMap)。繼續上面的非限制性示例,RSA校驗和函數的函數應用程式的版本映射被更新為:
這表示示例智慧合約使用示例RSA校驗和函數的第一個版本。也就是說,當該特定智慧合約呼叫該函數時,始終使用該函數的第一個版本。
圖4描繪了根據本說明書實施方式示出的元件之間的通信的泳道圖400。根據本說明書的實施方式,發起使用智慧合約的交易(402)。例如,區塊鏈網路中的節點(例如,自動地或由作為交易發起者404的用戶發起地)可發起使用智慧合約(例如,智慧合約406)的交易。智慧合約可以標識完成該交易所需的函數(408)。在一些示例中,在執行智慧合約的邏輯期間,可以對一個或多個FaaS應用程式412進行一個或多個函數呼叫(410)。每個FaaS應用程式412包括FaaS控制器414和FaaS程式碼416。可存在用於每個提供方的FaaS應用程式412。
繼續參考上述示例,智慧合約可以發送對RSA校驗和值的函數呼叫410。在一些示例中,透過函數控制器414接收該函數呼叫,以由FaaS程式碼416執行。在一些示例中,函數呼叫包括對函數的輸入以及版本變數,版本變數指示待執行的函數的版本。在一些示例中,函數呼叫未指定待執行的版本(例如,版本值為空),在這種情況下,使用函數的最新版本。
函數控制器處理輸入(例如,消息)以提供輸出(例如,校驗和值)。函數請求418由FaaS程式碼416構成。如上所述,在函數回應420中,執行函數的指定版本或函數的最新版本。此外,對應於所執行的函數版本的呼叫統計資料映射計數值被更新422(例如,遞增)。繼續上面的示例,在第一次呼叫之後,示例RSA校驗和函數的統計內容可以提供為:
向智慧合約提供函數結果424,然後智慧合約可以完成交易(426)。可以透過區塊鏈(例如,區塊鏈430)記錄該交易(428)。可以將確認432發送到交易發起者404。
針對智慧合約406呼叫的每個函數,可以重複步驟410-424的順序。例如,智慧合約406可以呼叫來自兩個不同的FaaS提供方的兩個函數,並從每個提供方接收函數結果,智慧合約406使用該函數結果來完成交易。
在一些實施方式中,函數提供方可以更新先前提供的函數。例如,函數提供方可以重新編碼函數的至少一部分以提高執行效率(例如,更快、更少的計算資源)。因此,可以提供該函數的後續版本。繼續上面的示例,可以提供RSA校驗和函數的第二個版本,並將其提交給區塊鏈網路。該函數的第二個版本在區塊鏈網路中被分配唯一的位址(例如,2aae6a1150787a834382d0202ef1e89e3bc89d4d)。更新函數控制器內的最新版本值(latestVersion)以包括該更新的函數的位址和版本識別字(例如,2aae6a1150787a834382d0202ef1e89e3bc89d4d, 2.0.0)。
使用智慧合約發起另一交易(第二交易)。例如,並且繼續參考上面的示例,智慧合約可以發送RSA校驗和值的函數呼叫。在一些示例中,透過函數控制器接收該函數呼叫。在一些示例中,該函數呼叫包括對函數的輸入以及版本變數,版本變數指示待執行的函數的版本。
在一些實施方式中,函數控制器識別出同一智慧合約(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)已發出該函數呼叫。因此,儘管該函數的另一版本(例如,2.0.0)可用,但是仍使用該函數上次使用的版本(例如,1.0.0)。該函數處理輸入(例如,消息)以提供輸出(例如,校驗和值),並且對應於所執行的函數版本的呼叫統計資料映射計數值遞增。繼續上面的示例,在第二次呼叫之後,示例RSA校驗和函數的統計內容可以提供為:
在一些實施方式中,可以確定智慧合約可使用函數的其他版本。例如,發起智慧合約並且已經指示要使用特定版本(例如,1.0.0)的用戶可以確定智慧合約的後續版本(例如,2.0.0)是符合要求的。因此,該用戶可以更新版本映射內的版本識別字(例如,指定不同的版本,或者將版本識別字設置為空)。在非限制性示例中,版本識別字被設置為空。以這種方式,下次智慧合約進行函數呼叫時,將使用該函數的最新版本。
使用智慧合約發起另一交易(第三交易)。例如,並且繼續參考上面的示例,智慧合約可以發送RSA校驗和值的函數呼叫。在一些示例中,透過函數控制器接收函數呼叫。在一些示例中,函數呼叫包括對函數的輸入以及版本變數,版本變數指示要執行的函數的版本。
在一些實施方式中,函數控制器識別出同一智慧合約(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)已發出該函數呼叫,但版本識別字為空。因此,儘管先前已使用該函數的第一個版本(例如,1.0.0),但是使用該函數最近使用的版本(例如,2.0.0)。該函數處理輸入(例如,消息)以提供輸出(例如,校驗和值),並且對應於所執行的函數版本的呼叫統計資料映射計數值遞增。繼續上面的示例,示例RSA校驗和函數的統計內容可以提供為:
圖5描繪了可以根據本說明書實施方式執行的示例過程500。在一些實施方式中,可以使用一個或多個計算設備執行的一個或多個電腦可執行程式來執行示例過程500。
步驟502,發起交易。例如,交易可以使用作為區塊鏈網路一部分的智慧合約。該交易可以自動被發起,或者也可以由用戶發起。例如,該交易可以是用戶用來產生在該智慧合約中使用的亂數的交易。
步驟504,智慧合約呼叫函數。作為示例,可以進行函數呼叫410,例如以呼叫由FaaS平臺提供的亂數產生函數。在一些實施方式中,函數呼叫還可以包括該函數的位址和該函數的版本識別字。例如,智慧合約406可以在函數呼叫410中包括在與函數相關聯的區塊鏈內的位址和標識要呼叫的函數的指定版本的版本號。
步驟506,智慧合約接收結果。例如,FaaS應用程式412可以提供函數結果424,例如由亂數函數確定的亂數。步驟508,智慧合約基於結果完成交易。作為示例,在接收到亂數之後,智慧合約406可以完成用戶請求的亂數操作。步驟510,將交易寫入區塊鏈。例如,可以記錄交易428,更新表示亂數函數已經被另一次使用的統計資料。
所描述的特徵可以在數位電子電路,或者在電腦硬體、固件、軟體,或在它們的組合中實現。該裝置可以在有形地體現在資訊載體中(例如,在機器可讀儲存裝置中)的電腦程式產品中實現,以由可程式設計處理器執行;可以由執行指令程式的可程式設計處理器執行方法步驟,以透過對輸入資料進行操作並產生輸出來執行所描述的實施方式的功能。所描述的特徵可在一個或多個電腦程式中方便地實現,所述一個或多個電腦程式在可程式設計系統上執行,所述可程式設計系統包括至少一個可程式設計處理器,所述至少一個可程式設計處理器連接資料儲存系統、至少一個輸入裝置和至少一個輸出設備以收發資料和指令。電腦程式是可以在電腦中直接或間接地使用的指令組,用以執行特定活動或帶來特定結果。電腦程式可以用任何形式的程式設計語言編寫,包括編譯或解釋語言,並且可以以任何形式部署,包括部署為獨立程式或部署為模組、元件、副程式或部署為在計算環境中適合使用的其他單元。
用於執行指令程式的合適處理器包括,例如,通用和專用微處理器,以及任何類型的電腦的專有處理器或多個處理器之一。通常,處理器從唯讀記憶體或隨機存取記憶體或兩者接收指令和資料。電腦的元件可包括用於執行指令的處理器和用於儲存指令和資料的一個或多個記憶體。通常,電腦還可以包括一個或多個用於儲存資料檔案的大容量儲存設備或可操作地與一個或多個用於儲存資料檔案的大容量儲存設備連接以通信;這些設備包括磁片,例如內部硬碟和抽取式磁碟;磁光碟;和光碟。適合於有形地體現電腦程式指令和資料的儲存設備包括所有形式的非易失性儲存器,包括例如半導體儲存設備,例如EPROM、EEPROM和快閃記憶體設備;磁片,如內部硬碟和抽取式磁碟;磁光碟;和CD-ROM和DVD-ROM磁片。處理器和儲存器可以由專用積體電路(ASIC)補充或併入專用積體電路中。
為了提供與用戶的互動,這些特徵可以在具有顯示裝置以及鍵盤和指示設備的電腦上實現,諸如陰極射線管(CRT)或液晶顯示器(LCD)監視器之類的顯示裝置用於向用戶顯示資訊,用戶可以透過例如滑鼠或軌跡球的指示設備以及鍵盤向電腦提供輸入。
這些特徵可以在電腦系統中實現,電腦系統包括後端元件、例如資料伺服器,或者包括中介軟體元件、例如應用伺服器或網際網路伺服器,或者包括前端元件、例如具有圖形化用戶介面或網際網路瀏覽器的用戶端電腦,或者它們的任意組合。系統的元件可以透過任何形式連接,或透過數位資料通信媒介連接,例如通信網路。通信網路的示例包括例如區域網路(LAN)、廣域網路(WAN)以及形成網際網路的電腦和網路。
電腦系統可以包括用戶端和伺服器。用戶端和伺服器通常彼此遠離並且通常透過網路進行互動,例如所描述的網路。用戶端和伺服器的關係借助於在各個電腦上運行並且彼此具有用戶端-伺服器關係的電腦程式而產生。
另外,圖式中描繪的邏輯流程不需要所示的特定次序或先後次序來實現期望的結果。另外,可以為所描述的流程中提供其他步驟,或者可以從所描述的流程中刪除步驟,並且可以將其他元件添加到所描述的系統或從所描述的系統中移除。因此,其他實施方式在以下申請專利範圍的範圍內。
已經描述了本說明書的多個實施方式。然而,應該理解,在不脫離本說明書的精神和範圍的情況下,可以進行各種修改。因此,其他實施方式在申請專利範圍的範圍內。
100:示例環境
102:私有區塊鏈網
106:計算系統
108:計算系統
110:網路
200:示例概念架構
202:實體層
204:服務承載層
206:區塊鏈網路層
208:交易管理系統
210:介面
212:區塊鏈網路
214:節點
216:區塊鏈
300:FaaS平臺
302:智慧合約
304:塊
306:交易發起者
310:函數提供方
312:函數應用程式
314:函數控制器
316:函數
318:函數
320:函數
400:泳道圖
404:交易發起者
406:智慧合約
412:FaaS應用程式
414:函數控制器
416:FaaS程式碼
430:區塊鏈
圖1描繪了可用於執行本說明書實施方式的示例環境。
圖2描繪了根據本說明書實施方式的示例概念架構。
圖3描繪了根據本說明書實施方式的功能即服務(FaaS)平臺的示例概念架構。
圖4描繪了根據本說明書實施方式示出的元件之間通信的泳道圖。
圖5描繪了根據本說明書實施方式可執行的示例過程。
各圖式中的相同參考符號表示相同元件。
Claims (24)
- 一種在區塊鏈網路內提供功能即服務(FaaS)平臺的電腦實現方法,該方法由一個或多個處理器執行,並且包括: 透過在該區塊鏈網路內執行的第一函數控制器,接收來自智慧合約的、以執行第一函數的第一函數呼叫,該第一函數呼叫包括執行該第一函數的資料; 透過該第一函數控制器,將該第一函數呼叫的該資料發送給第一函數元件,該第一函數元件根據該第一函數呼叫的該資料執行該第一函數; 透過該第一函數控制器,接收來自該第一函數元件的第一函數結果;和 透過該第一函數控制器,將該第一函數結果提供給該智慧合約。
- 如申請專利範圍第1項所述的方法,其中,該第一函數呼叫還包括該第一函數的位址和該第一函數的版本識別字。
- 如申請專利範圍第2項所述的方法,其中,該版本識別字為空,表示要執行該第一函數的最新版本。
- 如申請專利範圍第1項所述的方法,還包括: 透過該第一函數控制器,更新統計資料,該統計資料與回應於該第一函數呼叫而執行的該第一函數的版本相關聯。
- 如申請專利範圍第4項所述的方法,其中,該統計資料表示該第一函數的每個版本的已執行次數。
- 如申請專利範圍第1項所述的方法,還包括: 透過在該區塊鏈網路中執行的第二函數控制器,接收來自該智慧合約的、以執行第二函數的第二函數呼叫,該第二函數呼叫包括執行該第二函數的資料,其中該第二函數不同於該第一函數,並且該第二函數控制器不同於該第一函數控制器; 透過該第二函數控制器,將該第二函數呼叫的資料發送給第二函數元件,該第二函數元件基於該第二函數呼叫的資料執行該第二函數,其中該第二函數元件不同於該第一函數元件; 透過該第二函數控制器,接收來自該第二函數元件的第二函數結果;和 透過該第二函數控制器,將該第二函數結果提供給該智慧合約。
- 如申請專利範圍第6項所述的方法,其中,該第一函數和該第二函數由不同的提供方提供。
- 如申請專利範圍第1項所述的方法,其中,該智慧合約至少部分地基於該函數結果來執行交易,該交易被記錄在該區塊鏈網路的區塊鏈內。
- 一種用指令編碼的電腦可讀儲存媒體,當由一個或多個電腦執行時,使得該一個或多個電腦執行在區塊鏈網路內提供功能即服務(FaaS)平臺的操作,該操作包括: 透過在該區塊鏈網路內執行的第一函數控制器,接收來自智慧合約的、以執行第一函數的第一函數呼叫,該第一函數呼叫包括執行該第一函數的資料; 透過該第一函數控制器,將該第一函數呼叫的資料發送給第一函數元件,該第一函數元件根據該第一函數呼叫的資料執行該第一函數; 透過該第一函數控制器,接收來自該第一函數元件的第一函數結果;和 透過該第一函數控制器,將該第一函數結果提供給該智慧合約。
- 如申請專利範圍第9項所述的電腦可讀儲存媒體,其中,該第一函數呼叫還包括該第一函數的位址和該第一函數的版本識別字。
- 如申請專利範圍第10項所述的電腦可讀儲存媒體,其中,該版本識別字為空,表示要執行該第一函數的最新版本。
- 如申請專利範圍第9項所述的電腦可讀儲存媒體,其中,該操作還包括: 透過該第一函數控制器,更新統計資料,該統計資料與回應於該第一函數呼叫而執行的該第一函數的版本相關聯。
- 如申請專利範圍第12項所述的電腦可讀儲存媒體,其中,該統計資料表示該第一函數的每個版本的已執行次數。
- 如申請專利範圍第9項所述的電腦可讀儲存媒體,其中,該操作還包括: 透過在該區塊鏈網路中執行的第二函數控制器,接收來自該智慧合約的、以執行第二函數的第二函數呼叫,該第二函數呼叫包括執行該第二函數的資料,其中該第二函數不同於該第一函數,並且該第二函數控制器不同於該第一函數控制器; 透過該第二函數控制器,將該第二函數呼叫的資料發送給第二函數元件,該第二函數元件基於該第二函數呼叫的資料執行該第二函數,其中該第二函數元件不同於該第一函數元件; 透過該第二函數控制器,接收來自該第二函數元件的第二函數結果;和 透過該第二函數控制器,將該第二函數結果提供給該智慧合約。
- 如申請專利範圍第14項所述的電腦可讀儲存媒體,其中,該第一函數和該第二函數由不同的提供方提供。
- 如申請專利範圍第9項所述的電腦可讀儲存媒體,其中,該智慧合約至少部分地基於該函數結果來執行交易,該交易被記錄在該區塊鏈網路的區塊鏈內。
- 一種系統,包括: 一個或多個電腦;和 一個或多個電腦可讀記憶體,其連接到該一個或多個電腦並且配置有可由該一個或多個電腦執行的指令,以使得該一個或多個電腦執行在區塊鏈網路內提供功能即服務(FaaS)平臺的操作,該操作包括: 透過在該區塊鏈網路內執行的第一函數控制器,接收來自智慧合約的、以執行第一函數的第一函數呼叫,該第一函數呼叫包括執行該第一函數的資料; 透過該第一函數控制器,將該第一函數呼叫的資料發送給第一函數元件,該第一函數元件根據該第一函數呼叫的資料執行該第一函數; 透過該第一函數控制器,接收來自該第一函數元件的第一函數結果;和 透過該第一函數控制器,將該第一函數結果提供給該智慧合約。
- 如申請專利範圍第17項所述的系統,其中,該第一函數呼叫還包括該第一函數的位址和該第一函數的版本識別字。
- 如申請專利範圍第18項所述的系統,其中,該版本識別字為空,表示要執行該第一函數的最新版本。
- 如申請專利範圍第17項所述的系統,其中,該操作還包括: 透過該第一函數控制器,更新統計資料,該統計資料與回應於該第一函數呼叫而執行的該第一函數的版本相關聯。
- 如申請專利範圍第20項所述的系統,其中,該統計資料表示該第一函數的每個版本的已執行次數。
- 如申請專利範圍第17項所述的系統,其中,操作還包括: 透過在該區塊鏈網路中執行的第二函數控制器,接收來自該智慧合約的、以執行第二函數的第二函數呼叫,該第二函數呼叫包括執行該第二函數的資料,其中該第二函數不同於該第一函數,並且該第二函數控制器不同於該第一函數控制器; 透過該第二函數控制器,將該第二函數呼叫的資料發送給第二函數元件,該第二函數元件基於該第二函數呼叫的資料執行該第二函數,其中該第二函數元件不同於該第一函數元件; 透過該第二函數控制器,接收來自該第二函數元件的第二函數結果;和 透過該第二函數控制器,將該第二函數結果提供給該智慧合約。
- 如申請專利範圍第22項所述的系統,其中,該第一函數和該第二函數由不同的提供方提供。
- 如申請專利範圍第17項所述的系統,其中,該智慧合約至少部分地基於該函數結果來執行交易,該交易被記錄在該區塊鏈網路的區塊鏈內。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/CN2018/117637 | 2018-11-27 | ||
PCT/CN2018/117637 WO2019072282A2 (en) | 2018-11-27 | 2018-11-27 | FUNCTION-AS-A-SERVICE PLATFORM (FAAS) IN BLOCK CHAIN NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202021311A true TW202021311A (zh) | 2020-06-01 |
TWI706647B TWI706647B (zh) | 2020-10-01 |
Family
ID=66100148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108127723A TWI706647B (zh) | 2018-11-27 | 2019-08-05 | 區塊鏈網路中的功能即服務(faas)平臺 |
Country Status (16)
Country | Link |
---|---|
US (2) | US10671380B2 (zh) |
EP (1) | EP3552166B1 (zh) |
JP (1) | JP6756914B2 (zh) |
KR (1) | KR102193533B1 (zh) |
CN (1) | CN110622192B (zh) |
AU (1) | AU2018348323C1 (zh) |
BR (1) | BR112019007939B1 (zh) |
CA (1) | CA3041223C (zh) |
ES (1) | ES2880455T3 (zh) |
MX (1) | MX2019004667A (zh) |
PH (1) | PH12019500872B1 (zh) |
PL (1) | PL3552166T3 (zh) |
RU (1) | RU2744322C2 (zh) |
SG (1) | SG11201903493YA (zh) |
TW (1) | TWI706647B (zh) |
WO (1) | WO2019072282A2 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6756914B2 (ja) | 2018-11-27 | 2020-09-16 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム |
US11250125B2 (en) | 2018-12-03 | 2022-02-15 | Ebay Inc. | Highly scalable permissioned block chains |
US11405182B2 (en) | 2018-12-03 | 2022-08-02 | Ebay Inc. | Adaptive security for smart contracts using high granularity metrics |
US11263315B2 (en) * | 2018-12-03 | 2022-03-01 | Ebay Inc. | System level function based access control for smart contract execution on a blockchain |
US10841153B2 (en) * | 2018-12-04 | 2020-11-17 | Bank Of America Corporation | Distributed ledger technology network provisioner |
FR3094521A1 (fr) * | 2019-03-29 | 2020-10-02 | Orange | Procédés et dispositifs permettant de prouver la connaissance d’une donnée par un utilisateur d’une chaîne de blocs |
CN110704063B (zh) * | 2019-09-30 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 编译和执行智能合约的方法及装置 |
CN111158645B (zh) | 2019-12-10 | 2022-09-20 | 杭州中天微系统有限公司 | 提供集成开发环境的系统和方法 |
TWI804728B (zh) * | 2020-05-15 | 2023-06-11 | 天宿智能科技股份有限公司 | 基於區塊鏈之資產動態價值管理系統及其方法 |
US11948010B2 (en) | 2020-10-12 | 2024-04-02 | International Business Machines Corporation | Tag-driven scheduling of computing resources for function execution |
CN112804359B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 提供跨链消息的方法和装置 |
CN113472512A (zh) * | 2021-06-10 | 2021-10-01 | 东软集团股份有限公司 | 智能合约执行方法、装置、存储介质及电子设备 |
CN113542435B (zh) * | 2021-09-15 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种用户服务使用方法及装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6918110B2 (en) * | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
US7844574B2 (en) * | 2008-04-16 | 2010-11-30 | International Business Machines Corporation | Systems, methods and computer program products for automatic network-based persistent XML storage and management |
JP6374666B2 (ja) | 2014-02-19 | 2018-08-15 | キヤノン株式会社 | 通信装置およびその制御方法、ならびにプログラム |
JP6037460B2 (ja) * | 2014-04-14 | 2016-12-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | サービス提供装置、プログラム、及び、方法 |
US10033702B2 (en) * | 2015-08-05 | 2018-07-24 | Intralinks, Inc. | Systems and methods of secure data exchange |
CN108604278B (zh) | 2015-10-23 | 2022-03-18 | 甲骨文国际公司 | 具有对共享数据表的支持的自描述配置 |
US20170140408A1 (en) * | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
WO2017112664A1 (en) * | 2015-12-21 | 2017-06-29 | Kochava Inc. | Self regulating transaction system and methods therefor |
US9898260B2 (en) | 2015-12-28 | 2018-02-20 | Samsung Electronics Co., Ltd. | Adaptive function-based dynamic application extension framework |
EP3193299A1 (en) * | 2016-01-15 | 2017-07-19 | Accenture Global Services Limited | Device, method and system for autonomous selection of a commodity supplier through a blockchain distributed database |
WO2018039722A1 (en) | 2016-08-30 | 2018-03-08 | Commonwealth Scientific And Industrial Research Organisation | Dynamic access control on blockchain |
US10984494B2 (en) * | 2016-09-19 | 2021-04-20 | Refinitiv Us Organization Llc | Systems and methods for interception of smart contracts |
KR102639537B1 (ko) * | 2016-10-28 | 2024-02-23 | 엔체인 홀딩스 리미티드 | 블록체인을 통한 결정론적 유한 오토마타(DFAs) 구현을 위한 시스템 및 방법 |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
RU2658784C1 (ru) * | 2017-03-23 | 2018-06-22 | Общество с ограниченной ответственностью "БУБУКА" | Способ и система контроля за воспроизведением медиа-контента, включающего объекты интеллектуальных прав |
CN107038242B (zh) * | 2017-04-24 | 2020-02-07 | 杭州趣链科技有限公司 | 一种面向区块链全局智能合约业务数据解析方法 |
US11165589B2 (en) * | 2017-05-11 | 2021-11-02 | Shapeshift Ag | Trusted agent blockchain oracle |
CN107220767A (zh) * | 2017-05-26 | 2017-09-29 | 中山市博林树投资管理有限公司 | 一种虚拟化资源池环境下的资源共享系统 |
WO2019033074A1 (en) * | 2017-08-11 | 2019-02-14 | Dragonchain, Inc. | SYSTEMS AND METHODS OF INTERACTION WITH DISTRIBUTED REGISTERS |
JP6987594B2 (ja) * | 2017-10-16 | 2022-01-05 | 株式会社日立製作所 | アクセス権管理方法、アクセス権管理システム、および、アクセス権管理装置 |
US10095888B1 (en) * | 2018-06-04 | 2018-10-09 | Capital One Services, Llc | Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system |
CN108717466A (zh) * | 2018-06-05 | 2018-10-30 | 中国平安人寿保险股份有限公司 | 征信数据存储方法、装置、计算机设备及存储介质 |
US10915366B2 (en) * | 2018-09-28 | 2021-02-09 | Intel Corporation | Secure edge-cloud function as a service |
JP6756914B2 (ja) | 2018-11-27 | 2020-09-16 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム |
-
2018
- 2018-11-27 JP JP2019521361A patent/JP6756914B2/ja active Active
- 2018-11-27 MX MX2019004667A patent/MX2019004667A/es unknown
- 2018-11-27 PL PL18865365T patent/PL3552166T3/pl unknown
- 2018-11-27 WO PCT/CN2018/117637 patent/WO2019072282A2/en active Application Filing
- 2018-11-27 SG SG11201903493YA patent/SG11201903493YA/en unknown
- 2018-11-27 BR BR112019007939-4A patent/BR112019007939B1/pt active IP Right Grant
- 2018-11-27 EP EP18865365.3A patent/EP3552166B1/en active Active
- 2018-11-27 RU RU2019111902A patent/RU2744322C2/ru active
- 2018-11-27 AU AU2018348323A patent/AU2018348323C1/en active Active
- 2018-11-27 KR KR1020197011389A patent/KR102193533B1/ko active IP Right Grant
- 2018-11-27 CN CN201880003972.2A patent/CN110622192B/zh active Active
- 2018-11-27 CA CA3041223A patent/CA3041223C/en active Active
- 2018-11-27 ES ES18865365T patent/ES2880455T3/es active Active
-
2019
- 2019-04-22 PH PH12019500872A patent/PH12019500872B1/en unknown
- 2019-04-22 US US16/390,088 patent/US10671380B2/en active Active
- 2019-08-05 TW TW108127723A patent/TWI706647B/zh active
-
2020
- 2020-03-30 US US16/834,559 patent/US10824419B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020507140A (ja) | 2020-03-05 |
ES2880455T3 (es) | 2021-11-24 |
RU2019111902A3 (zh) | 2020-10-19 |
CN110622192B (zh) | 2023-07-14 |
SG11201903493YA (en) | 2019-05-30 |
JP6756914B2 (ja) | 2020-09-16 |
PH12019500872A1 (en) | 2019-12-02 |
US20190244294A1 (en) | 2019-08-08 |
RU2019111902A (ru) | 2020-10-19 |
CA3041223A1 (en) | 2019-04-18 |
KR20200066255A (ko) | 2020-06-09 |
MX2019004667A (es) | 2019-08-21 |
RU2744322C2 (ru) | 2021-03-05 |
AU2018348323B2 (en) | 2020-11-05 |
WO2019072282A3 (en) | 2019-10-03 |
US20200225937A1 (en) | 2020-07-16 |
TWI706647B (zh) | 2020-10-01 |
PH12019500872B1 (en) | 2019-12-02 |
WO2019072282A2 (en) | 2019-04-18 |
US10671380B2 (en) | 2020-06-02 |
BR112019007939B1 (pt) | 2021-09-21 |
EP3552166A2 (en) | 2019-10-16 |
EP3552166B1 (en) | 2021-05-05 |
KR102193533B1 (ko) | 2020-12-23 |
PL3552166T3 (pl) | 2021-10-25 |
EP3552166A4 (en) | 2020-01-22 |
CN110622192A (zh) | 2019-12-27 |
AU2018348323C1 (en) | 2021-04-29 |
US10824419B2 (en) | 2020-11-03 |
AU2018348323A1 (en) | 2020-06-11 |
CA3041223C (en) | 2021-07-13 |
BR112019007939A2 (pt) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI706647B (zh) | 區塊鏈網路中的功能即服務(faas)平臺 | |
KR102225973B1 (ko) | 블록체인 네트워크들을 위한 테스트 플랫폼 | |
KR102151893B1 (ko) | 탈중앙화 결정을 사용하는 블록체인 스마트 계약 업데이트 | |
KR102206940B1 (ko) | 스마트 계약을 사용하여 다자간 트랜잭션을 실행하는 방법 | |
TWI709937B (zh) | 用於在區塊鏈網路內原子轉移智能資產的方法及系統 | |
TW202023224A (zh) | 事件驅動的區塊鏈工作流程處理 | |
US11720545B2 (en) | Optimization of chaincode statements | |
US20220334953A1 (en) | Method and apparatus creating test environments for blockchain systems |