Schnorr签名开发者Andrew Poelstra :将使比特币扩容10

  • 时间:
  • 浏览:36

  2019年加密货币技术圈里什么最火?我们首先想当的就是比特币的闪电网络和Schnorr签名技术,当然也少不了Grin带火的MimbleWimble技术。什么是Schnorr签名技术,它能为比特币带来什么?MimbleWimble技术又如何呢?真的像很多人说的那样神奇吗?为什么已经存在多年的MimbleWimble技术突然在今年就火了起来呢?

  要想为这些问题找到答案,我们似乎得四处寻觅很多技术大咖或者研究学者才能一一得到解答,然而有一个人能够一人回答所有这些问题。

  3月27日,巴比特邀请Blockstream研究主管、Schnorr签名开发者、数学家、技术大神安德鲁·波尔斯特拉(Andrew Poelstra)做客链节点(Chainnode,原巴比特论坛)进行线上AMA,回答了社区提出的各种问题。以下是我们对这次AMA中提出的一些重要的问题进行的整理(AMA全部内容):

  

  量子计算威胁比特币?Andrew:到那时候比特币早就过渡到一种安全的签名方案

  量子计算机一直以来被很多人视为是比特币等加密货币的克星,一旦问世并商用,比特币将遭受灭顶之灾。

  网友提问:量子计算对比特币等加密货币的潜在威胁是否存在?我们需要担心吗?

  Andrew回答说:

  当量子计算机成为现实时,比特币将从ECDSA或Schnorr(将受到破坏)过渡到一种量子安全的签名方案。这是多年以后的事了,现在没有必要担心。同时,需要对高效的后量子签名方案进行更多的研究。

  比特币如果采用Schnorr签名会有什么好处?

  比特币目前采用的是ECDSA签名,然而这种签名与Schnorr相比在很多方面都有明显不足之处,但为什么比特币最初没有直接使用Schnorr签名呢?原因是Schnorr签名的发明者Claus Schnorr在80年代为他的发明申请了专利,这项专利直到2008年才到期,中本聪在2009年发明比特币时,可能处于对使用普及性的考虑,最终选择采用了更为广泛使用的ECDSA签名。

  比特币现金(BCH)已经宣布将在5月份实施Schnorr签名技术,并且自豪地认为BCH已经在技术上领先比特币。那么Schnorr签名究竟有什么优势呢?

  网友问道:能不能通俗解释下Schnorr签名相较于ECDSA签名的具体优势?从用户端来讲,有什么感知?

  Andrew回答:

  Schnorr签名可以很容易地扩展到支持固定大小的多签名和阈值签名,以及“无脚本脚本”,这些脚本允许在签名中编码闪电支付通道的语义。而对于ECDSA,这要困难得多。Schnorr签名的批量验证也是可能的,这使得它们的验证速度比比特币的ECDSA签名快得多。

  另一位网友问道:你能用通俗的语言介绍一下Scriptless Script和Taproot/Graftroot吗?它们解决了比特币哪方面的隐私问题?我听说Taproot似乎是不能隐藏资金流向和具体金额的,只能隐藏合约内容,而且如果双方不愿意合作,可能还是会暴露合约的内容,不知道这种说法对么?是的!无脚本脚本(Scriptless scripts)是扩展两方Schnorr多签名协议的一种方法。该协议允许两个用户联合生成一个签名,使联合签名具有与普通签名相同的大小和使用相同的验证方程。使用无脚本脚本,可以扩展此协议,当最后一方完成签名时,还会向另一方泄露额外的秘密。这个额外的秘密可以像在Lighting HTLC中使用的“哈希像原(hash preimages)”一样使用,而且还有一个额外的好处,那就是它不会出现在区块链上。它还具有更多的代数结构,这使得它在连接多个支付通道时可以“重新盲化”,从而修正了闪电网络的隐私限制,即路径中的每个通道都需要使用相同的路径。Taproot是为比特币提出的一个提议,所有的输出都用一个签名密钥,可以用一个签名消费。使用多重签名和无脚本脚本,可以使用这些单签名对多方交易、闪电支付通道等进行编码。Taproot还允许这个密钥提交到一个额外的脚本,以防无脚本脚本不够用。但是在合作的情况下,从来没有显示过这个额外的脚本。

  Graftroot是另一个被提出的扩展方案,它不太可能很快被包含在比特币中,它进一步允许Taproot签署者签署替代的消费路径,而不是使用Taproot输出中提交的脚本。由于没有对可以签署多少消费策略的限制,在用户有1000条消费路径的情况下,这将大大提高效率。然而,在实践中还不清楚这是否是用户所希望的。

  如果实施Schnorr签名技术,比特币网络能够扩容多少?一位网友问道。Andrew回答说:

  任何多重签名协议,如BitGo或闪电网络使用的协议,都将与普通点对点交易一样小。由此节省的空间总量很难估计,但如果每个人都采用这种方法,我预计比特币区块链的容量将增加10-20%。

  Blockstream制造中心化?

  比特币Schnorr签名的代码几乎已经由Blockstream完成,然而有人认为Blockstream对比特币的去中心化带来损害。有一位网友就问了这样一个尖锐的问题,Schnorr签名的代码都已经差不多由Blockstream写好了,是否会被别人误解主推Schnorr签名的Blockstream和比特币开发组的关系过于密切,或者说会不会有人对此产生什么误解?另外这个签名方案对隔离见证segwit有什么影响?

  Andrew对这个问题并未避讳,他回答说:

  Blockstream向我自己, Pieter Wuille和Jonas Nick支付报酬编写Schnorr签名代码,特别是不牵涉区块链共识的多重签名和阈值签名。支持Schnorr签名所需的共识规则更改(包括Taproot和其他一些扩展)主要由Johnson Lau、AJ Towns、Pieter Wuille和Greg Maxwell开发。在这些人中,只有Pieter为Blockstream工作。一旦有了具体的提议,就需要向整个比特币社区展示,其中包括来自世界各地许多企业和个人的许多利益相关者。

  一般来说,Blockstream仅向一名Bitcoin Core开发者支付薪水,以促进比特币的发展,并确保我们拥有内部专业的Bitcoin Core工作。任何担心Blockstream在Bitcoin Core开发中份量太重的人,都应该为自己的开发者提供资金。

  关于闪电网络这项技术有很多不同的意见。有人认为,如果使用闪电网络,我们将面临一种非常中心化的局面,而Blockstream一直在开发和推动闪电网络的采用。对此你有什么看法?Andrew表示,

  我不认为闪电网络会是非常中心化的,它确实有一些方面似乎不鼓励中心化,这将是很好的解决。但是我的研究并不太关注闪电网络,我很难给出更多的细节。

  对于慢雾区最近发现Mimbleweimble隐私性问题不能很好解决:MimbleWimble并没完全解决“交易隐私”问题,它让交易在区块链上不会暴露隐私,这个实现确实很漂亮,但由于它交易的特殊性(类似 TCP 三次握手,A 给 B 签发交易记录文件,B 响应文件给 A,A 确认上链),这导致相比其他匿名货币(如门罗币、Zcash),基于 MimbleWimble 实现的在链下隐私与安全会遭遇更大挑战。 Andrew是怎么看的呢?

  Andrew:MimbleWimble不会试图模糊交易图。因此,门罗币和ZCash提供了更好的隐私保障。

  如何向一位性感金发女郎解释Schnorr和MimbleWimble技术是什么?Andrew:亲她

  有一位网友提出了一个对单身狗特别实用的撩妹问题,他向Andrew问道:你有没有比较欣赏的中国的密码学家?能否推荐几本科普类的密码学书籍?如果有个5岁的小男孩站在你面前,你会如何向他解释Schnorr签名和MimbleWimble技术?如果有个前凸后翘的金发美女坐在你旁边,你又会如何向她解释Schnorr签名和MimbleWimble技术?

  我没有读过很多关于密码学的书,而是依靠比特币社区的人推荐阅读论文和解决有趣的问题。但有一本书对我小时候的影响非常大,让我成为了一名密码学家,那就是大卫·卡恩(David Kahn)的《密码破译者》(The Codebreakers)。Schnorr签名就像任何数字签名一样,就像普通的纸笔签名一样,只是在数学上是不可能伪造的。

  为了向一个五岁的男孩解释MimbleWimble,我会让他在卖给我一些他的玩具时考虑这个问题,我也卖给他一些我的。我们可以连续交换很多次钱,或者干脆把玩具的价值加起来,最后只交换一次钱。MimbleWimble允许您将多个交易压缩为一个,这样可以节省空间和计算机资源。

  作为一名著名的密码学家,我经常会遇到一些性感的金发女郎,她们希望我向她们解释Schnorr签名和MimbleWimble。我总是对她们说同样的话:“MimbleWimble就像接吻。你想让我向你展示一下吗?”

  以太坊的分片技术没用?

  还有一个问题问到:Segwit和Schnorr签名的网络支持率均达到100%的情况下,比特币每秒的交易量可以提高到14笔,相比于现在的速度提高了很多,但是在未来比特币大范围采用的情况下,这样的速率还是无法满足要求的。在保持区块1MB的情况下,是否还会出现更有效的技术能够提升比特币的主链交易性能?分片技术会在比特币网络上实施吗?

  Andrew回答:比特币已经通过闪电网络或其他第二层系统,或通过引入本地信任要求,支持每秒数千笔交易。分片(Sharding)在任何地方都行不通,更不用说比特币了。

  比特币的技术发展已经落后于其他加密货币了?

  MimbelWimble最早被讨论实施在比特币上,然后最后Grin和Beam等项目率先采用,Grin甚至被称为更能实现比特币的愿景,你认为比特币在技术上已经落后了吗?BCH今年5月份就要实施Schnorr签名技术了,为什么比特币却这么慢呢?或者说Schnorr签名要在比特币网络上实施所面临的最大问题是什么?

  Andrew:MimbleWimble从未被提议用于比特币。它是一个独立的区块链设计,其工作原理与比特币非常不同,并且有非常严重的限制:1.用户必须信任加密技术,以确保自己没有通货膨胀; 2.量子计算机可以造成看不见的和无法检测的通货膨胀; 3.没有能力使用复杂的脚本; 4.所有交易都必须使用热密钥与发送方和接收方交互创建。

  比特币没有这些限制。它在技术上并不落后。

  比特币是一个严肃的金融体系,没有领导者,在做出任何改变之前,都需要所有利益相关者的参与。此外,由于比特币继续运行并保持安全是如此重要,因此,每次更改都需要进行大量的审查和测试,然后才能部署。探索设计方面也很重要,以确保我们从这个极其昂贵的过程中获得最大的利益。

  BCH不是一个严肃的项目。它的共识规则是由一小部分开发者心血来潮地定义的,这些开发者似乎并不关心完整的提案。

  比特币会迈向匿名化吗?

  作为都能够增强隐私的技术,比特币如果采用Schnorr和MimbleWimble,是否会朝匿名货币发展?

  Andrew:Schnorr的签名,连同Taproot和无脚本脚本,承诺让所有比特币输出看起来都一样,无论它们属于一个人,还是属于许多人,都代表着托管、Liquid挂钩、闪电通道或智能合约。通过这种方式,他们将大大提高比特币的隐私。目前还没有将MimbleWimble融入比特币的提议。

  还有网友问你认为比特币应该采用MimbleWimble技术增强隐私性吗?如果比特币隐私性过于强大,你不认为比特币会更难被政府承认吗?这不会阻碍比特币的采用吗?不,MimbleWimble有太多的权衡(请参阅我之前的回答),不适合在比特币中采用。至于政府,历史上没有任何一个政府曾经支持过一种货币,在这种货币中,所有用户的金融交易都被发布到一个公共账簿上,让全世界都能看到,包括任意的公司或外国政府。除非比特币变得更加私有,否则很难看出政府如何能认可它。当然,区块链隐私并不妨碍用户使用传统方法报告其活动或执行审计的能力;它实际上会使这变得更容易,因为它让用户能够生成他们行为的密码证明。

  你认为MimbleWimble与zk-SNARKS、保密交易(confidential transactions)等其他隐私技术相比的优势在哪里?MimbleWimble和CT本质上是相同的技术,只是它从区块链中删除了所有非CT特性,从而获得了额外的可伸缩性优势。zk- snark可以比CT创建更强的隐私保护,但难以扩展,设置也不可信。

  Taproot会为比特币智能合约提供更多灵活性和隐私性,这是不是意味着比特币能够成为一个重要的智能合约平台?Taproot使某些形式的智能契约实现起来更简单、更具隐私性,但最终除了比特币现有的智能合bet365官方约功能外,没有添加任何功能。据我所知,Ethereum和EOS主要用于非法证券发行。由于其糟糕的可伸缩性和隐私性,以及不鼓励健壮代码的工具,它们不可能用于一个真正的智能合约平台。

  随着隐私币技术的发展,如何在隐私和政府的监管之间做出平衡?毕竟,政府总想知道并掌控每个人的情况。一般来说,政府想知道并控制一切。但他们对加密货币几乎没有控制权,如果这需要世界上所有人都知道的话,他们也不想知道。因此,在区块链上发布数据并不符合政府或任何人的利益。

  Andrew眼中的MimbleWimble技术怎么样?

  作为一位技术大神,Andrew自然对今年大火的MimbleWimble技术也有研究,他认为MimbleWimble技术是怎样的呢?

  你认为Schnorr和MimbleWimble技术最重要优点是什么?

  它们都可以用来改善区块链的隐私,同时通过将无关数据移出区块链来提高可伸缩性。

  MimbleWimble为什么能实现安全的裁剪呢?比特币全节点如果进行了裁剪,也就是直接删掉了老区块文件,就失去了帮助其他全节点从头同步的能力。MimbleWimble不需要完整的区块链从头开始同步节点。新节点可以在不使用所有历史区块链数据的情况下,以完全安全的方式验证系统的当前状态。

  众所周知,区块链扩容是个比较难的问题。对于比特币的扩容问题,我有听说瓶颈在于如何保证区块能在矿池/独立矿工之间快速传播,如果直接扩大区块/加快出块频率,会导致孤块/分叉增多、矿工的算力被浪费。还有开发者认为必须保证区块链大小不能增长过快(比特币现在已经攒到220GB了),否则就很难保证新节点还有能力从头完整验证一次区块链。不知道MimbleWimble是如何解决扩容问题的?

  MimbleWimble允许新用户仅使用“内核(kernel)”来同步链,而不是使用历史交易,这将占用大约100字节的空间。比特币有大约4亿笔交易。如果这些都是MimbleWimble交易,那么所使用的总空间将是40GB左右,而不是220GB。因此,MimbleWimble通过这种方式实现了显著的交易压缩。

  MimbleWimble白皮书发布时,很多比特币开发者都在考虑这种技术,但是这么久过去了,却没有听说有什么进展,你认为MW技术在比特币上的应用前景怎么样?据我所知,参与比特币开发的人从未对比特币的MimbleWimble感兴趣。开发人员对此很感兴趣,因为它推动了隐私技术的发展,而且没有严重的可伸缩性限制。

  比特币的未来技术发展

  你认为比特币在技术方面的当务之急是什么?那种技术实施最紧迫?

  因为Taproot和Schnorr签名将支持无脚本脚本,这将允许更多的无许可的链下创新(以及改善比特币的隐私),我认为它们是最重要的。当然,我这么认为是因为这是我的工作:)

  你认为闪电网络技术还有哪些最要紧的技术问题需要解决?在比特币中,闪电网络有两个最重要的问题:隐私和可扩展性。无脚本脚本可以极大地改善隐私,它允许用户创建长路径的支付通道,而不用使用相同的哈希像原将它们链接起来,还可以防止这些哈希显示给区块链。eltoo可以提高可扩展性,它使用的是SIGHASH_NOINPUT,这是比特币的另一个提议,允许闪电用户在一定的空间内无限期地维护支付通道。

  据此前报道,你认为比特币可能会在2020年实施Schnorr签名, bet365 那么实施方式是什么呢?硬分叉吗?还是说像闪电网络一样,用户自由选择?

  有一种直接的机制可以在脚本的新更改中使用软分支,比如Schnorr签名。这种机制是在Segwit中引入的,并且很有可能会提出将Taproot(包括Schnorr签名)包含在比特币中。

  Schnorr签名与Taproot什么关系?比特币如果同时实施它们是不是更好?是的,Taproot为使用它的任何输出创建一个“默认支付策略”,这样输出就可以通过一个Schnorr签名进行支出。因为这无论bet365官方如何都需要在比特币验证中使用Schnorr签名代码,所以我们也建议将其添加到比特币脚本中。

  之前您有提到说Schnorr签名方案会遇到重放攻击(Replay Attack)的问题,如果不去研究新的机制,目前的MuSig签名方案就无法保护在虚拟机中进行签名的用户。而这一限制在Blockstream看来是可消除的,那请问目前有好的解决思路了吗。我们有一个很好的解决方案,不涉及零知识证明。但是我们还没有准备好发表我们的研究。我们将在即将到来的zkproof.org研讨会上讨论这个问题:https://zkproof.org/workshop2/main.html

  Blockstream在做哪方面的开发?

  Blockstream对这两种技术的研究重点是什么?有没有这两种技术的新开发方向?

  Blockstream对Schnorr签名感兴趣,因为它大大提高了多签名的可伸缩性,允许我们创建具有非常多参与者的多重签名,同时比特币区块链不需要任何空间成本。它们还可以用来在比特币和Liquid之间创建原子交换交易,而且除了普通交易之外,不需要额外的比特币空间成本。除了发明了MimbleWimble的基础技术,Blockstream对它并没有太大的兴趣。我们希望推动研究向前发展,但是由于它对复杂用例的严重限制(请参阅我之前的回答),我们很难看到如何使用MimbleWimble。

  Blockstream一直在研究开发闪电网络,目前的研究有什么新进展吗?或者你们正在做什么?Blockstream在一定程度上开发了eltoo和无脚本脚本。尽管这些技术需要对比特币(Schnorr签名和SIGHASH_NOINPUT)进行修改才能部署,但它们有望提高Lightning Network的可伸缩性和隐私性。就我而言,我一直在编写代码来实现无脚本脚本和Schnorr多重签名。


bet365 bet365官方 bet365

猜你喜欢