作者:LelandLee和DevOzha
具有讽刺意味的是,一些市值数十亿美元的加密货币本身并不支持多重签名。其中m-of-n的签名者需授权一笔交易。我们不需要审判,因为也许我们只设计了一把私钥。但这不是我们想要生活的世界,因为谁都不想因为错误的智能合约或丢失的私匙,而损失数百万美元。
今天,我们将研究各种适用于UTXO和帐户模型的交易签名多重签名方案。请注意,一些方案仍在被积极研究当中,并且会有多种具有不同属性的构造。如果读者因本文涉及太多的技术内容,而不想看这些枯燥的东西,您可直接跳至“权衡空间”部分,查看各签名方案的优劣势。
在目前的情况下,现有的区块链已采用了几种不同的系统,让多个所有者控制同一笔区块链token,以太坊是基于智能合约,而比特币则基于脚本。
基于智能合约的例子:以太坊、Tezos、EOS、Vechain、ETC;基于脚本的例子:比特币、莱特币、Iota、Cardano、Zcash、NEO、DASH、Decred;客户端内置:恒星和瑞波;自定义密码系统:GRIN和门罗;一、签名是如何工作的
Tether:2023年Q1净利润为7亿美元,彭博社散布的FUD并未影响其业务:4月5日消息,Tether官方发文重申该公司并未接触过Silvergate、SVB和SignatureBank,同时表达其对彭博社“不负责任”报道与编撰诱饵标题(标题党)的不满。此外,Tether在文中透露,该公司2023年一季度净利润录得7亿美元,该数值超过了2022年四季度,且Tether对二季度的前景持乐观态度。[2023/4/5 13:46:29]
为了在任何区块链上发送有效的交易,必须采取几个步骤:
构造一笔有效交易;使用帐户或UTXO的相应私钥签署交易;将签名的交易提交到网络;矿工核实交易和签名;交易被放置到一个区块当中,并更新相关的区块链状态;二、非密码技术及其问题
智能合约:虽然基于智能合约的多重签名帐户提供了很大的灵活性,但从历史上看,它们在代码、语言、虚拟机和编译器方面都存在缺陷。由于与人类有关的错误,数亿美元的区块链token被永久锁定了。
脚本:与智能合约平台不同,比特币具有更原始的脚本语言。区别也很明显:非图灵完备、非编译、没有虚拟机,也没有“状态”的概念。这是否会使加密货币变得不那么有用,这一争论将在其他地方展开。但更重要的是,其对多重签名有特定的操作码。在比特币和比特币相关分叉中,有一个特殊的脚本被称为支付到脚本哈希,其被用于创建多重签名帐户。
比特币的多重签名地址和以太坊的多重签名钱包都要求在发送交易时提交所有相关签名。我们今天将探讨的一些方案,只需要提交一个签名,从而节省了宝贵的链上空间,并可能使地址与单个私钥地址无法区分。
交易员预计欧洲央行将在2022年12月加息20个基点:10月28日消息,投资者越来越多地押注欧洲央行将在明年年底前提高借贷成本,这增加了决策者在今日利率决议上的压力。货币市场预计,受通胀预期上升的刺激,央行将在2022年12月前提高存款机制利率20个基点,至-0.3%。 (金十)[2021/10/28 6:17:37]
三、各类加密签名技术
在本文当中,我们会探索各种技术,将多重签名添加到区块链协议当中。注意,这些技术均不是什么万能药,因为每种方案都会存在各种权衡,在确定哪种技术最适合特定情况之前,我们需要去彻底探索。
1、沙米尔秘密共享算法
注:这不是经典意义上的多重签名,尽管这里讨论的是为其他形式的密码多重签名提供反例。
这里使用一个私钥来派生n个碎片,其中的m是重建私钥所需的。此方案通常用于密钥恢复,如果用户丢失了私钥,则可使用用户分发给不同朋友的碎片重建原始密钥。但是,它不适用于多重签名,这是因为:
必须生成私钥才能派生碎片;在签署交易之前,必须从碎片重新组装私钥;这意味着存在一个可信生成和重新组装的步骤,这是一个故障点。另外,个人碎片持有者没有发言权,他们提供的只是碎片。可信硬件可减轻可信生成和签名问题,但这会导致诸如侧通道攻击、可用性等问题。
加密游戏Axie Infinity将于2021年前推出原生治理代币:基于以太坊的加密游戏Axie Infinity自2018年2月推出以来已经吸引了7000多名代币持有者,以及4500多名活跃的市场参与者。最近,它以4570枚ETH的交易量位列NFT游戏第11位。玩家目前可以通过游戏获得“Small Love Potion”(SLP)实用型代币,该代币可用于生称新的Axies。SLP目前的交易价格为0.046美元,24小时交易量为38200美元。最近Axie Infinity用户的激增归因于对项目即将到来的治理代币的预期。近期,该游戏的联合创始人Jeff Zirlin在推特上宣布将在2021年前推出一款原生治理代币。(Cointelegraph)[2020/8/21]
尽管如此,应注意SSS的一些独特特性,其可在不修改基础密钥/私钥的情况下创建尽可能多的不同的共享集。因此,如果Alice最初拥有10个秘密,而非朋友关系的Bob是一个秘密持有者,那么Alice可重新生成9个秘密,并将其交给其余的受信任方。
2、门限ECDSA
在门限ECDSA方案中,我们消除了沙米尔方案存在的一个漏洞。在这里,我们描述了StevenGoldfeder在其ECDSAMPC论文中开创的一项最新建设,在密钥生成和签名效率方面,这项建设超过了以前的ECDSA工作。
交易员:因分形与2008年纳指类似 比特币或于2021年达到2万美元:加密交易员JackSparrow在推特表示,比特币目前的交易情况几乎与纳斯达克(Nasdaq)在2008年经济萧条(Great Recession)崩盘后的交易情况一模一样,二者很大程度上是由科技的指数级本质驱动的市场。根据他的分析,如果按照这种分形走势,到2021年1月初,比特币价格将达到2万美元。[2020/7/22]
使用分布式密钥生成方案,所有密钥持有者都参与一个交互过程,该过程为自己生成一个私钥,并生成一个公钥。这样可确保任何一方都不会知道真正的私钥。在此构造密钥生成之前,只能使用一个可信方,因为对于大于两个的参与方来说,计算时间太长了。
据目前所知的是,KeepNetwork和KzenNetworks在运用这种阈值ECDSA方案。
3、门限ED25519
ECDSA的一个问题是,由于签名算法的复杂性,阈值签名是很复杂的。然而,对于其他签名方案,如EdDSA,尤其是曲线Edwards25519,其签名方案ED25519具有相对更有效和更直接的阈值签名。用户生成自己的密钥,然后有一个聚合步骤来创建单个公钥,交易签名有三轮交互协议。
KzenNetworks已经为ED25519门限签名实现了一个参考库,恒星、NearProtocol以及Cosmos使用了相同的曲线,但不实现加密门限签名。
动态 | 2020区块链产业应用与品牌创新大会筹备会在京举行:“2020区块链产业应用与品牌创新大会”筹备会日前举行。联合主办方新华网和中国国家品牌网介绍了举办此次大会的目的、意义和主要议题以及大会筹备工作的进展情况。大会将汇聚我国政、产、学、研、用各界代表,连接覆盖全行业的区块链技术与产业创新机构,共同探讨新时代中国区块链发展的重要议题,为政府和企业提供一站式战略规划、模式创新等服务,构建中国区块链产业和品牌的顶层生态圈,推动中国区块链产业的深入发展。筹备会上,承办方国研智库、联合承办方欧科集团相关负责人以及来自清华大学、正略集团、北大校友创业联合会、清华x-lab区块链实验室等专家做了主题发言。
筹备会同时发布了《2020中国区块链创新应用发展报告》暨应用案例征集评选活动事宜,启动了《区块链改变未来生活》全国大学生征文活动。来自上市公司、北京高校、区块链相关机构和各商协会代表共约100多人参加了筹备会。(新华网)[2020/1/17]
4、Schnorr签名
在比特币中,Schnorr签名是签名聚合的一种形式。相比使用P2SH,其与密钥数成线性增长关系,而签名聚合允许使用恒定大小的签名。验证者不需要知道签名者的个人公钥,从而增加了隐私性。在这方面,Blockstream正大力推动将这种技术应用于比特币。
在Schnorr签名方案论文中,有几种方法可实现m-of-n多重签名,并进行各种权衡,在某些方案中,用户提供自己的密钥,而在其他方案中,必须有一个DKG。一般来说,至少有一轮的密钥生成和交易签名通信,交易签名也不能很好地扩展到大的m或n。
5、BLS签名方案
所谓BLS签名,其全称为签名方案,这种方案在大签名集的情况下来说是非常有效的。也就是说,我们可以有2-of-10或2-of-1000多重签名方案,而在设置和签名时间上和普通签名方案几乎没有任何区别。对于设置阶段,唯一需要做的就是为每个私钥生成成员密钥,这只需要一轮通信因为用户提供自己的私钥,所以可以使用HD派生等技术来轻松管理多个密钥。用户离线签署交易,单个聚合器汇总签名并提交。
使用成员密钥的这种特殊构造是相当新的,另一种方法是利用沙米尔秘密共享方案,但是需要一个可信方或DKG。BLS签名方案的一个缺点在于,其签名验证会是缓慢的,它比ECDSA要慢上一个数量级。
四、权衡空间
当从远处观察这些技术时,我们可能会认为某些技术会优于其他技术。不幸的是,当我们潜入到权衡领域时,我们会发现,情况并非如此。一些技术对于较大的签名者组而言更可取,一些技术则更适合于低带宽环境。在这里,我们探索一个非详尽的属性列表,以分析以上各类技术。
原像:是否有必须拆分的私钥?
可信设置:是否存在生成密钥的单个实体,或者是否存在分布式密钥生成方案?
检测多重签名:区块链的查看者能否确定特定地址是否为多重签名地址?
HD派生:是否可以为相关的加密过程设置硬件确定性密钥?
权重:是否可以为特定的私钥分配不同的权重?。
能见度
签名者的隐私:区块链的查看者能否确定谁是交易的特定签名者?签名大小:多重签名交易是否需要更多的链上空间,空间大小是否随签名者的数量而变化?时间
密钥生成时间:生成密钥需要多长时间,密钥生成时间是否根据参与方数量增加?密钥生成回合:如果密钥生成是交互的,参与者需要交互多少次?验证时间:验证签名需要多长时间?签名时间:签署交易需要多长时间?签名
交互式:签署交易需要多少轮通信?曲线效率:尽管其中一些技术适用于所有曲线,但有必要考虑曲线效率和辅助因子选择等问题。
图:以上方案的权衡考虑,注意每个方案都有几个构造,导致会有不同的属性。
五、未来发展
尽管有很多不同的技术可以为区块链启用多重签名帐户,但我们必须认识到协议中的设计注意事项。其中一些技术需要更改底层协议,而另一些则不需要。协议设计者应意识到在用户体验和未来的密码技术进步校对中的隐含权衡。
有趣的事实:签名比发送交易有更多的用途。它们可用于权益证明系统中的区块签名、具有较小区块链的聚合签名以及交易压缩。
六、有趣的问题
现在,您大概了解了一些关于加密多重签名的知识,在决定实现协议时应选择哪种签名方案时,这里有一些问题是值得探讨的:
是否存在希望能够区分多重签名帐户和链上单个签名帐户的用例;门限密码系统提供了一种属性,在该属性中,单个密钥签名者是未知的,这在哪里有益或有害?有没有可能有一个允许选择性公开的签名方案,在某些交易公开签名者,而在其他交易则不公开?有没有可能有一个只显示签名者的一个子集而非全部签名者的签名方案?是否可能有一个方案,其中签名方无法确定交互步骤中的其他签名方是谁?当无法使用HD钱包时,密钥管理如何工作?对于BLS方案,人们可使用HD密钥,但是需要生成其他成员密钥。当用户丢失其成员密钥时,协议应该是什么样的?多重签名应该完全位于加密领域,还是应该在智能合约/脚本和加密之间保持平衡?是否存在签名大小根本不重要的情况,因为签名被丢弃,或者存在一种新的压缩形式?脚注
从技术上讲,假设存在加密签名,所有区块链都具有原生多重签名的形式。然而,对于任意的签名算法,寻找一个有效的门限签名方案是相当困难的。
zcash目前使用P2SH,在即将到来的Blossom更新中,它将切换到自定义加密结构。
GRIN是加密货币中唯一使用基于密码学的多重签名方案,类似于比特币的保密交易。该方法的一个缺点是,其是按照他们的协议定制的,很难概括。
门罗币只支持n-of-n和多重签名方案,前者与Splitkey非常相似。
恒星有多重签名,但没有在密码学中实现,而是通过使用他们的脚本语言来实现的。
注意,对于UTXO模型,有一个一次性交互步骤来生成公钥,这对于用户想要花费的解锁脚本而言是必需的。
感谢TarunChitra、JoyceYang、DanRobinson、JeremyRubin、JeremiahAndrews和很多其他人对本文中提到的各种密码技术进行的审查和解释工作。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。