CN109478223B - 区块链实现的方法和系统 - Google Patents

区块链实现的方法和系统 Download PDF

Info

Publication number
CN109478223B
CN109478223B CN201780042626.0A CN201780042626A CN109478223B CN 109478223 B CN109478223 B CN 109478223B CN 201780042626 A CN201780042626 A CN 201780042626A CN 109478223 B CN109478223 B CN 109478223B
Authority
CN
China
Prior art keywords
node
script
key
public key
keys
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.)
Active
Application number
CN201780042626.0A
Other languages
English (en)
Other versions
CN109478223A (zh
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 GBGB1613188.0A external-priority patent/GB201613188D0/en
Priority claimed from GBGB1613148.4A external-priority patent/GB201613148D0/en
Priority claimed from GBGB1613177.3A external-priority patent/GB201613177D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Priority to CN202311006433.3A priority Critical patent/CN116911836A/zh
Publication of CN109478223A publication Critical patent/CN109478223A/zh
Application granted granted Critical
Publication of CN109478223B publication Critical patent/CN109478223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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

Abstract

本发明提供一种计算机实现的控制方法和对应的系统。该方法可以控制或影响设备、系统或其他资源(例如技术过程)。本发明可以提供一种用于通过基于计算机的分布式账本(区块链)来模拟或另外执行逻辑门功能的机制。这可以是加密货币区块链或替代网络/协议。本发明提供嵌入在赎回脚本内的逻辑,使得它确定哪些特定私钥已被用于签署解锁脚本,然后根据预定功能解释这些密钥的提供。在优选实施例中,该方法可以包括以下步骤:提供包括用于输出的赎回脚本的区块链交易,其中,赎回脚本:i)指定多个公钥,分别与对应的私钥相关联;其中,每个公钥与至少一个数据源的潜在状态唯一地相关联;ii)包括逻辑,用于基于将多个相关联的私钥中的哪一个用于签署解锁脚本来提供结果;其中,必须使用最少数量的所述私钥来签署另一区块链交易的解锁脚本以花费输出。优选地,逻辑用于实现逻辑门(例如NOT、AND、OR、NOR、XOR、IMPLY、NAND、NONIMPLY或XNOR门)的功能。

Description

区块链实现的方法和系统
技术领域
本发明主要涉及分布式分类账技术(包括区块链相关技术),尤其涉及区块链在实现、控制和/或自动化任务或处理中的用途。它可以涉及使用区块链或相关技术来记录或表示一部分逻辑的执行。可将该部分逻辑用于实现一个逻辑门或多个逻辑门(例如AND、XOR、NOT、OR等)的功能性。
背景技术
重要的是注意,为了引用的方便和容易起见,在本文献中我们使用术语“区块链”,因为它是目前在这种背景下最广为人知的术语。但是,在本文中(包括在权利要求中)使用该术语来包括所有形式的基于共识的、电子的、基于计算机的分布式分类账,包括但不限于区块链和交易链技术、许可和未许可的分类账、共享分类帐及其变化。
区块链是一种电子分类账,它实现为由区块组成的基于计算机的去中心化分布式系统,区块进而由交易组成。每个交易包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,使得多个区块变为链接在一起,以创建自区块链创始以来已经写入区块链的全部交易的永久的、不可更改的记录。交易包含嵌入其输入和输出中的称为脚本的小程序,脚本指定可以如何以及由谁来访问交易的输出。在加密货币平台上,使用基于堆栈的脚本语言来编写这些脚本。
为了将交易写入区块链,必须对其进行“验证”。网络节点执行工作以确保每个交易是有效的,其中,从网络中拒绝无效交易。通过执行其锁定和解锁脚本,安装在节点上的软件客户端对未花费交易(UTXO)执行该验证工作。如果锁定和解锁脚本的执行评估为TRUE,那么交易是有效的并且被写入区块链。
虽然已经提出并开发了其他的区块链实施方式,但是区块链技术的最广为人知的应用是加密货币分类账。虽然可以为了方便和说明的目的而在本文中引用加密货币,但是应当注意,本发明不限于与加密货币一起使用区块链,并且替代性区块链实施方式也落入本发明的范围内。
区块链技术因加密货币实施方式的用途而广为人知。但是,在近年来,数字企业家已经开始探索加密货币所基于的加密安全系统以及可存储在区块链上的数据这两者的使用,以实现新的系统。如果可将区块链用于不限于加密货币领域的任务和处理(例如自动控制处理),那么将非常有利。这样的解决方案将能够利用区块链的好处(例如,事件的永久性防篡改记录、分布式处理等),同时在其应用中更加多功能化。
发明内容
现在已经设计出这种改进的解决方案。因此,根据本发明,提供一种如所附权利要求中限定的系统和方法。
因此,根据本发明,可提供一种计算机实现的方法。可将其描述为控制方法。它可以控制或影响技术处理的性能或一个或多个设备的操作。附加性或替代性地,它可以控制区块链脚本的执行。它可以控制区块链交易中的输出是否被解锁。它可以控制是否经由区块链将一部分加密货币从一方转移到另一方。
该方法可包括步骤:提供区块链交易(Tx),区块链交易包括用于输出的赎回脚本,其中,赎回脚本:指定多个公钥。这些公钥可以是加密密钥。它们可以形成私钥/公钥对的一部分。多个公钥(或“列表”)中的每个密钥可以与对应的私钥相关联。每个公钥可以与至少一个数据源的潜在状态唯一地相关联。因此,赎回脚本可包括公钥的列表,其中,仅用于这些公钥的对应的私钥可以用于花费交易输出(TxO)。
该方法可包括步骤:生成交易。该方法可包括步骤:将交易提交给区块链。
交易和/或另一(花费)交易可由计算代理生成。它可以基于从传感器或其他信号源接收的输入自主地生成(无需人为干预)。
附加性或替代性地,赎回脚本可包括一部分逻辑,用于基于将多个相关联的私钥中的哪一个用于签署解锁脚本来提供结果的。因此,可通过根据哪些公钥用于签署解锁脚本来确定在赎回脚本中提供的逻辑的执行。
有利地,这提供了比现有技术更大的控制程度,现有技术仅需要使用一定数量的密钥,而不是使用哪些特定密钥。通过确定使用来自多个密钥中的哪些特定密钥,本发明提供一种替代性的增强安全技术,当控制锁定/解锁交易输出UTXO时,该技术有助于更高程度的粒度或复杂性。因此,可以说本发明提供一种用于控制一部分加密货币的转移的改进的密码技术。
附加性或替代性地,可以要求最少数量的所述私钥来签署另一区块链交易的解锁脚本,以花费输出。
逻辑提供的结果或结局可以取决于确定将哪个(哪些)(特定)私钥用于签名解锁脚本。该方法可包括步骤:将用于签署解锁脚本的私钥与赎回脚本内提供的相关联公钥进行匹配。
可将赎回脚本中的逻辑用于实现逻辑门的功能性。逻辑门可以是NOT、AND、OR、NOR、XOR、IMPLY、NAND、NONIMPLY和/或XNOR门。因此,可将本发明描述为提供一种能够经由区块链交易模拟或实现逻辑门的功能性的技术。
可通过计算代理来确定至少一个数据源的状态。可将代理用于监视状况。这个状况例如可以是计算网络上的状况或设备相关的状况、或环境因素的状况、或任何其他类型的可量化状况。
计算代理可以与控制计算代理进行通信。本文可将其称为“控制器”。可通过控制器来生成赎回脚本。可将一个或多个代理用于控制处理或装置。
一个、一些或全部计算代理可包括可称为代理基本密钥的加密密钥。可通过代理(多个)来生成加密密钥。可以从控制器导出和/或接收它。可以从基本或“主”密钥生成或导出多个密钥中的一个或多个。可以使用确定性密钥生成技术来进行密钥生成。该方法可包括步骤:为代理正监视的状况的每个可能状态生成或导出其他的或单独的密钥。可以使用下面在标题为“使用共享秘密创建密钥”的部分中描述的技术从基本密钥导出其他密钥。
逻辑所提供的结果可以是布尔结果或某些其他类型的结果。该逻辑可以根据有限范围的结果来提供结果。
至少可以存在两个数据源。对于每个数据源或者与每个数据源相关联地,可以存在两个潜在状态。每个潜在状态可以与公钥相关联或者由公钥表示。因此,赎回脚本中提供的公钥的列表可用于定义、表示或描述数据源可采用或输入的所有可能状态。
该方法可包括以下步骤:
对于至少一个数据源中的每个数据源:
将多个公钥中的公钥与数据源的潜在状态相关联;使得所述数据源的所有可能状态由相应的公钥表示。
换言之,可将每个数据源的每个可能状态与公钥相关联,使得公钥可以用作该状态的(唯一)标识符。因此,可以有意地选择密钥,从而在每个密钥与数据源的潜在状态之间形成映射。这样可以使得密钥能够充当数据源的潜在状态的表示。然后,分析或确定在解锁处理期间使用哪些私钥来签名可以使得能够确定数据源的状态。
至少一个数据源可包括传感器。附加性或替代性地,数据源可包括能够生成和/或将输入信号发送到计算资源或代理的源。
每个公钥可以表示指示至少一个数据源的潜在状态的布尔值。例如,接收还是没有接收信号,或者温度是否高于20摄氏度?
本发明还提供对应的系统。可将该系统用于实现上述方法的任何实施例。
本发明可提供一种计算机实现的系统,包括:
至少一个基于计算机的资源,用于执行上述任何方法的步骤(多个);
以及
区块链或其他类型的电子分类账,或加密货币分类账的变化。
这可以是分布式分类帐。
可将至少一个基于计算机的资源用于:
向区块链网络提交交易(这可以是或可以不是加密货币网络——它可以是任何类型的分布式账本);和/或
生成交易;和/或
以数字方式签署锁定脚本;和/或
生成公共/私有加密密钥。
可将该系统用于使得结果用于控制或影响处理或装置的执行或操作。可将基于计算机的资源称为“代理”。
该系统可包括至少一个传感器或其他信号生成组件,其用于为向至少一个基于计算机的资源提供输入。
关于本发明的一个方面或实施例描述的任何特征也可用于实现一个或多个其他方面/实施例。可将关于该方法描述的任何特征应用于系统,反之亦然。
附图说明
参考本文所描述的实施例,本发明的这些和其他方面将变得清晰并得以阐明。下面仅通过示例并参考附图来描述本发明的实施例,其中:
图1示出本发明的一个实施例的说明。
图2示出本发明的说明性实施例,其中,多个独立计算代理执行外部环境的监视,以向逻辑门交易提供输入。
图3示出本发明另一实施例的概况。
图4示出根据本发明实施例布置的示例区块链交易,并且其中,交易输出1实现NOR门,其中,交易输出2将更改支付回到控制器。
图5示出本发明另一实施例的概况。
图6至10示出用于根据基本密钥生成加密密钥的技术。
具体实施方式
本发明提供一种使用区块链来实现功能的新颖且有利的解决方案。区块链用于提供功能执行的记录和/或其结果的结果。功能可以是子例程或过程(即,处理或逻辑的一部分),其应用于一组输入并返回一组输出。在一个可能的实施例中,功能可以“脱离区块”执行,也就是其性能不是区块链依赖性的。功能由基于计算机的资源执行。
区块链(例如加密货币)交易是(例如加密货币)值的转移,其通常引用先前交易输出作为新交易输入,并将所有输入值专用于新输出。交易未加密,因此可以浏览和查看已经收集到区块中的每个交易。但是,能够构造作为功能而起作用的区块链交易是非常有利的,其中,交易输出(多个)是有条件的或取决于所提供的信息。这将能够经由区块链实现复杂等级的行为。
本发明的重要方面包括(但不限于)用于创建区块链交易的方法,区块链交易表示功能,其中,功能输入通过在交易的输出的赎回脚本内使用的公钥来表示,其中,实际值通过与一个或多个公钥相关联的签名来表示。
将经由下面提供的使用情况示例来说明本发明,其中,可将区块链(例如加密货币)交易用于表示逻辑门提供的功能性。然后,可将该功能性用于控制某些技术处理或装置。
本发明在区块链上提供很多新颖特征,包括:
·针对传感器或其他类型的信号/输入生成器创建代理的能力,其中,所
述代理直接从区块链受控制,无需其他网络访问以进行操作;
·关于多个签名保护的交易确定在交易签署处理中涉及哪些公钥的能力;
以及
·在签名密钥内嵌入有限的、离散的净荷值范围的能力,所述签名密钥可用于确定赎回脚本内的行为(即代码如何执行)。
此外,本发明的实施例可以利用上述元件来传递逻辑门(例如NOR门),其中,来自A和B的输入值被嵌入用于签署的密钥中或由其表示。
优点
所提出的发明提供以下优点:
·因设计而是固有安全的(加密货币协议不需要可信方);
·分布式,从而避免大的单点故障,不易受到攻击;
·易于管理和维护,加密货币网络直接使用;
·廉价的(在加密货币协议下,通常预计仅少的交易费);
·全局的,并且具有对互联网的访问的任何人可以随时使用;
·透明性:一旦数据已经写入区块链,任何人就可以看到它;
·免疫的,一旦数据已经写入区块链,就没有人可以改变它;以及
·隐私受保护,不涉及个人识别信息。
为了使本发明起作用,它必须符合加密货币协议和钱包的现有构造和行为。图1示出根据本发明的实施例如何构造标准加密货币交易(TX)。(加密货币仅用于说明,可以使用其他分类账和相关联的协议,它们也落入本发明的范围内)。
代理配置
本发明的一个实施例包括使用多个独立(计算)代理,这些代理用于执行外部环境的监视,以向该逻辑门交易提供输入,如图2所示。因此,将计算代理设计为监控某种状况。为此目的,可以从传感器接收输入。例如,代理可以监视诸如“温度是否低于零摄氏度?”这样的状况或任何其他类型的可测试状况。因此,可将代理用于监视其观察状况的状态。
代理与控制或主代理(下面称为“控制器”)进行通信。将控制器用于用于通过区块链协议进行操作。
在一个或多个实施例中,从属代理(例如,A和B)可包括从控制器导出的密钥。但是应当注意,对于代理A和代理B,可以具有自身生成的密钥而不是从控制器导出这些密钥。这样限制了控制器可以在密钥上使用的功能性。
在一个或多个实施例中,受监视的每个状况具有通过它们自己的密钥设置的单独的监视代理。根据这个密钥,它们从其监视状况(即,对于每个可能的状态)导出单独的密钥用于输出。可根据其基本密钥确定性地导出这些值,可以在监视点完成导出,或者代理云可以预先导出这些值(例如,对于真/假传感器仅先预定义可能更有效)。可以使用下面在标题为“使用共享秘密创建密钥”的部分中描述的技术根据基本密钥导出密钥。
代理行为
上述实施例允许代理具有非常严格定义的行为;在它们的基点,它们是正检测单个状况并根据需要响应该状况的传感器。下表展示了这些代理的行为模式。
步骤 描述
1 启动代理,并根据启动参数导出新密钥
2 等待交易签署请求
3 在接收到交易签署请求时,从附连的传感器得到数据
4 使用来自附连的传感器的数据,导出新的签名密钥
5 签署交易请求
6 进入步骤2
注意,步骤2是实现现有技术中已知的多签名交易的标准处理。在步骤3和4中可以看到创造性的步骤,其允许代理将传感器值嵌入从代理返回的签名中。
数据值提取&交易评估
然后,交易中的赎回脚本允许有效地事实上提取由自主代理嵌入的值。但是,这仅适用于预先知道可能值范围的情况;本文的示例是代理A和B提供“真”/“假”值,但是使用这种方法,更宽范围的值(例如1、2、3、4、5)也是可能的。关键是使用唯一密钥来表示每个可能的值或状态,以便赎回脚本可以基于使用哪个密钥来签署解锁脚本来确定值是什么。但是,因为必须将赎回脚本内提供的逻辑用于进行这个分析,所以该方法不支持无限范围的可能值。
对于该代理,该方法通过针对可能的导出公钥来评估代理所提供的签名而起作用。因此,当控制器首次构造赎回脚本时,它本应确定对于每个可能的输入值(状态)公钥是什么,并将它们包括在赎回脚本的净荷内。
为了让脚本提取该数据,它通过确定哪个公钥用于签署交易来完成该操作,并且因为脚本已经被编码为以隐含方式理解该公钥所代表的值,所以它已经有效地提取了该值,用于在脚本限制内使用的目的。
在已知区块链标准内,为了确定经由解锁脚本收集了足够的签名,内置的OP_CHECKMULTISIG交易功能允许评估签名。但是,这不允许明确地确定使用哪些签名。因此,本发明提供对现有技术的改进,因为它提出一种使用Tx来明确地匹配特定密钥以确定使用哪些密钥并因此允许经由交易实现远更大的复杂性的技术。换言之,通过确定在签署处理中使用多个密钥的哪个子集,可以经由区块链产生更复杂的行为。
例如,在托管功能中,通过多个托管代理,可以有效地创建托管,但是限定要求提供买方加上卖方、或买方加上托管代理的其中一个、或卖方加上托管代理的其中一个的签名的脚本规则。在已知的标准加密货币协议中这是不可能的,因为标准构造允许两个托管代理都签署交易。
赎回脚本伪代码
根据本发明的实施例,可将赎回脚本内的逻辑布置如下:
示例交易
在示例交易中,交易输出(TxO)1实现NOR门,其中,交易输出2将更改支付给控制器。交易如图4所示。
赎回脚本
完整的赎回脚本如下所示。然后将其分解为逻辑组件。
方框内的指令代码展示了NOR门净荷代码(下面的区块7),它们是在使得数据成为可以验证的格式所需的签名操纵逻辑上提供的。
为了划分为逻辑“子功能”,将脚本分解为一系列区块,如下表所示,以方便读者。
锁定脚本
锁定脚本是标准的支付到脚本散列模型:
OP_HASH160<Redeem Script Hash>OP_EQUAL
解锁脚本
所需的解锁脚本是:
<Sig-Controller><Sig-A-Used><Sig-B-Used><RS Block 1>
其中:
<Sig-A-Used>或者是<Sig-A-True>;或者是<Sig-A-False>
<Sig-B-Used>或者是<Sig-B-True>;或者是<Sig-B-False>
说明:NOR逻辑门
NOR门是实现NOT OR的逻辑门。也就是说,如果两个输入均为假,则输出将为真,否则输出将为假。
A B X
0 0 1
0 1 0
1 0 0
1 1 0
在需要控制器签名加上来自A代理的签名(表示真或假值)以及来自B代理的另一签名(也表示真或假)的单个加密货币交易输出内实现NOR逻辑。图1示出可以如何经由加密货币协议实现这种NOR方法的概况。
通过替换RB Block 7可以实现替代门,如后续部分所示。
AND门
A B X
0 0 0
0 1 0
1 0 0
1 1 1
NAND门
A B X
0 0 1
0 1 1
1 0 1
1 1 0
OR门
A B X
0 0 0
0 1 1
1 0 1
1 1 1
XOR门
A B X
0 0 0
0 1 1
1 0 1
1 1 0
XNOR门
A B X
0 0 1
0 1 0
1 0 0
1 1 1
/>
NOT门
这个门的实现方式稍微更复杂,因为它只具有单个输入。
A X
0 1
1 0
因此,解锁脚本更改为:
作为单个输入的结果,发生以下区块更改:
/>
如下所述,可以提供很多不同的实施例。
变化1:生成TURE&FALSE信号
上述描述允许表示逻辑门的未签署的交易输出(UTXO)仅在门状况评估为TRUE的情况下花费。在很多情况下,不管电路的实际输出如何,花费输出都将是有利的(虽然是到不同的接受者地址)。
使用本实施例,这是可能的。如图3所示有效地修改图1所示的实施例。在此情境中,存在提供给赎回脚本的额外参数,该额外参数可以是拼图,或者嵌入密钥中或明确提供(如示例中所示)。这样限定了控制器花费UTXO的期望结果。
因此,对于简单的逻辑门,控制器将尝试使用相同的签名来花费交易两次;一个具有预期的TRUE结果,一个具有预期的FALSE结果。
赎回脚本将扩展为使得在门计算结束时其将对门的输出的相等性检查应用于控制器请求的输出,使得:
如果嵌入式门逻辑返回FALSE,并且期望的结果为FALSE,则赎回脚本将评估为TRUE并且可以花费UTXO;
如果嵌入式门逻辑返回TRUE,并且期望的结果为TRUE,则赎回脚本将评估为TRUE并且可以花费UTXO;
如果嵌入式门逻辑返回TRUE,但期望的结果为FALSE,则赎回脚本将评估为FALSE且不能花费UTXO;以及
如果嵌入式门逻辑返回FALSE,但期望的结果为TRUE,则赎回脚本将评估为FALSE且不能花费UTXO。
变化脚本
完整的赎回脚本如下所示。然后将其分解为逻辑组件,以方便读者。来自主要实施例的添加内容如高亮文本所示(中划线示出删除)。
方框内的指令代码展示了签名操纵逻辑上的NOR门净荷代码,以使得数据成为可以验证的格式。
锁定脚本
锁定脚本是标准的支付到脚本散列模型:
OP_HASH160<Redeem Script Hash>OP_EQUAL
解锁脚本
这种逻辑门的模式的解锁脚本是:
<Sig-Controller><Signal-Reouired><sig-A-Used><Sig-B-Used>
<RS Block 1>
其中:
<Sig-A-Used>或者是<Sig-A-True>,或者是<Sig-A-False>
<Sig-B-Used>或者是<Sig-B-True>,或者是<Sig-B-False>
<Sig-Required>或者是TRUE,或者是FALSE(1或0)
变化2:生成隐藏的TRUE&FALSE信号
变化1具有微小缺点,即,真或假状况是否从脚本以信号传输是公开知识(来自赎回脚本)。在来自控制器的签名内部嵌入期望的信号避免此问题。在变化2中,控制器具有从其主密钥导出的两个公钥,如图5所示。
变化脚本
完整的赎回脚本如下所示。然后将其分解为逻辑组件。来自主要解决方案的添加内容如高亮文本所示(中划线示出删除)。
方框内的指令代码展示了签名操纵逻辑上的NOR门净荷代码,以使得数据成为可以验证的格式。
锁定脚本
锁定脚本是标准的支付到脚本散列模型:
OP_HASH160<Redeem Script Hash>OP_EQUAL
解锁脚本
这种逻辑门的模式的解锁脚本是:
其中:
<Sig-A-Used>或者是<Sig-A-True>,或者是<Sig-A-False>
<Sig-B-Used>或者是<Sig-B-True>,或者是<Sig-B-False>
<Sig-Control-Desire>或者是<Sig-Control-Desire-True>,或者是
<Sig-Control-Desire-False>
变化3:单代码堆栈
可以使用单个堆栈实现这些门,而不是使用alt堆栈。
赎回脚本:概述和NOR
完整的赎回脚本如下所示。然后将其分解为逻辑组件。
方框内的指令代码展示了签名操纵逻辑上的NOR门净荷代码,以使得数据成为可以验证的格式。所有堆栈按照从上到下的排序显示。
锁定脚本
锁定脚本是标准的支付到脚本散列模型:
OP_HASH160<Redeem Script Hash>OP_EQUAL
解锁脚本
这种逻辑门的模式的解锁脚本是(注意签名区块的不同排序):
<Sig-B-Used><Sig-A-Used><Sig-Controller><RS Block 1>
其中:
<Sig-A-Used>或者是<Sig-A-True>,或者是<Sig-A-False>
<Sig-B-Used>或者是<Sig-B-True>,或者是<Sig-B-False>
替代门
要实现替代逻辑门,用以下内容替换蓝色矩形中的显式NOR代码:
名称 区块目的
AND OP_BOOLAND
OR OP_BOOLOR
NAND OP_BOOLAND OP_NOT
XOR OP_NUMNOTEQUAL
XNOR OP_NUMEQUAL
IMPLY OP_SWAP OP_NOT OP_BOOLOR
逆向蕴涵 OP_NOT OP_BOOLOR
实质非蕴涵 OP_NOT OP_BOOLAND
逆向非蕴涵 OP_SWAP OP_NOT OP_BOOLAND
情境:盗窃警告设置(NOR门)
使用NOR门的上述实施例的简单示例是设置盗窃警告。
在该示例中,代理A是装舱门上的门传感器,其当门打开时发出TRUE信号,关闭时发出FALSE信号。
代理B也是门传感器,但是在建筑物内的现金保险箱上。当门打开时它也发出TRUE信号,当关闭时发出FALSE信号。控制器是中央警告系统,并且只有当建筑物内的所有门都关闭时才会设置警告。因此,当请求控制器设置警告时,它将向各种监视代理广播交易。只有当代理A和代理B发出关闭它们各自门的信号时,交易才会完成。
我们现在描述一种根据如上所述的从基本密钥生成新密钥的技术。
使用共享秘密创建密钥
参照附图5至9对以下技术进行描述。
使用以下技术,可以安全地保存或重新创建密钥。特别地,在可以用于导出公钥的私钥情况下,可以部分地存储私钥。
用户——也就是爱丽丝(Alice)或鲍勃(Bob)——可以保存他们的私钥的一部分,服务提供商可以保存第二部分,而第三部分可以保存在远程安全站点处。可以使用三个部分中的任何两个来重构私钥,或者更一般地,可以使用n个部分中的任意m个部分来重构私钥。
如果私钥可以重构,那么私钥可以用于在使用点处重新创建公钥,然后私钥和公钥可以在使用后再次丢弃。
可以使用夏米尔秘密共享方案(Shamir’s Secret Sharing Scheme)来达到拆分私钥。可以使用以下方法从主密钥确定性地导出私钥-公钥对。该方法使得参与者能够共享秘密值而无需甚至发送它们。
系统可以使用如下所述的子密钥生成的方法为参与者生成公钥。
图5示出了系统1,其包括通过通信网络5与第二节点7通信的第一节点3。第一节点3具有相关联的第一处理设备23,第二节点5具有相关联的第二处理设备27。第一和第二节点3、7可以包括电子设备,例如计算机、电话、平板计算机、移动通信设备、计算机服务器等。在一个示例中,第一节点3可以是客户端(用户)设备,第二节点7可以是服务器。服务器可以是数字钱包提供商的服务器。
第一节点3与具有第一节点主私钥(V1C)和第一节点主公钥(P1C)的第一非对称密码对相关联。第二节点(7)与具有第二节点主私钥(V1S)和第二节点主公钥(P1S)的第二非对称密码对相关联。换句话说,第一和第二节点各自拥有相应的公钥-私钥对。
可以在注册处理(例如钱包的注册)期间生成第一和第二非对称密码对,用于相应的第一和第二节点3、7。可公开地(例如通过通信网络5)共享每个节点的公钥。
为了在第一节点3和第二节点7处确定共同秘密(CS),节点3、7执行相应方法300、400的步骤,而不通过通信网络5传递私钥。
由第一节点3执行的方法300包括:至少基于第一节点主私钥(V1C)和生成器值(GV),确定(330)第一节点第二私钥(V2C)。生成器值可以基于在第一和第二节点之间共享的消息(M),其可以包括:通过通信网络5共享消息,对此,下文将进一步详述。方法300还包括:至少基于第二节点主公钥(P1S)和生成器值(GV)确定(370)第二节点第二公钥(P2S)。方法300包括,基于第一节点第二私钥(V2C)和第二节点第二公钥(P2S)确定(380)共同秘密(CS)。
重要的是,也可以通过方法400在第二节点7处确定相同的共同秘密(CS)。方法400包括:基于第一节点主公钥(P1C)和生成器值(GV)确定(430)第一节点第二公钥(P2C)。方法400还包括:基于第二节点主私钥(V1S)和生成器值(GV)确定(470)第二节点第二私钥(V2S)。方法400包括:基于第二节点第二私钥(V2S)和第一节点第二公钥(P2C)确定(480)共同秘密(CS)。
通信网络5可包括局域网、广域网、蜂窝网络、无线通信网络、互联网等等。这些网络可能容易被例如被窃听者11窃听,在这些网络中,数据可以通过通信介质(例如电线、光纤传输,或无线)传输。方法300、400可以允许第一节点3和第二节点7都独立地确定共同秘密,而无需通过通信网络5发送共同秘密。
因此,一个优点是可以由每个节点安全且独立地确定共同秘密(CS),而不必通过可能不安全的通信网络5发送私钥。进而,共同秘密可以用作秘密密钥(或者作为秘密密钥的基础)。
方法300、400可包括附加步骤。方法300可以包括:在第一节点3处,基于消息(M)和第一节点第二私钥(V2C)生成签名消息(SM1)。方法300还包括:通过通信网络,将第一签名消息(SM1)发送(360)到第二节点7。进而,第二节点7可执行步骤:接收(440)第一签名消息(SM1)。方法400还包括以下步骤:用第一节点第二公钥(P2C)验证(450)第一签名消息(SM1),以及基于验证第一签名消息(SM1)的结果认证(460)第一节点3。有利地,这允许第二节点7认证所声称的第一节点(其中生成第一签名消息)是第一节点3。这基于以下假设:仅第一节点3具有对第一节点主私钥(V1C)的访问,因此仅第一节点3可以确定用于生成第一签名消息(SM1)的第一节点第二私钥(V2C)。应当理解的是,类似地,例如在点对点(peer-to-peer)情境中,可以在第二节点7处生成第二签名消息(SM2)并将其发送到第一节点3,使得第一节点3可以认证第二节点7。
可以以各种方式实现在第一和第二节点之间共享消息(M)。在一个示例中,可以在第一节点3处生成消息,然后将其通过通信网络5发送给第二节点7。或者,可以在第二节点7处生成消息,然后将其通过通信网络5发送给第二节点7。在一些示例中,消息(M)可以是公开的,因此可以通过不安全的网络5发送。一个或多个消息(M)可以存储在数据存储13、17、19中。本领域技术人员将认识到,可以以各种方式实现消息的共享。
有利地,可以保存允许重新创建共同秘密(CS)的记录,而记录本身不必私下存储或安全发送。
注册方法100、200
现描述注册方法100、200的示例,其中,方法100由第一节点3执行,方法200由第二节点7执行。这包括为相应的第一和第二节点3、7建立第一和第二非对称密码对。
非对称密码对包括相关联的私钥和公钥,例如在公钥加密中使用的密钥。在该示例中,使用椭圆曲线密码系统(ECC,Elliptic Curve Cryptography)和椭圆曲线运算的性质生成非对称密码对。
在方法100、200中,这包括:第一和第二节点就共同ECC系统协定(110、210),并使用基点(G)。(注意:基点可以称为共同生成器,但术语“基点”用于避免与生成器值GV混淆)。在一个示例中,共同ECC系统可以基于secp256K1,secp256K1是加密货币使用的ECC系统。可以选择、随机生成、或分配基点(G)。
现转向第一节点3,方法100包括:安排(110)共同ECC系统和基点(G)。这可以包括:从第二节点7或第三节点9接收共同ECC系统和基点。或者,用户接口15可以与第一节点3相关联,由此用户可以选择性地提供共同ECC系统和/或基点(G)。在另一可选方案中,共同ECC系统和/或基点(G)中的一个或二者可由第一节点3随机选择。通过通信网络5,第一节点3可发送指示使用共同ECC系统和基点(G)的通知给第二节点7。进而,在步骤210中,第二节点7可通过指示确认使用共同ECC系统和基点(G)发送通知来进行安排(210)。
方法100还包括:第一节点3生成(120)第一非对称密码对,其包括第一节点主私钥(V1C)和第一节点主公钥(P1C)。这包括:至少部分地基于共同ECC系统中规定的可允许范围中的随机整数来生成第一节点主私钥(V1C)。这还包括:根据以下公式,基于第一节点主私钥(V1C)和基点(G)的椭圆曲线点乘(elliptic curve point multiplication)来确定第一节点主公钥(P1C):
P1C=V1C x G (公式1)
因此,第一非对称密码对包括:
V1C:由第一节点保密的第一节点主私钥。
P1C:使得公开地获知的第一节点主公钥。
第一节点3可以将第一节点主私钥(V1C)和第一节点主公钥(P1C)存储在与第一节点3相关联的第一数据存储13中。为了安全,第一节点主私钥(V1C)可以存储在第一数据存储13的安全部分中,以确保密钥保持私密。
方法100还包括:通过通信网络5,将第一节点主公钥(P1C)发送(130)到第二节点7,如图6所示。第二节点7可在接收(220)第一节点主公钥(P1C)时将第一节点主公钥(P1C)存储(230)在与第二节点7相关联的第二数据存储17中。
类似于第一节点3,第二节点7的方法200包括:生成(240)第二非对称密码对,第二非对称密码对包括第二节点主私钥(V1S)和第二节点主公钥(P1S)。第二节点主私钥(V1S)也是可允许范围内的随机整数。进而,第二节点主公钥(P1S)由以下公式确定:
P1S=V1S x G (公式2)
因此,第二非对称密码对包括:
V1S:由第二节点保密的第二节点主私钥。
P1S:使得公开地获知的第二节点主公钥。
第二节点7可以将第二非对称密码对存储在第二数据存储17中。方法200还包括:将第二节点主公钥(P1S)发送(250)到第一节点3。进而,第一节点3可以接收(140)并存储(150)第二节点主公钥(P1S)。
应当理解的是,在一些替代方案中,可以在与第三节点9(例如可信的第三方等)相关联的第三数据存储19处接收和存储相应的公共主密钥。这可以包括充当公开目录的第三方,例如认证机构。因此,在一些示例中,仅当确定需要共同秘密(CS)时,才可由第二节点7请求和接收第一节点主公钥(P1C)(反之亦然)。
注册步骤作为初始设置可只需产生一次。
会话发起并由第一节点3确定共同秘密
现将描述确定共同秘密(CS)的示例。共同秘密(CS)可以用于第一节点3和第二节点7之间的特定会话、时间、交易或其他目的,并且使用相同的共同秘密(CS)可能不是期望的或者安全的。因此,可以在不同的会话、时间、交易等之间更换共同秘密(CS)。
提供以下内容用以说明以上已经描述的安全传输技术。
生成消息(M)310
在该示例中,由第一节点3执行的方法300包括:生成(310)消息(M)。消息(M)可以是随机的、伪随机的或用户定义的。在一个示例中,消息(M)基于Unix系统时间(Unix Time)和随机值(nonce)(和任意值)。例如,消息(M)可以提供为:
Message(M)=UnixTime+nonce (公式3)
在一些示例中,消息(M)是任意的。然而,应当理解,消息(M)可以具有在某些应用中可能有用的选择性值(例如Unix时间等)。
方法300包括:通过通信网络3将消息(M)发送(315)到第二节点7。可以在不安全的网络上发送消息(M),因为消息(M)不包括关于私钥的信息。
确定生成器值(GV)320
方法300还包括步骤320:基于消息(M)确定生成器值(GV)。在该示例中,这包括:确定消息的加密散列。加密散列算法的一个示例包括SHA-256,以创建一个256位生成器值(GV)。即:
GV=SHA-256(M) (公式4)
应当理解,可以使用其他散列算法。这可以包括安全散列算法(Secure HashAlgorithm,简称“SHA”)系列中的其他散列算法。一些具体示例包括SHA-3子集中的实例,包括SHA3-224、SHA3-256、SHA3-384、SHA3-512,SHAKE128,SHAKE256。其他散列算法可以包括RACE原始完整性评估消息摘要(RACE Integrity Primitives Evaluation MessageDigest,简称“RIPEMD”)系列中的散列算法。具体示例可以包括RIPEMD-160。其他散列函数可以包括基于Zémor-Tillich的散列函数和基于背包(knapsack)的散列函数的系列。
确定第一节点第二私钥330
然后方法300包括步骤330:基于第二节点主私钥(V1C)和生成器值(GV)确定第一节点第二私钥(V2C)。根据以下公式,V2C可以基于第一节点主私钥(V1C)和生成器值(GV)的标量加法:
V2C=V1C+GV (公式5)
因此,第一节点第二私钥(V2C)不是随机值,而是另外确定性地从第一节点主私钥导出的。加密对中的对应公钥(即第一节点第二公钥(P2C)),具有以下关系:
P2C=V2C x G (公式6)
将V2C从公式5中代入公式6中,提供:
P2C=(V1C+GV)x G (公式7)
其中,“+”运算符指椭圆曲线点加法。注意,椭圆曲线密码学代数是可分配的,公式7可以表示为:
P2C=V1C x G+GV x G (公式8)
最后,公式1可以代入公式7,以提供:
P2C=P1C+GV x G (公式9.1)
P2C=P1C+SHA-256(M)x G (公式9.2)
因此,给定第一节点主公钥(P1C)和消息(M)的知识,对应的第一节点第二公钥(P2C)可以是可导出的。第二节点7可以具有这样的知识以独立地确定第一节点第二公钥(P2C),这将在下文关于方法400进一步进行详细讨论。
基于消息和第一节点第二私钥生成第一签名消息(SM1)350
方法300还包括:基于消息(M)和确定的第一节点第二私钥(V2C)生成(350)第一签名消息(SM1)。生成签名消息包括:应用数字签名算法对消息(M)进行数字签名。在一个示例中,这包括:在椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)中将第一节点第二私钥(V2C)应用于消息以获得第一签名消息(SM1)。ECDSA的示例包括基于具有secp256k1、secp256r1、secp384r1、se3cp521r1的ECC系统的ECDSA。
在第二节点7处,通过对应的第一节点第二公钥(P2C)来验证第一签名消息(SM1)。第二节点7可使用对第一签名消息(SM1)的该验证来认证第一节点3,这将在下面的方法400中进行讨论。
确定第二节点第二公钥370’
然后,第一节点3可以确定(370)第二节点第二公钥(P2S)。如上所述,第二节点第二公钥(P2S)可以至少基于第二节点主公钥(P1S)和生成器值(GV)。在该示例中,由于通过与基点(G)的椭圆曲线点乘将公钥确定(370’)为私钥,所以可以以类似于公式6的方式表示第二节点第二公钥(P2S),如:
P2S=V2S x G (公式10.1)
P2S=P1S+GV x G (公式10.2)
公式10.2的数学证明与上述用于导出第一节点第二公钥(P2C)的公式9.1的数学证明相同。应当理解,第一节点3可以独立于第二节点7确定(370)第二节点第二公钥。
在第一节点3处确定共同秘密380
然后,第一节点3可以基于已确定的第一节点第二私钥(V2C)和已确定的第二节点第二公钥(P2S)来确定(380)共同秘密(CS)。共同秘密(CS)可以由第一节点3通过以下公式确定:
S=V2C x P2S (公式11)
在第二节点7处执行的方法400
现将描述在第二节点7处执行的对应方法400。应当理解,这些步骤中的一些步骤类似于上述由第一节点3执行的步骤。
方法400包括:通过通信网络5,接收(410)来自第一节点3的消息(M)。这可包括在步骤315由第一节点3发送的消息(M)。然后基于消息(M),第二节点7确定(420)生成器值(GV)。由第二节点7确定(420)生成器值(GV)的步骤类似于由上述第一节点执行的步骤320。在该示例中,第二节点7独立于第一节点3执行该确定步骤420。
下一步骤包括:基于第一节点主公钥(P1C)和生成器值(GV)确定(430)第一节点第二公钥(P2C)。在该示例中,由于通过与基点(G)的椭圆曲线点乘将公钥确定(430’)为私钥,所以可以以类似于公式9的方式将第一节点第二公钥(P2C)表示为:
P2C=V2C x G (公式12.1)
P2C=P1C+GV x G (公式12.2)
公式12.1和12.2的数学证明与上述针对公式10.1和10.2所讨论的数学证明相同。
第二节点7认证第一节点3
方法400可以包括由第二节点7执行的认证所声称的第一节点3是第一节点3的步骤。如前所述,这包括:接收(440)来自第一节点3的第一签名消息(SM1)。然后,第二节点7可通过在步骤430确定的第一节点第二公钥(P2C)来验证(450)第一签名消息(SM1)上的签名。
可以根据如上所述的椭圆曲线数字签名算法(ECDSA)来完成验证数字签名。重要的是,使用第一节点第二私钥(V2C)签署的第一签名消息(SM1)仅应通过对应的第一节点第二公钥(P2C)正确地受验证,因为V2C和P2C形成密码对。由于这些密钥在第一节点3的注册时生成的第一节点主私钥(V1C)和第一节点主公钥(P1C)上是确定性的,因此验证第一签名消息(SM1)可以用作认证所声称的发送第一签名消息(SM1)的第一节点在注册期间是同一第一节点3的基础。因此,第二节点7还可以执行步骤:基于验证(450)第一签名消息的结果来认证(460)第一节点3。
第二节点7确定共同秘密
方法400还可包括:基于第二节点主私钥(V1S)和生成器值(GV),第二节点7确定(470)第二节点第二私钥(V2S)。类似于第一节点3执行的步骤330,根据以下公式,第二节点第二私钥(V2S)可基于第二节点主私钥(V1S)和生成器值(GV)的标量加法:
V2S=V1S+GV (公式13.1)
V2S=V1S+SHA-256(M) (公式13.2)
然后,基于以下公式,第二节点7可以独立于第一节点3,基于第二节点第二私钥(V2S)和第一节点第二公钥(P2C)来确定(480)共同秘密(CS):
S=V2S x P2C (公式14)
由第一节点3和第二节点7确定的共同秘密(CS)的证明
由第一节点3确定的共同秘密(CS)与在第二节点7处确定的共同秘密(CS)相同。现将对公式11和公式14提供相同的共同秘密(CS)的数学证明进行描述。
转向由第一节点3确定的共同秘密(CS),公式10.1可以代入公式11,如下所示:
S=V2C x P2S (公式11)
S=V2C x(V2S x G)
S=(V2C x V2S)x G (公式15)
转向由第二节点7确定的共同秘密(CS),公式12.1可以代入公式14,如下所示:
S=V2S x P2C (公式14)
S=V2S x(V2C x G)
S=(V2S x V2C)x G (公式16)
由于ECC代数是可交换的,因此公式15和公式16是等价的,因为:
S=(V2C x V2S)x G=(V2S x V2C)x G (公式17)
共同秘密(CS)和秘密密钥
共同秘密(CS)现在可用作秘密密钥,或者作为在第一节点3和第二节点7之间进行安全通信的对称密钥算法中的秘密密钥的基础。
共同秘密(CS)可以是椭圆曲线点(xS,yS)的形式。这可使用由节点3、7所协定的标准公开已知运算转换成标准密钥格式。例如,xS值可以是可以用作AES256加密的密钥的256位整数。它也可以使用RIREMD160转换成160位整数,用于任何需要这个长度密钥的应用。
可以根据需要确定共同秘密(CS)。重要的是,第一节点3不需要存储共同秘密(CS),因为这可以基于消息(M)重新确定。在一些示例中,所使用的消息(M)可以存储在数据存储13、17、19(或其他数据存储)中,而不需要主私钥所要求的相同级别的安全性。在一些示例中,消息(M)可以是公开可用的。
然而,根据某些应用,共同秘密(CS)可以存储在与第一节点相关联的第一数据存储(X)中,前提是共同秘密(CS)与第一节点主私钥(V1C)一样安全地保存。
有利地,基于单个主密钥加密对,该技术可用于确定可以与多个安全秘密密钥对应的多个共同秘密。
应当说明的是,上述实施例说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施例。在权利要求中,置于括号中的任何标号不应解释为限制权利要求。词语“包括(comprising)”和“包括(comprises)”等并非在整体上排除除了任何权利要求或说明书中列出的之外的其他要素或步骤的存在。在本说明书中,“包括(comprises)”意指“包括(includes)或由......组成(consists of)”,“包括(comprises)”意指“包括(including)或由......组成(consistingof)”。要素的单数引用不排除这些要素的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的一个且同一个部件来体现。不争的事实是,在相互不同的从属权利要求中陈述了特定措施,并不指示不能有利地使用这些措施的组合。

Claims (17)

1.一种计算机实现的控制方法,用于控制是否经由区块链将一部分加密货币从一方转移到另一方,包括以下步骤:
提供区块链交易,所述区块链交易包括用于输出的赎回脚本,其中,
所述赎回脚本:
i)指定多个公钥,分别与对应的私钥相关联;并且其中,每个公钥与至少一个数据源的潜在状态唯一地相关联,所述至少一个数据源能够生成输入信号和/或将所述输入信号发送到计算资源或代理,其中,所述数据源与传感器相关联;并且对于每个数据源,存在至少两个潜在状态,每个潜在状态与所述多个公钥中的公钥相关联或者由所述公钥表示,其中每个潜在状态由所述传感器确定;以及
ii)包括逻辑,将用于签署解锁脚本的私钥与在所述赎回脚本内提供的相关联公钥进行匹配,并且还用于基于将多个私钥中的哪一个用于签署解锁脚本来提供结果,其中用于签署解锁脚本的签名是基于从所述传感器接收的数据来导出的;
其中,必须使用最少数量的所述私钥来签署另一区块链交易的解锁脚本以花费输出。
2.根据权利要求1所述的方法,其中,所述逻辑用于实现逻辑门的功能性。
3.根据权利要求2所述的方法,其中,所述逻辑门是NOT、AND、OR、NOR、XOR、IMPLY、NAND、NONIMPLY或XNOR门。
4.根据任一项前述权利要求所述的方法,其中,通过计算代理来确定所述至少一个数据源的状态。
5.根据权利要求4所述的方法,其中,所述计算代理与控制计算代理进行通信。
6.根据任一项前述权利要求所述的方法,其中,所述结果是布尔结果。
7.根据任一项前述权利要求所述的方法,其中,存在至少两个数据源。
8.根据任一项前述权利要求所述的方法,其中,对于每个数据源存在两个潜在状态,每个潜在状态与公钥相关联或者由公钥表示。
9.根据任一项前述权利要求所述的方法,包括以下步骤:
对于所述至少一个数据源中的每个数据源:
将所述多个公钥中的一个公钥与所述数据源的潜在状态相关联,使得所述数据源的所有可能状态由相应的公钥表示。
10.根据任一项前述权利要求所述的方法,其中,所述至少一个数据源包括传感器或信号生成组件。
11.根据任一项前述权利要求所述的方法,其中,每个公钥表示指示所述至少一个数据源的潜在状态的布尔值。
12.根据任一项前述权利要求所述的方法,其中:
可以从基本密钥生成或导出多个密钥中的一个或多个。
13.根据权利要求12所述的方法,其中:
使用确定性密钥生成技术来执行所述密钥生成。
14.一种计算机实现的系统,包括:
至少一个基于计算机的资源,用于执行任一项前述权利要求所述的步骤;以及
区块链。
15.根据权利要求14所述的计算机实现的系统,其中,所述至少一个基于计算机的资源用于:
向区块链网络提交交易;
生成交易;
以数字方式签署锁定脚本;和/或
生成公共/私有加密密钥。
16.根据权利要求14或15所述的系统,其中,将所述结果用于控制或影响处理或装置的执行或操作。
17.根据权利要求14或15所述的系统,还包括至少一个传感器或信号生成组件,用于向所述至少一个基于计算机的资源提供输入。
CN201780042626.0A 2016-07-29 2017-07-21 区块链实现的方法和系统 Active CN109478223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311006433.3A CN116911836A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GBGB1613188.0A GB201613188D0 (en) 2016-07-29 2016-07-29 Computer-implemented method and system
GBGB1613148.4A GB201613148D0 (en) 2016-07-29 2016-07-29 Computer-implemented method and system
GB1613188.0 2016-07-29
GBGB1613177.3A GB201613177D0 (en) 2016-07-29 2016-07-29 Computer-implemented method and system
GB1613148.4 2016-07-29
GB1613177.3 2016-07-29
PCT/IB2017/054422 WO2018020369A1 (en) 2016-07-29 2017-07-21 Blockchain-implemented method and system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311006433.3A Division CN116911836A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统

Publications (2)

Publication Number Publication Date
CN109478223A CN109478223A (zh) 2019-03-15
CN109478223B true CN109478223B (zh) 2023-08-29

Family

ID=59485389

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202311460277.8A Pending CN117391682A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN202311006433.3A Pending CN116911836A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN201780042636.4A Active CN109478280B (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN201780042614.8A Active CN109478279B (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN202310949806.4A Pending CN116911835A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN201780042626.0A Active CN109478223B (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN202311460277.8A Pending CN117391682A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN202311006433.3A Pending CN116911836A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN201780042636.4A Active CN109478280B (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN201780042614.8A Active CN109478279B (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统
CN202310949806.4A Pending CN116911835A (zh) 2016-07-29 2017-07-21 区块链实现的方法和系统

Country Status (8)

Country Link
US (6) US11563574B2 (zh)
EP (5) EP3491600B1 (zh)
JP (8) JP6990690B2 (zh)
KR (3) KR102472231B1 (zh)
CN (6) CN117391682A (zh)
SG (6) SG10202107632SA (zh)
WO (3) WO2018020371A1 (zh)
ZA (2) ZA201900512B (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7083754B2 (ja) 2016-02-23 2022-06-13 エヌチェーン ホールディングス リミテッド スマートコントラクトに基づく自動給与支払方法及びシステムをもたらす、ブロックチェーン上の給与支払に関連付けられた暗号通貨の効率的な転送のための方法及びシステム
EP3855677A1 (en) 2016-02-23 2021-07-28 Nchain Holdings Limited Blockchain-implemented method for control and distribution of digital content
CN108885741B (zh) 2016-02-23 2023-05-16 区块链控股有限公司 一种实现区块链上交换的令牌化方法及系统
CA3010116A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
GB2558484A (en) 2016-02-23 2018-07-11 Nchain Holdings Ltd A method and system for the secure transfer of entities on a blockchain
EP3420513A1 (en) 2016-02-23 2019-01-02 Nchain Holdings Limited System and method for controlling asset-related actions via a blockchain
SG11201806712RA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd A method and system for securing computer software using a distributed hash table and a blockchain
EA201891827A1 (ru) 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Реестр и способ автоматизированного администрирования смарт-контрактов, использующих блокчейн
EP4167165A1 (en) 2016-02-23 2023-04-19 nChain Licensing AG Blockchain-based exchange with tokenisation
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
CN108885748A (zh) 2016-02-23 2018-11-23 区块链控股有限公司 用于区块链的加密货币的通用令牌化系统
BR112018016810A2 (pt) 2016-02-23 2018-12-26 nChain Holdings Limited método e sistema implementado por computador para criptografia de dados em um dispositivo eletrônico, dispositivo eletrônico e programa de computador
EP3257002B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
CN114282928A (zh) * 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
FR3049089B1 (fr) * 2016-03-21 2018-02-16 Sebastien Jean Serge Dupont Procede permettant de gerer les validations des messages relatifs a une chaine de messages de facon unitaire a travers un reseau de validation decentralise
GB201611698D0 (en) * 2016-07-05 2016-08-17 Eitc Holdings Ltd Blockchain-implemented control method and system
SG10202107632SA (en) 2016-07-29 2021-08-30 Nchain Holdings Ltd Blockchain-implemented method and system
US20190188697A1 (en) * 2017-12-19 2019-06-20 Tbcasoft, Inc. Systems of multiple distributed ledgers using cross-ledger transfers for highly-scalable transaction throughput
WO2019199196A1 (ru) * 2018-04-11 2019-10-17 Алексей Сергеевич СМИРНОВ Способ и устройство для осуществления безопасных транзакций в блокчейн инфраструктуре
JP7371015B2 (ja) 2018-05-14 2023-10-30 エヌチェーン ライセンシング アーゲー ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
US10902140B2 (en) * 2018-06-18 2021-01-26 CBRE, Inc. Services platform for managing a verifiable permissioned ledger in a distributed database management system
WO2020010490A1 (zh) * 2018-07-09 2020-01-16 彭英均 一种无需仲裁解决录入区块链的交易数据真实有效的方法
GB2578168A (en) * 2018-10-19 2020-04-22 Star Hat Solutions Ltd Computer-implemented method and system for digital signing of transactions
US11316668B2 (en) 2018-11-16 2022-04-26 Safetech Bv Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
CN109451036B (zh) * 2018-12-04 2021-07-16 北京创世智链信息技术研究院 一种区块链安全通信方法、服务节点及系统
CN109859042A (zh) * 2019-01-09 2019-06-07 广州闪链区块链科技有限公司 一种基于区块链的黄金资产赎回方法、装置及存储介质
WO2019101240A2 (en) 2019-03-15 2019-05-31 Alibaba Group Holding Limited Authentication based on a recoverd public key
CN110135964A (zh) * 2019-05-21 2019-08-16 山东浪潮通软信息科技有限公司 一种基于区块链技术的财务记账方法
CN110415092A (zh) * 2019-08-07 2019-11-05 北京艾摩瑞策科技有限公司 互联网租房关联数据的上链方法及其装置
CN111464538B (zh) * 2020-03-31 2022-02-01 中国联合网络通信集团有限公司 资产交易方法和系统、存储介质、资产交易后台
CN111464636B (zh) * 2020-03-31 2021-12-07 中国联合网络通信集团有限公司 资产交易方法和系统、存储介质
CN111510309B (zh) * 2020-04-08 2022-05-10 深圳大学 区块链数据传输方法、装置、设备及计算机可读存储介质
WO2021250045A1 (en) * 2020-06-10 2021-12-16 Elas Holdings PTY LTD Computer implemented systems and methods
CN113052576B (zh) * 2020-11-05 2024-02-27 北京跨联元焕网络科技有限公司 跨链交换的托管方法和系统
US20230125542A1 (en) * 2021-10-22 2023-04-27 Mastercard International Incorporated Method and system of initiating simultaneous start of block formation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447559A (zh) * 2010-10-06 2012-05-09 国际商业机器公司 针对复合资源文档创建数字签名的方法和系统
CN104412276A (zh) * 2012-03-22 2015-03-11 多塞股份公司 基于规则控制电子签名交易的保管权的系统和方法
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
WO2015144971A1 (en) * 2014-03-27 2015-10-01 Nokia Technologies Oy Method and apparatus for automatic inter-device authorisation
CN105681301A (zh) * 2016-01-16 2016-06-15 杭州复杂美科技有限公司 区块链上的结算方法

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
KR100291838B1 (ko) * 1999-11-25 2001-06-01 정회선 훈민정음 제자 원리에 기반한 한글 입력 장치 및 방법
US6701463B1 (en) * 2000-09-05 2004-03-02 Motorola, Inc. Host specific monitor script for networked computer clusters
US8219801B2 (en) * 2003-03-10 2012-07-10 International Business Machines Corporation Method of authenticating digitally encoded products without private key sharing
US7793154B2 (en) * 2006-11-30 2010-09-07 International Business Machines Corporation Method and implementation for automating processes using data driven pre-recorded transactions
US7930554B2 (en) * 2007-05-31 2011-04-19 Vasco Data Security,Inc. Remote authentication and transaction signatures
EP2553866B1 (en) * 2010-03-31 2018-11-21 Irdeto B.V. System and method for protecting cryptographic assets from a white-box attack
JP2012213859A (ja) * 2011-03-31 2012-11-08 Fujitsu Component Ltd プリンタ、プログラム、およびプリンタシステム
US9355393B2 (en) 2011-08-18 2016-05-31 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
US20150220914A1 (en) * 2011-08-18 2015-08-06 Visa International Service Association Electronic Wallet Management Apparatuses, Methods and Systems
US10825001B2 (en) 2011-08-18 2020-11-03 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US9710807B2 (en) * 2011-08-18 2017-07-18 Visa International Service Association Third-party value added wallet features and interfaces apparatuses, methods and systems
US20130166455A1 (en) * 2011-12-23 2013-06-27 Douglas Feigelson Creating and using digital currency
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.
EP2698756B1 (en) 2012-08-13 2016-01-06 Nxp B.V. Local Trusted Service Manager
US9876775B2 (en) 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
EP2755158A1 (en) 2013-01-09 2014-07-16 Thomson Licensing Method and device for privacy-respecting data processing
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
US10200199B2 (en) 2013-08-05 2019-02-05 Guardtime Holdings Limited Strengthened entity identity for digital record signature infrastructure
US20150120569A1 (en) 2013-10-31 2015-04-30 Bitgo, Inc. Virtual currency address security
FR3018370A1 (fr) * 2014-03-07 2015-09-11 Enrico Maim Procede et systeme de generation automatique de crypto-monnaies
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
US9672499B2 (en) * 2014-04-02 2017-06-06 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
ZA201502969B (en) * 2014-05-09 2016-01-27 Univ Stellenbosch Enabling a user to transact using cryptocurrency
WO2015171580A1 (en) * 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
US10346814B2 (en) * 2014-06-04 2019-07-09 MONI Limited System and method for executing financial transactions
GB201413284D0 (en) 2014-07-28 2014-09-10 Pardi Tibor Z And Zovolt Ltd System to interact with internet of things decices using block-chain based smart contracts and digital currencies
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
CA2964223C (en) * 2014-10-02 2020-04-14 ecoATM, Inc. Application for device evaluation and other processes associated with device recycling
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
US20160164884A1 (en) 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain
US9973341B2 (en) * 2015-01-23 2018-05-15 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
RU2673842C1 (ru) 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
EP3281163B1 (en) * 2015-04-05 2023-12-13 Digital Asset (Switzerland) GmbH Digital asset intermediary electronic settlement platform
US10097356B2 (en) * 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170228731A1 (en) * 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US10504179B1 (en) * 2015-12-08 2019-12-10 Fmr Llc Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems
US11436598B2 (en) 2017-12-15 2022-09-06 Fmr Llc Social data tracking datastructures, apparatuses, methods and systems
US11488147B2 (en) * 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems
US20180191503A1 (en) * 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170091756A1 (en) 2015-07-14 2017-03-30 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
CN105160012B (zh) * 2015-09-23 2019-03-26 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
CN105610578B (zh) * 2016-01-25 2019-05-03 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
US11130042B2 (en) 2016-02-02 2021-09-28 Bao Tran Smart device
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
EP3411824B1 (en) 2016-02-04 2019-10-30 Nasdaq Technology AB Systems and methods for storing and sharing transactional data using distributed computer systems
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
EA201891827A1 (ru) * 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Реестр и способ автоматизированного администрирования смарт-контрактов, использующих блокчейн
EP4167165A1 (en) * 2016-02-23 2023-04-19 nChain Licensing AG Blockchain-based exchange with tokenisation
CN108885748A (zh) * 2016-02-23 2018-11-23 区块链控股有限公司 用于区块链的加密货币的通用令牌化系统
US10454677B1 (en) 2016-02-24 2019-10-22 United Services Automobile Associate (USAA) Cryptographic key generation from biometric data
US9940480B2 (en) 2016-02-25 2018-04-10 Red Hat, Inc. Securing delegated remote management with digital signature
US11170371B2 (en) * 2016-03-03 2021-11-09 Nec Corporation Method for managing data in a network of nodes
JP2019514113A (ja) * 2016-04-12 2019-05-30 センソリアント・インコーポレイテッド 記憶されているデータのセーフガードのための方法およびシステム
US20170302663A1 (en) * 2016-04-14 2017-10-19 Cisco Technology, Inc. BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION
US10521775B2 (en) 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
US20190149337A1 (en) * 2016-04-29 2019-05-16 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
US10532268B2 (en) 2016-05-02 2020-01-14 Bao Tran Smart device
AU2017263465B9 (en) 2016-05-11 2021-01-28 Nasdaq, Inc. Application framework using blockchain-based asset ownership
CN109640820A (zh) * 2016-07-01 2019-04-16 立芙公司 由具有多个传感器的服装进行的生物特征识别
GB201611698D0 (en) 2016-07-05 2016-08-17 Eitc Holdings Ltd Blockchain-implemented control method and system
SG10202107632SA (en) 2016-07-29 2021-08-30 Nchain Holdings Ltd Blockchain-implemented method and system
US20200204338A1 (en) * 2018-12-20 2020-06-25 Ripple Labs Inc. Securing public key cryptographic algorithms
US11196759B2 (en) * 2019-06-26 2021-12-07 Microsoft Technology Licensing, Llc SIEM system and methods for exfiltrating event data
US20230298001A1 (en) * 2022-03-21 2023-09-21 Paypal, Inc. Non-fungible token (nft) purchase and transfer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447559A (zh) * 2010-10-06 2012-05-09 国际商业机器公司 针对复合资源文档创建数字签名的方法和系统
CN104412276A (zh) * 2012-03-22 2015-03-11 多塞股份公司 基于规则控制电子签名交易的保管权的系统和方法
WO2015144971A1 (en) * 2014-03-27 2015-10-01 Nokia Technologies Oy Method and apparatus for automatic inter-device authorisation
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
CN105681301A (zh) * 2016-01-16 2016-06-15 杭州复杂美科技有限公司 区块链上的结算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
On Bitcoin Security in the Presence of Broken Crypto Primitives;Ilias Giechaskiel等;《https://eprint.iacr.org/2016/167.pdf》;20160219;全文第1-17页 *

Also Published As

Publication number Publication date
CN117391682A (zh) 2024-01-12
US20190356472A1 (en) 2019-11-21
SG11201811009VA (en) 2019-02-27
SG11201811071VA (en) 2019-02-27
US20230155846A1 (en) 2023-05-18
JP2023123673A (ja) 2023-09-05
SG11201811010UA (en) 2019-02-27
EP3491600A1 (en) 2019-06-05
WO2018020369A1 (en) 2018-02-01
US20220191021A1 (en) 2022-06-16
KR20190033580A (ko) 2019-03-29
CN109478223A (zh) 2019-03-15
EP3491599A1 (en) 2019-06-05
US11563574B2 (en) 2023-01-24
US20240113877A1 (en) 2024-04-04
US11838415B2 (en) 2023-12-05
EP3491600B1 (en) 2023-09-13
JP7295927B2 (ja) 2023-06-21
EP3491598B1 (en) 2023-09-20
WO2018020370A1 (en) 2018-02-01
US11271736B2 (en) 2022-03-08
JP2022043178A (ja) 2022-03-15
EP3491598A1 (en) 2019-06-05
CN109478280B (zh) 2023-08-22
EP4220515A1 (en) 2023-08-02
CN109478279A (zh) 2019-03-15
JP2022033913A (ja) 2022-03-02
KR102472231B1 (ko) 2022-11-29
JP7304398B2 (ja) 2023-07-06
KR102464299B1 (ko) 2022-11-07
ZA201900512B (en) 2023-10-25
WO2018020371A1 (en) 2018-02-01
JP2019525590A (ja) 2019-09-05
US20190229911A1 (en) 2019-07-25
JP6990690B2 (ja) 2022-01-12
JP2023036840A (ja) 2023-03-14
JP2019525591A (ja) 2019-09-05
KR20190033565A (ko) 2019-03-29
KR20190033564A (ko) 2019-03-29
JP7454035B2 (ja) 2024-03-21
JP6997755B2 (ja) 2022-01-18
ZA201900509B (en) 2022-12-21
CN109478279B (zh) 2023-11-24
SG10202107636WA (en) 2021-08-30
SG10202107635QA (en) 2021-08-30
JP7203009B2 (ja) 2023-01-12
CN116911836A (zh) 2023-10-20
EP4235550A1 (en) 2023-08-30
JP2023113899A (ja) 2023-08-16
US20230231711A1 (en) 2023-07-20
KR102467596B1 (ko) 2022-11-16
JP2019528592A (ja) 2019-10-10
CN116911835A (zh) 2023-10-20
CN109478280A (zh) 2019-03-15
SG10202107632SA (en) 2021-08-30

Similar Documents

Publication Publication Date Title
CN109478223B (zh) 区块链实现的方法和系统
Dar et al. Blockchain based secure data exchange between cloud networks and smart hand-held devices for use in smart cities
CN107026729B (zh) 用于传输软件的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant