今天是9年前由中本聪(Satoshi Nakamoto)推出的第16代比特币原始软件客户端Bitcoin Core 0.16.0的正式发布。最新的主要版本由比特币核心首席维护者弗拉基米尔·范德兰(Wladimir van der Laan)监督,由大约100位贡献者在五个月的时间内开发. 与新版本一样,Bitcoin Core 0.16.0包括性能改进,错误修复和其他优化。该版本特别包含了钱包界面中的一些新增功能。最值得注意的是,Bitcoin Core 0.16.0使钱包见证人可以完全使用隔离见证(SegWit),这是大多数努力的重点,这也是为什么此版本有时被称为“隔离见证”的原因。 以下是一些最显着的变化的概述. 电子钱包界面中的隔离证人 隔离见证当然是2017年主要的比特币协议升级,即使不是有史以来最大的协议升级。它为升级的节点引入了全新的块数据结构,而未升级的节点可以继续正常运行。除其他好处外,SegWit还用块“权重”限制代替了比特币的块大小限制,从而允许具有最多4兆交易数据的块,因此,网络上的交易容量增加了. 隔离见证本身是在2016年10月发布的Bitcoin Core 0.13.1中首次引入的。升级于2017年8月启动。但是,Bitcoin Core 0.16.0是第一个允许钱包用户生成SegWit地址以接收付款的Bitcoin Core版本。这意味着当在这些地址上收到的资金稍后用于付款时,Bitcoin Core钱包用户将利用SegWit提供的增加的区块空间。在其他条件相同的情况下,与非隔离见证交易相比,这些用户应能够支付较低的费用. 比特币核心并不是第一个为用户启用隔离见证的钱包。在过去的六个月中,其他几个钱包已经引入了此功能。自从Bitcoin Core开发团队编写并提出了升级建议以来,值得注意的是,该功能尚未提供给Bitcoin Core钱包用户使用。. Bech32:比特币的新地址格式 在比特币核心钱包中引入隔离见证(SegWit)的同时,一种新的地址格式也称为“ bech32”。这种地址格式是由前Blockstream首席技术官Gregory Maxwell和Blockstream开发人员Pieter Wuille博士开发的,因为它以“ bc1”开头,而不是比特币地址通常开头的1或3,因此可以识别。更重要的是,bech32地址使用的字符少于当前地址格式,因为小写和大写字母之间不再有区别。这样可以减少人为错误的可能性(例如,大声读出地址时)。 Bech32地址还旨在限制其他类型的错误,例如由错别字引起的错误. 此外,bech32在SegWit钱包支持的背景下提供了很多好处。到目前为止,大多数提供SegWit的钱包都是通过将其“包装”到P2SH输出(地址以3开头)来实现的。要从这样的地址花费硬币,用户必须显示一段代码-“兑换脚本”,以表明硬币确实被锁定在SegWit输出中。使用新的bech32地址,可以跳过此步骤,这意味着从SegWit地址进行的支出将需要较少的数据通过比特币网络传输并包含在区块链中. 由于并非所有比特币钱包都支持bech32地址,因此Bitcoin Core 0.16.0用户将能够选择是生成bech32收款地址还是P2SH地址,而P2SH仍是当前的默认设置。比特币核心钱包当然支持将交易发送到任何类型的比特币地址. 费用替代作为默认发送选项 由于过去几年来比特币区块已被填满,因此并非网络上的所有交易都适合开采的第一个可用区块。取而代之的是,矿工通常会优先考虑费用最高的交易。如果用户希望快速确认其交易,则应支付足够高的费用。对于不太紧急的交易,较低的费用就足够了。许多钱包都包含费用估算算法,以计算在不同时间段内确认交易的费用水平. 但是,比特币网络在发现块的速度以及随时传输的交易数量方面具有固有的不可预测性。这可能会导致难以收取正确的交易费,这意味着用户可能需要等待比预期更长的时间才能进行确认. 从Bitcoin Core 0.15.0开始,钱包用户已经能够在交易中添加“按费用替换”标签。有了这样的标签,网络上的节点和矿工就知道发件人可能想用包含更高费用的较新的交易来代替该交易。这有效地使Bitcoin Core钱包用户可以轻松地在线增加交易量,从而更快地确认. Bitcoin Core 0.16.0首次使“按费用替换”成为默认发送选项。用户仍然可以通过取消选中一个框来选择不在其交易中添加“按费用收费”标签,但如果不取消勾选,则可以替换他们的交易。这样可以防止用户不经意间就放弃自己的选择,而仅在为时已晚可以轻易增加交易量时才注意到. 有关Bitcoin Core 0.16.0的新功能的更多详细信息,请参见 发行说明. 您可以从下载比特币核心0.16.0 bitcoincore.org.
核心协议,技术
Bitcoin Core 0.19.0发布:这是新功能
今天(2019年11月24日)标志着 比特币核心0.19.0, 中本聪(Satoshi Nakamoto)在11年前发布的第19个主要版本的比特币原始软件客户端,至今仍是网络上占主导地位的比特币实施。 (尽管由于在Bitcoin Core 0.19.0发布过程的后期发现了一个问题,所以发布供下载的版本实际上是0.19.0.1.。) 比特币核心 首席维护者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筛选器). 值得注意的是,即使没有人更改默认设置,整个比特币网络几乎肯定会在未来几年内继续支持Bloom Blooms过滤器,这仅仅是因为较旧的Bitcoin Core节点通常在新版本推出后已经使用了很多年。被释放. 对紧凑型客户端块过滤的更多支持 […]
Bitcoin Core 0.17.0发布:这是新功能
今天标志着的正式发布 比特币核心0.17.0, 中本聪(Satoshi Nakamoto)在大约10年前推出的第17代比特币原始软件客户端,至今仍是网络上占主导地位的比特币实施。监督者 比特币核心 首席维护者Wladimir van der Laan,这个最新的主要版本是由135个贡献者在大约七个月的时间内开发的. 超过700个合并的合并请求的结果,Bitcoin Core 0.17.0包括一系列性能改进和错误修复以及其他更改. 以下是其中一些更改的概述. 改进硬币选择 钱包中的硬币有效地存储为单独的块(“交易输出”)。通常,每个收到的付款都有一个大块;因此,大多数块代表不同的数量。从钱包付款时,会将不同的部分加在一起,以构成足以支付的大笔金额,再加上费用。不同的块通常未加总到所需的确切数量,但是,在这种情况下,将“更改地址”添加到交易中,将所有剩余资金退回同一钱包. 到目前为止,Bitcoin Core钱包将不同的区块加在一起。只有这样,它才能计算并添加支付交易所需的费用。但是在某些情况下,向交易中添加费用意味着添加的块不再构成足够大的金额,在这种情况下,必须包括一个额外的块. 比特币核心0.17.0引入了由 比特币 工程师Mark Erhardt。这提供了两个具体的改进。首先,在避免将每个大块的费用选择为交易的一部分之前计算费用,以避免以后必须添加新的大块。其次,该算法尝试匹配不同的块,以使它们加起来达到所需的确切数量,并尽可能避免使用“更改地址”(发送剩余的“更改”的地方)。 (具有大块的大钱包,例如由交易所或其他高流量实体操作的大钱包,比其他钱包更不需要更改地址。) 此外,Bitcoin Core 0.17.0中的硬币选择算法还包括一项可选的隐私改进措施. 虽然违反最佳做法,但有可能收到同一位比特币地址的多笔付款。 (例如,捐赠地址经常发生这种情况。)重复使用地址本身就不利于隐私,因为很明显该地址上的所有硬币和从该地址进行的所有付款均来自同一用户。但是,如果在不同的交易中使用绑定到同一地址的不同数据块,并将它们链接到最初与该地址不相关的数据块,则情况更糟。. 为了解决最后一个问题,Bitcoin Core 0.17.0为用户提供了一个选项,可以让他们优先考虑在交易中添加与同一地址绑定的块,并在可能的情况下将其他任何块都排除在交易之外. 轻松创建和使用新钱包 从Bitcoin Core 0.15.0开始,可以创建多个彼此独立运行的钱包。这些钱包都有各自独立的比特币地址,私钥和资金。用户可以将不同的钱包用于不同的目的;例如,一个钱包可以用于个人日常购买,另一个可以用于与业务相关的交易,而另一个则可以用于交易。由于不同的钱包无法通过区块链分析相互链接,这可以使记帐更加容易和便捷,并且用户可以更轻松地从增加的隐私中受益。. 但是,到目前为止,只能在启动节点时创建新的钱包,并且它不适用于Bitcoin Core钱包(GUI)用户。这两个限制现在都已解决。 Bitcoin Core 0.17.0允许用户随时创建新的钱包,并且在GUI中提供了此功能. 另外一个好处是,Bitcoin Core 0.17.0引入了一项称为“ Scantxoutset”的功能。这使用户可以通过检查未使用的交易输出(UTXO)设置而不是重新扫描整个交易历史记录,来快速验证其新钱包是否已包含硬币(例如,因为私钥是从另一个钱包导入的)。. 非高清到高清钱包升级 早于0.13.0的比特币核心版本仍要求用户备份其所有私钥,而自那时起,所有比特币核心版本均提供了分层确定性(HD)钱包。 HD钱包用户只需要存储一个种子短语(单词列表)作为备份. 但是,比特币核心用户谁 已升级 他们的系统使用的比特币核心0.13.0及更高版本无法创建新的高清钱包。非HD钱包和HD钱包之间的不兼容性意味着这些用户仍然无法备份其所有私钥. 现在,Bitcoin Core 0.17.0允许这些用户也升级到HD格式。此外,已经拥有高清钱包的比特币核心钱包用户现在可以选择生成或导入新的高清种子。. 仅观看-钱包 比特币钱包通常存储私钥,允许用户花费其硬币。但是,比特币核心现在也支持“仅监视”地址已有一段时间了。这些地址的私钥未存储在钱包中,但附加到这些地址的硬币仍在钱包中可见。这使用户可以轻松地接受付款并跟踪其资金,例如,离线存储其私钥. Bitcoin […]

Facebook
Twitter