CN112703520A - 监视制造过程 - Google Patents
监视制造过程 Download PDFInfo
- Publication number
- CN112703520A CN112703520A CN201980060716.1A CN201980060716A CN112703520A CN 112703520 A CN112703520 A CN 112703520A CN 201980060716 A CN201980060716 A CN 201980060716A CN 112703520 A CN112703520 A CN 112703520A
- Authority
- CN
- China
- Prior art keywords
- numerical representation
- smart contract
- encrypted
- execution
- nominal
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 14
- 238000004519 manufacturing process Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 211
- 230000008569 process Effects 0.000 claims abstract description 168
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 53
- 238000013519 translation Methods 0.000 claims description 32
- 230000014616 translation Effects 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 230000007704 transition Effects 0.000 claims description 23
- 150000001875 compounds Chemical class 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 description 21
- 239000011159 matrix material Substances 0.000 description 12
- 238000000844 transformation Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 8
- 239000002245 particle Substances 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 239000003814 drug Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 5
- 229940079593 drug Drugs 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000008187 granular material Substances 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000010304 firing Methods 0.000 description 3
- 238000005469 granulation Methods 0.000 description 3
- 230000003179 granulation Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000002775 capsule Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000009474 hot melt extrusion Methods 0.000 description 2
- 238000003801 milling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000546 pharmaceutical excipient Substances 0.000 description 2
- 239000000843 powder Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013019 agitation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000013270 controlled release Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004090 dissolution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000012395 formulation development Methods 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007909 solid dosage form Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/048—Monitoring; Safety
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24015—Monitoring
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种监视过程。处理器创建该过程的标称操作的数值表示。该处理器然后使用同态加密来加密该数值表示以确定加密的数值表示,该加密的数值表示阻止对该数值表示的访问但允许对数值表示的计算。处理器通过使用加密的数值表示作为智能合约的计算的第一输入在区块链平台上创建智能合同而继续进行。接下来,处理器尝试使用过程的当前操作作为智能合约计算的第二输入来执行智能合约。智能合约的执行通过对加密的数值表示执行计算来生成输出结果。基于智能合约的执行的输出,处理器最终确定当前操作在标称操作之外。
Description
相关申请
本申请要求于2018年10月31日提交的澳大利亚临时申请2018904146的优先权,其通过引用整体并入本文。
技术领域
本发明涉及监视过程,并且具体地但不限于涉及监视制药厂的当前操作。
背景技术
制药是药物工业规模合成的过程。药品生产过程可分为诸如制粉、制粒、包衣、压片等一系列单元操作。在可以任何规模生产药物之前,许多工作都涉及到药物的实际配制。制剂开发科学家评价化合物的均匀性、稳定性和许多其他因素。在评价阶段之后,开发溶液以递送所需形式的药物,诸如固体、半固体、立即或控制释放、片剂或胶囊。宽范围的赋形剂可以共混在一起以产生用于制造固体剂型的最终共混物。可以共混的材料(赋形剂、API等)的范围呈现许多变量,这些变量旨在实现具有可接受的共混均匀性的产品。这些变量可以包括粒度分布(包括材料的聚集体或团块)、颗粒形状(球形、棒状、立方体、板状和不规则形状)、存在水分(或其他挥发性化合物)和颗粒表面性质(粗糙度、内聚力)。在制药过程中,通常需要研磨以减小药物粉末中的平均粒度。其原因有许多,包括增加均一性和剂量均匀性、增加生物利用度和增加药物化合物的溶解度。造粒可以描述为与研磨相反;其是将小颗粒结合在一起形成较大颗粒(称为颗粒体“granules”)的方法。使用制粒的原因有几个。制粒通过产生含有所需比例的所有组分的颗粒来防止混合物中组分的“分层”、改善了粉末的流动特性(因为小颗粒不能很好地流动),并且改善了片剂形成的压实特性。热熔融挤出可用于药物固体口服剂量加工以能够递送溶解度和生物利用度差的药物。热熔融挤出可用于将难溶性药物分子分散在聚合物载体中,提高溶出速率和生物利用度。该方法包括施加热、压力和搅拌以将材料混合在一起并将它们‘挤出’通过模具。双螺杆高剪切挤出机共混材料并同时破碎颗粒。可将所得颗粒共混并压制成片剂或填充到胶囊中。
这表明制药是复杂的并且涉及需要在它们的正确标称范围内的大量参数和需要以规定的标称顺序彼此跟随的步骤。同时,存在精益制造和数字化制造的趋势。然而,这些新的业务组织方式需要作为使能器的技术方案。特别地,存在对供应链中的多方之间的机密性的关注。当前存在确保所有实体的过程符合总体规则集的挑战。然而,同时,实际过程以及标称过程参数和标称步骤顺序不应被第三方公开。因此,需要一种计算机系统,该计算机系统位于供应链和/或制造过程的基础之下,并且能够在不公开“秘密制法”的情况下检验过程的合规性。
区块链网络提供了不依赖于任何集中式可信第三方的可信环境。区块链数据结构是由对等网络的节点维护的分布式分类账。公共分类账存储系统中发生的所有带时间戳的事务。使用分布式一致性协议来同意哪些事务应当包括在公共分类账中而哪些事务不应当包括在公共分类账中。每个事务在被包括到公共分类账中之前由所有网络参与者验证。
在多方过程中,组织可以将过程的某些部分委托给外部方。该过程的不同部分可以由不同的组织执行。通常在这种情况下,所涉及的各方之间的信任可能受到限制。在大多数情况下,关于各个业务过程的专有信息应该保持私密性。活动的执行和数据的传输受管理这些活动的条件的影响。每一方都希望确保过程的“外包”部分按照约定并根据适用的条件来执行。由于相互间的过程缺乏信任和透明度,当前的过程执行工具无法确保这种服务链上的合规性。
本说明书中已经包括的对文献、法案、材料、装置、文章等的任何讨论不应被视为承认任何或所有这些内容形成现有技术基础的一部分,或者是与本发明相关的领域中的公知常识,因为其在本申请的每个权利要求的优先权日之前存在。
在整个说明书中,词语“包括(comprise)”或诸如“包括(comprises)”或“包括(comprising)”的变化形式将被理解为意指包括所陈述的要素、整数或步骤,或要素、整数或步骤的组,但不排除任何其他要素、整数或步骤,或要素、整数或步骤的组。
发明内容
提供了一种通过监视制药厂的当前操作来制造药物化合物的方法。该方法包括:
创建制药厂的标称操作的数值表示;
使用同态加密来加密数值表示以确定加密的数值表示,该加密的数值表示阻止对数值表示的访问但允许对数值表示的计算;
使用加密的数值表示作为对智能合约的计算的第一输入而在区块链平台上创建智能合约;
尝试使用制药厂的当前操作作为对智能合约的计算的第二输入来执行智能合约,该智能合约的执行通过对加密的数值表示执行计算来产生输出结果;
基于智能合约的执行的输出,确定当前操作在标称操作之外。
用于监视过程的当前操作的方法包括:
创建过程的标称操作的数值表示;
使用同态加密来加密数值表示以确定加密的数值表示,该加密的数值表示阻止对数值表示的访问但允许对数值表示的计算;
使用加密的数值表示作为对智能合约的计算的第一输入而在区块链平台上创建智能合约;
尝试使用过程的当前操作作为对智能合约的计算的第二输入来执行智能合约,该智能合约的执行通过对加密的数值表示执行计算来生成输出结果;
基于智能合约的执行的输出,确定当前操作在标称操作之外。
确定当前操作在标称操作之外可以是响应于确定执行智能合约的失败。
该方法可以进一步包括在确定该当前操作在标称操作之外时阻止该过程的当前操作。
该方法可以进一步包括在确定该当前操作在标称操作之外时,允许进一步执行该过程并且生成指示该当前操作在该标称操作之外的报告。
创建标称操作的数值表示可以包括创建标称操作的petri网以及创建petri网的数值表示。
数值表示可指示标称运算的位置及这些位置之间的有效转化,可以包括多个二进制标称向量,且多个二进制标称向量中的每一者可表示该位置之间的有效转化中的一者。
多个二进制标称向量对于每次转化可以包括指示启用该转化的一个或多个位置的二进制预置向量和指示该转化之后的一个或多个可能位置的二进制后置向量。
创建数值表示可以包括通过位置和转化来确定多个轨迹以及确定预置向量和后置向量,使得预置向量和后置向量表示多个轨迹。
该过程的当前操作可以由二进制当前状态向量来表示,并且智能合约包括基于当前状态向量和加密的标称向量的二进制操作。
智能合约的计算可以包括基于指示操作的先前状态的先前状态向量的二进制操作。
智能合约的计算可以包括加密的先前状态向量和加密的当前状态向量之间的二进制运算。
智能合约的计算可以包括基于使用加密的后置向量的二进制运算和基于加密的后置向量的转化的选择。
智能合约的计算可以包括加密的先前状态向量和加密的当前状态向量之间的二进制AND运算以及加密的当前状态向量和AND运算的结果之间的二进制XOR运算。
智能合约的计算可以包括其中加密的后置向量与XOR运算的结果之间的AND运算的结果等于加密的后置向量的转化的选择。
智能合约的计算可以包括选择的结果等于由操作的当前状态启用的一组转化的条件。
尝试执行智能合约可以包括通过执行计算来尝试满足条件。
该智能合约可以被配置为使得该智能合约的执行的成功导致将事务集成到区块链中。
集成到区块链中的事务可以表示到当前状态的有效转化。
创建智能合约可以包括检验智能合约是否符合一组规则。
软件在由计算机执行时使计算机执行上述方法。
一种用于监视过程的当前操作的系统,包括:
数据存储器;
处理器,其被配置为:
创建该过程的标称操作的数值表示,并将所创建的数值表示存储在数据存储上;
使用同态加密来加密数值表示以确定加密的数值表示,该加密的数值表示阻止对数值表示的访问但允许对数值表示的计算;
使用加密的数值表示作为对智能合约的计算的第一输入而在区块链平台上创建智能合约;
尝试使用过程的当前操作作为对智能合约的计算的第二输入来执行智能合约,该智能合约的执行通过对加密的数值表示执行计算来生成输出结果;
基于智能合约的执行的输出,确定当前操作在标称操作之外。
附图说明
将参考以下描述本发明的示例:
图1示出了示例性系统。
图2示出了用于监视过程的当前操作的方法。
图3示出了主要智能合约和分包合约的示例情况。
图4是表示主智能合约和分包合约的示例执行的序列图。
图5a是过程规范作为petri网的示例性表示,图5b是过程的状态的数值表示的图示,图5c是过程的状态的模糊数值表示的图示。
图6a是预置状态的矩阵表示,图6b是后置状态的矩阵表示。
图7是同态加密的图示。
图8是示例性参与者计算机节点。
图9a提供了将在区块链上执行的Petri网的示例。
图9b示出了用于解释标记如何可以被转变为整数的示例性标记。
图10a显示位置升序排列。
图10b示出了与位置相对应的比特的随机化排序。
图11示出了图9a中描绘的过程的矩阵表示。
图12a示出了具有匹配的预置和后置的两个转化。
图12b示出了在添加静默τ转化之后具有匹配的预置和唯一的后置的两个转化。
具体实施方式
以下公开涉及用于执行或监视过程的当前操作的方法和系统。在一个示例中,本发明应用于除了进一步的过程步骤和进一步的参数之外还具有上述参数和顺序的制药过程。在那些示例中,术语“标称操作”是指过程变量/参数和为医药制造过程规定的步骤序列。然而,本发明同样适用于其他领域,诸如计算机系统或其他过程的入侵检测。
尽管本发明描述了Ethereum的使用,但这仅仅旨在说明区块链平台。应注意,区块链平台可基于公共分类账(可无限制地读取或访问控制)或仅可由受访问控制(诸如加密或口令保护)管辖的联盟访问的私人分类账。使用Ethereum的一个原因是它本身支持智能联系人。智能合约是Ethereum区块链上的对象,并且可以持有“eth.accounts”对象。它们包含计算机代码,并可以与其他合约交互、创建新合约、作出决策、存储数据,并将Ethereum发送给其他方。在本文献中,术语‘智能合约’可互换地用于指用于执行智能合约的代码和实际执行或执行的智能合约。为了清楚起见,在本发明中,术语“过程示例”是指由智能合约提供的执行和服务。
本发明使用术语‘区块链’来指实际区块链本身(即,具有依次添加的区块的公共共享分类账)。本发明还使用与区块链平台和区块链网络相关的术语区块链。术语‘区块链平台’旨在是指使得区块链运行的所有部件。这包括钱包、代码、事务、区块链网络以及区块链本身。本发明中使用的区块链平台的示例包括Bitcoin和Ethereum。在使用术语区块链网络(例如Ethereum区块链网络)的情况下,这旨在表示运行区块链代码的计算机能够经由诸如因特网的通信网络彼此通信。区块链网络中的计算机被称为节点,并且完整节点是区块链网络中包含整个区块链的副本的计算机。
示例性系统
图1示出了用于监视制药过程的当前操作的示例性系统100。计算机系统100包括智能合约120、执行引擎130和区块链140,该区块链140包括块142、144、146和148。
执行引擎130创建计算机系统的标称操作的数值表示134,表示标称操作的状态和状态之间的有效转化。
执行引擎130然后使用同态加密来加密136数值表示134以确定加密的数值表示182,该加密的数值表示182阻止对数值表示的访问但允许对加密的数值表示的计算。
执行引擎130使用加密的数值表示作为智能合约的第一输入来发起智能合约作为区块链平台上的过程示例。过程示例是区块链上智能合约的执行。
执行引擎130然后使用计算机系统的当前操作132作为对过程示例的第二输入来执行过程示例170,该过程示例的执行通过对加密的数值表示182执行计算来生成输出结果190。
引擎130将输出190与预期结果(应该是加密的表示184)进行匹配138。如果输出结果与预期结果不匹配,则引擎130将确定当前操作在标称操作之外。可以对在块146和块148中相应地存储在区块链中的加密表示186和188做出相同的确定。
应注意,可根据数值表示的状态序列和转化来确定过程示例170的执行次序。虽然加密的数值表示是加密的,但状态和转化的顺序将与数值表示相同。这通过利用同态加密来工作,该同态加密使得能够对加密数值执行计算,该加密数值在解密时与对该数值自身执行的计算相同。
示例性方法
图2示出了示例性方法。在该示例中,系统创建210指示标称操作的状态和状态之间的有效转化的标称操作的数值表示。然后,系统使用同态加密对数值表示加密220以确定加密的数值表示,该加密的数值表示阻止对数值表示的访问但允许对数值表示的计算。
然后,系统使用加密的数值表示作为对智能合约的第一输入在区块链平台上创建230智能合约,并使用计算机系统的当前操作作为对智能合约的第二输入尝试智能合约的执行240,其中智能合约的执行通过对加密的数值表示执行计算来生成输出结果。在步骤230中创建智能合约可以包括以区块链平台使用的语法编写智能合约的实际字符串,或者可以包括将智能合约部署到区块链平台中。
最后,系统基于智能合约的执行的输出,确定250当前操作在标称操作之外。例如,可以配置智能合约,使得当当前操作在标称操作之外时,智能合约引发异常。在另一示例中,智能合约在当前操作在标称操作内时触发对第一地址(第一公钥)的事务,并且在当前操作在标称操作之外时触发对第二地址(第二公钥)的事务。这样,系统可以检验事务并确定操作是否在标称规范之外。在又一示例中,智能合约被配置为使得它根本不执行,除非当前操作在标称规范内,并且因此系统可以在检测到要执行的智能合约的失败时指示当前操作在标称规范之外。在这个意义上,并且在当前操作在标称规范之外的情况下,系统可以允许当前操作并在其上报告,或者阻止不合规的操作。
示例性一般情形
系统的一个重要属性是:如果有效执行智能合约,则将保持在执行之前检验的智能合约的属性。这在不同方已经执行过程的不同部分的情况下或者在过程的各方面需要对过程中的其他方保持隐藏并且智能合约的一个或多个属性是诸如合规性或维护隐私的要求的情况下是有利的。即,尽管在设计期间(即在执行过程之前)检验过程的合规性,但是系统的该属性允许在执行期间验证与过程的非偏差。为了进一步说明这一点,这里提供了一个示例。
在该示例中,一方希望提供服务而不需要公开这种服务的细节。另一方希望使用该服务,但希望确保这种服务符合法规。参与该过程的每个组织都是区块链环境的一部分,因为它们可以从区块链中读取数据。
使用该系统,一方可以请求区块链验证所存储的加密处理的合规性级别,但不访问处理细节。作为使用同态加密的结果,区块链可以用于验证加密过程的合规性。
第二方可以将其加密后的输入数据发送给区块链进行处理。结果,过程的所有者不能访问正被处理的数据,区块链系统的任何用户也不能访问该数据。由于同态加密,处理加密数据是可能的。过程输出也被加密。
在区块链上执行数据的业务处理。提供执行跟踪以允许验证所选服务已被使用(无法在执行跟踪被加密时从执行跟踪推断详细信息)。如果需要,可以根据所提供的规则自动验证嵌套服务的合规性要求。
附加元素
图1中有一些可选的附加元素。下面更详细地解释这些。
过程规范
过程规范110包含过程的细节。过程规范110是过程的状态转化系统的高级描述,其可以表示为petri网。即,定义过程的转化、位置、弧线和条件(参见下文)。作为状态转化系统,这些位置对应于后来转化的条件。令牌在网络中的全组位置上的分布(即标记)描述了状态。圆弧将一个位置连接到一个转化处或将一个转化处连接到一个位置。过程规范110旨在是比智能合约更高级别的过程描述,其包含过程如何执行的代码和逻辑。
主合约和分包合约
智能合约120可以包括主智能合约和一个或多个分包合约。主智能合约包含要由每个参与者执行的过程的描述以及应用于该过程的规则。
在一个实施例中,智能合约可以包括主合约和一个或多个分包合约。主合约表示执行流程编排的逻辑或代码。这些分包合约是智能合约的子集,并且表示执行一个或多个较小功能或操作的逻辑或代码。在一些情况下,分包合约可以是单个操作。
在本发明的示例中,在单独的智能合约中捕获每次转化,该单独的智能合约在适当时由主智能合约触发。这是因为可以设想,在大多数情况下,主智能合约为要读取的每次转化触发分包合约。然而,在实践中,在主合约和分包合约之间的逻辑或代码的分配将取决于过程和参与者以及如何确定执行该过程。例如,分包合约可能是相当复杂的一组操作,甚至可能比主合约更复杂。应当注意,在大多数情况下,将存在作为分包合约的一部分的转化执行代码。
合规性规则
该智能合约可以包含一组规则,该过程将对照该组规则进行测量以用于确定合规性的目的。这些合规性规则150可以包括更多数量的规则。例如,它们可以是公司策略162或规定164,或者它们可以仅仅是定义要求各种严格遵守级别的准则的规则。例如,可能存在对隐私合规性的关注,隐私合规性是公司根据已建立的个人信息保护准则、规范或规则的遵从。由于越来越多的规则被设计成保护对个人可识别信息的未经授权的访问,隐私合规性成为越来越关注的问题。
在第一次执行之前,智能合约可由合规引擎160根据如合约中所概述的一组合规性规则150来检验合规性。如果该过程是合规的,则可以执行该过程。当跨具有多个外包提供商的服务链来构成过程时,相同的情况适用于:在第一次执行组成之前,检验整个组成是否符合适用于该组合的规则(如包含在主智能合约和相关分包合约中)。
这包括合规引擎160相对于智能合约120(以及分包合约122、124、126、128)的递归应用,该智能合约120是组成的一部分,并且给定的合规性规则150可应用于这些规则。仅明确地制定与规则相关的活动。一些对于任何人是不可见的,因为他们的内容与智能合约的合规性不相关。
重要的是要注意,要在设计时,即在执行智能合约之前,检验流程的合规性。也就是说,系统不建议直接确定正在执行的过程示例的合规性。取而代之的是,可以在设计时确定智能合约的合规性,但是在运行时可以确定该过程被有效地执行并且因此智能联系人的合规性也适用于所执行的过程。
在本文中注意到,存在合理性、顺应性和合规性的三个相关概念。假定所部署的过程是正确的(合理的,意味着其总是终止并且其每次转化均可以潜在地执行),通过智能合约在区块链上部署的过程的数值表示能够在其标称操作集内产生每次执行。通常在部署之前执行可靠性检验。假定存在合理性,则智能合约将始终执行而不会失败(外部原因除外)。
顺应性检验是指验证执行是否实际上属于过程的标称操作集的过程。非正式地,当组织采用第三方程序时需要该验证,其中仅返回执行的数值表示。通过执行这种顺应性检验,该组织可以确保执行实际上属于它实际上想要使用的过程的标称操作。
合规性旨在通过设计而合规,并且在该过程的结构上被验证,从而确保属于该标称操作的每个执行都满足所要求的规定。
这三个概念一起允许确保第三方过程符合一些给定要求。即,然后每个可能的执行遵循给定的要求,因为有可能通过顺应性检验来确保它属于该标称操作集。
执行引擎
可以通过在区块链上的执行引擎130中执行智能合约来发起过程示例170。将在执行过程示例170中找到用于执行引擎130的大部分代码和逻辑。在智能合约120由主智能合约和子合约组成的情况下,对于每个子合约可以存在与对应于主智能合约的过程示例170不同的对应过程示例。
以下是在Ethereum中作为过程示例170执行智能合约的示例。在Ethereum平台中,合约以其可执行形式作为过程示例170提供的执行和服务由Ethereum网络本身提供。只要整个网络存在,智能合约可以作为过程示例170被启动,并且过程示例170将仅在过程示例170被编程为自毁时消失。虽然未在默认情况下提供,但是Solidity-用于Ethereum的脚本语言提供了删除过程示例170的功能。
该执行引擎运行如在主智能合约中描述的过程的编排。主合约和分包合约可以是有用的,因为分包合约可以被分配和分配给过程中的参与者。在执行过程期间,参与者可以执行他们分配的分包合约。表示执行的当前状态的状态可由参与者或由过程示例写入到区块链,这取决于如何确定要执行的过程。
在Ethereum中,必须先部署智能合约才能执行。要将智能合约部署为过程示例,需要脚本的编译代码和应用程序二进制接口(ABI)。该ABI定义了如何与过程示例170交互。尽管API定义了要使用的源代码的接口,但是ABI定义了专用架构上的两个或更多软件之间的低级二进制接口。ABI定义了过程示例如何与自身交互、过程示例如何与Ethereum网络交互,以及过程示例170如何与任何代码库交互。当编译智能合约脚本时,编译器通常将产生经编译的代码和ABI两者。
在执行期间,捕捉过程状态并将其存储在区块链上,以便可追溯活动的次序。作为过程示例执行的智能合约可以根据需要操纵过程状态。因此,过程中的参与者可以执行他们的部分过程,而不必访问过程细节。
值得注意的是,有状态数据可以存储在区块链中。例如,可以存在记录和管理过程执行的主链以及捕获正在运行的过程示例的有状态数据的一个或多个侧链。如果使用侧链,则一旦过程示例的执行被终止,则有状态数据被破坏。
示例性子合约
图3示出了具有子合约的示例性情形。在该示例中,有四个参与者:参与者1310、参与者2320、参与者3330和参与者4340。每个参与者与被指派执行子合约的节点相关联。参与者1310被分配执行分包合约122、参与者2320被分配执行分包合约124、参与者3330被分配执行分包合约126、参与者4340被分配执行分包合约128。主智能合约120包含每个分包合约要执行的触发器。触发器指示参与者可以执行相关的分包合约。
假定区块链系统工作的方式,分包合约可以作为它自己的过程示例在区块链上执行。分包过程示例可以在返回到主过程示例用于进一步执行之前简单地等待来自相关参与者的消息。在这种意义上,分包过程示例可以简单地确保转化发生,并且状态的任何变化都反映在区块链上,但是参与者可以执行适合于该过程的适当执行的任意数量的链外代码。例如,参与者1可能被分派返回符合要求私人数据不可识别的遵守规则的编辑的私人数据的任务,但是参与者1如何进行私人数据的编辑取决于参与者1。
使用子合约的示例性执行
图4示出了如何执行上述操作的序列图。执行引擎120可以将智能合约作为过程示例170执行402。对于智能合约中的每次转化,都有相关的触发器。在这种情况下,第一转化触发404参与者310执行406分包合约122。一旦发生了分包合约122的执行,即触发408参与者320执行410分包合约124。类似地,124的完成执行触发412参与者330执行414分包合约126。126的完成执行触发了分包合约128的执行。
一旦该分包合约已经完成执行,则触发器420就向参与者330指示该执行已经完成。类似地,触发器422向参与者320指示执行已经完成,参与者320然后触发参与者310以指示执行已经完成。最后,参与者310向执行引擎指示该过程已经完成120。
上述示例仅说明分包合约的执行可能发生的一种方式。在另一个示例中,执行引擎可以触发每个参与者而不是参与者本身。
数值表示
在形式意义上,状态转化系统是一对(S,→)系统,其中S是状态集,并且→是状态转化集(即,S×S的子集)。从状态p到状态q的转化(即,(p,q)∈→)被写为p→q。标记的转化系统是元组(S,Λ,→),其中S是一组状态,Λ是一组标记并且→是一组标记的转化(即,标记为S×Λ×S的子集)。这表示存在从具有标签α的状态p到状态q的转化。标签可以代表不同的东西。标签的典型使用包括表示预期输入、必须为真以触发转化的条件,或在转化期间执行的动作。
标称操作可以由Petri网表示。Petri网是节点由位置和转化组成的有向双图。位置代表条件。令牌在网络中的位置全集上的分布描述了状态。转化系统中的转化表示从一个状态到下一个状态的移动。在Petri网中,转化可以表示任务,或者转化可以是“静默”(“tau”转化)转化,这意味着它不对应于任务,而是用于实施某个控制流。这种任务的执行导致由新标记表示的新状态。Petri网可以转化为状态转化系统,反之亦然。
标记的Petri网可以由元组(P,T,A,λ)来定义,其中:P是一组位置,T是一组转化,使得 是一组弧,λ:T→L∪{τ}是标记函数,其中L是一组标记。如果其对应的标签是τ,则转化被称为无声的(表示内部的、不可观察的系统行为)。Petri网状态(也称为网标记M:P→N0)是将每个位置与自然数(即,位置令牌)相关联的函数。被标记的网络N=(P,T,A,λ,M0)是与初始标记M0一起的Petri网(P,T,A,λ)。
位置和转化被称为节点。节点的预置由·y={x∈P∪T|(x,y)∈A}表示,节点的后置由y·={z∈P∪T|(y,z)∈A}表示。A+和A*分别表示A的无反射和反射的传递闭包。
Petri网的执行语义用标记定义如下。如果则称t为被启用。由表示的t的点火导致新的标记M',如果p∈·t\t·则M'(p)=M(p)-1,如果p∈t·\·t则M'(p)=M(p)+1,否则M'(p)=M(p)。如果存在转化点火序列σ=t1t2...tn,使得则标记Mn被称为是从M可到达的。如果则网的标记M是n安全的。如果Petri网的所有可到达标记都是n安全的,则它是n安全的。本发明使用1-安全网。
可通过将预置和后置数转化为如下所示的数值来获得数值表示。在过程示例中的任何给定点,令牌在位置上的分布表示执行状态。因此,将过程示例的过程状态存储在区块链上,作为表示表示智能合约的petri网的标记的加密的整数。
利用petri网的一个结果是,当基础过程未知(例如,由未授权方)时,状态本身不能被反向破解,因为每个状态被转变成整数,这在不知道基础petri网的情况下是无意义的。
Petri网的一个重要方面是可以用数值表示令牌(即标记)的分布。在一个示例中,数值表示可以是已被标记为1’s的位置和未被标记为0s的位置的二进制表示。
图5a是可以在区块链上执行的petri网的一个示例。在该示例中,存在多个位置508、510、512、514、516、518、520、522和524。状态508是初始位置,而状态524是最终位置。如在图5a中可见,状态510、512、514、516形成与位置518、520和522并行的执行分支。还存在多个转化530、532、534、536、538、540和542。该方法的目的是跟踪区块链上的后续位置(即,Petri网标记),使得熟悉该过程的任何人可以及时地识别给定点处的Petri网状态,而其他人则不能。也就是说,可以保持过程的私密性。
图5b是标记如何转变为整数的示例。图5b示出了位置的升序。每个位置由位阵列中的一位表示。每当该位置包含令牌时,将对应的位设置为1,否则设置为0。因此,如果petri网5a的执行当前处于状态{512,518},这将对应于等于36的整数。然而,当位置按升序排列时,在实际上不知道底层过程的情况下,很容易识别几个状态。例如,状态1指示初始状态,并且如果没有观察到高于256的状态,则256表示最终状态。为了解决这个问题,图5c随机化对应于位置的位的次序,使得位转变不能被反向破解为针对任何状态的专用活动的执行。在该示例中,标记{512,518}对应于等于5的整数。
验证状态更改
在更复杂的变型中,智能合约中过程的执行状态可以表示为矩阵。图8a示出了示例性矩阵。该矩阵表示所有转化预置,这些转化预置是到转化的输入位置。图8b表示所有的转化后置集,它们是到转化的输出位置。以这种方式利用矩阵,可以确定哪些位置是用于转化的有效输出位置,并因此确定过程的执行是否以有效的顺序发生。注意,每一列矩阵不涉及过程中的“状态”,因为它仅通过在矩阵中具有1而不是0来指示哪些位置处于转化的预置中。预置中的所有位置都需要令牌来启用转化。然而,当某个转化T被启用(即,它可以执行)时,可能有更多的位置具有令牌。因为这些位置不在T的预置中,所以它们与T的启用和点火无关。可以存在同时(部分地)“填充”预置的多个转化。这允许识别区块链上的后续执行是否是有效的(即,它们是否被Petri网所允许)。
如果执行状态当前处于状态S1{512,518}。状态向量
Vs1=[0,0,1,0,0,1,0,0,0]
可以产生表示反映当前状态的标记。可通过由状态向量执行图6a中的每一列的二进制运算来确定处于此状态的启用转化集。转化向量
VT1=[0,0,1,0,1,0,0]
表示在状态S1下启用的转化T1{534,538}。
如上所述,过程规范110可界定过程的有效状态和转化,且过程规范110可用于验证过程的执行。即,过程的执行状态中的每一者是否在过程规范110的有效状态内以及在相应状态处的启用转化中的每一者是否为过程规范110的有效启用转化。
为了识别一对后续状态是否由有效转化引起,可以执行以下检验。状态S2由向量Vs2=[0,0,1,0,0,0,0,1,0]表示,
其表示在S1之后的下一个状态。诸如图6b中的后置集可以用于确定在S1和S2之间执行的转化的后置集。随后,可以确定为了获得新状态S2而执行的一组转化。如果所执行的该组转化与T1不匹配,则从状态S1到状态S2的移动构成过程规范110所不允许的一个或多个转化的执行。
同态加密
同态加密是允许对密文进行计算的加密形式,生成加密结果,该加密结果在解密时与操作的结果相匹配,就好像它们是在明文上执行的一样。同态加密的目的是允许对加密数据进行计算。
在本发明中,优选使用同态加密对过程状态进行加密,使得过程状态对过程的所有者可用,但对过程的其他参与者不可用。
图7表示同态加密工作方式的图示。数值表示710可被加密712成加密的数值表示720。可以对加密的数值表示720执行操作714,以产生修改的加密的数值表示730。修改的加密数值表示730可被解密716以产生输出740,这相当于对数值表示710执行相同的操作714。
在图7中,虚线750表示用于公开共享数值表示的边界。即,加密的数值表示720和修改的加密的数值表示730可以公开共享。此外,还可以公开地修改714加密的数值表示720。在本发明中,可以对过程的状态进行加密和修改。也就是说,处理状态可以在执行该处理的过程中改变,但不会揭示该处理的细节或处理状态本身。只有那些能够解密加密的数值表示的参与者能够确定过程或过程状态的细节。
本发明考虑了三种同态加密:加法同态、乘法同态和完全同态。加法同态加密中操作714是加法操作。类似地,乘法同态加密中操作714是乘法操作。全同态加密中操作714是任意的。给定状态可以简单地通过基本操作容易地修改为另一状态的方式,加法同态加密是全部需要的。然而,乘法和全同态加密也可以起作用。
示例性参与者
过程中的每个参与者可能需要能够与区块链系统交互的计算机节点。一个这样的计算机节点在图8中示出。该节点包括经由总线804彼此通信的处理器802、存储器810、区块链接口装置806和网络接口装置807。存储器存储用于参考图1到图7描述的系统和过程的指令812、814和816以及数据,并且处理器执行来自存储器的指令以实现这些过程。
处理器802执行存储在存储器810上的指令。处理器802通过确定来自网络接口装置806的区块链上的状态变化来接收触发。处理器802根据指令模块812确定指令,该指令可以包括执行与过程示例170通信的分包合约或功能。处理器可以执行存储模块814中的指令以将数据存储在区块链上。处理器802可以执行存储在接口模块816中的指令以与接口807进行通信,从而与其他参与者进行接口而不必利用区块链。
进一步的示例
如上所述,过程状态被表示为数值表示,诸如比特集。过程的每个后续状态(表示为Petri网标记)以由处理器802创建的智能合约的形式存储在区块链上,使得可以监视过程的执行。为了确保当基础过程是未知的时(例如,由未授权方执行),状态本身不能被反向破解,每个状态被转变成整数(也是数值表示的一部分),这在不知道基础Petri网的情况下是无意义的。
图9a提供了表示要在区块链上执行的过程的标称(即,合规的)操作的Petri网的示例。这里的挑战是跟踪区块链上的后续状态(即Petri网标记),使得熟悉该过程的任何人(即能够访问未加密的数据)能够在给定的时间点识别Petri网状态,而其他人(即不访问未加密的数据)则不能。另外,目的是避免密钥分配问题,意味着该方法避免了对状态本身的加密。因此,在此公开了一种将给定Petri网标记转变成整数形式的数值表示的方法,在不知道基础过程的情况下,该方法不能用于导出后续过程步骤或者甚至过程的实际状态。
图9b示出了用于解释如何将标记转变为整数的示例性标记。图10a示出了位置升序排列。每个位置由位阵列中的一位表示。每当该位置包含令牌时,将对应的位设置为1,否则设置为0。因此,所示标记{p3,p6}对应于等于36的整数。然而,当位置按升序排列时,在实际上不知道底层过程的情况下,很容易识别几个状态。例如,状态1指示初始状态,并且如果没有观察到高于256的状态,则256表示最终状态。为了解决这个问题,图10b随机化对应于位置的位的次序,使得位转变不能被反向破解为针对任何状态的专用活动的执行。在该示例中,标记{p3,p6}对应于等于的5整数。
下面的表1示出了基于图10b的转化的Petri网的执行的后续标记以及对应的状态表示的示例。执行<A,B,C,E,D,F,G>的后续状态的阵列将是[32,20,5,68,66,258,384]。
表1
当执行C和E被交换时,后续状态的阵列将是[32,20,5,3,66,258,384],如下表2所示。请注意,只有一个状态不同。此外,容易检验“不可能的”状态,即构成底层Petri网不允许的标记的状态(例如{p2})。
转化 | 标记 | 位阵列 | 状态 |
-- | {p<sub>1</sub>} | 000100000 | 32 |
A | {p<sub>2</sub>,p<sub>6</sub>} | 000010100 | 20 |
B | {p<sub>3</sub>,p<sub>6</sub>} | 000000101 | 5 |
E | {p<sub>3</sub>,p<sub>7</sub>} | 000000011 | 3 |
C | {p<sub>4</sub>,p<sub>7</sub>} | 001000100 | 66 |
D | {p<sub>5</sub>,p<sub>7</sub>} | 100000010 | 258 |
F | {p<sub>5</sub>,p<sub>8</sub>} | 110000000 | 384 |
G | {p<sub>9</sub>} | 000001000 | 8 |
表2
以下描述提供了模拟过程执行的比特集操作。然后,比特集操作可被编码为区块链上的智能合约。图11示出了图9a中描绘的过程的矩阵表示。列表示转化,其中1’s表示每次转化的预置或后置集中的哪个位置(行)。
子矩阵A表示所有的预置,而子矩阵B表示后置。考虑如下表所示的状态向量C,其表示在某个时间点的过程的状态。即,向量C表示启用C和E的标记。
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | p<sub>7</sub> | p<sub>8</sub> | p<sub>9</sub> |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
表4
随后,由状态向量C对A中的每一列i进行二进制运算,生成一组启用的转化E,如下所示:
下表示出了指示在状态C的启用的转化的向量E:
A | B | C | D | E | F | G |
0 | 0 | 1 | 0 | 1 | 0 | 0 |
表5
为了识别一对后续状态是否由有效转化引起,可以执行以下检验。假设我们具有在表4的C之后的后续状态C2(表6中所示)。
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | p<sub>7</sub> | p<sub>8</sub> | p<sub>9</sub> |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
表6:向量C2。
p<sub>1</sub> | p<sub>2</sub> | p<sub>3</sub> | p<sub>4</sub> | p<sub>5</sub> | p<sub>6</sub> | p<sub>7</sub> | p<sub>8</sub> | p<sub>9</sub> |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
接下来,处理器802获得被点火以获得新标记的一组转化:
这意味着存储在A和B中的过程的数值表示被用作编码上述等式的智能合约的计算的输入。更具体地,上述等式(以及智能合约)包括基于当前状态向量C2(用于计算)和标称向量Bi的二进制AND运算。类似地,该计算也基于先前的状态向量C.。
具有匹配的前置和后置的转化
上述状态转化方法在每次转化具有唯一的预置对和后置对的示例中表现良好。即,针对·ti=·tj∧ti·=tj·不存在两个转化ti和tj。然而,图12a示出了一个示例,其中简单的XOR分割和随后的XOR结合已经违反了这个假设,其中A和B共享相同的预置(即p1)和相同的后置(即p2)。
因此,从标记{p1}到{p2}的状态转化不提供A或B是否已经执行的任何信息。可以通过向每个排他分支添加所谓的静默或τ转化来解决该问题,使得每个可见的转化(即A和B)具有唯一的后置。图12b以图形方式示出了这个思想,其中A·={p3}和B·={p4}。
本领域技术人员将理解,在不脱离本发明的广泛一般范围的情况下,可以对上述实施例进行许多变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而不是限制性的。
本领域技术人员将理解,在不脱离本发明的广泛一般范围的情况下,可以对上述实施例进行许多变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而不是限制性的。
Claims (22)
1.一种通过监视制药厂的当前操作来制造药物化合物的方法,所述方法包括:
创建所述制药厂的标称操作的数值表示;
使用同态加密来加密所述数值表示以确定加密的数值表示,所述加密的数值表示阻止对所述数值表示的访问但允许对所述数值表示的计算;
使用所述加密的数值表示作为对智能合约的计算的第一输入而在区块链平台上创建智能合约;
尝试使用所述制药厂的当前操作作为对所述智能合约的所述计算的第二输入来执行所述智能合约,所述智能合约的执行通过对所述加密的数值表示执行所述计算来产生输出结果;
基于所述智能合约的所述执行的所述输出,确定所述当前操作在所述标称操作之外。
2.一种用于监视过程的当前操作的方法,所述方法包括:
创建所述过程的标称操作的数值表示;
使用同态加密来加密所述数值表示以确定加密的数值表示,所述加密的数值表示阻止对所述数值表示的访问但允许对所述数值表示的计算;
使用所述加密的数值表示作为对智能合约的计算的第一输入而在区块链平台上创建智能合约;
尝试使用所述过程的当前操作作为对所述智能合约的所述计算的第二输入来执行所述智能合约,所述智能合约的执行通过对所述加密的数值表示执行所述计算来生成输出结果;
基于所述智能合约的所述执行的输出,确定所述当前操作在所述标称操作之外。
3.根据权利要求2所述的方法,其中,确定所述当前操作在所述标称操作之外是响应于确定执行所述智能合约的失败。
4.根据权利要求2或3所述的方法,进一步包括在确定所述当前操作在所述标称操作之外时阻止所述过程的当前操作。
5.根据权利要求2或3所述的方法,进一步包括在确定所述当前操作在所述标称操作之外时,允许进一步执行所述过程并且生成指示所述当前操作在所述标称操作之外的报告。
6.根据前述权利要求中任一项所述的方法,其中,创建所述标称运算的数值表示包括创建所述标称运算的petri网并且创建所述petri网的数值表示。
7.根据前述权利要求中任一项所述的方法,其中,所述数值表示
指示所述标称操作的位置和所述位置之间的有效转化,
包括多个二进制标称向量,以及
多个二进制标称向量中的每一者表示位置之间的有效转化之一。
8.根据权利要求7所述的方法,其中,所述多个二进制标称向量对于每次转化包括指示启用所述转化的一个或多个位置的二进制预置向量和指示所述转化之后的一个或多个可能位置的二进制后置向量。
9.根据权利要求7或8所述的方法,其中,创建所述数值表示包括确定穿过所述位置和转化的多条迹线,并且确定所述预置向量和后置向量,使得所述预置向量和后置向量表示所述多条迹线。
10.根据权利要求7至9中任一项所述的方法,其中,所述过程的当前操作由二进制当前状态向量表示,并且所述智能合约包括基于所述当前状态向量和所述加密的标称向量的二进制操作。
11.根据权利要求10所述的方法,其中,所述智能合约的计算包括基于指示所述操作的先前状态的先前状态向量的二进制操作。
12.根据权利要求11所述的方法,其中,所述智能合约的计算包括加密的先前状态向量与加密的当前状态向量之间的二进制运算。
13.根据权利要求12所述的方法,其中,所述智能合约的计算包括基于使用加密的后置向量的二进制运算和基于所述加密的后置向量的转化选择。
14.根据权利要求12或13所述的方法,其中,所述智能合约的计算包括加密的先前状态向量与加密的当前状态向量之间的二进制AND运算以及所述加密的当前状态向量与所述的结果之间的二进制XOR运算。
15.根据权利要求14所述的方法,其中,所述智能合约的计算包括转化的选择,其中,所述加密的后置向量与所述XOR运算的结果之间的AND运算的结果等于所述加密的后置向量。
16.根据权利要求13或15所述的方法,其中,所述智能合约的计算包括以下条件:所述选择的结果等于由所述操作的当前状态启用的一组转化。
17.根据权利要求14所述的方法,其中,尝试执行所述智能合约包括通过执行所述计算来尝试满足条件。
18.根据前述权利要求中任一项所述的方法,其中,所述智能合约被配置为使得所述智能合约的执行的成功导致将事务整合到所述区块链中。
19.根据权利要求18所述的方法,其中,集成到所述区块链中的所述事务表示向所述当前状态的有效转化。
20.根据前述权利要求中任一项所述的方法,其中,创建所述智能合约包括针对一组规则检验所述智能合约的合规性。
21.一种软件,当由计算机执行时,使所述计算机执行前述权利要求中任一项所述的方法。
22.一种用于监视过程的当前操作的系统,所述系统包括:
数据存储器;
处理器,被配置为:
创建所述过程的标称操作的数值表示,并将所述所创建的数值表示存储在数据存储上;
使用同态加密来加密所述数值表示以确定加密的数值表示,所述加密的数值表示阻止对所述数值表示的访问但允许对所述数值表示的计算;
使用所述加密的数值表示作为对所述智能合约的计算的第一输入,在所述区块链平台上创建智能合约;
尝试使用所述过程的所述当前操作作为对所述智能合约的计算的第二输入来执行所述智能合约,所述智能合约的执行通过对所述加密的数值表示执行计算来生成输出结果;
基于所述智能合约的所述执行的输出,确定所述当前操作在所述标称操作之外。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2018904146 | 2018-10-31 | ||
AU2018904146A AU2018904146A0 (en) | 2018-10-31 | Monitoring a manufacturing process | |
PCT/AU2019/051158 WO2020087106A1 (en) | 2018-10-31 | 2019-10-23 | Monitoring a manufacturing process |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112703520A true CN112703520A (zh) | 2021-04-23 |
Family
ID=70461764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980060716.1A Pending CN112703520A (zh) | 2018-10-31 | 2019-10-23 | 监视制造过程 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12088716B2 (zh) |
EP (1) | EP3874432B1 (zh) |
JP (1) | JP7434304B2 (zh) |
CN (1) | CN112703520A (zh) |
AU (1) | AU2019373402B2 (zh) |
WO (1) | WO2020087106A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11362805B2 (en) * | 2018-11-01 | 2022-06-14 | International Business Machines Corporation | Database encryption layer |
WO2020177883A1 (en) * | 2019-03-06 | 2020-09-10 | NEC Laboratories Europe GmbH | Turing-complete smart contracts for cryptocurrencies |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273759A (zh) * | 2017-05-08 | 2017-10-20 | 上海点融信息科技有限责任公司 | 用于保护区块链数据的方法、设备以及计算机可读存储介质 |
CN107707410A (zh) * | 2017-10-26 | 2018-02-16 | 上海点融信息科技有限责任公司 | 配置系统审计服务的方法、信息处理装置及可读存储介质 |
CN107943580A (zh) * | 2017-11-13 | 2018-04-20 | 上海点融信息科技有限责任公司 | 用于管理区块链节点处的用户智能合约的方法以及设备 |
US20180218176A1 (en) * | 2017-01-30 | 2018-08-02 | SALT Lending Holdings, Inc. | System and method of creating an asset based automated secure agreement |
CN108632293A (zh) * | 2018-05-16 | 2018-10-09 | 山东建筑大学 | 基于区块链技术的建筑设备物联网系统与方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671874B1 (en) * | 2000-04-03 | 2003-12-30 | Sofia Passova | Universal verification and validation system and method of computer-aided software quality assurance and testing |
JP4734024B2 (ja) * | 2005-05-12 | 2011-07-27 | 新日本製鐵株式会社 | 熱間圧延工場の加熱・圧延スケジュール作成装置、作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 |
US20180094953A1 (en) | 2016-10-01 | 2018-04-05 | Shay C. Colson | Distributed Manufacturing |
JP6260442B2 (ja) * | 2014-05-02 | 2018-01-17 | 富士通株式会社 | 情報処理方法及びプログラム |
US10484168B2 (en) * | 2015-03-02 | 2019-11-19 | Dell Products L.P. | Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger |
WO2017042702A1 (en) * | 2015-09-07 | 2017-03-16 | Karamba Security | Context-based secure controller operation and malware prevention |
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 |
US20200327498A1 (en) * | 2016-03-21 | 2020-10-15 | National Ict Australia Limited | Business Process Execution on a Blockchain Platform |
CN109923521A (zh) * | 2016-10-28 | 2019-06-21 | 区块链控股有限公司 | 用于经由区块链实施确定性有限自动机(DFAs)的系统和方法 |
US10769869B2 (en) * | 2018-06-27 | 2020-09-08 | International Business Machines Corporation | Self-driving vehicle integrity management on a blockchain |
WO2020047578A1 (en) * | 2018-09-05 | 2020-03-12 | Commonwealth Scientific And Industrial Research Organisation | "a monitor for a multi-parameter manufacturing process" |
-
2019
- 2019-10-23 EP EP19879431.5A patent/EP3874432B1/en active Active
- 2019-10-23 WO PCT/AU2019/051158 patent/WO2020087106A1/en unknown
- 2019-10-23 CN CN201980060716.1A patent/CN112703520A/zh active Pending
- 2019-10-23 AU AU2019373402A patent/AU2019373402B2/en active Active
- 2019-10-23 JP JP2021520221A patent/JP7434304B2/ja active Active
- 2019-10-23 US US17/288,142 patent/US12088716B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218176A1 (en) * | 2017-01-30 | 2018-08-02 | SALT Lending Holdings, Inc. | System and method of creating an asset based automated secure agreement |
CN107273759A (zh) * | 2017-05-08 | 2017-10-20 | 上海点融信息科技有限责任公司 | 用于保护区块链数据的方法、设备以及计算机可读存储介质 |
CN107707410A (zh) * | 2017-10-26 | 2018-02-16 | 上海点融信息科技有限责任公司 | 配置系统审计服务的方法、信息处理装置及可读存储介质 |
CN107943580A (zh) * | 2017-11-13 | 2018-04-20 | 上海点融信息科技有限责任公司 | 用于管理区块链节点处的用户智能合约的方法以及设备 |
CN108632293A (zh) * | 2018-05-16 | 2018-10-09 | 山东建筑大学 | 基于区块链技术的建筑设备物联网系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2022504825A (ja) | 2022-01-13 |
EP3874432A4 (en) | 2022-08-03 |
WO2020087106A1 (en) | 2020-05-07 |
EP3874432B1 (en) | 2023-09-20 |
US12088716B2 (en) | 2024-09-10 |
US20210385084A1 (en) | 2021-12-09 |
JP7434304B2 (ja) | 2024-02-20 |
AU2019373402A1 (en) | 2021-01-07 |
EP3874432A1 (en) | 2021-09-08 |
AU2019373402B2 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110612697B (zh) | 用于高效信息检索的数据存储层索引的方法和系统 | |
Alblooshi et al. | Blockchain-based ownership management for medical IoT (MIoT) devices | |
JP7149445B2 (ja) | ブロックチェーンのための暗号化データ共有管理 | |
CN109074579A (zh) | 使用分布式散列表和区块链保护计算机软件的方法及系统 | |
CN113114476B (zh) | 基于合约的隐私存证方法及装置 | |
CN111476573B (zh) | 一种账户数据处理方法、装置、设备及存储介质 | |
Marangappanavar et al. | Inter-planetary file system enabled blockchain solution for securing healthcare records | |
CN105515763A (zh) | 用于经由逻辑门加密来提高机密性的系统和方法 | |
CN112703520A (zh) | 监视制造过程 | |
CN106209346A (zh) | 白盒密码技术交错查找表 | |
CN114978664A (zh) | 一种数据共享方法、装置及电子设备 | |
TWI845490B (zh) | 用於增強型比特幣錢包的電腦實施系統與方法 | |
Brandao | Cloud computing security | |
CN112104749B (zh) | 一种基于区块链的条码标签生命周期管理方法和装置 | |
HamithaNasrin et al. | A Review on Implementation Techniques of Blockchain enabled Smart Contract for Document Verification | |
Sravanthi et al. | An Efficient Multi-User Groupwise Integrity CP-ABE (GI-CPABE) for Homogeneous and Heterogeneous Cloud Blockchain Transactions. | |
CN114048510A (zh) | 一种基于区块链的中药材溯源数据隐私保护方法及系统 | |
Chen et al. | Privacy Protection Method of Document Management Based on Homomorphic Encryption on the Fabric Platform | |
shaher Alslman et al. | Exchanging digital documents using blockchain technology | |
Chen et al. | TeeSwap: private data exchange using smart contract and trusted execution environment | |
El-Zawawi et al. | A database watermarking service with a trusted authority architecture for cloud environment | |
CH | Design a decentralized secure access control network using blockchain on a cloud platform | |
CN118606988A (zh) | 一种基于隐私计算的物流数据资产安全处理方法 | |
KALPANA et al. | KEY AGGREGATE SEARCHABLE ENCRYPTION FOR GROUP DATA SHARING VIA CLOUD STORAGE | |
Pawar et al. | Survey of Traditional and Blockchain-based EHR system |
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 |