简单理解比特币的Taproot
比特币的Taproot提案已获得社区支持,并预计于今年11月份激活,这引起了加密社区的较大关注。为什么Taproot会引起人们的关注?因为它是近年来比特币最重要的升级之一。
Taproot是一种提升比特币脚本功能的技术,由Greg Maxwell(比特币核心开发者)等公布,它希望通过此技术提升比特币的隐私性、安全性以及可扩展性。
(来自linuxfoundation.org)
具体来说,如何简单理解比特币中的Taproot软分叉升级?
Taproot升级之于比特币
Taproot软分叉升级对比特币来说,有几个好处,可以增强隐私、降低费用以及提升可扩展性。
目前加密社区最关注的问题之一是隐私。比特币链上发生的任何事情都是可以查看的,为了解决这个问题,出来了不少隐私解决方案,甚至有隐私代币,以此试图来解决加密领域的隐私问题。不过,目前为止,隐私代币试图通过隐私属性来取代btc几乎是不现实的。
一般来说,比特币支出需要进行签名,同时还可以添加其他的条件,如时间锁、多重签名等。为了满足更多场景的需求,可以对这些条件进行复合,比如在某区块高度之后才能使用,且要满足多人签名才能支出等。比如某个项目持有的BTC,有特定的支出计划(如支持开发等),可以采用时间锁+多重签名的方式进行支出。
Taproot同样也支持比特币网络进行这些复杂功能交易,比如多重签名、时间锁定发行等。不过不同的地方在于,当前的解决方案在btc进行支出时,需要披露整个脚本(条件)。如果条件复杂,数据量会很大,执行起来也贵,效率不高。此外,它也不利于隐私,因为脚本会揭示所有参与方的信息。
通过Taproot升级则可以解决上述问题。
有了Taproot,这些复杂的功能看上去是一次交易,其中的条件可以被隐藏起来。也就是说,通过Taproot,可以隐藏比特币脚本的踪迹。例如,可以在闪电网络上使用Taproot支付btc,而人们只能看到这些对等交易。
此外,Taproot升级还有利于降低费用和提升可扩展性,为比特币的复杂交易提供更多方便。
之所以能做到这些,很重要的是得益于MAST结构和Schnorr签名方案。Taproot将两者纳入到其软分叉升级中。
MAST+Schnorr
*MAST
MAST(Merklized Abstract Syntax Tree )是默克尔化抽象语法树。它来自于抽象语法树(Abstract Syntax Tree )和默克尔树(Merkle Tree)的结合。
(Mast结构中无需披露所有脚本,Bitmex Research)
MAST试图使用默克尔树对脚本中的操作进行编码。当btc支出时,只需提供其分支运算并将分支哈希连接到固定大小的默克尔根上,从而减少交易大小,节省区块空间。它对资金可支付的不同条件都单独进行了哈希,且都包含在一棵默克尔树中,并形成单个哈希(默克尔根),由此锁定代币。
通过MAST结构,只有满足的条件才需要揭示出来,这增加了隐私性。此外,当它跟Schnorr签名方案结合,它还可隐藏MAST的结果,达成更好的隐私诉求。
整体而言,MAST支持更复杂的交易,可以有各种支出条件,与此同时,它可不用揭示没有执行的脚本或未被触发的条件,由此实现隐私保护。此外,MAST结构还有一个好处是,复杂交易可以实现交易大小的显著降低。有些交易有诸多复杂条件,但随着其脚本数量的增加,MAST交易大小是对数增长,而非线形增长。
(脚本数量与交易大小,David A.Harding)
*Schnorr
比特币社区还将Schnorr签名技术纳入Taproot软分叉升级中。Schnorr签名目的在于实现高效性。比特币目前的签名方案是ECDSA,它和Schnorr签名方案都属于椭圆曲线数字签名算法,不过Schnorr可以实现“聚合签名”。
简单来说,就是一笔交易中多个签名可以组合成一个,它通过将公钥和签名组成成“阀值公钥”和“阀值签名”,让其交易看上去跟普通交易没有区别。“阀值公钥”可以让参与者的公钥叠加在一起,而“阀值签名”可以让参与者的签名组合起来,根据约定条件进行支付。Schnorr签名算法可以使得多重签名更高效,同时由于其看上去跟普通交易一样,因此,也提升了隐私性。
Schnorr签名也被一些加密学家们认为更具安全性,它在“random oracle”模型范围内证明是安全的,而ECDSA签名则无法做到。
结语
抛开复杂的技术问题,Taproot为比特币带来之前没有的好处:
*降低费用
一些复杂的交易,其数据量会极大减少,这会让这些复杂交易费用显著降低。而费用的降低,则利于提升比特币上的复杂交易活动。
*憎强隐私
通过Schnorr签名和MSAT组合可以增强交易的隐私性,一些复杂交易看上跟普通的交易类似。
*提升可扩展性和安全性
将Mast和Schnorr签名结合起来,可以让区块包含更多的交易,减少数据量,不仅较低交易费用,还提升了可扩展性以及安全性。不过,也不要对其扩大吞吐量有过高期待,它主要通过减少多签的大小。想通过它实现更大的可扩展性还是有一定的天花板的。
Scan QR code with WeChat