LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > Bitcoin Core 0.19.0发布:这是新功能

Bitcoin Core 0.19.0发布:这是新功能

2019-11-25 不详 来源:区块链网络

今天,即2019年11月24日,标志着Bitcoin Core 0.19.0的正式发布,这是11年前由中本聪(中本聪)推出的第19个比特币原始软件客户端的主要版本,并且仍然是当今网络上占主导地位的比特币实施。 (尽管由于在Bitcoin Core 0.19.0发布过程的后期发现了一个问题,所以发布供下载的版本实际上是0.19.0.1.。)由Bitcoin Core首席维护者Wladimir van der Laan监督,这是最新的专业发布是由一百多位贡献者在大约六个月的时间内开发的。

550个合并的拉取请求的结果,Bitcoin Core 0.19.0包括一系列性能改进,现代化和错误修复以及其他更改。

以下是其中一些更改的概述。

默认情况下,GUI中的Bech32地址

“ bech32”地址格式(BIP 173)已在2018年初发布的Bitcoin Core 0.16.0中引入,但现在首次在Bitcoin Core钱包图形用户界面(GUI)中设置为默认选项。

Bech32地址是以“ bc1”开头的地址(与以1或3开头的地址相对)。这些地址也更长一些,但是使用的字符比当前地址格式少,因为不再有区别小写和大写字母之间。 (例如,这可以减少人为错误的可能性,例如,当一个地址被大声读出时。)Bech32地址还旨在限制打字错误引起的错误。

此外,bech32在SegWit上下文中提供了很多好处。提供SegWit的某些钱包(包括到目前为止默认情况下的默认比特币核心钱包)是通过将其“盘点”到P2SH输出(地址以“ 3”开头)来实现的。要从这样的地址花费比特币,用户必须显示一段代码-“兑换脚本”-以表明比特币确实被锁定在SegWit输出中。使用新的bech32地址,可以跳过此步骤,这意味着来自SegWit输出的支出将需要较少的数据通过比特币网络传输并包含在区块链中。这使得来自bech32输出的事务甚至比来自P2SH输出的SegWit事务便宜。

由于并不是所有的比特币钱包都支持发送到bech32地址,因此,Bitcoin Core 0.19.0用户仍然可以选择通过GUI中的切换生成PS2H接收地址。

默认情况下,两个额外的仅阻止出站连接

比特币节点连接到其他几个比特币节点,一起形成对等网络。通过该网络,节点共享块,交易和一些其他交易数据。

但是对等网络可能会遭受诸如“分区攻击”之类的攻击。如果攻击者控制了足够多的比特币节点,则有可能“切断”比特币网络的某些部分(甚至是特定部分)。节点)来拦截所有流量。然后,例如,可以将网络的分区部分视为欺骗,接受少数链(而不是最长的链)为有效链,这反过来又可能为双重攻击开门。

如果网络分区部分中的节点甚至只有一个与主网络上诚实节点的连接,则可以应对分区攻击。然后,它将接收并中继所有交易和区块,并拒绝少数链,转而支持多数链。

一种实现此目标并使分区攻击更难以进行的方法是,使节点之间建立更多的连接。但是,更多的连接确实需要更多的内存和带宽。需要权衡。

Bitcoin Core 0.19.0将传出连接的默认值增加了两个,但是-巧妙地-这两个额外的连接仅用于中继块-它们不中继交易或其他交易数据。这最小程度地增加了带宽需求,同时仍然使分区攻击更难以成功实施。

不推荐使用Bloom过滤器

Bitcoin Core是一个完整的节点实现,这意味着它下载并验证了所有Bitcoin块。尽管这是最佳的安全性,但它并不十分适合移动电话等低资源计算设备。因此,移动钱包(以及某些台式机钱包)通常是“轻型客户端”:这些仅下载交易和与交易有关的(部分)区块。

实现此目的的一种方法是使用Bloom Blooms过滤器,如今有两个钱包在使用它们。简而言之,布隆过滤器是轻客户端用来从网络上或多或少的随机完整节点请求相关数据的一种加密货币技巧。但是,不幸的是,多年来,很明显,Bloom Filters相当不适合隐私:它们实质上将所有地址公开给整个节点。最重要的是,支持Bloom Filter请求的确会消耗整个节点的CPU和磁盘空间,而整个节点本身并没有直接的好处。

特别是由于后一个原因,默认情况下,Bitcoin Core 0.19.0不再支持Bloom Bloom请求。用户仍然可以选择切换默认值以支持Bloom Blooms。

值得注意的是,即使没有人更改默认值,整个比特币网络几乎肯定会在未来几年内继续支持Bloom Blooms过滤器,这仅仅是因为较老的Bitcoin Core节点通常在新版本推出后已经使用了很多年。被释放。

对紧凑型客户端块过滤的更多支持

布隆过滤器的替代方法是一种更新的解决方案,称为“紧凑客户端块过滤”(BIP 158)。紧凑的客户端块过滤从根本上改变了Bloom Filter的窍门。代替轻钱包创建发送到完整节点的过滤器,完整节点为每个块创建过滤器。然后,轻量客户端可以使用这些过滤器来确定与它们相关的交易是否可能在一个区块中发生。如果是这样,轻钱包将获取整个区块并从中提取任何相关交易数据。

Bitcoin Core 0.19.0继续朝着支持紧凑型客户端块过滤的方向发展。 Bitcoin Core节点已经可以在本地创建过滤器,但是Bitcoin Core 0.19.0用户现在也可以通过远程过程调用(RPC)使它们可供运行在该节点顶部的应用程序(例如钱包)使用。

但是,这些过滤器尚无法通过对等网络使用。这意味着Bitcoin Core 0.19.0节点将不会自动将过滤器发送到其他Bitcoin用户的钱包。此功能可以添加到将来的Bitcoin Core版本中-或Bitcoin Core 0.19.0用户可以选择通过在其Bitcoin Core节点之上运行的自定义应用程序提供此功能。

从GUI禁用支付协议支持

付款协议(BIP 70)是几年前设计的,目的是改善比特币的付款体验。除了向比特币网络广播的常规付款之外,用户和商家还将传达有关付款的其他详细信息,例如人类可读的目的地地址(商家名称)和退款地址,以防万一出问题与购买。

尽管比特币核心在其GUI中集成了支付协议,但该标准从未得到广泛采用。取而代之的是,大多数钱包仍然使用更基本的URI方案(BIP 21)来接收付款:可点击的链接或可扫描的QR码格式,例如,传达付款地址和金额。 (今天唯一值得注意的例外是支付处理器BitPay,它不支持URI方案,但使用BIP 70的修改版本。)

也许比缺乏采用更为重要的是,多年来,BIP 70支付协议一直遭受许多安全和隐私漏洞的困扰。因此,一些钱包积极拒绝实施该协议。比特币核心(Bitcoin Core)也已经计划弃用BIP 70一段时间,因为维护它不值得付出努力-但是BitPay采纳它的过程拖延了这一过程。

毕竟,在Bitcoin Core 0.19.0中,默认情况下BIP 70已从GUI中删除。 Bitcoin Core 0.19.0用户必须使用特殊配置来编译其节点,才能仍然使用该功能。

其他…

除了上述更改外,Bitcoin Core 0.19.0还包含许多较小的改进和现代化更新。

例如,现在可以从设置中立即启动修剪的节点,这使磁盘空间小的用户可以轻松地启动新的Bitcoin节点。 Bitcoin Core 0.19.0还包括部分签名的比特币交易(PSBT)协议的新功能,该功能对于多重签名和CoinJoin交易非常有用。同样,钱包描述符领域也有一些改进,这对从事比特币应用程序的程序员特别有用。 Bitcoin Core 0.19.0节点还将接受并中继使用未来SegWit版本的交易,以确保即将进行的升级将顺利进行。

有关更广泛的升级列表,另请参见Bitcoin Core 0.19.0.1发行说明。

感谢Sjors Provoost对本文的反馈。

—-

编译者/作者:不详

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...