正在阅读:

由比特币Schnorr签名方案引发的隐私性哲思

扫一扫下载界面新闻APP

由比特币Schnorr签名方案引发的隐私性哲思

强调隐私性的加密数字货币协议有很多,零知识证明的ZCash,混币的Dash,环签名技术的门罗等。

UTC时间7月6日晚18点,Pieter提出了比特币新的BIP(比特币改进建议):Schnorr签名。有比特币社区成员推测这项Schnorr的签名被最终接受的可能很大,也有消息表示Schnorr的开发工作主体已经基本完成。

BIP声明:

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016203.html

什么是Schnorr签名?

Schnorr签名并不是一项新技术,它是一种电子签名方案,最早在1989年被Claus P.Schnorr提出并注册专利。经过多年的验证,2012年Seurin已经为Schnorr方案提供了确切性证明。

Schnorr安全性证明论文:

https://eprint.iacr.org/2012/029.pdf

当前版本比特币协议使用的ECDSA签名方案(椭圆曲线数字签名)。多年来,关于将更好用的Schnorr签名方案加入到比特币协议中这件事,一直是社区希望看到的结果。看到Pieter终于提出BIP,我相当乐观,给大家科普一下。

比特币协议现行ECDSA是什么?

ECDSA是一种相当安全的签名生成算法,假如Alice想向Bob发送签名信息,他们在曲线参数(CURVE,G,n)达成一致的前提下,由Alice使用HASH加密,并提供随机数k。

随后Bob在作为接受方需要对Alice发送的签名进行简易的计算验证。比特币在9年运行中一直没出现过问题,安全性有目共睹。不过曾经由比特币安卓客户端由于随机数k泄露造成比特币损失,但是这不是ECDSA的问题,而是客户端的问题。

Schnorr则是另一种替代性签名方案,效率更高,隐私性更好。

Schnorr签名和ECDSA签名相比有哪些优势呢?

隐私性:Schnorr签名方案可将多个交易输入的签名整合成一个,显著提高了效率和隐私性。

可延展性:ECDSA签名是可延展性的,第三方在没有私钥的情况下,可将给定公钥和消息的现有有效签名更改为对同一密钥和消息有效的另一个签名,而Schnorr是不可延展性的。

安全性证明:在随机预言机模型中,Schnorr的验证非常简单,ECDSA不存在这种证明。

Schnorr密码学实现参考:

https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

为什么Schnorr可以提高隐私性呢?

用Schnorr签名方案前,在多个交易输入时,举例如上图,每个地址都需要提供一个自己签名信息,占据了很多体积。如果应用Schnorr签名方案之后,理论上这些地址只需提供一个共同签名即可,可以极大地节省空间。另外,通过这种多重签名方式,可以显著提高隐私性,在追溯比特币来源时将会更加困难。

另外,Schnorr也会让盲签名更加容易,意味着签名者可以在请求者的请求直接签署 ,而无需知晓签署内容。举个例子,如果引入了一个第三方机构,双方交易者可以不知晓对方的情况进行交易,而且由于盲签名的设置可以让双方无须相信第三方机构。

那…为什么之前不上Schnorr签名方案呢?

之前之所以一直没有考虑将Schnorr签名方案加入到比特币协议中,是因为由于签名信息位于区块内,改ECDSA为Schnorr需要对比特币协议进行硬分叉。而硬分叉升级一直不是比特币社区欢迎的方法,而且硬分叉和升级理论上也不是同一概念,虽然在BCH社区一直有意无意将硬分叉概念等同于升级概念。

但这显然是不正确的。历史上BCH经过硬分叉,每次对外都声称是升级,比如去掉EDA(一种挖矿机制)。

由于目前全网的SigWit(隔离见证)使用率已经显著提高,签名信息不再位于区块内,这给Schnorr签名提供了不硬分叉的解决方案。

另一个原因就是,Schnorr一直是有专利保护的,创始人Claus P.Schnorr拥有对Schnorr签名方案20年的专利保护期。因此在比特币开发阶段,并没有其他系统使用Schnorr签名的方案,安全性不可知。

但随着专利解锁,部分系统尝试使用Schnorr签名方案,以及对Schnorr的密码学论证的完善。Schnorr已经从实践角度和理论角度被认为是安全的签名方案。

事确实是好事,Schnorr签名方案在安全性没有削弱的前提下,既减小了体积,又增强了隐私性。但是我对强隐私性这一点还有很有顾虑的。

强调隐私性的加密数字货币协议有很多,零知识证明的ZCash,混币的Dash,环签名技术的门罗等。

Zcash是首个使用零知识证明机制的区块链系统,其中有一份作废账本。在转账过程中,转账者的地址里生成的一张支票放到作废账本里。同时,接收者的地址生成一张和转账者支票面额相等的支票。

记录者(矿工)只需要把转账者的支票记录到作废账本里,并收到一张新的支票。在这里支票就是一串编号,矿工不能看到转正金额以及双方是谁。验证一个地址是否有这笔钱只需要查找作废账本里这笔钱是否已经作废了,所以也不需要知道地址的余额。

Dash达世币之前叫暗黑币,转账的时候采用混币机制,将同一个时间的不同交易混在一起,我们就会看到区块上记录的是一堆地址转账给一堆地址,不能看出是哪个地址转账给了哪个地址。

门罗币则采用的环形签名,将交易者们的交易信息揉成一团,每个人都在这一团上用自己的私钥签上名字,这样就能达到看不出这桩交易是谁和谁进行。

虽然是技术进步,但是这些加密货币在某种层面确实助长了黑色交易,如军火贸易,人口贩卖,儿童色情,黑色数据等。过去比特币一直作为所谓暗网的通行货币,但是随着技术的进步,黑暗交易已经逐渐转移到了门罗和ZCash等,比特币在某种意义上已经摆脱了“原罪”。

但是如果比特币的隐私性得到了指数级的增强,灰色交易地带是否会重新用回比特币,比特币的“原罪”是否会恢复呢?作为比特币的狂热支持者,我是不希望看到的。

现在是一个很纠结的状态。一方面比特币诞生就是为了对抗中心化强权的,但是另一方面,作为比特币的爱好者,我也希望比特币能够得到世界强国的认可。

但如果比特币重新变回灰色市场交易的媒介,恐怕比特币距离得到世界强国的认可可能就更远一步了。

本文为转载内容,授权事宜请联系原著作权人。

评论

暂无评论哦,快来评价一下吧!

下载界面新闻

微信公众号

微博

由比特币Schnorr签名方案引发的隐私性哲思

强调隐私性的加密数字货币协议有很多,零知识证明的ZCash,混币的Dash,环签名技术的门罗等。

UTC时间7月6日晚18点,Pieter提出了比特币新的BIP(比特币改进建议):Schnorr签名。有比特币社区成员推测这项Schnorr的签名被最终接受的可能很大,也有消息表示Schnorr的开发工作主体已经基本完成。

BIP声明:

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016203.html

什么是Schnorr签名?

Schnorr签名并不是一项新技术,它是一种电子签名方案,最早在1989年被Claus P.Schnorr提出并注册专利。经过多年的验证,2012年Seurin已经为Schnorr方案提供了确切性证明。

Schnorr安全性证明论文:

https://eprint.iacr.org/2012/029.pdf

当前版本比特币协议使用的ECDSA签名方案(椭圆曲线数字签名)。多年来,关于将更好用的Schnorr签名方案加入到比特币协议中这件事,一直是社区希望看到的结果。看到Pieter终于提出BIP,我相当乐观,给大家科普一下。

比特币协议现行ECDSA是什么?

ECDSA是一种相当安全的签名生成算法,假如Alice想向Bob发送签名信息,他们在曲线参数(CURVE,G,n)达成一致的前提下,由Alice使用HASH加密,并提供随机数k。

随后Bob在作为接受方需要对Alice发送的签名进行简易的计算验证。比特币在9年运行中一直没出现过问题,安全性有目共睹。不过曾经由比特币安卓客户端由于随机数k泄露造成比特币损失,但是这不是ECDSA的问题,而是客户端的问题。

Schnorr则是另一种替代性签名方案,效率更高,隐私性更好。

Schnorr签名和ECDSA签名相比有哪些优势呢?

隐私性:Schnorr签名方案可将多个交易输入的签名整合成一个,显著提高了效率和隐私性。

可延展性:ECDSA签名是可延展性的,第三方在没有私钥的情况下,可将给定公钥和消息的现有有效签名更改为对同一密钥和消息有效的另一个签名,而Schnorr是不可延展性的。

安全性证明:在随机预言机模型中,Schnorr的验证非常简单,ECDSA不存在这种证明。

Schnorr密码学实现参考:

https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

为什么Schnorr可以提高隐私性呢?

用Schnorr签名方案前,在多个交易输入时,举例如上图,每个地址都需要提供一个自己签名信息,占据了很多体积。如果应用Schnorr签名方案之后,理论上这些地址只需提供一个共同签名即可,可以极大地节省空间。另外,通过这种多重签名方式,可以显著提高隐私性,在追溯比特币来源时将会更加困难。

另外,Schnorr也会让盲签名更加容易,意味着签名者可以在请求者的请求直接签署 ,而无需知晓签署内容。举个例子,如果引入了一个第三方机构,双方交易者可以不知晓对方的情况进行交易,而且由于盲签名的设置可以让双方无须相信第三方机构。

那…为什么之前不上Schnorr签名方案呢?

之前之所以一直没有考虑将Schnorr签名方案加入到比特币协议中,是因为由于签名信息位于区块内,改ECDSA为Schnorr需要对比特币协议进行硬分叉。而硬分叉升级一直不是比特币社区欢迎的方法,而且硬分叉和升级理论上也不是同一概念,虽然在BCH社区一直有意无意将硬分叉概念等同于升级概念。

但这显然是不正确的。历史上BCH经过硬分叉,每次对外都声称是升级,比如去掉EDA(一种挖矿机制)。

由于目前全网的SigWit(隔离见证)使用率已经显著提高,签名信息不再位于区块内,这给Schnorr签名提供了不硬分叉的解决方案。

另一个原因就是,Schnorr一直是有专利保护的,创始人Claus P.Schnorr拥有对Schnorr签名方案20年的专利保护期。因此在比特币开发阶段,并没有其他系统使用Schnorr签名的方案,安全性不可知。

但随着专利解锁,部分系统尝试使用Schnorr签名方案,以及对Schnorr的密码学论证的完善。Schnorr已经从实践角度和理论角度被认为是安全的签名方案。

事确实是好事,Schnorr签名方案在安全性没有削弱的前提下,既减小了体积,又增强了隐私性。但是我对强隐私性这一点还有很有顾虑的。

强调隐私性的加密数字货币协议有很多,零知识证明的ZCash,混币的Dash,环签名技术的门罗等。

Zcash是首个使用零知识证明机制的区块链系统,其中有一份作废账本。在转账过程中,转账者的地址里生成的一张支票放到作废账本里。同时,接收者的地址生成一张和转账者支票面额相等的支票。

记录者(矿工)只需要把转账者的支票记录到作废账本里,并收到一张新的支票。在这里支票就是一串编号,矿工不能看到转正金额以及双方是谁。验证一个地址是否有这笔钱只需要查找作废账本里这笔钱是否已经作废了,所以也不需要知道地址的余额。

Dash达世币之前叫暗黑币,转账的时候采用混币机制,将同一个时间的不同交易混在一起,我们就会看到区块上记录的是一堆地址转账给一堆地址,不能看出是哪个地址转账给了哪个地址。

门罗币则采用的环形签名,将交易者们的交易信息揉成一团,每个人都在这一团上用自己的私钥签上名字,这样就能达到看不出这桩交易是谁和谁进行。

虽然是技术进步,但是这些加密货币在某种层面确实助长了黑色交易,如军火贸易,人口贩卖,儿童色情,黑色数据等。过去比特币一直作为所谓暗网的通行货币,但是随着技术的进步,黑暗交易已经逐渐转移到了门罗和ZCash等,比特币在某种意义上已经摆脱了“原罪”。

但是如果比特币的隐私性得到了指数级的增强,灰色交易地带是否会重新用回比特币,比特币的“原罪”是否会恢复呢?作为比特币的狂热支持者,我是不希望看到的。

现在是一个很纠结的状态。一方面比特币诞生就是为了对抗中心化强权的,但是另一方面,作为比特币的爱好者,我也希望比特币能够得到世界强国的认可。

但如果比特币重新变回灰色市场交易的媒介,恐怕比特币距离得到世界强国的认可可能就更远一步了。

本文为转载内容,授权事宜请联系原著作权人。