今天(1月14日),Bitcoin Core 0.21.0的正式发布,这是中本聪在大约12年前推出的比特币原始软件客户端的第21个重要版别。
在Bitcoin Core首席保护者Wladimir van der Laan的监督下,这个最新的主要版别是由一百多名贡献者在大约六个月的时间里开发的。Bitcoin Core 0.21.0是近几年来最大的Bitcoin Core版别之一,引入了各种新功能,以及隐私和性能的改进,一起向Schnorr/Taproot协议的晋级迈出了一大步。
以下是一些比较显著的变化。
1、描述符钱包
当币被发送到比特币地址时,实际上产生的事情是,它们会被 “锁定”在一个未花费的买卖输出(UTXO)中,而只要满意UTXO中躲藏条件,才能在以后的买卖中被“解锁”(花费)。其间一个典型的条件是包含与特定公钥对应的有用签名。但条件也能够包含像隐秘代码、时间锁的失效或签名的组合(多签)。
直到现在, Bitcoin Core的规划都旨在围绕其对应的私钥来办理钱包中的UTXOs——尽管私钥仅仅花费代币的几个潜在条件之一。此次Bitcoin Core 0.21.0引入了“描述符钱包”(Descriptor Wallets)。描述符钱包能够让用户依据花费UTXO所需的条件类型对其进行分类。(例如:一个钱包用于只需有用签名的UTXOs,另一个钱包则用于多签名的UTXOs)。
描述符钱包关于在Bitcoin Core之上规划软件的运用开发者来说特别有用。现在,一个特定的运用程序能够很容易地被规划成只利用特定类型的UTXO,如多签UTXO,而疏忽任何非多签的UTXO。
普通用户或许也会留意到现在描述符钱包实施后的不同。或许最值得留意的是,当启动一个新的Bitcoin Core节点时,将不会创立默许钱包。取而代之的是,只要当用户特别挑选创立新钱包时,才会创立新钱包,并答应他们只创立特定需求的钱包类型。此外,描述符钱包也更好地支持 Watch Only钱包:即使节点没有运用它们所需的私钥,也会盯梢某些特定的UTXO。
晋级到Bitcoin Core 0.21.0的Bitcoin Core用户现在依然能够运用他们的传统钱包。(传统钱包最终将被废弃,这意味着用户需求将他们的传统钱包迁移到描述符钱包,但在未来的Bitcoin Core发布之前,这并不是严厉意义上的必要。)
2、在点对点网络上供给紧凑的区块过滤服务
“轻客户端”(Light clients)是指不下载和验证整个比特币区块的比特币钱包和运用程序,而仅仅下载和验证详细涉及的部分区块和买卖。这并不是最佳的安全方法,但对资源的消耗要小得多。
其间,一种流行的方法是运用Bloom Filters。简而言之,Bloom Filters是一种加密技巧,用于从网络上或多或少的随机对等节点中恳求相关数据。但是,不幸的是,多年来,人们现已清楚地认识到,Bloom Filters对隐私适当不友好:它们根本上将用户的一切地址透露给(或多或少随机的)对等节点,当然,也就能够被侵略隐私的窥视操作。
与Bloom Filter解决计划比较,一个更新且更能保护隐私的代替计划被称为“紧凑型客户端区块过滤”(BIP 157/158)。它从本质上推翻了Bloom Filter的技巧。与其说是轻钱包创立过滤器发送给全节点,不如说是全节点为每个区块创立过滤器,并依据恳求将这些过滤器发送给轻客户端。然后,轻客户端运用这些过滤器来弄清与他们相关的买卖是否或许现已包含在一个区块中。假如是的话,轻钱包将获取整个区块,并从中挑选出任何相关的买卖数据。(会有一些误报;即使过滤器主张或许会有相关买卖数据的区块,但其间或许并不含有有相关的买卖数据。)
现有的Bitcoin Core版别现已能够在本地创立过滤器,并经过远程过程调用(RPC)为运行在节点顶部的运用程序(如钱包)供给过滤器。Bitcoin Core 0.21.0现在还包含了一个选项,能够依据恳求在Bitcoin的点对点网络上供给这些过滤器。也就是说,现在操作运用bloom filters的独立轻客户端也成为了或许。
3、更少的重播测验
除了Bloom Filters,窥视者还能够经过网络分析破解比特币用户的隐私。假如他们能找出某笔买卖来自哪个节点,那么该节点的比特币地址就能够与其IP地址联系起来,而IP地址又能够与现实国际的身份联系起来。
直到现在,当Bitcoin Core节点向比特币网络播送一笔买卖时,它们都会企图每隔15分钟重新播送这笔买卖,直到这笔买卖被包含在一个区块中。这就意味着,假如这些Bitcoin Core节点连接到了一个窥视对等体,那么关于窥视者来说,每隔15分钟企图重播某笔买卖的Bitcoin Core 节点也就很显着是该买卖的来源节点。
Bitcoin Core 0.21.0大大降低了它企图重播买卖的频率:从原先的频率调整到了每12到36小时才重播一次。不得不减少重播的频率,使得买卖从开端的播送开端就被承认的或许性大大添加,所以节点根本不需求重播。
在未来的Bitcoin Core版别中,这种隐私泄露将被完全修正。届时,Bitcoin Core节点只会重播应该依据自己的mempool和费用计算承认的买卖。此外,它还会重播其他买卖,而不仅仅是自己的买卖。
4、支持Tor V3
因为最近对隐私保护Tor协议的晋级,新的V3版别的Tor地址比之前的V2版别地址要长。现在,V2地址仍在运用,但将在大约一年后被废弃。
废弃V2地址会给想要经过隐私网络运用比特币的Bitcoin Core用户带来问题。原本Bitcoin Core节点经过相互分享已知运用Tor的比特币节点的Tor地址来寻找同行。他们经过同享其他节点的常规IP地址的相同信息来同享这个IP地址。尽管Tor V2地址能够“躲藏 ”在常规IP地址格局(IPV6)中,但Tor V3地址太长了,也就是说,现在的音讯太有限了,还无法与Tor的晋级兼容。
因而,Bitcoin Core 0.21.0引入了一种新的格局来与同行同享IP/Tor地址。这些音讯能够大到同享Tor V3地址。
5、Schnorr/Taproot代码和Signet/Regtest部署
Schnorr/Taproot将成为比特币自2017年8月阻隔见证(SegWit)以来的初次协议晋级。Schnorr签名算法现已开发了两年多,被认为是对比特币当时ECDSA签名算法的全面改进。结合Taproot(一种巧妙的技巧,在加密哈希树中躲藏各种花费代币的条件),此次晋级有望以可扩展和保护隐私的方法供给更多的智能合约灵活性。
Schnorr/Taproot代码现在现已包含在Bitcoin Core 0.21.0中。除非有意外的开展,它不会再有任何变化,也就是说,运用开发者现已能够开端围绕晋级规划软件了。此外,Schnorr/Taproot现在现已能够在Signet(测验网的一个更新、更可靠的变体,开发者能够用它来测验新的比特币软件)上运用,而且也有或许在Regtests(额外的本地测验网变体)上运用。
不过,Schnorr/Taproot暂时还不能在比特币主网上运用。为此,晋级首要需求激活,而激活就需求激活逻辑。但是这个Bitcoin Core版别中并没有包含激活逻辑,估计或许会在未来几个月的某个时间内包含在Bitcoin Core的一个小版别中。
6、其他
除了上述变化之外,Bitcoin Core 0.21.0还包含各种bug修正和性能提升,关于普通用户来说,这些变化不会那么显着。
比方Bitcoin Core钱包将从运用Berkeley DB切换到SQLite数据库,后者更适合作为运用数据文件,并且在兼容性、支持和测验方面供给了多项保证。
值得关注的是,Bitcoin Core 0.21.0还包含了买卖恳求的大修:比特币节点用来了解新买卖的新音讯协议现现已过了更好的测验,更好的规则,且更容易保护和检查。
视野开拓
列宁( Vladimi I。 Lei,1870-1924)的社会主义模式既继承马克思的理论,又有自己的特点。它的最大特点,是引入掌握强制力量的国家机器作为社会主义经济的组织者。这与“社会大工厂”和“自由人联合体”大为不同。列宁在他写于十月革命前夕的著作《国家与革命》中,把社会主义经济比拟为一家“国家辛迪加( The State Sydicate),即一家由国家空断经营的大公司。他说,在共产主义社会的第一阶段即社会主义社会里,“全体公民都变成了国家(武装工人)的职员,全体公民都成了一个全民的、国家的“辛迪加'的职员和人,”“整个社会将成为一个管理处,成为一个劳动平等、报酬平等工厂。-《当代中国经济改革教程》