门限签名方案(TSS)是用于分布式密钥生成和签名的密码原语。在区块链客户端中使用TSS是一种新的范例,可以提供许多好处,尤其是在安全性方面。从广义上讲,TSS可以影响密钥管理系统(例如,加密钱包)的设计,并为DeFi用例中的本机支持开辟道路。话虽如此,TSS仍然是一种新技术,因此也应考虑其风险和局限性。
在本文中,我们将介绍TSS是什么,TSS给区块链空间带来哪些潜在优势,如何在区块链客户端中实现,如何与Shamir秘密共享和Multisig进行比较,有哪些不同的方式来实现?使用TSS进行分布式密钥管理,最后我们讨论了风险和局限性。
密码学的力量
要了解TSS,我们首先需要一些密码学的基础知识。自1970年代以来,越来越多的Internet系统(例如TLS和PGP)采用非对称密码术,这也称为公钥密码术(PKC)。PKC使用两个密钥:一个公开密钥和一个私有密钥。尽管公钥不是秘密的,并且可以被任何人公开和使用,但私钥是代表系统安全性的一条秘密信息。
加密和数字签名是PKC的两种最常见用法。加密和数字签名方案都依赖于三种算法的集合。首先是私钥和公钥对的生成,其次是密文/签名的生成,第三是解密/验证的过程。关于数字签名,签名算法要求只有其所有者知道的私钥才能产生唯一的签名。签名以某种方式附加到给定消息上,任何持有公钥的人都将能够验证其真实性和正确性。
Blockchain
毫无疑问,区块链是一项非常强大的技术。它提供了一个组织和记录事件的共识层。这样的基础设施为我们,用户提供了建立去中心化经济体甚至政府的潜在力量。出乎意料的是,运行基本区块链所需的加密可以仅基于数字签名。在区块链的上下文中,私钥代表身份,而签名是由身份完成的公开声明或声明。区块链将根据一组规则对语句进行排序并对其进行验证,这些规则除其他事项外确保签名不可伪造和正确。
与区块链中使用的更为经典的密码技术相反,现代密码工具箱包含一些了不起的魔术:零知识证明,同态加密和多方计算。正如我们在过去十年中所看到的那样,区块链研究极大地推动了应用密码学的发展,在上述所有方面都有最新突破,甚至还有更多突破。
在本文中,我们将专注于这样一个突破:有效的安全门限签名(TSS)。
MPC和门限签名方案(TSS)
多方计算(MPC)是加密技术的一个分支,始于将近40年前的Andrew C. Yao的开创性工作。在MPC中,一组互不信任的各方试图在其输入上共同计算功能,同时将这些输入保持私有。
例如,假设一家公司的n名员工想知道谁的薪水最高,但彼此之间却没有透露他们的实际工资。在这里,私人投入是薪水,输出将是薪水最高的雇员的名字。使用MPC进行此计算,我们得出在计算过程中甚至没有泄漏任何薪水。
MPC的两个主要属性是正确性和隐私性:
-
正确性:算法产生的输出正确(符合预期)。
-
隐私:一方拥有的秘密输入数据不会泄露给另一方。
我们将使用MPC以分布式方式计算数字签名。让我们看看如何将以上属性应用于签名。回想一下,对于签名,我们分三个步骤:
-
密钥生成:第一步也是最复杂的。我们需要生成一个公开的密钥,用于验证未来的签名。但是,我们还需要为每一方生成一个个人秘密,我们将其称为秘密共享。在正确性和隐私性方面,我们说该功能将向所有各方输出相同的公共密钥,并且为每个各方输出不同的秘密共享,从而:(1)隐私:各方之间不泄漏任何秘密共享数据,并且(2)正确性:公钥是秘密共享的功能。
-
签名:此步骤涉及签名生成功能。各方的输入将是其秘密共享,作为上一步(分布式密钥生成)的输出创建。还有众所周知的公共输入,即要签名的消息。输出将是数字签名,并且隐私属性确保在计算过程中不会发生秘密份额的泄漏。
-
验证:验证算法保持经典设置。为了与单个密钥签名兼容,每个知道公钥的人都应该能够验证和验证签名。这正是区块链验证节点的工作。
门限签名方案(TSS)是我们对分布式密钥生成(DKG)和分布式签名门限签名方案的这种组合的称呼。
将TSS与区块链结合
可以在区块链中使用TSS的自然方法是更改区块链客户端以使用TSS生成密钥和签名。在这里,我们使用术语“区块链客户端”来指代由完整节点执行的命令集。实际上,TSS技术允许我们用分布式计算来替换所有与私钥相关的命令。
为了更详细地解释它,我们首先简要描述如何在经典区块链设计中创建新地址。简而言之,我们可以通过生成私钥,然后从私钥计算公钥来创建新地址。最后,区块链地址是从公钥中派生的。
现在,使用TSS,我们将有一组n个方共同计算公钥,每个方都持有私钥的秘密份额(单个份额不会透露给其他各方)。从公钥中,我们可以以与传统系统相同的方式获得地址,从而使区块链与地址的生成方式无关。优势在于,私钥不再是单点故障,因为各方只拥有一部分。
签署交易时可以做同样的事情。在这种情况下,我们将在多个参与方之间运行分布式签名生成,而不是由单个参与方使用其私钥进行签名。因此,只要双方有足够的诚实行事,各方都可以出示有效的签名。再次,我们从本地计算(单点故障)转移到交互式计算。
重要的是要提到,分布式密钥的生成可以采用允许不同类型的访问结构的方式进行:常规的“ t out of n”设置将能够承受与私钥相关的操作中最多t次任意失败,而无需损害安全性。
TSS与Multisig
一些区块链提供TSS功能作为软件的内置或可编程部分。我们将此功能称为multisig或multi-signature。为了更好地理解差异,我们可以将multisig视为区块链应用层中的TSS。
换句话说,multisig和TSS本质上都试图实现类似的目标,但是TSS在链外使用加密技术,而multisig在链上进行。但是,区块链需要一种编码多重签名的方法,这可能会损害隐私,因为访问结构(签名者的数量)暴露在区块链上。多次签名交易的成本较高,因为有关不同签名者的信息也需要在区块链上进行通信。
在TSS中,签名人的详细信息被折叠成具有常规外观的交易,从而降低了成本并维护了隐私。另一方面,multisig可以是非交互式的,从而省去了在不同签名者之间运行复杂的通信层的麻烦。
区别的主要点在于multisig是特定于区块链的,需要为每个区块链重新实现,在某些情况下,根本不支持它。相反,TSS依赖纯加密技术,因此始终可以提供支持。可以在此处找到有关差异的精彩文章。
TSS与Shamir秘密共享方案
Shamir秘密共享方案(SSSS)提供了一种以分布式方式存储私钥的方法,以便当私钥处于静止状态时,它可以存储在多个位置。SSSS和TSS之间有两个区别:
-
密钥生成:在SSSS中,有一个称为“交易者”的团体负责生成私钥秘密共享。这意味着在生成密钥时,私钥在单个位置生成,然后由经销商分发到不同的位置。在TSS中,没有经销商,因为它的角色是分布式的,因此完整私钥永远不会位于单个位置。
-
签名:在SSSS中,各方必须重构完整的私钥才能签名,这在每次需要签名时都会导致单点故障。在TSS中,签名是通过分布式方式完成的,而无需重建秘密共享。
如我们所见,在TSS中,私钥(代表系统的安全性)在整个生命周期中永远不会位于单个位置。
门槛钱包
基于TSS技术的钱包与传统的加密货币钱包有些不同。通常,常规钱包会生成一个种子短语,并使用它来确定性地得出地址。用户以后可以使用此分层确定性(HD)结构,以1)到达与钱包地址相对应的私钥并与其进行交易,以及2)使用种子短语来恢复所有钱包密钥。
在门槛钱包中,事情变得更加复杂。尽管可以生成HD结构,但是作为另一种MPC协议,必须以分布式方式计算其生成。各方需要共同决定下一个要使用的密钥。换句话说,每一方都有自己的种子词组。种子短语是单独生成的,并且永远不会合并在一起,因此,仅一方无法从其种子派生私钥。
基于TSS的钱包还具有良好的安全性功能,无需更改相应的公钥和区块链地址即可启用私钥轮换。私钥轮换(也称为主动秘密共享)是又一个MPC协议,它将秘密共享作为输入,并输出一组新的秘密共享。可以删除旧的秘密共享,并以相同的方式使用新的秘密共享。
这种结构为安全性增加了时间维度,这意味着攻击者必须同时在多个位置攻击门限钱包。如果要共享签名,则在轮换之前和轮换之后组合秘密份额不会给攻击者带来额外的权力。
这种钱包的缺点是缺乏种子短语,使其与单键钱包系统不兼容。因此,重要的是要考虑哪些方将持有秘密股份。
有几种可能的体系结构:
-
外包TSS:用户将让“ n”台服务器代表他们运行计算。有效地将密钥生成,管理和签名外包给不是资产所有者但提供安全层以换取某种激励的服务提供商。
-
使用多个设备:用户将在其拥有的设备之间运行TSS。例如-一方将是某物联网设备,另一方将是移动用户,另一方将是他们的笔记本电脑,依此类推。
-
混合:TSS的运行将使某些参与方受外部服务提供商的控制,而某些参与方在用户拥有的设备上运行。
第一种方法从用户客户端卸载繁重的TSS计算。另一方面,服务提供者可以串通(我们假设它们没有同时受到攻击,但是实际上,它们有可能受到攻击)并窃取用户的资产。
第二种方法使用户可以完全控制,但是由于需要多个设备上线并参与TSS计算,因此进行交易很麻烦。
第三种选择被认为是两全其美的选择,因为它为用户提供了一种方便快捷的交易方式,同时又不影响未经用户授权即可完成交易。
TSS和智能合约
多年来,研究人员发现了数字签名的许多用途,而且有些用途令人惊讶。如前所述,TSS是可以极大提高安全性的密码原语。在区块链的背景下,我们可以说许多功能可以被基于TSS的密码学所取代。分散的应用程序,第二层扩展解决方案,原子交换,混合,继承等可以在TSS框架之上构建。最终,这将使昂贵且有风险的链上智能合约运营被更便宜,更可靠的替代方案所取代。
举一些具体的例子:Multi-Hop Locks巧妙地利用了两方签名,可以用作比特币闪电网络的替代品,它具有更安全和私有的支付渠道网络。基于单个门限签名的验证,ShareLock可能是最便宜的以太坊链上混合解决方案。
风险
在过去的几年中,TSS的实施量显着增加。但是,作为一种相对较新的技术,它仍然存在一些局限性和担忧。与经典的公钥密码术相比,TSS协议可能非常复杂,尚待“战斗测试”。通常,与简单的数字签名相比,TSS需要额外的,较弱的加密假设。结果,现在正在发现传统设置中不存在的加密攻击媒介(请参阅Breaking Bitcoin Conference 2019的演示文稿)。安全工程师和应用密码专家可以协助您在系统中安全地部署TSS。
从积极的方面来看,由于质量贡献,同行评审,审计和算法性能的提高,现有的和新的实现方式变得越来越强大。
总结
在本文中,我们介绍了门限签名方案(TSS)的基础知识,这是一种引人入胜的加密原语,有可能显着改变我们使用区块链的方式。
由于本文未讨论可在币安链和比特币中使用的门限ECDSA,因此有兴趣者可参考以下近期论文列表。另外,如果您想使用某些TSS实现,则可以在此处找到两方Binance Chain钱包的代码,也可以尝试ZenGo wallet,它使用混合方法来提供非托管的两方Binance Chain钱包。
本文链接地址:https://www.wwsww.cn/btbjiaoxue/1273.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。