CN110771088B - 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法 - Google Patents

用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法 Download PDF

Info

Publication number
CN110771088B
CN110771088B CN201880039866.XA CN201880039866A CN110771088B CN 110771088 B CN110771088 B CN 110771088B CN 201880039866 A CN201880039866 A CN 201880039866A CN 110771088 B CN110771088 B CN 110771088B
Authority
CN
China
Prior art keywords
conference
transaction
node
public key
activation request
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
CN201880039866.XA
Other languages
English (en)
Other versions
CN110771088A (zh
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
Publication of CN110771088A publication Critical patent/CN110771088A/zh
Application granted granted Critical
Publication of CN110771088B publication Critical patent/CN110771088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • 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

Abstract

根据本发明的方法包括:从与节点的可信执行环境相关联的飞地向中轴提供飞地公钥;通过向区块链网络广播资金交易,建立具有中轴的通道,资金交易通过第一公钥、第二公钥和第三公钥来阻碍数字资产,从而数字资产的阻碍能够通过以下消除:1)根据与第一公钥相对应的第一私钥生成的第一签名和根据与第二公钥相对应的第二私钥生成的第二签名两者;或2)对第三公钥有效的第三签名,其中,所述公钥与群组相关联;接收通过飞地公钥加密的承诺交易;检测故障;以及使用来自飞地的数据向群组发出故障保护激活请求。

Description

用于解决在网络故障情况下与区块链外通道相关出现的安全 性相关漏洞的系统和方法
技术领域
本发明一般涉及分布式账本,尤其涉及区块链外通道。本发明特别适合于但不限于在链外通道出现故障的情况下提供故障保护模式,这些链外通道是为了电子通信和交换而在参与者之间设立的。这些链外通道以及通过它们进行的通信/转移在网络出现故障的情况下容易受到攻击和利用。
背景技术
在本文献中,我们使用术语“区块链”来包括所有形式的电子、基于计算机的分布式账本。它们包括但不限于区块链和交易链技术、许可和非许可的账本、共享账本及其变体。虽然也提出并开发了其他区块链实施方式,但是区块链技术最广为人知的应用是比特币账本。虽然本文中出于方便和说明的目的可以引用比特币,但是应当注意,本发明不限于与比特币协议的变形一起使用,并且替代性的区块链实施方式和协议也落入本发明的范围内。
区块链是一种基于共识的电子账本,它被实现为基于计算机的分散式、分布式系统,该系统由区块组成,而区块相应地由交易和其他信息组成。对于比特币而言,每个交易是一个数据结构,该数据结构对区块链系统中的参与者之间的数字资产的控制转移进行编码,并包括至少一个输入和至少一个输出。每个区块包含前一个区块的散列,以致于这些区块变为链接在一起,以创建自区块链开始以来就已经写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入其输入和输出中称为脚本的小程序,它们指定如何以及通过谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言来编写的。
为了将交易写入区块链,必须对其进行“验证”。某些网络节点充当矿工并进行工作以确保每次交易都有效,而无效交易从网络中被拒绝。例如,在比特币的情况下,安装在节点上的软件客户端对引用未耗用的交易输出(UTXO)的交易进行该验证工作。可通过执行其锁定和解锁脚本来进行验证。如果锁定和解锁脚本的执行评估为TRUE,并且如果满足某些其他条件,则交易有效并且可以被写入区块链。因此,为了将交易写入区块链,该交易必须i)由接收交易的节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由矿工建造的新区块;iii)被挖掘,即加入过去交易的公共账本。当向区块链添加足够数量的区块以使交易实际上不可逆时,认为交易被确认。
区块链协议(包括比特币)内的可扩展性是加密货币社区中众多争论的主题。如何实现扩展的问题提出了各种技术挑战。例如,因为区块链网络通过“闲话协议”运行,其中,向所有参与者广播对账本的所有状态修改,并基于该闲话协议来达成对状态的共识,所以,区块链网络中的每个节点都必须知道在全球范围内发生的每个交易。这种对交易的全球跟踪可能会限制至少某些区块链网络上交易的数量或频率。例如,如在撰写本文时所实施的那样,比特币可能无法直接取代现有的大批量电子支付系统,例如VisaTM。事实上,据估计,仅在比特币上实施VisaTM交易每年将消耗400TB的数据。现有区块链网络的很多节点无法处理这个数量的带宽和存储。
为了适应更高的交易量,已经提出称为“支付通道”的链外(即区块链外)技术。例如,Poon和Dryja在2016年1月14日的“The Bitcoin Lightning Network:Scalable Off-Chain Instant Payments”中描述了一种称为“闪电网络”的链外支付通道。根据闪电网络,价值交易发生在区块链之外。闪电网络描述这样一种技术,其中,如果在打开支付通道后发生某些不合作或敌对行为,则可以将先前在链外交换的承诺交易广播到区块链网络。闪电网络包括保护措施,以去除激励参与者广播过时承诺交易(该过时承诺交易未反映支付通道当前状态)的动机。例如,随着新的承诺交易被交换以更新支付通道的状态(例如,将价值从一个参与者转移到另一参与者),与先前承诺交易相关联的秘密价值从一方共享到另一方。此价值可用于违规补偿补偿交易(BRT)。更具体而言,如果参与者节点检测到另一个节点已经广播了过时承诺交易,以尝试将该过时承诺交易所反映的余额提交给区块链,则替代性地,参与者节点可以使用该价值来主张支付通道中的所有数字资产。在此违规补偿方案下,承诺交易被锁定,因此在可以耗用与承诺交易相关联的数字资产之前,为承诺交易生成签名的一方(通常是将承诺交易广播到区块链网络的一方)需要等待。例如,在其尝试耗用数字资产的交易将被添加到区块链中之前,参与方需要在广播承诺交易之后等待1000个区块。如果承诺交易未反映支付通道的当前状态,则此等待时间段允许对手方有时间发出违规补偿交易。
支付通道通常配置为使得支付通道中的参与者可以转移链外价值,但是当他们希望离开支付通道时,可将这些转移移动到区块链网络中。例如,当他们通过其具有支付通道的中轴变得无响应时,可能发生这种情况。但是,如果大量支付通道出现故障,则区块链网络不一定有能力处理突然被要求写入区块链的众多交易。作为示例,如果具有与VisaTM网络可比的大小的中轴出现故障,则区块链网络不一定能有效处理突然广播到区块链网络的所有交易。因此,存在与网络适应能力以及在网络故障的情况下处理交换的能力有关的重大技术问题。
例如,如果在这种故障期间节点向区块链网络广播过时承诺交易(即,不反映支付通道当前状态的承诺交易),那么由于故障所致的交易中的瓶颈,违规补偿交易可能不能足够快地添加到区块链中,以防止过时承诺交易受到违约补偿交易的影响。因此,在普遍的故障期间,支付通道可能容易受到攻击。
因此,需要更好的安全技术,用于配置在各方之间建立的用于电子交换的链路或通道。
发明内容
因此,根据本发明,提供如后附权利要求书所限定的方法。可将本发明称为安全方法/系统。也可将其称为密码强制的安全方法。如果出现节点故障,它可以在区块链网络上提供适应能力。在这种情况下,它可以防止或至少减少被利用的可能性。
如下更详细所述,描述用于设立用于链外转移的通道的技术。更具体而言,在通道设立期间使用会议。会议是节点的群组,在向会议相关联的数字资产池(“会议池”)提交足够的权益(“成员存款”)之后,区块链网络中的任何节点都可以加入会议。例如,节点可通过将诸如数字货币(例如比特币)、通证或其他权益或价值这样的数字资产转移到与会议相关联的账户来加入会议。可以部分地通过分布式生成私钥份额来保护会议。每个私钥份额都可以由其持有人用于生成交易的部分签名。可将阈值签名方案用于至少使用部分签名的阈值来为这种交易生成有效签名。成员存款会因恶意行为而被没收。
有利地,可将会议的节点配置为实现故障保护模式,其中,当中轴根据预定协议停止操作时,这些节点可以关闭(支付)通道。例如,如果中轴变得无响应,则会议的节点可以以如下方式实施将支付通道关闭的故障保护协议,该故障保护协议减少区块链网络变为被试图关闭通道的交易淹没的风险。例如,会议可以进行批量关闭,其中在单个交易中关闭多个支付通道。此外,会议可以交错关闭,从而延迟至少一部分通道的关闭。
因此,根据本发明,可以提供一种计算机实现的方法。该计算机实现的方法可包括:从与节点的可信执行环境相关联的飞地向中轴提供飞地公钥;通过向区块链网络广播资金交易,来建立具有所述中轴的通道,所述资金交易通过第一公钥、第二公钥和第三公钥来阻碍数字资产,从而所述数字资产的阻碍能够通过以下消除:1)根据与所述第一公钥相对应的第一私钥生成的第一签名和根据与所述第二公钥相对应的第二私钥生成的第二签名两者;或2)对第三公钥有效的第三签名,其中,所述第三公钥与群组相关联;在所述飞地接收来自所述中轴的承诺交易,所述承诺交易通过所述飞地公钥加密;检测所述中轴的故障;以及使用来自所述飞地的数据向所述群组发出故障保护激活请求,其中,所述数据基于所述承诺交易。
可将通道称为“交换通道”、“通信通道”或“支付通道”。在此,为了便于参考,我们可以使用术语“支付通道”。
在一些实施方式中,所述故障保护激活请求指定添加到所述区块链网络的区块链的最新区块的区块号码,并且其中,所述群组被配置为忽略基于所述故障保护激活请求中指定的区块号码以及基于添加到所述区块链的所述最新区块的当前区块号码而被确定为到期的故障保护激活请求。
在一些实施方式中,所述方法还包括:确定故障保护模式尚未被实施且所述故障保护激活请求已经过期;以及向所述群组发出另外的故障保护激活请求,其中,所述另外的故障保护激活请求包括用于添加到所述区块链的新的最新区块的新区块号码。
在一些实施方式中,发出所述故障保护激活请求包括:响应于检测到所述中轴的故障,自动在线发布所述故障保护激活请求。
在一些实施方式中,所述故障保护激活请求指定由所述节点提供的用于关闭所述通道的费用。
在一些实施方式中,所述方法包括:在所述群组响应于所述故障保护激活请求部署侧链之后,通过所述侧链与另外的节点交换价值。
在一些实施方式中,所述故障保护激活请求是在所述飞地内生成,并使用与所述飞地公钥相关联的飞地私钥进行签名。
在一些实施方式中,所述方法还包括解密所述承诺交易,以确定与所述通道相关联的余额,并确定与违规补偿交易相关联的价值,所述价值是与先前承诺交易相关联的先前秘密价值
在一些实施方式中,所述方法还包括向向响应于所述故障保护激活请求部署的侧链的矿工广播侧链交易,所述侧链交易转移价值。
根据本发明,可以提供一种计算机实现的方法。该计算机实现的方法可包括:检测由参与一个或多个具有中轴的通道的一个或多个节点发出的一个或多个故障保护激活请求,所述通道允许用于与区块链网络相关联的价值的交换的承诺在所述区块链网络外部进行交换,所述故障保护激活请求由通过广播资金交易先前打开通道的节点发出,所述资金交易通过与群组相关联的公钥阻碍数字资产;确定所述一个或多个故障保护激活请求满足预定标准;以及与所述群组的其他节点合作生成针对关闭所述一个或多个通道的交易的有效签名。
如上所述,可将(一个或多个)通道称为(一个或多个)支付通道、(一个或多个)交换通道、或(一个或多个)通信通道。在此,为了便于参考,我们可以使用术语“支付通道”。
在一些实施方式中,确定所述故障保护激活请求满足预定标准包括:确定由发出这些请求的各个节点的余额加权的故障保护激活请求的数量超过阈值。
在一些实施方式中,当生成每个故障保护激活请求时,所述故障保护激活请求指定添加到所述区块链网络的区块链的最新区块的相应区块号码,并且其中,将所述群组配置为忽略基于所述故障保护激活请求中指定的区块号码并基于添加到所述区块链的所述最新区块的当前区块号码而被确定为到期的故障保护激活请求。
在一些实施方式中,所述方法还包括:在确定所述一个或多个故障保护激活请求满足预定标准之后,并且在合作生成所述有效签名之前,部署临时侧链,所述临时侧链允许将价值被进一步转移,并且其中,关闭一个或多个通道的所述交易还基于在所述侧链上转移的所述价值。
根据本发明,可以提供一种电子装置。所述电子装置包括:接口装置;处理器,耦接到所述接口装置;存储器,耦接到所述处理器。所述存储器上存储有计算机可执行指令,在执行时,所述指令配置处理器进行本文所述的方法。
在一些实施方式中,处理器包括可信执行环境,并且计算机可执行指令在所述可信执行环境内执行。
根据本发明,可以提供一种计算机可读存储介质。所述计算机可读存储介质包括计算机可执行指令,在执行时,所述计算机可执行指令配置处理器进行本文所述的方法。
附图说明
参考本文所述的实施例,本发明的这些和其他方案将变得显而易见并得以阐明。下面仅通过示例并参考附图来描述本发明的实施例,其中:
图1示出示例性区块链网络的方框图。
图2示出可以充当区块链网络中的节点的示例性电子装置的方框图。
图3是发出故障保护激活请求的示例性方法的流程图。
图4是加入会议的示例性方法的流程图。
图5是没收数字资产的示例性方法的流程图。
图6是重新分配密钥份额的示例性方法的流程图。
图7是重新分配密钥份额的另一个示例性方法的流程图。
图8是返还存款的示例性方法的流程图。
图9是实现用于支付通道的故障保护模式的示例性方法的流程图。
图10是虚拟链的方框图。
具体实施方式
区块链网络
首先参考图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可以用于促进节点之间的链外支付通道120a、120b的设立。在本文中可将链外支付通道称为链外支付通道、链外通道或支付通道。支付通道允许区块链外的价值交换。支付通道允许随时将支付通道的通道状态(即支付通道中涉及的节点的相应余额)提交给区块链。也就是说,各方可以在多个区块链外交易中转移价值,并且可以在某个时间点更新区块链以反映支付通道的当前通道状态。
在示例性实施例中,在两个节点(第一节点102a和第二节点102b)之间设立第一支付通道120a,并在两个节点(第一节点102a和第三节点102c)之间设立第二支付通道120b。但是实际上,可以在更多数量的节点之间设立支付通道或者可以设立不同数量的支付通道。可以在中轴(hub)和辐条(spoke)(HAS)布置中设立支付通道120a、120b,其中,中央中轴(在示例中,是第一节点102a)与第二节点102b以及第三节点102c两者都建立支付通道。这种HAS布置允许连接到中轴的任何节点将链外价值转移到与该中轴连接的任何其他节点,或从与中轴连接的任何其他节点接收链外价值。例如,第二节点102b可以向链外的第三节点转移价值,或从第三节点接收价值。可将中轴连接到与图1所示更多数量的节点。此外,与其中一个支付通道相关联的中轴或非中轴节点可以与其他中轴或非中轴节点建立其他支付通道。
在设立支付通道期间,与支付通道120相关联的节点(例如,在所示的示例中,对于第一支付通道120a而言,是第一节点102a和第二节点102b,而对于第二支付通道120b而言,是第一节点102a和第三节点102c)各自以特殊方式锁定数字资产,从而为支付通道提供资金。设立完成以后,可以使用承诺交易和“价值”交换(它们有效地将先前的承诺交易无效掉)来分配这些数字资产。更具体而言,支付通道允许与其相关联的节点交换承诺交易。承诺交易是在没有向区块链网络(初始)广播的情况下通过节点交换的交易。承诺交易提供账本,其定义与支付通道相关联的数字资产的分配。可将该分配称为通道状态。承诺交易可以随时通过与支付通道相关联的其中一个节点广播。承诺交易通常可以按照Poon和Dryja在2016年1月14日的“The Bitcoin Lightning Network:Scalable Off-Chain InstantPayments”(以下成为“LightningNetwork(闪电网络)”)中的描述进行操作。但是,可以按照与Lightning Network所述不同的方式来设立支付通道。更具体而言,在设立协议中可以涉及本文称为会议的节点群组,以允许如果支付通道出现故障,则节点群组进行帮助。例如,由于中轴故障,可以发生这种故障。下面更详细地描述用于设立支付通道(包括会议提供的故障保护模式)的协议以及用于实现故障保护模式的协议。
电子装置作为节点运行
图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中提供的远程证明协议向其他会议成员提供删除证明。在允许成员撤回其成员存款之前,可能需要删除证明。也就是说,存款的返回可以以证明成员的飞地内的私人密钥份额的删除为条件。
在参与具有中轴的支付通道120a、120b(图1)的节点上提供的TEE 250可用于允许中轴证实节点正在执行批准的代码(例如,通过远程证明)。此外,TEE 250的飞地存储与可以提供给中轴的飞地公钥相关联的飞地私钥。中轴可以使用飞地公钥将加密消息发送到飞地。这些加密消息可包括一个或多个承诺交易、一个或多个可用于违规补偿交易(BRT)的价值。即,这些价值有效地将过时通道状态无效掉。飞地可将承诺交易和价值解密,并将其提供给节点的其他组件、系统或子系统,例如节点的主处理器。如果支付通道中轴变得无响应,那么TEE(更具体而言,是TEE的飞地)也可用于生成故障保护激活请求。如下更详细所述,可以至少部分地基于在飞地中存储的数据来生成故障保护激活请求。例如,可以基于最新通道状态(其反映支付通道中数字资产的当前余额)来生成故障保护激活请求。故障保护激活请求还可包括其他信息,例如添加到区块链网络的区块链中的最新区块以及为了换取通道的关闭而向会议提供的费用声明。飞地使用飞地私钥对安全保护激活请求进行签署,从而能够将其证实为已经由飞地提供。
TEE 250可以配备有安全随机数发生器,安全随机数发生器是在TEE的飞地内部,其可用于生成私钥、随机询问、或其他随机数据。TEE 250还可以被配置为从外部存储器读取数据,并且可以被配置为将数据写入外部存储器。这些数据可通过仅在飞地内部保持的秘密密钥加密。
可以使用各种平台(诸如可信平台模块(TPM)或英特尔软件保护扩展(SGX))来实现TEE 250。例如,SGX支持远程证明,这使得飞地能够从正在执行特定飞地的处理器获取签名的声明,所述特定飞地具有称为报价的给定成员哈希值。诸如英特尔证明服务(IAS)这样的第三方证明服务可以证明这些签名的声明源自符合SGX规范的可信CPU。
虽然充当会议成员的节点和充当支付通道中非中轴参与者的节点可包括TEE,但至少一部分充当中轴的节点可以不具有TEE250。换言之,充当支付通道中轴的节点不需要运行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。
在操作302,进行方法300的节点(更具体而言,是与在进行该方法的节点102处TEE250(图2)相关联的飞地)将飞地公钥提供给支付通道中要涉及的中轴。飞地公钥是与安全存储在飞地中的飞地私钥相关联的公共加密密钥。飞地公钥允许中轴与飞地直接通信。也就是说,中轴使用飞地公钥对于到飞地的通信进行加密。
可通过进行该方法的节点将飞地公钥直接提供给中轴,也可通过将飞地公钥作为元数据包括在下面参考操作304所述的资金交易中来将飞地公钥提供给中轴。因此,虽然在图3的流程图中用单独的方框示出操作302和304,但是操作302可以作为图3的方法300的操作304的一部分进行。
在操作304,进行方法300的节点建立(即,设立)具有中轴的支付通道。更具体而言,可通过向区块链网络广播资金交易来建立支付通道,所述资金交易通过第一公钥、第二公钥和第三公钥来阻碍数字资产,使得能够通过以下消除数字资产的阻碍:1)根据与第一公钥相对应的第一私钥生成的第一签名和根据与第二公钥相对应的第二私钥生成的第二签名两者;或2)仅对第三公钥有效的第三签名。第三公共密钥是与诸如会议110(图1)这样的群组相关联的公钥。例如,第三公共密钥可以是群组公钥(也可以称为会议公钥)。第一公钥与进行方法300的节点相关联,第二公钥与另一个节点(例如中轴)相关联,另一个节点是要建立的支付通道的参与者。
因此,设立资金交易,使得支付通道的双方能够相互消除与资金交易相关联的数字资产的阻碍,或者,使得会议单独动作能够消除阻碍。也就是说,设立资金交易,使得能够通过两种方式其中之一消除阻碍。如果支付通道的各方希望合作,则在双方都使用各自的私钥(即与第一公钥和第二公钥关联的私钥)来为要耗用被阻碍的数字资产的交易生成签名的情况下可以消除阻碍。在这种情况下,将它们的有效签名结合在一起可以消除阻碍。可以消除阻碍的第二种方式涉及会议的多个成员合作生成基于阈值签名方案有效的、代表会议的签名。下面在会议的详细讨论中将更详细地讨论阈值签名方案。通常,阈值签名方案需要控制至少阈值数量的密钥份额的多个会议成员节点的合作。因为会议是通过权益的存放来保护的,所以如果会议的成员节点的行为违反会议协议,则存在被没收这些权益的风险。例如,如果会议成员要为有效地窃取与操作304的资金交易相关联的数字资产的交易提供部分签名,那么会议成员存在被至少控制密钥份额阈值的诚实会议成员撤销其存款的风险。
如上在操作302的讨论中所述,在方法300的操作304广播的资金交易可包括与进行该方法的节点的TEE相关联的公钥作为资金交易的元数据。例如,可将飞地公钥指定为资金交易中的元数据。
在设立支付通道之后,进行方法300的节点通过形成中轴-辐条型支付网络的一个辐条的支付通道而连接到中轴,并且可以与经由其他“辐条”连接到中轴的其他节点交换价值(即,经由其他“辐条”),如果需要的话,也可以与中轴本身交换价值。例如,该节点现在可通过经由中轴转移通证(在操作306)而与其他的链外非中轴节点转移价值。更具体而言,可通过与中轴交换承诺交易以及将先前承诺交易无效的一个或多个“价值”来转移价值。在操作306,可以按照加密格式在进行方法300的节点的飞地处接收承诺交易。例如,可通过飞地公钥将所接收的承诺交易加密,使得承诺交易在飞地内保持安全。因此,飞地可以看到中轴发送的所有承诺交易,并因此始终知道最新通道状态。飞地可以解密承诺交易,以确定与通道相关联的余额并确定与违规补偿交易相关联的价值。该价值是与先前承诺交易相关联的先前秘密值,并且如果对手方(例如中轴)由于试图向区块链网络广播过时承诺交易而违反协议,那么可将该价值用于违规补偿交易。
承诺交易通常可以按照闪电网络所述的方式进行交换。承诺交易可以与有效地将先前通道状态无效的价值一起交换。也就是说,该价值有效地使较早的承诺交易变得不可用。不诚实参与者广播更早(即,并非当前的)承诺交易的任何尝试都可能证明是不明智的,因为诚实参与者可以使用使先前通道状态无效的价值来惩罚不诚实参与者(例如,通过主张通道中的全部资金)。
如果支付通道继续按预期工作,则通过支付通道各方的相互同意可以随时关闭支付通道。回顾一下,用于为支付通道提供资金的资金交易已经被配置为使得支付通道的双方(例如,进行方法300的节点和中轴)可通过在2of2多签名协议下合作来消除对数字资产的阻碍。因此,这些节点可以合作生成用于交易的相应签名,所述交易将关闭支付通道并重新分配先前被资金交易阻碍的数字资产。也就是说,这些节点可通过说明支付通道当前状态的方式重新分配资金,而不必一定依靠承诺交易。但是,如果对手方变得不合作,拒绝签名这种交易,则可能需要进行承诺交易。
如上所述,在某些情况下,支付通道可能出现故障,其在操作308可通过节点来检测。例如,中轴可能会出现故障,并且在操作308可通过节点来检测这种故障。例如,当中轴未能响应于更新通道的请求而向飞地提供预期承诺交易时,可以检测到中轴的故障。
响应于检测到中轴的故障,节点可以在操作310向群组(即,与第三公钥相关联的群组或会议)发出故障保护激活请求。可通过响应于检测到中轴的故障而自动在线发布故障保护激活请求,来向群组发出故障保护激活请求。例如,可将故障保护激活请求提交给Web服务器,Web服务器充当故障保护激活请求以及配置群组的哪些成员节点进行监视的中央存储库。可以在飞地内生成故障保护激活请求,并使用与飞地公钥相关联的飞地私钥进行签名。
使用来自飞地的数据向群组发出故障保护激活请求。例如,用于生成故障保护激活请求的数据可以基于在操作306期间所接收的承诺交易。例如,故障保护激活请求可包括当前状态的签名声明。支付通道的当前状态是支付通道的余额,并且当考虑与支付通道相关联的最新承诺交易时,状态或余额定义数字资产的分配。
故障保护激活请求还可包括其他信息。例如,故障保护激活请求可以指定节点提供的用于关闭支付通道的费用。故障保护激活请求还可包括新鲜度数据,例如时间戳。时间戳或其他新鲜度数据可以指定TEE生成或发出故障保护激活请求的日期和/或时间。替代性地,时间戳可以指定添加到区块链网络的区块链中的最新区块的区块号码。可将处理故障保护激活请求的节点群组配置为忽略基于时间戳被确定为到期的故障保护激活请求。例如,在将时间戳表示为最近区块号码的情况下,群组可以忽略基于故障保护激活请求中指定的区块号码以及基于添加到区块链的最新区块的当前区块号码而被确定为到期的故障保护激活请求。也就是说,群组可以基于自发出故障保护激活请求以来已经过去的区块数量来评估故障保护激活请求的新鲜度。
进行方法300的节点可以配置为如果故障保护激活请求已经过期(在操作312由节点确定)且如果尚未实施故障保护模式且如果支付通道在此期间尚未恢复操作,则重新发出故障保护激活请求(在操作314)。也就是说,如果群组尚未实现故障保护模式并且如果支付通道仍然不能操作,则可以在操作314重新发出该到期的故障保护激活请求。更具体而言,可以向群组发出另外的故障保护激活请求。另外的故障保护激活请求包括新的新鲜度信息,例如添加到区块链的最新区块的区块号码。
在会议已经激活故障保护模式之后(响应于观察到足够的故障保护激活请求,如下更详细所述),会议可以关闭(一个或多个)支付通道。例如,会议的节点可以合作生成用于影响在操作304被阻碍的数字资产的交易的签名。签名对于以上在操作304的讨论中提及的第三公钥有效。也就是说,签名对于阻碍数字资产的群组/会议公钥有效。因为设立了支付通道以允许会议承担对于包括在资金交易中的数字资产的控制,所以如果支付通道出现故障,则会议能够促进关闭交易。
在至少一部分情况下,在通过向区块链网络广播关闭交易来关闭通道之前,可以响应于故障保护激活请求(并且更具体而言,响应于足以触发故障保护模式的大量故障保护请求)来部署临时侧链。该临时侧链可以称为虚拟链(ghost chain),并且将在下面更详细地描述。在方法300的操作316,节点可以使用临时侧链,以通过侧链与另一个节点交换(例如,转移或接收)价值。作为示例,通过向响应于故障保护激活请求而部署的侧链的矿工广播侧链交易,节点可将价值转移到另一个节点。侧链交易将价值转移到另一个节点或转移来自另一个节点的价值。也就是说,侧链交易有效地更新了与节点相关联的数字资产的余额。对于先前建立具有故障的中轴的支付通道的其他节点,可将侧链用于经由其他“辐条”(即,其他支付通道)转移价值或接收价值。因此,当他们等待关闭其通道时,可将侧链用于允许先前连接到中轴的节点继续相互交易。在激活故障保护之后,不一定需要关闭通道的其他请求;当侧链终止时,所有发出故障保护激活请求的通道都将被关闭。
在部署侧链的情况下,节点可以稍后向会议发出请求,以将支付通道的状态提交给主区块链(可称为主链)。然后,会议的节点可以合作,为关闭交易生成有效签名,所述交易说明影响余额的任何侧链交易。
因此,当支付通道发生故障时(例如,由于中轴的故障),作为会议成员的节点的群组可以合作促进支付通道的关闭。在下面的描述中将更详细地描述会议和会议的各种功能。
会议和阈值签名
会议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 2013 pp 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且具有常数项零的随机多项式然后,节点102可以计算点/>并将其设置为它们的私钥份额。然后,节点102可以将该多项式/>上的点分配给每个现有的会议成员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的完整性,所以如果成员想要回他们的存款,它就不能保留私钥的副本,这是因为它必须在返还成员存款之前证明私钥的删除。此外,当会议充当用于权益证明侧链的绑定验证者集合时使用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可以不确认私钥份额的删除,因为私钥份额不再有效。相反,可以使用新的会议公钥,并且可将会议控制下的其他数字资产转移到新的会议公钥。
在操作804,评估还可以考虑当前是否部署了虚拟链。如果部署了虚拟链,则直到虚拟链运行结束,撤回请求才可以得到满足。也就是说,至少在虚拟链终止之前,阻止在虚拟链上进行挖掘的会议议员撤回其数字资产的“权益”。
如果节点102基于评估批准撤回请求,则在操作806,节点帮助撤回数字资产。也就是说,节点102使用其私钥份额来合作生成数字签名并使用数字签名将请求者先前存放的数字资产转移回请求者。例如,可将数字资产发送回先前从其接收到该数字资产的地址。根据阈值签名方案进行操作806,使得仅在至少阈值数量的会议成员授权撤回时才进行撤回。在希望注销的成员被挂起而不进行活动一段时间之后进行操作806。这个等待时段阻止了成员在进行用于其成员存款返回的协议时从事不当行为。
会议协议可用于很多不同目的。会议提供进行各种功能的安全机制。会议可以无信任地操作,并提供对数字资产所有权的控制。
例如,可将会议协议用于实现虚拟链,在这种情况下,可将会议协议称为虚拟链协议。
作为中轴故障保护的会议
下面参考图9,其以流程图形式示出实现故障保护模式的示例性方法900。方法900可通过作为会议110成员的节点102与作为会议110成员的其他节点102合作进行。也就是说,由通过向会议池中存入成员存款而已经加入会议101的节点102进行方法900,如上所述。因此,在进行图9的方法900之前,进行方法900的节点102已经获得私钥份额,如上所述。
在操作902,节点102检测由参与具有中轴的支付通道的一个或多个节点发出的一个或多个故障保护激活请求。支付通道允许用于与区块链网络相关联的价值的交换的承诺在区块链网络外部进行交换。例如,如上所述,可以使用承诺交易和可以随时提交给区块链的价值(用于潜在违约补偿交易)来交换价值。
故障保护激活请求是由这样的节点发出的请求:所述节点先前通过广播资金交易而打开支付通道,如参考图3所述,具体而言,是参考图3的方法的操作304。资金交易通过会议公钥(即,通过与形成会议的节点群组相关联的公钥)阻碍数字资产。更具体而言,如上参考图3所述,每个资金交易通过三个单独的公钥来阻碍数字资产,使得能够通过一起操作的与支付通道相关联的两个节点或者通过会议单独动作来消除阻碍。
故障保护激活请求可以是以上参考图3的方法300的操作310所述的类型。如上在图3的讨论中所述,可将故障保护激活请求提交到Web服务器,该Web服务器充当故障保护激活请求的中央存储库。因此,进行图9的方法900的节点可以针对故障保护激活请求监测Web服务器。
每个故障保护激活请求可以在连接到故障中轴的节点的请求下在飞地内生成,并使用与飞地公钥相关联的飞地私钥进行签名。故障保护激活请求可以指定支付通道的状态。支付通道的状态是支付通道的余额,并且当考虑支付通道的最新状态(如最新承诺交易所反映的)时,状态或余额限定数字资产的分配。故障保护激活请求还可包括其他信息。例如,故障保护激活请求可以指定节点所提供的用于关闭支付通道的费用。故障保护激活请求还可以包括新鲜度数据,例如时间戳。时间戳或其他新鲜度数据可以指定生成或发出故障保护激活请求的日期和/或时间。替代性地,时间戳可以指定添加到区块链网络的区块链中的最新区块的区块号码。
在操作904,进行方法900的节点评估(一个或多个)故障保护激活请求。例如,节点可以评估每个故障保护激活请求的新鲜度。会议的节点可以配置为忽略到期的故障保护激活请求(即,不认为是足够最新的),并且每个故障保护激活请求可包括新鲜度信息,例如时间戳,其允许节点确定相应的故障保护激活请求是否到期。例如,新鲜度信息可以是提交故障保护激活请求的节点观察到的最新区块号码,并且群组可以忽略基于故障保护激活请求中指定的区块号码并基于添加到区块链的最新区块的当前区块号码而确定为到期的故障保护激活请求。也就是说,当故障保护激活请求被生成并且群组(即,会议的节点)被配置为忽略基于故障保护激活请求中指定的区块号码并基于添加到区块链的最新区块的当前区块号码确定为到期的故障保护激活请求时,每个故障保护激活请求可以指定添加到区块链网络的区块链的最新区块的相应区块号码。因此,进行方法900的节点可以基于自发出故障保护激活请求以来已经过去的区块的数量来评估故障保护激活请求的新鲜度。可将该数量与预定阈值或其他标准进行比较,以确定给定的故障保护激活请求是否到期。例如,所述标准可以是在多个区块之前(与“等待时段”相比更短)发出故障保护激活请求,在“等待时段”期间,TEE不会在发出故障保护激活请求之后在支付通道中交易。
每个故障保护激活请求可以由进行该方法的节点映射到特定支付通道,并且更具体而言,映射到用于打开支付通道的资金交易。节点可以识别与给定故障保护激活请求相关联的资金交易,因为该资金交易包括与用于签名故障保护激活请求的飞地私钥相对应的飞地公钥。
在操作904,进行方法900的节点可以确定(一个或多个)故障保护激活请求满足预定标准,并且可以作为响应在操作906实施故障保护模式。
预定标准可能要求接收足够数量的故障保护激活请求(即,足够数量的未到期故障保护激活请求)。可以参考阈值来确定故障保护激活请求的充足性。例如,预定标准可以要求提交给会议的足够数量的故障保护激活请求(通过发出这些请求的相应节点的余额进行加权)超过限定阈值。
在操作906,与会议的其他节点合作进行方法900的节点实施故障保护模式。这样,该节点与会议的其他节点合作,关闭与故障保护激活请求相关联的支付通道。为了关闭支付通道,准备并提出主链交易,并且足以生成代表会议的有效签名的会议的多个节点将部分签名添加到提议的交易中。然后,将交易广播到区块链网络。此交易重新分配先前在打开支付通道的资金交易中被会议公钥阻碍的数字资产。更具体而言,如关联故障保护激活请求中所表示的,基于支付通道的状态重新分配数字资产。
关闭支付通道的交易可以关闭与多个故障保护激活请求相关联的多个支付通道。也就是说,会议的节点可以在单个交易中进行多个支付通道的批量关闭。这种批量关闭减少了主区块链网络(即主链)上的负荷。会议的节点可以为区块链网络实施其他负载平衡措施,例如包括交错关闭交易。例如,会议节点可以等待广播至少一部分将关闭支付通道的交易,以确保负荷不会超过可能导致主区块链网络中断的水平。
为了关闭支付通道,会议的多个节点合作生成用于关闭支付通道的交易的有效签名。会议的节点可以部署临时侧链,以帮助该签名过程。该临时侧链可以称为虚拟链。除了帮助签名关闭交易外,虚拟链还可以允许在先前是连接到发生故障的中轴的支付通道的一方的节点之间进行价值的进一步交换。也就是说,在会议的节点针对将关闭支付通道的交易合作生成有效签名之前,可以部署临时侧链(在本文中称为“虚拟链”)。临时侧链可以允许价值在连接到中轴的节点之间进一步转移。然后,当支付通道最终关闭时,关闭支付通道的交易将基于故障保护激活请求中所述的在侧链上转移的价值以及支付通道中的初始余额。
下面描述示例性虚拟链。
虚拟链
参照图10,示出区块链1002和虚拟链1004。区块链1002是基于区块的分布式工作量证明账本。虚拟链1004是基于区块的分布式权益证明分布式账本,当与支付通道相关联的中轴发生故障时,虚拟链1004可用于帮助关闭支付通道。
虚拟链是权益证明区块链,其中虚拟链的矿工是会议的成员。也就是说,允许会议成员在虚拟链上进行挖掘。他们在工作量证明区块链网络上的成员存款充当他们的权益,以允许他们在虚拟链上进行挖掘,而任何成员被选择进行挖掘的可能性与其存款的相对数量成比例。
可以在图9的方法900的操作906中部署虚拟链1004;也就是说,在实施故障保护模式时。可以用创世区块(genesis block)将虚拟链实例化,该创世区块是来自虚拟链的先前实例化的最终区块(也称为末端区块)。该区块可包含有关创世支付的信息。创世支付是数字资产的转移,所述转移是基于先前的虚拟链部署而要进行的。
矿工将很多区块添加到虚拟链中,以生成用于交易的有效签名,其作用将是关闭支付通道或者在与出现故障的支付通道相关联的节点之间进一步转移价值(例如,这些节点可以经由“辐条”连接到已经出现故障的中轴)。更具体而言,节点使用各自的私钥份额向所提议的交易添加部分签名,直到根据阈值签名方案产生有效签名为止。
为了关闭支付通道,可以构造并对交易(可称为关闭交易)进行签名(如下更详细所述)。该交易的作用将是基于支付通道的状态(并且至少在某些情况下,基于在虚拟链上发生的任何其他的价值交易)在主区块链1002上分配资金。此外,交易分配资金以向虚拟链的矿工支付酬劳和/或进行创世支付。
在所有支付通道关闭之后,虚拟链1004终止。因为虚拟链1004终止,所以它与典型区块链的不同在于它具有末端区块。可以准备末端区块以包含将在虚拟链的下一次迭代中进行的创世支付的记录。这些创世支付是为了激励参与。更具体而言,在末端区块中可以参考这样的节点,该节点参与支付通道的关闭,但是它们不接收数字资产的转移以换取在虚拟链的迭代期间它们的参与(例如,在它们的参与之前自、从准备关闭交易开始),因此它们将在虚拟链的下一次迭代中接收数字资产。
虽然上述示例引用了比特币中可用的操作代码,但是本文所述方法也可以与其他类型的区块链网络一起使用。
通常将上述方法描述为在节点进行,但是该方法的特征依赖于与其他节点的合作并且可在其他情况下进行。
应当注意,上述实施例是说明而不是限制本发明,并且本领域技术人员将能够设计很多替代实施例而不脱离所附权利要求限定的本发明的范围。在权利要求中,括号中的任何附图标记都不应解释为限制权利要求。词语“包括”等不排除除了在任何权利要求或说明书中作为整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”表示“包含”或者“由…构成”。元素的单数引用不排除这些元素的复数引用,反之亦然。本发明可通过包括若干不同元件的硬件,以及通过适当编程的计算机来实现。在列举了若干器件的装置权利要求中,这些器件中的若干个可通过硬件的一个项目或相同项目来具体实施。在相互不同的从属权利要求中陈述某些措施的纯粹事实并不表示这些措施的组合不能用于获益。

Claims (15)

1.一种方法,包括:
从与节点的可信执行环境相关联的飞地向中轴提供飞地公钥;
通过向区块链网络广播资金交易,来建立具有所述中轴的通道,所述资金交易通过第一公钥、第二公钥和第三公钥来阻碍数字资产,从而所述数字资产的阻碍能够通过两种方式其中之一消除,其中,所述两种方式中的第一方式需要根据与所述第一公钥相对应的第一私钥生成的第一签名和根据与所述第二公钥相对应的第二私钥生成的第二签名,所述两种方式中的第二方式需要对所述第三公钥有效的第三签名,其中,所述第三公钥与群组相关联;
在所述飞地接收来自所述中轴的承诺交易,所述承诺交易通过所述飞地公钥加密;
检测所述中轴的故障;以及
使用来自所述飞地的数据向所述群组发出故障保护激活请求,其中,所述数据基于所述承诺交易;其中,所述故障保护激活请求是在所述飞地内生成,并使用与所述飞地公钥相关联的飞地私钥进行签名。
2.根据权利要求1所述的方法,其中,所述故障保护激活请求指定添加到所述区块链网络的区块链的最新区块的区块号码,并且其中,所述群组被配置为忽略基于所述故障保护激活请求中指定的区块号码以及基于添加到所述区块链的所述最新区块的当前区块号码而被确定为到期的故障保护激活请求。
3.根据权利要求2所述的方法,还包括:
确定故障保护模式尚未被实施且所述故障保护激活请求已经过期;以及
向所述群组发出另外的故障保护激活请求,其中,所述另外的故障保护激活请求包括用于添加到所述区块链的新的最新区块的新区块号码。
4.根据据权利要求1所述的方法,其中,发出所述故障保护激活请求包括:响应于检测到所述中轴的故障,自动在线发布所述故障保护激活请求。
5.根据据权利要求1所述的方法,其中,所述故障保护激活请求指定由所述节点提供的用于关闭所述通道的费用。
6.根据据权利要求1所述的方法,还包括:
在所述群组响应于所述故障保护激活请求部署侧链之后,通过所述侧链与另外的节点交换价值。
7.根据据权利要求1所述的方法,还包括:解密所述承诺交易,以确定与所述通道相关联的余额,并确定与违规补偿交易相关联的价值,所述价值是与先前承诺交易相关联的先前秘密价值。
8.根据据权利要求1所述的方法,还包括:向响应于所述故障保护激活请求部署的侧链的矿工广播侧链交易,所述侧链交易转移价值。
9.一种方法,包括:
检测由参与一个或多个具有中轴的通道的一个或多个节点发出的一个或多个故障保护激活请求,所述通道允许用于与区块链网络相关联的价值的交换的承诺在所述区块链网络外部进行交换,所述故障保护激活请求由通过广播资金交易先前打开通道的节点发出,所述资金交易通过与群组相关联的公钥阻碍数字资产;
确定所述一个或多个故障保护激活请求满足预定标准;以及
与所述群组的其他节点合作生成针对关闭所述一个或多个通道的交易的有效签名。
10.根据权利要求9所述的方法,其中确定所述故障保护激活请求满足预定标准包括:确定由发出这些请求的各个节点的余额加权的故障保护激活请求的数量超过阈值。
11.根据权利要求9所述的方法,其中,当生成每个故障保护激活请求时,所述故障保护激活请求指定添加到所述区块链网络的区块链的最新区块的相应区块号码,并且其中,将所述群组配置为忽略基于所述故障保护激活请求中指定的区块号码并基于添加到所述区块链的所述最新区块的当前区块号码而被确定为到期的故障保护激活请求。
12.根据权利要求9所述的方法,还包括:在确定所述一个或多个故障保护激活请求满足预定标准之后,并且在合作生成所述有效签名之前,部署临时侧链,所述临时侧链允许将价值被进一步转移,并且其中,关闭一个或多个通道的所述交易还基于在所述侧链上转移的所述价值。
13.一种计算机可读存储介质,包括计算机可执行指令,在被执行时,所述计算机可执行指令配置处理器进行权利要求1至12中任一项所述的方法。
14.一种电子装置,包括:
接口装置;
处理器,耦接到所述接口装置;
存储器,耦接到所述处理器,所述存储器上存储有计算机可执行指令,在被执行时,所述计算机可执行指令配置所述处理器进行权利要求1至12中任一项所述的方法。
15.根据权利要求14所述的电子装置,其中,所述处理器包括可信执行环境,并且其中,所述计算机可执行指令在所述可信执行环境内执行。
CN201880039866.XA 2017-06-14 2018-06-11 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法 Active CN110771088B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1709431.9 2017-06-14
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
PCT/IB2018/054210 WO2018229632A1 (en) 2017-06-14 2018-06-11 Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network

Publications (2)

Publication Number Publication Date
CN110771088A CN110771088A (zh) 2020-02-07
CN110771088B true CN110771088B (zh) 2024-04-19

Family

ID=62816889

Family Applications (3)

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

Family Applications Before (2)

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

Country Status (5)

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

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640099A (zh) 2017-06-14 2024-03-01 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
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
EP3725029B1 (en) * 2017-12-15 2023-07-12 nChain Licensing AG 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 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109359971B (zh) 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN112651740A (zh) 2018-08-30 2021-04-13 创新先进技术有限公司 区块链交易方法及装置、电子设备
CN109584055B (zh) 2018-09-20 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备
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
WO2019072261A2 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited REGULATION OF CONFIDENTIAL TRANSACTIONS OF BLOCK CHAIN
JP6724249B2 (ja) 2018-11-27 2020-07-15 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護用のシステム及び方法
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection
AU2018322507B2 (en) 2018-11-27 2020-10-08 Advanced New Technologies Co., Ltd. System and method for information protection
SG11201903438TA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
RU2716740C1 (ru) 2018-11-27 2020-03-16 Алибаба Груп Холдинг Лимитед Система и способ защиты информации
US11171774B2 (en) * 2018-11-28 2021-11-09 Intel Corporation System for synchronizing a cryptographic key state through a blockchain
WO2019072313A2 (en) * 2018-12-29 2019-04-18 Alibaba Group Holding Limited SYSTEM AND METHOD FOR PROTECTING INFORMATION
US11960473B2 (en) 2019-01-15 2024-04-16 Fisher-Rosemount Systems, Inc. Distributed ledgers in process control systems
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
US11405180B2 (en) 2019-01-15 2022-08-02 Fisher-Rosemount Systems, Inc. Blockchain-based automation architecture cybersecurity
TWI694349B (zh) * 2019-01-22 2020-05-21 開曼群島商現代財富控股有限公司 防止記憶體傾印的門檻式簽章系統及其方法
AU2019204730C1 (en) * 2019-04-03 2021-04-29 Advanced New Technologies Co., Ltd. Processing and storing blockchain data under a trusted execution environment
KR102193552B1 (ko) * 2019-04-26 2020-12-23 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 리플레이 공격 방지 인증 프로토콜
WO2019137565A2 (en) 2019-04-26 2019-07-18 Alibaba Group Holding Limited Distributed key management for trusted execution environments
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 주식회사 마크애니 블록체인을 이용한 데이터 유통 시스템 및 방법
US20220405748A1 (en) * 2019-09-30 2022-12-22 nChain Holdings Limited Call-back mechanisms for blockchain transactions
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 腾讯科技(深圳)有限公司 电子发票管理方法及装置
CN111756743B (zh) * 2020-06-24 2021-12-14 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、计算机设备和存储介质
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 裴俊伟 基于区块链的信息验证方法
WO2022070628A1 (ja) * 2020-09-30 2022-04-07 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
CN116802661A (zh) * 2021-01-13 2023-09-22 维萨国际服务协会 基于令牌的链外交互授权
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
WO2023196656A1 (en) * 2022-04-08 2023-10-12 Chainalysis Inc. Systems and methods for identifying patterns in blockchain activities

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
US8787581B2 (en) 2009-08-07 2014-07-22 Eco-Mail Development, Llc 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
US10410212B2 (en) 2012-05-04 2019-09-10 Institutional Cash Distributors Technology, Llc Secure transaction object creation, propagation and invocation
US10192214B2 (en) 2013-03-11 2019-01-29 Google Llc Pending deposit for payment processing system
WO2015171580A1 (en) 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
WO2016164310A1 (en) 2015-04-05 2016-10-13 Digital Asset Holdings Digital asset intermediary electronic settlement platform
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US11232415B2 (en) * 2015-05-28 2022-01-25 OX Labs Inc. Method for cryptographically managing title transactions
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
KR20180101355A (ko) 2015-11-30 2018-09-12 쉐이프시프트 아게 블록체인 자산의 거래소에 있어서 보안을 개선하는 시스템 및 방법
US9794074B2 (en) * 2016-02-04 2017-10-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US20170236103A1 (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
CN106850200B (zh) 2017-01-25 2019-10-22 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种使用基于区块链的数字货币的安全方法、系统及终端
US10396987B2 (en) 2017-01-26 2019-08-27 Wickr Inc. Securely provisioning an application with user information
EP3586493B1 (en) * 2017-02-24 2022-06-08 NEC Corporation Method for mining a block in a decentralized blockchain consensus network
CN117640099A (zh) 2017-06-14 2024-03-01 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sprites:Payment Channels that Go Faster than Lighting;Andrew Miller等;《arXiv,https://arxiv.org/abs/1702.05812v1》;20170219;第1.1节 *
Teechan:Payment Channels Using Trusted Execution Environments;Joshua Lind 等;《arXiv,https://arXiv.org/abs/1612.07766》;20170307;第4节 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110771088B (zh) 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的系统和方法
JP7442606B2 (ja) 動的ノードグループのための秘密鍵のセキュアな再利用
CN110537355B (zh) 基于安全区块链的共识
US11799637B2 (en) Methods and systems for blockchain-implemented event-lock encryption
CN110720102A (zh) 用于通用计算的区块链
US11983709B2 (en) Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network

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