CN110622192B - 区块链网络中的功能即服务(faas)平台 - Google Patents

区块链网络中的功能即服务(faas)平台 Download PDF

Info

Publication number
CN110622192B
CN110622192B CN201880003972.2A CN201880003972A CN110622192B CN 110622192 B CN110622192 B CN 110622192B CN 201880003972 A CN201880003972 A CN 201880003972A CN 110622192 B CN110622192 B CN 110622192B
Authority
CN
China
Prior art keywords
function
controller
call
smart contract
blockchain network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880003972.2A
Other languages
English (en)
Other versions
CN110622192A (zh
Inventor
邵开来
陆旭明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Chain Technology Co ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN110622192A publication Critical patent/CN110622192A/zh
Application granted granted Critical
Publication of CN110622192B publication Critical patent/CN110622192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3678Payment 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Retry When Errors Occur (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书的实施方式包括通过在所述区块链网络内执行的第一函数控制器,接收来自智能合约的、以执行第一函数的第一函数调用,所述第一函数调用包括执行所述第一函数的数据;通过所述第一函数控制器,将所述第一函数调用的数据发送给第一函数组件,所述第一函数组件根据所述第一函数调用的数据执行所述第一函数;通过所述第一函数控制器,接收来自所述第一函数组件的第一函数结果;并通过所述第一函数控制器,将所述第一函数结果提供给所述智能合约。

Description

区块链网络中的功能即服务(FAAS)平台
背景技术
分布式账本系统(distributed ledger system,DLS),也可以称为共识网络和/或区块链网络,使参与实体能够安全地且不可篡改地存储数据。DLS通常被称为不引用任何特定用例(例如,加密货币)的区块链网络。区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络对使用DLS和参与共识过程的所有实体是开放的。私有区块链网络提供给特定实体,该特定实体集中控制读取和写入权限。联盟区块链网络提供给选择的实体组(该选择的实体组控制共识过程)并包括访问控制层。
智能合约可以在区块链网络中执行以执行一个或多个函数。智能合约可以被描述为包含编码函数的单体应用(monolithic application)。作为单体应用,可能需要相对稳健的开发操作来支持智能合约(例如,编码每个函数,对函数的更新导致整个智能合约的更新)。
发明内容
本说明书的实施方式包括在区块链网络中提供应用程序的计算机实现的方法。更具体地,本说明书的实施方式涉及向在区块链网络中执行的应用程序提供函数的功能即服务(FaaS)平台。
在一些实施方式中,操作包括通过在所述区块链网络内执行的第一函数控制器,接收来自智能合约的执行第一函数的第一函数调用,所述第一函数调用包括执行所述第一函数的数据;通过所述第一函数控制器,将所述第一函数调用的数据发送给第一函数组件,所述第一函数组件根据所述第一函数调用的数据执行所述第一函数;通过所述第一函数控制器,接收来自所述第一函数组件的第一函数结果;并通过所述第一函数控制器,将所述第一函数结果提供给所述智能合约。其他实施方式包括相应的系统、装置和计算机程序,被配置为执行编码在计算机存储设备上的方法的操作。
这些和其他实施方式可以各自可选地包括以下特征中的一个或多个:所述第一函数调用还包括所述第一函数的地址和所述第一函数的版本标识符;所述版本标识符为空,表示要执行所述第一函数的最新版本;操作还包括通过所述第一函数控制器,更新统计数据,所述统计数据与响应于所述第一函数调用而执行的所述第一函数的版本相关联;所述统计数据表示第一函数的每个版本的已执行次数;操作还包括:通过在所述区块链网络中执行的第二函数控制器,接收来自所述智能合约的执行第二函数的第二函数调用,所述第二函数调用包括执行所述第二函数的数据,其中所述第二函数不同于所述第一函数,并且其中所述第二函数控制器不同于所述第一函数控制器;通过所述第二函数控制器,将所述第二函数调用的数据发送给第二函数组件,所述第二函数组件基于所述第二函数调用的数据执行所述第二函数,其中所述第二函数组件不同于所述第一函数组件;通过所述第二函数控制器,接收来自所述第二函数组件的第二函数结果;和通过所述第二函数控制器,将所述第二函数结果提供给所述智能合约;所述第一函数和所述第二函数由不同的提供方提供;并且所述智能合约至少部分地基于所述函数结果来执行交易,所述交易被记录在所述区块链网络的区块链内。
本说明书还提供了一个或多个非暂时性计算机可读存储介质,其连接到一个或多个处理器并且具有存储在其上的指令,当由一个或多个处理器执行时,所述指令使得一个或多个处理器根据本文提供的方法的实施方式执行操作。
本说明书还提供了用于实现本文提供的方法的系统。该系统包括一个或多个处理器,以及连接到一个或多个处理器的计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,所述指令使得一个或多个处理器根据本文提供的方法的实施方式执行操作。
应了解,根据本说明书的方法可包括本文描述的方面和特征的任意组合。也就是说,根据本说明书的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
在附图和以下描述中阐述了本说明书的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本说明书的其他特征和优点将显而易见。
附图说明
图1描绘了可用于执行本说明书实施方式的示例环境。
图2描绘了根据本说明书实施方式的示例概念架构。
图3描绘了根据本说明书实施方式的功能即服务(FaaS)平台的示例概念架构。
图4描绘了根据本说明书实施方式示出的组件之间通信的泳道图。
图5描绘了根据本说明书实施方式可执行的示例过程。
各附图中的相同参考符号表示相同元件。
具体实施方式
本说明书的实施方式包括在区块链网络中提供应用程序的计算机实现方法。更具体地,本说明书的实施方式涉及向在区块链网络中执行的应用程序提供函数的功能即服务(function-as-a-service,FaaS)平台。在一些实施方式中,操作包括通过在区块链网络内执行的函数控制器,接收来自智能合约的执行一函数的函数调用,该函数调用包括执行该函数的数据;通过该函数控制器,将所述函数调用的数据发送给函数组件,所述函数组件基于所述函数调用的数据执行所述函数;通过该函数控制器,接收来自所述函数组件的函数结果;并通过该函数控制器,将所述函数结果提供给所述智能合约。
为进一步提供本说明书实施方式的背景(context),并且如上所述,分布式账本系统(DLS)也可以称为共识网络(例如,由对等节点组成)和区块链网络,使参与实体能够安全地且不可篡改地进行交易和存储数据。尽管术语区块链通常与比特币加密货币网络相关联,但是本文使用区块链来一般地指代不参考任何特定用例的DLS。如上所述,区块链网络可以被提供为公有区块链网络、私有区块链网络或联盟区块链网络。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,数百、数千、甚至数百万个实体可以在公有区块链网络中协作,每个实体在公有区块链网络中操作至少一个节点。因此,公有区块链网络可以被认为是相对于参与实体的公有网络。在一些示例中,大多数实体(节点)必须对每个块进行签名,以使该块有效并且将有效的块添加到区块链网络的区块链(分布式账本)。示例公有区块链网络包括比特币网络,比特币网络是对等支付网络。比特币网络利用分布式账本,被称为区块链。如上所述,然而,术语区块链通常用于指代不特别参考比特币网络的分布式账本。
通常,公有区块链网络支持公有交易。公有交易与公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,相对于全局区块链,所有节点处于完全一致的状态。为了达成共识(例如,同意向区块链添加块),在公有区块链网络内实施共识协议。示例共识协议包括但不限于,在比特币网络中实施的工作量证明(proof-of-work,POW)。
通常,私有区块链网络提供给特定实体,特定实体集中控制读取和写入权限。该实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其对允许谁参与网络及其参与水平(例如,仅在某些交易中)施加限制。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。
通常,联盟区块链网络在参与实体中是私有的。在联盟区块链网络中,共识过程由授权的一组节点控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体在该联盟区块链网络中操作至少一个节点。因此,就参与实体而言,联盟区块链网络可以被认为是私有网络。在一些示例中,每个实体(节点)必须对每个块进行签名,以使该块有效并将有效的块添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个块进行签名以使该块有效,并且将有效的块添加到区块链。
这里参考公有区块链网络进一步详细描述本说明书的实施方式,该公有区块链网络在参与实体之间是公有的。然而,可以预期,本说明书的实施方式可以在任何合适类型的区块链网络中实现。虽然本说明书中描述的技术表示为与公有区块链网络相关,但是这些技术也可以用于其他类型的区块链网络,包括私有区块链网络和联盟区块链网络,而无论是否进行更改。
鉴于上述背景,本文进一步详细描述了本说明书的实施方式。更具体地,并且如上所述,本说明书的实施方式涉及向在区块链网络中执行的应用程序提供函数的FaaS平台。以这种方式,开发者可以开发相对较少(例如,从编码层面)的应用程序(例如,智能合约),并且可以通过本说明书的FaaS平台调用一个或多个函数。
为进一步提供本说明书实施方式的背景,在区块链网络中,应用程序可以被开发、测试和部署在区块链网络内执行。示例应用程序可以包括但不限于智能合约。智能合约可以被描述为具有影响各方的合约条款的现实世界、法律合约的数字表示。智能合约被实施、存储、更新(根据需要)、并在示例场景中,在联盟区块链网络内执行。与智能合约相关联的合约方(例如,买方和卖方)被表示为联盟区块链网络中的节点。
在一些示例中,智能合约可以存储数据,该数据可以用于记录信息、事实、关联、余额以及实现合约执行逻辑所需的任何其他信息。智能合约可以被描述为由函数组成的计算机可执行程序,其中可以创建智能合约的实例(instance),调用函数以执行智能合约的逻辑。
在技术方面,可以基于对象和面向对象的类来实现智能合约。例如,智能合约的条款和组件可以表示为由实现智能合约的应用程序处理的对象。智能合约(或智能合约中的对象)可以像其他面向对象的对象一样调用另一个智能合约(或同一智能合约中的对象)。例如,由对象发出的调用可以是创建、更新、删除、传播或对另一个类的对象通信的调用。对象之间的调用可以实现为函数、方法、应用程序编程接口(application programminginterface,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使用协议(例如,超文本传输协议安全(hypertexttransfer 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描述了函数控制器存储的示例信息:
Figure GDA0002030516640000091
表1:示例信息
在一些实施方式中,当函数准备好用于生产使用时,函数提供方将该函数(作为计算机可执行函数代码)提交给区块链网络,并且在区块链网络内为函数代码分配唯一地址(例如,23d61f4a88f90be1290c0eeab344992e1a2e8f6d)。在一些示例中,函数控制器也被提交给区块链网络,并且在区块链网络内为其分配自己的唯一地址。在一些示例中,将函数首次提交给区块链网络时,最新版本值(例如,latestVersion)被设置为默认值(例如,1.0.0)。在一些示例中,基于地址和版本值,将该函数记录在版本映射中(例如,23d61f4a88f90be1290c0eeab344992e1a2e8f6d,1.0.0),该函数的统计数据为空。
在一些实施方式中,可以创建一个或多个智能合约(例如,智能合约302),该一个或多个智能合约调用FaaS平台的一个或多个函数。在一些示例中,创建智能合约的用户可以用相关函数信息(例如,描述、地址、版本、统计数据)查看可用函数的库,并且可以对智能合约进行编程以调用一个或多个函数。例如,智能合约可以包括调用上面介绍的示例RSA校验和函数的逻辑。在一些示例中,智能合约可以包括版本标识符以表示待调用的函数的版本(例如,1.0.0)。在一些示例中,版本标识符可以是空的,其表示要调用函数的最新版本。在一些实施方式中,在智能合约完成并准备好使用之后,将智能合约提交给区块链网络,并且在区块链网络内为该智能合约分配唯一地址(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)。
在一些实施方式中,为了防止最终升级(更新)函数代码影响智能合约的执行逻辑,更新函数控制器的版本映射(versionMap)。继续上面的非限制性示例,RSA校验和函数的函数应用程序的版本映射被更新为:
Figure GDA0002030516640000101
这表示示例智能合约使用示例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校验和函数的统计内容可以提供为:
{
“23d61f4a88f90be1290c0eeab344992e1a2e8f6d,1.0.0”:1
}
向智能合约提供函数结果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校验和函数的统计内容可以提供为:
{
“23d61f4a88f90be1290c0eeab344992e1a2e8f6d,1.0.0”:2
}
在一些实施方式中,可以确定智能合约可使用函数的其他版本。例如,发起智能合约并且已经指示要使用特定版本(例如,1.0.0)的用户可以确定智能合约的后续版本(例如,2.0.0)是符合要求的。因此,该用户可以更新版本映射内的版本标识符(例如,指定不同的版本,或者将版本标识符设置为空)。在非限制性示例中,版本标识符被设置为空。以这种方式,下次智能合约进行函数调用时,将使用该函数的最新版本。
使用智能合约发起另一交易(第三交易)。例如,并且继续参考上面的示例,智能合约可以发送RSA校验和值的函数调用。在一些示例中,通过函数控制器接收函数调用。在一些示例中,函数调用包括对函数的输入以及版本变量,版本变量指示要执行的函数的版本。
在一些实施方式中,函数控制器识别出同一智能合约(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)已发出该函数调用,但版本标识符为空。因此,尽管先前已使用该函数的第一个版本(例如,1.0.0),但是使用该函数最近使用的版本(例如,2.0.0)。该函数处理输入(例如,消息)以提供输出(例如,校验和值),并且对应于所执行的函数版本的调用统计数据映射计数值递增。继续上面的示例,示例RSA校验和函数的统计内容可以提供为:
Figure GDA0002030516640000131
图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)以及形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过网络进行交互,例如所描述的网络。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,附图中描绘的逻辑流程不需要所示的特定次序或先后次序来实现期望的结果。另外,可以为所描述的流程中提供其他步骤,或者可以从所描述的流程中删除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统中移除。因此,其他实施方式在以下权利要求的范围内。
已经描述了本说明书的多个实施方式。然而,应该理解,在不脱离本说明书的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

Claims (21)

1.一种在区块链网络内提供功能即服务FaaS平台的计算机实现方法,该方法由一个或多个处理器执行,并且包括:
通过在所述区块链网络内执行的第一函数控制器,接收来自智能合约的、以执行第一函数的第一函数调用,所述第一函数调用包括执行所述第一函数的数据;
通过所述第一函数控制器,将所述第一函数调用的所述数据发送给第一函数组件,所述第一函数组件根据所述第一函数调用的所述数据执行所述第一函数;
通过所述第一函数控制器,接收来自所述第一函数组件的第一函数结果;和
通过所述第一函数控制器,将所述第一函数结果提供给所述智能合约;
通过在所述区块链网络中执行的第二函数控制器,接收来自所述智能合约的、以执行第二函数的第二函数调用,所述第二函数调用包括执行所述第二函数的数据,其中所述第二函数不同于所述第一函数,并且所述第二函数控制器不同于所述第一函数控制器;
通过所述第二函数控制器,将所述第二函数调用的数据发送给第二函数组件,所述第二函数组件基于所述第二函数调用的数据执行所述第二函数,其中所述第二函数组件不同于所述第一函数组件;
通过所述第二函数控制器,接收来自所述第二函数组件的第二函数结果;和
通过所述第二函数控制器,将所述第二函数结果提供给所述智能合约。
2.如权利要求1所述的方法,其中,所述第一函数调用还包括所述第一函数的地址和所述第一函数的版本标识符。
3.如权利要求2所述的方法,其中,所述版本标识符为空,表示要执行所述第一函数的最新版本。
4.如权利要求1所述的方法,还包括:
通过所述第一函数控制器,更新统计数据,所述统计数据与响应于所述第一函数调用而执行的所述第一函数的版本相关联。
5.如权利要求4所述的方法,其中,所述统计数据表示所述第一函数的每个版本的已执行次数。
6.如权利要求1所述的方法,其中,所述第一函数和所述第二函数由不同的提供方提供。
7.如权利要求1所述的方法,其中,所述智能合约至少部分地基于所述函数结果来执行交易,所述交易被记录在所述区块链网络的区块链内。
8.用指令编码的一个或多个计算机可读存储介质,当由一个或多个计算机执行时,使得所述一个或多个计算机执行在区块链网络内提供功能即服务FaaS平台的操作,所述操作包括:
通过在所述区块链网络内执行的第一函数控制器,接收来自智能合约的、以执行第一函数的第一函数调用,所述第一函数调用包括执行所述第一函数的数据;
通过所述第一函数控制器,将所述第一函数调用的数据发送给第一函数组件,所述第一函数组件根据所述第一函数调用的数据执行所述第一函数;
通过所述第一函数控制器,接收来自所述第一函数组件的第一函数结果;和
通过所述第一函数控制器,将所述第一函数结果提供给所述智能合约;
通过在所述区块链网络中执行的第二函数控制器,接收来自所述智能合约的、以执行第二函数的第二函数调用,所述第二函数调用包括执行所述第二函数的数据,其中所述第二函数不同于所述第一函数,并且所述第二函数控制器不同于所述第一函数控制器;
通过所述第二函数控制器,将所述第二函数调用的数据发送给第二函数组件,所述第二函数组件基于所述第二函数调用的数据执行所述第二函数,其中所述第二函数组件不同于所述第一函数组件;
通过所述第二函数控制器,接收来自所述第二函数组件的第二函数结果;和
通过所述第二函数控制器,将所述第二函数结果提供给所述智能合约。
9.如权利要求8所述的计算机可读存储介质,其中,所述第一函数调用还包括所述第一函数的地址和所述第一函数的版本标识符。
10.如权利要求9所述的计算机可读存储介质,其中,所述版本标识符为空,表示要执行所述第一函数的最新版本。
11.如权利要求8所述的计算机可读存储介质,其中,所述操作还包括:
通过所述第一函数控制器,更新统计数据,所述统计数据与响应于所述第一函数调用而执行的所述第一函数的版本相关联。
12.如权利要求11所述的计算机可读存储介质,其中,所述统计数据表示所述第一函数的每个版本的已执行次数。
13.如权利要求8所述的计算机可读存储介质,其中,所述第一函数和所述第二函数由不同的提供方提供。
14.如权利要求8所述的计算机可读存储介质,其中,所述智能合约至少部分地基于所述函数结果来执行交易,所述交易被记录在所述区块链网络的区块链内。
15.一种区块链系统,包括:
一个或多个计算机;和
一个或多个计算机可读存储器,其连接到所述一个或多个计算机并且配置有可由所述一个或多个计算机执行的指令,以使得所述一个或多个计算机执行在区块链网络内提供功能即服务FaaS平台的操作,所述操作包括:
通过在所述区块链网络内执行的第一函数控制器,接收来自智能合约的、以执行第一函数的第一函数调用,所述第一函数调用包括执行所述第一函数的数据;
通过所述第一函数控制器,将所述第一函数调用的数据发送给第一函数组件,所述第一函数组件根据所述第一函数调用的数据执行所述第一函数;
通过所述第一函数控制器,接收来自所述第一函数组件的第一函数结果;和
通过所述第一函数控制器,将所述第一函数结果提供给所述智能合约;
通过在所述区块链网络中执行的第二函数控制器,接收来自所述智能合约的、以执行第二函数的第二函数调用,所述第二函数调用包括执行所述第二函数的数据,其中所述第二函数不同于所述第一函数,并且所述第二函数控制器不同于所述第一函数控制器;
通过所述第二函数控制器,将所述第二函数调用的数据发送给第二函数组件,所述第二函数组件基于所述第二函数调用的数据执行所述第二函数,其中所述第二函数组件不同于所述第一函数组件;
通过所述第二函数控制器,接收来自所述第二函数组件的第二函数结果;和
通过所述第二函数控制器,将所述第二函数结果提供给所述智能合约。
16.如权利要求15所述的系统,其中,所述第一函数调用还包括所述第一函数的地址和所述第一函数的版本标识符。
17.如权利要求16所述的系统,其中,所述版本标识符为空,表示要执行所述第一函数的最新版本。
18.如权利要求15所述的系统,其中,所述操作还包括:
通过所述第一函数控制器,更新统计数据,所述统计数据与响应于所述第一函数调用而执行的所述第一函数的版本相关联。
19.如权利要求18所述的系统,其中,所述统计数据表示所述第一函数的每个版本的已执行次数。
20.如权利要求15所述的系统,其中,所述第一函数和所述第二函数由不同的提供方提供。
21.如权利要求15所述的系统,其中,所述智能合约至少部分地基于所述函数结果来执行交易,所述交易被记录在所述区块链网络的区块链内。
CN201880003972.2A 2018-11-27 2018-11-27 区块链网络中的功能即服务(faas)平台 Active CN110622192B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
CN110622192A CN110622192A (zh) 2019-12-27
CN110622192B true CN110622192B (zh) 2023-07-14

Family

ID=66100148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880003972.2A Active CN110622192B (zh) 2018-11-27 2018-11-27 区块链网络中的功能即服务(faas)平台

Country Status (17)

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)
ZA (1) ZA201902490B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193533B1 (ko) 2018-11-27 2020-12-23 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 네트워크에서의 FaaS 플랫폼
US11405182B2 (en) * 2018-12-03 2022-08-02 Ebay Inc. Adaptive security for smart contracts using high granularity metrics
US11250125B2 (en) 2018-12-03 2022-02-15 Ebay Inc. Highly scalable permissioned block chains
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 杭州中天微系统有限公司 提供集成开发环境的系统和方法
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
FR3107417A1 (fr) * 2020-02-19 2021-08-20 Orange Procédé et dispositif de contrôle d’accès à une fonction d’une application inscrite dans une chaîne de blocs.
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 支付宝(杭州)信息技术有限公司 一种用户服务使用方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220767A (zh) * 2017-05-26 2017-09-29 中山市博林树投资管理有限公司 一种虚拟化资源池环境下的资源共享系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
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
WO2017070575A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation Self describing configuration with support for sharing data tables
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
EP3394818A4 (en) * 2015-12-21 2019-08-14 Kochava Inc. AUTOREGULATING TRANSACTION SYSTEM AND ASSOCIATED METHODS
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
AU2017320341B2 (en) 2016-08-30 2022-04-28 Commonwealth Scientific And Industrial Research Organisation Dynamic access control on blockchain
WO2018051305A1 (en) * 2016-09-19 2018-03-22 Thomson Reuters Global Resources Unlimited Company Systems and methods for interception of smart contracts
KR20240027155A (ko) * 2016-10-28 2024-02-29 엔체인 홀딩스 리미티드 블록체인을 통한 결정론적 유한 오토마타(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
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
KR102193533B1 (ko) 2018-11-27 2020-12-23 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 네트워크에서의 FaaS 플랫폼

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220767A (zh) * 2017-05-26 2017-09-29 中山市博林树投资管理有限公司 一种虚拟化资源池环境下的资源共享系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"区块链工业架构设计正在改变世界";李贵芳 等;《中国信息界》(第2期);29-31 *

Also Published As

Publication number Publication date
EP3552166B1 (en) 2021-05-05
AU2018348323C1 (en) 2021-04-29
ES2880455T3 (es) 2021-11-24
KR20200066255A (ko) 2020-06-09
JP6756914B2 (ja) 2020-09-16
BR112019007939B1 (pt) 2021-09-21
PH12019500872A1 (en) 2019-12-02
WO2019072282A2 (en) 2019-04-18
CA3041223A1 (en) 2019-04-18
CA3041223C (en) 2021-07-13
TWI706647B (zh) 2020-10-01
CN110622192A (zh) 2019-12-27
JP2020507140A (ja) 2020-03-05
US10671380B2 (en) 2020-06-02
RU2744322C2 (ru) 2021-03-05
US20190244294A1 (en) 2019-08-08
PH12019500872B1 (en) 2019-12-02
WO2019072282A3 (en) 2019-10-03
AU2018348323B2 (en) 2020-11-05
RU2019111902A (ru) 2020-10-19
US20200225937A1 (en) 2020-07-16
EP3552166A4 (en) 2020-01-22
US10824419B2 (en) 2020-11-03
TW202021311A (zh) 2020-06-01
ZA201902490B (en) 2024-08-28
PL3552166T3 (pl) 2021-10-25
AU2018348323A1 (en) 2020-06-11
SG11201903493YA (en) 2019-05-30
EP3552166A2 (en) 2019-10-16
MX2019004667A (es) 2019-08-21
KR102193533B1 (ko) 2020-12-23
RU2019111902A3 (zh) 2020-10-19
BR112019007939A2 (pt) 2019-11-12

Similar Documents

Publication Publication Date Title
CN110622192B (zh) 区块链网络中的功能即服务(faas)平台
KR102225973B1 (ko) 블록체인 네트워크들을 위한 테스트 플랫폼
CN110352445B (zh) 使用智能合约执行多方交易
JP7341225B2 (ja) マルチテナント環境における非集中型台帳による高度なスマートコントラクト
KR102151893B1 (ko) 탈중앙화 결정을 사용하는 블록체인 스마트 계약 업데이트
CA3041211C (en) Utilizing nonce table to resolve concurrent blockchain transaction failure
CN116993340A (zh) 一种交易处理方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40027490

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240925

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands