CN112789825A - 用于转移对数字资源的访问的计算机实现的系统和方法 - Google Patents

用于转移对数字资源的访问的计算机实现的系统和方法 Download PDF

Info

Publication number
CN112789825A
CN112789825A CN201980064210.8A CN201980064210A CN112789825A CN 112789825 A CN112789825 A CN 112789825A CN 201980064210 A CN201980064210 A CN 201980064210A CN 112789825 A CN112789825 A CN 112789825A
Authority
CN
China
Prior art keywords
transaction
key
bob
private key
alice
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
CN201980064210.8A
Other languages
English (en)
Inventor
O·沃恩
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
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN112789825A publication Critical patent/CN112789825A/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/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/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/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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种用于转移对资源的访问或控制的计算机实现的方法。该方法包括以下步骤:通过向第一区块链交易提供数据项(S1)来提供可赎回的区块链交易以转移对资源的控制,其中,该数据项仅可由可揭露值(s)和秘密值(k0)两者的控制器来确定;以及将可揭露值提供给秘密值的控制器,以使所述控制器能够确定数据项。该方法可以使用比特币区块链或使用不同区块链的组合来实施。

Description

用于转移对数字资源的访问的计算机实现的系统和方法
技术领域
本公开大体上涉及安全转移对资源的访问或控制,并且更具体地涉及经由使用一个或多个区块链交易传输的密码密钥来原子转移(atomic transfer)这种访问或控制。本公开特别适合但不限于在比特币协议的任何变型中使用。
背景技术
在本文档中,我们使用术语“区块链”来包括所有形式的电子的基于计算机的分布式账本(ledger)。这些包括基于共识的区块链和交易链技术、许可的和未被许可的账本、共享账本及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币账本。尽管为了方便和说明的目的在本文中可能提及比特币,但是应当注意,本公开不限于与比特币区块链一起使用,并且替代的区块链实现和协议落入本公开的范围内。术语“用户”在本文中可以指人类或基于处理器的资源。
区块链是一种点对点的电子分类帐,其实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产的控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经被写入区块链。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每笔交易有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定脚本和解锁脚本来对未花费的交易输出(unspenttransaction,UTXO)执行该验证工作。如果锁定脚本和解锁脚本的执行被评估为真(TRUE),则该交易有效,并将该交易被写入区块链。因此,为了将交易写入区块链,必须:i)由接收交易的第一节点验证该交易–如果交易经过验证,则该节点将其中继到网络中的其他节点;ii)将该交易添加到由矿工建造的新区块中;以及iii)该交易被挖掘,即,被添加到过去交易的公共账本中。
尽管区块链技术因使用加密货币实现而被广泛了解,但数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可以被用于不限于加密货币领域的自动化任务和过程,则那将是非常有利的。这样的方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录、分布式处理等),同时在其应用中具有更多用途。
当前研究的一个领域是使用区块链来实现“智能合约”。这些是被设计为自动执行机器可读合约或协议的条款的计算机程序。与将以自然语言编写的常规合约不同,智能合约是机器可执行程序,其包括能够处理输入以产生结果的规则,这些规则然后可以促使根据这些结果来执行动作。
与区块链相关的另一个领域是使用“令牌”(或“彩色币”)来表示现实世界的实体并经由区块链转移现实世界的实体。潜在的敏感或秘密条目可以由没有可辨别的含义或值的令牌来表示。因此,令牌用作允许从区块链引用现实世界的条目的标识符。
原子交换的概念先前已在加密货币社区中讨论过。各方之间的交换从某种意义上说是“原子性的”,即所有参与者都收到了他们期望的资源(例如,加密货币令牌或硬币),或者参与者都没有接收到他们期望的资源。在撰写本文档时,维基百科将原子交换描述为“在加密货币中提出的功能,其在无需受信任的第三方的情况下允许一种加密货币与另一种加密货币进行交换。在传统的加密货币中,诸如加密货币交易所之类的受信任的第三方对于执行加密货币的交换是必需的,以防止一方能够在没有收到返回的货币情况下发送货币。原子交换系统使用哈希时间锁定的智能合约,从而当事方必须在指定时间内交付要交换的货币,否则交易将被取消。这样可以保持原子性,在其中要么进行交换,要么将不交换货币-https://en.wikipedia.org/wiki/Atomic_swap。
因此,原子交换在通过区块链进行的转移方面提供了增强的安全性,因为去除对受信任的第三方的需求消除了漏洞利用和恶意干预的风险–对于诸如Mount Gox之类的加密货币交换,已经执行了许多安全缺口或“黑客攻击”。
发明内容
因此,期望提供一种密码增强的资源交换方法,该方法原子地交换具有由区块链技术提供的不信任和不变性的资源,并且增强了在区块链实现的网络上进行的交换的安全性。
现在已经设计出这种改进的方案。
因此,根据本公开,提供了如所附权利要求书限定的方法。
根据本公开,可以提供一种计算机实现的方法。可以将其描述为一种用于转移对资源的控制的方法。它可以控制跨区块链网络或经由区块链网络的资源的转移。附加地或可替代地,可以将其描述为安全转移方法。附加地或替代地,可以将其描述为一种用于控制何时和/或由谁来访问受控资源的安全方法。该资源可以是存储在区块链上或从其引用的资源,例如加密货币或令牌化条目/资产/实体的一部分。
该方法可以包括以下步骤:通过向第一区块链交易提供至少一个数据项来提供可赎回(redeemable)的第一区块链交易,以使得能够访问第一资源,其中,该数据项仅可由可揭露值(revealable value)和秘密值两者的控制器确定;以及将可揭露值提供给秘密值的控制器,以使所述控制器能够确定数据项。在本公开的上下文中,“使得能够访问”包括但不限于转移对诸如加密货币量等资源的控制,或者使得能够访问文档、在线资源或安全访问代码。
该方法使得能够使用一个或多个区块链来访问或控制要被安全转移的资源,而不需要那些区块链的协议来共享一个或多个公共(common)哈希函数,从而提供了增加转移所跨的区块链的数量能够被实现的优势。因此,在增加转移的多功能性的同时,保持了这种控制或访问的转移的安全性和效率。该方法还允许跨其他不兼容的网络/区块链协议进行转移。
数据项可以包括第一密码密钥对的第一私钥。
第一区块链交易可能还需要提供可被赎回的第二密码密钥对的第二私钥,其中,第二密码密钥对与第一资源的预期接收者(recipient)相关联。
这提供了增加方法的安全性的优势,这是通过防止不希望知道第一私钥的任何行动者(actor)赎回第一交易来实现的。
第一私钥可以是确定性密码密钥对的确定性私钥,其中,所述确定性密码密钥对的确定性公钥是使用第一密码密钥对的第一公钥和第二密码密钥对的第二公钥导出的。
通过提供某种程度的混淆,这进一步提高了该方法的安全性,以使第一私钥的不希望揭露不会损害第一交易,同时还保持预期的接收者赎回第一交易的能力。
向所述控制器提供可揭露值的步骤可以包括:通过向第二区块链交易提供至少所述数据项来提供可赎回的第二区块链交易,以使得能够访问第二资源,其中,第二区块链交易的赎回促使可揭露值被提供给所述控制器;以及赎回第二区块链交易。
这使得能够在无需使用哈希函数的情况下执行资源访问或控制的原子交换,从而提供了在不对共享公共哈希函数的那些区块链协议进行限制的情况下执行安全且同时的数字交换的机制。
任何上述区块链交易的赎回可包括计算与数据项相对应的密码签名,并将存储在交易中的值与计算出的签名的至少一部分进行比较。
这使得能够在区块外(off-block)进行很大一部分的密码算法,从而分配必要的任务以维护来自区块链的密码安全级别,并提供减少第一交易的规模(并从而减少存储需求)的相关优势,并提高了方法的效率。
秘密值可以是在数字签名过程中使用的临时密钥。
本公开还提供了一种系统,包括:处理器;以及包括可执行指令的存储器,该可执行指令由于被处理器执行而促使系统执行本文所述的计算机实现的方法的任何实施例。
本公开还提供了其上存储有可执行指令的非瞬时性计算机可读存储介质,该可执行指令由于被计算机系统的处理器执行而促使计算机系统至少执行本文所述的计算机实现的方法的实施例。
附图说明
本公开的这些和其他方面将从本文描述的实施例变得显而易见并参考这些实施例而阐明。现在将仅通过示例的方式并参考附图来描述本公开的实施例,在附图中:
图1示出了现有技术的可分辨编码规则表;
图2示出了包含用于提取签名的一部分的脚本的表;
图3示出了包含本公开的实施例的步骤的流程图;
图4示出了包含本公开的实施例的步骤的流程图;
图5示出了包含本公开的实施例的步骤的流程图;以及
图6是示出可以在其中实现各种实施例的计算环境的示意图。
具体实施方式
典型的哈希函数(例如,SHA-256)采用数据结构X,并输出256位数字
Figure BDA0002996915810000052
它是单向确定性函数
Figure BDA0002996915810000053
在加密货币的背景下,哈希函数可以被用于创建哈希谜题。这是函数<SolveH(X)>,当且仅当在函数的输入中提供了原像(pre-image)X时,该函数的值才评估为真(TRUE)。即
<X><SolveH(X)>=TRUE.
对于SHA-256,这样的函数在比特币脚本中由下式给出:
<SolveH(X)>=OP_HASH256<H(X)>OP_EQUALVERIFY。
哈希谜题可以在区块链交易的脚本(例如,赎回脚本)中使用,以确保如果赎回了该交易,则原像X必须被暴露在赎回脚本的输入中,并且因此原像X在区块链上可见。
输入 赎回脚本
<X> <SolveH(X)>
在ECDSA协议下,以以下方式创建私钥S1的签名和消息哈希H(m)(请注意,每个人都知道消息哈希,但只有签署消息的人才知道私钥):
第一步是产生被称为临时密钥的随机数
Figure BDA0002996915810000051
从中得出值r,该值r是临时密钥乘以生成器点(generator point)的x坐标
r=Rx,(Rx,Ry)=k·G。
值r形成签名的一半。第二半s由下面的等式限定:
s=k-1(H(m)+S1*r)modn。
组合(r,s)=SigP1是ECDSA签名。
ECDSA的一个重要特征是,如果已知临时密钥k,则可以如下计算私钥:
S1=r-1(s*k-H(m))modn。
签名(r,s)的数据结构包含与一些附加编码数据连接的r和s的整数值。
根据可分辨编码规则(DER)[S.Blake-Wilson,D.Brown,P.Lambert,Use ofElliptic Curve Cryptography(ECC)Algorithms in Cryptographic MessageSyntax(CMS)(在加密消息语法(CMS)中使用椭圆曲线密码学(ECC)算法),Network Working Group(网络工作组)(2002);https://tools.ietf.org/html/rfc3278],ECDSA签名(r,s)的数据结构的特定编码由图1中所示的表给出(请注意,使用了伪r和s数据值)。
参考图1,请注意,表示sighash类型的最后一个字节不是标准DER编码,而是被用在比特币签名编码中。签名的第4个字节表示r的长度。如果r的二进制表示中的前导位为0,则r的长度为32个字节;如果前导位为1,则r的长度为33个字节,在这种情况下,将额外的零值字节添加到字节字符串。签名的第5个字节到第36个或第37个字节表示值或r本身。
现在将描述用于创建私钥谜题的方法。
私钥谜题是赎回脚本中的函数,如果提供了使得能够计算给定公钥P1的私钥S1的输入,则该函数将评估为真。
这种形式的谜题允许在资源访问和控制的实现中利用椭圆曲线密码学(ECC)公钥/私钥对的代数性质。如果计算了两个公钥的总和,则对应的私钥将是各个私钥的总和:
P1+P2=(S1+S2)·G.
将此与哈希函数进行比较:如果计算出两个值的哈希的和,则对应的原像通常不是各个原像的总和:
H(X1+X2)≠H(X1)+H(X2)。
存在下面这样的哈希函数(被称为同态哈希函数),对于这些哈希函数来说,各个原像的哈希值之和等于原像之和的哈希值,但这些通常实施起来是不可行的。此外,公钥/私钥对允许使用椭圆曲线数字签名算法(ECDSA)对数据进行加密/解密和对消息进行签名。
下面公开了实现原子交换中的私钥谜题的示例。这些示例允许本文公开的方法的用户在不共享公共哈希函数的区块链上执行跨链交换。这些示例包括转移对由公钥/私钥对控制的资源的控制或访问。
在整个应用中,私钥谜题是根据ECC密钥对和ECDSA协议制定的。然而,本公开不限于这些标准。例如,该方法还适用于Schnorr签名以及具有DSA协议的RSA密钥对。
如上所述,私钥谜题是函数<SolveP1>,该函数如果作用于对应的私钥<S1>,该函数将评估为真。即:
<S1><SolveP1>=TRUE。
这样的函数目前不存在。在交易赎回脚本中包括<SolveP1>将确保,为了赎回交易,提供给赎回脚本的输入必须包括对应的私钥S1,这意味着S1在区块链上被暴露于公众。但是,至少在赎回脚本是比特币区块链上的区块链交易的赎回脚本的情况下,这样的函数将需要会阻止交易被构建和使用的数量特别庞大的运算符。此问题将在下面更详细地描述。
假设存在执行椭圆曲线点乘的运算符OP_ECMULT。这意味着将椭圆曲线上的点(例如,生成器点G)乘以正整数(例如,
Figure BDA0002996915810000071
)。即:
<S1><G>OP_ECMULT=<P1>。
在这种情况下,私钥谜题将由下式给出:
<SolveP1>=<S1><G>OP_ECMULT<P1>OP_EQUALVERIFY。
但是,目前,在比特币脚本中还没有这样的椭圆曲线运算符。
在比特币2018年5月的分叉(fork)中恢复了一些先前再试的操作码(例如,OP_MOD)之后,从技术上讲,存在需要在比特币脚本中执行椭圆曲线乘法的所有运算符,即,使用其他运算符构建OP_ECMULT。但是,出于实际原因,这是不可能的。
这样的函数将需要最少256次迭代,每个迭代包含多行复杂的运算。最值得注意的是,每次迭代将需要应用扩展的欧几里得算法以求模逆(modularinverse)。因此,所需的脚本的大小将远远超过201个操作码或10KB的限制。
相反,下面介绍的方法仅使用几行操作码。
下面公开了用于创建和利用私钥谜题的方法的实施例,该方法包括在块外计算私钥。在实施例中,私钥本身不会被暴露在赎回脚本的输入中,而是暴露签名的分量。
关键思想是要求解锁脚本包含与特定临时密钥相关的签名。然后,知道临时密钥的人都可以根据签名来计算出对应的私钥。
参考比特币脚本描述的实施例不使用任何非标准脚本操作。
构建函数<SolveP1,r0>,其中,P1是公钥,且r0是从特定临时密钥k0导出的。当且仅当其对输入<SigP1,r0><P1>进行操作时,此函数评估为真,其中,<SigP1,r0>表示使用特定临时密钥k0的P1的签名。由于具有已知临时密钥的签名暴露了对应的私钥,所以一旦使<SigP1,r0>公开,则知道k0的任何人都可以计算出私钥。
参考图2,公开了提取签名的r部分的比特币脚本。根据上面给出的签名的DER编码,为了提取r部分,我们需要将签名从第5个字节一直到第36个或第37个字节进行分割(split),这取决于第4个字节的值。这是通过比特币脚本实现的:
OP_3OP_SPLIT OP_NIP OP_1OP_SPLIT OP_SWAP OP_SPLIT OP_DROP。
考虑公钥P1。如上所述,公开了用于创建锁定脚本以使得对应的解锁脚本暴露足够的信息以供临时密钥的控制器确定P1的私钥的方法。
该方法包括强制解锁脚本包含使用表示为k0的特定临时密钥的P1的签名。知道该临时密钥的人都可以从签名计算出表示为S1的对应的私钥。该方法的用户同意使用k0的值。用户可以使用适当安全的已知方法相互传达该值。
如上所述,ECDSA签名由两个分量组成,即:SigP1=(r,s),其中,r与临时密钥k0直接相关,并且可以从临时密钥k0计算出r。
对应于临时密钥k0的值r=Rx通过以下等式来(块外地)计算:
(Rx,Ry)=k0·G。
然后创建赎回脚本,该赎回脚本要求使用特定临时密钥k0的P1签名作为输入。
Figure BDA0002996915810000081
Figure BDA0002996915810000091
下面给出与比特币区块链兼容的赎回脚本的示例:
输入 赎回脚本
&lt;SigP<sub>1</sub>,r<sub>0</sub>&gt;&lt;P<sub>1</sub>&gt; &lt;SolveP<sub>1</sub>,r<sub>0</sub>&gt;
其中,密钥谜题的脚本<SolveP1,r0>=
Figure BDA0002996915810000092
在上表中,第一行将公钥P1放在alt堆栈(alt-stack)上,并复制签名。第二行检查是否使用了正确的临时密钥。第三行从alt堆栈中检索公钥,并检查签名是否有效。上面使用的比特币脚本操作(即,OP_DUP、OP_TOALTSTACK和OP_FROMALTSTACK)不是严格的要求,并且例如,如果复制输入变量并对其重新排序,则可以将这些比特币脚本操作丢弃(dropped)。
请注意,还存在替代方法来在比特币脚本中制定私钥谜题。特别是,可以使用OP_CAT操作,而不是OP_SPLIT。在这种情况下,赎回脚本的输入将是仅包含s分量的部分签名(其将是使用预定的临时密钥k0和私钥S1来计算的)。然后,赎回脚本将r的预定值与部分签名连接起来,以产生完整的签名(r,s)。通过进行构建,该签名将具有所需的r。然后剩下的就是执行标准的检查操作。
原子交换是指两个交易,一个是从爱丽丝到鲍勃,另一个是从鲍勃到爱丽丝。原子交换确保两个交易都是可赎回的,或者两个都不可赎回。允许这种情况发生的机制是赎回脚本中的哈希谜题。原子交换的优势包括:
·可以交换不同区块链上的加密货币。例如,爱丽丝可以向鲍勃发送BCH,并从鲍勃接收BTC。
·可以交换同一区块链上的彩色币或其他形式的令牌。
请注意,当前,跨不同区块链的原子交换需要两个区块链以其脚本语言共享公共哈希函数。本公开的优势在于,区块链不再需要公共哈希函数,从而使得能够跨更多各种各样的区块链转移对资源的控制或访问。另外,通过使原子交换基于数字签名,能够验证数字签名与对应的公钥的一致性,从而提高交换的安全性。
以下描述了一种已知的方法,以提供用于本公开的实施例的后续描述的背景。
令PA和PB分别表示爱丽丝和鲍勃的ECDSA公钥。
1.爱丽丝选择了只有她自己知道的秘密
Figure BDA0002996915810000101
(n是椭圆曲线生成器点G的阶数(order))。
2.爱丽丝将利用赎回脚本锁定的资金转移给鲍勃
<CheckSigPB><SolveH(A0)>
在这个阶段,鲍勃无法花费这笔资金,因为他不知道H(A0)的原像。
3.鲍勃将利用赎回脚本锁定的资金转移给爱丽丝
<CheckSigPA><SolveH(A0)>
4.由于爱丽丝知道A0,因此她可以花她的资金。这就在区块链上将A0揭露为爱丽丝的赎回脚本的输入。
鲍勃现在知道了A0,并且可以花费他的资金。
如前所述,本公开的私钥谜题可以被用于在不需要共享的哈希函数的情况下实现一个或多个区块链的用户之间的原子交换。下面描述用于实现这种原子交换的方法。
不是在原子交换中使用哈希谜题,而是使用上面公开的私钥谜题。这保留了已知原子交换的所有功能,同时允许进行有利的广义化(generalisations),其包括:
·跨不共享公共哈希函数的区块链的原子交换;以及
·对由公钥/私钥对控制的资源的控制或访问的原子交换。
如上所述,当使用私钥谜题而不是哈希谜题时,当爱丽丝赎回交易时,她没有揭露哈希的原像,而是使得能够确定已知公钥的私钥。下表示出了这种对比:
机制
标准原子交换 哈希谜题&lt;SolveH(A<sub>0</sub>)&gt;
广义原子交换 私钥谜题&lt;SolveP<sub>1</sub>,r<sub>0</sub>&gt;
参考图3,根据以下方法步骤来描述本公开的实施例:
1.(110)爱丽丝选择临时密钥k0,并经由适当的安全通道将其发送给鲍勃。或者,爱丽丝和鲍勃可以就k0达成共识。
2.(120)爱丽丝选择只有她自己知道的私钥
Figure BDA0002996915810000111
她计算出对应的公钥P1=S1·G。
3.(130)爱丽丝创建具有赎回脚本的交易TxA
<CheckSigPB><SolveP1,r0>
其中,PB是鲍勃的公钥,且<SolveP1,r0>是上面介绍的私钥谜题。在此阶段,鲍勃无法赎回交易,因为他不知道与公钥P1相对应的私钥,即S1。爱丽丝将TxA提交给区块链。
4.(140)鲍勃创建具有赎回脚本的交易TxB
<CheckSigPA><SolveP1,r0>
其中,PA是爱丽丝的公钥。鲍勃将TxB提交给区块链。
5.(150)由于爱丽丝知道S1,因此她可以赎回TxB。作为TxB的赎回脚本的输入,爱丽丝必须使用特定的临时密钥k0为P1提供签名。通过向区块链提交向TxB呈现解锁脚本的赎回交易来赎回TxB必然会公开s的值。鉴于鲍勃已经知道了临时密钥k0的值,s的该揭露允许鲍勃计算出私钥S1。(160)可能存在或者可能不存在使用时间锁定函数而施加在TxA和TxB的赎回上的时间约束,如果时间到期,则时间锁定函数被配置为使得能够借助于爱丽丝和鲍勃向区块链提交适当的退款交易而将对TxA和TxB的控制返回给爱丽丝和鲍勃。
6.(170)如果爱丽丝赎回TxB,则(180)鲍勃能够计算S1,并且(190)鲍勃可以通过借助于赎回交易的解锁脚本向其提供与S1相对应的签名来赎回Tx1。
由于此方法不依赖哈希谜题,因此它可以被用于跨不以其脚本语言共享公共哈希函数的区块链来进行原子交换。所需要的就是脚本语言包含足够的功能来创建私钥谜题。这是不太严格的要求的集合。
参考图4,在另一实施例中,爱丽丝和鲍勃各自选择他们自己的临时密钥kA和kB以及他们自己的私钥XA和XB。他们以与他们如何传达上述异步实施例的临时密钥k0的方式相似的方式交换其临时密钥。然后,爱丽丝和鲍勃可以计算签名分量rA和rB,rA是点kA·G的x分量,rB是点kB·G的x分量。使用XA和XB计算出的签名的其余签名分量分别表示为sA和sB,以使SigXA=(rA,sA),以及SigXB=(rB,sB)。注意,在该实施例中,kA和kB可以相同或可以不相同,即,可以替代地使用公共的k0
该实施例根据以下步骤进行:
1.(210A,210B)爱丽丝和鲍勃选择他们自己的临时密钥kA和kB,并将它们彼此通信。
2.(220A)爱丽丝选择只有她自己知道的私钥
Figure BDA0002996915810000121
她计算出对应的公钥YA=XA·G。
3.(230)爱丽丝创建具有赎回脚本的交易Tx1A
<CheckSigPB><SolveYA,YB,rA,rB>
其中,PB是鲍勃的公钥,且<SolveYA,YB,rA,rB>是要求提供与私钥XA和XB相对应的签名的私钥谜题。在此阶段,鲍勃无法赎回交易,因为他不知道与公钥YA相对应的私钥(即,XA)。
4.(220B)鲍勃选择只有他自己知道的私钥
Figure BDA0002996915810000122
他计算出对应的公钥YB=XB·G。
5.(240)鲍勃创建具有赎回脚本的交易Tx1B
<CheckSigPA><SolveYA,YB,rA,rB>
其中,PA是爱丽丝的公钥。
请注意,Tx1A和Tx1B的脚本的密钥谜题部分是相同的。密钥谜题<SolveYA,YB,rA,rB>要求向其呈现与私钥XA和XB相对应的签名,即,签名(rA,sA)和(rB,sB)。
(250)此时,爱丽丝不知道XB,也不能计算出XB,因为她不知道sB。同样,鲍勃也不知道XA或sA。因此,爱丽丝和鲍勃都没有足够的信息来赎回Tx1A或Tx1B。爱丽丝和鲍勃都可以通过彼此传达他们各自的签名分量sA/sB或私钥XA/XB来诚实行事,或者只有其中一个可以诚实行事,或者两人都无法诚实行事。因此,可能发生以下结果之一:
6A.1)假设爱丽丝向鲍勃发送sA或XA,且鲍勃向爱丽丝发送sB或XA(即,双方诚实行事)。(295)然后,爱丽丝和鲍勃两者都具有足够的信息来向交易Tx1A和Tx1B的赎回脚本提供签名,以求解赎回脚本中的密钥谜题。因此,Tx1A和Tx1B可以分别由鲍勃和爱丽丝通过向Tx1A和Tx1B提交呈现相应的解锁脚本的支出交易来赎回。
6B.2)假设仅爱丽丝通过向鲍勃发送sA或XA诚实行事,而鲍勃通过不向爱丽丝发送正确的sB或XB或根本不发送任何东西而非诚实地行事。(270)然后,鲍勃能够通过提交赎回交易(在该赎回交易的解锁脚本中提供与XA相对应的签名)来赎回Tx1A,以求解Tx1A的赎回脚本中包含的密钥谜题。一旦鲍勃向区块链提交了包含被布置为赎回Tx1A的解锁脚本的赎回交易,就使得签名(rB,sB)公开可得。(280)由此使爱丽丝知道值sB,因为她知道临时密钥kB,使她能够计算密钥XB,并因此具有足够的信息来赎回Tx1B。(290)然后,爱丽丝提交在其解锁脚本中提供与XB相对应的签名的赎回交易,以求解Tx1B的赎回脚本中包含的密钥谜题。
6C.3)假设爱丽丝和鲍勃都不向另一个发送sA/sB或XA/XB(260)。在这种情况下,交易Tx1A和Tx1B仍然不可赎回,直到时间锁(如果处于活动状态)到期以使对交易的控制借助于各自所有者向区块链提交适当的赎回交易而返还给各自的所有者的那个时间为止。
如以上实施例中所述的交易的对称配置使得能够使用配置有密钥谜题的交易来进行同步原子交换。这使交易Tx1A和Tx1B两者能够同时将对各自资源的访问或控制权转移给另一方,而不是一方必须等待要挖掘的块来揭露依赖于所述必要信息而赎回交易所需的信息。
现在将参考图5描述本公开的实施例,其使得能够实现对一个或多个资源的访问或控制的原子交换。
在该实施例中,爱丽丝经由ECC公钥/密钥对来控制对资源的访问。该资源可以是一种类型的加密货币的资金,也可以是多种类型的加密货币的资金,或者可以是对Web应用、租车(rental car)或加密文档的访问,或对物联网智能装置(例如,网络摄像头或门锁)的控制。下面介绍一种方法,其使鲍勃使用比特币协议从爱丽丝获得对该资源的访问。这种交换是原子性的:或者爱丽丝赎回她从鲍勃那里接收到的BCH并且鲍勃获得对资源的访问或控制,或者两者都不发生。
例如,考虑鲍勃将BCH中的资金转移给爱丽丝,而爱丽丝将BCH、以太坊(ETH)和DASH中的资金转移给鲍勃。
此方法确保当原子交换完成时,临时密钥的控制器计算控制资源的私钥所需的信息被暴露。这消除了对授予对受控资源的访问的一方的信任的需要。
该方法包括以下步骤:
1.(310)爱丽丝选择临时密钥k0并将其传达给鲍勃。
2.(320)爱丽丝选择仅她自己知道的私钥
Figure BDA0002996915810000141
她计算出对应的公钥P1=S1·G。该公钥控制对资源的访问,并被公开广播。
(在该示例中,资源是BCH、ETH和DASH中通过公钥P1锁定的资金。)
3.(325)爱丽丝使用鲍勃的公钥PB计算确定性公钥P′=P1+PB=P1+SB·G,并且(330)使公钥P′的私钥S′=SB+S1的所有者能够获得对资源的访问。例如,这可以通过创建将一定量的加密货币发送到地址P′的交易Tx’或通过利用公钥P′加密文档且然后在开放式论坛上广播该文档来实现。
(在该示例中,爱丽丝使得BCH、ETH和DASH交易到达公共地址,每个交易都利用公共公钥P′锁定。)
4.(340)鲍勃提交利用赎回脚本锁定的交易TxB
<CheckSigPA><SolveP1,r0>
5.(370)由于爱丽丝知道S1,因此她能够赎回TxB。在此示例中,这是在BCH区块链上完成的。如上所述,这允许鲍勃从爱丽丝的赎回脚本的输入中提供的信息来计算S1。(360)可能存在或者也可能不存在使用时间锁定函数而施加在Tx’和TxB的赎回上的时间约束,如果时间到期,则时间锁定函数被配置为使对Tx’和TxB的控制能够返回给爱丽丝和鲍勃。
6.(370)爱丽丝通过提交在解锁脚本中提供对应于S1的签名的赎回交易来赎回交易TxB,从而向鲍勃揭露签名的s部分。
7.(380)鲍勃现在计算S1,并因此能够(385)计算P′的私钥S′=SB+S1。因此,他获得对由P′控制的资源的访问。
(在此示例中,鲍勃现在可以花费通过公钥P′锁定的BCH、ETH和DASH中的资金。)
请注意,即使私钥S1在区块链上或其他地方被暴露给公众,也只有鲍勃可以访问或控制锁定在P′处的资源。这是因为资源是通过S1和鲍勃的私钥组合锁定的。在这种意义上,S1充当确定性密钥。
在此示例中,可以看出不再要求鲍勃购买的加密货币包含其脚本语言中的某些操作。仅要求鲍勃为BCH中的加密货币的收集支付费用,并且使用ECDSA签名来控制交易。
为了避免鲍勃的资源被爱丽丝永远锁定,时间锁定的返回可以被引入该方法。这是从爱丽丝到鲍勃的BCH交易,其自他到爱丽丝的第一次交易以来经过了一定的相对时间(例如,24小时)后,将资源返回给鲍勃。
同样,在已经经过一定量的时间之后,爱丽丝可以将对她的受控资源的访问返回给她自己。在多个加密货币的示例中,这也将是返回交易,类似于鲍勃的交易。
如果交换未完成,则经过一定量的时间后,对于爱丽丝来说,将资源的控制归还给她自己可能不是必要的或实际的。例如,如果资源是鲍勃被授予访问权限的加密文档,则爱丽丝无限期地留下通过密钥P′加密的文档没有劣势。
现在转向图6,提供了可用于实践本公开的至少一个实施例的计算装置2600的说明性简化框图。在各种实施例中,计算装置2600可以用于实现以上示出和描述的任何系统。例如,计算装置2600可以被配置为用作数据服务器、网络服务器、便携式计算装置、个人计算机或任何电子计算装置。如图6所示,计算装置2600可以包括具有一个或多个级别的高速缓冲存储器和存储器控制器的一个或多个处理器(统称为2602),该处理器可以被配置为与包括主存储器2608和永久存储装置2610的存储子系统2606通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和高速缓存存储器2602可以用于存储信息,例如与本公开中所描述的与交易和区块相关联的细节。(一个或多个)处理器2602可用于提供本公开中所描述的任何实施例的步骤或功能。
(一个或多个)处理器2602还可以与一个或多个用户接口输入装置2612、一个或多个用户接口输出装置2614以及网络接口子系统2616通信。
总线子系统2604可以提供用于使得计算装置2600的各个组件和子系统能够按预期彼此通信的机制。尽管总线子系统2604被示意性地示出为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以提供至其他计算装置和网络的接口。网络接口子系统2616可以用作从不同于计算装置2600的其他系统接收数据以及将数据传输到其他系统的接口。例如,网络接口子系统2616可以使数据技术人员能够将装置连接至网络,使得数据技术员可以在位于远程位置(例如,数据中心)的同时,将数据传输到该装置并从该装置接收数据。
用户接口输入装置2612可以包括一个或多个用户输入装置,例如,键盘;诸如集成鼠标、轨迹球、触摸板或图形输入板等定点装置;扫描仪;条形码扫描仪;合并到显示器中的触摸屏;诸如语音识别系统、麦克风等音频输入装置;以及其他类型的输入装置。通常,术语“输入装置”的使用旨在包括用于将信息输入到计算装置2600的所有可能类型的装置和机构。
一个或多个用户接口输出装置2614可以包括显示子系统、打印机或诸如音频输出装置等非可视显示器。显示子系统可以是阴极射线管(CRT)、诸如液晶显示器(LCD)、发光二极管(LED)显示器或投影仪的平板装置或其他显示装置。通常,术语“输出装置”的使用旨在包括用于从计算装置2600输出信息的所有可能类型的装置和机构。一个或多个用户接口输出装置2614可以用于例如呈现用户界面以有助于用户与执行所描述的过程及其中的变型的应用的交互,当这样的交互是适当的时。
存储子系统2606可以提供计算机可读存储介质,该计算机可读存储介质用于存储可以提供本公开的至少一个实施例的功能的基本编程和数据构造。当由一个或多个处理器执行时,应用程序(程序、代码模块、指令)可以提供本公开的一个或多个实施例的功能,并且可以被存储在存储子系统2606中。这些应用程序模块或指令可以由一个或多个处理器2602执行。另外,存储子系统2606可以提供用于存储根据本公开而使用的数据的存储库。例如,主存储器2608和高速缓存存储器2602可以为程序和数据提供易失性存储。永久存储装置2610可以为程序和数据提供永久性(非易失性)存储,并且可以包括快闪存储器、一个或多个固态驱动器、一个或多个磁性硬盘驱动器、一个或多个具有相关联的可移动介质的软盘驱动器、一个或多个具有相关联的可移动介质的光驱(例如,CD-ROM或DVD或Blue-Ray)驱动器,以及其他类似的存储介质。这样的程序和数据可以包括用于执行如本公开中所描述的一个或多个实施例的步骤的程序以及与本公开中所描述的交易和区块相关联的数据。
计算装置2600可以是各种类型,包括便携式计算机装置、平板计算机、工作站或以下描述的任何其他装置。另外,计算装置2600可以包括可以通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算装置2600的另一装置。可以连接到计算装置2600的装置可以包括被配置为接受光纤连接器的多个端口。因此,该装置可以被配置为将光信号转换为电信号,该电信号可以通过将装置连接至计算装置2600的端口传输以进行处理。由于计算机和网络不断变化的性质,图6中所描绘的计算装置2600的描述仅旨在作为特定示例用于说明该装置的优选实施例的目的。具有比图6中描绘的系统更多或更少的组件的许多其他配置是可能的。
应当注意,上述实施例说明而不是限制本公开,并且本领域技术人员将能够设计许多替代实施例,而不脱离由所附权利要求限定的本公开的范围。在权利要求中,括号中的任何附图标记都不应解释为对权利要求的限制。单词“包括(comprising、comprise)”等不排除任何权利要求或整个说明书中列出的元素或步骤之外的元素或步骤的存在。在本说明书中,“包括(comprise)”是指“包括(include)或由……组成(consist of)”,“包括(comprising)”是指“包括(including)或由……组成(consisting of)”。元素的单数形式并不排除此类元素的复数形式,反之亦然。本公开可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举几个装置的装置权利要求中,这些装置中的几个可以由一个且相同的硬件来实施。在互不相同的从属权利要求中记载某些手段的事实并不表示不能有利地使用这些手段的组合。

Claims (9)

1.一种计算机实现的方法,所述方法包括以下步骤:
通过向第一区块链交易提供至少一个数据项来提供能够赎回的第一区块链交易,以使得能够访问第一资源,其中,所述数据项仅能够由可揭露值和秘密值两者的控制器来确定;以及
将所述可揭露值提供给所述秘密值的控制器,以使所述控制器能够确定所述数据项。
2.根据权利要求1所述的方法,其中,所述数据项包括第一密码密钥对的第一私钥。
3.根据权利要求2所述的方法,其中,所述第一区块链交易还要求提供能够被赎回的第二密码密钥对的第二私钥,其中,所述第二密码密钥对与所述第一资源的预期接收者相关联。
4.根据权利要求3所述的方法,其中,所述第一私钥是确定性密码密钥对的确定性私钥,其中,所述确定性密码密钥对的确定性公钥是使用所述第一密码密钥对的第一公钥和所述第二密码密钥对的第二公钥导出的。
5.根据前述权利要求中的任一项所述的方法,其中,向所述控制器提供所述可揭露值的步骤包括:
通过向第二区块链交易提供至少所述数据项来提供能够赎回的第二区块链交易,以使得能够访问第二资源,其中,所述第二区块链交易的赎回导致所述可揭露值被提供给所述控制器;以及
赎回所述第二区块链交易。
6.根据前述权利要求中任一项所述的方法,其中,任意前述权利要求中的区块链交易的赎回包括:计算与所述数据项相对应的密码签名,并将存储在交易中的值与计算出的签名的至少一部分进行比较。
7.根据前述权利要求中的任一项所述的方法,其中,所述秘密值是在数字签名过程中使用的临时密钥。
8.一种系统,包括:
处理器;以及
包括可执行指令的存储器,所述可执行指令由于所述处理器的执行而使所述系统执行根据前述权利要求中任一项所述的方法。
9.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令由于被计算机系统的处理器执行而使所述计算机系统执行根据权利要求1至7中任一项所述的方法。
CN201980064210.8A 2018-09-28 2019-09-19 用于转移对数字资源的访问的计算机实现的系统和方法 Pending CN112789825A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1815816.2 2018-09-28
GBGB1815816.2A GB201815816D0 (en) 2018-09-28 2018-09-28 Computer-implemented system and method
PCT/IB2019/057917 WO2020065460A1 (en) 2018-09-28 2019-09-19 Computer-implemented system and method for transferring access to digital resource

Publications (1)

Publication Number Publication Date
CN112789825A true CN112789825A (zh) 2021-05-11

Family

ID=64109009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980064210.8A Pending CN112789825A (zh) 2018-09-28 2019-09-19 用于转移对数字资源的访问的计算机实现的系统和方法

Country Status (9)

Country Link
US (1) US20210344500A1 (zh)
EP (1) EP3857814A1 (zh)
JP (2) JP7428704B2 (zh)
KR (1) KR20210065995A (zh)
CN (1) CN112789825A (zh)
GB (1) GB201815816D0 (zh)
SG (1) SG11202102277TA (zh)
TW (1) TW202025665A (zh)
WO (1) WO2020065460A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578168A (en) * 2018-10-19 2020-04-22 Star Hat Solutions Ltd Computer-implemented method and system for digital signing of transactions
JP6759468B2 (ja) * 2019-04-08 2020-09-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンネットワーク内でスマート・コントラクトを使用する製品プロモーション
GB201907396D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Hash function attacks
GB2584154A (en) 2019-05-24 2020-11-25 Nchain Holdings Ltd Knowledge proof
DE102019005116A1 (de) * 2019-07-23 2021-01-28 Daimler Ag Verfahren zum Handeln von Kryptowährungen
GB2596096A (en) 2020-06-17 2021-12-22 Nchain Holdings Ltd Agreements on the blockchain
US11741083B2 (en) * 2020-07-24 2023-08-29 International Business Machines Corporation Cross-shard private atomic commit
WO2022125532A1 (en) * 2020-12-07 2022-06-16 Meredith Ii Thomas T Systems and methods thereof for exchanging different digital currencies on different blockchains
US11315113B1 (en) * 2021-11-08 2022-04-26 Tangem AG Systems and methods for authorizing a transaction conventionally incompatible with a technical protocol
GB2621858A (en) * 2022-08-24 2024-02-28 Nchain Licensing Ag Blockchain transaction

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163220A1 (en) * 2016-03-24 2017-09-28 nChain Holdings Limited Methods and Systems for Recording Multiple Transactions on a Blockchain
US20170293912A1 (en) * 2016-04-12 2017-10-12 Digicash Pty Ltd. Secure transaction controller for value token exchange systems
TW201810151A (zh) * 2016-07-29 2018-03-16 安地卡及巴布達商區塊鏈控股有限公司 區塊鏈實施之方法及系統
TW201810990A (zh) * 2016-07-29 2018-03-16 安地卡及巴布達商區塊鏈控股有限公司 塊鏈實施之方法及系統
CN108305074A (zh) * 2018-01-30 2018-07-20 深圳壹账通智能科技有限公司 交易处理方法、装置、计算机设备和存储介质
CN108369703A (zh) * 2015-12-07 2018-08-03 维萨国际服务协会 使用加密货币系统管理支付和支付替代方式的方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065637B2 (en) * 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US11704733B2 (en) * 2015-05-01 2023-07-18 Tzero Ip, Llc Crypto multiple security asset creation and redemption platform
EP3497952B1 (en) * 2016-08-11 2021-12-22 Sony Group Corporation Authentication method, wearable device and mobile device
US11082412B2 (en) * 2017-07-12 2021-08-03 Wickr Inc. Sending secure communications using a local ephemeral key pool
WO2019114934A1 (en) * 2017-12-12 2019-06-20 Motorola Mobility Llc Providing network access using blockchain payments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369703A (zh) * 2015-12-07 2018-08-03 维萨国际服务协会 使用加密货币系统管理支付和支付替代方式的方法和系统
WO2017163220A1 (en) * 2016-03-24 2017-09-28 nChain Holdings Limited Methods and Systems for Recording Multiple Transactions on a Blockchain
US20170293912A1 (en) * 2016-04-12 2017-10-12 Digicash Pty Ltd. Secure transaction controller for value token exchange systems
TW201810151A (zh) * 2016-07-29 2018-03-16 安地卡及巴布達商區塊鏈控股有限公司 區塊鏈實施之方法及系統
TW201810990A (zh) * 2016-07-29 2018-03-16 安地卡及巴布達商區塊鏈控股有限公司 塊鏈實施之方法及系統
CN108305074A (zh) * 2018-01-30 2018-07-20 深圳壹账通智能科技有限公司 交易处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP3857814A1 (en) 2021-08-04
TW202025665A (zh) 2020-07-01
JP7428704B2 (ja) 2024-02-06
WO2020065460A1 (en) 2020-04-02
US20210344500A1 (en) 2021-11-04
JP2022501887A (ja) 2022-01-06
KR20210065995A (ko) 2021-06-04
JP2024028608A (ja) 2024-03-04
SG11202102277TA (en) 2021-04-29
GB201815816D0 (en) 2018-11-14

Similar Documents

Publication Publication Date Title
JP7428704B2 (ja) デジタルリソースへのアクセスを移転するための、コンピュータにより実施されるシステム及び方法
US20230421355A1 (en) Systems and methods for storage, generation and verification of tokens used to control access to a resource
CN111566988B (zh) 跨越以无信任或无交易员方式操作的群组执行计算任务的计算机实现的系统和方法
US20210192498A1 (en) Random number generation in a blockchain
US20230412358A1 (en) Blockchain-implemented security systems and methods for blinded outcome selection
EP4333357A2 (en) Hash function attacks
CN111066283A (zh) 对区块链网络上实体提供的数据进行通信、存储和处理的系统和方法
EP3924921A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
CN113228075B (zh) 用于控制或强制执行在区块链上进行的转移的计算机实现的系统和方法
JP2023065602A (ja) コンピュータにより実施される意思決定システム及び方法
CN112970227A (zh) 包括公钥组合验证的计算机实现的系统和方法
CN113939821A (zh) 用于在工作量证明区块链网络上进行非并行挖掘的系统和方法
US20220278843A1 (en) Computer implemented method and system for knowledge proof in blockchain transactions
US20220129249A1 (en) Computer implemented method and system for pseudo-random data generator
RU2755672C1 (ru) Способ безопасного хранения и обновления данных в распределенном реестре с помощью сетей квантовых коммуникаций
You et al. A Multi-Party, Multi-Blockchain Atomic Swap Protocol with Universal Adaptor Secret

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