CN111316594A - 分布式计算系统和方法 - Google Patents

分布式计算系统和方法 Download PDF

Info

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
Application number
CN201880072729.6A
Other languages
English (en)
Inventor
亚历山卓·科瓦奇
西蒙娜·马代奥
帕特里克·莫特林斯基
史蒂芬·文森特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1718505.9A external-priority patent/GB201718505D0/en
Priority claimed from GBGB1719998.5A external-priority patent/GB201719998D0/en
Priority claimed from GBGB1720768.9A external-priority patent/GB201720768D0/en
Priority claimed from GBGB1801753.3A external-priority patent/GB201801753D0/en
Priority claimed from GBGB1805948.5A external-priority patent/GB201805948D0/en
Priority claimed from GBGB1806444.4A external-priority patent/GB201806444D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN111316594A publication Critical patent/CN111316594A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/451Code distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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)等于电路中乘法门的数量:
Figure BDA0002484040850000041
优选地,该方法还可以包括:证实所述证明的元素是使用匹配系数而构造的。在实施方式中,以如下方式针对Vmid(s)P、Wmid(s)Q和Ymid(s)P确认匹配系数:
Figure BDA0002484040850000051
以及
Figure BDA0002484040850000052
优选地,该方法还可以包括:证实对所述证明的项的可除性要求。在实施方式中,证实实体通过进行以下确认来确认满足了可除性要求:
Figure BDA0002484040850000053
其中
Figure BDA0002484040850000054
Figure BDA0002484040850000055
以及
Figure BDA0002484040850000056
工作方计算机系统可以提供与所述电路的输入和输出值相对应的一组I/O值。在实施方式中,I/O数据是工作方计算机系统评估的函数的输入和输出。
电路可以包括一个或更多个加法门,所述加法门以其对所述乘法门的贡献来建模。在实施方式中,电路可被视为一组乘法门和加法门,其中电路包含连接到d个乘法门的m个导线,且加法门以其对乘法门的贡献来建模。
计算可以是比特币交易验证的一部分,或在其他实施方式中,计算可以是区块链交易验证的一部分。
至少通过以下步骤来证实所述计算是正确的:向证实计算机系统提供所述证明、所述证实密钥和一组I/O值;以及从所述证实计算机系统接收所述计算是正确的的指示。在实施方式中,该指示是表示计算是正确的可加密证实的指示,比如以证实计算机系统关联的密钥生成的数字签名。
证实计算机系统可以是区块链节点或比特币节点。
期望提供一种系统,包括:处理器;和存储器,包括可执行指令,作为被所述处理器执行的结果,所述可执行指令使所述系统执行所声称所述的方法中的任意方法。
还期望提供一种非暂时性计算机可读存储介质,其上存储有可执行指令,作为被计算机系统的一个或更多个处理器执行的结果,所述可执行指令使所述计算机系统至少执行所声称的方法中的任意方法。
附图说明
通过在此描述的实施方式,本发明的这些和其他方面将变得明显,且将参考在此所述的实施方式阐述本发明的这些和其他方面。现在参考附图仅作为示例描述本发明的实施方式,在附图中:
图1示出了可以在其中实现各种实施方式的区块链环境;
图2是示出了如下过程的示例的泳道图,该过程在被客户端计算机系统和工作方计算机系统执行时,使得客户端能够根据实施方式使用证明π和证实密钥VK来证实工作方执行的工作;
图3示出了根据实施方式的表示算术函数的电路的示例;
图4是示出如下过程的示例的流程图,根据实施方式该过程在被客户端计算机系统执行时,确定证实密钥VK
图5是示出如下过程的示例的流程图,根据实施方式该过程在被客户端计算机系统执行时,使用证明π证实工作方计算机系统执行的计算;以及
图6示出了可以在其中实现各种实施方式的计算环境。
具体实施方式
在分布式计算环境中,可以将单个任务划分为多个子任务,这些子任务可以分布在多个计算机系统中用于执行。多个计算机系统中的每一个可以执行一个或更多个子任务。在各个示例中,由各个计算机系统产生的结果由协调计算机系统累加和汇总,以产生原单个任务的结果。因此,在许多实施方式中,协调计算机系统有兴趣确定每个子任务被正确执行,从而针对原单个任务产生的结果是正确的。这在被分配了子任务的各个计算机系统不能被协调计算机系统完全信任的情况下,尤其成问题。本文中描述的系统和方法允许证实计算机系统以加密方式证实另一计算机系统执行的工作,即使该另一计算机系统可能是不受信任的计算机系统。这允许协调计算机系统将工作分配到不一定受信任的更广泛的一组计算机系统,这是因为可以对生成的工作进行加密证实,而无需再现分配的子任务。
本文通过各种示例描述了可对不受信任的工作方计算机系统的工作进行证实的过程。在一些实施方式中,可以将分配至工作方计算机系统的工作视为逻辑电路的一部分,并且证实与该电路的一些或全部相关联的工作允许证实方继续进行与该逻辑电路有关的其他子任务。在一些实现方式中,使用区块链交换与子任务的执行和证实有关的信息。然而,本文描述的方法适用于任何分布式计算环境,在其中需要证实实体来确认由一个或更多个不受信任的计算机系统执行的工作。
在本文档中可以使用以下符号。数学群组可以使用双重
Figure BDA0002484040850000071
字母表示,例如
Figure BDA0002484040850000072
群组生成器可以用手写体字母表示,例如
Figure BDA0002484040850000073
例如,给定一个群组
Figure BDA0002484040850000074
如果
Figure BDA0002484040850000075
可以说
Figure BDA0002484040850000076
生成
Figure BDA0002484040850000077
双重
Figure BDA0002484040850000078
字母可用于表示字段。例如,
Figure BDA0002484040850000079
可用于表示特征p的有限字段,而
Figure BDA00024840408500000710
可用于表示
Figure BDA00024840408500000711
的次k的扩展字段,其中k是非零整数。由非零元素组成的子集
Figure BDA00024840408500000712
可以写为
Figure BDA00024840408500000713
在另一个示例中,对于质数p,
Figure BDA00024840408500000714
Figure BDA00024840408500000715
在另一个示例中,E是有限字段
Figure BDA00024840408500000716
(相应地
Figure BDA00024840408500000717
)上的椭圆曲线,r阶阿贝尔子群组
Figure BDA00024840408500000718
(相应地
Figure BDA00024840408500000719
)可以写为
Figure BDA00024840408500000720
(相应地
Figure BDA00024840408500000721
)。从集合X中随机采样的元素x可以表示为
Figure BDA00024840408500000722
符号
Figure BDA00024840408500000723
可用于表示有效的可计算双线性图,其中
Figure BDA00024840408500000724
Figure BDA00024840408500000725
是相同质数r阶的循环群组。
Figure BDA00024840408500000726
Figure BDA00024840408500000727
是加法群组,
Figure BDA00024840408500000728
是乘法群组。算术运算以r为模执行。
本文描述了利用二次算术规划(“QAP”)的一个或更多个实施方式。在各种实施方式中,一般计算在质数r阶的字段
Figure BDA00024840408500000729
上被编码为一组多项式运算。在一个示例中,
Figure BDA00024840408500000730
其中vi,wi,yi,t∈次为deg(vi),deg(wi),deg(yi)<deg(t)=d的
Figure BDA00024840408500000731
多项式。参考前面的示例,可以通过以下陈述来描述QAP:Q的大小为m(m表示内部导线的数量),并且Q的次是t的次d,其中d是乘法门的数目。在另一个示例中,令
Figure BDA00024840408500000732
成为QAP。在t除
Figure BDA0002484040850000081
的情况下,元组(a0,...,am)是Q的解。多项式
Figure BDA0002484040850000082
将左输入编码到每个乘法门,多项式
Figure BDA0002484040850000083
将右输入编码到每个乘法门,多项式
Figure BDA0002484040850000084
对输出进行编码。
首先参考图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的构造。
Figure BDA0002484040850000111
在上述实施方式中,i代表电路内部导线的索引,deg(t)是多项式t(x)的次数,deg(t)等于电路中乘法门的数量。对于图3所示的电路,公共评估密钥EK如下:
Figure BDA0002484040850000112
在框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),其中
Figure BDA0002484040850000121
如果
Figure BDA0002484040850000122
为了证明t能除
Figure BDA0002484040850000123
Figure BDA0002484040850000124
证明方在未知点s上计算商多项式
Figure BDA0002484040850000125
并使用双线性映射来检查p(s)=t(s)·h(s)。在各种示例中,将执行附加证实,以确保工作方计算机系统正确地并入了输入(a1,A2,...,an),以及工作方计算机系统使用客户端的评估密钥EK生成证明。
其中
Figure BDA0002484040850000126
是选定根值的集合,多项式
Figure BDA0002484040850000127
可表示为拉格朗日多项式的总和,即
Figure BDA0002484040850000128
对于生成器
Figure BDA0002484040850000129
Figure BDA00024840408500001210
使用随机
Figure BDA0002484040850000131
生成的证实密钥VK为:
Figure BDA0002484040850000132
证明包含以下元素:
Figure BDA0002484040850000133
在VK、π和(a1,a2,...,aN)的实施方式中,证实计算机系统证实t(x)能除p(x),因此(xN+1,...,xm)=f(x0,...,xN),如下所示。首先,证实计算机系统通过进行以下确认来检查三个α项:
Figure BDA0002484040850000134
Figure BDA0002484040850000135
Figure BDA0002484040850000136
其中
Figure BDA0002484040850000137
以及
Figure BDA0002484040850000138
然后,证实计算机系统通过确认以下来检查项β:
Figure BDA0002484040850000139
以及
Figure BDA00024840408500001310
另外,证实方通过确认以下内容来确认满足可除性要求:
Figure BDA0002484040850000141
其中
Figure BDA0002484040850000142
Figure BDA0002484040850000143
以及
Figure BDA0002484040850000144
图3示出了根据实施方式的表示算术函数的电路的示例。图3所示的电路代表函数302:
f(a1,a2,a3,a4)=a1+a2a3(a3+a4)
在电路中,每个导线值都来自质数域阶字段
Figure BDA0002484040850000145
并且在该字段上执行所有操作。多项式根据其在三个乘法门304、308和312处的评估而被定义。加法门306和310利用其对乘法门的贡献而被建模。该电路产生输出值314。
当输入值a1,a2,a3,a4被分配给电路时,工作方计算机系统确定相应的输出值。例如,在输入
Figure BDA0002484040850000146
上,工作方评估电路以获得与每个乘法门304、308和312的输出值相对应的集合(a5,a6,a7)
Figure BDA0002484040850000147
将设置为1的虚拟输入导线a0添加到电路。对于电路中的每个乘法门304、308和312,选择不同的根值
Figure BDA0002484040850000148
因此,对于图3所示的电路,随机选择三个值
Figure BDA0002484040850000149
并将目标多项式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)}
Figure BDA00024840408500001410
v1(x)=v3(x)=v4(x)=v6(x)=v7(x)=0
Figure BDA00024840408500001411
Figure BDA00024840408500001412
右输入多项式{wi(x)}
w0(x)=w2(x)=w5(x)=w7(x)=0
Figure BDA0002484040850000151
Figure BDA0002484040850000152
Figure BDA0002484040850000153
Figure BDA0002484040850000154
输出多项式{yi(x)}
y0(x)=y1(x)=y2(x)=y3(x)=y4(x)=0
Figure BDA0002484040850000155
Figure BDA0002484040850000156
Figure BDA0002484040850000157
在实施方式中,
Figure BDA0002484040850000158
Figure BDA0002484040850000159
Figure BDA00024840408500001510
Figure BDA00024840408500001511
的生成器,使得
Figure BDA00024840408500001512
并且
Figure BDA00024840408500001513
另外,考虑非对称配对,即
Figure BDA00024840408500001514
并且
Figure BDA00024840408500001515
(相应地
Figure BDA00024840408500001516
)被当作
Figure BDA00024840408500001517
(相应地
Figure BDA00024840408500001518
)的(r阶)子群组。密钥生成处理包括随机元素:
Figure BDA00024840408500001519
其中ry=rv·rw.
在图3所示的示例中,公共证实密钥VK可被确定为:
Figure BDA0002484040850000161
在实施方式中,公共证实密钥被实现为具有各自表示不同分量的子序列的比特序列,然而将分量编码为公共证实密钥的不同方式被视为落在本公开的范围内。
证明π包含以下元素:
Figure BDA0002484040850000162
其中(h0,h1,h2,h3)是工作方评估的多项式h(x)的系数,而h(x)=h0+h1x+h2x2+h3x3。在实施方式中,证明被实现为具有子序列的比特序列,每个子序列表示证明的不同分量,然而将分量编码成证明的不同方式被认为在本公开的范围内。元素集合χ属于公共评估密钥EK
Figure BDA0002484040850000171
在实施方式中,以下等式用于证实所声称的证明π。给定证实密钥VK、证明π和IO值ai={a0,a1,a2,a3,a4,a7},证实算法首先检查
Figure BDA0002484040850000172
Figure BDA0002484040850000173
Figure BDA0002484040850000174
是使用来自评估密钥EK的元素构造的。即,协议首先证实以下等式(1)至(3)。
Figure BDA0002484040850000175
Figure BDA0002484040850000176
Figure BDA0002484040850000177
Figure BDA0002484040850000178
Figure BDA0002484040850000179
Figure BDA00024840408500001710
Figure BDA00024840408500001711
Figure BDA00024840408500001712
Figure BDA0002484040850000181
Figure BDA0002484040850000182
Figure BDA0002484040850000183
Figure BDA0002484040850000184
其次,证实计算机系统检查是否在
Figure BDA0002484040850000185
Figure BDA0002484040850000186
中使用相同的系数amid={a5,a6}。在实施方式中,证实计算机系统通过证实下面的等式(4)来实现这一点。
Figure BDA0002484040850000187
Figure BDA0002484040850000188
另外,证实计算机系统结合承诺中的项对证明项h(x)进行可除性检查。即,证实计算机系统证明:
Figure BDA0002484040850000189
通过进行以下确认来该证明:
Figure BDA00024840408500001810
Figure BDA00024840408500001811
Figure BDA00024840408500001812
Figure BDA00024840408500001813
Figure BDA0002484040850000191
图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,αvwy,β,γ,使得ry=rv·rw
在实施方式中,在框414,客户端计算机系统确定公共证实密钥VK。令
Figure BDA0002484040850000201
Figure BDA0002484040850000202
Figure BDA0002484040850000203
Figure BDA0002484040850000204
的生成器,使得
Figure BDA0002484040850000205
Figure BDA0002484040850000206
应注意,(i)我们考虑不对称配对,即
Figure BDA0002484040850000207
和(ii)
Figure BDA0002484040850000208
(相应地
Figure BDA0002484040850000209
)作为
Figure BDA00024840408500002010
(相应地
Figure BDA00024840408500002011
)的(r阶)子群组。给定生成器
Figure BDA00024840408500002012
Figure BDA00024840408500002013
使用随机
Figure BDA00024840408500002014
生成的证实密钥VK如下:
Figure BDA00024840408500002015
注意,可以以各种顺序和组合(包括并行地)执行在202-214中执行的一个或更多个操作。
注意,在描述公开的实施方式的上下文中,除非另有说明,否则,使用关于可执行指令(也称为代码、应用程序、代理等)执行操作(即,“指令”通常不独立执行的操作(例如传输数据、计算等))的表达表示指令正在由机器执行,从而使得机器执行指定的操作。
图5是示出了如下过程的示例的流程图,根据实施方式,该过程如果由客户端计算机系统执行,则使用证明π来证实由工作方计算机系统执行的计算。过程500(或所描述的任何其他过程,或这些过程的变型和/或组合)中的一些或全部可以在配置有可执行指令和/或其他数据的一个或更多个计算机系统的控制下执行,并且可以实现为在一个或更多个处理器上共同执行的可执行指令。可执行指令和/或其他数据可以存储在非暂时性计算机可读存储介质上(例如,永久存储在磁、光或闪存介质上的计算机程序)。
例如,过程500的一些或全部可以由一个或更多个计算设备(例如,由数据中心中的服务器,由客户端计算设备,由计算资源服务提供商的分布式系统中的多个计算设备,或通过任何合适的电子客户端设备、例如图6的计算设备600)来执行。
在各种实施方式中,客户端计算机系统提交要由工作方计算机系统执行的计算。客户端计算机系统可能不完全信任工作方计算机系统,因此,工作方计算机系统提供这样的信息,该信息允许客户端计算机系统或另一个受信任的证实计算机系统来证实工作方计算机系统执行的计算是正确的。在许多示例中,客户端不完全信任工作方计算机系统,因此,为了满足客户端计算机系统,工作方计算机系统向客户端计算机系统提供这样的信息,该信息允许客户端计算机系统证明工作方计算机系统执行的计算是正确的。在各种实施方式中,公共证实密钥参数VK、证明π和I/O数据被用于证实由工作方计算机系统提供的正确计算的所声称的证明。流程图500示出了使用工作方计算机系统提供的证明π证实工作方计算机系统执行的计算的过程。
在实施方式中,在框502,客户端计算机系统从工作方计算机系统接收证明π和I/O数据。证明包括以下内容:
Figure BDA0002484040850000221
在实施方式中,在框504,客户端计算机系统开始确认工作方计算机系统执行的工作是正确的过程。客户端计算机系统确认使用来自评估密钥EK的元素构造rvVmid(s)P、rwWmid(s)Q和ryYmid(s)P,如下所示:
Figure BDA0002484040850000222
Figure BDA0002484040850000223
Figure BDA0002484040850000224
其中,
Figure BDA0002484040850000225
以及
Figure BDA0002484040850000226
Figure BDA0002484040850000227
在框506,客户端计算机系统确认对Vmid(s)P、Wmid(s)Q和Ymid(s)P使用匹配系数,如下所示:
Figure BDA0002484040850000228
以及
Figure BDA0002484040850000229
在框508,客户端计算机系统将来自承诺的项进行组合以对证明项h(x)执行可除性检查,如下所示:
Figure BDA00024840408500002210
其中
Figure BDA00024840408500002211
Figure BDA0002484040850000231
以及
Figure BDA0002484040850000232
如果以上检查成功,则客户端计算机系统确定由工作方计算机系统执行的计算正确,并且客户端计算机系统可以信任工作方计算机系统提供的结果。
注意,可以以各种顺序和组合(包括并行地)执行在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中任一项所述的计算机实现的方法。
CN201880072729.6A 2017-11-09 2018-11-01 分布式计算系统和方法 Pending CN111316594A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115801288A (zh) * 2023-01-10 2023-03-14 南方科技大学 一种基于区块链和零知识证明的验证方法、系统及设备

Families Citing this family (39)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115801288A (zh) * 2023-01-10 2023-03-14 南方科技大学 一种基于区块链和零知识证明的验证方法、系统及设备

Also Published As

Publication number Publication date
US20210192514A1 (en) 2021-06-24
EP3707871B1 (en) 2022-05-18
US11575511B2 (en) 2023-02-07
CN111316595A (zh) 2020-06-19
JP2023052834A (ja) 2023-04-12
EP3707623A1 (en) 2020-09-16
KR20200086281A (ko) 2020-07-16
WO2019092544A1 (en) 2019-05-16
KR20200079503A (ko) 2020-07-03
US11635950B2 (en) 2023-04-25
ZA202002575B (en) 2023-12-20
US20200366492A1 (en) 2020-11-19
WO2019092561A1 (en) 2019-05-16
US20210377041A1 (en) 2021-12-02
JP2021502746A (ja) 2021-01-28
CN111345004B (zh) 2023-12-01
SG11202004146WA (en) 2020-06-29
US20200348916A1 (en) 2020-11-05
JP2023182741A (ja) 2023-12-26
JP2021502634A (ja) 2021-01-28
SG11202004153UA (en) 2020-06-29
TW201923567A (zh) 2019-06-16
EP3707856A1 (en) 2020-09-16
SG11202004149UA (en) 2020-06-29
US11658801B2 (en) 2023-05-23
JP2021502636A (ja) 2021-01-28
JP7234229B2 (ja) 2023-03-07
SG11202004147RA (en) 2020-06-29
TW201923648A (zh) 2019-06-16
TWI806918B (zh) 2023-07-01
JP2023179687A (ja) 2023-12-19
US20200266985A1 (en) 2020-08-20
CN117640170A (zh) 2024-03-01
WO2019092542A1 (en) 2019-05-16
EP4312403A2 (en) 2024-01-31
KR20200086282A (ko) 2020-07-16
JP2023075152A (ja) 2023-05-30
WO2019092543A1 (en) 2019-05-16
CN111406379A (zh) 2020-07-10
JP7208989B2 (ja) 2023-01-19
WO2019092545A1 (en) 2019-05-16
JP2021502747A (ja) 2021-01-28
SG11202004148PA (en) 2020-06-29
CN111345004A (zh) 2020-06-26
US20230318804A1 (en) 2023-10-05
KR20200080265A (ko) 2020-07-06
JP2023036962A (ja) 2023-03-14
EP3707855A1 (en) 2020-09-16
US20230269070A1 (en) 2023-08-24
KR20200086284A (ko) 2020-07-16
JP7477674B2 (ja) 2024-05-01
EP3707852A1 (en) 2020-09-16
US20230318805A1 (en) 2023-10-05
EP3707871A1 (en) 2020-09-16
JP2021502745A (ja) 2021-01-28
EP4092953A1 (en) 2022-11-23
JP7221954B2 (ja) 2023-02-14
CN111345005A (zh) 2020-06-26
EP4312403A3 (en) 2024-02-21

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