首页 / 专利库 / 银行与财务事项 / 比特币地址 / 区块链之间的安全转移

链之间的安全转移

阅读:260发布:2020-05-14

专利汇可以提供链之间的安全转移专利检索,专利查询,专利分析的服务。并且可提供一种计算机实现的方法。该计算机实现的方法可以使用 区 块 链 例如 比特币 区块链来实现。该计算机实现的方法包括:i)通过由在 工作量证明 区块链网络中运行的 节点 将一个或更多个数字资产转移至会议池来加入会议,会议池具有一个或多个与会议的其他会议成员相关联的其他数字资产;ii)由节点检测工作量证明区块链网络上的数字资产至与会议池相关联的地址的特殊交易,该特殊交易满足确定的准则;iii)响应于检测到特定交易,由节点在权益证明区块链网络上 铸造 一个或更多个数字资产。,下面是链之间的安全转移专利的具体信息内容。

1.一种计算机实现的方法,包括:
通过由在工作量证明链网络中运行的节点将一个或多个数字资产转移至会议池来加入会议,所述会议池具有一个或多个与会议的其他会议成员相关联的其他数字资产;
由所述节点检测所述工作量证明区块链网络上的数字资产至与所述会议池相关联的地址的特殊交易,所述特殊交易满足确定的准则;以及
响应于检测到所述特殊交易,由所述节点在权益证明区块链网络上铸造一个或多个数字资产。
2.根据权利要求1所述的计算机实现的方法,还包括:
确定在检测到所述特定交易之后已经将至少阈值数量的区块添加至所述工作量证明区块链网络的区块链上,并且其中,所述铸造是响应于确定至少所述阈值数量的区块已经被添加而进行的。
3.根据权利要求1或2所述的计算机实现的方法,其中,加入还包括:
生成要在阈值签名方案中使用的私钥份额,在所述阈值签名方案中,必须使用至少阈值的私钥份额来代表所述会议签署交易,并且其中,所述私钥份额的其他持有者是在未许可基础上、通过将各自的数字资产转移至所述会议池而加入所述会议的其他会议成员。
4.根据权利要求3所述的计算机实现的方法,还包括:
检测所述权益证明区块链网络上的、用以将所述权益证明区块链网络上的数字资产转移回所述工作量证明区块链网络的请求;以及
响应于检测到所述请求,使用所述私钥份额合作地签署来自与所述会议池相关联的所述地址的交易。
5.根据权利要求4所述的计算机实现的方法,还包括:
确定在检测到所述请求之后已经将至少阈值数量的区块添加至所述权益证明区块链网络的区块链上,并且其中,使用所述私钥份额是响应于确定至少所述阈值数量的区块已经被添加至所述权益证明区块链网络的区块链上而进行的。
6.根据权利要求5所述的计算机实现的方法,其中,确定将至少阈值数量的区块已经被添加至所述权益证明区块链网络的区块链上是在所述节点上的可信执行环境内执行的。
7.根据权利要求5或6所述的计算机实现的方法,还包括:在使用所述私钥份额之前,在可信执行环境内确认所述请求的有效性。
8.根据权利要求4至7中任一项所述的计算机实现的方法,还包括:
根据所述请求在所述权益证明区块链网络上烧毁与所述请求相关联的数字资产。
9.根据权利要求3至8中的任一项所述的计算机实现的方法,其中,所述限签名方案是椭圆曲线数字签名算法
10.根据权利要求3至9中的任一项所述的计算机实现的方法,其中,生成所述私钥份额和使用所述私钥份额是在所述节点内的可信执行环境下进行的。
11.根据权利要求1至9中的任一项所述的计算机实现的方法,其中,在所述权益证明区块链网络上的铸造由已经被所述权益证明区块链网络选择的节点执行,并且其中,该节点被选择的概率是基于该节点已经存放至所述会议池的数字资产的数量的。
12.一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令在被执行时配置处理器以进行权利要求1至11中任一项所述的方法。
13.一种电子装置,包括:
接口装置;
处理器,耦接到所述接口装置;
存储器,耦接到所述处理器,所述存储器上存储有计算机可执行指令,所述计算机可执行指令在被执行时配置处理器以进行权利要求1至11中任一项所述的方法。
14.根据权利要求13所述的电子装置,其中,所述处理器包括可信执行环境,并且其中,所述计算机可执行指令在所述可信执行环境内执行。

说明书全文

链之间的安全转移

技术领域

[0001] 本发明一般涉及分布式账本,更具体而言,涉及用于提供对于与多个数字账本中的特定地址相关联的数字资产的分散控制的方法和系统。本发明特别适合用于协调工作量证明区块链网络上的交易与权益证明区块链网络上的交易,但不限于此。

背景技术

[0002] 在本文献中,我们使用术语“区块链”来包括所有形式的电子、基于计算机的分布式账本。它们包括区块链和交易链技术、许可的账本和未经许可的账本、共享账本及其变体。区块链技术最广为人知的应用是比特币账本,但是也提出并开发了其他区块链实施方式。虽然本文中出于方便和说明的目的可以引用比特币,但是应当注意,本发明不限于与比特币区块链一起使用,替代性的区块链实施方式和协议也落入本发明的范围内。
[0003] 区块链是一种基于共识的电子账本,它被实现为基于计算机的分散式、分布式系统,该系统由区块组成,而区块相应地由交易和其他信息组成。对于比特币而言,每个交易是一个数据结构,该数据结构对区块链系统中的参与者之间的数字资产的控制转移进行编码,并包括至少一个输入和至少一个输出。每个区块包含前一个区块的散列,以致于这些区块变为链接在一起,以创建自区块链开始以来就已经写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入其输入和输出中称为脚本的小程序,它们指定如何以及通过谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言来编写的。
[0004] 为了将交易写入区块链,必须对其进行“验证”。某些网络节点充当矿工并进行工作以确保每次交易都有效,而无效交易从网络中被拒绝。例如,安装在节点上的软件客户端对引用未耗用的交易输出(UTXO)的交易进行该验证工作。可通过执行其定和解锁脚本来进行验证。如果锁定和解锁脚本的执行评估为TRUE,并且如果满足某些其他条件,则交易有效并且可以被写入区块链。因此,为了将交易写入区块链,该交易必须i)由接收交易的节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由矿工建造的新区块;iii)被开采,即加入过去交易的公共账本。当向区块链添加足够数量的区块以使交易实际上不可逆时,认为交易被确认。
[0005] 虽然区块链技术由于加密货币实现方式的使用而广为人知,但是数字企业家已经开始探索比特币所基于的加密安全系统以及可以存储在区块链上以实现新系统的数据这两者的使用。如果区块链可用于并非纯粹限于以加密货币计价的支付的自动化任务和过程,这将是非常有利的。这样的解决方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录,分布式处理等),同时在其应用中更通用。
[0006] 随着区块链技术被扩展以提供新特征,重要的是维护区块链和其中表示的数字资产的安全性。依赖区块链的扩展特征集可能会受到恶意方的攻击。因此,提供以下方法和装置是有用的,该方法和装置为区块链或区块链的新特征提供额外的安全性,或者控制对数字资产的所有权以保持区块链的完整性。
[0007] 此外,随着对区块链的新改进或修改的发展,获得用于控制将数字资产从一个区块链转移到另一个区块链,同时保持两个区块链的完整性的技术是有帮助的。因此,希望提供在这些方面中的一个或更多个方面改进区块链技术的改进的方法和装置。
[0008] 例如,已经认识到,在一些应用中,可能希望提供与另一个区块链相关联的一个区块链。这样的区块链被称为另一区块链的“侧链”。与其它区块链一样,必须使侧链安全。历史上,比方说例如比特币的区块链系统依赖于挖掘来提供安全性。然而,因为侧链从属于主区块链,所以没有一个简单的机会在侧链上发行资产。因此,存在如何通过开采以外的机制来使侧链安全的技术问题。通过文献已经认识到,一种可能的方法是通过从主区块链中提取的资产、即“权益”来使侧链安全。然而,如何有效地为侧链提供这种“权益证明”基础仍是不清楚的。例如,上述问题被以太坊区块链工程的创始者和主要科学家Vitalik Buterin在可从https://bitcoinmagazine.com/articles/side-chains-challenges-potential/获得的2014年4月15日的Bitcoin Magazine的“Side Chains:The How,The Challenges and the Potential”中认识到(但没有解决),该文献的全部内容通过参引并入本文中。因此,可能希望允许侧链的“权益证明”基础。例如,可能希望允许第一区块链、例如工作量证明区块链上的资产被锁定,使得这些资产可以充当侧链的权益证明(该侧链实际上是权益证明区块链)。

发明内容

[0009] 因此,根据本发明,提供一种如所附权利要求限定的方法。
[0010] 如下更详细所述,可以在区块链网络上形成会议(congress)。会议可以是开放成员群组,区块链网络中的任何节点可以在向与会议相关联的池提交足够的权益时加入该开放成员群组。例如,节点可通过将诸如数字货币(例如比特币)、令牌或其他权益或价值的数字资产转移到与会议相关联的账户来加入会议。
[0011] 一旦形成,可以将会议用于锁定工作量证明区块链上的特定资产锁定,使得可以在权益证明区块链上提供和操纵相应资产。另外,可以将会议用于锁定权益证明区块链上的资产,使得相应的资产可以在工作量证明区块链上释放。方便地,以这种方式,会议可以用于提供跨区块链的资产的分布式锁定。换句话说,会议可以用于在工作量证明区块链与权益证明区块链之间提供双向锚定(two-waypeg)。通过数字签名而与工作量证明协议的无许可交互可以用于提供这样的双向锚定。
[0012] 因此,根据本发明,可以提供一种计算机实现的方法。所述计算机实现的方法可包括:通过由在工作量证明区块链网络中运行的节点将一个或多个数字资产转移至会议池来加入会议,所述会议池具有一个或多个与会议的其他会议成员相关联的其他数字资产;由所述节点检测所述工作量证明区块链网络上的数字资产至与所述会议池相关联的地址的特殊交易,所述特殊交易满足确定的准则;以及响应于检测到所述特殊交易,由所述节点在权益证明区块链网络上铸造一个或多个数字资产。
[0013] 在一些实施方式中,计算机实现的方法包括:通过由在工作量证明区块链网络中运行的节点将一个或多个数字资产转移至会议池来加入会议,所述会议池具有与一个或多个其他会议成员相关联的其他数字资产;由所述节点检测所述工作量证明区块链网络上的数字资产至与所述会议池相关联的地址的特殊交易,所述特殊交易满足确定的准则;以及响应于检测到所述特殊交易,由所述节点在权益证明区块链网络上铸造一个或多个数字资产,权益证明区块链网络上的数字资产能够使用权益证明区块链网络来操纵并且对应于锁定的数字资产。
[0014] 在一些实施方式中,所述计算机实现的方法还可以包括:确定在检测到所述特定交易之后已经将至少阈值数量的区块添加至所述工作量证明区块链网络的区块链上,并且其中,所述铸造可以是响应于确定至少所述阈值数量的区块已经被添加而进行的。
[0015] 在一些实施方式中,加入会议可以包括:生成要在阈值签名方案中使用的私钥份额,在所述阈值签名方案中,必须使用至少阈值的私钥份额代表所述会议签署交易,并且其中,所述私钥份额的其他持有者是在未许可的基础上、通过将各自的数字资产转移至所述会议池而加入所述会议的其他会议成员。
[0016] 在一些实施方式中,所述计算机实现的方法还可以包括:检测所述权益证明区块链网络上的、用以将所述权益证明区块链网络上的数字资产转移回所述工作量证明区块链网络的请求;以及响应于检测到所述请求,使用所述私钥份额合作地签署来自与所述会议池相关联的所述地址的交易。所述计算机实现的方法还可以包括:确定在检测到所述请求之后已经将至少阈值数量的区块添加至所述权益证明区块链网络的区块链,并且其中,使用所述私钥份额是响应于确定至少所述阈值数量的区块已经被添加至所述权益证明区块链网络的区块链而进行的。在一些实施方案中,确定已经将至少阈值数量的区块添加至所述权益证明区块链网络的区块链是在所述节点上的可信执行环境内执行的。
[0017] 在一些实施方式中,所述计算机实现的方法还可以包括根据所述请求在所述权益证明区块链网络上烧毁与所述请求相关联的数字资产。
[0018] 在一些实施方式中,在所述计算机实现的方法中使用的阈值签名方案是椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)。
[0019] 在所述计算机实现的方法的一些实施方式中,生成所述私钥份额和使用所述私钥份额是在所述节点内的可信执行环境下进行的。
[0020] 在所述计算机实现的方法的一些实施方式中,在所述权益证明区块链网络上的铸造由已经被所述权益证明区块链网络选择的节点执行,并且其中,该节点被选择的概率是基于该节点已经存放至所述会议池的数字资产的数量的。
[0021] 根据本发明,可以提供一种电子装置。所述电子装置包括:接口装置;处理器,耦接到所述接口装置;存储器,耦接到所述处理器。所述存储器上存储有计算机可执行指令,所述计算机可执行指令在被执行时配置处理器以进行本文所述的方法。
[0022] 根据本发明,可以提供一种计算机可读存储介质。所述计算机可读存储介质包括计算机可执行指令,所述计算机可执行指令在被执行时配置处理器以进行本文所述的方法。附图说明
[0023] 参考本文所述的实施方案,本发明的这些和其他方案将变得显而易见并得以阐明。下面仅通过示例并参考附图来描述本发明的实施例,其中:
[0024] 图1示出示例性区块链网络的方框图
[0025] 图2示出可以充当区块链网络中的节点的示例性电子装置的方框图。
[0026] 图3是发起会议的示例性方法的流程图
[0027] 图4是加入会议的示例性方法的流程图。
[0028] 图5是没收数字资产的示例性方法的流程图。
[0029] 图6是重新分配密钥份额的示例性方法的流程图。
[0030] 图7是重新分配密钥份额的另一个示例性方法的流程图。
[0031] 图8是返回存款的示例性方法的流程图。
[0032] 图9是第一和第二区块链网络的方框图。
[0033] 图10是用于提供双向锚定的示例性方法的流程图。

具体实施方式

[0034] 区块链网络
[0035] 首先参考图1。图1以方框图形式示出与区块链相关联的示例性区块链网络100。区块链网络可以是公共区块链网络,它是一个点对点的开放成员网络,任何人可以加入其中,无需邀请或经过其他成员同意。运行区块链协议(区块链网络100在该协议下操作)的实例的分布式电子装置可以参与区块链网络100。这种分布式电子装置可称为节点102。区块链协议例如可以是比特币协议。
[0036] 运行区块链协议且形成区块链网络100的节点102的电子装置可以是各种类型的装置,例如包括台式计算机、膝上型计算机、平板计算机、服务器、诸如智能电话这样的移动装置、诸如智能手表这样的可穿戴计算机、或其他电子装置。
[0037] 区块链网络100的节点102使用合适的通信技术相互耦接,所述通信技术可包括有线和无线通信技术。这种通信遵循与区块链相关联的协议。例如,在区块链是比特币区块链的情况下,可以使用比特币协议。
[0038] 节点102维护区块链上所有交易的全局账本。因此,全局账本是分布式账本。每个节点102可以存储全局账本的完整副本或部分副本。对于通过工作量证明来保护的区块链,影响全局账本的节点102的交易由其他节点102验证,从而维护全局账本的有效性。当区块链是基于工作量证明的区块链时,也通过检查随区块提交的工作量证明来证实区块。
[0039] 至少一部分节点102作为区块链网络100的矿工104操作。图1的区块链网络100是工作量证明区块链,其中矿工104执行昂贵的计算,以便促进区块链上的交易。例如,工作量证明区块链可能要求矿工解决加密问题。在比特币中,矿工104找到一个随机数,使得区块头部通过SHA-256散列到一个小于当前难度所定义的值的数字。工作量证明算法所需的散列功率意味着在一定数量的区块在其顶部被开采之后,交易被认为实际上是不可逆的。解决加密问题的矿工104为区块链创建新区块,并将新区块广播到其他节点102。在接受应该将区块添加到区块链之前,其他节点102证实矿工104实际上已经解决了加密问题并因此展示了足够的工作量证明。通过节点102的共识将区块添加到区块链(即,添加到分布式全局账本)。
[0040] 矿工104创建的区块包括已经由节点102广播到区块链的交易。例如,区块可包括从与节点102的其中一个相关联的地址到与节点102的其中另一个相关联的地址的交易。通过这种方式,区块充当从一个地址到另一个地址的交易的记录。要求该交易被包括在区块中的一方证明:他们被授权通过使用与其公钥相对应的私钥对请求进行签名来发起转移(例如,在比特币的情况下,耗用比特币)。如果请求被有效地签名,则仅将转移添加到区块中。
[0041] 对于比特币而言,在公钥和地址之间存在一对一对应关系。也就是说,每个公钥与单个地址相关联。因此,本文中对于将数字资产转移至公钥或从公钥转移数字资产(例如,支付到公共密钥中)以及将数字资产转移至与所述公共密钥相关联的地址或从所述地址转移数字资产的任何引用都指的是共同的操作。
[0042] 有些节点102可能不是作为矿工操作,而是作为验证节点参与。交易验证可能涉及检查(一个或多个)签名、确认对有效UTXO的引用等。
[0043] 图1的示例包括五个节点102,其中三个作为矿工104参与。实际上,节点102或矿工104的数量可以不同。在很多区块链网络中,节点102和矿工104的数量可以远大于图1所示的数量。
[0044] 如下所述,各种节点102可以合作形成将在本文中称为会议110的群组。在所示示例中,将三个节点102示出为会议110的参与方。但是,会议110成员的实际数量可能大得多。
[0045] 会议110是开放成员群组,它可以由任何节点102在向与会议110相关联的池提交足够的权益时加入。例如,节点可通过向与会议110相关联的账户转移数字资产(诸如数字货币(例如比特币)、令牌、或其他权益或价值)来加入会议。加入会议的节点102可以是区块链网络中的任何节点,包括采矿节点和非采矿节点。在会议的至少一部分应用中(例如当会议进行如下所述的双向锚定时),充当会议成员的节点在他们下载(但不一定保留)完整区块链的意义上监视区块链。
[0046] 下面更详细地讨论用于加入、离开和参与会议110的技术。
[0047] 作为节点操作的电子装置
[0048] 图2是示出示例性电子装置200的组件的方框图,示例性电子装置200可以充当点对点区块链网络100(图1)中的节点102(图1)。示例性电子装置200也可称为处理装置。电子装置可以采用各种形式,例如包括台式计算机、膝上型计算机、平板计算机、服务器、诸如智能手机这样的移动装置、诸如智能手表这样的可穿戴计算机、或其他类型的形式。
[0049] 电子装置200包括处理器210、存储器220和接口装置230。这些组件可以直接或间接地相互耦接并且可以相互通信。例如,处理器210、存储器220和接口装置230可以经由总线240相互通信。存储器220存储计算机软件程序,其包括用于进行本文所述功能的机器可读指令和数据。例如,存储器可包括处理器可执行指令,当通过处理器210执行时,可执行指令使得电子装置进行本文所述的方法。处理器可执行指令可包括指令,当由处理器210执行时,该指令使得电子装置实现与区块链网络100(图1)相关联的协议。例如,指令可包括用于实现比特币协议的指令。
[0050] 存储器220可以存储区块链网络100(图1)的全局账本或其一部分。也就是说,存储器220可以存储区块链的所有区块或一部分区块,例如最新的区块,或者一些区块中的一部分信息。
[0051] 虽然存储器220在图2中用单个方框示出,但是实际上,电子装置200可包括多个存储器组件。存储器组件可以是各种类型,例如包括RAM、HDD、SSD、闪存驱动器等。不同类型的存储器可以适合于不同的目的。此外,虽然存储器220与处理器210分开示出,但是处理器210也可包括嵌入式存储器。
[0052] 如图2所示,处理器210可包括诸如可信执行环境(TEE)250这样的安全区域。TEE 250是隔离执行环境,其为电子装置200提供额外的安全性,例如隔离执行、可信应用的完整性和资产机密性。TEE 250提供了这样的执行空间:该执行空间保证在TEE 250内加载的计算机指令和数据在机密性和完整性方面受到保护。TEE 250可用于保护重要资源(例如密钥)的完整性和机密性。TEE 250至少部分地在硬件级别实现,使得在TEE 250内执行的指令和数据受到保护,以防止来自电子装置200其余部分以及诸如电子装置的所有者这样的外方的访问和操纵。TEE 250内的数据和计算从操作包括TEE 250的节点102的一方得到保护。
[0053] TEE 250可以操作以将飞地实例化,然后一次一个添加存储器的页面,同时累积地进行散列。也可以在远程机器(可以是开发者机器或另一个机器)上进行类似的操作,以便远程机器确定并存储预期的散列。因此,飞地的内容可以由任何远程机器证实,以确保飞地运行批准的算法。可通过比较散列来进行证实。飞地完全建成后,将其锁定。可以在TEE 250中运行代码并向代码发送秘密,但代码不能更改。最终散列可通过证明密钥来进行签名,并且可使其对于数据所有者可用,以在数据所有者向飞地发送任何秘密之前证实它。
[0054] TEE 250可用于保护与由会议110(图1)使用的会议公钥相关联的私钥份额的机密性和完整性。例如,TEE 250可以用于私钥份额的生成和存储。TEE 250目的是确保没有成员能够直接获得在TEE 250飞地内保持的私钥份额,或者通过成员间通信或跨飞地通信获得关于其他私钥份额的信息。协议对于飞地阈值的损害也是稳健的。此外,TEE 250可以启用远程证明,该远程证明可以由节点102(图1)用来向其他节点102证明TEE 250是可信的并且正在运行用于会议110所实施的协议的、被批准的计算机可执行指令。远程证明可以由TEE250通过运行特定代码段并在飞地内部发送该代码的散列来提供,代码的散列由用于飞地的内部证明密钥签名。
[0055] 当先前在电子装置200上使用私钥份额的会议110的成员选择离开会议时,TEE 250可用于证明私钥份额的安全删除。电子装置200可通过TEE 250中提供的远程证明协议向其他会议成员提供删除证明。在允许成员撤回其成员存款之前,可能需要删除证明。也就是说,存款的返回可以以证明成员的飞地内的私人密钥份额的删除为条件。
[0056] TEE 250可以配备有安全随机数发生器,安全随机数发生器是在TEE的飞地内部,其可用于生成私钥、随机询问、或其他随机数据。TEE 250还可以被配置为从外部存储器读取数据,并且可以被配置为将数据写入外部存储器。这些数据可通过仅在飞地内部保持的秘密密钥加密。
[0057] 可以使用各种平台(诸如可信平台模块(TPM)或英特尔软件保护扩展(SGX))来实现TEE 250。例如,SGX支持远程证明,这使得飞地能够从正在执行特定飞地的处理器获取签名的声明,所述特定飞地具有称为引用的给定成员。诸如英特尔证明服务(IAS)这样的第三方证明服务可以证明这些签名的声明源自符合SGX规范的可信CPU。
[0058] 电子装置200充当区块链网络100(图1)中的节点102(图1),并且可以加入或者以其他方式参加会议110(图1)。当一组数字资产持有者汇集数字资产(例如数字货币、令牌或区块链网络100(图1)支持的其他权益或价值)时,会议110形成。
[0059] 会议和阈值签名
[0060] 会议110可以是许可或非许可群组。也就是说,区块链网络100(图1)中的任何节点102(图1)(即,通过监视和存储区块链中的至少一部分信息的任何节点)可以加入会议110。
为了加入会议110,节点102将一个或多个数字资产转移到与会议110相关联的数字资产池(即,转移到与一个或多个数字资产相关联的公共群组地址,该一个或多个数字资产相应地与其他成员相关联)。该数字资产池可被称为会议池。例如,节点102可通过将这样的数字资产转移(即,存放)到与会议池相关联的地址(即,转移到又可称为公共群组地址的“会议地址”)来加入会议110。数字资产被置于具有单个公钥(称为会议公钥)的群组阈值签名的控制之下。会议议员持有分布式产生的私钥份额。持有的份额数量可以与存放在池中的金额成比例。
[0061] 由会议110控制的数字资产(包括转移到会议地址的任何数字资产)被置于阈值签名方案的控制之下。在阈值签名方案下,需要一组总私钥份额持有超过阈值的成员来产生有效签名,该签名允许数字资产被转移离开会议110的控制。即,必须将至少阈值数量的私钥份额生成有效签名用于为会议110控制的数字资产的任何向外转移。
[0062] 会议公钥阻碍会议110的成员存放在会议池中的以换取私钥份额的数字资产,以及通过会议1100的成员或非成员存放在与会议池相关联的地址的任何数字资产(即,在会议的全部、部分、或有条件控制下放置)(该任何数字资产由于获得私钥份额之外的原因而已经被存放)。非成员或成员可出于各种原因将数字资产存放在与会议相关联的地址。在下面更详细解释的一个示例中,成员或非成员可将数字资产存入会议110,以将这些资产移动到另一个区块链,另一个区块链可称为替代链,例如侧链。侧链可以是与主区块链平行(即平行于主链)运行的区块链。
[0063] 因为同一会议公钥可以控制成员存款(即由会议成员提供的以换取私钥份额的数字资产)以及成员或非成员处于其他目的提供的数字资产,所以到与会议相关联的地址的至少一部分存款可能会被特别标记,以表明存款的类型。例如,将数字资产转移到会议地址的交易可包括标记、标识符或指示正在进行的存款的性质的其他属性。举例来说,不是为了加入会议或增加会议成员资格中权益的目的而进行的将数字资产转移到会议地址的交易可包括特殊标识符,以指示存款是为了其他目的而进行的。在管理私钥生成时,可通过与会议110相关联的节点102来使用这些标识符。更具体而言,为了加入群组而存放数字资产的节点102被分配用于会议110的私钥份额(作为进行数字资产存放的结果),而为了其他目的(例如,转移到侧链)存放数字资产的其他节点102不一定持有会议的会议私钥份额(即,对应于会议公钥)。
[0064] 会议110可以充当自治群组,其中通过没收全部或部分成员存款的威胁来强制执行合作行为。非合作或恶意成员可能由于加入由很多诚实成员参与的合作协议而被没收这种数字资产。也就是说,为了确保所有节点102都按照预定协议或准则进行操作,进入会议池的成员存款可能会被没收。没收意味着永久阻止被视为没收的成员存款的返回。形成由于恶意活动而未返回的成员存款的(一个或多个)数字资产可以留在会议池中但不返回(例如,如果达成共识(在替代链上)它们不应该被返回),立即或在将来被转移到另一个不可耗用的地址,或以其他方式没收,并且没收的性质可能取决于会议是否充当用于侧链的担保验证者集合(bonded validator set)。
[0065] 此外,当会议成员希望离开会议110时,他们可以撤回其成员存款(即,要求会议110将成员存款转移回该成员的个人地址)。但是,仅当群组成员(即会议)使用多个私钥份额(其数量超过生成有效数字签名所需的阈值)来批准撤回时才进行资金的撤回。
[0066] 会议110实现的阈值签名方案可以是各种类型。阈值签名方案允许在n方之间共享签名权,只要至少阈值数量的私钥份额有助于生成有效签名。小于阈值的任何子集都不能生成有效签名。更具体而言,每一方都控制私人签名密钥的份额,并且必须使用阈值数量的密钥份额、通过组合部分签名来生成有效签名。任何小于阈值的密钥份额子集都不能生成有效签名。
[0067] 阈值签名方案可以是椭圆曲线数字签名算法(ECDSA)方案。例如,ECDSA方案可以是Ibrahim等人在“A robust threshold elliptic curve digital signature providing anew verifiable secret sharing scheme”,2003EIII 46th Midwest Symposium on Circuits and Systems,1:276-280(2003)中提出的类型。该阈值签名方案是数字签名方案的扩展,其是基于椭圆曲线加密的算法,其中需要来自n个密钥份额持有者一方的t+1个密钥份额来重建私钥。该方案可用于构建有效签名,而无需重建私钥,并且没有任何一方必须向另一方透露其密钥份额。
[0068] 因为t+1密钥份额足以重建秘密,所以根据该技术的最大允许对手(adversary)数量为t。在Ibrahim等人的模型中,对手是一个破坏持有秘密份额的一方并可以访问该秘密份额的实体。对手可以是各种类型。例如,拜占庭对手是可能假装参与协议而实际上他们发送不正确的信息的对手。Ibrahim提出的ECDSA方案对于高达t<=n/4个恶意对手是稳健的。这种稳健性可以上升到t<=n/3,但代价是更高的复杂性。
[0069] Ibrahim等人的ECDSA方案对于阻止t<=n/3个阻止对手是稳健的。阻止对手能够防止破坏方参与协议或中途停止参与。
[0070] 该ECDSA方案包括可由节点102用来识别恶意或不合作方的各种机制。例如,可验证的秘密共享(VSS)可用于共享Shamir秘密共享(SSS)所需的多项式。SSS是一种秘密共享的形式,其中将秘密分成若干部分并将其各自独有的部分提供给每个参与者。这些部分可用于重建秘密。在不一致的份额被提供给不同节点102的情况下,或者在将与广播至所有节点的盲目份额不同的份额秘密地发送到节点的情况下,节点102可以使用VSS来识别恶意节点102或成员。可通过节点102中的任何一个来识别不一致的份额。可通过包括允许节点102将其份额验证为一致的辅助信息来使得可以验证秘密的共享。
[0071] 向个别节点发送不正确的份额(即,与广播的盲目份额不同的份额)可以被份额的预期接收节点识别。被秘密发送到节点的不正确份额的识别可以使用公共可验证的秘密共享(PVSS)技术公开验证。这样的技术可以避免在不使用PVSS的情况下可能发生的欺骗发送者的识别时出现的可能延迟,并且在发送不正确的份额时,不正确份额的接收者离线或从网络的实质部分切断。
[0072] 诸如向不同节点提供不一致份额的不当行为可以由会议110解决,以阻止恶意行为。例如,当节点102(图1)被其他节点102识别为恶意方时,超过阈值(例如,t+1)的多个节点102(即,与会议成员相关联的节点)可以合作惩罚恶意方。例如,节点102可以采取涉及由恶意方存放到会议的数字资产(诸如数字货币、令牌或其他权益或价值)的动作。例如,会议可通过将数字货币、令牌、权益或价值转移到不可耗用的地址来烧毁它们,或者会议可通过与其他节点达成共识来没收这些数字资产以拒绝对这些数字资产到恶意方的返回进行授权。非不当行为节点的节点102还可通过合作排除不当行为节点来阻止不当行为(例如,通过有效地将密钥份额无效;例如,通过将节点从参与会议协议中排除,或通过重新共享私钥而不是向不当行为节点分配份额)。
[0073] 可通过使用TEE来增强上述ECDSA技术。例如,基于Ibrahim等人的阈值ECDSA签名技术考虑一种强大的对手形式,在这里称为拜占庭对手。这种类型的对手可以任意行为,例如,他们不仅拒绝参与签名过程或中途停止参与,而且还可能假装诚实地参与并发送不正确的信息。但是,通过使用TEE,并产生用于在存储秘密的私钥份额的TEE的飞地内签名的数据,可以提供额外的安全性,因为极不可能大量损害飞地。例如,如果每个TEE被分配不超过一个密钥份额,那么可以合理地预期可能受损的TEE的数量不接近拜占庭对手的稳健性阈值,假设n足够大。这允许协议是安全的,如果相对于密钥份额的总数,它可以容忍一小部分恶意对手。
[0074] 例如,如果所有节点都具有TEE,则只有在TEE的制造商未被破坏的情况下,并且只能通过很大的努费用才能通过对节点的物理访问来实现对存储在飞地内的秘密的获取。这种制造商等级的破坏预计是可管理的。例如,如果制造商错误地声称很多公钥对应于真正的TEE,则他们可以直接访问私钥份额,并可能发起攻击。但是,这种攻击需要足够数量的密钥份额,以允许制造商在没有其他节点帮助的情况下产生有效签名。这将意味着累积大部分的总权益,这将是非常昂贵的。此外,通过实施攻击,将摧毁权益持有的大部分价值。
[0075] 当使用TEE时,考虑协议对“破坏的节点”的稳健性是有用的。破坏的节点使得TEE外部的硬件被破坏,但TEE的完整性未受损害。破坏的节点可以控制飞地接收和不接收什么信息。具体而言,破坏的节点可以停止、即避免参与协议。如果要求提供给协议的信息通过在飞地(其中在证明期间认证对应的公钥)中秘密持有的私钥来签名,则私钥与飞地本身一样可信。因此,破坏的节点不能向协议发送任意(认证的)信息,并且可能仅通过停止或试图欺骗飞地不正确地行动(例如,通过向其提供过时信息)来尝试干扰。因此,对于破坏的节点,成功的攻击将需要收集足够数量的部分签名,以产生完整签名。通过TEE,Ibrahim等人的协议对于2t个破坏的节点是稳健的。因为如果n-2t>=2t+1就可以产生签名,那么大小为2t+1<=(n+1)/2的任何合格的密钥份额子集就足矣。因此,在使用TEE时,可将阈值签名方案的阈值配置为大于或等于密钥份额的50%的数字,从而在存在破坏的节点的情况下产生有效签名。
[0076] 也可以使用其他阈值签名方案。例如,阈值签名方案可以是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”提出中的技术组合。
[0077] 可以使用其他阈值方案,包括非ECDSA签名方案。例如,节点102可以使用基于Schnorr方案的阈值方案来实现会议110。
[0078] 区块链网络100(图1)中的节点102(图1)可以基于所选择的阈值签名方案来实现会议协议。这样的节点102可包括存储在存储器220(图2)中的、实现会议协议的计算机可执行指令。在由处理器210(图2)执行时,这样的指令使得节点102(诸如参考图2所述的类型的电子装置200)进行会议协议的一个或多个方法。这些方法可包括图4至图8和图10的方法300、400、500、600、700、800、1000中的任何一个或组合。因此,会议协议可包括图4至图8和图10的方法300、400、500、600、700、800、1000中的一个或多个的组合。可通过节点同与其他会议成员相关联的其他节点合作来进行这些方法。
[0079] 会议启动
[0080] 下面参考图3,示出启动会议110的方法300。方法300可以由初始信任方进行,以建立会议110。即,与初始信任方相关联的节点102可以进行方法300。
[0081] 方法300包括在操作302提供会议公钥。可将会议公钥提供给其他节点102,以允许其他节点在他们希望加入会议时支付到会议公钥。也就是说,其他人可将数字资产转移到与会议公钥相关联的地址,从而加入会议。
[0082] 在操作304,进行方法300的节点102允许支付到公钥,直到满足一个或多个条件。例如,针对确定的时间段或者确定的区块数量,节点可以允许支付到公钥。在满足条件之后(例如,在该时间段期满或开采所述数量的区块之后),进行方法300的节点102在操作306识别该会议的初始成员。
[0083] 在识别出包括会议的初始成员资格的各方之后,在操作307,根据阈值签名方案将私钥划分为私钥份额。然后在操作308,将私钥份额从进行方法300的节点102分配到所识别的各方。私钥份额与阈值签名方案相关联,阈值签名方案可以是本文所述的类型。
[0084] 在操作308期间,被识别为会议成员的节点102合作生成新的私钥份额和新的公钥。由初始信任方发送到这些节点的原始密钥份额可用于签名和广播交易,以将会议池中的所有数字资产发送到新的公钥,新的公钥随后成为会议公钥。也就是说,在操作408期间,建立新的群组公共地址,并且在会议的控制下的数字资产被转移到该新地址,该新地址成为群组的新地址并与会议公钥相关联。在确认该转移之后,会议可以无信任地操作。新的群组公共地址形成为将来可以从希望加入会议110的其他节点接收数字资产的存款的地址,或者用于如上所述的其他目的。现在认为会议成员加入了会议,并且这些节点现在可以在没有初始信任方的帮助下运行。此外,初始信任方不再在会议的操作中扮演任何色。
[0085] 会议启动后加入会议
[0086] 下面参考图4,图4示出加入会议的方法400。图4的方法400可以结合图3的方法300操作,但是,图4的方法400是由在进行图3的方法300的节点所操作的相同区块链网络100(图1)中操作的节点102中的不同节点进行的。图4的方法400包括在操作402获得会议公钥。会议公钥可以直接从发起会议的一方获得,例如进行图3的方法300的节点,也可以从第三方获得,例如包括在区块链网络100(图1)之外操作的第三方系统。例如,可以从可通过公共互联网访问的公共web服务器获得会议公钥。
[0087] 进行方法400的节点102在操作404通过广播从与节点102相关联的私人账户到会议地址(即,与会议公钥相关联的地址)的数字资产的交易来支付到会议公钥。更具体而言,节点102广播交易以将一个或多个数字资产转移到与会议公钥相关联的公共群组地址。公共群组地址是会议池的地址。会议池包括与会议的其他成员相关联的其他数字资产。因此,在操作404的交易一旦被矿工104(图1)添加到区块中,就将数字资产转移到包括其他成员的数字资产的会议池。公共群组地址可以从希望加入会议的各方接收转移,也可以从不希望加入会议的各方接收转移。不希望加入会议的各方将数字资产转移到会议池,以便通过使用会议所采用的阈值签名方案,使得会议能够对这些数字资产进行全面、部分或有条件的控制。
[0088] 在操作404的交易可包括标记、标识符或其他属性,其指示转移数字资产的一方希望加入会议并且存款是为此目的而进行的。
[0089] 在通过会议池存放数字资产之后,进行方法400的节点102在操作406接收私钥份额。然后,节点102通过运行协议的单个实例在操作408重新生成私钥份额。可以在节点102的TEE内进行私钥份额的生成。
[0090] 在操作408,节点102生成要在阈值签名方案中使用的私钥份额,其中至少必须使用私钥份额的阈值来代表会议为交易生成有效签名。其他私钥份额的持有者是会议的其他成员,他们通过将相应的数字资产转移到公共群组地址,而在许可或未经许可的基础上加入会议。
[0091] 为了重新生成私钥份额,在操作408,现有的会议成员可以合作更新密钥份额。例如,节点102可以生成阶数为t且具有常数项零的随机多项式 然后,节点102可以计算点 并将其设置为它们的私钥份额。然后,节点102可以将该多项式 上的点分配给每个现有的会议成员i=1,...,n。然后,每个现有的会议成员(i=1,...,n)将接收到的值添加到其现有的私钥份额中,以获得新的私钥份额。节点102现在具有等同于所有其他成员的私钥份额,并且对应的公钥保持不变。如上所述,阈值签名方案可以是各种类型的,包括椭圆曲线数字签名算法或基于Schnorr方案的阈值方案。
[0092] 私钥份额可以在TEE 250(图2)内生成,并且可以安全地存储在节点102。例如,私钥份额可以存储在TEE 250中。
[0093] 在由各个节点生成私钥份额之后,可将先前会议公钥控制下的资金、例如转移到与原始会议公钥相关联的公共群组地址的资金(通过足以在阈值签名方案下生成有效签名的多个群组节点的合作)转移到与新私钥份额相关联的新会议公钥。
[0094] 在操作408生成私钥份额之后,可以在方法400的操作410下使用它。私钥份额可用于从可以由成员广播的公共群组地址合作生成用于交易的有效签名。也就是说,私钥份额可用于阈值签名方案中帮助签名生成。在阈值签名方案下,会议的阈值数量的私钥份额需要被各个成员使用以产生有效签名,签名允许将数字资产转出会议。进行方法400的节点102可以从存储中检索私钥份额并使用私钥份额从而帮助签名生成。如果足够数量的其他会议成员也使用他们各自的私钥来帮助签名生成,则签名生成并且可以广播有效的向外交易。当区块链网络100的矿工104(图1)将交易添加到通过区块链网络100中的节点102的共识而添加到区块链的被开采区块并且该区块被确认时,向外交易完成。此时,交易中所代表的数字资产可以不再受会议的控制。也就是说,这种数字资产可以不再受会议公钥的阻碍。
[0095] 在操作408使用私钥份额可以在节点102的TEE内执行。TEE保护私钥份额,使得系统的其他部分或成员本身不能访问存储在飞地中的任何数据,例如私钥份额。此外,TEE保护私钥,因为如果成员想要回他们的存款并撤回他们的存款,它就不能保留私钥的副本,因为它必须在证明返回成员存款之前删除私钥。
[0096] 图4的方法400可以在初始设置阶段期间或之后进行。也就是说,方法400可以在分配初始密钥份额之前(例如,在图3的方法300的操作308期间)或之后(例如,在下面将更详细讨论的再平衡期间)进行。
[0097] 在操作410处交易可将数字资产转移回最初将这些数字资产存入会议池的一方。也就是说,转移可将数字资产返回存款人。转移也可将数字资产转移到其他地方。例如,可将数字资产转移到第三方或不可耗用的地址。
[0098] 没收数字资产
[0099] 下面参考图5,示出没收数字资产的示例性方法500。图5的方法500可由节点102进行,节点102可以是与进行图4的方法400的节点相同的节点。可以在图4的方法400的操作408之后进行方法500,从而在进行图5的方法500时,该节点102已经可以访问私钥份额。
[0100] 在操作502,节点102检测恶意方的恶意活动。恶意方可以是会议的另一个成员。当节点102确定会议的成员违反预定协议或准则时,检测到恶意活动。例如,当作为会议成员的节点向会议的其他成员报告错误信息(即,错误、不一致或其他不可接受的信息)时,可将该成员视为恶意成员。
[0101] 在操作503,响应于检测到恶意活动,节点102与会议中的其他节点合作,可以将作为恶意方的成员挂起。也就是说,会议可以排除恶意方进一步参与会议。
[0102] 为了确保所有节点102都按照预定协议或准则进行操作,可以对进入会议池的成员存款进行没收。没收意味着永久阻止被视为没收的成员存款的返回。构成由于恶意活动而未返回的成员存款的(一个或多个)数字资产可以留在会议池中但不返回(响应于应当采取该行动的共识),立即或在将来被转移到另一个不可耗用的地址,或以其他方式没收,并且没收的性质可以取决于会议是否充当用于侧链的担保验证者集合。例如,在操作504,响应于检测到恶意方的恶意活动,进行方法500的节点102可以使用私钥份额来提供在没收交易(其是这样一种交易:将数字资产转移到不可耗用的地址或作为揭发恶意活动的奖励的另一个节点)上的部分签名。也就是说,该节点与会议的其他节点合作,以没收先前由恶意方转移到公共群组地址(即,转移到会议池)的数字资产的至少一部分。也就是说,响应于观察到群组成员违反预定协议或准则,将私钥份额用于帮助与该群组成员相关联的、且在会议池中持有的一个或多个数字资产的交易的授权。
[0103] 因为阈值签名方案与会议公钥一起使用,所以单独行动的个别节点不能将另一个会议成员的数字资产的存款转出离开会议池(例如,转移到不可耗用的地址)。相反,当阈值数量的私钥份额被它们各自的成员用于生成有效签名以将数字资产(多个)转移到另一个地址时,或者当至少具有阈值数量的私钥份额的成员群组达成共识以将成员挂起时(在操作503),数字资产只能通过转移而被没收,这导致来自被挂起成员的任何撤回请求都被自动忽略。当通过转移没收数字资产时,(一个或多个)数字资产可以被转移至其的其他地址可以与不可耗用的地址相关联。例如,另一个地址可以是不存在私钥的地址,因此任何一方都不能访问由该地址的公钥绑定的数字资产。当确认将数字资产转移到不可耗用的地址的交易时或者当在侧链上达成共识应该没收数字资产时,数字资产可能视为已经被烧毁,因为它们不再可以被会议的任何成员或者实际上被区块链网络100中的任何节点耗用。
[0104] 因此,在操作504,节点可通过与会议的其他成员合作地使用私钥份额来没收数字资产,以生成用于交易至不可耗用的地址的有效签名,并且在一些实施方式中可以涉及在第二区块链上达成共识,即应当永久剥夺成员的全部或部分存款。
[0105] 此外,在一些实施方式中,会议可以充当担保验证者集合,用以确保权益证明侧链,并且该侧链可以用作广播信道。例如,会议成员可以在侧链上达成共识,即成员已经恶意行动。这种共识可以与包含恶意活动的控告证据的、对侧链交易的确认相对应。达成共识后,恶意成员提出的任何撤回成员存款的请求将被拒绝,并且存款将被视为没收。没收的数字资产可能在将来的某个时间被烧毁。也就是说,在以后的某个时间,阈值数量的成员(不包括恶意成员)可以合作,以授权将没收的数字资产转移到不可耗用的地址。
[0106] 因为会议是可通过存储数字资产而由区块链网络100的任何节点102加入的开放群组,所以群组成员资格可以周期性地改变。在发生这种改变时,可以更新私钥份额分配。下面参考图6,示出更新私钥份额分配的示例性方法600。方法600可通过区块链网络100的节点102与区块链网络100的其他节点合作进行。
[0107] 使用新公共地址更新私钥份额分配
[0108] 在方法600的操作602,节点102检测到重新分配请求,重新分配请求是一种其实现牵涉到重新分配密钥份额的请求。例如,节点102可以检测到潜在的新成员已经将数字资产转移到公共群组地址中或者现有成员已经请求撤回成员存款。
[0109] 数字资产可以通过如下节点转移到公共群组地址:请求加入会议或者增加他们在会议中的参与度的节点以及并未请求加入会议但是因为其他目的将数字资产转移到会议的其他节点(例如将数字资产转移到侧链,如下所述)。在操作602,节点102可以使用包括在数字资产到公共群组地址的至少一部分交易中的一个或多个属性来识别会议成员(即,将数字资产转移到会议公钥以加入会议而不是处于其他目的的各方)。例如,可以使用交易中的属性将某些交易标记为特殊交易。这些属性(不管存在还是不存在)可以指示进行转移的目的。例如,当转移者未请求加入会议时,可以在交易中包括标记。
[0110] 响应于在操作602检测到其实现牵涉到重新分配密钥份额的请求,在操作604,节点102以类似于在图4的方法400的操作408生成私钥份额的方式,生成新的私钥份额。会议的其他成员节点也生成相应的私钥份额。这些私钥份额可以与用于新会议公钥的阈值签名方案一起使用。将在此时离开会议的成员在操作604期间不生成新的私钥份额并且因为他们不会被分配以与新的会议公钥一起使用的私钥份额,所以他们失去参加会议的能力并且不再被视为会议成员。
[0111] 此外,响应于检测到重新分配请求(重新分配请求是其实现牵涉到重新分配密钥份额的请求),在操作606,节点102与其他会议成员合作,将公共群组地址中的所有数字资产转移到与新公钥(以后会成为新的会议公钥)相关联的新公共地址。
[0112] 因此,根据图6的方法600,当存款的分配改变时或当从成员接收到撤回存款的请求时,可以重新生成私钥份额,并且可将所有在会议控制下的数字资产移动到新的公钥。会议成员资格可被更新的频率受到区块链网络100的区块时间限制。很多应用程序可能只需要在低频率下重新平衡。
[0113] 在保留现有公共群组地址的同时更新私钥份额分配
[0114] 下面参考图7,示出更新私钥份额分配的另一个示例性方法700。方法700可通过区块链网络100的节点102与区块链网络100的其他节点合作进行。
[0115] 在图7的方法700中,每次成员存款的分配改变时,会议公钥不改变。当检测到用以分配新密钥份额的请求时(在操作702,其可通过将数字资产存放到公共群组地址而发生),节点102与会议的其他成员合作,以(在操作704)向群组的新成员发布用于相同公钥的新的私钥份额。合作的节点数量至少是在阈值签名方案下生成数字签名所需的节点的阈值数量。在操作704,可以分配额外的密钥份额,而其他密钥份额保持不变。这可能牵涉到(阈值签名方案)的阈值改变,但是实际上改变可能很小。或者,在操作704,可以分配额外的密钥份额,同时更新其他密钥份额。这种更新需要伴随着对删除任何上一代密钥份额的证明。在这种情况下,可以在保持相同阈值的同时分配新份额(在SSS的背景下,这涉及共享更高阶的新的多项式)。
[0116] 在操作702,节点102可以使用包括在数字资产到公共群组地址的至少一部分交易中的一个或多个属性来识别会议成员(即,将数字资产转移到会议公钥以加入会议而不是因为其他目的的各方)。例如,某些交易可以使用交易中的属性标记为特殊交易。这些属性(不管存在还是不存在)可以指示进行转移的目的。例如,当转移者未请求加入会议时,可以在交易中包括标记。
[0117] 当成员离开使用方法700的会议时,他们可以安全地删除他们的私钥份额。为了确保旧成员的私钥份额不可用,可以要求会议的成员使用具有特殊TEE的节点102。TEE是在硬件级别实现的体系结构,它保证在其中执行的指令和数据免受来自系统其余部分的访问和操作。TEE可以采用硬件机制来响应远程证明询问,其可用于向外部方(例如,会议中的其他节点)验证系统的完整性。
[0118] 每个成员节点可以使用经证明的TEE,该经证明的TEE被配置为生成一个或多个随机秘密值,该随机秘密值保持对于主机系统的不可访问而不会损害集成电路级别的硬件。通过这种方式生成的秘密值将用于私钥份额的分布式生成(例如,在图4的方法400的操作
410中)。该秘密值还可用于在会议的设立阶段建立共享公钥。与设立协议相关联的计算在TEE飞地内进行,使得任何成员或前成员都不能根据成员间通信或任何其他方法得出关于他们自己或其他私钥份额的任何信息。TEE内的飞地使得能够进行远程证明协议,其可用于向其他节点证明TEE飞地是可信的并且它正在运行经批准的计算机可读指令。
[0119] 与群组改变相关联的计算在TEE飞地内进行。例如,在TEE飞地中进行新安全随机秘密的生成,该新安全随机秘密可用于处于SSS目的计算新多项式的。
[0120] 此外,TEE飞地的目的是确保在返回成员存款之前,安全删除不再使用的先前密钥份额和先前秘密。更具体而言,为了将成员存款返回,证明协议可能要求TEE飞地证明密钥份额的删除。通过远程证明协议,每个节点102可将这种证明解释为对在其他节点上已经发生所需删除的确认。因此,方法700还可包括确认先前在离开会议的成员的TEE内持有的私钥份额已经从与该成员相关联的节点中删除。可通过接收对私钥份额的删除的证明来进行该确认。因此,远程证明协议可用于获得对先前在离开会议的成员的TEE中持有的私钥份额的删除的证明。
[0121] 图6的方法600和图7的方法700都提供各种好处。例如,图6的方法600不依赖于安全删除,也不需要依赖可信的硬件。但是,图6的方法600可以得益于这种硬件,因为在某些情况下,这种硬件可以使得密钥份额的恶意汇集更加不可能。
[0122] 图7的方法700避免每次成员资格变更时必须在新的会议公钥下重新锁定数字资产。此外在一些情况下,方法700与图6的方法600相比可以更快地更新成员资格,因为在图7的方法700下,不需要将交易添加到区块链中以将所有数字资产移动到新的公钥,这是因为数字资产并未移动到新的公钥。也就是说,可以使用图7的方法700来更新成员资格而无需等候生成若干区块来确认将数字资产转移到新公钥,因为公钥并未改变。
[0123] 从会议注销
[0124] 如上所述,群组成员有时候可以请求离开会议,并且当群组成员从会议注销时,他们存放到会议池的数字资产可能会被返回给他们。下面参考图8,以流程图的形式示出返回存款的示例性方法800。该方法可通过节点102与会议的其他节点102合作进行。
[0125] 在方法800的操作802,节点102从作为会议成员的请求者接收撤回请求。撤回请求也可称为注销请求。撤回请求是撤回由请求者先前存放并且当前由会议控制的数字资产的请求。请求可能已由请求者向所有会议成员广播。
[0126] 响应于接收请求,节点102在操作804针对确定的准则评估请求。这些准则可以是预定准则。如果会议根据其中每次群组成员资格改变时会议公钥未改变的会议协议进行操作,则在操作804,节点102可以确认请求者已经删除私钥份额。可以使用与TEE相关联的远程证明协议来获得这种确认。
[0127] 如果会议协议是在成员资格改变时会议公钥被改变的协议,则节点102可以不确认私钥份额的删除,因为私钥份额不再有效。相反,可以使用新的会议密钥,并且可将会议控制下的其他数字资产转移到新的会议密钥。
[0128] 如果节点102基于评估批准撤回请求,则在操作806,节点帮助撤回数字资产。也就是说,节点102使用其私钥份额来合作生成数字签名并使用数字签名将请求者先前存放的数字资产转移回请求者。例如,可将数字资产发送回先前从其接收到该数字资产的地址。根据阈值签名方案进行操作806,使得仅在至少阈值数量的会议成员授权撤回时才进行撤回。在希望注销的成员被挂起而不进行活动一段时间之后进行操作806。这个等待时段阻止了成员在进行用于其成员存款返回的协议时从事不当行为。
[0129] 会议协议可用于很多不同目的。会议提供进行各种功能的安全机制。会议可以无信任地操作,并提供对数字资产所有权的控制。
[0130] 例如,会议协议可用于实现安全的无许可的工作量证明区块链和安全的无许可的权益证明区块链之间的双向锚定。双向锚定是一种允许将数字资产从一个区块链有效地转移到另一个区块链再返回的机制。更具体而言,可将数字令牌从主区块链网络(可称为主链)转移到单独的副区块链网络(可称为侧链或替代链)。主链不一定是特殊配置的主链。实际上,下面描述的技术将与主链(例如比特币)上的现有协议一起操作。这些技术将与任何使用数字签名来授权数字资产的转移的主链一起操作。如下更详细所述,由主链的转移可通过伴随侧链的矿工在侧链上铸造对应的数字资产而在主链上临时锁定数字资产来实现。当存在这种行为导致在主链上解锁等量数字资产的机制时,也可通过在侧链上烧毁数字资产来进行从侧链到主链的转移。
[0131] 具有多个区块链网络的系统
[0132] 现在参考图9,其示出了示例性第一和第二区块链网络的方框图。第一区块链网络900是工作量证明区块链网络。第一区块链网络900可以是上面参考图1所述的类型。第一区块链网络900包括多个节点102a、102b,它们使用适当的通信技术相互耦接,所述通信技术可包括有线和无线通信技术。
[0133] 第一区块链网络900的节点102a、102b维护第一区块链(可被称为主链)上所有交易的全局账本。节点102a、102b的至少一部分作为第一区块链网络900的矿工104操作。
[0134] 第二区块链网络902是权益证明区块链网络。第二区块链网络902包括多个节点102c、102b,它们相互耦接并维护第二区块链网络902的全局账本。第二区块链网络902的全局账本独立于第一区块链网络900的全局账本并且与其不同。第二区块链网络902的全局账本可被称为侧链。
[0135] 基于权益证明的第二区块链网络902提供用于达成共识的备选机制。在权益证明区块链网络中,区块链通过权益证明而不是工作量证明来保护。在权益证明下,矿工906存入数字资产的保证金,并且被选择作为开采区块的节点的概率与作为保证金提供的数字资产的数量成比例。权益证明区块链系统可用于避免开采工作量证明区块链所需的计算费用和能量。此外,与工作量证明区块链相比,权益证明区块链可以允许更高频率和更规则的区块创建。
[0136] 第二区块链网络902还包括使用适当的通信技术耦接在一起的多个节点102b、102c。这些节点102b、102c维护第二区块链网络902的全局账本。
[0137] 多个节点102b充当第二区块链网络902的矿工906。因为第二区块链网络902是权益证明区块链网络,所以矿工906存放数字资产,以便作为矿工被包括在内。更具体而言,用于侧链的矿工906形成担保验证者集合,以便在第二区块链网络902上开采。这些矿工906也是与第一区块链网络900相关联的会议110的成员。也就是说,作为第一区块链网络900和第二区块链网络902两者中每一者的一部分的节点102b充当第二区块链网络902的矿工906并作为第一区块链网络900上建立的会议110的成员。这些矿工906加入会议110并根据上述方法参加会议110。他们将数字资产存入会议池中是在主链中进行的。也就是说,会议成员将他们的“权益”存放在工作量证明第一区块链网络900上,以成为第一区块链网络900的会议成员,并且还通过形成担保验证者集合,在第二区块链网络902上充当矿工906。第一区块链网络900上的成员存款充当第二区块链网络902的保证金。
[0138] 此外,因为成员持有的私钥份额的数量是基于该成员的保证金的金额,并且因为这种存款因恶意行为而被没收,所以对会议活动影响更大的成员(即持有更多私钥份额的成员)比影响力更低的成员有更多的损失。会议110是开放成员群组,其可通过任何节点在向与会议110相关联的池提交足够的权益时加入。因为会议成员是第二区块链网络902上的矿工,所以他们可以在第二区块链网络902上创建新的数字资产,从而有效地将数字资产从第一区块链网络900转移到第二区块链网络902。会议110可用于提供工作量证明区块链与权益证明区块链之间的双向锚定。
[0139] 图9所示的节点102a、102b、102c可以是上面参考图2所述类型的电子装置200。
[0140] 双向锚定
[0141] 下面参考图10,图10以流程图的形式示出提供双向锚定的方法1000作为示例。方法1000可通过节点102b进行,节点102b在第一区块链网络900(即,在工作量证明区块链网络中)和第二区块链网络902(即,在权益证明区块链网络中)两者中操作。计算机可读指令可以存储在这种节点的存储器中,并且这些指令在通过节点的处理器执行时配置处理器以进行方法1000。
[0142] 在操作1002,节点102b加入会议。可通过上面参考图4所述的方式加入会议。例如,节点102b可将一个或多个数字资产转移到与会议公钥相关联的公共群组地址。公共群组地址具有与会议的其他成员(例如,其他节点102b)相关联的一个或多个其他数字资产。当节点102b加入会议时,节点102b生成私钥份额用于阈值签名方案,其中至少必须使用私钥份额的阈值来生成代表会议的有效签名。如上所述,阈值签名方案可以是各种类型的,包括椭圆曲线数字签名算法或基于Schnorr方案的阈值方案。
[0143] 其他私钥份额持有者是会议的其他成员,他们通过将相应的数字资产转移到公共群组地址而在许可或未经许可的基础上加入会议。
[0144] 在操作1004,加入会议的节点102b与会议的其他成员一起在权益证明区块链网络上(例如,在第二区块链网络902上)形成担保验证者集合。也就是说,在将数字资产作为保证金(其存放可称为“担保”)存放之后,会议的成员(其通过第一区块链网络900上的存款形成)现在在第二区块链网络902上充当矿工,为第二区块链网络902周期性地生成新的区块。
[0145] 在已经形成会议之后,作为会议成员的节点102b可以在操作1006检测对工作量证明区块链网络上的数字资产到群组公共地址的特殊交易的确认。如果交易满足将其与用于加入会议的交易区分开的预定准则,则确定该交易是特殊的。例如,如果交易包括特定标记、变量或属性,则可以确定该交易是特殊的。值得注意的是,由于特殊交易将数字资产转移至群组公共地址,因此其具有使这些资产无法进入(除了进入会议池之外)的效果。换句话说,该交易具有锁定特定交易的数字资产而使其不进行除了由会议池转移之外的转移的效果。
[0146] 在检测到特殊交易之后,节点102b可以等待,直到已经将至少阈值数量的区块添加到工作量证明区块链网络的区块链中。该等待时段可以降低在工作量证明区块链网络上可能重新组织区块链的险,在工作量证明区块链网络上可能重新组织区块链可以使操作1006的交易无效。因此,虽然在图10中未示出,但是该方法可包括在检测到特殊交易之后确定已经将至少阈值数量的区块添加到工作量证明区块链网络的区块链中的操作。
[0147] 在已经将阈值数量的区块添加到工作量证明区块链之后,节点102b将对应的数字资产铸造在权益证明区块链网络上(在操作1008)。这些数字资产是响应于检测到特殊交易而铸造的,并且以与在操作1006检测到的特殊交易中的数字资产的数量相对应的数量被铸造。
[0148] 铸造的数字资产在权益证明区块链网络上被置于与公钥所有者相关联的帐户中,其使得特殊交易在1006被检测到。根据定义,权益证明区块链网络上的铸造数字资产可以使用权益证明区块链网络来操纵(例如,可以在权益证明区块链上的地址之间转移)。此外,由于这些数字资产是响应于来自工作量证明区块链网络的资产的锁定而铸造的,因此它们对应于锁定的数字资产。因此,在工作量证明区块链网络上将数字资产转移到会议的一方在权益证明区块链网络上继续对数字资产的控制。该方现在可通过各种方式自由使用这些数字资产,包括例如将这些数字资产转移到其他账户。
[0149] 铸造由所选择的会议议员来进行。更具体而言,选择也充当用于权益证明区块链网络的矿工906的会议成员,以通过权益证明区块链网络生成区块。选择节点的概率是基于该节点已投注的数字资产的数量。概率可以与节点存放到会议公钥的数字资产的数量成比例。
[0150] 一段时间以后,数字资产的所有者可能希望将它们转移回工作量证明区块链网络(即,回到主链)。为此,他们可以发出将数字资产转移回工作量证明区块链网络的请求。这种请求可以在权益证明区块链网络上以特殊交易的形式发布。该交易可能是特殊的,因为它是到特殊的不可耗用的地址的交易,不可耗用的地址是当发送者希望将这些资金转移回主链时应向其发送资金的地址。也就是说,交易可以是特殊的,因为地址是特殊地址。在操作1010,节点102b可以检测用于将权益证明区块链网络上的数字资产转移回工作量证明区块链网络的请求。例如,在操作1010,可以存在将资金发送到特殊地址的交易的开采。
[0151] 为了防止重组,节点102b可以等待,直到在操作1010检测到请求之后将至少阈值数量的区块添加到权益证明区块链网络的区块链中。因此,虽然在图10中未示出,但是方法1000可包括在检测到请求之后确定已经将至少阈值数量的区块添加到权益证明区块链网络的区块链中的操作。
[0152] 响应于检测到这样的请求并且确定已经将阈值数量的区块添加到权益证明区块链中,节点102b在操作1012使用其用于会议的私有密钥份额合作生成用于来自公共群组地址的交易的有效签名。例如,在会议成员之间,交易可以直接传递或通过在侧链上包括交易中所需的信息而经由侧链来传递,并且成员可以添加他们的部分签名,直到获得有效签名,此时可将交易广播给工作量证明区块链网络的矿工104。交易将数字资产转移到工作量证明区块链网络上的地址,该地址可以是与在操作1010检测到的发出请求的节点相关联的地址。
[0153] 在操作1010,数字资产被转移到的特殊地址是不可耗用的地址。因此,在操作1010的数字资产的转移在权益证明区块链上烧毁数字资产,以防止双重花费(即,数字资产在两个区块链上的重复)。
[0154] 为了增强安全性,可以在节点中的可信执行环境中进行转移的至少一部分操作。例如,可以在节点上的可信执行环境内进行对将至少阈值数量的区块添加到权益证明区块链网络的区块链中的确定。在使用私钥份额之前,节点还可以确认在可信执行环境内在操作1010检测到的请求的有效性。私钥份额的生成和使用也可在可信执行环境中进行。
[0155] 确保单向投注攻击
[0156] 为了进一步增强安全性,协议可包括一个或多个保护措施以防止单向投注攻击。当欺诈者(即,与恶意方相关联的节点)在主链上构建交易时,发生单向投注攻击的示例,该交易在会议的控制下(即,通过会议公钥来阻碍)耗用数字资产的全部或一部分。欺诈者可以向其他成员提供交易以添加部分签名。如果与成员相关联的阈值数量的私钥份额参与,则可以生成有效签名。如果在协议中使用的阈值签名方案不是聚合签名方案(例如,如果使用ECDSA),则可能难以识别贡献部分签名的成员。如果欺诈成功而可能应当进行支付的成员可以将其部分签名添加到交易中并传递该交易,而无需冒险作为一方暴露给欺诈者。然后可将添加部分签名视为单向投注,因为可能发生的最坏情况就是收集不足够的部分签名以获得完整签名。
[0157] 因此,该协议可包括用于保护协议免受单向投注的一个或多个特征。例如,可将每个节点的TEE配置为向所有交易周期性地证明他们已经部分签名和/或在要求归还他们的存款之前可能需要他们广播这样的证明。如果节点证明已经将部分签名添加到后来被判断(通过会议成员的阈值)为欺诈性交易的交易,那么这种恶意活动可以被其他诚实的成员节点检测到(例如,在图5的方法500的操作502))。当检测到这样的恶意活动时,诚实的成员节点可以合作以挂起该成员(如上参考图5的方法500的操作503所述)和/或没收该成员的数字资产(如上参考图5的方法500的操作504所述)。该技术虽然可用于帮助保护协议免受单向投注,但在使用定期证明时可能带来开销。此外,在返回存款之前需要证明的情况下,可能长时间不能检测到欺诈。
[0158] 该协议可包括其他安全措施,以便防止单向投注。例如可以使用聚合签名方案,例如Boneh、Gentry、Lynn和Shacham的“BGLS”方案(Aggregate and Verifiably Encrypted Signatures from Bilinear Maps.International Conference on the Theory and Applications of Cryptographic Techniques,EUROCRYPT 2003:Advances in Cryptology-pp 416-432)。聚合签名允许不同的签名者签署不同的消息,同时只产生一个签名,这可以在“单发”中被验证。
[0159] 为了使用BGLS,每个成员的TEE可以为主链上使用的阈值签名方案和BGLS私钥保持单个私钥份额。与BGLS私钥相对应的公钥可称为份额ID(“SID”)。BGLS私钥可以是使用TEE内的安全随机数发生器生成的随机数。阈值签名方案的私钥份额是使用多方密钥生成协议在TEE内计算的份额。
[0160] BGLS可通过以下方式提供针对单向投注的保护措施。当节点为了注册的目的而支付到会议公钥中时(可以在图4的方法400的操作404中发生),注册交易可包括:i)飞地已经看到的主链上的最新区块的数量和散列、以及第二区块链(即侧链)上最新区块的数量和散列,该第二区块链可用作成员之间通信的广播信道;ii)引用(由TEE的证明密钥签名并绑定到SID的飞地内的存储器的初始内容的散列)。
[0161] 在请求TEE提供注册交易所需的数据之前,成员必须将主链和第二区块链上的所有区块依次发送到他们的TEE中,从每个区块链的创世区块开始。TEE被配置为检查主链上的工作量证明并保留当前成员资格的记录,这可通过分析注册和注销交易来获得。这允许TEE独立地(例如独立于其所有者)建立当前的SID。也就是说,它允许TEE建立与会议的所有当前成员相对应的SID。
[0162] 为了注册(例如,在图4的方法400的操作404期间),(潜在)成员向作为主链的区块链网络(例如,向图9的第一区块链网络900)构建、签署并广播可支付给会议的公共群组地址的注册交易。注册交易参考对于至少一个密钥份额而言足够的UTXO。当在主链上确认注册交易时,会议的成员可以合作向注册成员的TEE发布新的密钥份额(例如,如上面参考图7的方法700的操作704所述)。
[0163] 当会议希望发起被会议公钥阻碍的数字资产的交易时,会议中的节点可以在第二区块链网络上(即,在诸如侧链的替代链上)提出交易T(M)。此时,交易T(M)是一个未签名交易,其目的是转移在侧链A上提出的、主链M上的数字资产。也就是说,可将第二区块链网络(即侧链)用作广播信道。当一个成员希望将某些信息传递给所有其他成员时,他们可将其置于交易中并发送到侧链。
[0164] 当在第二区块链的顶部开采至少阈值数量的区块时,将交易T(M)视为在该第二区块链网络(侧链)上被批准。当TEE观察到交易在第二区块链网络上(即,在诸如侧链的替代链上)被批准(即,提出并确认)时,它们广播预提交。预提交由交易上的BGLS签名T(M)和对应于BGLS签名的SID组成。预提交被发送到第二区块链网络,从而与其他会议成员共享。也就是说,可在第二区块链网络上的将预提交封装在交易中。
[0165] 一旦节点观察到预提交的阈值,并且更具体而言,通过主链和第二区块链网络两者的区块被输入其中的TEE,节点将输出已经预提交的交易T(M)上的提交(部分签名)。例如,可将阈值设置为所有当前SID的简单多数。包含在交易中的提交在包含T(M)上的部分签名的第二区块链网络上被发送,其参考T(M)。
[0166] 当在第二区块链网络中观察到至少阈值数量的提交以构建完整签名时,构造签名的交易T(M)并将其广播至第一区块链网络(例如,向主链)。
[0167] 使用预提交可以提供额外的安全性,因为聚合签名方案的属性意味着成员不能在不透露其身份的情况下贡献预提交。也就是说,其身份以SID的形式透露,SID在注册过程中与成员存款相关联。
[0168] 除了上述措施之外,可以进一步配置与节点相关联的TEE,使得仅在交易已经在第二区块链网络上被批准的情况提交或预提交该交易。例如,所有区块都可以在TEE内构造,TEE被配置为使得区块总是包含预提交或提交,以批准需要它们的交易(与构造它们的TEE的SID相对应)。因此,成员不能避免向被批准的交易发送提交或预提交,并继续在侧链上开采。
[0169] 观察到对第二区块链网络上的未被批准的交易的预提交的节点可以向担保验证者集合的其他成员报告这种恶意行为。如上所述,恶意成员(由其SID识别)可通过挂起和/或没收成员存款而受到处罚。例如,响应于观察到未被批准的交易的预提交,成员资格可以合作以立即挂起SID,使得不再接受任何进一步的预提交,并且有过错成员被挂起使得其不参与协议。此外,一旦在第二区块链网络中确认包含控告证据的交易,就可以将有过错成员的存款视为没收并烧毁他们的存款。诚实的成员可以合作奖励报告恶意行为的节点(例如,通过将被没收的(一个或多个)数字资产的至少一部分转移到报告恶意行为的节点)。因此,在预提交阶段中应用聚合签名方案可以增强协议的安全性,例如,通过防止单向投注攻击。
[0170] 为了防止成员试图欺骗TEE确定当前主链中工作量证明的难度小于其当前难度,可将TEE配置为在观察到难度急剧下降时采取行动。更具体而言,如果区块在到达时被提交给TEE,则可以根据区块之间的时间间隔建立难度。难度的任何减少都预期是渐进的,而成员试图通过在区块到达时不提供区块来欺骗TEE可能导致急剧下降(基于预定准则可以将下降确定为“急剧地”),以使其看起来好像难度已经下降,因此伪造工作量证明主链的区块更容易。为了提供进一步的安全性,可将TEE配置为通过输出预提交到要被开采到第二区块链网络的新难度(连同区块的散列和区块号)来响应观察到的主链上的难度的急剧下降。区块的散列被包括为允许证实区块对应于新难度并且区块号被包括为允许其他成员迅速将所声明的难度/区块散列与其区块链副本上相同高度的区块进行比较。
[0171] 只有在所述相同难度上向其提供包含预提交的阈值的第二区块链的区块时(与在难度急剧下降之前将其存款就位的其他成员相对应),它才重新校准主链难度并接受在主链上注册的任何新成员,因为观察到难度的急剧下降。
[0172] 如果使用诸如BGLS的聚合签名方案,则返回成员存款的程序可包括附加要求。例如,可能要求请求返回存款的节点证明私钥份额和BGLS私钥这两者的删除(通过其TEE)。如果撤回成员已经证明删除了私钥份额和BGLS私钥这两者,那么在将成员存款返回该撤回成员的交易中可将其他成员节点配置为仅包括它们的预提交或部分签名。
[0173] 用于撤回成员的节点也可能需要通过其TEE证明它已经预提交或提交的所有交易。如果该撤回成员尚未预提交被确定为已经被批准的任何交易,那么在将成员存款返回该撤回成员的交易中可将其他成员节点配置为仅包括它们的预提交或部分签名。
[0174] 由于上述程序,恶意成员极不可能得益于从TEE扣留区块。除了与确认的SID相对应的TEE之外,TEE会认为有效的唯一预提交是那些与不再存在的BGS私钥相对应的预提交(并且这种情况可能有仅有发生的唯一方式是,如果成员没有向TEE提供最新的区块,并且实际上,当他们离开会议,删除他们的密钥份额并要求归还他们的成员存款时,TEE登记一些成员作为当前成员)。此外,作为以上的结果,成员不能诱导其TEE对欺诈性(即,未批准的)交易提供预提交,并且随后被会议授权返回其存款。因此,成员得到激励,以确保TEE具有区块链(即,主链和替代链)的最新副本。
[0175] 因此,可通过将节点配置为根据包括以下特征的一个或多个的协议操作来保护协议:i)将TEE配置为在它在预提交交易上输出部分签名之前要求在第二区块链网络(例如,工作量证明侧链)上观察到预提交的阈值;ii)仅当用于该成员的TEE a)证明了私钥份额和BGLS私钥的删除以及b)它已经预提交的所有交易,并且这些都没有被判断为尚未被批准(通过第二区块链网络上的共识)时,才返回成员存款;iii)在TEE内构建的任何区块将始终包含对于需要它们的被批准的交易(即,那些尚未收集(预)提交的阈值的被批准/预提交的交易)的(预)提交;iv)可将TEE配置为通过将预提交输出到要被开采到第二区块链网络的新难度(连同区块的散列一起)来响应观察到的主链上的难度的急剧下降。只有在所述相同难度上向其提供包含预提交的阈值的第二区块链的区块时(与在难度急剧下降之前将其存款就位的其他成员相对应),它才重新校准主链难度并接受在主链上注册的任何新成员,因为观察到难度的急剧下降。
[0176] 支持本文所述第二区块链网络的协议可以在现有的工作量证明公共区块链协议(例如比特币)之上分层,而无需许可,因为它通过经由主链(例如比特币)外部的多方协议构建数字签名来交互,这意味着它可以在不需要主链矿工或开发商的同意的情况下操作。因此,该协议可通过现有的公共工作量证明区块链来实施,并且不取决于对该公共工作量证明区块链的协议的修改。在这个意义上,可将协议未经许可地添加到区块链中(因为区块链协议本身不需要被修改以适应进一步的协议)。例如,该协议可以与任何经由数字签名方案为交易授权的工作量证明区块链一起使用。目前,公共区块链的已知实施方案使用数字签名方案为交易授权。
[0177] 以上所述方法一般被描述为在节点执行,但是该方法的特征依赖于与其他节点的合作并且可以在其他地方进行。
[0178] 虽然以上描述一般性地描述了在工作量证明区块链网络上实现会议,但是替代性地,可以在权益证明区块链网络上实现会议。
[0179] 除了已经提到的某些好处和特征之外,本文所述技术可以提供额外的好处。例如,双向锚定可以允许将图灵完备智能合约功能添加到二进制区块链系统,该系统由现有的工作量证明区块链(例如比特币)和权益证明侧链组成。更具体地,可赋予权益证明侧链以图灵完备脚本语言来实现这种功能。此外,本文所述的至少一些技术可以提供这样的权益证明区块链:其不会受到先前建议的权益证明区块链的实施的无利害关系问题的影响;并且可以提供与传统的权益证明方案相关联的更快和更规则的区块创建的优点。此外,本文所述的至少一些技术为权益证明主链的矿工提供激励,以保持大量数字资产,这增加了工作量证明主链的安全性。
[0180] 应当注意,上述实施例是说明而不是限制本发明,并且本领域技术人员将能够设计很多替代实施例而不脱离所附权利要求限定的本发明的范围。在权利要求中,括号中的任何附图标记都不应解释为限制权利要求。词语“包括”等不排除除了在任何权利要求或说明书中作为整体列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括”表示“包含”或者“由…构成”。元素的单数引用不排除这些元素的复数引用,反之亦然。本发明可通过包括若干不同元件的硬件,以及通过适当编程的计算机来实现。在列举了若干器件的装置权利要求中,这些器件中的若干个可通过硬件的一个项目或相同项目来具体实施。在相互不同的从属权利要求中陈述某些措施的纯粹事实并不表示这些措施的组合不能用于获益。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈