CN116882994A - 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 - Google Patents
一种为智能合同提供经证实、可审计和不可变输入的方法和系统 Download PDFInfo
- Publication number
- CN116882994A CN116882994A CN202310877298.3A CN202310877298A CN116882994A CN 116882994 A CN116882994 A CN 116882994A CN 202310877298 A CN202310877298 A CN 202310877298A CN 116882994 A CN116882994 A CN 116882994A
- Authority
- CN
- China
- Prior art keywords
- transaction
- processing server
- value
- hash
- blockchain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 159
- 238000012795 verification Methods 0.000 claims description 32
- 238000012986 modification Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 40
- 230000009471 action Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 23
- 238000004590 computer program Methods 0.000 description 10
- 238000010200 validation analysis Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/388—Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
-
- 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/3247—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 involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种为智能合同提供经证实、可审计和不可变输入的方法和系统。一种将可审计的不可变数据发布到区块链的方法,包括:接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个交易值至少包括交易散列;接收与包括在区块链中的区块之中的特定交易散列关联的数据文件,其中所述数据文件包括一个或多个变量;修改包括在所述数据文件中的所述一个或多个变量中的至少一个变量;通过把一个或多个散列算法应用于修改后的数据文件,生成新的散列值;至少基于生成的新的散列值和所述特定交易散列,生成新的交易值;对生成的新的交易值进行数字签名;和以电子方式传送经签名的新的交易值。
Description
本申请是国际申请日为2017年10月26日、国家申请号为201780081308.5、发明名称为“一种为智能合同提供经证实、可审计和不可变输入的方法和系统”的进入中国国家阶段的PCT申请的分案申请。
相关申请的引用
本申请要求2016年12月28日提交的美国专利申请No.15/392,108的优先权。该申请的整个内容通过引用包含在本文中。
技术领域
本公开涉及将不可变数据发布到由输入组成的区块链,就所述输入来说,智能合同的输入的结果是确定性的,从而使得能够证实和审计关联交易的执行。
背景技术
随着技术的进步和变得更加复杂,企业、个人和其他实体经常寻找方法来改进他们如何做生意和彼此沟通。计算技术彻底改变这一局面的一个因素是两个实体之间的交易的进行。由于各种原因,在两个实体之间可发生交易:往来付款、购买商品或服务、数据交换、获取财产、合同对价等。在许多情况下,计算技术可提供实体可证明或验证交易及与交易关联的数据,以及进行与之相关的通信的平台。例如,与物理递送相比,通过计算设备发送资金可以明显更快地进行。
然而,计算设备和电子通信有时可能受到危害,使实体及其财产处于危险之中。已经开发了一些方法来帮助保护这些通信,比如对数据消息加密和安全通信通道和协议。类似地,开发了保护数据的存储的方法。一种这样的方法是使用区块链,在区块链中,链是去中心化的,并且存储在其中的数据是不可变的,从而提供在特定时间的数据(比如特定合同条款的约定之类)的可靠证据。
然而,尽管区块链可用于证实约定或者与交易的计划或发起相关的其他数据,不过,区块链目前缺乏证实和审计这种交易的执行的能力。即,关于如何将区块链用于这一目的存在技术挑战。从而,需要一种利用区块链来审计和证实与交易关联的动作的执行的技术解决方案。
发明内容
本公开提供了一种用于将可审计的不可变数据发布到区块链并对其进行审计和验证的系统和方法的描述。智能合同的输入存储在区块链中并且是不可变的,并且使得基于智能合同的性质和关联的输入,智能合同的输出是确定性的。结果,希望验证与智能合同相关的执行的实体可以能够生成预期的输出,以用于审计和验证所述执行。此外,通过将与这种执行相关的数据发布到区块链,还可以对进一步的执行进行审计和验证,使两个或更多个实体之间的交易的整个执行的准确捕捉、审计和证实成为可能。
一种将能审计的不可变数据发布到区块链的方法,包括:通过处理服务器的接收设备,接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个交易值至少包括交易散列;通过处理服务器的接收设备,接收与包括在区块链中的区块之中的特定交易散列关联的数据文件,其中所述数据文件包括一个或多个变量;通过处理服务器的数据修改模块,修改包括在所述数据文件中的所述一个或多个变量中的至少一个变量;通过处理服务器的散列模块,通过把一个或多个散列算法应用于修改后的数据文件,生成新的散列值;通过处理服务器的生成模块,至少基于生成的新的散列值和所述特定交易散列,生成新的交易值;通过处理服务器的签名模块,对生成的新的交易值进行数字签名;和通过处理服务器的传送设备,以电子方式传送经签名的新的交易值。
一种审计和验证发布到区块链的确定性数据的方法,包括:通过处理服务器的接收设备,接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个区块头部至少包括时间戳,并且每个交易值至少包括交易散列;通过处理服务器的查询模块,对区块链执行第一查询以识别第一交易值,其中第一交易值与可执行脚本关联;通过处理服务器的处理器,使用多个预定输入值执行所述可执行脚本,以接收至少一个输出变量;通过处理服务器的散列模块,至少基于所述多个预定输入值和所述至少一个输出变量,生成散列值;通过处理服务器的生成模块,至少基于生成的散列值和包括在第一交易值中的交易散列,生成新的交易值;和通过处理服务器的验证模块,验证包括在区块链中的区块之中的第二交易值,其中第二交易值对应于生成的所述新的交易值。
一种将可能计的不可变数据发布到区块链的系统,包括:处理服务器的接收设备,所述接收设备被配置成接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个交易值至少包括交易散列,和与包括在区块链中的区块之中的特定交易散列关联的数据文件,其中所述数据文件包括一个或多个变量;处理服务器的数据修改模块,所述数据修改模块被配置成修改包括在所述数据文件中的所述一个或多个变量中的至少一个变量;处理服务器的散列模块,所述散列模块被配置成通过把一个或多个散列算法应用于修改后的数据文件,生成新的散列值;处理服务器的生成模块,所述生成模块被配置成至少基于生成的新的散列值和所述特定交易散列,生成新的交易值;处理服务器的签名模块,所述签名模块被配置成对生成的新的交易值进行数字签名;和处理服务器的传送设备,所述传送设备被配置成以电子方式传送经签名的新的交易值。
一种审计和验证发布到区块链的确定性数据的系统,包括:处理服务器的接收设备,所述接收设备被配置成接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个区块头部至少包括时间戳,并且每个交易值至少包括交易散列;处理服务器的查询模块,所述查询模块被配置成对区块链执行第一查询以识别第一交易值,其中第一交易值与可执行脚本关联;处理服务器的处理器,所述处理器被配置成使用多个预定输入值执行所述可执行脚本,以接收至少一个输出变量;处理服务器的散列模块,所述散列模块被配置成至少基于所述多个预定输入值和所述至少一个输出变量,生成散列值;处理服务器的生成模块,所述生成模块被配置成至少基于生成的散列值和包括在第一交易值中的交易散列,生成新的交易值;和处理服务器的验证模块,所述验证模块被配置成验证包括在区块链中的区块之中的第二交易值,其中第二交易值对应于生成的所述新的交易值。
附图说明
根据结合附图阅读的例证实施例的以下详细说明,可最好地理解本公开的范围。附图中:
图1是图解说明按照例证实施例的用于将与交易相关的可审计数据发布到区块链,并对其进行审计和验证的高级系统架构的方框图。
图2是图解说明按照例证实施例的,用于利用智能合同的不可变输入的区块链中的交易数据的发布、审计和验证的图1的系统中的处理服务器的方框图。
图3是图解说明按照例证实施例的图1的系统中的用于把数据发布到区块链,并对和与所述数据关联的智能合同相关的执行进行审计和验证的处理的流程图。
图4是图解说明按照例证实施例的用于把可审计的不可变数据发布到区块链的例证方法的流程图。
图5是图解说明按照例证实施例的用于对发布到区块链的确定性数据进行审计和验证的例证方法的流程图。
图6是图解说明按照例证实施例的计算机系统架构的方框图。
根据下面提供的详细说明,本公开的其他适用性领域将变得清楚。应明白的是例证实施例的详细说明只是用于说明,并且因此,并不旨在必然限制本公开的范围。
具体实施方式
术语表
区块链-基于区块链的货币的所有交易的公共账本。一个或多个计算设备可构成区块链网络,区块链网络可被配置成处理并记录作为区块链中的区块的一部分的交易。一旦一个区块完成,该区块就被加入区块链中,并且交易记录由此被更新。在许多情况下,区块链可以是按时间顺序或者可按适合于由区块链网络使用的任何其他顺序呈现的交易的账本。在一些配置中,记录在区块链中的交易可包括目的地地址和货币金额,使得区块链记录多少货币可归于特定地址。在一些情况下,交易是金融交易而其他的交易不是金融交易,或者交易可能包括另外或者不同的信息,比如源地址、时间戳,等等。在一些实施例中,区块链还可以或者替代地包括要被或者需要被放入分布式数据库中的按照交易的形式的几乎任意类型的数据,所述分布式数据库保持不断增长的数据记录的列表,这些数据记录被增强以防范篡改和修正(即使是由其操作人员篡改和修正),并且可由区块链网络通过工作量证明和/或与之关联的任何其他适当验证技术确认和证实。在一些情况下,关于给定交易的数据还可包括附加到交易数据的并不直接是交易的一部分的额外数据。在一些情况下,区块链中的这种数据的包含可构成交易。在这样的情况下,区块链可能不直接与特定的数字货币、虚拟货币、法定货币或其他类型的货币关联。
智能合同-便利、验证或强制进行交易的协商或执行的计算机协议。智能合同可被格式化成可执行脚本或其他类型的计算函数,使得当通过合适的处理器执行合同时,执行一个或多个预定动作。在许多情况下,智能合同可以模拟传统合同的条款,比如通过被配置成执行与智能合同条款的积极执行或消极执行(例如,违约)关联的动作。例如,智能合同可以与购买小部件的交易关联,其中智能合同被配置成(i)如果买方收到小部件则向供应商发起付款;或者(ii)如果供应商在预定日期之前没有提供小部件,则通知买方。
用于审计和证实不可变的智能合同输入的系统
图1图解说明用于把智能合同的不可变输入存储在区块链中,并基于智能合同的确定性输出对与之关联的执行进行审计和验证的的系统100。
系统100可包括处理服务器102。下面更详细讨论的处理服务器102可被专门配置成进行本文中讨论的与生成发布到区块链的数据,以及对所述数据进行审计和验证有关的动作,从而使其在被编程以进行这些功能时成为专用计算机。处理服务器102可以是用于实体的被配置成参与该实体与另一个实体之间的电子交易的计算系统或计算系统的一部分。例如,处理服务器102可以与用于第二实体的也参与电子交易的第三方系统104交换电子通信。如这里所讨论的,处理服务器102和第三方系统104执行的各个功能也可由对应的计算设备执行。
系统100还可包括区块链网络106,区块链网络106可以与本文中讨论的数据可被发布到的区块链关联。区块链网络106可包括多个区块链节点108,比如图1中图解所示的区块链节点108a和108b。尽管为了清楚起见,图中只示出了两个区块链节点,不过可以预见的是可以使用更多个、数十个、数百个或者甚至数千个,或者甚至更多的区块链节点。区块链节点108可被配置成利用将对本领域的技术人员来说清楚的方法和系统来生成和验证用于添加到区块链的新区块。在一些实施例中,处理服务器102和/或第三方系统104可被配置成起区块链网络106的区块链节点108的作用。例如,除了本文中讨论的功能之外,处理服务器102可被配置成生成新的区块、验证区块、和把新的验证过的区块添加到区块链中。
与处理服务器102关联的实体(本文中也被称为“第一实体”)可关于提出的电子交易,和与第三方系统104关联的实体(本文中也被称为“第二实体”)通信。在一些实施例中,交易中可能涉及另外的实体。在这类实施例中,所述另外的实体可以与第三方系统104关联,这种情况下由此执行的功能可能与本文中讨论的第三方系统104所执行的功能相同。提出的电子交易可以是其中预期至少一个涉及的实体将执行某个动作,该动作的执行可由其他实体验证的任意交易。例如,电子交易可包括购买商品或服务、交换数据、执行合同等。例如在例子中,交易可以是服务合同,其中第一实体可同意为办公室的翻修支付$1,000的首付款,第二个实体可同意在预定时间以前对办公室进行翻修,并且一旦翻修完成第一实体就可支付$9,000。
第一实体和第二实体可约定与交易关联的条款,这些条款在本文中可被称为“输入”。例如,在上面的例子中,输入可包括$1,000的首付款、首付款的到期日、执行翻修工程的到期日、$9,000的尾款和尾款的到期日。处理服务器102和/或第三方系统104可被配置成以电子方式把约定的输入传送给区块链节点108,作为要添加到与之关联的区块链中的交易的交易值。如下更详细所述,交易值可以是指示交易输入的散列值。结果,基于约定的输入可被存储在区块链中,并且由于区块链的性质是不可变的,其中存储在区块链的区块的头部中的散列值可确保存储于其中的数据的不可变性。在一些实施例中,区块链可用于存储与输入及一个或两个实体对输入的约定这两者关联的不可变数据。例如,第一实体和/或第二实体可以利用包括在交易散列中的接受帧(frame)来指示条款的接受。关于接受帧的其他信息可以在Steven C.Davis的题为“Method and System for Validation of HashedData via Acceptance Frames”的美国专利申请No.14/938,213中找到,该申请通过引用整体包含在本文中。
第一实体和第二实体之间的交易的交易值可包括各个输入,或者在一些情况下,可包括指示各个输入的单一交易散列。例如,通过把一个或多个散列算法应用于输入,比如通过以预定方式组合输入(例如,使用分隔符将每个输入组合成单个字符串,将输入存储在数据文件中等等),或者通过生成输入的Merkle树并利用Merkle树的根,可生成交易散列。在可生成散列值的情况下,处理服务器102可被配置成把键-值对存储在下面更详细讨论的键-值数据库中,其中散列值可以是键-值对中的键,其中对应的值是在键的生成中使用的输入。在这类情况下,第三方系统104可把相同的(一个或多个)散列算法和数据格式化用于它自己的键-值对来生成交易散列,从而可以利用它来验证发布到区块链的交易散列对于基于约定的输入是准确的。
一旦交易被发布到区块链,涉及的实体就可在对于交易进行了任何执行时更新区块链,使得交易中涉及的一个或多个其他实体可以监视区块链,以识别这种执行是何时发生的并验证所述执行。在例证实施例中,智能合同可用于进行与第一实体和第二实体之间的交易的执行相关的动作。例如,智能合同可被配置成生成区块链交易的更新、一旦一个动作已完成就向接下来执行的实体发送消息、使交易无效和发起针对非执行(non-performance)的任何动作等。例如,在上面的例子中,如果第一实体在到期日以前未支付$1,000的首付款,那么智能合同可执行(例如,如果区块链未被更新以指示所述付款,那么在到期日之后),以向第二实体通知未付款,和如果未达到$1,000的总额,则退还第一个实体所进行的任何付款。
在这类实施例中,交易值可包括智能合同或者对其的引用,或者智能合同或关联的引用可用于生成包括交易值的交易散列。所述引用例如可以是智能合同本身的散列值,比如可通过对智能合同求散列而生成的散列值,和/或把智能合同包括为值的键-值对中的键。在一些情况下,一份智能合同可用于多个不同的交易,其中每个交易值可包括或合并关联的引用。在这类情况下,可利用交易输入作为输入来执行智能合同,以相应地进行计划的功能。例如,智能合同可用于多个服务交易,其中和上述例子中一样,智能合同可接收$1000首付款和首付款的到期日作为输入,其中(例如,处理服务器102或区块链节点108进行的)智能合同的执行检查在规定的到期日以前,规定的$1,000首付款的支付。
第一实体(例如,或者接下来基于交易执行的任何涉及的实体)可以作为交易的一部分而执行所需的动作。例如,在上面的例子中,第一实体可在首付款的到期日之前支付$1,000。处理服务器102可以在该动作的执行之后,为交易生成新的交易值。新的交易可包括以所述执行为基础的针对该交易的修改后的输入。例如,输入可包括充当首付款的证据的额外输入(例如,交易的确认号、交易的收据等),所述额外输入也可由智能合同提供。例如,智能合同可以利用任何适当的方法来验证支付,并可输出用于包括在交易值(例如,或者包括在其中的交易散列,视情况而定)中的引用号。
一旦交易值已生成,处理服务器102就可利用适当的方法对新的交易值进行数字签名。例如,处理服务器102可拥有密钥对的私钥,所述私钥可用于经由第三方系统104可已知的适当签名算法对新的交易值进行数字签名。这种情况下,第三方系统104可被提供密钥对中的对应公钥的副本。处理服务器102可把数字签名后的新的交易值电子地传送给区块链节点108,以便发布到区块链。
一旦更新的交易到达区块链,第三方系统104就可被配置成检索交易值,以验证作为交易的一部分,处理服务器102执行了其动作。在交易值被数字签名的情况下,验证可包括数字签名的验证,比如利用从处理服务器102提供给第三方系统104的公钥。验证还可包括交易值是预期值的验证。
在例证实施例中,智能合同可以是确定性合同,使得在执行动作之前就可以确定当执行该动作时智能合同的输出。例如,在上面的例子中,预先确定的是:第一实体将要么在特定到期日以前支付$1,000,要么违约。在这样的实施例中,输入在本文中可被称为“确定性输入”,使得可以相应地确定智能合同的输出。在这些实施例中,第三方系统104可被配置成基于对交易的确定性输入和第一实体要进行的预期动作的了解,生成估计的新的交易值。例如,在上面的例子中,如果在到期日之前支付了$1,000的首付款,那么第三方系统104可利用被供给有原始交易值中使用的确定性输入的智能合同的输出,来生成估计的新的交易值。
第三方系统104可通过比较从区块链检索的交易值和预期的估计交易值,利用估计的新的交易值来验证和审计第一方的执行。因而,交易中所涉及的实体可被配置成验证交易中的一个或多个其他实体正在按要求执行其功能。利用区块链来存储交易值还可确保执行中的动作的证据是不可变的,以防止交易中所涉及的实体方的串谋或欺诈,并且还充当交易的完全执行的可审计且易于访问的记录。和标准实现中一样,添加到区块链中的每个区块被添加了时间戳,因此交易值反映交易的条款、执行的任何动作、以及执行这类动作的时间,以提供适合于审计所述执行的足够数据。
在一些实施例中,处理服务器102可被配置成利用模板来生成和/或存储交易的输入。模板可用于指定为特定智能合同的使用所需的数据字段,以确保精确处理和数据一致性。例如,在上面的例子中,模板可指定需要提供的标准(例如,3个到期日和2个支付金额),需要如何格式化这类数据,以及与交易的输入相关的其他数据。在一些情况下,模板可用于生成数据文件,所述数据文件充当交易值或者被求散列,以生成交易的交易值。在其他情况下,模板可以由交易值引用,或者在交易值中引用。例如,模板可具有与之关联的引用标识符(例如,模板的散列值,在模板构成键-值对中的值的情况下键-值对中的键,等等),所述引用标识符可以包括在交易值中,比如是交易输入或者用于交易散列的生成。
第一实体、第二实体和交易中涉及的任何其他实体可继续进行交易中规定的动作,其中每个实体用由各自实体数字签名的交易值相应地更新区块链。区块链的持续更新可确保交易的执行在每一步都是可审计的,其中区块链的不可变性保证执行的审计和验证是准确的并且可防止欺诈。使用具有确定性输入的智能合同可确保欺诈无法进行,可以预测动作的结果以便更快、更准确地进行验证,并且任何实体都不能篡改交易的历史来掩盖任何欺诈动作。结果,本文中讨论的方法和系统提供一种比传统系统更准确、更高效和更可信的技术解决方案。
处理服务器
图2图解说明系统100中的处理服务器102的实施例。对本领域的技术人员来说将清楚的是,图2中图解所示的处理服务器102的实施例只是作为示意提供的,并且不可能穷尽适合于进行本文中讨论的功能的处理服务器102的所有可能配置。例如,图6中图解所示并且下面更详细讨论的计算机系统600可能是处理服务器102的适当配置。在一些实施例中,如图1中图解所示并且本文中讨论的系统100中的第三方系统104可利用如图2中图解所示并且下面讨论的处理服务器102的组件来实现。
处理服务器102可包括接收设备202。接收设备202可被配置成经由一个或多个网络协议,通过一个或多个网络接收数据。在一些情况下,接收设备202可被配置成通过一种或多种通信方法(比如近场通信、蓝牙、因特网、局域网等),从第三方系统104、区块链网络106、区块链节点108、以及其他系统和实体接收数据。在一些实施例中,接收设备202可包括多个设备,比如用于通过不同的网络接收数据的不同接收设备,比如用于通过局域网接收数据的第一接收设备和用于通过因特网接收数据的第二接收设备。接收设备202可接收电子地传送的数据信号,其中数据可被叠加或以其他方式编码在数据信号上,并可通过接收设备202进行的数据信号的接收而被解码、解析、读取或以其他方式获得。在一些情况下,接收设备202可包括解析模块,用于解析接收的数据信号,以获得叠加在数据信号上的数据。例如,接收设备202可包括解析器程序,所述解析器程序被配置成接收数据信号,并把接收的数据信号变换成用于由处理设备执行的功能的可用输入,以便实现记载在本文中的方法和系统。
接收设备202可被配置成接收由区块链网络106和/或与之关联的区块链节点108电子地传送的数据信号,所述数据信号可被叠加在区块链数据上或者用区块链数据编码。区块链可包括多个区块,每个区块至少包括区块头部和一个或多个交易值构成。区块头部至少可包括时间戳和对于区块链中的在先区块的引用。在一些实施例中,所述引用可以是在先区块的区块头部的散列。一些情况下,区块头部还可包括为包含在该区块中的交易值生成的Merkle树的Merkle根。在本文中讨论的方法和系统中,所述一个或多个交易值中的每个交易值都可包括交易散列,所述交易散列可以是至少相关交易的输入的散列。接收设备202还可被配置成接收第三方系统104以电子方式传送的数据信号,比如可被叠加有或编码有确定性输入或与之关联的数据,比如模板引用、智能合同引用、执行数据等。
处理服务器102还可包括通信模块204。通信模块204可被配置成在处理服务器102的模块、引擎、数据库、存储器和其他组件之间传送数据,用于执行在本文中讨论的功能。通信模块204可包括一种或多种通信类型,并在计算设备内使用各种通信方法进行通信。例如,通信模块204可包括总线、触针连接器、导线等。在一些实施例中,通信模块204还可被配置成在处理服务器102的内部组件和处理服务器102的外部组件(比如外部连接的数据库、显示设备、输出设备等)之间通信。处理服务器102还可包括处理设备。对本领域的技术人员来说清楚的是,处理设备可被配置成执行本文中讨论的处理服务器102的功能,比如配置成(比如通过与之关联的可执行脚本的执行)执行智能合同的处理器。在一些实施例中,处理设备可包括和/或由被专门配置成执行处理设备的一个或多个功能的多个引擎和/或模块构成,比如查询模块208、散列模块210、生成模块212、数据修改模块214、签名模块216、验证模块218等。本文中使用的术语“模块”可以是被特别编程为接收输入、利用所述输入进行一个或多个处理、并提供输出的软件或硬件。根据本公开,对本领域的技术人员来说,各个模块进行的输入、输出和处理将是清楚的。
处理服务器102还可包括存储器206。存储器206可被配置成存储供处理服务器102用于进行本文中讨论的功能的数据,比如公钥和私钥、对称密钥等。存储器206可被配置成利用适当的数据格式化方法和模式来存储数据,并且可以是任何适当类型的存储器,比如只读存储器、随机存取存储器等。例如,对本领域的技术人员来说清楚的是,存储器206可包括加密密钥和算法、通信协议和标准、数据格式化标准和协议、处理设备的模块和应用程序的程序代码、以及适合于供处理服务器102用于执行本文中公开的功能的其他数据。在一些实施例中,存储器206可由关系数据库构成,或者可包括关系数据库,所述关系数据库把结构化查询语言用于存储在其中的结构化数据集的存储、识别、修改、更新、访问等。
存储器206可被配置成存储区块链,比如如上所述,可从区块链网络106接收的区块链。存储器206还可被配置成存储键-值数据库,键-值数据库可包括多个键-值对。在这类情况下,键-值对可包括其中散列值用作键、并且用于生成散列值的数据是对应值的对,所述键-值可用于存储确定性输入、数据模板、智能合同以及用于执行本文中讨论的功能的其他数据。存储器206还可被配置成存储密钥对的私钥和公钥,密钥对的私钥和公钥可被配置成用于对交易值进行数字签名和验证数字签名。
处理服务器102可包括查询模块208。查询模块208可被配置成对数据库执行查询,以识别信息和进行与信息相关的其他动作。查询模块208可接收一个或多个数据值或查询字符串,并可对指示的数据库(比如存储器206)执行以所述数据值或查询字符串为基础的查询字符串,以对存储在所述数据库中的信息进行识别、修改、插入、更新等。查询模块208可根据需要,把识别的信息输出给处理服务器102的适当引擎或模块。例如,查询模块208可对存储器206进行查询,以识别用于对交易值进行数字签名的私钥、添加利用区块链追踪的新交易的新的键-值对、识别供执行的智能合同以用于交易的执行验证等。
处理服务器102还可包括散列模块210。散列模块210可被配置成为处理服务器102对数据求散列,以便生成散列值。散列模块210可接收待求散列的数据作为输入,可通过对接收的数据应用一个或多各散列算法来生成散列值,并可把作为结果的散列值输出给处理服务器102的另一个模块或引擎。在一些实施例中,输入可包括一个或多个散列算法或其指示。在其他实施例中,散列模块210可被配置成识别待使用的(一个或多个)散列算法(例如,在存储器206中)。例如,散列模块210可被配置成通过对交易值、模板、智能合同和其他数据应用一种或多种散列算法,来生成所述交易值、模板、智能合同和其他数据的散列值。在一些情况下,生成的散列值可用于存储在区块链中,充当存储在存储器206中的键-值对中的键,或用于基于区块链数据的执行的验证。
处理服务器102还可包括生成模块212。生成模块212可被配置成生成在执行本文中讨论的处理服务器102的功能中使用的数据。生成模块212可接收指令作为输入,所述指令可用于生成数据,并将生成的数据输出给处理服务器102的一个或多个引擎或模块。在一些情况下,输入到生成模块212的指令可伴随有供其使用的数据。例如,生成模块212可被配置成比如基于确定性输入,来生成交易的交易值。在一些情况下,还可基于执行数据来生成交易值。在一些情况下,生成模块212可被配置成生成用于交易值的数字签名的密钥对。在一些实施例中,生成模块212可被配置成利用预定格式(例如,在模板中详细说明的预定格式)生成比如可包括确定性输入的数据文件,所述数据文件可被求散列,以便用作要存储在区块链中的交易值。
处理服务器102还可包括数据修改模块214。数据修改模块214可被配置成修改在执行如本文中讨论的处理服务器102的功能中使用的数据和/或数据文件。数据修改模块214可接收指令作为输入,所述指令可用于修改存储在处理服务器102中或者由处理服务器102接收的数据,并且将修改后的数据被输出给处理服务器102的一个或多个引擎或模块。例如,数据修改模块214可被配置成修改数据文件(例如,存储确定性输入)以改变一个或多个输入,比如通过删除输入、增加输入、改变输入的值等,以便比如反映交易的执行或者估计交易的执行。
处理服务器102还可包括签名模块216。作为本文中讨论的处理服务器102的功能的一部分,签名模块216可被配置成对数据进行数字签名。签名模块216可接收待数字签名的数据作为输入,可对数据进行数字签名,并可把经数字签名的数据或者至少把数字签名输出给处理服务器102的另一个模块或引擎。签名模块216可被配置成通过利用公钥和一个或多个签名算法对数据进行数字签名。在一些实施例中,签名模块216的输入可包括用于生成数字签名的私钥和/或签名算法。在其他实施例中,签名模块216可被配置成识别(例如,在存储器206中,比如通过提交给查询模块208的指令)私钥和(一个或多个)签名算法。在例子中,签名模块216可被配置成对通过交易的确定性输入(比如关联实体的后续执行)而生成的交易值进行数字签名。
处理服务器102还可包括验证模块218。验证模块218可被配置成为处理服务器102验证数据。验证模块218可接收待验证的数据作为输入,可进行所述数据的验证,并且可把验证的结果(例如,指示肯定或否定的验证)输出给处理服务器102的另一个模块或引擎。例如,验证模块218可被配置成利用(例如,存储在存储器206中并从存储器206读取的)公钥来验证交易值的数字签名,并验证交易值,比如通过比较估计的交易值(例如由生成模块212生成)与从区块链读取的交易值。
处理服务器102还可包括传送设备220。传送设备220可被配置成经由一种或多种网络协议,通过一个或多个网络传送数据。在一些情况下,传送设备220可被配置成通过一种或多种通信方法,比如近场通信、蓝牙、射频、因特网、局域网等,把数据传送给第三方系统104、区块链网络106、区块链节点108和其他实体。在一些实施例中,传送设备220可包括多个设备,比如用于通过不同的网络传送数据的不同传送设备,比如用于通过局域网传送数据的第一传送设备和用于通过因特网传送数据的第二传送设备。传送设备220可电子地传送叠加有可由接收计算设备解析的数据的数据信号。在一些情况下,传送设备220可包括用于叠加、编码或者以其他方式把数据格式化成适合于传输的数据信号的一个或多个模块。
传送设备220可被配置成把数据信号以电子方式传送给与区块链网络106关联的区块链节点108,该数据信号可叠加有或以其他方式编码有交易值,以便发布到区块链。在一些实施例中,传送设备220可被配置成把数据信号以电子方式传送给第三方系统104,比如用于交换确定性输入、智能合同引用、模板引用、公钥或者可以交换的其他数据,以用于执行本文中讨论的功能。
向区块链发布不可变的可审计数据的处理
图3图解说明系统100中向区块链发布与交易的执行相关的数据,其中所述数据是不可变的,且可由第三方系统104及其他实体独立验证。
在步骤302,处理服务器102可以(例如,通过与之关联的第一实体)与第二实体(例如,通过与之关联的第三方系统104)约定交易的条款。交易的条款可以用作交易的确定性输入。例如,在上述例子中,条款可包括首付款金额、全额付款金额、首付款到期日、购买服务的到期日和全额付款到期日。在例证实施例中,各个交易条款可以是确定性的。在步骤304,第三方系统104可接收(例如,通过接收设备202)商定的基于约定的条款。在一些实施例中,可通过区块链,比如通过利用接受帧,来接收交易条款。
在步骤306,第三方系统104可至少基于确定性输入,来生成(例如,通过散列模块210和/或生成模块212)交易的交易值。例如,在一个例子中,可以生成包括各个确定性输入的数据文件,所述数据文件可被求散列以生成交易值。交易值还可包括(例如基于)对智能合同和/或模板的引用。在步骤308,第三方系统104可把交易值(例如,通过传送设备220)以电子方式传送给与区块链网络106关联的区块链节点108,以便包括在待验证和发布到区块链的区块中。
在步骤310,处理服务器102的接收设备202可通过接收区块链中的其中包括所述交易值的新添加的增区块,来检索所述交易值。在步骤312,处理服务器102可(例如,通过与之关联的第一实体)执行交易中的下一动作。在上述例子中,所述下一动作是在到期日之前支付$1,000的首付款。作为执行该动作的一部分,在步骤314,处理服务器102的处理器可执行与交易关联的智能合同(例如,通过包括在确定性输入中的引用识别的智能合同)。在一些情况下,当动作的执行令人满意时(例如,智能合同可检测到向第二实体支付了$1,000),区块链网络106可以自动执行智能合同。作为智能合同的执行的一部分,可以修改交易的确定性输入,比如通过改变标记、补充支付的引用或确认号,等等。
在步骤316,处理服务器102的散列模块210可通过把一个或多个散列算法应用于交易的经更新的确定性输入,来生成交易的新的交易值,所述新的交易值可反映动作的执行。在一些情况下,新的交易值的生成还可包括通过利用与第一实体关联(例如,并存储在处理服务器102的存储器206中)的私钥以及适当的签名算法的对交易值的数字签名(例如,通过处理服务器102的签名模块216)。在步骤318,处理服务器102的传送设备220可以将新生成的交易值以电子方式传送给与区块链网络106关联的区块链节点108,以包括在已验证并发布到区块链的区块中。
在步骤320,第三方系统104可利用确定性输入和第一实体的动作的估计,来确定第一实体执行交易的下一动作的预期输出,比如通过关联的智能合同的(例如其处理器的)执行。在一些情况下,步骤320的进行可包括如在步骤314,由处理服务器102进行的对于确定性输入的修改。在步骤322,第三方系统104可基于执行下一动作的预期输出,(例如,通过散列模块210和/或生成模块212)生成交易的预期交易值。
在步骤324,第三方系统104可以(例如,通过其接收设备202)检索发布到区块链的新的交易值。在一些实施例中,步骤320和322可以在步骤324之后进行,或者与步骤324同时进行。在步骤326,第三方系统104可通过比较新的交易值与预期的交易值,来验证(例如,通过验证模块218)新的交易值。在其中交易值被数字签名的实施例中,所述验证还可包括数字签名的验证,可以利用与第一实体关联的公钥验证数字签名。交易值的验证因此可确保交易的下一动作已执行,同时区块链上的交易值是该动作的不可变证据并且适合用于审计。
向区块链发布可审计的不可变数据的例证方法
图4图解说明用于把与交易的执行相关的可审计的不可变数据发布到区块链的方法400。
在步骤402,处理服务器(例如,处理服务器102)的接收设备(例如,接收设备202)可接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个交易值至少包括交易散列。在步骤404,处理服务器的接收设备可接收与包括在区块链中的区块之中的特定交易关联的数据文件,其中所述数据文件包括一个或多个变量。
在步骤406,处理服务器的数据修改模块(例如,数据修改模块214)可修改包括在数据文件中的一个或多个变量中的至少一个变量。在步骤408,通过把一个或多个散列算法应用于修改后的数据文件,处理服务器的散列模块(例如,散列模块210)可生成新的散列值。
在步骤410,处理服务器的生成模块(例如,生成模块212)可至少基于生成的新的散列值和所述特定交易散列,来生成新的交易值。在步骤412,处理服务器的签名模块(例如,签名模块216)可对生成的新的交易值进行数字签名。在步骤414,处理服务器的传送设备(例如,传送设备220)可以电子方式传送经签名的新的交易值。
在一个实施例中,新的交易值还可基于与和区块链关联的可执行脚本关联的引用标识符。在另一个实施例中,可执行脚本可被配置成执行修改后的数据文件,并输出确定性响应。在一些实施例中,生成新的交易值可包括通过处理服务器的散列模块,至少对生成的新的散列值和所述特定交易散列求散列。在一个实施例中,方法400可包括把多个键-值对存储在处理服务器的数据库(例如,存储器206)中,其中所述多个键-值对至少包括第一键-值对,所述第一键-值对包括作为键的所述特定交易散列,和作为值的接收的数据文件;和通过处理服务器的查询模块(例如,查询模块208),对数据库进行查询,以插入新的键-值对,所述新的键-值对包括作为键的生成的新的散列值,和作为值的经修改的数据文件。
用于审计和验证发布到区块链的确定性数据的例证方法
图5图解说明用于基于确定性输入,审计和验证发布到区块链的数据的方法500。
在步骤502,处理服务器(例如,处理服务器102)的接收设备(例如,接收设备202)可接收包括多个区块的区块链,每个区块至少包括区块头部和一个或多个交易值,其中每个区块头部至少包括时间戳,并且每个交易值至少包括交易散列。在步骤504,处理服务器的查询模块(例如,查询模块208)可对区块链进行第一查询,以识别第一交易值,其中第一交易值与可执行脚本关联。
在步骤506,处理服务器的处理器可利用多个预定输入值来执行可执行脚本,以接收至少一个输出变量。在步骤508,处理服务器的散列模块(例如,散列模块210)可至少基于所述多个预定输入值和所述至少一个输出变量来生成散列值。
在步骤510,处理服务器的生成模块(例如,生成模块212)可至少基于生成的散列值和包括在第一交易值中的交易散列,来生成新的交易值。在步骤512,处理服务器的验证模块(例如,验证模块218)可验证包括在区块链中的区块之中的第二交易值,其中第二交易值对应于生成的新的交易值。
在一个实施例中,验证第二交易值可包括:通过处理服务器的查询模块对区块链进行第二查询,以识别第二交易值;和通过处理服务器的验证模块来验证第二交易值与生成的新的交易值等同。在一些实施例中,生成新的交易值包括通过处理服务器的散列模块,至少对生成的散列值和包括在第一交易值中的交易散列求散列。
在一个实施例中,验证第二交易值可包括:通过处理服务器的查询模块,对区块链进行第二查询以识别第二交易值;和通过处理服务器的验证模块,验证用于对包括的交易散列进行数字签名的数字签名。在另一个实施例中,方法500甚至还可包括把公钥存储在处理服务器的存储器(例如,存储器206)中,其中数字签名的验证利用所存储的公钥。
计算机系统架构
图6图解说明其中可作为计算机可读代码实现本公开的实施例或其部分的计算机系统600。例如,图1的处理服务器102可在计算机系统600中使用硬件、软件、固件、上面存储有指令的非暂态计算机可读介质、或者它们的组合来实现,并且可在一个或多个计算机系统或其他处理系统中实现。硬件、软件或它们的任意组合可实施用于实现图3-5的方法的模块和组件。
如果使用可编程逻辑,那么这类逻辑可在可从市场上获得的通过可执行软件代码配置成为专用计算机或者专用设备(例如,可编程逻辑阵列、专用集成电路等)的处理平台上执行。本领域的技术人员可意识到公开主题的各个实施例可以利用各种计算机系统配置来实践,包括多核多处理器系统、小型计算机、大型计算机、具有分布的功能的经链接或群集的计算机、以及可被嵌入几乎任何设备中的普适或微型计算机。例如,可以利用至少一个处理器设备和存储器来实现上述实施例。
本文中所述的处理器单元或设备可以是单个处理器、多个处理器、或者它们的组合。处理器设备可以具有一个或多个处理器“核”。本文中所述的术语“计算机程序介质”、“非暂态计算机可读介质”和“计算机可用介质”通常用于指的是诸如可移除存储单元618、可移除存储单元622、和安装在硬盘驱动器612中的硬盘之类的有形介质。
就本例证计算机系统600说明了本公开的各个实施例。在阅读本说明之后,对本领域的技术人员来说,利用其他计算机系统和/或计算机架构如何实现本公开将变得清楚。尽管操作可被描述成顺序处理,不过一些操作事实上可以并行进行,同时进行,和/或在分布式环境中进行,并且程序代码被本地或远程存储,供单处理器或多处理器机器访问。另外,在一些实施例中,各操作的顺序可被重排,而不脱离公开的主题的精神。
处理器设备604可以是专门配置成执行本文中讨论的功能的专用或通用处理器设备。处理器设备604可以连接到通信基础设施606,比如总线、消息队列、网络、多核消息传递方案等。网络可以是适合于执行本文中公开的功能的任何网络,并且可包括局域网(LAN)、广域网(WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外、射频(RF)、或者它们的任意组合。其他适当的网络类型和配置对本领域技术人员来说将是清楚的。计算机系统600还可包括主存储器608(例如,随机存取存储器、只读存储器等),并且还可包括辅助存储器610。辅助存储器610可包括硬盘驱动器612和可移除存储驱动器614,比如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
可移除存储驱动器614可按照已知方式读取和/或写入可移除存储单元618。可移除存储单元618可包括可由可移除存储驱动器614读和写的可移除存储介质。例如,如果可移除存储驱动器614是软盘驱动器或者通用串行总线端口,那么可移除存储单元618可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移除存储单元618可以是非暂态计算机可读记录介质。
在一些实施例中,辅助存储器610可包括允许计算机程序或其他指令被载入计算机系统600中的替代装置,例如可移除存储单元622和接口620。这类装置的例子可包括程序盒和盒式接口(例如,如在视频游戏系统中所见的)、可移除存储芯片(例如,EEPROM、PROM等)和关联的插口,以及对本领域的技术人员来说清楚的其他可移除存储单元622和接口620。
存储在计算机系统600中(例如,主存储器608和/或辅助存储器600中)的数据可被存储在任何类型的合适的计算机可读介质上,比如光存储装置(例如,光盘、数字通用光盘、蓝光光盘等)或者磁带存储装置(例如,硬盘驱动器)之类。可在任意类型的适当数据库配置,比如关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等中,配置数据。对本领域的技术人员来说,适当的配置和存储类型将是清楚的。
计算机系统600还可包括通信接口624。通信接口624可被配置成允许软件和数据在计算机系统600和外部设备之间被传送。例证的通信接口624可包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA插槽和卡等。通过通信接口624传送的软件和数据可以呈信号的形式,所述信号可以是电信号、电磁信号、光信号、或者对本领域技术人员来说清楚的其他信号。信号可通过通信路径626行进,通信路径626可被配置成携带信号,并且可利用导线、线缆、光纤、电话线、蜂窝电话链路、射频链路等实现。
计算机系统600还可包括显示接口602。显示接口602可被配置成允许数据在计算机系统600和外部显示器630之间被传送。例证的显示接口602可包括高清多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器630可以是用于显示经计算机系统600的显示接口602传送的数据的任何适当类型的显示器,包括阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指的是存储器,比如主存储器608和辅助存储器610,它们可以是半导体存储器(例如,DRAM等)。这些计算机程序产品可以是向计算机系统600提供软件的装置。计算机程序(例如,计算机控制逻辑)可被存储在主存储器608和/或辅助存储器610中。计算机程序也可通过通信接口624接收。当被执行时,这样的计算机程序可使计算机系统600能够实现如本文中所述的本方法。特别地,当被执行时,计算机程序可使处理器设备604实现图3-5图解所示的方法,如本文中所述。因而,这样的计算机程序可表示计算机系统600的控制器。在利用软件实现本公开的情况下,软件可被存储在计算机程序产品中,并利用可移除存储驱动器614、接口620和硬盘驱动器612,或者通信接口624被载入计算机系统600中。
处理器设备604可包括配置成执行计算机系统600的功能的一个或多个模块或引擎。每个模块或引擎都可利用硬件实现,而在一些情况下,也可利用软件,比如对应于存储在主存储器608或辅助存储器610中的程序代码和/或程序的软件。在这种情况下,在由计算机系统600的硬件执行之前,程序代码可由处理器设备604编译(例如,由编译模块或引擎编译)。例如,程序代码可以是用编程语言编写的源代码,所述源代码被翻译成低级语言,比如汇编语言或机器代码,以便由计算机系统600的处理器设备604和/或任何另外的硬件组件执行。编译处理可包括词法分析、预处理、解析、语义分析、语法引导的翻译、代码生成、代码优化、和适合于把程序代码翻译成适合于控制计算机系统600执行本文中公开的功能的低级语言的任何其他技术的使用。对本领域技术人员来说清楚的是,这类处理导致计算机系统600是被独特地编程以执行上面公开的功能的特别配置的计算机系统600。
与本公开一致的技术提供用于区块链上发布和验证可审计和不可变的数据的系统和方法以及其他特征。尽管上面说明了公开的系统和方法的各种例证实施例,不过应明白它们只是出于举例说明的目的提供的,而不是对本公开的限制。上述说明不是详尽的,并不把本公开局限于公开的具体形式。鉴于上述教导,各种修改和变化都是可能的,或者从本公开的实践中可以获得各种修改和变化,而不脱离本公开的广度或范围。
Claims (20)
1.一种将能审计的不可变数据发布到区块链的方法,包括:
通过处理服务器的接收设备,接收包括多个区块的区块链,每个区块包括一个或多个交易值,其中每个交易值至少包括交易散列;
通过处理服务器的接收设备,接收一个或多个确定性交易输入,其中所述一个或多个确定性交易输入中的每一个确定性交易输入与用于确定性地满足对应的确定性交易输入的一个或多个预定条件关联;
基于所述一个或多个确定性交易输入中的至少一个确定性交易输入的一个或多个预定条件中的一个预定条件是否被满足,通过处理服务器的数据修改模块修改所述一个或多个确定性交易输入中的对应的至少一个确定性交易输入;
通过处理服务器的散列模块,通过把一个或多个散列算法应用于所述一个或多个确定性交易输入中的修改后的所述至少一个确定性交易输入,生成新的散列值;
通过处理服务器的生成模块,至少基于生成的新的散列值以及与和区块链关联的可执行脚本关联的引用标识符,生成新的交易值,其中所述新的交易值基于所述一个或多个确定性交易输入中的修改后的所述至少一个确定性交易输入,其中所述可执行脚本的执行输出确定性响应,用于验证所述一个或多个确定性交易输入中的所述至少一个确定性交易输入的一个或多个预定条件中的所述预定条件是否被满足;
通过处理服务器的签名模块,对生成的新的交易值进行数字签名;和
通过处理服务器的传送设备,以电子方式传送经签名的新的交易值。
2.按照权利要求1所述的方法,其中所述引用标识符是所述可执行脚本的散列。
3.按照权利要求1所述的方法,其中所述可执行脚本是智能合约。
4.按照权利要求1所述的方法,其中所述可执行脚本的执行验证一个或多个预定条件中的所述预定条件未被满足。
5.按照权利要求4所述的方法,其中响应于一个或多个预定条件中的所述预定条件未被满足,所述可执行脚本的执行生成对所述一个或多个预定条件的未满足的指示。
6.按照权利要求5所述的方法,其中对所述一个或多个预定条件的未满足的指示包括对非支付或支付退还的指示。
7.一种审计和验证发布到区块链的确定性数据的方法,包括:
通过处理服务器的接收设备,接收包括多个区块的区块链,每个区块包括一个或多个交易值,其中每个交易值至少包括交易散列;
通过处理服务器的查询模块,对区块链执行第一查询以识别第一交易值,其中第一交易值与可执行脚本关联;
通过处理服务器的处理器,使用用于确定性地满足与第一交易值关联的一个或多个确定性交易输入的多个预定输入条件执行所述可执行脚本,以接收至少一个确定性响应;
通过处理服务器的散列模块,至少基于所述多个预定输入条件和所述至少一个确定性响应,生成散列值;
通过处理服务器的生成模块,至少基于生成的散列值和包括在第一交易值中的交易散列,生成新的交易值;和
通过处理服务器的验证模块,验证包括在区块链中的区块之中的第二交易值与生成的所述新的交易值是否相匹配,第二交易值基于所述一个或多个确定性交易输入中的基于一个或多个关联的预定输入条件是否被满足而修改的至少一个修改后的确定性交易输入。
8.按照权利要求7所述的方法,其中验证第二交易值与生成的所述新的交易值是否相匹配包括:
通过处理服务器的查询模块,对区块链进行第二查询以识别第二交易值;和
通过处理服务器的验证模块,验证第二交易值与生成的所述新的交易值等同。
9.按照权利要求7所述的方法,其中验证第二交易值与生成的所述新的交易值是否相匹配包括:
通过处理服务器的查询模块,对区块链进行第二查询以识别第二交易值;和
通过处理服务器的验证模块,验证第二交易值与生成的所述新的交易值不同。
10.按照权利要求7所述的方法,其中所述可执行脚本是智能合约。
11.一种将能审计的不可变数据发布到区块链的系统,包括:
处理服务器的接收设备,所述接收设备被配置成接收
包括多个区块的区块链,每个区块包括一个或多个交易值,其中每个交易值至少包括交易散列,和
一个或多个确定性交易输入,其中所述一个或多个确定性交易输入中的每一个确定性交易输入与用于确定性地满足对应的确定性交易输入的一个或多个预定条件关联;
处理服务器的数据修改模块,所述数据修改模块被配置成基于所述一个或多个确定性交易输入中的至少一个确定性交易输入的一个或多个预定条件中的一个预定条件是否被满足,修改所述一个或多个确定性交易输入中的对应的至少一个确定性交易输入;
处理服务器的散列模块,所述散列模块被配置成通过把一个或多个散列算法应用于所述一个或多个确定性交易输入中的修改后的所述至少一个确定性交易输入,生成新的散列值;
处理服务器的生成模块,所述生成模块被配置成至少基于生成的新的散列值以及与和区块链关联的可执行脚本关联的引用标识符,生成新的交易值,其中所述新的交易值基于所述一个或多个确定性交易输入中的修改后的所述至少一个确定性交易输入,其中所述可执行脚本的执行输出确定性响应,用于验证所述一个或多个确定性交易输入中的所述至少一个确定性交易输入的一个或多个预定条件中的所述预定条件是否被满足;
处理服务器的签名模块,所述签名模块被配置成对生成的新的交易值进行数字签名;和
处理服务器的传送设备,所述传送设备被配置成以电子方式传送经签名的新的交易值。
12.按照权利要求11所述的系统,其中所述引用标识符是所述可执行脚本的散列。
13.按照权利要求11所述的系统,其中所述可执行脚本是智能合约。
14.按照权利要求11所述的系统,其中所述可执行脚本的执行验证一个或多个预定条件中的所述预定条件未被满足。
15.按照权利要求14所述的系统,其中响应于一个或多个预定条件中的所述预定条件未被满足,所述可执行脚本的执行被配置为生成对所述一个或多个预定条件的未满足的指示。
16.按照权利要求15所述的系统,其中对所述一个或多个预定条件的未满足的指示包括对非支付或支付退还的指示。
17.一种审计和验证发布到区块链的确定性数据的系统,包括:
处理服务器的接收设备,所述接收设备被配置成接收包括多个区块的区块链,每个区块包括一个或多个交易值,其中每个交易值至少包括交易散列;
处理服务器的查询模块,所述查询模块被配置成对区块链执行第一查询以识别第一交易值,其中第一交易值与可执行脚本关联;
处理服务器的处理器,所述处理器被配置成使用用于确定性地满足与第一交易值相关联的一个或多个确定性交易输入的多个预定输入条件执行所述可执行脚本,以接收至少一个确定性响应;
处理服务器的散列模块,所述散列模块被配置成至少基于所述多个预定输入条件和所述至少一个确定性响应,生成散列值;
处理服务器的生成模块,所述生成模块被配置成至少基于生成的散列值和包括在第一交易值中的交易散列,生成新的交易值;和
处理服务器的验证模块,所述验证模块被配置成验证包括在区块链中的区块之中的第二交易值与生成的所述新的交易值是否相匹配,第二交易值基于所述一个或多个确定性交易输入中的基于一个或多个关联的预定输入条件是否被满足而修改的至少一个修改后的确定性交易输入。
18.按照权利要求17所述的系统,其中验证第二交易值与生成的所述新的交易值是否相匹配包括:
通过处理服务器的查询模块,对区块链进行第二查询以识别第二交易值;和
通过处理服务器的验证模块,验证第二交易值与生成的所述新的交易值等同。
19.按照权利要求17所述的系统,其中验证第二交易值与生成的所述新的交易值是否相匹配包括:
通过处理服务器的查询模块,对区块链进行第二查询以识别第二交易值;和
通过处理服务器的验证模块,验证第二交易值与生成的所述新的交易值不同。
20.按照权利要求17所述的系统,其中所述可执行脚本是智能合约。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/392,108 US10715331B2 (en) | 2016-12-28 | 2016-12-28 | Method and system for providing validated, auditable, and immutable inputs to a smart contract |
US15/392,108 | 2016-12-28 | ||
CN201780081308.5A CN110121727B (zh) | 2016-12-28 | 2017-10-26 | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 |
PCT/US2017/058440 WO2018125370A1 (en) | 2016-12-28 | 2017-10-26 | Method and system for providing validated, auditable, and immutable inputs to a smart contract |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780081308.5A Division CN110121727B (zh) | 2016-12-28 | 2017-10-26 | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116882994A true CN116882994A (zh) | 2023-10-13 |
Family
ID=60269977
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310877298.3A Pending CN116882994A (zh) | 2016-12-28 | 2017-10-26 | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 |
CN201780081308.5A Active CN110121727B (zh) | 2016-12-28 | 2017-10-26 | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780081308.5A Active CN110121727B (zh) | 2016-12-28 | 2017-10-26 | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10715331B2 (zh) |
EP (1) | EP3563326A1 (zh) |
JP (2) | JP6946435B2 (zh) |
KR (2) | KR102263985B1 (zh) |
CN (2) | CN116882994A (zh) |
WO (1) | WO2018125370A1 (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US10305694B2 (en) * | 2016-05-27 | 2019-05-28 | Mastercard International Incorporated | Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology |
US10824746B1 (en) | 2017-01-25 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Systems and methods for controlled access to blockchain data |
CN107025559B (zh) * | 2017-01-26 | 2020-09-18 | 创新先进技术有限公司 | 一种业务处理方法及装置 |
JP6931999B2 (ja) * | 2017-02-06 | 2021-09-08 | 株式会社日立製作所 | 信用度管理システムおよび信用度管理方法 |
CN106941487B (zh) * | 2017-02-24 | 2021-01-05 | 创新先进技术有限公司 | 一种数据发送方法及装置 |
US10929931B1 (en) | 2017-05-02 | 2021-02-23 | State Farm Mutual Automobile Insurance Company | Distributed ledger system for carrier discovery |
WO2018211834A1 (ja) * | 2017-05-16 | 2018-11-22 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US11238164B2 (en) * | 2017-07-10 | 2022-02-01 | Burstiq, Inc. | Secure adaptive data storage platform |
WO2019032834A1 (en) * | 2017-08-11 | 2019-02-14 | Secure Open Systems, Inc. | HACHING-BASED DATA VERIFICATION SYSTEM |
GB201713046D0 (en) * | 2017-08-15 | 2017-09-27 | Nchain Holdings Ltd | Computer-implemented system and method |
US11153096B2 (en) * | 2017-08-16 | 2021-10-19 | Royal Bank Of Canada | Platform for generating authenticated data objects |
US11574268B2 (en) * | 2017-10-20 | 2023-02-07 | International Business Machines Corporation | Blockchain enabled crowdsourcing |
US20200278959A1 (en) * | 2017-10-27 | 2020-09-03 | Tata Consultancy Services Limited | System and method for blockchain coexistence |
US11037227B1 (en) * | 2017-11-22 | 2021-06-15 | Storcentric, Inc. | Blockchain-based decentralized storage system |
US10937111B2 (en) * | 2017-11-28 | 2021-03-02 | International Business Machines Corporation | Managing energy purchase agreements on a blockchain |
US20200402167A1 (en) * | 2018-02-08 | 2020-12-24 | 2Bc Innovations, Llc | Updating a portfolio of blockchain-encoded rived longevity-contingent instruments |
WO2019167116A1 (ja) * | 2018-02-27 | 2019-09-06 | 日本電気株式会社 | ブロックチェーン管理システム、ブロックチェーン管理装置、情報提供装置及びブロックチェーン管理方法 |
US10409783B1 (en) * | 2018-06-06 | 2019-09-10 | Capital One Services, Llc | Distributed work data management |
US11556874B2 (en) * | 2018-06-11 | 2023-01-17 | International Business Machines Corporation | Block creation based on transaction cost and size |
US11386493B2 (en) * | 2018-07-13 | 2022-07-12 | Toffee Merger Sub Ii, Llc | System and method for cryptocurrency trading |
US10896149B2 (en) * | 2018-07-29 | 2021-01-19 | International Business Machines Corporation | Composition operators for smart contract |
US10901955B2 (en) | 2018-07-29 | 2021-01-26 | International Business Machines Corporation | Smart contract input mapping |
US10896195B2 (en) | 2018-07-29 | 2021-01-19 | International Business Machines Corporation | Automatic generation of smart contracts |
AU2019329945A1 (en) * | 2018-08-30 | 2021-04-08 | Neuralia Technologies Inc. | System and method for improved blockchain-implemented smart contract |
AU2019342086B2 (en) * | 2018-09-18 | 2021-04-22 | Newsouth Innovations Pty Limited | A block chain-based system for multi-party, multistage process verification |
US10997251B2 (en) * | 2018-10-15 | 2021-05-04 | Bao Tran | Smart device |
CN109615383B (zh) * | 2018-10-26 | 2021-03-16 | 创新先进技术有限公司 | 基于区块链的数据存证、获取方法和装置 |
JP6892504B2 (ja) * | 2018-11-27 | 2021-06-23 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | スマートコントラクトを使用したマルチパーティトランザクションの実行 |
CN110060111A (zh) | 2018-12-12 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的发票访问方法和装置、电子设备 |
EP3560143B1 (en) | 2018-12-13 | 2021-09-15 | Advanced New Technologies Co., Ltd. | Data isolation in a blockchain network |
CN110046900B (zh) * | 2018-12-27 | 2024-04-05 | 创新先进技术有限公司 | 基于区块链的发票作废方法和装置、电子设备 |
CN111899097B (zh) * | 2018-12-28 | 2023-10-27 | 创新先进技术有限公司 | 一种受理区块链存证交易的方法及系统 |
US11018848B2 (en) | 2019-01-02 | 2021-05-25 | Bank Of America Corporation | Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding |
US11012232B2 (en) | 2019-01-02 | 2021-05-18 | Bank Of America Corporation | Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding |
US11115186B2 (en) | 2019-01-02 | 2021-09-07 | Bank Of America Corporation | Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding |
KR102185191B1 (ko) * | 2019-01-22 | 2020-12-01 | (주)에스투더블유랩 | 암호화폐 거래 분석 방법 및 시스템 |
KR102228210B1 (ko) * | 2019-04-29 | 2021-03-16 | 에이치엔핀코어 주식회사 | 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법 |
CN111837115A (zh) * | 2019-07-11 | 2020-10-27 | 创新先进技术有限公司 | 共享的区块链数据存储 |
SG11202002017YA (en) | 2019-07-11 | 2020-04-29 | Alibaba Group Holding Ltd | Shared blockchain data storage |
EP3673620B8 (en) | 2019-07-11 | 2022-02-16 | Advanced New Technologies Co., Ltd. | Shared blockchain data storage |
KR102064244B1 (ko) | 2019-08-06 | 2020-01-09 | 제주대학교 산학협력단 | 하이퍼체인을 이용한 블록체인 연결 방법 및 그 장치 |
CN110990410B (zh) * | 2019-09-20 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 区块链中的信息查找方法、装置、存储介质和计算机设备 |
KR102269174B1 (ko) | 2019-10-07 | 2021-06-24 | 고려대학교 산학협력단 | 스마트 컨트랙트 검증 장치 및 방법 |
KR102307249B1 (ko) * | 2019-11-18 | 2021-10-01 | 서강대학교 산학협력단 | 블록체인을 기반으로 한 음성 녹취 정보 저장 시스템 |
US11620722B2 (en) | 2019-11-27 | 2023-04-04 | Electronics And Telecommunications Research Institute | Method and apparatus of generating policy-based smart contract |
KR102505911B1 (ko) * | 2019-11-27 | 2023-03-06 | 한국전자통신연구원 | 정책기반 스마트 계약을 생성하기 위한 방법 및 그 장치 |
CN111045892A (zh) * | 2019-12-11 | 2020-04-21 | 北京菲林方德科技有限公司 | 一种智能合约执行的过程状态检测方法及装置 |
WO2021125108A1 (ja) * | 2019-12-19 | 2021-06-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、装置、および、プログラム |
JPWO2021125107A1 (zh) * | 2019-12-19 | 2021-06-24 | ||
US11651096B2 (en) | 2020-08-24 | 2023-05-16 | Burstiq, Inc. | Systems and methods for accessing digital assets in a blockchain using global consent contracts |
KR102267560B1 (ko) * | 2020-11-13 | 2021-06-21 | 주식회사 케이사인 | 블록 체인에 저장되는 데이터 크기를 축소할 수 있는 데이터의 변경 이력 관리 방법 |
SG10202101048PA (en) * | 2021-02-01 | 2021-06-29 | Aqilliz Pte Ltd | Systems and methods for recording an indeterministic transaction on a distributed ledger network |
US11943210B2 (en) * | 2021-04-16 | 2024-03-26 | Verizon Patent And Licensing Inc. | System and method for distributed, keyless electronic transactions with authentication |
US20220374884A1 (en) * | 2021-05-24 | 2022-11-24 | Radian Group Inc. | Blockchain Secured Transaction Workflows |
US11943360B2 (en) | 2021-06-22 | 2024-03-26 | International Business Machines Corporation | Generative cryptogram for blockchain data management |
WO2023140828A1 (en) * | 2022-01-18 | 2023-07-27 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling access to data stored on a blockchain |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2290562A1 (en) * | 2009-08-24 | 2011-03-02 | Amadeus S.A.S. | Segmented main-memory stored relational database table system with improved collaborative scan algorithm |
WO2012122060A1 (en) * | 2011-03-04 | 2012-09-13 | Visa International Service Association | Cloud service facilitator apparatuses, methods and systems |
KR101660627B1 (ko) * | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | 암호화 화폐의 거래를 보호하는 방법 및 장치 |
CA2981511C (en) * | 2015-03-31 | 2018-08-28 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
US10007913B2 (en) * | 2015-05-05 | 2018-06-26 | ShoCard, Inc. | Identity management service using a blockchain providing identity transactions between devices |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20170017954A1 (en) * | 2015-07-14 | 2017-01-19 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
US20170046689A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US11488147B2 (en) * | 2015-07-14 | 2022-11-01 | Fmr Llc | Computationally efficient transfer processing and auditing apparatuses, methods and systems |
US20170132621A1 (en) * | 2015-11-06 | 2017-05-11 | SWFL, Inc., d/b/a "Filament" | Systems and methods for autonomous device transacting |
US20170134280A1 (en) | 2015-11-11 | 2017-05-11 | Mastercard International Incorporated | Method and system for validation of hashed data via acceptance frames |
US10521780B1 (en) * | 2015-12-16 | 2019-12-31 | United Services Automobile Association (Usaa) | Blockchain based transaction management |
US11354658B2 (en) * | 2016-02-11 | 2022-06-07 | Mastercard International Incorporated | Method and system for offline blockchain exchanges |
EP3420517B1 (en) * | 2016-02-23 | 2022-07-06 | nChain Holdings Limited | A method and system for the secure transfer of entities on a blockchain |
EP3257191B1 (en) * | 2016-02-23 | 2018-04-11 | Nchain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
CN105893042A (zh) * | 2016-03-31 | 2016-08-24 | 北京航空航天大学 | 一种基于区块链的智能合约的实现方法 |
CN105956923B (zh) * | 2016-04-20 | 2022-04-29 | 上海如鸽投资有限公司 | 资产交易系统以及资产的数字化认证和交易方法 |
CN105931052A (zh) * | 2016-04-21 | 2016-09-07 | 四川大学 | 一种基于区块链多因子交叉验证的虚拟货币交易验证方法 |
US10305694B2 (en) * | 2016-05-27 | 2019-05-28 | Mastercard International Incorporated | Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology |
CN106100847B (zh) * | 2016-06-14 | 2021-10-26 | 惠众商务顾问(北京)有限公司 | 非对称加密区块链身份信息验证方法及装置 |
US10592639B2 (en) * | 2016-09-06 | 2020-03-17 | Intel Corporation | Blockchain-based shadow images to facilitate copyright protection of digital content |
KR101849917B1 (ko) * | 2016-10-13 | 2018-05-31 | 주식회사 코인플러그 | 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 |
US20180130034A1 (en) * | 2016-11-07 | 2018-05-10 | LedgerDomain, LLC | Extended blockchains for event tracking and management |
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
US10382485B2 (en) * | 2016-12-23 | 2019-08-13 | Vmware, Inc. | Blockchain-assisted public key infrastructure for internet of things applications |
US10762481B2 (en) * | 2017-03-21 | 2020-09-01 | The Toronto-Dominion Bank | Secure offline approval of initiated data exchanges |
US10361870B2 (en) * | 2017-09-14 | 2019-07-23 | The Toronto-Dominion Bank | Management of cryptographically secure exchanges of data using permissioned distributed ledgers |
US10567320B2 (en) * | 2017-10-17 | 2020-02-18 | American Express Travel Related Services Company, Inc. | Messaging balancing and control on blockchain |
-
2016
- 2016-12-28 US US15/392,108 patent/US10715331B2/en active Active
-
2017
- 2017-10-26 KR KR1020217002296A patent/KR102263985B1/ko active IP Right Grant
- 2017-10-26 WO PCT/US2017/058440 patent/WO2018125370A1/en unknown
- 2017-10-26 KR KR1020197018787A patent/KR102209737B1/ko active IP Right Grant
- 2017-10-26 EP EP17795165.4A patent/EP3563326A1/en active Pending
- 2017-10-26 JP JP2019535304A patent/JP6946435B2/ja active Active
- 2017-10-26 CN CN202310877298.3A patent/CN116882994A/zh active Pending
- 2017-10-26 CN CN201780081308.5A patent/CN110121727B/zh active Active
-
2020
- 2020-06-09 US US16/946,185 patent/US11444777B2/en active Active
-
2021
- 2021-09-15 JP JP2021150225A patent/JP7213319B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US10715331B2 (en) | 2020-07-14 |
WO2018125370A1 (en) | 2018-07-05 |
CN110121727A (zh) | 2019-08-13 |
JP2022003547A (ja) | 2022-01-11 |
JP6946435B2 (ja) | 2021-10-06 |
JP7213319B2 (ja) | 2023-01-26 |
US20180183600A1 (en) | 2018-06-28 |
KR20190088531A (ko) | 2019-07-26 |
KR102209737B1 (ko) | 2021-02-01 |
KR102263985B1 (ko) | 2021-06-14 |
US11444777B2 (en) | 2022-09-13 |
JP2020504954A (ja) | 2020-02-13 |
CN110121727B (zh) | 2023-08-04 |
US20200304312A1 (en) | 2020-09-24 |
KR20210011513A (ko) | 2021-02-01 |
EP3563326A1 (en) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110121727B (zh) | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 | |
US11651358B2 (en) | Method and system for transaction processing with complete cryptographic auditability | |
US11456868B2 (en) | Method and system for recording point to point transaction processing | |
CN114788222A (zh) | 用于安全和可验证的离线区块链交易的方法和系统 | |
US11301459B2 (en) | Method and system for data localization-compliant blockchain processing and storage | |
US11699135B2 (en) | Method and system to delegate issuance capability to a third-party | |
US20230068301A1 (en) | Method and system for privately managed digital assets on an enterprise blockchain | |
CN118120180A (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 |