首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

保障区块链安全的基石-区块链之数字签名解析(二)多重签名算法

昨天有一个朋友跟我说:“以太坊大会上说,目前主要的区块链主链不都在美国吗?在美国创造在美国运营,为什么中国就不能创造一个主链呢,我不明白!”一时半会儿我竟不知道怎么回答他,但我觉得主要的问题是我们在底层技术的研究做得太少,不够深入吧。说到多重签名算法,可能绝大部分人都会觉得生疏,但如果说到Fiber网络、闪电网络、隔离见证,大家应该都很熟悉了吧。同样作为比特币扩容技术中的一种,多重签名算法其实早已占据了比特币开发者愿望清单的首要位置。

近日,密码学顶级网站eprint上发表了两篇最新的多重签名算法文章,首先是1月15日由比特币核心开发者Gregory Maxwell等人首次提交的基于Schnorr的多重签名算法(MuSig)在比特币网络中的应用,随后,该算法在5月10号被Manu Drijvers等人指出了存在安全性漏洞并提出了DG-CoSi多重签名算法,5月20日,Gregory Maxwell等人重新提交了修正过的论文。我们可以看到,多重签名方案的研究之火热。

现在的比特币区块链中,一个区块中包含几千个交易,比如2000个,则这个区块包含了2000条被不同人签名的2000条消息,所有这些信息都需要存储在一个区块中。Schnorr的多重签名算法支持“本地多签名”,它可以将多个签名合并为一个单一的签名,同时使各自输入的密钥总和有效,即多重签名和签名汇聚。也就是说,一个区块现在包含2000个交易,但只需要一个签名,且我们只需要对这个签名进行验证。

上面提到,Maxwell等人提出了第一个运用于比特币的可以在普通公钥模型中证实安全的多重签名方案,且允许密钥聚合,该方案被称作MuSig签名算法。它有两个优势:(i)它简单而有效,与标准Schnorr签名具有相同的密钥和签名大小;(ii)它允许密钥聚合,这意味着联合签名可以完全验证为一个标准的Schnorr签名,与单个“汇聚”公钥有关,可以从签名者的个人公钥中计算出来。

接着是由Manu Drijvers等人提出的基于Okamoto(多)签名方案的双发生器变体DG-CoSi签名方案,并在随机预言模型中的离散对数假设下可证明安全性。文中指出,与CoSi相比,DG-CoSi中的第二台发生器几乎没有影响可扩展性,允许8192个签名者在1.5秒内协作签名一条消息(Cosi签名方案允许8000个签名者在2秒内协作签名一条消息),使其成为大规模部署的高度实用且可证明安全性的多重签名替代方案。

除此之外,早在2016年,斯坦福的Dan Boneh教授就介绍了比特币的BLS短签名算法。Boneh提到,相比于Schnorr多重签名算法,BLS只需要一个元素,而Schnorr需要两个元素,因此它更短,这将节约很大的空间,同时LBS也有汇聚的特征。

图1是Maxwell文中是否采用多重签名时对比特币区块链大小的比较图。我们可以看到,使用多重签名可以节约大约80%的空间,从而提高区块链的容量。

图 1有和没有多重签名的比特币区块链的大小(注1)

关于区块链扩容的问题现在已经是比特币开发者和以太坊开发者最关注并且研究的重点之一了,我认为如今各种跨链、分叉技术,都不过是扩容技术中的一种或几种而已。多重签名或许是目前最需要解决的数字签名算法,但其实长远来讲,正如Dan Boneh所说:”There should be a quantum resistant system.”。数字签名作为保障区块链安全的基石,如何更高效、更安全地为区块链保航护驾,一直是密码学研究者的工作重点。而国内其实也有不少密码学专家,如何能提供一个强大的密码学算法,在区块链安全技术中占据一席之地,应该是大家共同努力的目标吧。唯有把握底层核心技术,才有可能开发出主链吧。

注1:图片来自论文《Simple Schnorr Multi-Signatureswith Applications to Bitcoin》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G1JXPQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券