原题:在即将到来的多重签名时代,施诺尔意味着什么
作者:钱信特约撰稿人李华
比特币 协议终于集成了重磅功能 Schnorr Signature 和 Taproot 的代码,在两者的组合下,有望进一步提升多签地址的私密性并为区块腾出更多空间。目前矿池和矿工对于该软分叉升级的算力支持度已经超过了 90%,至于以哪种方式激活和具体的上线时间,就看后续各个相关方如何协商合作了。而第三方应用和生态如何支持,就可能又是一个长达数年的缓慢进程。相比较而言,另一个好消息是, 比特币 核心开发者终于在经过讨论后,决定抛弃之前的版本号命名规则,将 0.x 版本调整为 x.0 版本,下一个大版本将从「22.0」开始。
Andreas M.antonopoulos今年早些时候提到比特币的下一次升级时说:“Schnorr签名、主根签名和具有多个签名的签名聚合可能会同时作为升级包添加到比特币中,这是一些非常有前途的加密创新。”。
比特币**的比特币传教士安德烈亚斯M.安东诺普洛斯
安东诺普洛斯是《掌握比特币》一书的作者。他也是加密货币界重要的技术专家和受人尊敬的人物。他预计,比特币的升级将在6个月内以软叉的形式实施,包括施诺尔在内的升级将给用户带来比特币所不具备的隐私优势。
已创建升级的BiP,相关规范正在定稿。比特币的核心开发人员pieterwuille和其他开发人员已经编写了实现代码。第一个原也已经创建。以施诺尔为核心的比特币豪华升级包即将推出。
那么,在比特币开发人员中流行的Schnorr是什么呢?它带来了什么?
施诺尔的签名是什么
比特币是通过数字签名对utxo中未使用的余额进行解锁,从而完成交易。
例如,在事务B中,Bob将比特币传输给Carol。鲍勃需要分两步完成交易:
1) 证明你有比特币。
鲍勃为什么拥有这辆比特币是因为爱丽丝给了他这辆比特币。在事务a的“锁定”部分,Alice用Bob的公钥散列(也是Bob的钱包地址)锁定提供给Bob的比特币。
Bob在事务B的“解锁”部分提供自己的公钥和用私钥创建的签名,以证明此比特币是自己的,从而完成解锁并使用此比特币。
2) 把这个比特币给卡罗尔。
Bob在事务B的“lock”部分使用Carol的公钥散列来锁定比特币,这意味着比特币属于Carol。
例如,当Carol想要使用比特币时,如果她想将其传输给Dave,她需要创建一个事务C。首先,在“unlock”部分,她使用自己的公钥和私钥签名来解锁比特币,然后在“lock”部分,她使用Dave的公钥哈希来锁定比特币。
不难发现,比特币需要使用公钥进行锁定,私钥签名进行解锁,从而实现加密货币的交易。如何生成公钥、私钥和签名?通过数字签名算法。
Schnoor是一种数字签名算法,它将在下一次升级中取代ECDSA。施诺尔是由德国数学家和密码学家克劳斯·施诺尔提出的。该算法可以使用与ECDSA相同的椭圆曲线:secp256k1,因此升级不会有太大变化。
Schnorr最突出的特点是它是“线性”的,即可以将多个公钥或私钥签名聚合成一个新的公钥或一个新的签名(也可以理解为将需要同时解锁的多个锁变成一个锁,将用于解锁的一组密钥变成一个密钥),新的公钥或签名也满足线性特征。
在使用Schnorr的多重签名事务中,如果Alice的公钥或签名为1,Bob的公钥或签名为2,Carol的公钥或签名为3,Dave的公钥或签名为4,则此事务中显示的公钥或签名为10(1+2+3+4=10),而不是1、2、3、4。
Schnoor签名算法的优点
Schnorr的开发者Andrew poelstra认为人们对Schnoor感兴趣是因为它提高了比特币的可伸缩性,并允许人们创建具有大量参与者的多签名事务。在这里,参与者不仅是多人,还有液网、闪电网、智能合约等。
此外,Andrew相信Schnorr签名将使所有比特币事务在合并直根和无脚本脚本脚本之后看起来都一样。无论是普通交易还是复杂交易,这种方法都将大大提高比特币的隐私性。
这些优点来自于在多个签名的情况下,如果使用ECDSA和N个公钥进行锁定,则需要N个与其对应的签名进行验证和解锁,并且验证也需要执行N次;如果使用Schnorr,则可以将N个公钥聚合成一个公钥,并且只有验证需要一个聚合签名。
这种“线性”质量使Schnorr在性能、体积和隐私方面优于ECDSA。
性能:施诺尔的性能优势非常明显。它减少了多重签名事务的验证工作量。此外,还可以实现多个事务的批量验证,即用一个块中所有事务的聚合签名一次验证所有事务,从而提高比特币的验证速度。
卷:Schnorr使用聚合公钥和聚合签名,这将减少多重签名的大小。通过将无关数据移出区块链,提高了系统的可扩展性,节点将拥有更多的带宽,减少存储。安德鲁认为,如果每个人都采用这种方法,就会变相增加比特币的容量10%到20%。
隐私:Schnorr的隐私优势在于,它使用聚合公钥和聚合签名来完成事务脚本中的锁定和解锁操作,用户的原始公钥和原始签名不会被暴露。外界只能看到10个,却看不到1、2、3、4个。外界甚至不知道这是一个多签名交易还是一个非多签名交易。
有更多有趣的方法来使用Schnorr签名,比如它可以在调整后使用。人们可以将一个聚合公钥乘以2作为要锁定的新聚合公钥。解锁时,只需将聚合签名乘以2即可完成解锁。这样,其他人就不知道原来的聚合公钥和原来的聚合签名是什么,也看不到公钥或签名是否被调整了。
施诺尔和直根的结合
印钞矿创始人潘志彪也认为,这次升级意义重大。他在个人微博中写道:“桅杆、施诺尔、直根、组合、烧成爆炸”,施诺尔如何与直根等技术手段结合?这套组合拳能给比特币带来什么好处?
从了解他们是什么开始。Schnorr是一种签名算法,它是这些技术中最基本、最核心的,mast、taproot、graveroot、无脚本脚本等都是脚本结构,通过Schnorr可以充分利用它们的功能。
比特币脚本是比特币事务的载体:比特币事务是通过执行比特币脚本来实现的。解锁是执行“输入脚本”,锁定是执行“输出脚本”。脚本结构是指比特币脚本的数据结构。
如上所述,当人们将自己未使用的余额用于比特币事务时,他们需要在输入脚本中提供自己的公钥和私钥签名,以证明他们拥有这些余额。
P2sh是比特币最基本的脚本结构。它显示了整个脚本的内容,包括公钥和私钥签名信息,节点通过这些信息来验证事务。但同时,节点和任何人都可以获得交易的所有细节。
所以我们说比特币是透明的。p2sh虽然可以将实体的个体与比特币账户隔离开来,实现实体个体的匿名性,但从比特币账户的角度来看,p2sh并没有为账户提供隐私。每个人都可以知道哪些账户以及资金的使用情况。
针对p2sh的不足,开发人员提出了一种新的脚本结构mast,即树结构。具体来说,它是一个Merkel树,即散列树。树中的每个节点都存储一个哈希值。其结构如下图所示。
树形结构
比特币交易中使用mast结构,是指在多次中签的情况下,对基金的不同使用条件分别进行散列,生成散列值并存储在树的叶节点中,这些散列值逐层向上递归,**生成一个哈希值,并将其放置在树的顶部节点,即Merkel根。
这样,在验证事务时,就不必公开所有的脚本信息。它只需要提供Merkel根和Merkel路径上的数据到一定的使用条件,其他信息仍处于散列密文状态。mast脚本结构不仅提供了隐私,而且提高了数据处理的效率。
现在我们可以谈谈直根。
直根是一种基于Schnorr特征的特殊桅杆。它可以像mast一样包含复杂的交易条件和资金使用细节,然后将所有这些内容作为新的资金使用条件(new lock)提供给外界。Schnorr的线性特性支持这种新的使用条件和在这种使用条件下的解锁方法(新钥匙)。
在最终演示中,taproot不需要公开任何脚本信息,也不需要公开原始公钥和原始签名。它的输出是要锁定的聚合签名,它只需要使用聚合签名来解锁。
再次,用一个不太合适但能解释问题的比喻。孙悟空可以把猴毛变成猴毛,而直根可以把猴毛变成猴毛。也就是说,我们把普通的交易看成是猴子的毛发,把桅杆支撑的复杂交易看作是一只强大的猴子。直根可以把肥大的猴毛变成猴毛,也就是说,让所有比特币事务看起来都一样,不管它们有多复杂。
这大大提高了比特币的隐私性,包括多签交易下的账户隐私、智能合约隐私,以及liquid network、lightning network等的隐私,而更多的外链扩容解决方案都是多签复杂事务。
组合拳拉开多重签名的帷幕
在现实生活中,我们常常提倡某种“生活方式”。在加密货币世界的生活中,或许我们应该倡导多重签名作为一种生活方式,让多重签名成为加密货币资本使用的常识和习惯方式。
基于Schnorr和taproot的多重签名可以增强交易的私密性。它可以隐藏参与者的公钥和私钥签名信息,也可以隐藏资金使用的细节。
多重签名的另一个优点是提高安全性。无论是加拿大quadrigacx交易所(quadrigacx exchange)创始人的去世,导致1.6亿美元加密货币被锁定,还是来自戈克斯山从一开始,可以通过多次签名来改善兑换钱包的连续**。
多重签名提供了一种“检索”加密货币的方法,因此当我们无法通过特定路径或特定方式解锁比特币时,还有其他方法可以解锁它。就像在现实生活中,如果我们丢了储蓄卡不能取款,我们仍然可以用存折取款。
(注:当然,现在是申请新储蓄卡的时候了,但这与多签的方式完全不同。加密货币没有卡替换方法,因为私钥本身是最终的、唯一的证书,不像银行在账户证书之上有用户身份层证书来替换卡。
多次签名还可以提供严格的加密货币“使用”条件。在正常情况下,只有同时满足这些条件,比特币才能解锁。就像进入银行的金库。你需要刷卡和视网膜才能打开保险库的门。你需要密码和钥匙才能打开保险箱。
这些是多重签名的优点,而Schnorr和taproot的结合进一步提升了这一优点,因此多重签名可以以更高效、更私密的方式实现。
需要注意的是,即使在升级后,一个不使用多重签名的普通交易也无法获得Schnorr和taproot带来的好处,其隐私级别与升级前相同。
因此,一方面要提倡多签。另一方面,即使在普通交易中不使用多签,但在大量的应用场景中也需要多签,比如通过智能合约使用比特币,通过液网、闪电网使用比特币,以及链外更多的扩容方式。多重签名本身的地位越来越重要。
Schnorr和taproot的结合,可能包括更多的多符号脚本结构,如graftroot,将极大地提高多符号的性能,使比特币上的复杂事务成为可能。
复杂的事务在过去很容易识别,但升级后,它们看起来与普通事务一样,并且事务将变为私有事务。例如,当用户打开或关闭lightning网络通道时,除了参与者之外,没有人知道发生了什么,其他人看到的是一个公共锁定公钥。Wuille称Schnorr和taproot是比特币在隐私保护方面的巨大胜利。
Wuille还认为Schnorr和taproot是比特币智能合约的大赢家。它们将允许创建具有复杂使用条件的多签名事务。在施诺尔线性特性的支持下,链下可能衍生出许多新的应用和创新。
另外,在Schnorr和taproot的支持下,复杂事务不仅执行效率高,而且不需要占用比特币区块链的额外空间。Schnorr使用聚合公钥和聚合签名,只需要一次验证;taproot支持一个大的脚本树,但占用的空间很小。
不难发现,虽然此前比特币已经支持多签,但包括施诺尔和taproot在内的比特币升级包无疑将拉开多签的帷幕。多点签约带来的不仅仅是更安全、更隐私、更具可扩展性的比特币区块链,更是一种对智能合约、流通网、闪电网等未来应用模式基础设施的支持。
这是一个值得期待的美好未来。
文章标题:比特币终于集成了施诺尔码和直根码,多重签名时代即将到来?
文章链接:https://www.btchangqing.cn/179489.html
更新时间:2021年01月15日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。
好人一个比特币
写得好啊 估计有马甲
忍不住忍不住泼个冷水
我很喜欢,太精彩了比特币