CN111316594A - 分布式计算系统和方法 - Google Patents
分布式计算系统和方法 Download PDFInfo
- Publication number
- CN111316594A CN111316594A CN201880072729.6A CN201880072729A CN111316594A CN 111316594 A CN111316594 A CN 111316594A CN 201880072729 A CN201880072729 A CN 201880072729A CN 111316594 A CN111316594 A CN 111316594A
- Authority
- CN
- China
- Prior art keywords
- computer system
- computer
- attestation
- implemented method
- key
- 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 description 63
- 238000010200 validation analysis Methods 0.000 claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000011156 evaluation Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 28
- 238000013515 script Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 239000004020 conductor Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 101100063070 Bacillus subtilis (strain 168) degA gene Proteins 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013259 porous coordination polymer Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- 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/40—Authorisation, 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/405—Establishing or using transaction specific rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种分布式处理系统,该系统涉及将计算任务分配给一个或更多个不受信任的工作方计算机系统。当不受信任的工作方计算机系统代表请求计算机系统执行计算时,将向请求计算机系统(或其他证实计算机系统)提供信息,该信息允许请求计算机系统以密码方式证实该任务已正确完成。完成计算后,工作方计算机系统向请求方提供包括证明和I/O数据的信息。请求计算机系统可以使用一组公共证实密钥参数、证明和I/O数据来证实不受信任的工作方计算机系统执行的计算正确。在一些示例中,工作方执行的计算与区块链交易的证实相关联。例如,由不受信任的工作方计算机系统执行的计算的证实可以作为验证区块链节点上的交易的一部分而发生。
Description
技术领域
本发明总体上涉及分布式计算系统的操作,并且更具体地涉及用于以加密方式证实分发给第三方计算机系统并由第三方计算机系统执行的计算任务的正确完成的方法和系统。本发明的一些实施方式可以特别适合于但不限于在区块链系统中使用。
背景技术
在本文中,术语“区块链”指的是一些类型的基于计算机的电子分布式账本中的任意一种。这些包括基于共识的区块链和交易链技术、经许可和未经许可的账本、共享账本及其变体。区块链技术最广为人知的应用是比特币账本,尽管已经提出并开发了其他区块链实现方式。虽然出于方便和说明的目的在本公开中可以参考比特币的示例,然而应当注意,本发明不限于与比特币区块链一起使用,并且替代性的区块链实现方式和协议落入本发明的范围内。例如,本发明在其他区块链实现方式中可以是有用的,该其他区块链实现方式关于在交易内可以对什么约束进行编码方面与比特币具有相似限制。
区块链是一种点对点的电子账本,其被实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易和其他信息组成。例如,对于比特币,每个交易都是这样的数据结构,该数据结构对区块链系统中的参与方之间的数字资产的控制转移进行编码,并包括至少一个输入和至少一个输出。。在一些实施方式中,“数字资产”是指与使用权相关联的二进制数据。数字资产的示例包括比特币、以太币和莱特币。在一些实施方式中,可以通过将数字资产的至少一部分从第一实体重新关联到第二实体来执行数字资产控制权的转移。每个区块包含前一个区块的哈希,以致于这些区块变为链接在一起,以创建自区块链开始以来就已经写入区块链的所有交易的永久、不可更改的记录。
交易包含嵌入其输入和输出中称为脚本的小程序,它们指定如何以及通过谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言来编写的。
一般说来,在将交易写入区块链之前,对其进行“验证”。网络节点(矿工)进行工作以确保每次交易都有效,而无效交易从网络中被拒绝。一个节点可以具有不同于其他节点的有效性标准。由于区块链中的有效性是基于共识的,因此,如果大多数节点同意交易有效,则该交易被视为有效。安装在节点上的软件客户端通过执行未耗用交易(UTXO)锁定和解锁脚本,来部分地对引用该未耗用交易(UTXO)的交易进行该验证工作。如果锁定和解锁脚本的执行评估为TRUE且满足其他验证条件(适用的情况下),则交易被节点验证。经过验证的交易将传播到其他网络节点,随后矿工节点可以选择将该交易包括在区块链中。因此,为了将交易写入区块链,该交易必须i)由接收交易的第一节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由矿工构建的新区块;并且iii)被挖掘,即加入过去交易的公共账本。当将足够数量的区块被添加到区块链以使交易实际上不可逆时,该交易被视为已确认。
虽然区块链技术最广为人知的地方在于使用加密货币实现方式,但是数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可用于并不限于加密货币领域的自动化任务和过程,这将是非常有利的。这样的解决方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录,分布式处理等),同时在其应用中更通用。
当前研究的一个领域是使用区块链来实施“智能合约”。智能合约是自动化以机器可读形式存储的合约或协议条款的执行和/或确认的计算机实现的系统。与将用自然语言编写的传统合约不同,智能合约是对条款和条件的机器可读描述,其可由计算机系统处理以产生结果,然后可使得动作基于这些结果被执行。
令人感兴趣的另一区块链相关领域是使用“令牌”(或“彩色币”)来表示真实世界实体经由区块链进行的转移。潜在敏感或私密的项目可以由没有可辨认含义或值的令牌来表示。因此,令牌用作标识符,其使得真实世界的项目能够从区块链查阅到。
在实施方式中,就没有给创建者或某些其他特定实体分配以强制智能合约执行和/或执行智能合约的意义而言,智能合约是“智能”的。也就是说,尽管可以在智能合约中的特定步骤对与特定实体的交互进行编码,但是智能合约也可另外地自动执行和自我执行。智能合约是机器可读和可执行的。在一些示例中,自动执行是指能够解锁UTXO并具有对于这样做的激励(例如,奖励)的任何实体。请注意,在此类示例中,能够解锁UTXO的“任何实体”是指能够创建解锁脚本而无需证明知道某些私密信息的实体。换句话说,可以在不证实(verify)数据源能够访问加密的私密(例如,私密非对称密钥,对称密钥等)的情况下验证(validate)解锁交易。另外,在这样的示例中,自我执行是指使区块链网络的验证节点根据约束来强制执行耗用交易。在一些示例中,“解锁”UTXO指创建这样的解锁交易,该解锁交易引用UTXO并在有效时执行。“解锁”交易有时这被称为“耗用”交易。
区块链交易输出包括锁定脚本和有关数字资产(比如比特币)的所有权的信息。锁定脚本(也可以称为阻碍)通过指定解锁输出所需满足的条件来“锁定”数字资产。例如,锁定脚本可能要求在解锁脚本中提供某些数据以解锁关联的数字资产。锁定脚本在比特币中也称为“scriptPubKey”。要求一方提供数据以解锁数字资产的技术涉及将数据的哈希嵌入锁定脚本中。然而,在创建锁定脚本时如果没有确定(例如不知道且不固定)数据,这会带来问题。
发明内容
因此,期望提供一种在一个或更多个方面改进分布式计算系统的方法和系统。现已设计出这种改进的方案。因此,根据本发明,提供了如所附权利要求中所限定的方法。
因此,期望提供一种计算机实现的方法,该计算机实现的方法包括:向一组独立的计算机系统提供任务,所述独立的计算机系统能够竞争以提供所提供任务的结果,所述任务指定要执行的计算;以及通过至少以下方式,在证实计算机系统处,证实计算由所述一组独立计算机系统中的工作方计算机系统正确地执行,所述计算基于具有一组乘法门的电路:生成评估密钥;向工作方计算机系统提供所述评估密钥;从所述工作方计算机系统接收证明,所述证明至少部分地基于所述评估密钥;生成证实密钥;以及使用所述证明和所述证实密钥证实计算是正确的。
证实密钥基于到所述一组乘法门的输入和所述一组乘法门的输出中的一个或更多个。在实施方式中,证实密钥是公共证实密钥,且公共证实密钥可由计算机系统发布。
证明可至少部分地基于所述乘法门的一组中间输出。在实施方式中,一组中间输出排除了电路的最终输出。
证明可至少部分地基于公共评估密钥。
证明和证实密钥可至少部分地基于生成不同群组的第一生成器和第二生成器。
优选地,该方法还可以包括:证实所述证明的元素与所述评估密钥的元素一致。在实施方式中,可以以如下方式确定评估密钥,其中i代表电路内部导线的索引,deg(t)是多项式t(x)的次数,deg(t)等于电路中乘法门的数量:
优选地,该方法还可以包括:证实所述证明的元素是使用匹配系数而构造的。在实施方式中,以如下方式针对Vmid(s)P、Wmid(s)Q和Ymid(s)P确认匹配系数:
优选地,该方法还可以包括:证实对所述证明的项的可除性要求。在实施方式中,证实实体通过进行以下确认来确认满足了可除性要求:
工作方计算机系统可以提供与所述电路的输入和输出值相对应的一组I/O值。在实施方式中,I/O数据是工作方计算机系统评估的函数的输入和输出。
电路可以包括一个或更多个加法门,所述加法门以其对所述乘法门的贡献来建模。在实施方式中,电路可被视为一组乘法门和加法门,其中电路包含连接到d个乘法门的m个导线,且加法门以其对乘法门的贡献来建模。
计算可以是比特币交易验证的一部分,或在其他实施方式中,计算可以是区块链交易验证的一部分。
至少通过以下步骤来证实所述计算是正确的:向证实计算机系统提供所述证明、所述证实密钥和一组I/O值;以及从所述证实计算机系统接收所述计算是正确的的指示。在实施方式中,该指示是表示计算是正确的可加密证实的指示,比如以证实计算机系统关联的密钥生成的数字签名。
证实计算机系统可以是区块链节点或比特币节点。
期望提供一种系统,包括:处理器;和存储器,包括可执行指令,作为被所述处理器执行的结果,所述可执行指令使所述系统执行所声称所述的方法中的任意方法。
还期望提供一种非暂时性计算机可读存储介质,其上存储有可执行指令,作为被计算机系统的一个或更多个处理器执行的结果,所述可执行指令使所述计算机系统至少执行所声称的方法中的任意方法。
附图说明
通过在此描述的实施方式,本发明的这些和其他方面将变得明显,且将参考在此所述的实施方式阐述本发明的这些和其他方面。现在参考附图仅作为示例描述本发明的实施方式,在附图中:
图1示出了可以在其中实现各种实施方式的区块链环境;
图2是示出了如下过程的示例的泳道图,该过程在被客户端计算机系统和工作方计算机系统执行时,使得客户端能够根据实施方式使用证明π和证实密钥VK来证实工作方执行的工作;
图3示出了根据实施方式的表示算术函数的电路的示例;
图4是示出如下过程的示例的流程图,根据实施方式该过程在被客户端计算机系统执行时,确定证实密钥VK;
图5是示出如下过程的示例的流程图,根据实施方式该过程在被客户端计算机系统执行时,使用证明π证实工作方计算机系统执行的计算;以及
图6示出了可以在其中实现各种实施方式的计算环境。
具体实施方式
在分布式计算环境中,可以将单个任务划分为多个子任务,这些子任务可以分布在多个计算机系统中用于执行。多个计算机系统中的每一个可以执行一个或更多个子任务。在各个示例中,由各个计算机系统产生的结果由协调计算机系统累加和汇总,以产生原单个任务的结果。因此,在许多实施方式中,协调计算机系统有兴趣确定每个子任务被正确执行,从而针对原单个任务产生的结果是正确的。这在被分配了子任务的各个计算机系统不能被协调计算机系统完全信任的情况下,尤其成问题。本文中描述的系统和方法允许证实计算机系统以加密方式证实另一计算机系统执行的工作,即使该另一计算机系统可能是不受信任的计算机系统。这允许协调计算机系统将工作分配到不一定受信任的更广泛的一组计算机系统,这是因为可以对生成的工作进行加密证实,而无需再现分配的子任务。
本文通过各种示例描述了可对不受信任的工作方计算机系统的工作进行证实的过程。在一些实施方式中,可以将分配至工作方计算机系统的工作视为逻辑电路的一部分,并且证实与该电路的一些或全部相关联的工作允许证实方继续进行与该逻辑电路有关的其他子任务。在一些实现方式中,使用区块链交换与子任务的执行和证实有关的信息。然而,本文描述的方法适用于任何分布式计算环境,在其中需要证实实体来确认由一个或更多个不受信任的计算机系统执行的工作。
双重字母可用于表示字段。例如,可用于表示特征p的有限字段,而可用于表示的次k的扩展字段,其中k是非零整数。由非零元素组成的子集可以写为在另一个示例中,对于质数p,且在另一个示例中,E是有限字段(相应地)上的椭圆曲线,r阶阿贝尔子群组(相应地)可以写为(相应地)。从集合X中随机采样的元素x可以表示为符号可用于表示有效的可计算双线性图,其中和是相同质数r阶的循环群组。和是加法群组,是乘法群组。算术运算以r为模执行。
本文描述了利用二次算术规划(“QAP”)的一个或更多个实施方式。在各种实施方式中,一般计算在质数r阶的字段上被编码为一组多项式运算。在一个示例中,其中vi,wi,yi,t∈次为deg(vi),deg(wi),deg(yi)<deg(t)=d的多项式。参考前面的示例,可以通过以下陈述来描述QAP:Q的大小为m(m表示内部导线的数量),并且Q的次是t的次d,其中d是乘法门的数目。在另一个示例中,令成为QAP。在t除的情况下,元组(a0,...,am)是Q的解。多项式将左输入编码到每个乘法门,多项式将右输入编码到每个乘法门,多项式对输出进行编码。
首先参考图1,其示出了根据本公开的实施方式的与区块链相关联的示例性区块链网络100。在该实施方式中,示例性区块链网络100包括被实现为点对点分布式电子设备的区块链节点,每个节点运行软件和/或硬件的实例,该软件和/或硬件的实例执行遵循区块链协议的操作,该区块链协议至少部分地在节点102的操作方之间达成一致。在一些示例中,“节点”是指在区块链网络中分布的点对点电子设备。区块链协议的一个例子是比特币协议。
在一些实施方式中,节点102可以包括任何合适的计算设备(例如,通过数据中心中的服务器,客户端计算设备(例如,台式计算机、膝上型计算机、平板计算机、智能手机等),计算资源服务提供商的分布式系统中的多个计算设备,或通过任何合适的电子客户端设备,诸如图6的计算设备600)。在一些实施方式中,节点102具有输入以接收代表所提议的交易(例如交易104)的数据消息或对象。在一些实施方式中,可在节点查询其所维护的信息,例如交易104状态的信息。
如图1所示,一些节点102通信地耦合到一个或更多个其他节点102。这种通信耦合可以包括有线或无线通信中的一个或更多个。在实施方式中,节点102各自维护区块链中所有交易的“账本”的至少一部分。以这种方式,账本将是分布式账本。由影响账本的节点处理的交易可由一个或更多个其他节点证实,从而维护账本的完整性。
关于哪些节点102可以与哪些其他节点通信,使得示例区块链网络100中的每个节点能够与一个或更多个其他节点102通信就足够了,从而在节点之间传递的消息可以遍历示例区块链网络100(或网络的某些重要部分)而传播--假设该消息是区块链协议指示应转发的消息。一个这样的消息可以是节点102之一(比如节点102A)发布所提议的交易,然后其沿着路径比如路径106传播。另一个这样的消息可以是发布新区块--该新区块是被提议包括进区块链中的。
在实施方式中,至少一些节点102是执行复杂的计算比如求解加密问题的矿工节点。求解加密问题的矿工节点为区块链创建新区块,并将该新区块广播到节点102中的其他节点。节点102中的其他节点证实矿工节点的工作,并在证实后将区块接受到区块链中(例如,通过将其添加到区块链的分布式账本中)。在一些示例中,区块是一组交易,通常用前一个区块的时间戳和“指纹”(例如,哈希)标记。通过这种方式,每个区块都可以链接到先前的区块,从而在区块链中创建链接区块的“链”。在实施方式中,通过节点102的共识将有效区块添加到区块链。此外,在一些示例中,区块链包括一列已验证区块。
在实施方式中,至少一些节点102作为如本公开所述验证交易的验证节点操作。在一些示例中,交易包括提供数字资产(例如,许多比特币)所有权的证明的数据以及用于接受或转移数字资产所有权/控制权的条件。在一些示例中,“解锁交易”是指将由先前交易的未耗用交易输出(UTXO)指示的数字资产的至少一部分重新关联(例如,转移所有权或控制权)到与区块链地址相关联的实体的区块链交易。在一些示例中,“先前交易”是指包含由解锁交易所引用的UTXO的区块链交易。在一些实施方式中,交易包括“锁定脚本”,该“锁定脚本”以在转移(“解锁”)所有权/控制权之前必须满足的条件来阻碍交易。
在一些实施方式中,区块链地址是一串字母数字字符,其与将数字资产的至少一部分的控制权正被转移/重新关联到其的实体相关联。在一些实施方式中实现的一些区块链协议中,与该实体相关联的公共密钥与区块链地址之间存在一一对应的关系。在一些实施方式中,交易的验证涉及验证在锁定脚本和/或解锁脚本中指定的一个或更多个条件。在成功验证交易104之后,验证节点将交易104添加到区块链并将其分发给节点102。
图2是示出了如下过程的示例的泳道图,如果该过程由客户端计算机系统和工作方计算机系统执行,则该过程允许客户端根据实施方式使用证明π和证实密钥VK来证实工作方执行的工作。过程200(或所描述的任何其他过程,或这些过程的变型和/或组合)中的一些或全部可以在配置有可执行指令和/或其他数据的一个或更多个计算机系统的控制下执行,并且可以作为在一个或更多个处理器上共同执行的可执行指令来实施。可执行指令和/或其他数据可以存储在非暂时性计算机可读存储介质上(例如,永久存储在磁、光或闪存介质上的计算机程序)。
例如,过程200的一些或全部可以由一个或更多个计算设备(例如,由数据中心中的服务器,由客户端计算设备,由计算资源服务提供商的分布式系统中的多个计算设备,或通过任何合适的电子客户端设备,例如图6的计算设备600)来执行。
在各种实施方式中,客户端计算机系统提交将由工作方计算机系统执行的计算。客户端计算机系统可能不完全信任工作方计算机系统,因此,工作方计算机系统提供信息以允许客户端计算机系统或另一个受信任的证实计算机系统证实工作方计算机系统执行的计算是正确的。
在许多示例中,客户端不完全信任工作方计算机系统,因此,为了满足客户端计算机系统,工作方计算机系统会提交允许客户端计算机系统证明计算被正确执行的信息。在一些实施方式中,由客户端计算机系统信任的证实计算机系统执行对工作方计算机系统执行的工作的证实。
在各种实施方式中,公共证实密钥参数VK、证明π和I/O数据被用来证实由不受信任的工作方计算机系统提供的所声称的正确计算的证明。在各种实施方式中,证实计算机系统从客户端计算机系统和不受信任的工作方计算机系统收集在证实过程中使用的材料,并代表客户端计算机系统执行证实。在实施方式中,由不受信任的工作方计算机系统执行的计算的证实发生在交易的验证期间,因此证实计算系统可以是任何比特币节点或区块链节点。
该过程在框202处开始,其中客户端计算机系统识别将由工作方计算机系统评估的函数。在框204,客户端计算机系统为提交给工作方计算机系统的功函数构造评估密钥EK。在框206处,客户端计算机系统生成可用于证实工作方计算机系统执行的工作的证实密钥VK。在框208,客户端计算机系统将函数和评估密钥EK提交给工作方计算机系统。
在实施方式中,如下完成对公共评估密钥EK的构造。
在上述实施方式中,i代表电路内部导线的索引,deg(t)是多项式t(x)的次数,deg(t)等于电路中乘法门的数量。对于图3所示的电路,公共评估密钥EK如下:
在框210处,工作方计算机系统从客户端计算机系统接收评估密钥EK和描述要执行的函数的信息。工作方计算机系统评估客户端计算机系统请求的函数,并构造212证明π,该证明π可用于证实工作方计算机系统执行的计算。在框214,工作方计算机系统将证明π和计算的I/O数据提供给客户端计算机系统。在实施方式中,I/O数据是工作方计算机系统正在评估的函数的输入和输出。
在框216,客户端计算机系统从工作方计算机系统接收I/O数据和证明π。在框218,客户端计算机系统使用来自VK、π和I/O数据的元素来证实由工作方计算机系统执行的计算。
注意,在202-218中执行的一个或更多个操作可以以各种顺序和组合(包括并行地)执行。
注意,在描述公开的实施方式的上下文中,除非另有说明,否则,使用关于可执行指令(也称为代码,应用程序,代理等)执行操作(即,“指令”通常不独立执行的操作(例如传输数据、计算等))的表达表示指令正在由机器执行,从而使得机器执行指定的操作。
在Gennaro,R.等人题为“Quadratic Span Programs and Succinct NIZKswithout PCPs”的论文中(2013),描述了一种基于二次算术规划的用于可证实计算的协议。在该协议中,电路将n个元素作为输入,并生成n′个元素的输出,总共N=n+n′个IO元素(或I/O数据)。可以将电路视为一组乘法和加法门,其中电路包含连接到d个乘法门的m个导线,并且对加法门以其对乘法门的贡献进行建模。
为了使证实实体证明输入/输出导线上的分配(a1,a2,...,aN)是有效的,证明存在与内部导线上的分配相对应的系数(aN+1,...,am)就足够了,这使得多项式p(x)的根为(x1,x2,...,xd),即p(xi)i=1...d=0。多项式p(x)对门方程和导线值进行编码。因此,存在一个多项式h(x),其中p(x)=h(x)·t(x),其中
如果为了证明t能除 证明方在未知点s上计算商多项式并使用双线性映射来检查p(s)=t(s)·h(s)。在各种示例中,将执行附加证实,以确保工作方计算机系统正确地并入了输入(a1,A2,...,an),以及工作方计算机系统使用客户端的评估密钥EK生成证明。
证明包含以下元素:
在VK、π和(a1,a2,...,aN)的实施方式中,证实计算机系统证实t(x)能除p(x),因此(xN+1,...,xm)=f(x0,...,xN),如下所示。首先,证实计算机系统通过进行以下确认来检查三个α项:
另外,证实方通过确认以下内容来确认满足可除性要求:
图3示出了根据实施方式的表示算术函数的电路的示例。图3所示的电路代表函数302:
f(a1,a2,a3,a4)=a1+a2a3(a3+a4)
在电路中,每个导线值都来自质数域阶字段并且在该字段上执行所有操作。多项式根据其在三个乘法门304、308和312处的评估而被定义。加法门306和310利用其对乘法门的贡献而被建模。该电路产生输出值314。
当输入值a1,a2,a3,a4被分配给电路时,工作方计算机系统确定相应的输出值。例如,在输入上,工作方评估电路以获得与每个乘法门304、308和312的输出值相对应的集合(a5,a6,a7)将设置为1的虚拟输入导线a0添加到电路。对于电路中的每个乘法门304、308和312,选择不同的根值因此,对于图3所示的电路,随机选择三个值并将目标多项式t(x)设置为:
t(x)=(x-x5)(x-x6)(x-x7)
在实施方式中,多项式{vi(x)}表示乘法门的左输入,多项式{wi(x)}表示乘法门的右输入,多项式{yi(x)}表示电路的输出值。对于图3所示的示例电路,多项式{vi(x)},{wi(x)},{yi(x)}的显式表达式如下:
左输入多项式{vi(x)}
v1(x)=v3(x)=v4(x)=v6(x)=v7(x)=0
右输入多项式{wi(x)}
w0(x)=w2(x)=w5(x)=w7(x)=0
输出多项式{yi(x)}
y0(x)=y1(x)=y2(x)=y3(x)=y4(x)=0
在图3所示的示例中,公共证实密钥VK可被确定为:
在实施方式中,公共证实密钥被实现为具有各自表示不同分量的子序列的比特序列,然而将分量编码为公共证实密钥的不同方式被视为落在本公开的范围内。
证明π包含以下元素:
其中(h0,h1,h2,h3)是工作方评估的多项式h(x)的系数,而h(x)=h0+h1x+h2x2+h3x3。在实施方式中,证明被实现为具有子序列的比特序列,每个子序列表示证明的不同分量,然而将分量编码成证明的不同方式被认为在本公开的范围内。元素集合χ属于公共评估密钥EK。
在实施方式中,以下等式用于证实所声称的证明π。给定证实密钥VK、证明π和IO值ai={a0,a1,a2,a3,a4,a7},证实算法首先检查 和是使用来自评估密钥EK的元素构造的。即,协议首先证实以下等式(1)至(3)。
另外,证实计算机系统结合承诺中的项对证明项h(x)进行可除性检查。即,证实计算机系统证明:
通过进行以下确认来该证明:
图4是示出如下过程的示例的流程图,根据实施方式该过程如果由客户端计算机系统执行,则确定证实密钥VK。过程400(或所描述的任何其他过程,或这些过程的变化和/或组合)中的一些或全部可以在配置有可执行指令和/或其他数据的一个或更多个计算机系统的控制下执行,并且可以实现为在一个或更多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可以存储在非暂时性计算机可读存储介质上(例如,永久存储在磁、光或闪存介质上的计算机程序)。
例如,过程400的一些或全部可以由一个或更多个计算设备(例如,由数据中心中的服务器,由客户端计算设备,由计算资源服务提供商的分布式系统中的多个计算设备,或通过任何合适的电子客户端设备、例如图6的计算设备600)来执行。
在各种实施方式中,客户端计算机系统提交要由工作方计算机系统执行的计算。客户端计算机系统可能不完全信任工作方计算机系统,因此,工作方计算机系统提供这样的信息,该信息允许客户端计算机系统或另一个受信任的证实计算机系统来证实工作方计算机系统执行的计算是正确的。在许多示例中,客户端不完全信任工作方计算机系统,因此,为了满足客户端计算机系统,工作方计算机系统向客户端计算机系统提供这样的信息,该信息允许客户端计算机系统证明工作方计算机系统执行的计算是正确的。在各种实施方式中,公共证实密钥参数VK、证明π和I/O数据被用于证实由工作方计算机系统提供的正确计算的所声称的证明。流程图400示出了用于生成证实密钥VK的过程。
在实施方式中,在框402处,客户端计算机系统识别将由不受信任的工作方计算机系统执行的函数F。函数F将n个值作为输入。客户端计算机系统生成与该函数相对应的电路模型,其中该电路由一组乘法门和加法门组成。在框404,客户端计算机系统识别电路中的乘法门。
在实施方式中,在框406,客户端计算机系统随机选择与电路中每个乘法门的输出相对应的根值。在具有m个乘法门的电路中,客户端计算机系统选择m个根值(xn+1...xn+m)。
在实施方式中,在框408处,客户端计算机系统使用所选择的根植(xn+1...xn+m)确定对应于电路的目标多项式t(x)=(x-xn)(x-xn+1)...(x-xn+m)。在框410处,客户端计算机系统确定乘法门的左输入{vi(x)},乘法门的右输入{wi(x)}以及乘法门的输出值{yi(x)}。
在实施方式中,在框412处,客户端计算机系统从质数阶r的字段中选择用于退化(degeneration)的随机元素rv,rw,s,αv,αw,αy,β,γ,使得ry=rv·rw。
在实施方式中,在框414,客户端计算机系统确定公共证实密钥VK。令和为和的生成器,使得且应注意,(i)我们考虑不对称配对,即和(ii)(相应地)作为(相应地)的(r阶)子群组。给定生成器和使用随机生成的证实密钥VK如下:
注意,可以以各种顺序和组合(包括并行地)执行在202-214中执行的一个或更多个操作。
注意,在描述公开的实施方式的上下文中,除非另有说明,否则,使用关于可执行指令(也称为代码、应用程序、代理等)执行操作(即,“指令”通常不独立执行的操作(例如传输数据、计算等))的表达表示指令正在由机器执行,从而使得机器执行指定的操作。
图5是示出了如下过程的示例的流程图,根据实施方式,该过程如果由客户端计算机系统执行,则使用证明π来证实由工作方计算机系统执行的计算。过程500(或所描述的任何其他过程,或这些过程的变型和/或组合)中的一些或全部可以在配置有可执行指令和/或其他数据的一个或更多个计算机系统的控制下执行,并且可以实现为在一个或更多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可以存储在非暂时性计算机可读存储介质上(例如,永久存储在磁、光或闪存介质上的计算机程序)。
例如,过程500的一些或全部可以由一个或更多个计算设备(例如,由数据中心中的服务器,由客户端计算设备,由计算资源服务提供商的分布式系统中的多个计算设备,或通过任何合适的电子客户端设备、例如图6的计算设备600)来执行。
在各种实施方式中,客户端计算机系统提交要由工作方计算机系统执行的计算。客户端计算机系统可能不完全信任工作方计算机系统,因此,工作方计算机系统提供这样的信息,该信息允许客户端计算机系统或另一个受信任的证实计算机系统来证实工作方计算机系统执行的计算是正确的。在许多示例中,客户端不完全信任工作方计算机系统,因此,为了满足客户端计算机系统,工作方计算机系统向客户端计算机系统提供这样的信息,该信息允许客户端计算机系统证明工作方计算机系统执行的计算是正确的。在各种实施方式中,公共证实密钥参数VK、证明π和I/O数据被用于证实由工作方计算机系统提供的正确计算的所声称的证明。流程图500示出了使用工作方计算机系统提供的证明π证实工作方计算机系统执行的计算的过程。
在实施方式中,在框502,客户端计算机系统从工作方计算机系统接收证明π和I/O数据。证明包括以下内容:
在实施方式中,在框504,客户端计算机系统开始确认工作方计算机系统执行的工作是正确的过程。客户端计算机系统确认使用来自评估密钥EK的元素构造rvVmid(s)P、rwWmid(s)Q和ryYmid(s)P,如下所示:
在框506,客户端计算机系统确认对Vmid(s)P、Wmid(s)Q和Ymid(s)P使用匹配系数,如下所示:
在框508,客户端计算机系统将来自承诺的项进行组合以对证明项h(x)执行可除性检查,如下所示:
如果以上检查成功,则客户端计算机系统确定由工作方计算机系统执行的计算正确,并且客户端计算机系统可以信任工作方计算机系统提供的结果。
注意,可以以各种顺序和组合(包括并行地)执行在502-508中执行的一个或更多个操作。
注意,在描述公开的实施方式的上下文中,除非另有说明,否则,使用关于可执行指令(也称为代码、应用程序、代理等)执行操作(即,“指令”通常不独立执行的操作(例如传输数据、计算等))的表达表示指令正在由机器执行,从而使得机器执行指定的操作。
本文描述了增强和扩展区块链的能力的系统和方法。各种实施方式允许用户在公共区块链上安全地列出和交换权利,并集成几乎完整的匿名数字交易。各种实施方式可用于提供针对以下问题的解决方案:(i)公共参考字符串(CRS)和工作方的证明(π)存储问题,(ii)解锁脚本和CRS之间以及解锁脚本和π之间的相互作用。
可以使用各种实施方式来提供智能合约的安全、紧凑的表示:智能合约可以遵循使用诸如XML派生、FpML之类的特殊语言的格式化的约定。可使用各种实施方式将合约执行外包给不受信任的各方,或者公开地证实合约执行的正确性。合约验证可能并不意味着代码会重新执行。计算可能不被网络中的每个节点复制。在一些实施方式中,诚实执行的证明被存储在公共区块链中并用于验证目的。
图6是可用于实践本公开的至少一个实施方式的计算设备600的示例性简化框图。在各种实施方式中,计算设备600可以用于实现如上所示和描述的系统中的任何一个。例如,计算设备600可以被配置为用作数据服务器、网络服务器、便携式计算设备、个人计算机或任何电子计算设备。如图6所示,计算设备600可以包括一个或更多个处理器602,其在实施方式中经由总线子系统604与多个外围子系统通信并且可操作地耦合到多个外围子系统。在一些实施方式中,这些外围子系统包括存储子系统606(包括存储器子系统608和文件/磁盘存储子系统610)、一个或更多个用户接口输入设备612、一个或更多个用户接口输出设备614以及网络接口子系统616。该存储子系统606可以用于信息的临时或长期存储。
在一些实施方式中,总线子系统604提供用于使计算设备600的各个组件和子系统能够按预期彼此通信的机制。尽管总线子系统604被示意性地示出为单个总线,但是总线子系统的替代实施方式利用多个总线。在一些实施方式中,网络接口子系统616提供到其他计算设备和网络的接口。网络接口子系统616在一些实施方式中用作从其他系统接收数据以及从计算设备600向其他系统发送数据的接口。在一些实施方式中,总线子系统604用于传送诸如细节、搜索项等的数据。
在一些实施方式中,用户接口输入设备612包括一个或更多个用户输入设备,例如键盘;指向设备,例如集成鼠标、轨迹球、触摸板或图形输入板;扫描仪;条形码扫描仪;并入显示器中的触摸屏;音频输入设备,例如语音识别系统,麦克风;和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于向计算设备600输入信息的所有可能类型的设备和机制。在一些实施方式中,一个或更多个用户接口输出设备614包括显示子系统、打印机或非视觉显示器比如音频输出设备等。在一些实施方式中,显示子系统包括阴极射线管(CRT)、平板设备例如液晶显示器(LCD)、发光二极管(LED)显示器或投影或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备600输出信息的所有可能类型的设备和机制。一个或更多个用户接口输出设备614可以用于例如呈现用户接口,以便利于用户与执行所述处理和其中变型的应用交互—在这样的交互适当时。
在一些实施方式中,存储子系统606提供用于存储基本编程和数据结构的计算机可读存储介质,该基本编程和数据结构可以提供本公开的至少一个实施方式的功能性。当在实施方式中由一个或更多个处理器执行时,应用程序(程序、代码模块、指令)提供本公开的一个或更多个实施方式的功能性,并且在实施方式中被存储在存储子系统606中。这些应用程序模块或指令可以由一个或更多个处理器602执行。在各种实施方式中,存储子系统606另外地提供了用于存储根据本公开使用的数据的存储库。在一些实施方式中,存储子系统606包括存储器子系统608和文件/磁盘存储子系统610。
在实施方式中,存储器子系统608包括多个存储器,比如用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)618和/或可以存储固定指令的只读存储器(ROM)620。在一些实施方式中,文件/磁盘存储子系统610为程序和数据文件提供非暂时性的永久性(非易失性)存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移除介质、紧凑型盘只读存储器(CD-ROM)驱动器、光盘驱动器、可移除介质盒以及其他类似的存储介质。
在一些实施方式中,计算设备600包括至少一个本地时钟624。本地时钟624在一些实施方式中是表示从特定开始日期开始发生的滴答数的计数器,并且在一些实施方式中一体地位于计算设备600内。在各种实施方式中,本地时钟624用于以特定的时钟脉冲来同步计算设备600的处理器和其中所包括的子系统的处理器中的数据转移,并且可以用于协调计算设备600与数据中心中的其他系统之间的同步操作。在一实施方式中,本地时钟是可编程间隔计时器。
计算设备600可以是各种类型中的任意类型,包括便携式计算机设备、平板计算机、工作站或以下描述的任何其他设备。另外,计算设备600可以包括另一设备,在一些实施方式中该另一设备可以通过一个或更多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算设备600。在实施方式中,这样的设备包括接受光纤连接器的端口。因此,在一些实施方式中,该设备将光信号转换为电信号,该电信号可以通过将设备连接至计算设备600的端口进行传输以进行处理。由于计算机和网络的不断变化的性质,因此对图6所描绘的计算设备600的说明仅用作具体示例,用以示出设备的优选实施方式。具有比图6所示系统更多或更少组件的许多其他配置也是可以的。
相应地,说明书和附图应以示例性角度而不是限制性角度来理解。然而,明显的是,可对本发明进行各种修改和变化,而不脱离权利要求中阐述的本发明的范围。类似地,其他变化也在本公开的范围内。因此,所公开的技术可进行各种修改和替代性构造,而特定的所示实施方式在附图中示出且在以上进行了详细描述。然而,应理解,没有意图将本发明限制到所公开的具体形式,相反,本发明意在覆盖落入所附权利要求限定的本发明范围内的所有修改、替代性构造和等同物。
在描述所公开的实施方式的上下文中(特别是在所附权利要求的上下文中)术语“a”和“an”以及“the”、以及类似指代的使用应被解释为涵盖单数形式和复数形式,除非另有说明或与上下文明显矛盾。除非另有说明,否则术语“包括(comprising)”,“具有(having)”,“包括(including)”和“包含(containing)”应被解释为开放式术语(即,意思是“包括但不限于”)。术语“连接”在没有修改且指代物理连接时,应被理解为部分地或全部地包含在其中、附接到或结合在一起,即使有事物介入其间。在本公开中提到值的范围意图是:仅用于分别提到落入该范围内的各个单独值的快捷方式,除非另有说明,且每个单独值被包括在说明书中,就如同其被单独提起一样。术语“集”(比如“项目的集合”)或“子集”的使用应被理解为包括一个或更多个成员的非空集合,除非另有说明或与上下文矛盾。此外,术语对应集合的“子集”不必然表示对应集合的适当子集,而是:子集和对应集合可以是等同的,除非另有说明或根据上下文矛盾。
除非另有明确说明或与上下文明显矛盾,否则应按通常使用的上下文来理解连词语言比如下面形式的短语“A、B和C中的至少一个”或“A、B和C中的至少一个”,从而呈现出:项目、术语等可以是A、B或C,或A和B和C的集合中的任何非空子集。例如,在具有三个成员的集合的说明性示例中,连词短语“A,B和C中的至少一个”和“A,B和C中的至少一个”是指以下任意集合:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}。因此,这种连词语言通常不意在表明特定实施方式需要至少一个A、至少一个B以及至少一个C各自都存在。
所描述的过程的操作可以以任何合适的顺序执行,除非另外指出或与上下文明显矛盾。可以在配置有可执行指令的一个或更多个计算机系统的控制下执行所描述的过程(或其变形和/或组合),并且可以将其实现为代码(例如,可执行指令,一个或更多个计算机程序或一个或更多个应用程序)通过硬件或其组合在一个或更多个处理器上共同执行。在一些实施方式中,该代码可以例如以计算机程序的形式存储在计算机可读存储介质上,该计算机程序包括可由一个或更多个处理器执行的多个指令。在一些实施方式中,计算机可读存储介质是非暂时性的。
所提供的任何和所有示例或示例性语言(例如,“比如”)的使用仅旨在更好地阐明本发明的实施方式,并且不构成对本发明范围的限制,除非另有声明。说明书中的任何语言都不应解释为指示:任何未要求保护的要素对于实施本发明必不可少。
描述了本公开的实施方式,包括发明人已知用于执行本发明的最佳模式。通过阅读前述说明,那些实施方式的变型对于本领域技术人员而言将变得明显。发明人期望熟练的技术人员适当地采用这样的变型,并且发明人希望本公开的实施方式可以以不同于具体描述的方式来实践。因此,本公开的范围包括适用法律所允许的所附权利要求中记载的主题的所有修改和等同物。而且,除非另外指出或与上下文明显矛盾,否则上述元件在其所有可能的变化中的任何组合都被本公开的范围涵盖。
所引用的所有参考文献,包括出版物、专利申请和专利,均通过引用并入本文,其程度如同:每个参考文献被单独具体指示为通过引用并入,且其整体被阐述。
应当注意,上述实施方式说明而不是限制本发明,并且本领域技术人员将能够设计许多替代实施方式而不脱离由所附权利要求限定的本发明的范围。在权利要求中,括号中的任何附图标记都不应被理解为是对权利要求的限制。词语“包括”(“comprising”和“comprises”)等不排除还存在任何权利要求或说明书作为一个整体列出的元件或步骤之外的其他元件或步骤。在本说明书中,“包括”是指“包括或由……组成”。元件的单数形式并不排除此类元件的复数形式,反之亦然。本发明可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实现。在列举若干装置的设备权利要求中,这些装置中的若干个可以由一项且同一项硬件来实现。在互不相同的从属权利要求中记载某些措施这一事实并不意味着不能有利地使用这些措施的组合。
综述
本公开中描述和提议的技术通过使用公共证实密钥参数VK和I/O数据来证实第三方提供的证明π,改进了计算领域,尤其是确认第三方计算机系统执行的计算的正确性的领域。另外,本公开所描述和提议的技术通过使计算能够在不受信任的第三方计算机系统网络中分布,改进了计算系统的功能。此外,本公开所描述和提议的技术必植根于计算机技术,从而通过将合约建模为逻辑电路,来克服特别与证实数字合约的性能一起出现的问题。
Claims (15)
1.一种计算机实现的方法,包括:
向一组独立的计算机系统提供任务,所述独立的计算机系统能够竞争以提供所提供任务的结果,所述任务指定要执行的计算;以及
通过至少以下方式,在证实计算机系统处,证实所述计算由所述一组独立计算机系统中的工作方计算机系统正确地执行,所述计算基于具有一组乘法门的电路:
生成评估密钥;
向所述工作方计算机系统提供所述评估密钥;
从所述工作方计算机系统接收证明,所述证明至少部分地基于所述评估密钥;
生成证实密钥;以及
使用所述证明和所述证实密钥证实所述计算是正确的。
2.根据权利要求1所述的计算机实现的方法,其中,所述证实密钥基于到所述乘法门的输入和所述乘法门的输出。
3.根据权利要求1或2所述的计算机实现的方法,其中,所述证明至少部分地基于所述乘法门的一组中间输出。
4.根据权利要求1至3中任一项所述的计算机实现的方法,其中,所述证明至少部分地基于公共评估密钥。
5.根据权利要求1至4中任一项所述的计算机实现的方法,其中,所述证明和所述证实密钥至少部分地基于生成不同群组的第一生成器和第二生成器。
6.根据权利要求1至5中任一项所述的计算机实现的方法,还包括:证实所述证明的元素与所述评估密钥的元素一致。
7.根据权利要求1至6中任一项所述的计算机实现的方法,还包括:证实所述证明的元素是使用匹配系数构造的。
8.根据权利要求1至7中的任一项所述的计算机实现的方法,还包括:证实对所述证明的项的可除性要求。
9.根据权利要求1至8中的任一项所述的计算机实现的方法,其中,所述工作方计算机系统提供与所述电路的输入值和输出值相对应的一组I/O值。
10.根据权利要求1至9中的任一项所述的计算机实现的方法,其中,所述电路包括一个或更多个加法门,所述加法门以其对所述乘法门的贡献来建模。
11.根据权利要求1至10中的任一项所述的计算机实现的方法,其中,所述计算是比特币交易验证的一部分。
12.根据权利要求1至11中的任一项所述的计算机实现的方法,其中,至少通过以下步骤来证实所述计算是正确的:
向证实计算机系统提供所述证明、所述证实密钥和一组I/O值;以及
从所述证实计算机系统接收所述计算是正确的的指示。
13.根据权利要求1至12中的任一项所述的计算机实现的方法,其中,所述证实计算机系统是区块链节点。
14.一种系统,包括:
处理器;和
存储器,包括可执行指令,作为被所述处理器执行的结果,所述可执行指令使所述系统执行权利要求1-13中任一项所述的计算机实现的方法。
15.一种非暂时性计算机可读存储介质,其上存储有可执行指令,作为被计算机系统的处理器执行的结果,所述可执行指令使所述计算机系统至少执行权利要求1-13中任一项所述的计算机实现的方法。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1718505.9A GB201718505D0 (en) | 2017-11-09 | 2017-11-09 | Computer-implemented system and method |
GB1718505.9 | 2017-11-09 | ||
GBGB1719998.5A GB201719998D0 (en) | 2017-11-30 | 2017-11-30 | Computer-Implemented system and method |
GB1719998.5 | 2017-11-30 | ||
GBGB1720768.9A GB201720768D0 (en) | 2017-12-13 | 2017-12-13 | Computer-implemented system and method |
GB1720768.9 | 2017-12-13 | ||
GBGB1801753.3A GB201801753D0 (en) | 2018-02-02 | 2018-02-02 | Computer-implemented system and method |
GB1801753.3 | 2018-02-02 | ||
GB1805948.5 | 2018-04-10 | ||
GBGB1805948.5A GB201805948D0 (en) | 2018-04-10 | 2018-04-10 | Computer-implemented system and method |
GB1806444.4 | 2018-04-20 | ||
GBGB1806444.4A GB201806444D0 (en) | 2018-04-20 | 2018-04-20 | Computer-implemented system and method |
PCT/IB2018/058583 WO2019092561A1 (en) | 2017-11-09 | 2018-11-01 | Distributed computing system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111316594A true CN111316594A (zh) | 2020-06-19 |
Family
ID=64100702
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311496467.5A Pending CN117640170A (zh) | 2017-11-09 | 2018-10-29 | 用于简化可执行指令以优化可验证计算的系统 |
CN201880073019.5A Pending CN111345005A (zh) | 2017-11-09 | 2018-10-29 | 在区块链上记录验证密钥的系统 |
CN201880072678.7A Active CN111345004B (zh) | 2017-11-09 | 2018-10-29 | 用于简化可执行指令以优化可验证计算的系统 |
CN201880072801.5A Pending CN111316595A (zh) | 2017-11-09 | 2018-10-29 | 用于保护验证密钥不被更改并验证正确性证明的有效性的系统 |
CN201880072692.7A Pending CN111406379A (zh) | 2017-11-09 | 2018-10-29 | 用于可证实计算的类似c的智能合约的算术增强 |
CN201880072729.6A Pending CN111316594A (zh) | 2017-11-09 | 2018-11-01 | 分布式计算系统和方法 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311496467.5A Pending CN117640170A (zh) | 2017-11-09 | 2018-10-29 | 用于简化可执行指令以优化可验证计算的系统 |
CN201880073019.5A Pending CN111345005A (zh) | 2017-11-09 | 2018-10-29 | 在区块链上记录验证密钥的系统 |
CN201880072678.7A Active CN111345004B (zh) | 2017-11-09 | 2018-10-29 | 用于简化可执行指令以优化可验证计算的系统 |
CN201880072801.5A Pending CN111316595A (zh) | 2017-11-09 | 2018-10-29 | 用于保护验证密钥不被更改并验证正确性证明的有效性的系统 |
CN201880072692.7A Pending CN111406379A (zh) | 2017-11-09 | 2018-10-29 | 用于可证实计算的类似c的智能合约的算术增强 |
Country Status (9)
Country | Link |
---|---|
US (8) | US20210377041A1 (zh) |
EP (7) | EP3707855A1 (zh) |
JP (10) | JP7208989B2 (zh) |
KR (5) | KR20200080265A (zh) |
CN (6) | CN117640170A (zh) |
SG (5) | SG11202004149UA (zh) |
TW (1) | TWI806918B (zh) |
WO (5) | WO2019092542A1 (zh) |
ZA (1) | ZA202002575B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801288A (zh) * | 2023-01-10 | 2023-03-14 | 南方科技大学 | 一种基于区块链和零知识证明的验证方法、系统及设备 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11783679B2 (en) | 2014-04-08 | 2023-10-10 | Micro-Gaming Ventures, LLC | Location-based wagering via remote devices |
US10903997B2 (en) * | 2017-10-19 | 2021-01-26 | Autnhive Corporation | Generating keys using controlled corruption in computer networks |
EP3707855A1 (en) | 2017-11-09 | 2020-09-16 | Nchain Holdings Limited | System for securing verification key from alteration and verifying validity of a proof of correctness |
CN110032568B (zh) * | 2018-12-20 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
WO2020197514A1 (en) * | 2019-03-27 | 2020-10-01 | Koc Universitesi | A distributed hash table based blockchain architecture for resource constrained environments |
US11516000B2 (en) * | 2019-05-29 | 2022-11-29 | International Business Machines Corporation | Approximate hash verification of unused blockchain output |
US11711202B2 (en) | 2019-05-29 | 2023-07-25 | International Business Machines Corporation | Committing data to blockchain based on approximate hash verification |
US11539527B2 (en) | 2019-05-29 | 2022-12-27 | International Business Machines Corporation | Peer node recovery via approximate hash verification |
US11429738B2 (en) | 2019-05-29 | 2022-08-30 | International Business Machines Corporation | Blockchain endorsement with approximate hash verification |
US11570002B2 (en) | 2019-05-29 | 2023-01-31 | International Business Machines Corporation | Reduced-step blockchain verification of media file |
EP3754899B1 (en) * | 2019-06-20 | 2022-03-02 | Telefónica Iot & Big Data Tech, S.A. | Method and system for inter-dlt networks trust enhancement |
CN110445755A (zh) * | 2019-07-04 | 2019-11-12 | 杭州复杂美科技有限公司 | 交易攻击的防御方法、设备和存储介质 |
GB201913143D0 (en) * | 2019-09-12 | 2019-10-30 | Nchain Holdings Ltd | Running a program from a blockchain |
JP7284064B2 (ja) * | 2019-10-16 | 2023-05-30 | 株式会社日立製作所 | コンソーシアムブロックチェーンシステム、計算機、トランザクション承認方法 |
CN111143859A (zh) * | 2020-01-07 | 2020-05-12 | 杭州宇链科技有限公司 | 一种采集可信数据的模组以及数据传输方法 |
US11792022B2 (en) | 2020-02-21 | 2023-10-17 | International Business Machines Corporation | Resolution of conflicting data |
JPWO2021166782A1 (zh) * | 2020-02-21 | 2021-08-26 | ||
US11188316B2 (en) * | 2020-03-09 | 2021-11-30 | International Business Machines Corporation | Performance optimization of class instance comparisons |
CN111506783B (zh) * | 2020-04-08 | 2023-12-22 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CA3091660A1 (en) * | 2020-08-31 | 2021-11-03 | Polymath Inc. | Method, system, and medium for blockchain-enabled atomic settlement |
CN111768187A (zh) | 2020-08-31 | 2020-10-13 | 支付宝(杭州)信息技术有限公司 | 一种部署智能合约的方法、区块链节点和存储介质 |
CN112132576B (zh) * | 2020-09-07 | 2021-08-06 | 易宝支付有限公司 | 基于区块链通信的支付信息处理方法及区块链信息平台 |
US11029920B1 (en) * | 2020-10-21 | 2021-06-08 | Chariot Technologies Lab, Inc. | Execution of a conditional statement by an arithmetic and/or bitwise unit |
US11456871B2 (en) * | 2020-11-03 | 2022-09-27 | Provide Technologies, Inc. | System and method for autonomous mapping of enterprise identity |
KR102346292B1 (ko) * | 2020-11-11 | 2022-01-03 | 엘에스웨어(주) | 키 정보를 이용한 트랜잭션 분류 시스템 및 방법 |
KR102346293B1 (ko) * | 2020-12-08 | 2022-01-03 | 엘에스웨어(주) | 공통 키셋정보를 이용한 트랜잭션 분산처리를 위한 블록체인 시스템 및 수행방법 |
GB2602010A (en) * | 2020-12-15 | 2022-06-22 | Nchain Holdings Ltd | Generating and validating blockchain transactions |
CN113222747B (zh) * | 2020-12-31 | 2024-01-26 | 上海零数众合信息科技有限公司 | 一种区块链隐私交易方法 |
KR102594655B1 (ko) * | 2021-01-11 | 2023-10-27 | 충남대학교 산학협력단 | 동적 연산을 통한 검증이 가능한 영지식 증명 시스템 및 증명 방법 |
US20220417044A1 (en) * | 2021-06-25 | 2022-12-29 | Prateek GOEL | System and method to manage large data in blockchain |
CN113469690B (zh) * | 2021-07-23 | 2024-03-26 | 佳乔(深圳)投资有限公司 | 一种基于区块链的交易结算方法 |
CN113610474B (zh) * | 2021-08-16 | 2023-09-22 | 傲林科技有限公司 | 一种基于事件网的库存管理方法和管理系统 |
US20230298064A1 (en) * | 2022-01-26 | 2023-09-21 | Seek Xr, Inc. | Systems and methods for facilitating redemption of unique digital asset utility |
GB2618106A (en) * | 2022-04-27 | 2023-11-01 | Nchain Licensing Ag | Messaging protocol for compact script transactions |
US11818207B1 (en) * | 2022-07-08 | 2023-11-14 | T-Mobile Innovations Llc | Methods and systems for ledger based content delivery using a mobile edge computing (MEC) server |
CN114978514B (zh) * | 2022-07-27 | 2022-11-01 | 杭州友恭科技有限公司 | 密钥管理方法、系统、装置、电子装置和存储介质 |
US11792259B1 (en) | 2022-09-28 | 2023-10-17 | T-Mobile Innovations Llc | Methods and systems for distributing rendering across devices in a customer premise |
CN116610362B (zh) * | 2023-04-27 | 2024-02-23 | 合芯科技(苏州)有限公司 | 一种处理器指令集译码方法、系统、设备和存储介质 |
US11882216B1 (en) * | 2023-06-08 | 2024-01-23 | Auradine, Inc. | End-to-end hardware acceleration for ZKP from witness generation to proof generation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101019369A (zh) * | 2004-07-14 | 2007-08-15 | 英特尔公司 | 利用在线服务向装置传递直接证明私有密钥的方法 |
CN101331706A (zh) * | 2005-12-13 | 2008-12-24 | 皇家飞利浦电子股份有限公司 | 安全阈值解密协议计算 |
US20140177828A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
WO2016155804A1 (en) * | 2015-03-31 | 2016-10-06 | Nec Europe Ltd. | Method for verifying information |
WO2017008829A1 (en) * | 2015-07-10 | 2017-01-19 | Nec Europe Ltd. | A method and a system for reliable computation of a program |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667290A (en) | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
JPH03126133A (ja) | 1989-10-11 | 1991-05-29 | Matsushita Electric Ind Co Ltd | コンパイラ処理方法 |
JPH05252336A (ja) | 1992-03-04 | 1993-09-28 | Toshiba Corp | 画像形成装置 |
US5499191A (en) | 1992-06-15 | 1996-03-12 | Minc Incorporated | Multi-level logic optimization in programmable logic devices |
US5297150A (en) | 1992-06-17 | 1994-03-22 | International Business Machines Corporation | Rule-based method for testing of programming segments |
US8639625B1 (en) * | 1995-02-13 | 2014-01-28 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
JPH08305547A (ja) * | 1995-05-11 | 1996-11-22 | Oki Electric Ind Co Ltd | Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム |
US5920830A (en) | 1997-07-09 | 1999-07-06 | General Electric Company | Methods and apparatus for generating test vectors and validating ASIC designs |
US6519754B1 (en) * | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
EP1283422A1 (en) | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
WO2003032490A2 (en) * | 2001-10-11 | 2003-04-17 | California Institute Of Technology | Method and apparatus for an asynchronous pulse logic circuit |
US7209555B2 (en) | 2001-10-25 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device |
US7085701B2 (en) * | 2002-01-02 | 2006-08-01 | International Business Machines Corporation | Size reduction techniques for vital compliant VHDL simulation models |
US7281017B2 (en) * | 2002-06-21 | 2007-10-09 | Sumisho Computer Systems Corporation | Views for software atomization |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7178118B2 (en) * | 2003-05-30 | 2007-02-13 | Synplicity, Inc. | Method and apparatus for automated circuit design |
US20060149962A1 (en) | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US7590236B1 (en) | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
US8200700B2 (en) | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Systems and methods for use of structured and unstructured distributed data |
US20160004820A1 (en) | 2005-02-01 | 2016-01-07 | Newsilike Media Group, Inc. | Security facility for maintaining health care data pools |
TW200725415A (en) | 2005-12-30 | 2007-07-01 | Tatung Co Ltd | Method for automatically translating high level programming language into hardware description language |
JP4547503B2 (ja) * | 2006-03-07 | 2010-09-22 | 国立大学法人徳島大学 | 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体 |
US7926040B2 (en) | 2006-09-06 | 2011-04-12 | International Business Machines Corporation | Method and system for timing code execution in a korn shell script |
WO2008053650A1 (en) | 2006-10-30 | 2008-05-08 | Nec Corporation | Common key block encrypting device, its method, its program, and recording medium |
FR2918525A1 (fr) | 2007-07-06 | 2009-01-09 | France Telecom | Procede asymetrique de chiffrement ou de verification de signature. |
WO2009064122A1 (en) | 2007-11-18 | 2009-05-22 | Lg Electronics Inc. | Methods of joint coding in mobile communication system |
US8336036B2 (en) | 2008-11-21 | 2012-12-18 | Korea University Industrial & Academic Collaboration Foundation | System and method for translating high programming level languages code into hardware description language code |
US8165287B2 (en) | 2008-12-30 | 2012-04-24 | King Fahd University Of Petroleum & Minerals | Cryptographic hash functions using elliptic polynomial cryptography |
FR2947404B1 (fr) | 2009-06-30 | 2011-12-16 | Sagem Securite | Cryptographie par parametrisation sur une courbe elliptique |
US8189775B2 (en) | 2010-02-18 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Method of performing cipher block chaining using elliptic polynomial cryptography |
WO2011136089A1 (ja) | 2010-04-27 | 2011-11-03 | 日本電気株式会社 | 符号化装置、誤り訂正符号構成方法およびそのプログラム |
WO2012126086A1 (en) | 2011-03-18 | 2012-09-27 | Certicom Corp. | Secure financial transactions |
US8924966B1 (en) * | 2011-03-31 | 2014-12-30 | Emc Corporation | Capture/revert module for complex assets of distributed information technology infrastructure |
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
US8607129B2 (en) | 2011-07-01 | 2013-12-10 | Intel Corporation | Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic |
JP5697153B2 (ja) | 2011-08-04 | 2015-04-08 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、携帯端末、制御方法、及びプログラム |
US8745376B2 (en) | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
US9215076B1 (en) * | 2012-03-27 | 2015-12-15 | Amazon Technologies, Inc. | Key generation for hierarchical data access |
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. |
BR112015010016A2 (pt) * | 2012-11-07 | 2017-07-11 | Koninklijke Philips Nv | compilador, computador, método de compilação e programa de computador |
US20140321644A1 (en) | 2013-04-29 | 2014-10-30 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defence | Method and system for calculations on encrypted data |
US9026978B1 (en) | 2013-10-24 | 2015-05-05 | Cadence Design Systems, Inc. | Reverse interface logic model for optimizing physical hierarchy under full chip constraint |
JP5842255B2 (ja) * | 2013-12-12 | 2016-01-13 | 国立大学法人東京工業大学 | プログラミング言語による論理回路記述から論理回路を生成するための装置及び方法 |
FR3018378A1 (fr) | 2014-03-12 | 2015-09-11 | Enrico Maim | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
US9830580B2 (en) * | 2014-03-18 | 2017-11-28 | nChain Holdings Limited | Virtual currency system |
US10320781B2 (en) | 2016-12-08 | 2019-06-11 | Sensoriant, Inc. | System and methods for sharing and trading user data and preferences between computer programs and other entities while preserving user privacy |
US9645794B2 (en) | 2014-09-23 | 2017-05-09 | Texas Instruments Incorporated | Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography |
US10409827B2 (en) * | 2014-10-31 | 2019-09-10 | 21, Inc. | Digital currency mining circuitry having shared processing logic |
US20160162897A1 (en) | 2014-12-03 | 2016-06-09 | The Filing Cabinet, LLC | System and method for user authentication using crypto-currency transactions as access tokens |
PL3073670T3 (pl) | 2015-03-27 | 2021-08-23 | Black Gold Coin, Inc. | System i sposób osobistej identyfikacji i weryfikacji |
AU2016242888A1 (en) * | 2015-03-31 | 2017-11-16 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
US20160321751A1 (en) * | 2015-04-28 | 2016-11-03 | Domus Tower, Inc. | Real-time settlement of securities trades over append-only ledgers |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
JP2017004044A (ja) | 2015-06-04 | 2017-01-05 | 富士通株式会社 | ライセンス管理プログラム、ライセンス管理方法、およびライセンス管理システム |
CN106293892B (zh) | 2015-06-26 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 分布式流计算系统、方法和装置 |
US10366204B2 (en) * | 2015-08-03 | 2019-07-30 | Change Healthcare Holdings, Llc | System and method for decentralized autonomous healthcare economy platform |
US20170091726A1 (en) * | 2015-09-07 | 2017-03-30 | NXT-ID, Inc. | Low bandwidth crypto currency transaction execution and synchronization method and system |
EP3357892A4 (en) * | 2015-09-30 | 2019-05-29 | Sekisui Chemical Co., Ltd. | INTERMEDIATE LAYER FOR LAMINATED GLASS AND LAMINATED GLASS |
US20180331832A1 (en) | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US20170132621A1 (en) | 2015-11-06 | 2017-05-11 | SWFL, Inc., d/b/a "Filament" | Systems and methods for autonomous device transacting |
US10048952B2 (en) | 2015-11-11 | 2018-08-14 | Oracle International Corporation | Compiler optimized data model evaluation |
FR3043811B1 (fr) | 2015-11-16 | 2017-11-10 | Morpho | Procede d'identification d'une entite |
US20170140408A1 (en) | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
US10841082B2 (en) * | 2015-11-24 | 2020-11-17 | Adi BEN-ARI | System and method for blockchain smart contract data privacy |
US11423498B2 (en) | 2015-12-16 | 2022-08-23 | International Business Machines Corporation | Multimedia content player with digital rights management while maintaining privacy of users |
US9715373B2 (en) | 2015-12-18 | 2017-07-25 | International Business Machines Corporation | Dynamic recompilation techniques for machine learning programs |
US10044696B2 (en) | 2015-12-22 | 2018-08-07 | Mcafee, Llc | Simplified sensor integrity |
US9483596B1 (en) * | 2016-01-08 | 2016-11-01 | International Business Machines Corporation | Multi power synthesis in digital circuit design |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
AU2017223129A1 (en) | 2016-02-23 | 2018-07-12 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
EP4369273A2 (en) | 2016-02-23 | 2024-05-15 | nChain Licensing AG | A method and system for securing computer software using a distributed hash table and a blockchain |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US11170371B2 (en) | 2016-03-03 | 2021-11-09 | Nec Corporation | Method for managing data in a network of nodes |
US11017387B2 (en) | 2016-03-24 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud services for elemental transactions |
US11017388B2 (en) | 2016-03-25 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud service for composable atomic transactions |
US10839096B2 (en) | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
US20170287090A1 (en) | 2016-03-31 | 2017-10-05 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
WO2017175073A1 (en) | 2016-04-05 | 2017-10-12 | Vchain Technology Limited | Method and system for managing personal information within independent computer systems and digital networks |
US10545739B2 (en) | 2016-04-05 | 2020-01-28 | International Business Machines Corporation | LLVM-based system C compiler for architecture synthesis |
CN108885761B (zh) | 2016-04-11 | 2023-09-29 | 区块链控股有限公司 | 用于区块链上的安全点对点通信的方法 |
US20170300897A1 (en) * | 2016-04-14 | 2017-10-19 | American Express Travel Related Services Company, Inc. | Systems and Methods for an Electronic Wallet Payment Tool |
US10803537B2 (en) * | 2016-04-18 | 2020-10-13 | R3 Ltd. | System and method for managing transactions in dynamic digital documents |
EP3449450B1 (en) * | 2016-04-29 | 2022-06-15 | Nchain Holdings Limited | Implementing logic gate functionality using a blockchain |
US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
US10046228B2 (en) | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
US20170337319A1 (en) | 2016-05-20 | 2017-11-23 | Ecole polytechnique fédérale de Lausanne (EPFL) | System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths |
CN107438002B (zh) | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
US10447478B2 (en) | 2016-06-06 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
FR3052286B1 (fr) | 2016-06-06 | 2018-06-15 | Morpho | Procede de verification d'un droit d'acces d'un individu |
US20180018738A1 (en) | 2016-07-14 | 2018-01-18 | Digital Asset Holdings | Digital asset platform |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
CN106780032A (zh) * | 2016-12-16 | 2017-05-31 | 杭州云象网络技术有限公司 | 一种多链场景下的区块链链间资产转移方法 |
US11088823B2 (en) | 2017-01-06 | 2021-08-10 | Koninklijke Philips N.V. | Pinocchio/Trinocchio on authenticated data |
US11362829B2 (en) | 2017-01-06 | 2022-06-14 | Koninklijke Philips N.V. | Distributed privacy-preserving verifiable computation |
CN106790253A (zh) * | 2017-01-25 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的认证方法和装置 |
CN107274184A (zh) | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于零知识证明的区块链数据处理 |
CN107179932A (zh) | 2017-05-26 | 2017-09-19 | 福建师范大学 | 基于fpga高层次综合指令的优化方法及其系统 |
CN107330775A (zh) * | 2017-07-05 | 2017-11-07 | 贵州大学 | 一种基于比特币协议的首价密封交易方法 |
US10135607B1 (en) | 2017-08-11 | 2018-11-20 | Dragonchain, Inc. | Distributed ledger interaction systems and methods |
US10268829B2 (en) | 2017-08-11 | 2019-04-23 | Dragonchain, Inc. | Security systems and methods based on cryptographic utility token inventory tenure |
US10333710B2 (en) | 2017-09-12 | 2019-06-25 | Qed-It Systems Ltd. | Method and system for determining desired size of private randomness using Tsallis entropy |
US10521616B2 (en) | 2017-11-08 | 2019-12-31 | Analog Devices, Inc. | Remote re-enrollment of physical unclonable functions |
EP3707855A1 (en) | 2017-11-09 | 2020-09-16 | Nchain Holdings Limited | System for securing verification key from alteration and verifying validity of a proof of correctness |
-
2018
- 2018-10-29 EP EP18797158.5A patent/EP3707855A1/en active Pending
- 2018-10-29 US US16/762,461 patent/US20210377041A1/en active Pending
- 2018-10-29 WO PCT/IB2018/058432 patent/WO2019092542A1/en unknown
- 2018-10-29 WO PCT/IB2018/058434 patent/WO2019092544A1/en unknown
- 2018-10-29 KR KR1020207014203A patent/KR20200080265A/ko not_active Application Discontinuation
- 2018-10-29 SG SG11202004149UA patent/SG11202004149UA/en unknown
- 2018-10-29 CN CN202311496467.5A patent/CN117640170A/zh active Pending
- 2018-10-29 EP EP18796783.1A patent/EP3707852A1/en active Pending
- 2018-10-29 WO PCT/IB2018/058437 patent/WO2019092545A1/en unknown
- 2018-10-29 JP JP2020524532A patent/JP7208989B2/ja active Active
- 2018-10-29 CN CN201880073019.5A patent/CN111345005A/zh active Pending
- 2018-10-29 EP EP18796782.3A patent/EP3707871B1/en active Active
- 2018-10-29 CN CN201880072678.7A patent/CN111345004B/zh active Active
- 2018-10-29 SG SG11202004146WA patent/SG11202004146WA/en unknown
- 2018-10-29 EP EP18797157.7A patent/EP3707623A1/en active Pending
- 2018-10-29 JP JP2020524517A patent/JP2021502636A/ja active Pending
- 2018-10-29 US US16/762,471 patent/US11658801B2/en active Active
- 2018-10-29 JP JP2020524430A patent/JP7234229B2/ja active Active
- 2018-10-29 SG SG11202004147RA patent/SG11202004147RA/en unknown
- 2018-10-29 EP EP23216404.6A patent/EP4312403A3/en active Pending
- 2018-10-29 KR KR1020207014209A patent/KR20200086284A/ko not_active Application Discontinuation
- 2018-10-29 US US16/762,475 patent/US11635950B2/en active Active
- 2018-10-29 US US16/762,466 patent/US11575511B2/en active Active
- 2018-10-29 JP JP2020524541A patent/JP7221954B2/ja active Active
- 2018-10-29 WO PCT/IB2018/058433 patent/WO2019092543A1/en unknown
- 2018-10-29 KR KR1020207014108A patent/KR20200086282A/ko not_active Application Discontinuation
- 2018-10-29 EP EP22170376.2A patent/EP4092953A1/en active Pending
- 2018-10-29 SG SG11202004148PA patent/SG11202004148PA/en unknown
- 2018-10-29 KR KR1020207014213A patent/KR20200079503A/ko not_active Application Discontinuation
- 2018-10-29 CN CN201880072801.5A patent/CN111316595A/zh active Pending
- 2018-10-29 CN CN201880072692.7A patent/CN111406379A/zh active Pending
- 2018-11-01 CN CN201880072729.6A patent/CN111316594A/zh active Pending
- 2018-11-01 SG SG11202004153UA patent/SG11202004153UA/en unknown
- 2018-11-01 JP JP2020524561A patent/JP2021502747A/ja active Pending
- 2018-11-01 WO PCT/IB2018/058583 patent/WO2019092561A1/en unknown
- 2018-11-01 US US16/762,490 patent/US20210192514A1/en active Pending
- 2018-11-01 EP EP18800333.9A patent/EP3707856A1/en active Pending
- 2018-11-01 KR KR1020207014106A patent/KR20200086281A/ko not_active Application Discontinuation
- 2018-11-08 TW TW107139662A patent/TWI806918B/zh active
-
2020
- 2020-05-08 ZA ZA2020/02575A patent/ZA202002575B/en unknown
-
2023
- 2023-01-06 JP JP2023000947A patent/JP2023036962A/ja active Pending
- 2023-02-02 JP JP2023014319A patent/JP2023052834A/ja active Pending
- 2023-02-03 US US18/105,672 patent/US20230269070A1/en active Pending
- 2023-02-22 JP JP2023026258A patent/JP7477674B2/ja active Active
- 2023-04-03 US US18/130,373 patent/US20230318804A1/en active Pending
- 2023-04-13 US US18/134,276 patent/US20230318805A1/en active Pending
- 2023-10-05 JP JP2023173507A patent/JP2023182741A/ja active Pending
- 2023-10-12 JP JP2023176820A patent/JP2023179687A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101019369A (zh) * | 2004-07-14 | 2007-08-15 | 英特尔公司 | 利用在线服务向装置传递直接证明私有密钥的方法 |
CN101331706A (zh) * | 2005-12-13 | 2008-12-24 | 皇家飞利浦电子股份有限公司 | 安全阈值解密协议计算 |
US20140177828A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Managed secure computations on encrypted data |
WO2016155804A1 (en) * | 2015-03-31 | 2016-10-06 | Nec Europe Ltd. | Method for verifying information |
WO2017008829A1 (en) * | 2015-07-10 | 2017-01-19 | Nec Europe Ltd. | A method and a system for reliable computation of a program |
Non-Patent Citations (5)
Title |
---|
BRYAN PARNO ET AL.: "Pinocchio: Nearly Practical Verifiable Computation", 《INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH》, 13 May 2013 (2013-05-13), pages 1 - 15 * |
ELI BEN SASSON ET AL: "Zerocash: Decentralized Anonymous Payments from Bitcoin", 《2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》, 1 May 2014 (2014-05-01), pages 459 - 474, XP055948679, DOI: 10.1109/SP.2014.36 * |
KUMARESAN, R.: "How to Use Bitcoin to Incentivize Correct Computations", 《CCS \'14: PROCEEDINGS OF THE 2014 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》, 30 November 2014 (2014-11-30), pages 30 - 41, XP055565146, DOI: 10.1145/2660267.2660380 * |
MATTEO CAMPANELLI ET AL: "Zero-Knowledge Contingent Payments Revisited: Attacks and Payments for Services", 《CRYPTOLOGY EPRINT ARCHIVE》, 9 June 2017 (2017-06-09), pages 1 - 26, XP061023635 * |
SHOKER, A.: "Sustainable Blockchain through Proof of eXercise", 《2017 IEEE 16TH INTERNATIONAL SYMPOSIUM ON NETWORK COMPUTING AND APPLICATIONS (NCA)》, 1 November 2017 (2017-11-01), pages 1 - 9 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801288A (zh) * | 2023-01-10 | 2023-03-14 | 南方科技大学 | 一种基于区块链和零知识证明的验证方法、系统及设备 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316594A (zh) | 分布式计算系统和方法 | |
JP7320493B2 (ja) | 分散協調を用いるスマートコントラクトの実行 | |
JP7285840B2 (ja) | プルーフ検証に基づいてオフ・チェーン・データを認証するシステム及び方法 | |
JP7208990B2 (ja) | メディエータコンピュータシステムを使用してコンピュータプログラムの正しい実行を確保するシステム及び方法 | |
TW201928755A (zh) | 用以安全分享密碼材料之系統及方法 | |
JP2023184657A (ja) | 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法 |
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 |