CN110754061A - 用于避免或减少区块链网络上的加密滞留资源的系统和方法 - Google Patents

用于避免或减少区块链网络上的加密滞留资源的系统和方法 Download PDF

Info

Publication number
CN110754061A
CN110754061A CN201880039930.4A CN201880039930A CN110754061A CN 110754061 A CN110754061 A CN 110754061A CN 201880039930 A CN201880039930 A CN 201880039930A CN 110754061 A CN110754061 A CN 110754061A
Authority
CN
China
Prior art keywords
transaction
public key
conference
node
funds
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
CN201880039930.4A
Other languages
English (en)
Inventor
J·弗莱彻
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 GBGB1709432.7A external-priority patent/GB201709432D0/en
Priority claimed from GBGB1709431.9A external-priority patent/GB201709431D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Priority to CN202311498059.3A priority Critical patent/CN117640099A/zh
Publication of CN110754061A publication Critical patent/CN110754061A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/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
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Finance (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

提供一种与区块链一起使用的计算机实现的方法。所述计算机实现的方法包括:广播第一存款交易,所述第一存款交易被配置为允许第一数字资产通过生成对第一公钥有效的签名而在限定时间段之后被解锁,以及通过生成对第二公钥有效的签名而被随时解锁;在限定时间段到期之前,广播第一资金交易,第一资金交易通过第一公钥、第二公钥和第三公钥来阻碍第二数字资产;以及在限定时间段到期之后,广播通过对第一公钥有效的签名将第一数字资产解锁的交易。

Description

用于避免或减少区块链网络上的加密滞留资源的系统和方法
技术领域
本发明一般涉及分布式账本,尤其涉及用于帮助为了电子通信、转移和交换的目的在参与者之间设立的区块链外通道的方法和系统。本发明特别适合于但不限于设立区块链外通道,以允许在对手方未能完成通道的设立时恢复/访问与该通道相关联的数字资源。本发明提供用于参与者之间建立的通道的密码强制解决方案,以确保即使在一个或多个参与者未能完成交换的情况下也可以继续访问资源。
背景技术
在本文献中,我们使用术语“区块链”来包括所有形式的电子、基于计算机的分布式账本。它们包括但不限于区块链和交易链技术、许可和非许可的账本、共享账本及其变体。虽然也提出并开发了其他区块链实施方式,但是区块链技术最广为人知的应用是比特币账本。虽然本文中出于方便和说明的目的可以引用比特币,但是应当注意,本发明不限于与比特币区块链一起使用,并且替代性的区块链实施方式和协议也落入本发明的范围内。
区块链是一种基于共识的电子账本,它被实现为基于计算机的分散式、分布式系统,该系统由区块组成,而区块相应地由交易和其他信息组成。对于比特币而言,每个交易是一个数据结构,该数据结构对区块链系统中的参与者之间的数字资产的控制转移进行编码,并包括至少一个输入和至少一个输出。每个区块包含前一个区块的散列,以致于这些区块变为链接在一起,以创建自区块链开始以来就已经写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入其输入和输出中称为脚本的小程序,它们指定如何以及通过谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言来编写的。
为了将交易写入区块链,必须对其进行“验证”。某些网络节点充当矿工并进行工作以确保每次交易都有效,而无效交易从网络中被拒绝。例如,安装在节点上的软件客户端对引用未耗用的交易输出(UTXO)的交易进行该验证工作。可通过执行其锁定和解锁脚本来进行验证。如果锁定和解锁脚本的执行评估为TRUE,并且如果满足某些其他条件,则交易有效并且可以被写入区块链。因此,为了将交易写入区块链,该交易必须i)由接收交易的节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由矿工建造的新区块;iii)被挖掘,即加入过去交易的公共账本。当向区块链添加足够数量的区块以使交易实际上不可逆时,认为交易被确认。
虽然区块链技术由于加密货币实现方式的使用而广为人知,但是数字企业家已经开始探索比特币所基于的加密安全系统以及可以存储在区块链上以实现新系统的数据这两者的使用。如果区块链可用于并非纯粹限于以加密货币计价的支付的自动化任务和过程,这将是非常有利的。这样的解决方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录,分布式处理等),同时在其应用中更通用。
区块链协议(包括比特币)内的可扩展性是加密货币社区中众多争论的主题。如何实现扩展的问题提出了各种技术挑战。例如,因为区块链通过“闲话协议”运行,其中,向所有参与者广播对账本的所有状态修改,并基于该闲话协议来达成对状态的共识,所以,区块链网络中的每个节点都必须知道在全球范围内发生的每个交易。这种对交易的全球跟踪可能会限制至少某些区块链网络上交易的数量或频率。例如,如在撰写本文时所实施的那样,比特币可能无法取代现有的大批量电子支付系统,例如VisaTM。例如,据估计,仅在比特币上实施Visa交易每年将消耗400TB的数据。现有网络的很多节点无法处理这个数量的带宽和存储。
为了适应更高的交易量,已经提出了链外(即区块链外)支付通道。例如,Poon和Dryja在2016年1月14日的“The Bitcoin Lightning Network:Scalable Off-ChainInstant Payments”中描述了一种称为“闪电网络”的链外支付通道。闪电网络允许链外发生有价值的交易。闪电网络描述了这样一种技术,对于打开支付通道后的某些链外不合作或敌对行为,可以对先前在链外交换的半签名承诺交易进行完全签名并在区块链上广播。
例如,如果闪电网络要在比特币上实施而没有引入交易可塑性机制,则闪电网络可能导致数字资产在某些情况下被加密滞留。例如,当至少两个节点将“开放交易”中的数字资产转移到多签名地址(也称为“multisig”地址)时,在闪电网络中启动支付通道。配置该多签名地址,使得仅当支付通道中的两个参与者(即,将数字资产转移至多签名地址的至少两个节点)都签名交易时,才可以耗用转移至多签名地址的数字资产。例如,如果对手方不根据闪电网络协议采取行动,则数字资产可能会变为加密滞留(在由于涉及支付通道的另一方(可称为对手方)的不合作行为,它们变为不可获得的意义上)。例如,节点可将数字资产转移到多签名地址,而对手方可能无法将对应的数字资产转移到所述多签名地址。然后,对手方可能会拒绝协助节点返还数字资产,使得数字资产变为加密滞留。在没有对手方参与的情况下,与多签名地址相关联的密码约束阻止数字资产的返还。
此外,即使两个节点都根据闪电网络协议将数字资产转移到多签名地址,对手方仍可以在支付通道上发生任何活动(例如承诺交易的交换)之前停止参与。在打开支付通道后,对手方有动机参与(即,因为转移到多签名地址的数字资产现在由另一方部分控制)。但是,由于多种可能的原因之一,他们的参与可能会停止。例如,如果对手方无意中删除了必需的私钥,则对手方可以停止参与。如果对手方在接收第一笔承诺交易之前停止参与,则转移到多签名地址的数字资产可能会变为加密滞留。
资产加密滞留的一种解决方案是隔离见证(segregated witness)。但是,例如,隔离见证需要对比特币核心协议进行更新,并且鉴于区块链网络的分布式性质,对核心协议的更新可能难以实施。此外,在比特币社区中已经表达了一种担忧,即引入隔离见证(SegWit)会从根本上改变比特币协议,并带来潜在的安全问题,其可能引起开采。
因此,需要用于设立支付通道的改进技术。
发明内容
因此,根据本发明,提供如后附权利要求书所限定的方法。
如下更详细所述,描述了建立用于数字资产的链外转移的通道的技术。该通道可称为“支付通道”、“转移通道”、“通信通道”或“交换通道”。为了便于参考,可以使用术语“支付通道”。
更具体而言,可以在通道设立期间使用会议。会议是节点的群组,在向与会议相关联的数字资产池提交足够的权益(“成员存款”)后,区块链网络中的任何节点都可以加入这个会议。例如,节点可通过将诸如数字货币(例如比特币)、通证(token)或其他权益或价值之类的数字资产或资源转移到与会议相关联的账户来加入会议。可以部分地通过分布式生成私钥份额来保护会议。每个私钥份额都可以被其持有者用于生成交易的部分签名。阈值签名方案可用于至少使用部分签名的阈值来为这种交易生成有效签名。成员存款可能会因恶意行为而被没收。
有利地,通过在通道设立期间使用会议,减少了加密滞留的数字资产的威胁。因此,可将支付通道用于从区块链网络卸载交易,而不会导致数字资产被加密滞留。因此相关方(或相关的多方)可以访问和利用资源。本文所述技术允许在诸如比特币的现有区块链网络上提供支付通道网络,而无需修改底层协议。
因此,根据本发明,可以提供一种计算机实现的方法。所述计算机实现的方法可包括:向区块链网络的节点广播第一存款交易,所述第一存款交易被配置为允许第一数字资产通过生成对第一公钥有效的签名而在限定时间段之后被解锁,以及允许该第一数字资产通过生成对第二公钥有效的签名而随时被解锁;在所述限定时间段到期之前,向所述区块链网络广播第一资金交易,所述第一资金交易通过所述第一公钥、所述第二公钥和第三公钥阻碍第二数字资产,使得所述第二数字资产的阻碍能通过以下消除:1)对所述第一公钥有效的签名和对所述第三公钥有效的签名两者;或2)对所述第二公钥有效的签名;以及在所述限定时间段到期之后,广播通过对所述第一公钥有效的签名将所述第一数字资产解锁的交易。
在一些实施方式中,所述计算机实现的方法还包括在广播所述第一资金交易之前执行以下步骤:在所述区块链网络上检测第二存款交易的确认,所述第二存款交易被配置为允许另外的数字资产通过生成对所述第三公钥有效的签名而在限定时间段之后被解锁,以及允许该另外的数字资产通过生成对所述第二公钥有效的签名而随时被解锁。
在一些实施方式中,响应于检测所述第二存款交易的确认,自动进行向所述区块链网络广播所述第一资金交易。
在一些实施方式中,所述第一存款交易包括指定将在所述第一资金交易和第二资金交易中提供的资金的数量的元数据,并且其中,所述第二存款交易包括指定将在所述第一资金交易和所述第二资金交易中提供的所述资金的数量的元数据。
在一些实施方式中,所述计算机实现的方法还包括在广播所述第一资金交易之前执行以下步骤:证实所述第二存款交易指定了将在所述第一资金交易和所述第二资金交易中提供的资金的预期数量。
在一些实施方式中,所述第二公钥与在阈值签名方案下操作的节点群组相关联。
在一些实施方式中,所述方法还包括广播第一封装承诺交易。所述第一封装承诺交易包括作为元数据的承诺交易。所述承诺交易使用与所述第一公钥相对应的第一私钥进行签名。在一些实施方式中,在所述限定时间段到期之前广播所述第一封装承诺交易。
在一些实施方式中,所述计算机实现的方法还包括在广播所述第一封装交易之前执行以下步骤:在所述区块链网络上检测第二资金交易的确认,所述第二资金交易通过所述第一公钥、所述第二公钥和所述第三公钥来阻碍另外的数字资产,使得所述另外的数字资产的阻碍通过以下消除:1)对所述第一公钥有效的签名和对所述第三公钥有效的签名两者;或2)对所述第二公钥有效的签名。
在一些实施方式中,所述第一封装交易是用于名义数字资产。
在一些实施方式中,所述计算机实现的方法还包括检测通过关联于所述第三公钥的节点广播的第二封装承诺交易的确认。所述第二封装承诺交易包括作为元数据的另外的承诺交易。所述另外的承诺交易使用与所述第三公钥相对应的第三私钥进行签名。
在一些实施方式中,所述计算机实现的方法还包括向所述区块链网络的节点广播所述另外的承诺交易。
在一些实施方式中,所述计算机实现的方法还包括直接与关联于所述第三公钥的节点交换一个或多个另外的承诺交易。
根据本发明,可提供一种电子装置。所述电子装置包括接口装置,耦接到所述接口装置的处理器以及耦接到所述处理器的存储器。所述存储器上存储有计算机可执行指令,在被执行时,所述计算机可执行指令将所述处理器配置为进行本文所述的方法。
根据本发明,可提供一种计算机可读存储介质。所述计算机可读存储介质包括计算机可执行指令,在被执行时,所述计算机可执行指令将处理器配置为进行本文所述的方法。
附图说明
参考本文所述的实施例,本发明的这些和其他方案将变得显而易见并得以阐明。下面仅通过示例并参考附图来描述本发明的实施例,其中:
图1示出示例性区块链网络的方框图。
图2示出可以充当区块链网络中的节点的示例性电子装置的方框图。
图3是设立支付通道的示例性方法的流程图。
图4是加入会议的示例性方法的流程图。
图5是没收数字资产的示例性方法的流程图。
图6是重新分配密钥份额的示例性方法的流程图。
图7是重新分配密钥份额的另一个示例性方法的流程图。
图8是返还存款的示例性方法的流程图。
图9是帮助设立支付通道的示例性方法的流程图。
具体实施方式
区块链网络
首先参考图1。图1以方框图形式示出与区块链相关联的示例性区块链网络100。区块链网络可以是公共区块链网络,它是一个点对点的开放成员网络,任何人可以加入其中,无需邀请或经过其他成员同意。运行区块链协议(区块链网络100在该协议下操作)的实例的分布式电子装置可以参与区块链网络100。这种分布式电子装置可称为节点102。区块链协议例如可以是比特币协议。
运行区块链协议且形成区块链网络100的节点102的电子装置可以是各种类型的装置,例如包括台式计算机、膝上型计算机、平板计算机、服务器、诸如智能电话这样的移动装置、诸如智能手表这样的可穿戴计算机、或其他电子装置。
区块链网络100的节点102使用合适的通信技术相互耦接,所述通信技术可包括有线和无线通信技术。这种通信遵循与区块链网络相关联的协议。例如,在区块链是比特币区块链的情况下,可以使用比特币协议。
节点102维护区块链上所有交易的全局账本。因此,全局账本是分布式账本。每个节点102可以存储全局账本的完整副本或部分副本。对于通过工作量证明来保护的区块链,影响全局账本的节点102的交易由其他节点102验证,从而维护全局账本的有效性。当区块链是基于工作量证明的区块链时,也通过检查随区块提交的工作量证明来证实区块。
至少一部分节点102作为区块链网络100的矿工104操作。图1的区块链网络100是工作量证明区块链,其中矿工104执行昂贵的计算,以便促进区块链上的交易。例如,工作量证明区块链可能要求矿工解决加密问题。在比特币中,矿工104找到一个随机数,使得区块头部通过SHA-256散列到一个小于当前难度所定义的值的数字。工作量证明算法所需的散列功率意味着在一定数量的区块在其顶部被开采之后,交易被认为实际上是不可逆的。解决加密问题的矿工104为区块链创建新区块,并将新区块广播到其他节点102。在接受应该将区块添加到区块链之前,其他节点102证实矿工104实际上已经解决了加密问题并因此展示了足够的工作量证明。通过节点102的共识将区块添加到区块链(即,添加到分布式全局账本)。
作为工作量证明的替代,区块链网络100也可以是权益证明区块链网络。权益证明区块链网络提供了达成共识的替代性机制。在权益证明区块链网络中,区块链由权益证明而非工作量证明来保护。在权益证明下,矿工存放数字资产的保证金,并且被选择作为挖掘区块的节点的概率与作为保证金提供的数字资产的数量成比例。权益证明区块链系统可用于避免在工作量证明区块链上挖掘所需的计算费用和精力。此外,与工作量证明区块链相比,权益证明区块链可以允许更高的频率和更规则的区块创建。
矿工104创建的区块包括已经由节点102广播到区块链的交易。例如,区块可包括从与节点102的其中一个相关联的地址到与节点102的其中另一个相关联的地址的交易。通过这种方式,区块充当从一个地址到另一个地址的交易的记录。要求该交易被包括在区块中的一方证明:他们被授权通过使用与其公钥相对应的私钥对请求进行签名来发起转移(例如,在比特币的情况下,耗用比特币)。如果请求被有效地签名,则仅将转移添加到区块中。
对于比特币而言,在公钥和地址之间存在一对一对应关系。也就是说,每个公钥与单个地址相关联。因此,本文中对于将数字资产转移至公钥或从公钥转移数字资产(例如,支付到公共密钥中)以及将数字资产转移至与所述公共密钥相关联的地址或从所述地址转移数字资产的任何引用都指的是共同的操作。
区块链网络中的有些节点102可能不是作为矿工操作,而是作为验证节点参与。交易验证可能涉及检查(一个或多个)签名、确认对有效UTXO的引用等。
图1的示例包括五个节点102,其中两个作为矿工104参与。实际上,节点102或矿工104的数量可以不同。在很多区块链网络中,节点102和矿工104的数量可以远大于图1所示的数量。
如下所述,各种节点102可以合作形成将在本文中称为会议110的群组。在所示示例中,将三个节点102示出为会议110的参与方。但是,会议110成员的实际数量可能大得多。
会议110可以是开放成员群组,它可以由任何节点102在向与会议110相关联的池提交足够的权益时加入。例如,节点可通过向与会议110相关联的账户(例如群组公共地址或群组公钥)转移数字资产(诸如数字货币(例如比特币)、通证通证、或其他权益或价值)来加入会议。加入会议的节点102可以是区块链网络中的任何节点,包括挖掘节点和非挖掘节点。
会议110可以用于促进节点之间的链外支付通道120的设立。在本文中可将链外支付通道称为链外支付通道、链外通道或支付通道。支付通道允许区块链外的价值交换。支付通道允许随时将支付通道的当前状态(即支付通道中涉及的节点的相应余额)提交给区块链。也就是说,各方可以在多个区块链外交易中转移价值,并且可以在某个时间点更新区块链以反映支付通道的最终状态。
在示例性实施例中,在两个节点(第一节点102a和第二节点102b)之间设立支付通道120。虽然图1示出单个支付通道,但是实际上,可以在节点之间设立多个支付通道。例如,第一节点102a或第二节点102b可以是中轴。中轴可以连接到其他节点,以提供中轴(hub)和辐条(spoke)(HAS)布置,其中中央中轴(例如第一节点102a)与第二节点102b以及另一个节点(例如第三节点等)两者都建立支付通道。这种HAS布置允许连接到中轴的任何节点将链外价值转移到与该中轴连接的任何其他节点,或从连接到该中轴的任何其他节点接收链外价值。例如,第二节点102b可以向链外的第三节点转移价值,或从该第三节点接收价值。
在设立支付通道期间,与支付通道120相关联的节点(例如,在所示的示例中,为第一节点102a和第二节点102b)各自以特殊方式锁定数字资产,从而为支付通道提供资金。设立完成以后,可以使用承诺交易来分配这些数字资产。更具体而言,支付通道允许与其相关联的节点交换承诺交易。承诺交易是在没有向区块链网络(初始)广播的情况下通过节点交换的交易。承诺交易提供账本,其限定与支付通道120相关联的数字资产的分配。可将该分配称为支付通道120的状态。承诺交易可以随时通过与付款通道相关联的其中一个节点广播。承诺交易通常可以按照Poon和Dryja在2016年1月14日的“The Bitcoin LightningNetwork:Scalable Off-Chain Instant Payments”(以下成为“Lightning Network”)中的描述进行操作。但是,可以按照与LightningNetwork所述不同的方式来设立支付通道。更具体而言,在设立协议中可以涉及本文称为会议的节点群组,以允许成为支付通道的一方的节点在对手方(即,支付通道所涉及的另一个节点)无法完成支付通道设立的情况下收回数字资产。这样允许支付通道在不使用隔离见证或类似交易漏洞修复程序的情况下运行。
作为节点操作的电子装置
图2是示出示例性电子装置200的组件的方框图,示例性电子装置200可以充当点对点区块链网络100(图1)中的节点102(图1)。示例性电子装置200也可称为处理装置。电子装置可以采用各种形式,例如包括台式计算机、膝上型计算机、平板计算机、服务器、诸如智能手机这样的移动装置、诸如智能手表这样的可穿戴计算机、或其他类型的形式。
电子装置200包括处理器210、存储器220和接口装置230。这些组件可以直接或间接地相互耦接并且可以相互通信。例如,处理器210、存储器220和接口装置230可以经由总线240相互通信。存储器220存储计算机软件程序,其包括用于进行本文所述功能的机器可读指令和数据。例如,存储器可包括处理器可执行指令,当通过处理器210执行时,可执行指令使得电子装置进行本文所述的方法。处理器可执行指令可包括指令,当由处理器210执行时,该指令使得电子装置实现与区块链网络100(图1)相关联的协议。例如,指令可包括用于实现比特币协议的指令。
存储器220可以存储区块链网络100(图1)的全局账本或其一部分。也就是说,存储器220可以存储区块链的所有区块或一部分区块,例如最新的区块,或者一些区块中的一部分信息。
虽然存储器220在图2中用单个方框示出,但是实际上,电子装置200可包括多个存储器组件。存储器组件可以是各种类型,例如包括RAM、HDD、SSD、闪存驱动器等。不同类型的存储器可以适合于不同的目的。此外,虽然存储器220与处理器210分开示出,但是处理器210也可包括嵌入式存储器。
如图2所示,一部分节点102(例如形成会议110的节点和/或参与提供本文所述故障安全模式的支付通道的节点)的处理器210可包括诸如可信执行环境(TEE)250这样的安全区域。TEE 250是隔离执行环境,其为电子装置200提供额外的安全性,例如隔离执行、可信应用的完整性和资产机密性。TEE 250提供了这样的执行空间:该执行空间保证在TEE250内加载的计算机指令和数据在机密性和完整性方面受到保护。TEE 250可用于保护重要资源(例如密钥)的完整性和机密性。TEE 250至少部分地在硬件级别实现,使得在TEE 250内执行的指令和数据受到保护,以防止来自电子装置200其余部分以及诸如电子装置的所有者这样的外方的访问和操纵。TEE 250内的数据和计算从操作包括TEE 250的节点102的一方得到保护。
TEE 250可以操作以将飞地实例化,然后一次一个添加存储器的页面,同时累积地进行散列。也可以在远程机器(可以是开发者机器或另一个机器)上进行类似的操作,以便远程机器确定并存储预期的散列。因此,飞地的内容可以由任何远程机器证实,以确保飞地运行批准的算法。可通过比较散列来进行证实。飞地完全建成后,将其锁定。可以在TEE 250中运行代码并向代码发送秘密,但代码不能更改。最终散列可通过证明密钥来进行签名,并且可使其对于数据所有者可用,以在数据所有者向飞地发送任何秘密之前证实它。
充当会议成员的节点所使用的TEE 250可用于保护与会议110(图1)使用的会议公钥相关联的私钥份额的机密性和完整性。例如,TEE 250可以用于私钥份额的生成和存储。TEE 250目的是确保没有成员能够直接获得在TEE 250飞地内保持的私钥份额,或者通过成员间通信或跨飞地通信获得关于其他私钥份额的信息。会议协议对于TEE阈值的损害也是稳健的。此外,TEE 250可以启用远程证明,该远程证明可以由节点102(图1)用来向其他节点102证明TEE 250是可信的并且正在运行用于会议110或支付通道所实施的协议的、被批准的计算机可执行指令。远程证明可以由TEE 250通过运行特定代码段并在飞地内部发送该代码的散列来提供,代码的散列由用于飞地的内部证明密钥(在此也可称为飞地私钥)签名。
当先前在电子装置200上使用私钥份额的会议110的成员选择离开会议时,充当会议成员的节点上提供的TEE 250可用于证明私钥份额的安全删除。电子装置200可通过TEE250中提供的远程证明协议向其他会议成员提供删除证明。在允许成员撤回其成员存款之前,可能需要删除证明。也就是说,存款的返回可以以证明成员的飞地内的私人密钥份额的删除为条件。
TEE 250可以配备有安全随机数发生器,安全随机数发生器是在TEE的飞地内部,其可用于生成私钥、随机询问、或其他随机数据。TEE 250还可以被配置为从外部存储器读取数据,并且可以被配置为将数据写入外部存储器。这些数据可通过仅在飞地内部保持的秘密密钥加密。
可以使用各种平台(诸如可信平台模块(TPM)或英特尔软件保护扩展(SGX))来实现TEE 250。例如,SGX支持远程证明,这使得飞地能够从正在执行特定飞地的处理器获取签名的声明,所述特定飞地具有称为报价的给定成员。诸如英特尔证明服务(IAS)这样的第三方证明服务可以证明这些签名的声明源自符合SGX规范的可信CPU。
虽然图2示出包括TEE 250的节点(即,电子装置200),但是区块链网络100的至少一部分节点可以不包括TEE。
电子装置200充当区块链网络100(图1)中的节点102(图1)。一部分节点可以加入或者参加会议110(图1)。当数字资产承载者的群组汇集区块链网络100(图1)所支持的数字资产(例如,数字货币、通证或其他股份或价值)时,形成会议110。例如,如果对手方变为不响应或者未能按照规定协议进行操作,则会议可将一个或多个数字资产返还给提供这种数字资产的节点,以便与对手方设立支付通道。
一部分节点可能作为会议成员或支付通道参与者参加区块链网络。其他节点可能不作为参与者参加支付通道,或者可能不充当会议成员。这些节点可以替代性地充当矿工、验证者、中轴中的一个或多个,或者可以提供与区块链网络相关联的其他功能。
参与支付通道并响应通道故障
下面参考图3,示出用于参与支付通道并响应通道故障的方法300。方法300可通过区块链网络的节点102进行。这种节点102可包括存储在存储器220(图2)中、实现方法300的计算机可执行指令。在通过处理器210(图2)执行时,这种指令使得节点102(例如参考图2所述类型的电子装置200)进行方法300。可以进行方法300来打开支付通道,并且可以在进行该方法的节点102已经与对手方(即,将成为支付通道一方的另一个节点)就用于打开支付通道的数字资产数量(即支付通道的“资金”数量)达成一致之后进行。
在操作302,节点102向区块链网络100的节点广播第一存款交易。第一存款交易被配置为允许第一数字资产通过生成对第一公钥有效的签名在限定的时间段之后被解锁,并允许第一数字资产通过生成对第二公钥有效的签名随时被解锁。第一公钥是与节点102本身相关联的公钥,而第二公钥是与在阈值签名方案下操作的节点群组相关联的公钥。可将这个节点群组称为会议110。因此,第二公钥是与会议110相关联的公钥。可将这个公钥称为群组公钥、会议公钥或群组地址。
第一存款交易锁定第一数字资产,以允许会议(并且更具体而言,是控制密钥份额的多个节点,其数量大于由会议节点实现的会议协议的阈值签名方案所要求的阈值)承担第一数字资产的控制(即,通过使用对第二公钥有效的签名消除数字资产的阻碍,来解锁第一数字资产)。因为第一存款交易被配置为允许会议随时解锁第一数字资产,所以,如果对手方不能进行图3的方法300从而打开支付通道,那么控制用于会议的足够数量的密钥份额的会议的多个节点可以采取行动,将第一数字资产返还给进行方法300的节点。下面参考图9更详细地描述可通过会议的节点进行的返还第一数字资产的操作。
第一存款交易可以包括指定将由进行方法300的节点和对手方提供以打开支付通道的资金数量的元数据。也就是说,第一存款交易可包括指定将在第一资金交易和第二资金交易中提供的资金数量的元数据(这些资金交易将在下面参考操作306和308更详细地描述)。该元数据允许会议确保支付通道的双方已经适当地资助了支付通道,如下参考图9所述。
如上所述,第一存款交易还通过第一公钥锁定第一数字资产。第一公钥是与进行方法300的节点相关联的公钥,且第一存款交易使用第一公钥在第一数字资产上应用基于时间的锁定。基于时间的锁定允许节点通过广播交易(该交易包括在预定时间段t到期后对第一公钥有效的签名)来收回第一存款交易所阻碍的数字资产。也就是说,在预定时间段t过去之后,如果节点广播使用与第一公钥相对应的第一私钥签名的交易,则第一数字资产可以由进行方法300的节点收回。但是,应用于第一数字资产的锁定防止了节点在此时间段t到期之前直接收回第一数字资产。也就是说,直到时间段t过去之前,第一数字资产只能由会议(并且更具体而言,由控制足够数量的密钥份额的会议的多个节点,以允许他们能够代表会议共同生成有效签名)解锁(即耗用)。但是,如果会议此时没有耗用第一数字资产,则进行方法300的节点可以耗用第一数字资产。
支付通道的对手方(即,将成为打开的支付通道的一方的另一个节点)也广播存款交易(可称为第二存款交易)。如本文所使用的,标签“第一”和“第二”仅用于区分不同的项目,而不用于指示顺序。也就是说,由进行该方法的节点广播的第一存款交易可以在由对手方广播的第二存款交易之前或之后被广播和/或添加到区块链。
第二存款交易包括指定由各方提供以打开支付通道的资金数量的元数据(即,在第一资金交易和第二资金交易中,如下所述)。商定的资金(即第一存款交易和第二存款交易两者中指定的资金)的声明应为相同金额。如果商定的资金声明相互不对应,则与支付通道关联的两个节点都可能等到时间段t到期并收回与它们各自的存款交易相关联的数字资产。
在操作304,节点102在区块链网络上检测对第一存款交易和第二存款交易的确认。由支付通道的对手方广播的第二存款交易被配置为允许通过生成对第三公钥有效的签名在限定时间段之后解锁另一个数字资产,并通过生成对第二公钥有效的签名随时解锁该另一个数字资产。第三公钥是与对手方相关联的公钥。
在操作304,节点102还可以证实第二存款交易指定将在第一资金交易和第二资金交易中提供的期望资金数量。例如,节点102可以证实第一存款交易和第二存款交易指示用于支付通道的共同资金水平。
值得注意的是,如果第二存款交易没有被对手方广播并且在操作304没有被检测到,则进行该方法的节点102可以等待直到预定时间t到期,然后可以收回第一数字资产。也就是说,如果在限定时间段t到期后,对手方未能提供与在第一存款交易中放置在第一数字资产上的锁定相关联的存款,则进行方法300的节点102可以广播通过对第一公钥有效的签名来解锁第一数字资产(即,在第一存款交易中存放的数字资产)的交易。也就是说,可以广播包括解锁脚本的交易,解锁脚本包括使用与第一公钥相对应的第一私钥生成的签名。如果需要的话,交易可通过将第一数字资产转移回与节点102相关联的地址来耗用第一数字资产(例如,通过在只需要对于与进行方法300的节点102相关联的第一公钥有效的签名的数字资产上放置新的阻碍)。
在检测到对区块链上的存款交易的确认之后,节点102向区块链网络广播第一资金交易。第一资金交易被配置为通过第一公钥(即,与进行方法300的节点相关联的公钥)、第二公钥(即,与会议相关联的公钥)和第三公钥(即,与对手方相关联的公钥)来阻碍第二数字资产,从而能够通过以下方式消除第二数字资产的阻碍:1)对第一公钥有效的签名和对第三公钥有效的签名两者;或2)对第二公钥有效的签名。
因此,设立第一资金交易,使得支付通道的双方能够相互消除与资金交易相关联的数字资产的阻碍,或者,使得会议单独动作能够消除阻碍。也就是说,设立资金交易,使得能够通过两种方式其中之一消除阻碍。如果支付通道的各方希望合作,则在双方都使用各自的私钥(即与第一公钥和第三公钥关联的私钥)来为要耗用被阻碍的数字资产的交易生成签名的情况下可以消除阻碍。在这种情况下,将它们的有效签名结合在一起可以消除阻碍。可以消除阻碍的第二种方式涉及会议的多个成员合作生成基于阈值签名方案有效的、代表会议的签名。下面在会议的详细讨论中将更详细地讨论阈值签名方案。通常,阈值签名方案需要控制至少阈值数量的密钥份额的多个会议成员节点的合作。因为会议是通过权益的存放来保护的,所以如果会议的成员节点的行为违反会议协议,则存在被没收这些权益的风险。例如,如果会议成员要为有效地窃取与操作306的资金交易相关联的数字资产的交易提供部分签名,那么会议成员存在被至少控制密钥份额阈值的诚实会议成员的合作撤销其存款的风险。
必须在广播第一存款交易后的限定时间段s内提供第一资金交易。这个限定时间段明显小于与在第一存款交易中放置在第一数字资产上的锁定相关联的时间段t。因此,必须在限定时间段t(与存款交易中的锁定相关联)和另一个限定时间段s(小于在第一存款交易中使用的限定时间段t)内都广播第一资金交易。可将会议的节点配置为确保及时地(即,在限定时间段s到期之前)广播第一资金交易和/或将第一资金交易添加到区块链。如果未及时提供第一资金交易,则会议可以没收在第一存款交易中被阻碍的第一数字资产。
响应于检测到对第二存款交易的确认,节点102可以自动广播第一资金交易(在操作304)。
第一资金交易使用在第一存款交易和/或第二存款交易的元数据中限定的数字资产的数量来为支付通道提供资金。也就是说,要求包括在第一资金交易中的数字资产的数量如在存款交易中所定义。如果基于第一存款交易中的元数据,在第一资金交易中提供的数字资产的数量与预期数量不同,则会议可以没收在第一存款交易中作为存款提供的第一数字资产。
此外,要求对手方通过对应的资金交易为支付通道提供资金。该资金交易可称为第二资金交易,并且在操作308,节点102可以在区块链上检测对第二资金交易(和第一资金交易)的确认。也就是说,节点可以确认第二资金交易和第一资金交易已经添加到区块链。第二资金交易通过第一公钥、第二公钥和第三公钥来阻碍另一个数字资产,使得能够通过以下方式消除另一个数字资产的阻碍:1)对第一公钥有效的签名以及对第三公钥有效的签名两者;或2)对第二公钥有效的签名。添加到第二资金交易中所提供的数字资产的阻碍对应于添加到第一资金交易中提供的数字资产的阻碍。
此外,节点可以确认(在操作308)第二资金交易中的数字资产的数量是预期数量。也就是说,节点可以确认对手方已经适当地为支付通道提供资金。例如,节点可以确认第二资金交易中的数字资产的数量对应于在存款交易(多个)的元数据中指定的数量。
在操作310,响应于检测到对第二资金交易和第一资金交易的确认,节点102可以广播第一封装承诺交易。第一封装承诺交易是名义数字资产的交易(例如,仅足以覆盖挖掘费用以将交易添加到区块链的数字资产)。第一封装承诺交易的目的不是交换价值(即,将数字资产转移到另一方),而是充当承诺交易的公共记录。承诺交易是支付通道状态的记录,如果另一方变得不合作,则允许节点关闭通道并收回数字资产。更具体而言,承诺交易记录支付通道各方的当前余额。第一封装承诺交易是包括承诺交易(即,初始承诺交易)作为元数据的交易。配置承诺交易,使得接收承诺交易的一方能够在任何时候签名承诺交易并将其向区块链网络广播,以将支付通道的当前状态提交给区块链。也就是说,承诺交易可以由各方在链外支付通道进行连续交换,并且在任何时候这些参与方的其中一个都可以将他们的签名添加到承诺交易中并进行广播,以尝试将支付通道的当前状态提交给区块链。
因此,包括在第一封装承诺交易中的初始承诺交易是半签名交易。它已由进行方法300的节点签名(即,使用与第一公钥相对应的第一私钥进行签名),并且对手方可将他们的签名添加到承诺交易中,并将其向区块链网络广播,以尝试将支付通道的当前状态提交给区块链。通过将初始承诺交易作为元数据提供给广播到区块链网络的交易,会议可以确认已经接收初始承诺交易,因此,如果对手方变得不合作,那么支付通道的各方有办法关闭支付通道。也就是说,在各方向另一方提供初始承诺交易之后,双方都有办法关闭不需要另一方合作的通道。
此外,要求对手方提供可称为第二封装承诺交易的封装承诺交易,以完成支付通道的设立。因此,在操作312,进行方法的节点102检测对于与第三公钥相关联的节点(即,由对手方)所广播的第二封装交易的确认。第二封装承诺交易包括另一个承诺交易作为元数据。使用第三私钥(即,与第三公钥相对应的私钥,第三公钥是对手方的公钥)签名另一个承诺交易。也就是说,另一个承诺交易是半签名交易。它由对手方签名,并且进行方法的节点102可以向该承诺交易添加对第一公钥有效的签名。如果需要的话,节点102可以签名所述另一个承诺交易并将其向区块链网络的节点广播,以将在另一个承诺交易中限定的支付通道状态提交给区块链。
封装承诺交易必须及时提供,这种及时性将由会议进行评估。不能提供及时的封装承诺交易可能导致存款(即,存款交易中提供的数字资产)被没收和/或资金交易中提供的全部或部分资金被没收。更具体而言,封装承诺交易必须在广播第一存款交易之后的限定时间段s’到期之前在区块链上广播和/或确认。该限定时间段s’可以小于与第一存款交易中放置在第一数字资产上的锁定相关联的时间段t,但是可以大于为提供资金交易而分配的时间段s。因此,在至少一部分实施方式中,必须在与存款交易的锁定相关联的限定时间段t和小于用于第一存款交易的限定时间段t的另一个限定时间段s’内都广播资金交易。通过要求在与第一存款交易中放置在第一数字资产上的锁定相关联的时间段t到期之前广播封装承诺交易,如果未及时接收到封装承诺交易,会议可以没收在存款交易中阻碍的全部或部分数字资产。但是,某些实施方式不一定要求在此限定时间段t内接收到封装承诺交易。替代性地,当在限定时间段s’中未提供封装承诺交易时,会议可以没收与支付通道相关联的数字资产(例如,在资金交易中提供的数字资产)。
在区块链上确认封装承诺交易后,可以认为支付通道是开放的。在操作314,在与放置在第一存款交易中的第一数字资产上的锁定相关联的限定时间段t到期之后,进行方法300的节点102可以广播通过对第一公开密钥有效的签名来解锁第一数字资产(即,在第一存款交易中存放的数字资产)的交易。也就是说,可以广播包括解锁脚本的交易,解锁脚本包括使用与第一公钥相对应的第一私钥生成的签名。交易可通过将第一数字资产转移回与节点102相关联的地址来耗用第一数字资产(例如,通过在只需要对于与进行方法300的节点102相关联的第一公钥有效的签名的数字资产上放置新的阻碍)
在支付通道打开之后,进行方法的节点102和对手方可以(在操作316)交换一个或多个其他承诺交易。这些承诺交易被直接交换(例如,进行方法300的节点可以直接向对手方发送承诺交易,以及直接从对手方接收承诺交易)。承诺交易通常可以按照闪电网络所述的方式进行交换。承诺交易可以与有效地将先前通道状态无效的值一起交换。也就是说,该值有效地使得更早的承诺交易无法使用。不诚实的参与者广播先前(即,不是当前的)承诺交易的任何尝试都可能是不明智的,因为通过使用违规补偿交易来主张通道中的所有资金,诚实的参与者可以使用将先前通道状态无效的值来惩罚不诚实的参与者。
通过支付通道各方的相互同意,可以随时关闭支付通道。回顾前面,用于为支付通道提供资金的资金交易被配置为使得支付通道的双方(例如,进行方法300的节点和中轴)可通过在多签名协议中合作来消除对数字资产的阻碍。因此,这些节点可以合作生成用于交易的相应签名,该交易将关闭支付通道并重新分发先前被资金交易阻碍的数字资产。也就是说,这些节点可通过说明支付通道当前状态的方式简单地重新分发资金,而不必一定依靠承诺交易。关闭通道的问题可以称为“软解决方案”。但是,如果对手方变得不合作,拒绝签名这种关闭交易,则承诺交易可能有用。例如,如果对手方拒绝来签名将通过软解决方案关闭支付通道的交易,则进行方法300的节点102可以在操作318签名最新的承诺交易并将其向区块链网络100的节点广播。这样做的效果是,根据付款通道的当前状态重新分配资金交易中的数字资产。通过软解决方案而非依靠承诺交易来关闭通道的优点是,承诺交易要求节点等待更长的时间段(例如1000个区块)来恢复数字资产,以允许其他节点如果需要的话有时间广播违规补偿交易。相反,软解决方案不需要节点等待这个更长的时间段。
如果支付通道的双方都按照支付通道协议进行操作,则可能不需要会议的节点采取任何动作。但是,如果一方或双方均无法按照支付通道协议进行操作,则会议可以帮助恢复数字资产,使得这些数字资产不会变为加密滞留。一旦两个封装承诺交易都被确认和观察为有效,就可能不再需要会议,并且各方可以在无需会议帮助的情况下使用和关闭支付通道。
会议和阈值签名
会议110可以是在区块链网络中操作的节点102的许可或非许可群组。会议110可以是许可或非许可群组。也就是说,区块链网络100(图1)中的任何节点102(图1)(例如,通过监视和存储区块链中的至少一部分信息的任何节点)可以加入会议110。为了加入会议110,节点102将一个或多个数字资产转移到与会议110相关联的数字资产池(即,转移到与一个或多个数字资产相关联的公共群组地址,该一个或多个数字资产相应地与其他成员相关联)。该数字资产池可被称为会议池。例如,节点102可通过将这样的数字资产转移(即,存放)到与会议池相关联的地址(即,转移到又可称为公共群组地址的“会议地址”)来加入会议110。数字资产被置于具有单个公钥(称为会议公钥)的群组阈值签名的控制之下。会议议员持有分布式产生的私钥份额(即在持有这种私钥分额的各种节点处产生的是要份额)。持有的份额数量可以与存放在池中的金额成比例。
由会议110控制的数字资产(包括转移到会议地址(至会议公钥,其为与会议相关联的公钥)的任何数字资产)被置于阈值签名方案的控制之下。在阈值签名方案下,需要一组总私钥份额持有超过阈值的成员来产生有效签名,该签名允许数字资产被转移离开会议110的控制。即,必须将至少阈值数量的私钥份额生成有效签名用于为会议110控制的数字资产的任何向外转移。
会议公钥阻碍会议110的成员存放在会议池中的以换取私钥份额的数字资产,以及通过会议1100的成员或非成员存放在与会议池相关联的地址的任何数字资产(即,在会议的全部、部分、或有条件控制下放置),该任何数字资产由于获得私钥份额之外的原因而已经被存放(即,被会议公钥阻碍)。非成员或成员可能出于各种原因而通过会议公钥来阻碍数字资产。例如,如上参考图3所示,用于支付通道的资金交易可以使用会议公钥来阻碍数字资产。通过会议公钥来阻碍这种数字资产(即,用于打开支付通道的数字资产),如果支付通道发生故障(例如,如果与支付通道相关联的中轴变得无响应),则会议可以实施故障安全模式。
因为同一会议公钥可以阻碍成员存款(即由会议成员提供的以换取私钥份额的数字资产)以及成员或非成员处于其他目的提供的数字资产,所以至会议的至少一部分存款可能会被特别标记,以表明存款的类型。例如,将数字资产转移到会议地址的交易可包括标记、标识符或指示正在进行的存款的性质的其他属性。举例来说,不是为了加入会议或增加会议成员资格中权益的目的而进行的将数字资产转移到会议地址的交易可包括特殊标识符,以指示存款是为了其他目的而进行的。在管理私钥份额生成时(其将至下面进行更详细的描述),可通过与会议110相关联的节点102来使用这些标识符。更具体而言,为了加入群组而存放\阻碍数字资产的节点102被分配用于会议110的私钥份额(作为进行数字资产存放的结果),而为了其他目的(例如,打开支付通道)阻碍数字资产的其他节点102不一定持有会议的会议私钥份额(即,对应于会议公钥)。
会议110可以充当自治群组,其中通过没收全部或部分成员存款的威胁来强制执行合作行为。非合作或恶意成员可能由于加入由很多诚实成员参与的合作协议而被没收这种数字资产。此外,当会议成员希望离开会议110时,他们可以撤回其成员存款(即,要求会议110将成员存款转移回该成员的个人地址)。但是,仅当与群组(即会议)成员相关联的TEE使用多个私钥份额(其数量超过生成有效数字签名所需的阈值)来批准撤回时才进行资金的撤回。
会议110实现的阈值签名方案可以是各种类型。阈值签名方案允许在n方之间分配签名权,只要至少阈值数量的私钥份额有助于生成有效签名,并且小于该阈值的任何数量的密钥份额持有者都不能生成关于签名的任何可用信息。小于阈值的任何子集都不能生成有效签名。更具体而言,每一方都控制私人签名密钥的份额,并且必须使用阈值数量的密钥份额、通过组合部分签名来生成有效签名。任何小于阈值的密钥份额子集都不能通过组合部分前面而生成有效签名。
阈值签名方案可以是椭圆曲线数字签名算法(ECDSA)方案。例如,ECDSA方案可以是Ibrahim等人在“A robust threshold elliptic curve digital signature providinganew verifiable secret sharing scheme”,2003EIII 46th Midwest Symposium onCircuits and Systems,1:276-280(2003)中提出的类型。该阈值签名方案是数字签名方案的扩展,其是基于椭圆曲线加密的算法,其中需要来自n个密钥份额持有者一方的t+1个密钥份额来重建私钥。该方案可用于构建有效签名,而无需重建私钥,并且没有任何一方必须向另一方透露其密钥份额。
因为t+1密钥份额足以重建秘密,所以根据该技术的最大允许对手(adversary)数量为t。在Ibrahim等人的模型中,对手是一个破坏持有秘密份额的一方并可以访问该秘密份额的实体。对手可以是各种类型。例如,拜占庭对手是可能假装参与协议而实际上他们发送不正确的信息的对手。Ibrahim提出的ECDSA方案对于高达t<=n/4个恶意对手是稳健的。这种稳健性可以上升到t<=n/3,但代价是更高的复杂性。
Ibrahim等人的ECDSA方案对于阻止t<=n/3个阻止对手是稳健的。阻止对手能够防止破坏方参与协议或中途停止参与。
该ECDSA方案包括可由节点102用来识别恶意或不合作方的各种机制。例如,可验证的秘密共享(VSS)可用于共享Shamir秘密共享(SSS)所需的多项式。SSS是一种秘密共享的形式,其中将秘密分成若干部分并将其各自独有的部分提供给每个参与者。这些部分可用于重建秘密。在不一致的份额被提供给不同节点102的情况下,或者在将与广播至所有节点的盲目份额不同的份额秘密地发送到节点的情况下,节点102可以使用VSS来识别恶意节点102或成员。可通过节点102中的任何一个来识别不一致的份额。可通过包括允许节点102将其份额验证为一致的辅助信息来使得可以验证秘密的共享。
向个别节点发送不正确的份额(即,与广播的盲目份额不同的份额)可以被份额的预期接收节点识别。被秘密发送到节点的不正确份额的识别可以使用公共可验证的秘密共享(PVSS)技术公开验证。这样的技术可以避免在不使用PVSS的情况下可能发生的欺骗发送者的识别时出现的可能延迟,并且在发送不正确的份额时,不正确份额的接收者离线或从网络的实质部分切断。
诸如向不同节点提供不一致份额的不当行为可以由会议110解决,以阻止恶意行为。例如,当节点102(图1)被其他节点102识别为恶意方时,超过阈值(例如,t+1)的多个节点102(即,与会议成员相关联的节点)可以合作惩罚恶意方。例如,节点102可以采取涉及由恶意方存放到会议的数字资产(诸如数字货币、通证或其他权益或价值)的动作。例如,会议可通过将数字货币、通证、权益或价值转移到不可耗用的地址来烧毁它们,或者会议可通过与其他节点就决定是否授权这些数字资产到恶意方的返回而达成共识,来没收这些数字资产。非不当行为节点的节点102还可通过合作排除不当行为节点来阻止不当行为(例如,通过有效地将密钥份额无效;例如,通过将节点从参与会议协议中排除,或通过重新共享私钥而不是向不当行为节点分配份额)。
可通过使用TEE来增强上述ECDSA技术。例如,基于Ibrahim等人的阈值ECDSA签名技术考虑一种强大的对手形式,在这里称为拜占庭对手。这种类型的对手可以任意行为,例如,他们不仅拒绝参与签名过程或中途停止参与,而且还可能假装诚实地参与并发送不正确的信息。但是,通过使用TEE,并产生用于在存储秘密的私钥份额的TEE的飞地内签名的数据,可以提供额外的安全性,因为极不可能大量损害飞地。例如,如果每个TEE被分配不超过一个密钥份额,那么可以合理地预期可能受损的TEE的数量不接近拜占庭对手的稳健性阈值,假设n足够大。这允许协议是安全的,如果相对于密钥份额的总数,它可以容忍小数量的恶意对手。
例如,如果会议的所有节点都具有TEE,则只有在TEE的制造商未被破坏的情况下,并且只能通过很大的努力和费用才能通过对节点的物理访问来实现对存储在飞地内的秘密的获取。这种制造商等级的破坏预计是可管理的。例如,如果制造商错误地声称很多公钥对应于真正的TEE,则他们可以直接访问私钥份额,并可能发起攻击。但是,这种攻击需要足够数量的密钥份额,以允许制造商在没有其他节点帮助的情况下产生有效签名。这将意味着累积大部分的总权益,这可以假定在费用方面是不可行的。此外,通过实施攻击,将摧毁必定庞大权益持有的相当大部分价值。
当使用TEE时,考虑协议对“破坏的节点”的稳健性是有用的。破坏的节点使得TEE外部的硬件被破坏,但TEE的完整性未受损害。破坏的节点可以控制飞地接收和不接收什么信息。具体而言,破坏的节点可以停止、即避免参与协议。如果要求提供给协议的信息通过在飞地(其中在证明期间认证对应的公钥)中秘密持有的私钥来签名,则私钥与飞地本身一样可信。因此,破坏的节点不能向协议发送任意(认证的)信息,并且可能仅通过停止或试图欺骗飞地不正确地行动(例如,通过向其提供过时信息)来尝试干扰。因此,对于破坏的节点,成功的攻击将需要收集足够数量的部分签名,以产生完整签名。通过TEE,Ibrahim等人的协议对于2t个破坏的节点是稳健的。因为如果n-2t>=2t+1就可以产生签名,那么大小为2t+1<=(n+1)/2的任何合格的密钥份额子集就足矣。因此,在使用TEE时,可将阈值签名方案的阈值配置为大于或等于密钥份额的50%的数字,从而在存在破坏的节点的情况下产生有效签名。
也可以使用其他阈值签名方案。例如,阈值签名方案可以是Goldfeder等人在“Securing Bitcoin Wallets Via a New DSA/ECDSA threshold signature scheme”,(2015)中提出的类型的ECDSA阈值方案。该协议允许t+1方产生有效签名。因此,对手必须控制以产生有效签名的密钥份额的数量等于对手必须拥有以重建私钥的密钥份额的数量。在需要一致同意以产生有效签名的情况下,该技术可以提供有效的方案。在最一般的情况下,该方案强加空间要求,其随着会议成员的数量呈指数级扩展,因为对于任意阈值,需要为n个玩家中的t+1个玩家的任何可能子集重复整个协议。因此,对于n和t两者的大值,将需要存储大量的密钥份额。为了减轻这种存储要求,可将标准比特币多重签名与阈值签名组合。具体而言,可以使用多重签名锁定数字资产,从而将每个私钥划分为多个份额。在空间要求方面,这种技术将使得更大的会议更有效率。还可通过在多个等级以反复的方式为出自较小大小的参与方中的大量参与者组成方案来改进扩展属性。例如,可将阈值签名方案与Cohen等人在“Efficient Multiparty Protocols via Log-Depth Threshold Formulas(2013),Advances in Cryptology-CRYPTO 2013pp 185-202”提出中的技术组合。
可以使用其他阈值方案,包括非ECDSA签名方案。例如,节点102可以使用基于Schnorr方案的阈值方案来实现会议110。
区块链网络100(图1)中的节点102(图1)可以基于所选择的阈值签名方案来实现会议协议。这样的节点102可包括存储在存储器220(图2)中的、实现会议协议的计算机可执行指令。在由处理器210(图2)执行时,这样的指令使得节点102(诸如参考图2所述的类型的电子装置200)进行会议协议的一个或多个方法。这些方法可包括图4至图9的方法400、500、600、700、800、900中的任何一个或组合。因此,会议协议可包括图4至图9的方法400、500、600、700、800、900中的一个或多个的组合。可通过节点同与其他会议成员相关联的其他节点合作来进行这些方法。
加入会议
下面参考图4,其示出加入会议的方法400。可以进行该方法以加入预先存在的会议。也就是说,方法400可以用于加入先前已经启动的会议。
图4的方法400包括:在操作402获得会议公钥。会议公钥可以从作为会议现有成员的一方获得,或者可以从第三方获得,例如包括在区块链网络100(图1)之外操作的第三方系统。例如,会议公钥可以从可通过公共因特网访问的公共网络服务器获得。作为进一步的示例,可以在区块链上观察到会议公钥;例如,基于将数字资产转移到会议公钥的至少一部分交易中包括的元数据进行观察。
进行方法400的节点102在操作404通过广播从与节点102相关联的私人账户到会议地址(即,与会议公钥相关联的地址)的数字资产的交易来支付到会议公钥。更具体而言,节点102广播交易以将一个或多个数字资产转移到与会议公钥相关联的公共群组地址。公共群组地址是会议池的地址。会议池包括与会议的其他成员相关联的其他数字资产。因此,在操作404的交易一旦被矿工104(图1)添加到区块中并且该区块被确认之后,就将数字资产转移到包括其他成员的数字资产的会议池。公共群组地址可以从希望加入会议的各方接收转移,也可以从不希望加入会议的各方接收转移。不希望加入会议的各方将数字资产转移到会议池,以便通过使用会议所采用的阈值签名方案,使得会议能够对这些数字资产进行全面、部分或有条件的控制。例如,如以上参考图3所示,会议公钥可以阻碍与打开支付通道的资金交易相关联的数字资产。
在操作404的交易可包括标记、标识符或其他属性,其指示转移数字资产的一方希望加入会议并且存款是为此目的而进行的。
在通过会议池存放数字资产之后,进行方法400的节点102在操作406接收私钥份额。然后,节点102通过运行协议的单个实例在操作408重新生成私钥份额。可以在节点102的TEE内进行私钥份额的生成。
在操作408,节点102生成要在阈值签名方案中使用的私钥份额,其中至少必须使用私钥份额的阈值来代表会议为交易生成有效签名。其他私钥份额的持有者是会议的其他成员,他们通过将相应的数字资产转移到公共群组地址,而在许可或未经许可的基础上加入会议。
为了重新生成私钥份额,在操作408,现有的会议成员可以合作更新密钥份额。例如,节点102可以生成阶数为t且具有常数项零的随机多项式
Figure BDA0002318481990000261
然后,节点102可以计算点
Figure BDA0002318481990000263
并将其设置为它们的私钥份额。然后,节点102可以将该多项式
Figure BDA0002318481990000262
上的点分配给每个现有的会议成员i=1,...,n。然后,每个现有的会议成员(i=1,...,n)将接收到的值添加到其现有的私钥份额中,以获得新的私钥份额。节点102现在具有等同于所有其他成员的私钥份额,并且对应的公钥保持不变。如上所述,阈值签名方案可以是各种类型的,包括椭圆曲线数字签名算法或基于Schnorr方案的阈值方案。
私钥份额可以在TEE 250(图2)内生成,并且可以安全地存储在节点102。例如,私钥份额可以存储在TEE 250中。
在由各个节点生成私钥份额之后,可将先前会议公钥控制下的资金、例如转移到与原始会议公钥相关联的公共群组地址的资金(通过足以在阈值签名方案下生成有效签名的多个群组节点的合作)转移到与新私钥份额相关联的新会议公钥。但是,在其他实施例中,节点可通过不需要定义新的会议公钥的方式加入会议。相反,可以使用相同的会议公钥,并且可以使用与会议节点相关联的TEE进行合作,以允许加入会议的节点生成与现有会议公钥相对应的私钥份额。
在操作408生成私钥份额之后,可以在方法400的操作410下使用它。私钥份额可用于从可以由成员广播的公共群组地址合作生成用于交易的有效签名。也就是说,私钥份额可用于阈值签名方案中帮助签名生成。在阈值签名方案下,会议的阈值数量的私钥份额需要被各个成员使用以产生有效签名,签名允许将数字资产转出会议。进行方法500的节点102可以从存储中检索私钥份额并使用私钥份额从而帮助签名生成。如果足够数量的其他会议成员也使用他们各自的私钥来帮助签名生成,则签名生成并且可以广播有效的向外交易。当区块链网络100的矿工104(图1)将交易添加到通过区块链网络100中的节点102的共识而添加到区块链的被开采区块并且该区块被确认时,向外交易完成。此时,交易中所代表的数字资产可以不再受会议的控制。也就是说,这种数字资产可以不再受会议公钥的阻碍。
在操作408使用私钥份额可以在节点102的TEE内执行。TEE保护私钥份额,使得系统的其他部分或成员本身不能访问存储在飞地中的任何数据,例如私钥份额。此外,TEE保护私钥,因为如果成员想要回他们的存款(假定保持TEE的完整性)并撤回他们的存款,它就不能保留私钥的副本,因为它必须在证明返回成员存款之前删除私钥。
在操作410处交易可将数字资产转移回最初将这些数字资产存入会议池的一方。也就是说,转移可将数字资产返回存款人。转移也可将数字资产转移到其他地方。例如,可将数字资产转移到第三方或不可耗用的地址。在某些情况下,在会议的授权下,可通过交易重新分配在资金交易中被会议公钥阻碍以打开支付通道的一个或多个数字资产。
没收数字资产
下面参考图5,示出没收数字资产的示例性方法500。图5的方法500可由先前已经加入会议的节点102进行,节点102可以是与进行图4的方法400的节点相同的节点。可以在图4的方法400的操作408之后进行方法500,从而在进行图5的方法500时,执行方法500的该节点102已经可以访问私钥份额。
在操作502,节点102检测恶意方的恶意活动。恶意方可以是会议的另一个成员。当节点102确定会议的成员违反预定协议或准则时,检测到恶意活动。例如,当作为会议成员的节点向会议的其他成员报告错误信息(即,错误、不一致或其他不可接受的信息)时,可将该成员视为恶意成员。作为进一步的示例,当作为会议成员的节点提议将欺诈性地转移被会议公钥阻碍的数字资产(例如在资金交易中被会议公钥阻碍以打开支付通道的数字资产)的交易时,其他诚实节点可以采取行动,惩罚欺诈者节点的成员存款。
在操作503,响应于检测到恶意活动,节点102与会议中的其他节点合作,可以将作为恶意方的成员挂起。也就是说,会议可以排除恶意方进一步参与会议。
为了确保所有节点102都按照预定协议或准则进行操作,可以对进入会议池的成员存款进行没收。没收意味着永久阻止被视为没收的成员存款的返回。构成由于恶意活动而未返回的成员存款的(一个或多个)数字资产可以留在会议池中但不返回,立即或在将来被转移到另一个不可耗用的地址,或以其他方式没收,并且没收的性质可以取决于会议是否充当用于侧链的担保验证者集合。例如,在操作504,响应于检测到恶意方的恶意活动,进行方法500的节点102可以使用私钥份额来提供在没收交易上的部分签名。也就是说,该节点与会议的其他节点合作,以没收先前由恶意方转移到公共群组地址(即,转移到会议池)的数字资产的至少一部分。也就是说,响应于观察到群组成员违反预定协议或准则,将私钥份额用于帮助与该群组成员相关联的、且在会议池中持有的一个或多个数字资产的交易的授权。
因为阈值签名方案与会议公钥一起使用,所以单独行动的个别节点不能将另一个会议成员的数字资产的存款转出离开会议池(例如,转移到不可耗用的地址)。相反,当阈值数量的私钥份额被它们各自的成员用于生成有效签名以将数字资产(多个)转移到另一个地址时,或者当至少具有阈值数量的私钥份额的成员群组达成共识以将成员挂起时(在操作503),数字资产只能通过转移而被没收,这导致来自被挂起成员的任何撤回请求都被自动忽略。当通过转移没收数字资产时,(一个或多个)数字资产可以被转移至其的其他地址可以与不可耗用的地址相关联。例如,另一个地址可以是不存在私钥的地址,因此任何一方都不能访问由该地址的公钥绑定的数字资产。当数字资产被转移到不可耗用地址时,其可能视为已经被烧毁,因为它们不再可以被会议的任何成员或者实际上被区块链网络100中的任何节点耗用。
因此,在操作504,节点可通过与会议的其他成员合作地使用私钥份额来没收数字资产,以生成用于交易至不可耗用的地址的有效签名。
此外,在一些实施方式中,会议可以充当担保验证者集合,用以确保权益证明侧链(包括将在下面详细描述的虚拟链(ghost chain)),并且该侧链可以用作广播信道。例如,会议成员可以在侧链上达成共识,即成员已经恶意行动。这种共识可以与包含恶意活动的控告证据的、对侧链交易的确认相对应。达成共识后,恶意成员提出的任何撤回成员存款的请求将被拒绝,并且存款将被视为没收。一部分或全部没收的数字资产可能在将来的某个时间被烧毁。也就是说,在以后的某个时间,阈值数量的成员(不包括恶意成员)可以合作,以授权将没收的数字资产转移到不可耗用的地址。替代性地,可将数字资产的全部或一部分作为奖励发送给提供成员不正当行为证据的节点。
因为会议是可通过存储数字资产而由区块链网络100的任何节点102加入的开放群组,所以群组成员资格可以周期性地改变。在发生这种改变时,可以更新私钥份额分配。
使用新的公共地址更新私钥份额分配
下面参考图6,示出更新私钥份额分配的示例性方法600。方法600可通过区块链网络100的节点102与区块链网络100的其他节点合作进行。
在方法600的操作602,节点102检测到重新分配请求,重新分配请求是一种其实现牵涉到重新分配密钥份额的请求。例如,节点102可以检测到潜在的新成员已经将数字资产转移到公共群组地址中或者现有成员已经请求撤回成员存款。
数字资产可以通过如下节点转移到公共群组地址(即会议池):请求加入会议或者增加他们在会议中的参与度的节点以及并未请求加入会议但是因为其他目的将数字资产转移到会议的其他节点(例如将数字资产转移到侧链,如下所述)。在操作602,节点102可以使用包括在数字资产到公共群组地址的至少一部分交易中的一个或多个属性来识别会议成员(即,将数字资产转移到会议公钥以加入会议而不是处于其他目的的各方)。例如,可以使用交易中的属性将某些交易标记为特殊交易。这些属性(不管存在还是不存在)可以指示进行转移的目的。例如,当转移者未请求加入会议时,可以在交易中包括标记。
响应于在操作602检测到其实现牵涉到重新分配密钥份额的请求,在操作604,节点102以类似于在图4的方法400的操作408生成私钥份额的方式,生成新的私钥份额。会议的其他成员节点也生成相应的私钥份额。这些私钥份额可以与用于新会议公钥的阈值签名方案一起使用。将在此时离开会议的成员在操作604期间不生成新的私钥份额并且因为他们不会被分配以与新的会议公钥一起使用的私钥份额,所以他们失去参加会议的能力并且不再被视为会议成员。
此外,响应于检测到重新分配请求(重新分配请求是其实现牵涉到重新分配密钥份额的请求),在操作606,节点102与其他会议成员合作,将公共群组地址中的所有数字资产转移到与新公钥(以后会成为新的会议公钥)相关联的新公共地址。
因此,根据图6的方法600,当存款的分配改变时或当从成员接收到撤回存款的请求时,可以重新生成私钥份额,并且可将所有在会议控制下的数字资产移动到新的公钥。会议成员资格可被更新的频率受到区块链网络100的区块时间限制。很多应用程序可能只需要在低频率下(即,与在工作量证明主链上挖掘区块的频率相比更低的频率)下重新平衡重新平衡。
在保留现有公共群组地址的同时更新私钥份额分配
下面参考图7,示出更新私钥份额分配的另一个示例性方法700。方法700可通过区块链网络100的节点102与区块链网络100的其他节点合作进行。
在图7的方法700中,每次成员存款的分配改变时,会议公钥不改变。当检测到用以分配新密钥份额的请求时(在操作702,其可通过将数字资产存放到公共群组地址而发生),节点102与会议的其他成员合作,以(在操作704)向群组的新成员发布用于相同公钥的新的私钥份额。合作的节点数量至少是在阈值签名方案下生成数字签名所需的节点的阈值数量。在操作704,可以分配额外的密钥份额,而其他密钥份额保持不变。这可能牵涉到(阈值签名方案)的阈值改变,但是实际上改变可能很小。或者,在操作804,可以分配额外的密钥份额,同时更新其他密钥份额。这种更新需要伴随着对删除任何上一代密钥份额的证明。在这种情况下,可以在保持相同阈值的同时分配新份额(在SSS的背景下,这涉及共享更高阶的新的多项式)。
在操作702,节点102可以使用包括在数字资产到公共群组地址的至少一部分交易中的一个或多个属性来识别会议成员(即,将数字资产转移到会议公钥以加入会议而不是因为其他目的的各方)。例如,某些交易可以使用交易中的属性标记为特殊交易。这些属性(不管存在还是不存在)可以指示进行转移的目的。例如,当转移者未请求加入会议时,可以在交易中包括标记。
当成员离开使用方法700的会议时,他们可以安全地删除他们的私钥份额。为了确保旧成员的私钥份额不可用,可以要求会议的成员使用具有特殊TEE的节点102。TEE是在硬件级别实现的体系结构,它保证在其中执行的指令和数据免受来自系统其余部分的访问和操作。TEE可以采用硬件机制来响应远程证明询问,其可用于向外部方(例如,会议中的其他节点)验证系统的完整性。
每个成员节点可以使用经证明的TEE,该经证明的TEE被配置为生成一个或多个随机秘密值,该随机秘密值保持对于主机系统的不可访问而不会损害集成电路级别的硬件。通过这种方式生成的秘密值将用于私钥份额的分布式生成(例如,在图4的方法400的操作410中)。该秘密值还可用于在会议的设立阶段建立共享公钥。与设立协议相关联的计算在TEE飞地内进行,使得任何成员或前成员都不能根据成员间通信或任何其他方法得出关于他们自己或其他私钥份额的任何信息。TEE内的飞地使得能够进行远程证明协议,其可用于向其他节点证明TEE飞地是可信的并且它正在运行经批准的计算机可读指令。
与群组改变相关联的计算在TEE飞地内进行。例如,在TEE飞地中进行新安全随机秘密的生成,该新安全随机秘密可用于处于SSS目的计算新多项式的。
此外,TEE飞地的目的是确保在返回成员存款之前,安全删除不再使用的先前密钥份额和先前秘密。更具体而言,为了将成员存款返回,证明协议可能要求TEE飞地公开证明密钥份额的删除。通过远程证明协议,每个节点102可将这种证明解释为对在其他节点上已经发生所需删除的确认。因此,方法800还可包括确认先前在离开会议的成员的TEE内持有的私钥份额已经从与该成员相关联的节点中删除。可通过接收对私钥份额的删除的证明来进行该确认。因此,远程证明协议可用于获得对先前在离开会议的成员的TEE中持有的私钥份额的删除的证明。
图6的方法600和图7的方法700都提供各种好处。例如,图6的方法600不依赖于安全删除,也不需要依赖可信的硬件。但是,图6的方法600可以得益于这种硬件,因为在某些情况下,这种硬件可以使得密钥份额的恶意汇集更加不可能。
图7的方法700避免每次成员资格变更时必须在新的会议公钥下重新锁定数字资产。此外在一些情况下,方法700与图6的方法600相比可以更快地更新成员资格,因为在图7的方法700下,不需要将交易添加到区块链中以将所有数字资产移动到新的公钥,这是因为数字资产并未移动到新的公钥。也就是说,可以使用图7的方法700来更新成员资格而无需等候生成若干区块来确认将数字资产转移到新公钥,因为公钥并未改变。
从会议注销
如上所述,群组成员有时候可以请求离开会议,并且当群组成员从会议注销时,他们存放到会议池的数字资产可能会被返回给他们。下面参考图8,以流程图的形式示出返回存款的示例性方法800。该方法可通过节点102与会议的其他节点102合作进行。
在方法800的操作802,节点102从作为会议成员的请求者接收撤回请求。撤回请求也可称为注销请求。撤回请求是撤回由请求者先前存放并且当前由会议控制的数字资产的请求。请求可能已由请求者向所有会议成员广播。
响应于接收请求,节点102在操作804针对确定的准则评估请求。这些准则可以是预定准则。如果会议根据其中每次群组成员资格改变时会议公钥未改变的会议协议进行操作,则在操作804,节点102可以确认请求者已经删除私钥份额。可以使用与TEE相关联的远程证明协议来获得这种确认。
如果会议协议是在成员资格改变时会议公钥被改变的协议,则节点102可以不确认私钥份额的删除,因为私钥份额不再有效。相反,可以使用新的会议公钥,并且可将会议控制下的其他数字资产转移到新的会议公钥。
如果节点102基于评估批准撤回请求,则在操作806,节点帮助撤回数字资产。也就是说,节点102使用其私钥份额来合作生成数字签名并使用数字签名将请求者先前存放的数字资产转移回请求者。例如,可将数字资产发送回先前从其接收到该数字资产的地址。根据阈值签名方案进行操作806,使得仅在至少阈值数量的会议成员授权撤回时才进行撤回。在希望注销的成员被挂起而不进行活动一段时间之后进行操作806。这个等待时段阻止了成员在进行用于其成员存款返回的协议时从事不当行为。
会议协议可用于很多不同目的。会议提供进行各种功能的安全机制。会议可以无信任地操作,并提供对数字资产所有权的控制。
例如,可将会议协议用于帮助设立支付通道,并且更具体而言,防止在支付通道的设立期间数字资产变为加密滞留。
用于支付通道设立的会议
下面参考图9,其以流程图形式示出帮助设立支付通道的示例性方法900。方法900可通过作为会议110成员的节点102与作为会议110成员的其他节点102合作进行。也就是说,由通过向会议池中存入成员存款而已经加入会议101的节点102进行方法900,如上所述。因此,在进行图9的方法900之前,进行方法900的节点102已经获得私钥共享,如上所述。
在操作902,节点102检测存款交易902。例如,节点可以检测到已经在区块链上确认图3的方法300的操作302的第一存款交易。第一存款交易包括指定将在资金交易中提供以打开各方之间支付通道的资金的数量的元数据。也就是说,第一存款交易可包括指定将在第一资金交易和第二资金交易中提供的资金的数量的元数据(上面参考图3的方法300的操作306和308更详细地描述了这些资金交易)。
存款交易锁定关联数字资产,以允许会议(并且更具体而言,是控制密钥份额的多个节点,其数量大于阈值签名方案所要求的阈值)承担这些数字资产的控制(即,通过使用对会议公钥有效的签名来消除数字资产的阻碍,解锁这些数字资产)。
在操作904,节点102可以确定是否发生资金交易违规。也就是说,节点102可以确定与将要打开的支付通道所关联的一方或多方是否已经违反与支付通道的资金有关的预定要求。例如,在以下情况下,可以确定发生了资金交易违规:1)一方或多方未广播资金交易;2)资金交易提供的资金不足(即,数量少于存款交易的元数据中限定的数量);或3)在限定时间段(可以是广播或确认第一资金交易之后的限定时间段s)到期之前未确认资金交易。
如果在操作902检测到资金交易违规,则节点102可与会议的其他节点合作在操作906发布补偿交易。补偿交易例如可以没收作为导致资金交易违规的一方的存款交易中的存款而提供的数字资产。例如,可以没收违反协议的一方的存款。
进行方法900的节点102与会议的其他节点合作进行操作906。更具体而言,节点102可以提出补偿交易,并基于该节点持有的密钥份额向补偿交易添加部分签名。会议的其他节点也可以为该交易提供部分签名。如果在签名过程中涉及足够数量的密钥份额,则可以生成有效签名(即,对于作为会议公钥的第二公钥有效的签名)。基于会议使用的阈值签名方案来确定需要参与的密钥份额的数量。值得注意的是,并非所有的会议成员都要求参与签名,前提是参与的多个节点至少持有阈值数量的密钥份额。一旦生成有效签名,就可以向区块链网络广播补偿交易。补偿交易可以没收由违反协议的一方作为存款提供的数字资产。也就是说,未正确为支付通道提供资金的一方的存款可以被没收。该存款例如可以分配给会议的一个或多个成员,以激励参与会议。非违规方提供的数字资产(即,与存款交易和资金交易相关联的数字资产)也可以在补偿交易中返还给非违规方。
如果没有违反资金交易要求,则在操作908,节点102可以确定是否存在封装承诺交易违规。也就是说,节点102可以确定与要打开的支付通道相关联的一方或多方是否违反了与提供封装承诺交易有关的预定要求。例如,在以下情况下,可以确定发生了资金封装承诺交易违规:1)一方或多方未广播封装承诺交易。或2)在限定时间段(可以是广播或确认第一资金交易之后的限定时间段s’)到期之前未确认封装承诺交易。
如果在操作908检测到封装承诺交易违规,则节点102可以与会议的其他节点合作,在操作910发布补偿交易。补偿交易例如没收作为负责封装承诺交易违规的一方的存款交易中的作为存款提供的数字资产。例如,可以没收违反协议的一方的存款。
进行方法900的节点102与会议的其他节点合作进行操作910。节点102可以提出补偿交易,并基于该节点持有的密钥份额向补偿交易添加部分签名。会议的其他节点也可以为补偿交易提供部分签名。如果在签名过程中涉及足够数量的密钥份额,则可以生成有效签名(即,对于第二公钥有效的签名)。一旦生成有效签名,就可以向区块链网络广播补偿交易。补偿交易可以没收由违反协议的一方作为存款提供的数字资产。也就是说,可以没收没有提供封装承诺交易的一方的存款。例如可将该存款分配给会议的一个或多个成员,以激励参与会议。一方在资金交易中提供的任何资金都可以返还给该方。
虽然上述示例已引用了比特币中可用的操作代码,但本文所述方法也可以与其他类型的区块链网络一起使用。
此外,本文所述的对限定时间段的任何引用(例如上述时间段t、s、s’)可以表示基于传统时间量度(例如,秒、分钟、小时、天等)或非传统时间量度(例如区块)来限定的时间段。例如,因为可以在某些区块链网络上以合理一致的频率创建区块,所以自触发事件以来添加到区块链的区块数量可以提供时间量度。因此,节点评估限定时间段是否已到期的任何操作都可以涉及评估已添加到区块链的区块数量。
通常将上述方法描述为在节点进行,但是该方法的特征依靠与其他节点的合作并且可以在其他地方进行。
应当注意,上述实施例是说明而不是限制本发明,并且本领域技术人员将能够设计很多替代实施例而不脱离所附权利要求限定的本发明的范围。在权利要求中,括号中的任何附图标记都不应解释为限制权利要求。词语“包括”等不排除除了在任何权利要求或说明书中作为整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”表示“包含”或者“由…构成”。元素的单数引用不排除这些元素的复数引用,反之亦然。本发明可通过包括若干不同元件的硬件,以及通过适当编程的计算机来实现。在列举了若干器件的装置权利要求中,这些器件中的若干个可通过硬件的一个项目或相同项目来具体实施。在相互不同的从属权利要求中陈述某些措施的纯粹事实并不表示这些措施的组合不能用于获益。

Claims (15)

1.一种计算机实现的方法,包括:
向区块链网络的节点广播第一存款交易,所述第一存款交易被配置为允许第一数字资产通过生成对第一公钥有效的签名而在限定时间段之后被解锁,以及允许该第一数字资产通过生成对第二公钥有效的签名而随时被解锁;
在所述限定时间段到期之前,向所述区块链网络广播第一资金交易,所述第一资金交易通过所述第一公钥、所述第二公钥和第三公钥阻碍第二数字资产,使得所述第二数字资产的阻碍能通过以下消除:1)对所述第一公钥有效的签名和对所述第三公钥有效的签名两者;或2)对所述第二公钥有效的签名;以及
在所述限定时间段到期之后,广播通过对所述第一公钥有效的签名将所述第一数字资产解锁的交易。
2.根据权利要求1所述的计算机实现的方法,还包括在广播所述第一资金交易之前执行以下步骤:
在所述区块链网络上检测第二存款交易的确认,所述第二存款交易被配置为允许另外的数字资产通过生成对所述第三公钥有效的签名而在限定时间段之后被解锁,以及允许该另外的数字资产通过生成对所述第二公钥有效的签名而随时被解锁。
3.根据权利要求2所述的计算机实现的方法,其中,响应于检测所述第二存款交易的确认,自动进行向所述区块链网络广播所述第一资金交易。
4.根据权利要求2所述的计算机实现的方法,其中,所述第一存款交易包括指定将在所述第一资金交易和第二资金交易中提供的资金的数量的元数据,并且其中,所述第二存款交易包括指定将在所述第一资金交易和所述第二资金交易中提供的所述资金的数量的元数据。
5.根据权利要求4所述的计算机实现的方法,还包括在广播所述第一资金交易之前执行以下步骤:
证实所述第二存款交易指定了将在所述第一资金交易和所述第二资金交易中提供的资金的预期数量。
6.根据前述权利要求中任一项所述的计算机实现的方法,其中,所述第二公钥与在阈值签名方案下操作的节点群组相关联。
7.根据前述权利要求中任一项所述的计算机实现的方法,还包括:
广播第一封装承诺交易,所述第一封装承诺交易包括作为元数据的承诺交易,所述承诺交易使用与所述第一公钥相对应的第一私钥进行签名。
8.根据权利要求7所述的计算机实现的方法,其中,在所述限定时间段到期之前广播所述第一封装承诺交易。
9.根据权利要求7所述的计算机实现的方法,还包括在广播所述第一封装交易之前执行以下步骤:
在所述区块链网络上检测第二资金交易的确认,所述第二资金交易通过所述第一公钥、所述第二公钥和所述第三公钥来阻碍另外的数字资产,使得所述另外的数字资产的阻碍通过以下消除:1)对所述第一公钥有效的签名和对所述第三公钥有效的签名两者;或2)对所述第二公钥有效的签名。
10.根据权利要求7所述的计算机实现的方法,其中,所述第一封装交易用于名义数字资产。
11.根据权利要求7所述的计算机实现的方法,还包括:
检测通过关联于所述第三公钥的节点广播的第二封装承诺交易的确认,所述第二封装承诺交易包括作为元数据的另外的承诺交易,所述另外的承诺交易使用与所述第三公钥相对应的第三私钥进行签名。
12.根据权利要求11所述的计算机实现的方法,还包括:
向所述区块链网络的节点广播所述另外的承诺交易。
13.根据权利要求7所述的计算机实现的方法,还包括:
直接与关联于所述第三公钥的节点交换一个或多个另外的承诺交易。
14.一种计算机可读存储介质,包括计算机可执行指令,在被执行时,所述计算机可执行指令将处理器配置为进行权利要求1至13中任一项所述的方法。
15.一种电子装置,包括:
接口装置;
处理器,耦接到所述接口装置;
存储器,耦接所述处理器,所述存储器上存储有计算机可执行指令,在被执行时,所述计算机可执行指令将所述处理器配置为进行权利要求1至13中任一项所述的方法。
CN201880039930.4A 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法 Pending CN110754061A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311498059.3A CN117640099A (zh) 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1709432.7A GB201709432D0 (en) 2017-06-14 2017-06-14 Computer-implemented system and method
GBGB1709431.9A GB201709431D0 (en) 2017-06-14 2017-06-14 Computer-implemented system and method
GB1709432.7 2017-06-14
GB1709431.9 2017-06-14
PCT/IB2018/054209 WO2018229631A1 (en) 2017-06-14 2018-06-11 Systems and Methods For Avoiding Or Reducing Cryptographically Stranded Resources On A Blockchain Network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311498059.3A Division CN117640099A (zh) 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法

Publications (1)

Publication Number Publication Date
CN110754061A true CN110754061A (zh) 2020-02-04

Family

ID=62816889

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880039930.4A Pending CN110754061A (zh) 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法
CN201880039866.XA Active CN110771088B (zh) 2017-06-14 2018-06-11 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法
CN202311498059.3A Pending CN117640099A (zh) 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201880039866.XA Active CN110771088B (zh) 2017-06-14 2018-06-11 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法
CN202311498059.3A Pending CN117640099A (zh) 2017-06-14 2018-06-11 用于避免或减少区块链网络上的加密滞留资源的系统和方法

Country Status (5)

Country Link
US (3) US20200211003A1 (zh)
EP (4) EP3639469B1 (zh)
JP (5) JP7194127B2 (zh)
CN (3) CN110754061A (zh)
WO (2) WO2018229632A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756743A (zh) * 2020-06-24 2020-10-09 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、计算机设备和存储介质

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200211003A1 (en) 2017-06-14 2020-07-02 nChain Holdings Limited Systems and methods for avoiding or reducing cryptographically stranded resources on a blockchain network
CN107465505B (zh) * 2017-08-28 2021-07-09 创新先进技术有限公司 一种密钥数据处理方法、装置及服务器
US11244309B2 (en) * 2017-11-22 2022-02-08 Cornell University Real-time cryptocurrency exchange using trusted hardware
SG11202005570XA (en) * 2017-12-15 2020-07-29 Nchain Holdings Ltd Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
WO2020011373A1 (en) * 2018-07-13 2020-01-16 Huawei Technologies Co., Ltd. Device and method for resolving domain names
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN111783114B (zh) 2018-08-06 2024-04-02 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN109359974B (zh) 2018-08-30 2020-10-30 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN111833186A (zh) 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
US20200106623A1 (en) * 2018-09-28 2020-04-02 NEC Laboratories Europe GmbH Method and system for a trusted execution environment-based proof of stake protocol
CN109583886B (zh) 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
US10949548B2 (en) * 2018-10-18 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for providing multi-node resiliency for blockchain peers
US11514540B2 (en) * 2018-11-05 2022-11-29 Wells Fargo Bank, N.A. Systems and methods for providing notifications regarding data breaches
JP6647731B2 (ja) * 2018-11-07 2020-02-14 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン機密トランザクションの管理
JP6714156B2 (ja) 2018-11-27 2020-06-24 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護のためのシステム及び方法
EP3745637B1 (en) 2018-11-27 2021-06-09 Advanced New Technologies Co., Ltd. System and method for information protection
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
BR112019007727A2 (pt) 2018-11-27 2019-11-12 Alibaba Group Holding Ltd sistema e método para proteção de informações
SG11201903419WA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
PL3552158T3 (pl) 2018-11-27 2021-07-26 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
US11171774B2 (en) * 2018-11-28 2021-11-09 Intel Corporation System for synchronizing a cryptographic key state through a blockchain
EP3568826B1 (en) 2018-12-29 2021-09-29 Advanced New Technologies Co., Ltd. System and method for information protection
US11405180B2 (en) 2019-01-15 2022-08-02 Fisher-Rosemount Systems, Inc. Blockchain-based automation architecture cybersecurity
US11115218B2 (en) * 2019-01-15 2021-09-07 Fisher-Rosemount Systems, Inc. System for secure metering from systems of untrusted data derived from common sources
US11960473B2 (en) 2019-01-15 2024-04-16 Fisher-Rosemount Systems, Inc. Distributed ledgers in process control systems
TWI694349B (zh) * 2019-01-22 2020-05-21 開曼群島商現代財富控股有限公司 防止記憶體傾印的門檻式簽章系統及其方法
EP3619665B1 (en) 2019-04-03 2021-07-07 Advanced New Technologies Co., Ltd. Processing and storing blockchain data under a trusted execution environment
SG11201909855YA (en) 2019-04-26 2019-11-28 Alibaba Group Holding Ltd Distributed key management for trusted execution environments
CA3060101C (en) * 2019-04-26 2021-06-08 Alibaba Group Holding Limited Anti-replay attack authentication protocol
US11282052B2 (en) * 2019-05-06 2022-03-22 Advanced New Technologies Co., Ltd. Payment channel recommendation
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
US11310055B2 (en) * 2019-07-11 2022-04-19 PolySign, Inc. Preventing an incorrect transmission of a copy of a record of data to a distributed ledger system
US10944578B2 (en) * 2019-07-24 2021-03-09 Advanced New Technologies Co., Ltd. Identity verification
KR102182750B1 (ko) * 2019-09-16 2020-11-25 주식회사 마크애니 블록체인을 이용한 데이터 유통 시스템 및 방법
KR20220076486A (ko) * 2019-09-30 2022-06-08 엔체인 홀딩스 리미티드 블록체인 트랜잭션들을 위한 콜-백 메커니즘들
CN111064557A (zh) * 2019-12-25 2020-04-24 杭州安司源科技有限公司 一种分布式托管的数字货币门限签名密钥分发方法
US20210342803A1 (en) * 2020-02-17 2021-11-04 Electronics And Telecommunications Research Institute Method and apparatus for using a service through blockchain system
CN111369307A (zh) * 2020-02-27 2020-07-03 腾讯科技(深圳)有限公司 电子发票管理方法及装置
SG10202006466YA (en) * 2020-07-03 2021-05-28 Alipay Labs Singapore Pte Ltd Managing transactions in multiple blockchain networks
US11080412B1 (en) * 2020-08-20 2021-08-03 Spideroak, Inc. Efficiently computing validity of a block chain
CN113065859A (zh) * 2020-09-15 2021-07-02 裴俊伟 基于区块链的信息验证方法
JPWO2022070628A1 (zh) * 2020-09-30 2022-04-07
WO2022154789A1 (en) * 2021-01-13 2022-07-21 Visa International Service Association Token-based off-chain interaction authorization
WO2022159105A1 (en) * 2021-01-22 2022-07-28 Visa International Service Association Interaction channel balancing
US11448698B1 (en) 2021-03-30 2022-09-20 Landis+Gyr Innovations, Inc. Enabling isolated development mode in utility end points
CN113570458B (zh) * 2021-07-16 2023-09-26 东北大学秦皇岛分校 一种基于代理重加密的区块链支付通道监管方法
US20230122962A1 (en) * 2021-10-15 2023-04-20 Micron Technology, Inc. Ensuring Replacement of a Memory Device Key
US20230206218A1 (en) * 2021-12-23 2023-06-29 12948231 Canada Inc. Access Control Systems and Methods for On-line Services
US20230328098A1 (en) * 2022-04-08 2023-10-12 Chainalysis Inc. Systems and methods for identifying patterns in blockchain activities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160350728A1 (en) * 2015-05-28 2016-12-01 OX Labs Inc. Method for cryptographically managing title transactions

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010832B2 (en) 2008-07-25 2011-08-30 International Business Machines Corporation Transitional replacement of operations performed by a central hub
WO2011017260A1 (en) 2009-08-07 2011-02-10 Jay Maller Teired key communication system and method in support of controlled vendor message processing
US8959034B2 (en) 2012-02-29 2015-02-17 Google Inc. Transaction signature for offline payment processing system
US10410213B2 (en) 2012-05-04 2019-09-10 Institutional Cash Distributors Technology, Llc Encapsulated security tokens for electronic transactions
US10192214B2 (en) 2013-03-11 2019-01-29 Google Llc Pending deposit for payment processing system
US11196566B2 (en) * 2014-05-09 2021-12-07 Reginald Middleton Devices, systems, and methods for facilitating low trust and zero trust value transfers
JP6704985B2 (ja) * 2015-04-05 2020-06-03 デジタル・アセット・ホールディングス・エルエルシー デジタル資産仲介電子決済プラットフォーム
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
JP6483827B2 (ja) * 2015-07-13 2019-03-13 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
JP2018536957A (ja) 2015-11-30 2018-12-13 シェイプシフト・アーゲーShapeShift AG ブロックチェーン資産取引におけるセキュリティを向上させるためのシステム及び方法
US9794074B2 (en) * 2016-02-04 2017-10-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US20170236102A1 (en) * 2016-02-12 2017-08-17 D+H Usa Corporation Peer-to-Peer Financial Transactions Using A Private Distributed Ledger
CN108781161B (zh) 2016-02-23 2021-08-20 区块链控股有限公司 用于控制和分发数字内容的区块链实现的方法
US10084798B2 (en) * 2016-06-30 2018-09-25 Juniper Networks, Inc. Selective verification of signatures by network nodes
JP6663809B2 (ja) * 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
US20180268386A1 (en) 2016-09-13 2018-09-20 C. Jay Wack Identity Management Distributed Ledger and Blockchain
US10291627B2 (en) * 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
US11223609B2 (en) * 2017-01-13 2022-01-11 Visa International Service Association Techniques for secure blockchain management
CN106850200B (zh) 2017-01-25 2019-10-22 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种使用基于区块链的数字货币的安全方法、系统及终端
US10230524B2 (en) 2017-01-26 2019-03-12 Wickr Inc. Securely transferring user information between applications
US11233656B2 (en) * 2017-02-24 2022-01-25 Nec Corporation Method for mining a block in a decentralized blockchain consensus network
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
US20200211003A1 (en) 2017-06-14 2020-07-02 nChain Holdings Limited Systems and methods for avoiding or reducing cryptographically stranded resources on a blockchain network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160350728A1 (en) * 2015-05-28 2016-12-01 OX Labs Inc. Method for cryptographically managing title transactions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756743A (zh) * 2020-06-24 2020-10-09 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、计算机设备和存储介质
CN111756743B (zh) * 2020-06-24 2021-12-14 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP4297339A3 (en) 2024-03-06
EP3639468B1 (en) 2024-03-20
JP2020523838A (ja) 2020-08-06
US20200211003A1 (en) 2020-07-02
JP2020523839A (ja) 2020-08-06
JP2022106942A (ja) 2022-07-20
EP4297339A2 (en) 2023-12-27
US20200213085A1 (en) 2020-07-02
WO2018229631A1 (en) 2018-12-20
EP3639469B1 (en) 2024-04-03
US20230289788A1 (en) 2023-09-14
JP7194127B2 (ja) 2022-12-21
WO2018229632A1 (en) 2018-12-20
EP3639469A1 (en) 2020-04-22
JP2023051935A (ja) 2023-04-11
EP4344130A2 (en) 2024-03-27
US11687922B2 (en) 2023-06-27
EP3639468A1 (en) 2020-04-22
JP2024038385A (ja) 2024-03-19
CN117640099A (zh) 2024-03-01
JP7072587B2 (ja) 2022-05-20
CN110771088B (zh) 2024-04-19
JP7422806B2 (ja) 2024-01-26
CN110771088A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
US20230289788A1 (en) Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network
CN110537355B (zh) 基于安全区块链的共识
US11799637B2 (en) Methods and systems for blockchain-implemented event-lock encryption
US20220366401A1 (en) Rapid distributed consensus on blockchain

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200204

RJ01 Rejection of invention patent application after publication