作者:LelandLee和DevOzha
具有讽刺意味的是,一些市值数十亿美元的加密货币本身并不支持多重签名。其中m-of-n的签名者需授权一笔交易。我们不需要审判,因为也许我们只设计了一把私钥。但这不是我们想要生活的世界,因为谁都不想因为错误的智能合约或丢失的私匙,而损失数百万美元。
今天,我们将研究各种适用于UTXO和帐户模型的交易签名多重签名方案。请注意,一些方案仍在被积极研究当中,并且会有多种具有不同属性的构造。如果读者因本文涉及太多的技术内容,而不想看这些枯燥的东西,您可直接跳至“权衡空间”部分,查看各签名方案的优劣势。
在目前的情况下,现有的区块链已采用了几种不同的系统,让多个所有者控制同一笔区块链token,以太坊是基于智能合约,而比特币则基于脚本。
基于智能合约的例子:以太坊、Tezos、EOS、Vechain、ETC;基于脚本的例子:比特币、莱特币、Iota、Cardano、Zcash、NEO、DASH、Decred;客户端内置:恒星和瑞波;自定义密码系统:GRIN和门罗;一、签名是如何工作的
区块链WiFi共享网络Wicrypt Network融资150万美元,AU21 Capital领投:11月9日消息,非洲首个基于区块链的WiFi共享网络Wicrypt Network完成150万美元融资,AU21 Capital领投,Sandeep Nailwal(Polygon创始人)、Cardano旗下Occam、Inclusion Capital、Outlier Ventures、Chain Capital、Pluto Digital Assets、Omega Ventures、N7 Labs、PolkaFoundary参投。[2021/11/9 6:41:57]
为了在任何区块链上发送有效的交易,必须采取几个步骤:
构造一笔有效交易;使用帐户或UTXO的相应私钥签署交易;将签名的交易提交到网络;矿工核实交易和签名;交易被放置到一个区块当中,并更新相关的区块链状态;二、非密码技术及其问题
智能合约:虽然基于智能合约的多重签名帐户提供了很大的灵活性,但从历史上看,它们在代码、语言、虚拟机和编译器方面都存在缺陷。由于与人类有关的错误,数亿美元的区块链token被永久锁定了。
脚本:与智能合约平台不同,比特币具有更原始的脚本语言。区别也很明显:非图灵完备、非编译、没有虚拟机,也没有“状态”的概念。这是否会使加密货币变得不那么有用,这一争论将在其他地方展开。但更重要的是,其对多重签名有特定的操作码。在比特币和比特币相关分叉中,有一个特殊的脚本被称为支付到脚本哈希,其被用于创建多重签名帐户。
A股收盘:深证区块链50指数下跌1.41%:金色财经消息,A股收盘,上证指数报3562.31点,收盘下跌0.98%,深证成指报14393.51点,收盘下跌1.09%,深证区块链50指数报3597.78点,收盘下跌1.41%。区块链板块收盘下跌2.34%,数字货币板块收盘下跌3.03%。[2021/10/27 21:01:39]
比特币的多重签名地址和以太坊的多重签名钱包都要求在发送交易时提交所有相关签名。我们今天将探讨的一些方案,只需要提交一个签名,从而节省了宝贵的链上空间,并可能使地址与单个私钥地址无法区分。
三、各类加密签名技术
在本文当中,我们会探索各种技术,将多重签名添加到区块链协议当中。注意,这些技术均不是什么万能药,因为每种方案都会存在各种权衡,在确定哪种技术最适合特定情况之前,我们需要去彻底探索。
1、沙米尔秘密共享算法
注:这不是经典意义上的多重签名,尽管这里讨论的是为其他形式的密码多重签名提供反例。
这里使用一个私钥来派生n个碎片,其中的m是重建私钥所需的。此方案通常用于密钥恢复,如果用户丢失了私钥,则可使用用户分发给不同朋友的碎片重建原始密钥。但是,它不适用于多重签名,这是因为:
树根互联完成8亿元C轮融资,核心平台架构包含工业区块链平台:工业互联网企业树根互联技术有限公司宣布,已完成C轮8亿元融资。本轮融资由IDG资本领投,腾讯战略投资,海通投资、科源产业基金、天雅资本、建信金圆及现有股东众为资本跟投,光源资本担任本轮融资的独家财务顾问。
据悉,聚焦“为制造企业数字化转型提供新基座——工业操作系统”的定位,树根互联打造了工业互联网平台——根云(ROOTCLOUD)平台。从平台架构来看,分为边缘层、基础设施与通用PaaS层、ABIOT平台层、工业应用层端到端支撑上层的工业模式创新。其中,ABIOT平台是核心层,由IIoT平台、AI中台、工业区块链平台、数据中台组成。工业区块链平台方面,面向产业链提供从可信工业数据采集、可信数据管理、工业分布式账本到互信共享、柔性监管、产业链协同等各种产业解决方案。(36氪)[2020/12/17 15:33:48]
必须生成私钥才能派生碎片;在签署交易之前,必须从碎片重新组装私钥;这意味着存在一个可信生成和重新组装的步骤,这是一个故障点。另外,个人碎片持有者没有发言权,他们提供的只是碎片。可信硬件可减轻可信生成和签名问题,但这会导致诸如侧通道攻击、可用性等问题。
尽管如此,应注意SSS的一些独特特性,其可在不修改基础密钥/私钥的情况下创建尽可能多的不同的共享集。因此,如果Alice最初拥有10个秘密,而非朋友关系的Bob是一个秘密持有者,那么Alice可重新生成9个秘密,并将其交给其余的受信任方。
动态 | 首个区块链指数样本股成色:8成民企 监管点名企业入围:日前,两市首个区块链指数——深证区块链50指数(简称:区块链50)出炉,随之谁是官方认证的区块链概念股成为市场焦点。据东方财富Choice数据库统计,区块链50的50只样本股来自20个不同行业,基本覆盖了区块链的主要应用领域,其中包括平安银行、美的集团等人们熟知的股票。此外,数据显示,41家为民企,占比达82%。而从地域来看,17家企业来自广东,问鼎首位,北京则以8家企业入围排名第二。记者注意到,几家曾被监管点名说明区块链“底细”的公司,此次也入围了样本股,包括文化长城和海联金汇。对于这一指数,一位知名投资机构人士对新京报记者表示:“指数推出,帮助投资人了解区块链的整个热度以及整个行业的发展状况。”而国盛证券近期发布的研报则认为,深交所发布的区块链指数,拓宽了资本入局之路,资本和监管力助区块链行业发展,行业应用落地有望提速。(新京报)[2019/12/27]
2、门限ECDSA
在门限ECDSA方案中,我们消除了沙米尔方案存在的一个漏洞。在这里,我们描述了StevenGoldfeder在其ECDSAMPC论文中开创的一项最新建设,在密钥生成和签名效率方面,这项建设超过了以前的ECDSA工作。
使用分布式密钥生成方案,所有密钥持有者都参与一个交互过程,该过程为自己生成一个私钥,并生成一个公钥。这样可确保任何一方都不会知道真正的私钥。在此构造密钥生成之前,只能使用一个可信方,因为对于大于两个的参与方来说,计算时间太长了。
3月份全球共发生16起区块链风险投资,总额近35亿元:据统计,今年3月份全球区块链融资16笔,融资总金额为34.9亿元。其中,国内融资有6笔,金额为1.12亿元。[2018/4/9]
据目前所知的是,KeepNetwork和KzenNetworks在运用这种阈值ECDSA方案。
3、门限ED25519
ECDSA的一个问题是,由于签名算法的复杂性,阈值签名是很复杂的。然而,对于其他签名方案,如EdDSA,尤其是曲线Edwards25519,其签名方案ED25519具有相对更有效和更直接的阈值签名。用户生成自己的密钥,然后有一个聚合步骤来创建单个公钥,交易签名有三轮交互协议。
KzenNetworks已经为ED25519门限签名实现了一个参考库,恒星、NearProtocol以及Cosmos使用了相同的曲线,但不实现加密门限签名。
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和很多其他人对本文中提到的各种密码技术进行的审查和解释工作。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。