CN109154885A - 区块链平台上的业务处理执行 - Google Patents

区块链平台上的业务处理执行 Download PDF

Info

Publication number
CN109154885A
CN109154885A CN201780029445.4A CN201780029445A CN109154885A CN 109154885 A CN109154885 A CN 109154885A CN 201780029445 A CN201780029445 A CN 201780029445A CN 109154885 A CN109154885 A CN 109154885A
Authority
CN
China
Prior art keywords
processing
block chain
task
processing example
trigger
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.)
Granted
Application number
CN201780029445.4A
Other languages
English (en)
Other versions
CN109154885B (zh
Inventor
I·韦伯
徐熙炜
G·伽瓦那特瑞
R·莱瓦瑞特
A·波诺马廖夫
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.)
National ICT Australia Ltd
Original Assignee
National ICT Australia 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
Priority claimed from AU2016901059A external-priority patent/AU2016901059A0/en
Application filed by National ICT Australia Ltd filed Critical National ICT Australia Ltd
Publication of CN109154885A publication Critical patent/CN109154885A/zh
Application granted granted Critical
Publication of CN109154885B publication Critical patent/CN109154885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • 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/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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
    • 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/40Authorisation, 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/401Transaction verification
    • 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
    • G06Q30/00Commerce
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/40Network security protocols
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了利用诸如以太坊区块链之类的分布式账本来监视和执行可以彼此不信任的各方之间的处理实例(170)的方法和装置。所提出的方法和装置以使得不需要中央管理机构但维持信任的方式,将区块链集成到处理的编排中。一组部件(翻译器160、处理实例170和触发器/接口120、130)的组合允许监视或协调区块链上(150)和区块链下(140)的业务处理。

Description

区块链平台上的业务处理执行
对相关申请的交叉引用
本申请要求于2016年3月21日提交的澳大利亚临时专利申请No 2016901059的优先权,其内容通过引用并入本文。
技术领域
本公开涉及用于在区块链平台上执行业务处理(business process)的计算机实现的方法、软件、设备和系统。
背景技术
区块链
区块链被设计为由对等网络内的所有节点维护的公开共享账本(ledger)。区块链平台不像传统银行和支付系统那样依赖任何中央可信管理机构。相反,信任被实现为来自网络内节点之间的交互的涌现性(emergent property)。区块链的完整副本包含区块链网络中执行的每个交易,因此在区块链上进行交易的一方可以高度确定地确认另一个方能够像另一个方所声称的那样进行交易。这样做的一个重要后果是没有必要利用诸如银行之类的可信第三方来进行货币交易。
作为概念,区块链最初是在比特币的基础设施中定义的。从那时起,该概念已被推广到使用区块链来验证和存储任何交易而无需加密货币或代币的分布式账本中。许多加密货币现在使用区块链作为其平台的基础。流行的区块链平台包括比特币和以太坊。
交易
如上所述,区块链本质上是基于商定的协议参与系统的所有节点共享的交易列表。每笔交易表示具体数量的数字资产从一方的地址转移到另一方的地址。因此,地址功能类似于银行账户。例如,Alice可以通过在区块链上创建交易来支付Bob 5比特币,并从她的一个地址转移5比特币并指定Bob的地址作为输出。
存在与不同的区块链平台相关联的不同的数字资产。通常,数字资产是与平台相关联的货币。因此,当前的公开内容可互换地使用货币和数字资产。例如,比特币平台的货币也称为比特币;以太坊的货币被称为以太币。但是,虽然它们是不同的货币,但由于它们都是区块链平台的事实,它们以非常相似的方式运作。
货币的区块链的完整副本包含以货币执行的每笔交易。交易是可识别的数据包,其存储货币价值的指示,和/或智能合约中的函数调用的参数和结果。通过加密技术确保区块链平台中交易的完整性。包含货币的区块链的完整副本的、连接到并参与区块链网络的计算机被称为“完整节点”。
区块
在区块链系统中,交易被聚合成区块。通过包含前一个区块的引用,每个区块还链接到前一个区块(“父”区块)。这具有从当前区块到称为创世区块(genesis block)的第一个区块创建区块链的效果。保证每个区块按时间顺序排在前一个区块之后,因为否则将不知道前一个区块的散列。一旦每个区块在链中已存在一段时间(通常在比特币中这平均大约是60分钟或6个区块),对它进行修改在计算上就也是不切实际的,因为它之后的每个区块也必须被重新生成。这些特性使得以太币或比特币的双重支出变得非常困难。
智能合约
区块链平台中的智能合约旨在复制合同的法律概念。即,如果合约是对合约各方施加义务的相互协议,那么智能合约是自动对交易施加义务或条件的方式。
比特币和以太坊(以及大多数其它区块链平台)利用脚本来验证交易。智能合约有可能作为脚本来实现,并且其运行方式与正常交易被验证的方式相同。虽然这是比特币采用的做法,但这相当困难,因为脚本必须执行才能验证交易。在以太坊中,智能合约与验证交易截然不同。因此,智能合约可以独立于发起合约的交易而存在。其它差异包括智能合约必须在可以被执行之前部署,并且一旦部署,智能合约就将执行,除非被明确终止。在比特币和以太坊中,脚本都包含自动执行合约所需的所有函数调用(操作代码)。两种区块链平台上的所有节点都执行脚本。
在区块链平台中使用脚本存在许多限制。对于比特币,一个这样的限制是脚本语言不是图灵完整的(Turing-complete)。它的结果就是比特币中的脚本不能包含任何循环。这个限制旨在防止攻击者在比特币系统上运行充当拒绝服务(DOS)类型的攻击的无限循环的脚本。相比之下,以太坊有内置的图灵完整脚本语言,用于编写智能合约。以太坊克服DOS攻击可能性的方式是,要求以货币进行交易的各方支付与脚本所需的CPU周期成比例的费用(这在以太坊中被称为Gas)。因此,脚本不能无限循环,因为攻击者需要无限量的货币来支付脚本执行的费用。
发明内容
一种用于基于处理规范生成要在区块链上作为处理实例执行的脚本模板的计算机实现的方法,所述方法包括:
(a)确定要在处理实例中执行的、与处理规范中的一个或多个步骤对应的一个或多个任务;
(b)确定一个或多个触发器以向处理实例提供与处理规范中的一个或多个步骤对应的、要在链下执行的一个或多个任务的信息;以及
(c)基于所述一个或多个任务和所述一个或多个触发器,生成要作为处理实例执行的脚本模板。
该方法还可以包括在区块链上发起处理实例,该方法包括:
根据上述方法生成脚本模板;
通过添加参数值完成脚本模板;以及
通过在区块链上执行脚本来发起处理实例。
该方法还可以包括接收处理规范,并且其中处理规范包含一个或多个步骤。
在上述方法中,发起处理实例可以包括:
用交易实例的具体信息填充脚本模板;
通过支持区块链的对等网络传播交易。
该方法还可以包括处理实例存储区块链上处理实例的状态。
如上所述的方法,其中处理实例基于区块链上处理实例的状态确定要调用的一个或多个触发器。
如上所述的方法,其中一个或多个触发器可以调用处理规范的处理中的一方的外部接口。
如上所述的方法,其中该方法还包括将一个或多个触发器分发到支持区块链的对等网络中的一个或多个节点。
如上所述的方法,其中步骤(b)可以包括以下任何一个或多个:
确定用以完成每个任务的信息的一个或多个源;
确定用以完成每个任务的信息的类型;
确定每个任务的退出函数;
确定用于存储区块链外部的数据的一个或多个数据储存库(data store);以及
确定处理规范中的处理的一方或多方之间的密钥共享布置。
上述方法还可以包括以下任何一个或多个:
向调解器(mediator)报告活动信息;
轮询处理实例的执行状态;
确定要执行的外部接口函数;
更新区块链中的处理状态;
接收用于处理实例中的每个任务的信息;
基于接收到的信息触发处理实例中的下一个步骤;以及
确定在区块链上执行处理实例的总成本范围。
如上所述的方法,其中处理实例可以是监视器。
如上所述的方法,其中所述处理实例可以是调解器。
还提供了一种具有计算机可读指令的非瞬态计算机可读介质,所述计算机可读指令用于如本文所述的基于处理规范生成要在区块链上作为处理实例执行的脚本模板。
一种用于在区块链上执行处理实例的系统,其中所述处理涉及一方或多方,所述系统包括:
翻译器,
确定要在处理实例中执行的、与处理规范中的一个或多个步骤对应的一个或多个任务;
确定一个或多个触发器以向处理实例提供与处理规范中的一个或多个步骤对应的、要在链下执行的一个或多个任务的信息;
以及
基于一个或多个任务和一个或多个触发器生成要作为处理实例执行的脚本模板;
处理实例,其能够在区块链上被发起;
所述一个或多个触发器,其与处理实例和接口通信;以及
所述接口,其与所述一个或多个触发器通信。
上述计算机方法的可选特征是也在这里描述的软件和计算机系统的同等可选特征。
附图说明
将参考以下内容描述本公开的示例:
图1图示了示例性应用场景。
图2图示了用于基于处理规范生成要在区块链上作为处理实例执行的脚本模板的计算机实现的方法。
图3图示了示例处理规范。
图4图示了示例翻译器。
图5图示了示例触发器。
图6图示了示例监视器。
图7图示了示例调解器。
具体实施方式
本发明一般而言涉及利用诸如以太坊区块链之类的分布式账本来监视和执行可能彼此不信任的各方之间的处理的方法和装置。如果所涉及的各方对彼此缺乏信任,那么处理执行会产生问题。因此,如果有多方合作,那么会难以决定哪个组织应当控制将它们绑定在一起的处理。各方通常需要信任中央管理机构或仅仅对其中一方本身承担风险。在本公开中,区块链被用于替换中央管理机构并促进处理。区块链的计算基础设施可以被用于监视或者协调处理。
在文献中,术语“智能合约”可互换使用以既指用于执行智能合约的代码又指实际执行或被执行的智能合约。为清楚起见,在本公开中,术语“处理实例”是指智能合约的执行和由其提供的服务。术语“脚本”是指可以作为处理实例执行的智能合约代码。术语“脚本模板”包含逻辑,但不包含使脚本可执行的参数。当填写适当的参数时,脚本模板将成为脚本。
本公开使用术语“区块链”来指实际的区块链本身(即,具有顺序添加的区块的公开共享账本)。本公开还使用术语“与区块链平台相关的区块链”和“区块链网络”。术语“区块链平台”旨在指使区块链操作的所有部件。这包括钱包、代码、交易、区块链网络以及区块链本身。本公开中使用的区块链平台的示例包括比特币和以太坊。在使用术语“区块链网络”(例如以太坊区块链网络)的情况下,这旨在指运行区块链代码的计算机,这些计算机能够经由诸如互联网之类的通信网络彼此通信。区块链网络中的计算机被称为节点,并且完整节点是区块链网络中包含整个区块链的副本的计算机。
部件
本公开涉及三种截然不同的部件。这些部件是:
翻译器
这是将现有的处理规范翻译成脚本模板的部件,脚本模板是区块链脚本语言中部分完成的脚本。用于区块链平台的脚本语言的示例包括Solidity(以太坊)和Script(比特币)。取决于要求,可以根据诸如调解器或监视器之类的通用模式来设计脚本模板。
处理实例
通过用适当的参数完成脚本模板,可以将脚本模板转换成脚本。处理实例是脚本在区块链上的执行。这个部件执行促进处理的功能。虽然如上所述脚本模板可以是通用的,但由于处理实例需要在脚本中设置参数,因此处理实例是特定于案例的。
触发器/接口
这个部件将区块链处理执行连接到外部世界。这是可以在区块链完整节点上运行的由计算机执行的程序。接口具有许多功能,诸如在区块链上轮询处理的执行状态、在需要时调用外部应用可编程接口(API)函数,以及根据外部观察更新区块链中的处理状态。
本公开的系统的示例
以下是说明性示例。虽然它描述了以太坊的使用,但这仅仅是为了说明区块链平台。其主要原因是以太坊本质上支持智能合约。智能合约是以太坊区块链上的账户持有对象。它们包含代码函数,并且可以与其它合约交互、创建新合约、制定决策、存储数据以及向其它人发送以太币。
图1是所提出的系统的示例图示。在这个系统中,Alice 110和Bob 112参与处理,其中Bob 112正在出售智能电话并且Alice 110正在购买它。为了使该方法继续,Alice 110和Bob 112各自可以访问作为在以太坊网络150中的完整节点上运行的计算机程序的触发器(120,130)。Alice 110和Bob 112各自具有秘密密钥。Alice的触发器120可以访问Alice的秘密密钥,并且Bob的触发器130可以访问Bob的秘密密钥。虽然这是给出的示例,但实际上触发器(120,130)可以是具有适当秘密密钥的任何触发器。事实上,Alice的触发器和Bob的触发器实际上可能是具有两个秘密密钥的同一台计算机。此外,每个触发器(120,130)可以调用在处理实例170中定义的各种函数。翻译器160基于处理规范190的输入生成脚本模板162。在图3中示出了示例处理模型,它是处理规范190的图形表示。处理规范190包括基于所提供的输入参数产生输出的一系列任务和决策制定逻辑。
翻译器160具有确定处理规范190的哪些任务可以在链上执行以及哪些任务可以在区块链外部执行的重要作用。翻译器160考虑许多因素来确定任务是在链上执行还是在链下执行。在任务在区块链上执行时,这通常意味着可以执行智能合约中的一个或多个功能,此外或者可替代地一个或多个交易发生。区块链上的任务可能导致以Gas或交易费用或两者的形式的计算成本。其它相关因素包括交易各方之间的信任程度、任务的类型以及具体任务的数据要求。
任务的类型包括物理、数据存储、状态或计算。物理任务是需要有形物体的任务。例如,出售房地产需要存在房地产形式的财产。物理任务通常必须在链下执行,但可以存在相关的链上任务。在房地产示例中,这可以是在区块链交易的元数据中以数字形式包括的标题(title)的转移。数据存储类型的任务是在区块链上或链下存储数据有效负载的任务。状态类型的任务是将改变正执行的处理实例170的状态的任务。例如,处理实例170可以具有三种可能的状态:1.等待来自Alice的触发器的输入,2.等待来自Bob的触发器的输入和3.等待来自外部触发器的输入。来自Alice的触发器120的输入可以例如使状态从状态1改变到状态2。计算任务是执行计算作为任务的一部分的任务。计算任务的示例包括将数字分解并将两个字符串级联在一起。
任务也可以在区块链外部执行(也称为链下)。鉴于在区块链平台中存在与计算相关联的限制和成本,一些任务可以由外部处理执行,该外部处理未在区块链网络中的参与者上执行,或者如果被执行,那么不是以利用区块链函数为目的地执行,也不造成利用区块链的任何计算成本(诸如Gas)。
处理模型示例
图3是处理模型的示例图示,该处理模型是处理规范190的图形表示。为了继续上面购买智能电话的示例,在这个处理模型中有四个任务和四个执行决策。任务1是检查付款。这是为了确保Alice正确付款。如果尚未进行正确的付款,那么决策1确定重复该处理以检查是否已再次付款。否则,该处理前进到决策2。检查支付是可以在区块链上执行的一类任务,并且其在计算上并不特别昂贵。因此,翻译器160确定支付功能可以在链上执行并且只能由Alice的触发器120调用。在这个决策点,有两个任务需要完成。任务2是智能电话的实际邮寄。因为它是物理行为而不是在计算机上执行的任务,因此任务2必须在链下进行。因此,需要任务3的相关任务,涉及更新状态,以便将邮寄智能电话的步骤的状态反映在区块链上。因此,状态更新旨在在区块链上指示智能电话的确切运送状态。翻译器160确定在区块链上执行任务3并且只能由Bob的触发器130调用。决策4是同步点。必须先运送智能电话并更新运送状态,然后才能继续处理。
脚本模板示例
翻译器160从处理规范190生成脚本模板162。脚本模板的示例如下所示。
在这个脚本模板162中,支付函数(function payment(participant source,uint32transactionID)returns(bool r))旨在检查交易是否符合智能电话的约定价值。这由'[parameter:agreed payment value]'指示。由于这个值可以改变,因此这个值尚未确定,并且将在稍后设置。
如上所述,翻译器160已经确定支付函数是在链上执行的函数,并且支付函数只能由Alice的触发器120调用。函数setPostageState取当前状态作为输入。例如,可以从“处理”、“打包”和“运送”中选择状态。这个示例中的这个函数只能由Bob的触发器调用。函数confirmReceipt取布尔值作为输入,Alice的触发器120将使用该布尔值来指示已接收到智能电话。
脚本示例
脚本164是可以在以太坊网络上执行的完整代码段。这与脚本模板162截然不同,脚本模板162不完整,因为它不包含所有参数。继续上面的示例,脚本将用值5替代脚本模板162中的[parameter:agreed payment value]。即,智能电话的价值被认为是5以太币。由于这是唯一需要设置的参数,因此脚本164现在准备好在以太坊网络150上被编译和部署。
发起处理实例
图2是用于在区块链上发起处理实例的方法的示例图示。最初,翻译器160接收处理规范210。该处理规范可以是任何格式,只要翻译器能够识别和处理输入即可。用于处理规范的格式的典型示例包括BPMN或BPEL。如上所述,翻译器160将识别完成处理规范中描述的处理所需的一个或多个步骤。
然后,翻译器160确定210要在处理实例170中执行的、与处理规范190中的一个或多个步骤对应的一个或多个任务。
一旦翻译器160已经确定210要在区块链上执行的与处理规范中的一个或多个步骤对应的一个或多个任务,翻译器就还可以确定220要在链下执行并与处理规范230中的一个或多个步骤对应的一个或多个任务。这个确定可以简单地确定仍然需要执行哪些尚未被步骤210覆盖的剩余任务。虽然翻译器需要首先确定210一个或多个要在区块链上执行的、与处理规范中的一个或多个步骤对应的任务,但是并不要求所有任务都需要被确定。例如,翻译器可以有可能确定要在区块链上执行的一个任务,然后确定220一个或多个触发器,以向处理实例提供要在链下执行的、与处理规范190中的一个或多个步骤对应的一个或多个任务的信息。然后,该方法可以迭代地重复该方法的210和220,直到处理中的所有步骤都完成为止。
如上所述,翻译器160考虑各方之间的信任,因此,当各方之间的信任问题未得到解决以及各方试图优化交易成本时,步骤230可以明显更复杂。即,在链下完成一些任务的情况下,可以减少使用处理实例170作为调解器或监视器的总成本。这样做的后果是,在区块链下执行的任何事情都要求参与者之间的一定程度的信任。所需的信任程度大致与链下执行的任务的重要性成正比。
一旦翻译器已经完成生成脚本模板以作为处理实例执行,脚本模板就可以通过添加剩余参数而作为脚本完成,并且可以通过在区块链上执行脚本来发起240处理实例170。以下是作为以太坊中的处理实例170执行脚本的示例。在以太坊平台中,作为处理实例170的以其可执行形式的合约的执行和由其提供的服务由以太坊网络150本身提供。要注意的是,以太坊智能合约缺省情况下是永存的、不可变的,并且没有所有者,因此一旦部署,合约的作者就不再具有特殊权限。只要整个网络存在,智能合约就可以作为处理实例170被发起,并且处理实例170只有在处理实例170被编程为自毁的情况下才将会消失。虽然缺省情况下不提供,但是Solidity(以太坊的脚本语言)提供了杀死处理实例170的函数。翻译器160可以在需要时在脚本模板中包括这样的功能。
翻译器
翻译器160是接受现有处理规范作为输入(“工作流”)并且生成可以在区块链上部署并执行的智能合约的处理。
图4是翻译器160的示例图示。在这个示例中,翻译器160取处理规范190作为输入。然后翻译器生成两个脚本模板,调解器工厂430或监视器工厂440。在这种情况下,工厂430、440是脚本模板的通用模式。通用模式是常见问题或场景的通用可重用解决方案。调解器和监视器的通用模式允许监视器或调解器的新实例,而不必再次重新翻译处理规范190。这意味着处理逻辑将被封装在脚本模板162中,但是它将不包含实例化处理实例170所需的实际参数。在这个示例中,调解器工厂430可以用于在需要时生成新的调解器。类似地,监视器工厂440也可以用于在需要时生成新的监视器。
整体翻译算法遵循以下两种方法之一:(i)基于令牌流或(ii)基于结构树。遵循任何一种高级方法都提供了遍历处理模型的方式。翻译器160包含许多可以解释不同类型元素的翻译规则。作为生成脚本模板的处理的一部分,翻译器160还计算执行处理实例170的输出成本。
在一个示例中,翻译器160可以使用处理规范190中的控制流程以便确定任务的次序。当使用控制流程时,翻译器160基于下面的一个或多个执行模式将处理规范中的每个步骤转换成对应的任务。可替代地,翻译器160可以基于每个步骤所需的数据的相互依赖性来确定任务的相关执行模式。举一个简单的例子,如果处理实例170要执行对来自两个独立源的输出求和的数学运算,那么没有相互依赖性。但是,如果处理实例170要将从一个源接收的一个量除以从另一个源接收的量,那么操作的次序是重要的。
翻译算法
示例性整体翻译算法具有两个阶段。首先,翻译器160解析输入的处理规范190。然后翻译器160遍历处理规范190的所有元素(310-317),其中翻译器为处理规范190中的每个元素生成两个列表:一个先前元素的列表和接下来的元素的列表。在图3的示例中,任务元素310将具有包括其自身[310]的先前元素的列表以及[310,313,314]作为接下来的元素的列表。
然后,基于用于不同类型元素的翻译规则(参见下文详述的官关于翻译器执行模式的部分),翻译器160用其相应的链接(320-327)翻译每个元素,从而生成代码(在这个示例中,它生成Solidity代码,参见上文,因为这是以太坊用于编写智能合约的语言)。要注意的是,在当前示例实现中,只有连续网关的一些组合可以彼此连接而其间没有任务,但是这不是限制性的。如上所述的先前元素的列表由翻译器160用来确定当执行当前元素时需要去激活哪些其它元素;接下来的元素的列表指定在执行当前元素之后需要激活哪些元素。
在下面的示例算法1中示出了由翻译器160使用的、针对两个列表的选择方法。元素的NextElements包括直接跟随在该元素之后的所有任务,或者如果那条边的目标是AND-Join,那么包括传出边。如果下一个元素是Split或XOR-Join网关,那么通过递归调用将连接到它的任务边添加到NextElements中。元素的PreviousElements包括元素本身。在任务的情况下,如果XOR-Split网关在当前元素之前,那么跟在XOR-Split之后的任务将被添加到PreviousElements。在AND-Join网关的情况下,所有传入边都添加到PreviousElements。
算法1计算NextElements和PreviousElements。
用于翻译器的执行模式
大多数任务可以与五种不同的执行模式匹配:顺序、并行拆分、同步、结合、选择。
顺序:在顺序模式中,在完成工作流中的任务后,使能同一工作流中的另一个任务。
并行拆分:单个控制线程拆分成多个线程,这些线程可以并行执行,以便可以同时或以任何次序执行任务。
同步(AND-Join):多个并行任务会聚到单个控制线程中,从而同步多个线程。
结合(XOR-Join,简单合并):多个并行任务会聚到单个线程中而无需同步(参见同步模式)。
选择(XOR-Split):在完成任务之后,从或者(i)满足一个或多个条件,或者(ii)与第一个被选中的备选对应的一个或多个备选中选择任务。
智能合约(参见算法2)是从翻译器160生成的。在一个示例中,智能合约包含表示处理实例170的执行状态的存储变量的列表,该处理实例170在区块链上执行时是智能合约。为了优化成本,可以最小化链上存储的数据的尺寸。
为了起动处理执行,将在函数Init()中激活第一个任务。函数Taski()由触发器调用,以执行对应的任务并驱动该处理。函数JoinGatewayi()在内部被调用,以强制执行控制流模式。表示处理执行状态的存储变量由每个函数操纵并更新。在执行完最后一个任务后,变量TerminationActivated被设置为true,从而终止处理。
算法2solidity合约。
1:Bool Task1Activated<-false
2:...
3:Bool TasknActivated<-false
4:
5:Bool JoinGateway1Incoming1Activated<-false
6:...
7:Bool JoinGateway1IncomingnActivated<-false
8:Bool JoinGatewaynIncoming1Activated<-false
9:...
10:Bool JoinGatewaynIncomingnActivated<-false
11:
12:Bool TerminationActivated<-false
13:
14:function Init()
15:Task1Activated<-true
16:end function
17:
18:function Task1()
19:...
20:end function
21:...
22:function Taskn()
23:...
24:TerminationActivated<-true
25:end function
26:
27:function JoinGateway1()
28:...
29:end function
30:...
31:function JoinGatewayn()
32:...
33:end function
算法3示出了如何将业务处理的每个任务Taski实现为Solidity中的函数Taski()。该函数返回指示任务是否成功完成的布尔值。相应的“completed”变量定义任务的执行状态;它存储在处理实例(执行的智能合约)中,并由对应的Taski()操纵。这些变量的集合定义了处理实例的执行状态。在这个示例中,支付任务在链上执行。计算任务(例如,对于数据变换)可以在链上或链下执行,例如取决于成本效益分析的结果。
Taski()在接收到执行Taski的消息时执行符合性检查。如果符合(Taski被激活),那么转发消息(作为智能合约日志条目);否则,它返回指示Taski的执行没有成功的false并且广播告警。一旦成功执行了Taski,PreviousElements的所有元素就将被去激活,并且激活NextElements的所有元素。
算法3以返回布尔值的函数编码每个任务。
算法4是作为函数Joini()实现的业务处理的结合网关Joini的示例图示。与上面类似,函数Joini()从符合性检查开始,以确保激活结合网关以执行。符合性检查特定于工作流模式。对于每个AND-Join,它检查PreviousElements的所有元素都被激活的条件。在符合性检查之后,执行网关,并且与上面类似,PreviousElements的所有元素都被去激活,并且NextElements的所有元素都被激活。
在生成智能合约之后,翻译器160还可以计算用于执行结果所得的智能合约的成本范围。这用作为了在区块链上执行处理实例必须花多少加密硬币的指示。
算法4每个AND-Join网关都在函数中编码。
触发器
触发器120、130部件从区块链查询业务处理的执行上下文,并且可以调用外部应用可编程接口(API)函数来驱动该处理。触发器也接受来自希望使用触发器在区块链上执行功能的一方的API调用。区块链中的数据存储是不可变的,因此记录业务处理中发生的所有交易。以这种方式,区块链为每个涉及的参与者形成审计跟踪,以验证交易。
图5是触发器的示例图示。触发器502是通常驻留在以太坊网络150的完整节点上的程序,因此它既位于区块链上又在链下。即,触发器能够在区块链上执行功能以及在区块链外部进行交互。触发器502能够与接口504自由通信,接口504是可以在同一节点或分离的计算机上运行的程序。接口504能够直接与外部数据506通信。外部数据506仅仅是处理实例继续进行所需的数据的源。外部数据506可以采用多种形式,并且具体的外部数据取决于确切的场景。外部数据的示例可以是存储硬件,其可以通过通信网络由网络的节点访问。虽然没有描绘,但是可以有多个触发器,其中处理中的每个参与者与他们自己的触发器通信(参见图1)。
在一个示例中,当希望使用触发器120、130与诸如Alice 110或Bob 112之类的处理实例170交互的一方调用触发器API时,触发器将接收到的消息翻译成区块链交易。触发器可以对接收到的消息执行本地测试,以确定消息是否有效。例如,它可以在内部测试调用处理实例的副本,以便验证消息或确定处理实例170的预期结果。
调解器工厂507和监视器工厂508是脚本模板,一旦用参数完成就可以将其实例化为处理实例170。处理实例570充当或者调解器510或者监视器530。调解器510和监视器530都包含对参与者账户(512、532)、执行的状态(516、534)、数据(520、536)和托管(520、538)的引用。调解器还包含处理逻辑514。监视器530也可以包含处理逻辑533,但是与调解器514的处理逻辑相比,它可以是简化的逻辑。通常,监视器是正在执行的处理中的被动参与者,因此监视器可以检查任何消息并转发消息。
触发器120、130是可以在区块链网络的完整节点上运行的程序。一个或多个触发器可以优选地分布在多个完整节点上,例如,每一方可以在其自己的节点上部署其自己的触发器,并且每一方仅与其自己的触发器通信。如有必要,那么触发器也可以部署在一个完整节点上,但是由于单个触发器引入了集中化和单点故障,因此不是优选的。
触发器120、130监听利用触发器可识别的形式的任何交易。可以通过区块链上的处理触发触发器的一种示例方式如下。当处理实例170接收到消息时,处理实例170可以将消息存储在其执行状态日志516、534的状态上。执行状态日志的状态对所有人都可见。因此,(代理)交易的各方的任何触发器监听处理实例170的执行状态日志,以确定是否为触发器指定了消息。例如,Alice的触发器120可以识别出其公钥已被利用或者Bob的触发器130可以识别出消息内容与Bob的触发器要执行的下一个任务相关。处理实例170还可以将与触发器应当执行的具体操作或触发器可以从中获取数据的位置相关联的附加数据写入数据520、536,以便执行指定的操作。如果处理实例被用作托管,那么托管520、538可以检查所传送的数字资产的量。
如果利用存储诸如执行堆栈之类的数据的操作来激活触发器120、130,那么触发器可以执行交易并且包括要存储的相关数据作为交易的元数据的一部分。存在与以这种方式存储数据相关联的交易成本。在由于交易尺寸的限制或元数据限制而使得要存储的数据需要多个交易的情况下,触发器可以执行多于一个交易。通常,预期的总成本范围将由翻译器预先计算。确切的成本取决于处理实例170执行的任务和决策。但是,如果成本高于预期,那么调解器可以积极地从各方寻求额外的资金或数字资产,以便继续执行该处理。
通用模式的示例:监视器
可以根据不同的通用模式生成脚本模板。一个这样的示例被称为监视器530。下面描述称为调解器510的通用模式的另一个示例。
在监视器模式中,智能合约是交易的被动方。即,监视器仅监听交易并通过将消息转发到各方来充当中继。与下面描述的调解器不同,监视器是被动的,并且监视器的主要功能是将它接收的消息存储在区块链中。照此,监视器510向处理的各方以及任何感兴趣的第三方提供处理的执行状态的综合视图。虽然监视器510是被动的,但它也可以检查消息被发送以及按照符合处理规范190中定义的处理中步骤的次序的次序调用的功能。此外,如果监视器正在与托管一起使用,那么可以检查转移的数字资产的量。
图6是监视器的示例图示。继续上述示例,Bob 112正在出售智能电话并且Alice110希望购买它。Alice 110和Bob 112部分地彼此信任,因此只打算在交易中出现问题时使用监视器。一旦监视器602被发起,交易就可以开始。最初,Alice 110希望向Bob 112转移5以太币以购买智能电话。处理620调用函数payment(参见上文)以指示Alice已经将5以太网币转移给Bob 112。随着这个消息和所有后续消息,监视器602充当中介,使得Alice和Bob都不直接向彼此发送消息。
第一监视器处理610监听来自处理620的函数调用。因此,当监视器接收到关于向Bob支付5以太币的函数调用时,监视器处理610然后将通过调用Bob的触发器130将这个消息转发到Bob的处理630。监视器可以在这个点610以及在监视器被调用的所有后续点,612和614,存储处理实例的状态。监视器602的状态固有地存储在处理实例170中。即,处理实例170的状态由以太坊网络维护,因此处理实例170的状态的任何改变都被反映为监视器602的状态的改变。此外,监视器602可以调用触发器640,以存储数据有效负载。然后,触发器640可以调用接口642,以访问外部数据的源642。虽然不必使用触发器640,但是可以使用可信的第三方(诸如受托者)的触发器来验证该处理。
一旦Bob的第一监视处理630已经接收到5以太币,Bob的处理630就可以开始智能电话的实际转移。实际转移可以涉及典型的邮资和处理方面,诸如打包、寄或快递物品。转移的这个方面将在链下完成,但是处理630可以一直等到它接收到智能电话已经运送的消息。
Bob的触发器130处理632将发送智能电话已经被运送给Alice的消息。监视器处理612将监听来自Bob的智能电话已经被运送的消息。然后它将这个消息转发给Alice的处理622。然后,处理622将检查是否已经接收到智能电话。一旦接收到智能电话,处理624就将向Bob发送确认消息。这个消息将由监视器处理614接收,然后监视器处理614将向Bob的处理634发送确认。
可以存在Alice和Bob可能希望向彼此发送的附加消息。例如,Bob可能希望向Alice发送关于智能电话的邮资和处理方面的定期更新,诸如指示智能电话已被打包、运送、快递、准备交付和/或准备好取件。
通用模式的示例:调解器
可以在区块链上执行的通用模式的另一个示例是调解器。当调解器被初始化为处理实例170时,处理实例可以自动检查任何既定的条件并根据既定的规则转移数字资产。例如,Alice需要在某个时间点向Bob付费。在这种情况下,智能合约有一个功能是将钱转给Bob,并且只有Alice有权调用这个功能。处理实例确定在什么条件下可以转钱以及如何转钱。该处理从Alice向处理实例转钱开始。钱何时被转到Bob可以基于处理执行的具体状态,例如,某个活动的完成。此外,钱可以被拆分成向多个账户支付。例如,在Alice和Bob之间存在中间人的情况下,中间人的佣金也可以由处理实例支付。
当发起新处理实例时,将所有参与者的账户地址传递到触发器。在处理执行期间,当活动完成时,输出数据有效载荷可以存储在诸如Amazon Web Services之类的链下数据储存库中。触发器可以用处理状态和输出数据有效负载的散列来更新执行的处理实例。此外,触发器可以从调解器合约中获取下一步的信息。触发器通过操纵上一步的输出数据有效负载获得下一步的输入数据有效负载,并调用下一步。再次,输入数据有效载荷可以存储在诸如Amazon Web Services之类的链下数据储存库中。
图7图示了示例调解器场景。在这个示例中,双方之间的处理的所有步骤都被传送到执行的智能合约(“调解器”),然后调解器能够检查执行的状态并触发在区块链下执行所需的任何步骤。
在示例场景700(类似于场景600)中,Bob正在出售智能电话并且Alice希望购买它。Alice 110和Bob 112彼此不信任,因此打算使用调解器。一旦部署了调解器702,交易就可以开始。最初,Alice希望向Bob 130转5以太币,以购买智能电话。处理720发送Alice已经将5以太网转给Bob 112的消息。与上面的监视器类似,并且对于所有后续消息,调解器702充当中介,使得Alice的触发器120和Bob的触发器130都不直接向彼此发送消息。第一监视器处理710侦听来自处理720的输出。第一调解器处理710可以能够确定Alice实际上已经转了5以太币。然后,调解器将向Bob的第一处理730发送支付验证消息。
一旦Bob的第一处理730已经接收到验证消息,Bob的处理730就可以开始智能电话的实际转移。实际转移可以涉及典型的邮资和处理方面,诸如打包、寄或快递物品。转移的这个方面将在链下完成,但是处理730可以一直等到它接收到智能电话已经运送的消息。然后,过程730可以向调解器处理712发送消息以指示智能电话已经发货。调解器处理712可以能够检查智能电话的状态以验证Bob实际上已经运送了智能电话。例如,可以从Bob的处理732向调解器处理712提供物品的跟踪号和快递服务的细节。然后,调解器处理712可以以以太币执行第三触发器740将识别出的交易。然后,第三触发器740将使用接口742通过检查外部数据744来确定物品的正确状态。在这个示例中,外部数据744可以是由上面的处理732提供的快递服务的网站。然后,第三触发器740将能够验证智能电话已被运送。在这个示例中,第三触发器740、接口742和外部数据744可以是快递员或可信的第三方(诸如受托者)的角色。
然后,它将验证消息转发到Alice的处理722。一旦接收到智能电话,处理724然后就将向Bob发送确认消息。这个消息将由调解器处理714接收。调解器处理714可以使用触发器740和接口742来验证已经接收到智能电话。接口742可以能够通过从外部数据744检查快递服务已交付物品并接收到签名来验证这一点。一旦通过验证,调解器处理714就将确认发送到Bob的处理734。
发起处理实例
在以太坊中,必须先部署智能合约才能执行。为了将智能合约部署为处理实例,需要脚本的编译代码和应用二进制接口(ABI)。ABI是定义如何与处理实例170交互的Javascript对象。API定义用于要使用的源代码的接口,而ABI定义特定体系架构上的两个或更多个软件之间的低级二进制接口。ABI定义处理实例将如何与其自身交互、处理实例如何与以太坊网络150交互,以及处理实例170如何与任何代码库交互。当编译智能合约脚本时,编译器通常将既产生编译的代码又产生ABI。Alice的触发器120和Bob的触发器130都可以访问用于处理实例170的ABI,使得它可以与处理实例170交互。
加密和密钥分发
关于区块链的所有信息都可由网络内的所有节点公开访问。为了保护所涉及的各方的隐私,可以选择在将信息插入区块链之前加密数据有效负载。但是,处理执行状态不加密,因为监视器和调解器需要处理这个信息。加密数据有效载荷意味着调解器根本不能执行数据变换,但是可以求助于源方的触发器120、130来完成这个任务。
在由所涉及的各方之一发起处理实例170之前,所涉及的各方110、112彼此交换它们的公钥。因此,密钥分发是在链下处理的。可以如下实现加密用于所有处理方的数据有效载荷。
一方,Alice 110,为处理实例170创建秘密密钥,并在初始密钥交换期间分发它。当Alice 110或Bob 112将数据有效载荷添加到区块链时,它首先使用秘密密钥同步地加密这个信息。因此,区块链上可公开访问的信息被加密,因此任何无法访问秘密密钥的人都无法访问。处理实例中涉及的各方都有秘密密钥并且可以解密信息。相反,如果双方想要通过处理实例170私下交换信息,那么可以期望在两个处理方之间加密数据有效载荷。作为示例,发送方Alice 110可以使用接收方Bob 112的公钥来异步地加密信息;只有Bob 112可以用他的私钥解密它。
示例触发器
图8中所示的触发器120、130包括处理器802、存储器810、网络接口设备806和触发器接口设备808,它们经由总线804彼此通信。存储器存储用于参考图1至7描述的处理的指令812、814、816和818以及数据,并且处理器执行来自存储器的指令以实现处理。
处理器802执行存储在存储器810上的指令。处理器802从触发器接口设备808接收一方对处理的触发器API调用。处理器802根据API模块812确定指令。指令可以是与处理实例通信的功能,在这种情况下,处理器802执行存储在处理实例模块818中的指令。由于触发器120、130通常是区块链网络上的节点,因此处理器802可以执行存储在区块链模块814中的指令,以作为区块链上的完整节点执行触发器的功能。处理器802可以执行存储在接口模块816中的指令,以与链下网络140上的接口180通信。
本领域技术人员将认识到的是,在不脱离本公开的广泛的一般范围的情况下,可以对上述实施例进行许多变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而非限制性的。

Claims (15)

1.一种用于基于处理规范生成要在区块链上作为处理实例执行的脚本模板的计算机实现的方法,所述方法包括:
(a)确定要在处理实例中执行的、与处理规范中的一个或多个步骤对应的一个或多个任务;
(b)确定一个或多个触发器以向处理实例提供与处理规范中的一个或多个步骤对应的、要在链下执行的一个或多个任务的信息;以及
(c)基于所述一个或多个任务和所述一个或多个触发器,生成要作为处理实例执行的脚本模板。
2.一种用于在区块链上发起涉及一方或多方的处理实例的计算机实现的方法,所述方法包括:
根据权利要求1生成脚本模板;
通过添加参数值完成脚本模板;以及
通过在区块链上执行脚本来发起处理实例。
3.如权利要求1所述的计算机实现的方法,其中所述方法还包括接收处理规范,并且其中处理规范包含所述一个或多个步骤。
4.如权利要求2或3所述的计算机实现的方法,其中发起处理实例包括:
用交易实例的具体信息填充脚本模板;
通过支持区块链的对等网络传播交易。
5.如前述权利要求中任一项所述的计算机实现的方法,其中所述方法还包括处理实例存储区块链上处理实例的状态。
6.如权利要求5所述的计算机实现的方法,其中处理实例基于区块链上处理实例的状态确定要调用的一个或多个触发器。
7.如前述权利要求中任一项所述的计算机实现的方法,其中一个或多个触发器调用处理实例中所涉及的一方的外部接口。
8.如前述权利要求中任一项所述的计算机实现的方法,还包括将一个或多个触发器分发到支持区块链的对等网络中的一个或多个节点。
9.如前述权利要求中任一项所述的计算机实现的方法,其中步骤(b)包括以下当中的任何一个或多个:
确定用以完成每个任务的信息的一个或多个源;
确定用以完成每个任务的信息的类型;
确定每个任务的退出函数;
确定用于存储区块链外部的数据的一个或多个数据储存库;以及
确定处理规范中的处理的一方或多方之间的密钥共享布置。
10.如前述权利要求中任一项所述的计算机实现的方法,还包括以下当中的任何一个或多个:
向调解器报告活动信息;
轮询处理实例的执行状态;
确定要执行的外部接口函数;
更新区块链中的处理状态;
接收用于处理实例中的每个任务的信息;
基于接收到的信息触发处理实例中的下一个步骤;以及
确定在区块链上执行处理实例的总成本范围。
11.如前述权利要求中任一项所述的计算机实现的方法,其中处理实例是监视器,并且其中监视器监听交易并存储执行状态。
12.如前述权利要求中任一项所述的计算机实现的方法,其中处理实例是调解器,并且其中调解器执行独立于处理实例的各方的处理逻辑的处理逻辑。
13.如前述权利要求中任一项所述的计算机实现的方法,其中触发器通过在区块链上执行脚本来发起处理实例。
14.一种具有计算机可读指令的非瞬态计算机可读介质,所述计算机可读指令用于如前述权利要求中任一项所述的基于处理规范生成要在区块链上作为处理实例执行的脚本模板。
15.一种用于在区块链上执行处理实例的系统,其中所述处理涉及一方或多方,所述系统包括:
翻译器,
确定要在处理实例中执行的、与处理规范中的一个或多个步骤对应的一个或多个任务;
确定一个或多个触发器以向处理实例提供与处理规范中的一个或多个步骤对应的、要在链下执行的一个或多个任务的信息;以及
基于一个或多个任务和一个或多个触发器生成要作为处理实例执行的脚本模板;
处理实例,其能够在区块链上被发起;
所述一个或多个触发器,其与处理实例和接口通信;以及
所述接口,其与所述一个或多个触发器通信。
CN201780029445.4A 2016-03-21 2017-03-21 区块链平台上的业务处理执行 Active CN109154885B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2016901059A AU2016901059A0 (en) 2016-03-21 Business Process Execution on a blockchain platform
AU2016901059 2016-03-21
PCT/AU2017/050254 WO2017161417A1 (en) 2016-03-21 2017-03-21 Business process execution on a blockchain platform

Publications (2)

Publication Number Publication Date
CN109154885A true CN109154885A (zh) 2019-01-04
CN109154885B CN109154885B (zh) 2023-05-12

Family

ID=59900941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780029445.4A Active CN109154885B (zh) 2016-03-21 2017-03-21 区块链平台上的业务处理执行

Country Status (5)

Country Link
US (1) US20200327498A1 (zh)
EP (1) EP3433830A4 (zh)
CN (1) CN109154885B (zh)
AU (2) AU2017239154A1 (zh)
WO (1) WO2017161417A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110111104A (zh) * 2019-04-23 2019-08-09 矩阵元技术(深圳)有限公司 区块链智能合约实现方法、装置、计算机设备和存储介质
CN110601856A (zh) * 2019-09-24 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据交互方法及装置
CN111291420A (zh) * 2020-01-21 2020-06-16 国家市场监督管理总局信息中心 一种基于区块链的分布式离链数据存储方法
CN111586149A (zh) * 2020-04-30 2020-08-25 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
WO2020258044A1 (zh) * 2019-06-25 2020-12-30 比特大陆科技有限公司 数字凭证处理方法、网关、设备、系统、介质和程序产品
CN115759955A (zh) * 2022-10-20 2023-03-07 福建师范大学 一种基于区块链的业务流程执行引擎

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2564200A (en) * 2016-04-29 2019-01-09 Nchain Holdings Ltd Implementing logic gate functionality using a blockchain
US11321681B2 (en) 2017-02-06 2022-05-03 Northern Trust Corporation Systems and methods for issuing and tracking digital tokens within distributed network nodes
US11501365B1 (en) * 2017-02-17 2022-11-15 State Farm Mutual Automobile Insurance Company Blockchain systems and methods for managing property loan information
US12026710B2 (en) * 2017-08-29 2024-07-02 Nchain Licensing Ag Constraints on outputs of an unlocking transaction in a blockchain
GB201715423D0 (en) * 2017-09-22 2017-11-08 Nchain Holdings Ltd Computer-implemented system and method
US11323273B2 (en) 2017-10-24 2022-05-03 Tata Consultancy Services Limited System and method for generating a blockchain application for different blockchain technologies
AU2018354975B2 (en) * 2017-10-27 2024-08-29 Tata Consultancy Services Limited System and method for blockchain coexistence
GB201720767D0 (en) 2017-12-13 2018-01-24 Barker Trevor Computer-implemented system and method
CN118449685A (zh) * 2017-12-13 2024-08-06 区块链控股有限公司 安全共享加密材料的系统和方法
CN108335207B (zh) 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
US10628454B2 (en) 2018-03-13 2020-04-21 Blockpoint Systems Inc. Relational blockchain database
WO2019194267A1 (ja) * 2018-04-06 2019-10-10 日本電信電話株式会社 ブロックチェーンシステム、登録端末、承認端末、スマートコントラクト登録方法、および、スマートコントラクト登録プログラム
RU2686818C1 (ru) * 2018-04-14 2019-04-30 Максим Михайлович Михайленко Способ масштабирования распределенной информационной системы
JP7403104B2 (ja) 2018-04-19 2023-12-22 ヴィチェーン ファウンデーション リミテッド ブロックチェーン取引処理
US20190370791A1 (en) * 2018-05-30 2019-12-05 International Business Machines Corporation Distributing cryptographic asset returns
CN109034833B (zh) * 2018-06-16 2021-07-23 复旦大学 一种基于区块链的产品追溯信息管理系统及方法
CN108830720B (zh) * 2018-06-21 2021-04-30 北京京东尚科信息技术有限公司 智能合约运行方法、装置、系统和计算机可读存储介质
US11036713B2 (en) 2018-06-29 2021-06-15 International Business Machines Corporation Sending notifications in a multi-client database environment
CN109242483A (zh) * 2018-08-07 2019-01-18 阿里巴巴集团控股有限公司 一种基于中心化与去中心化的双重交易方法及系统
US11842322B2 (en) 2018-08-22 2023-12-12 Equinix, Inc. Smart contract interpreter
CN109151030B (zh) * 2018-08-24 2021-07-27 中国电子科技集团公司信息科学研究院 一种物联网物体分布式交互系统、方法
US11227350B1 (en) 2018-09-06 2022-01-18 Side, Inc. Single-tier blockchain-based system and method for document transformation and accountability via different node types
US11386375B2 (en) * 2018-09-20 2022-07-12 Software Ag Systems and/or methods for securing and automating process management systems using distributed sensors and distributed ledger of digital transactions
EP3629269A1 (en) * 2018-09-25 2020-04-01 Siemens Aktiengesellschaft Method and system for validating a transaction in a blockchain in connection with a product lifecycle
US11474854B2 (en) * 2018-10-30 2022-10-18 International Business Machines Corporation Transformation of inter-organization process for execution via blockchain
WO2020087106A1 (en) * 2018-10-31 2020-05-07 Commonwealth Scientific And Industrial Research Organisation Monitoring a manufacturing process
US10979298B2 (en) 2018-11-23 2021-04-13 International Business Machines Corporation Collaboration network and server
CN111782338B (zh) * 2018-12-12 2024-05-03 创新先进技术有限公司 一种基于区块链智能合约的数据处理方法及系统
CN111463766A (zh) * 2019-01-21 2020-07-28 广东美的制冷设备有限公司 供电保护电路板和空调器
CN110046166B (zh) * 2019-04-22 2021-06-18 网易(杭州)网络有限公司 基于区块链的定时任务调度方法及装置
WO2019170172A2 (en) * 2019-06-27 2019-09-12 Alibaba Group Holding Limited Implementing a blockchain-based workflow
CN111066047B (zh) * 2019-06-27 2024-04-19 创新先进技术有限公司 实现基于区块链的工作流
CN110445755A (zh) * 2019-07-04 2019-11-12 杭州复杂美科技有限公司 交易攻击的防御方法、设备和存储介质
CN110602227B (zh) * 2019-09-19 2021-11-23 腾讯科技(深圳)有限公司 一种智能合约管理的方法以及相关装置
US11416848B1 (en) * 2020-02-19 2022-08-16 Wells Fargo Bank, N.A. Bank-driven model for preventing double spending of digital currency transferred between multiple DLT networks using a trusted intermediary
US11526875B1 (en) 2020-02-19 2022-12-13 Wells Fargo Bank N.A. Bank-driven model for preventing double spending of digital currency coexisting on multiple DLT networks
WO2021257588A1 (en) * 2020-06-15 2021-12-23 Icecap, LLC Diamond custody system with blockchain non-fungible tokens (nfts)
CN113031968B (zh) * 2021-01-19 2022-06-14 杭州电子科技大学 编排图驱动的区块链流程执行系统及其使用方法
CN113067900B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 智能合约的部署方法及装置
CN113627752A (zh) * 2021-07-26 2021-11-09 苏州巴涛信息科技有限公司 基于区块链技术的快递物流管理方法及系统
US12095925B2 (en) 2022-01-10 2024-09-17 Red Hat, Inc. Managing standard operating procedures using distributed ledger networks
US11789937B2 (en) 2022-01-28 2023-10-17 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for exchanging data between blockchain system and non-blockchain system
CN117609102B (zh) * 2024-01-23 2024-05-28 云筑信息科技(成都)有限公司 一种建筑产业互联网造数平台系统测试方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354758A (zh) * 2007-07-25 2009-01-28 中国科学院软件研究所 整合实时数据和关系数据的系统和方法
CN102346886A (zh) * 2011-09-30 2012-02-08 北京国正信安系统控制技术有限公司 铁路应急指挥系统
US20120054716A1 (en) * 2010-08-24 2012-03-01 Thales Deployment method and device and assistance in deploying components forming an embedded real time system
CN102799515A (zh) * 2011-05-24 2012-11-28 腾讯科技(深圳)有限公司 应用程序测试方法及装置
CN103326930A (zh) * 2013-06-24 2013-09-25 青岛海信传媒网络技术有限公司 开放平台接口自动巡检方法和系统
CN103885882A (zh) * 2014-04-10 2014-06-25 国家电网公司 一种基于sap平台的测试脚本及参数整合方法
CN103927397A (zh) * 2014-05-05 2014-07-16 湖北文理学院 一种基于区块树的Web页面链接块的识别方法
US20140214668A1 (en) * 2007-01-17 2014-07-31 Eagency, Inc. Mobile communication device monitoring systems and methods
CN104320262A (zh) * 2014-11-05 2015-01-28 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US20150206106A1 (en) * 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
US20150262137A1 (en) * 2014-03-17 2015-09-17 Coinbase, Inc. Off-block chain transactions in combination with on-block chain transactions
WO2015171580A1 (en) * 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
AU2015101403A4 (en) * 2015-09-26 2015-11-19 Mura, Robert Sauto John MR "Cash In Digital Currency Out” Converting change from cash payments (e-change - Electronic Change) to Digital currency at any point of sale (POS). Cash is processed via the EFT, blockchain or Ethereum network.
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046733B2 (en) * 2007-03-16 2011-10-25 Sap Ag Method and system for process composition
US10997531B2 (en) * 2007-09-11 2021-05-04 Ciambella Ltd. System, method and graphical user interface for workflow generation, deployment and/or execution
US20090235252A1 (en) * 2008-03-17 2009-09-17 Sap Ag Execution-level process modeling
US10417314B2 (en) * 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140214668A1 (en) * 2007-01-17 2014-07-31 Eagency, Inc. Mobile communication device monitoring systems and methods
CN101354758A (zh) * 2007-07-25 2009-01-28 中国科学院软件研究所 整合实时数据和关系数据的系统和方法
US20120054716A1 (en) * 2010-08-24 2012-03-01 Thales Deployment method and device and assistance in deploying components forming an embedded real time system
CN102799515A (zh) * 2011-05-24 2012-11-28 腾讯科技(深圳)有限公司 应用程序测试方法及装置
CN102346886A (zh) * 2011-09-30 2012-02-08 北京国正信安系统控制技术有限公司 铁路应急指挥系统
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN103326930A (zh) * 2013-06-24 2013-09-25 青岛海信传媒网络技术有限公司 开放平台接口自动巡检方法和系统
US20150206106A1 (en) * 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
US20150262137A1 (en) * 2014-03-17 2015-09-17 Coinbase, Inc. Off-block chain transactions in combination with on-block chain transactions
CN103885882A (zh) * 2014-04-10 2014-06-25 国家电网公司 一种基于sap平台的测试脚本及参数整合方法
CN103927397A (zh) * 2014-05-05 2014-07-16 湖北文理学院 一种基于区块树的Web页面链接块的识别方法
WO2015171580A1 (en) * 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
CN104320262A (zh) * 2014-11-05 2015-01-28 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
AU2015101403A4 (en) * 2015-09-26 2015-11-19 Mura, Robert Sauto John MR "Cash In Digital Currency Out” Converting change from cash payments (e-change - Electronic Change) to Digital currency at any point of sale (POS). Cash is processed via the EFT, blockchain or Ethereum network.

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ALEX NORTA: "Creation of Smart-Contracting Collaborations for Decentralized Autonomous Organizations", 《HTTPS://XUESHU.BAIDU.COM/USERCENTER/PAPER/SHOW?PAPERID=651CAE325A9C470136CB3BC8D8CF3304》 *
ALEX NORTA: "eContractual choreography-language properties towards cross-organizational business collaboration", 《HTTPS://XUESHU.BAIDU.COM/USERCENTER/PAPER/SHOW?PAPERID=E749A6C05536519EAFD1B658BF7FF127&SITE=XUESHU_SE》 *
CHEHW: "比特币系统的脚本(Script)——交易生成和验证的原理(第一部分)(初稿)", 《HTTPS://WWW.8BTC.COM/ARTICLE/54601》 *
林小驰: "关于区块链技术的研究综述" *
赵龙妹: "基于P2P的虚拟电子货币比特币借贷模型研究" *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110111104A (zh) * 2019-04-23 2019-08-09 矩阵元技术(深圳)有限公司 区块链智能合约实现方法、装置、计算机设备和存储介质
WO2020258044A1 (zh) * 2019-06-25 2020-12-30 比特大陆科技有限公司 数字凭证处理方法、网关、设备、系统、介质和程序产品
CN110601856A (zh) * 2019-09-24 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据交互方法及装置
CN110601856B (zh) * 2019-09-24 2022-04-29 腾讯科技(深圳)有限公司 一种基于区块链网络的数据交互方法及装置
CN111291420A (zh) * 2020-01-21 2020-06-16 国家市场监督管理总局信息中心 一种基于区块链的分布式离链数据存储方法
CN111586149A (zh) * 2020-04-30 2020-08-25 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN111586149B (zh) * 2020-04-30 2022-11-11 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN115759955A (zh) * 2022-10-20 2023-03-07 福建师范大学 一种基于区块链的业务流程执行引擎
CN115759955B (zh) * 2022-10-20 2023-08-04 福建师范大学 一种基于区块链的业务流程执行引擎

Also Published As

Publication number Publication date
US20200327498A1 (en) 2020-10-15
WO2017161417A1 (en) 2017-09-28
AU2017239154A1 (en) 2018-11-15
AU2023201476A1 (en) 2023-04-13
CN109154885B (zh) 2023-05-12
EP3433830A4 (en) 2019-12-04
EP3433830A1 (en) 2019-01-30

Similar Documents

Publication Publication Date Title
CN109154885A (zh) 区块链平台上的业务处理执行
Sunyaev et al. Distributed ledger technology
JP7512294B2 (ja) ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法
US20220021662A1 (en) Operating system for blockchain iot devices
Kaur et al. Scalability in blockchain: Challenges and solutions
CN110400221B (zh) 数据处理方法、系统、存储介质及计算机设备
Kosba et al. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts
CN106504094B (zh) 基于区块链技术的分布式总账系统的交易撮合方法及系统
JP2024073535A (ja) ブロックチェーンを用いる論理ゲート機能の実装
EP3403213A2 (fr) Procédés et systèmes mis en oeuvre dans une architecture en réseau de noeuds susceptibles de réaliser des transactions basées sur messages
Cook et al. Blockchain: Transforming the seafood supply chain
Harshavardhan et al. Blockchain technology in cloud computing to overcome security vulnerabilities
Hossain Blockchain computing: Prospects and challenges for digital transformation
CN110490640A (zh) 用于对象分发处理的方法、装置及系统
Bryson et al. Blockchain technology for government
KR20190046486A (ko) 블록체인 기반의 가상화폐 처리 시스템 및 방법
JP2022515421A (ja) ブロックチェーン基盤の合併買収サービス提供システムおよびその動作方法
CN117616410A (zh) 计算机分片环境中的多方计算
CN109690516A (zh) 一种向用户提供产品和/或服务而不损害其隐私的基于软件的开关
Zhang et al. Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things
Bashir et al. Advanced Blockchain Development: Build highly secure, decentralized applications and conduct secure transactions
Van der Laan „Understanding Blockchain “
Rasheed et al. Blockchain mobile wallet with secure offline transactions
KR20210067177A (ko) 이기종 블록체인 간 상호연동을 지원하는 트러스트 트랜잭션 체인 생성 시스템
Zima Coincer: Decentralised trustless platform for exchanging decentralised cryptocurrencies

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
GR01 Patent grant
GR01 Patent grant