据比特币Core协议首席维护者WladimirJ.vanderLaan在github透露,BitcoinCore最新版本客户端0.19.0日前已正式发布,这一版本客户端不仅提供了一些新的功能(例如BIP158区块过滤器),其还部分提升了比特币的隐私功能,值得注意的是,新版本客户端默认启用了兼容隔离见证的bech32地址格式,并默认禁用了BIP70付款请求协议。
据悉,比特币下一个重要版本客户端?v0.20.0,预计将于2020年5月份发布。
以下是0.19.0版本core客户端的具体更新说明:
比特币0.19.0版本Core客户端现可通过以下网址获得:
https://bitcoincore.org/bin/bitcoin-core-0.19.0/
此版本更新,包括了新的功能、各种bug修复、性能提升以及翻译更新。
开发者可使用GitHub的问题跟踪器上报错误:
https://github.com/bitcoin/bitcoin/issues
若要接受安全及更新通知,请订阅:
https://bitcoincore.org/en/list/announcements/join/
一、如何更新
如果你运行的是旧版本客户端,请关闭它,直至其完全关闭,然后再运行安装程序或拷贝覆盖至/Applications/Bitcoin-Qt或bitcoind/bitcoin-qt。
直接从旧版本的BitcoinCore客户端进行升级是可能的,但如果需要迁移datadir,则可能需要一些时间。旧版本的BitcoinCore客户端通常是支持的。
二、兼容性
BitcoinCore客户端已在多个操作系统上进行了广泛测试,其中包括Linux内核操作系统、macOS10.10+、Windows7以及更新的操作系统。不建议在不支持的系统上使用BitcoinCore客户端。
BitcoinCore在其他类似Unix系统的OS上也是可工作的,但测试相对较少。
需要注意的是,macOS操作系统低于10.10版本,就无法运行高于0.17.0版本的BitcoinCore客户端,这是因为0.17.0是使用Qt5.9.x构建的,它并不支持低于10.10版本的macOS操作系统。
此外,当macOS“dark模式”被激活时,BitcoinCore不会改变外观。
运行macOSCatalina系统的用户可能需要“右键单击”,然后选择“Open”以打开BitcoinCore.dmg。这是因为苹果公司提出了新的签名要求,而BitcoinCore项目目前还没有遵守这一要求。
三、显著的更改
3、1新用户文档
MintGreen将通过比特币挖矿为北温哥华市提供热量:金色财经报道,加拿大清洁技术加密货币矿商MintGreen正与Lonsdale Energy Corp.合作,通过比特币挖矿为不列颠哥伦比亚省的北温哥华市提供热量。根据声明,该热源将于2022年引入,与天然气相比,每兆瓦将防止20,000公吨温室气体进入大气。MintGreen专有的“数字锅炉”可回收96%的用于比特币挖矿的电力作为热量,然后用于供应社区和服务工业流程。[2021/10/15 20:30:17]
降低内存(
Reducememory)建议对在内存有限系统上运行BitcoinCore客户端进行了配置调整。(#16339)
3、2新的RPC
getbalances返回一个包含所有余额的对象。有关详细信息,请参阅getbalances的RPC帮助部分。新的RPC旨在替换getbalance,getunconfirmedbalance以及getwalletinfo中的balance字段。这些旧的调用和字段可能在将来的版本中会被删除。
setwalletflag设置和消除钱包flag,启用或禁用特定于现有钱包的特性,如在这些发布说明中其它地方记录的新avoid_reuse功能。(#13756)
getblockfilter获取指定区块的BIP158过滤器。仅当已使用-blockfilterindex配置选项创建区块过滤器时,才启用此RPC。(#14121)
3、3新的设置
-blockfilterindex允许为整个区块链创建BIP158区块过滤器。过滤器将在后台创建,目前其使用会大约占用4GB的空间。注意:虽然本地用户可使用getblockfilterRPC获得区块过滤器,但此版本的BitcoinCore不在P2P网络上提供区块过滤器。(#14121)
3、4更新的设置
whitebind和whitelist现在接受一个权限列表,以提供使用指定接口或IP地址进行连接的对等方。如果没有使用地址或CIDR网络指定权限,则隐式默认权限与早期版本相同。有关可用权限的详细信息,请参见这两个选项的bitcoind-help(#16248)
设置自定义dbcache值的用户,可以在不使用任何实际内存的情况下稍微增加设置。最近的变化减少了大约9%的内存使用,并使链式状态计算更加准确。例如,如果之前设置的值为“450”,使用大约相同的实际内存量,你现在可设置的值为"500"。(#16957)
3、5更新的RPC
注:一些主要用于测试的低levelRPC更改,放到了下面的低level更改部分内容中。
sendmany不再有minconf参数。这个参数没有很好地指定,即使钱包的币选择成功,也会导致RPC错误。想要影响币选择的用户,可使用现在的-spendzeroconfchange,-limitancestorcount,-limitdescendantcount以及-walletrejectlongchains配置参数。(#15596)
数据:BTC平均交易规模创5个月高点:金色财经报道,Glassnode数据显示,BTC平均交易规模 (7d MA) 为746.968,创5个月高点 746.968。[2022/11/20 22:09:58]
getbalance和sendtoaddress,加上新的RPCgetbalances和createwallet,现在接受一个“avoid_reuse”参数,该参数控制是否应在操作中包含已经使用的地址。此外,即使尚未通过-avoidpartialspends命令行标志启用此功能,当启用avoid_reuse时,sendtoaddress也将避免部分开销,因为不这样做可能会在地址重用的情况下使用“错误”的UTXO。(#13756)
带有include_watchonly参数或includeWatching选项的RPC,现在对于只读钱包默认为true。受影响的RPC有:getbalance,listreceivedbyaddress,listreceivedbylabel,listtransactions,listsinceblock,gettransaction,walletcreatefundedpsbt以及fundrawtransaction。(#16383)
如果钱包标志"avoid_reuse"被启用了,listunspent现在为每个输出返回一个“reused”bool。(#13756)
getblockstats现在使用BlockUndo数据代替交易索引,使其更快,而不再依赖于-txindex配置选项,并且所以未修剪的区块都有此功能。(#14802)
utxoupdatepsbt现在接受一个描述符参数,该参数将在已知时填写输入和输出脚本和Key。当提供一个描述符来显示它们正在使用隔离见证输出时,P2SH-witness输入将从UTXO集中填充。有关详细信息,请参阅RPC帮助文本。(#15427)
如果交易费超过配置选项-maxtxfee的值,sendrawtransaction和testmempoolaccept将不再接受allowhighfees参数以使mempool接受失败。当使用maxfeerate参数调用任何一个RPC时,现在有一个硬编码的预设最大费率可被更改。(#15620)
除非使用配置选项-deprecatedrpc=size,否则getmempoolancestors、getmempooldescendants、getmempoolentry以及getrawmempool不再返回范围字段。相反,将返回新的vsize字段和交易的虚拟大小。(#15637)
getwalletinfo现在包含一个scanning字段,该字段可为false,也可包含钱包扫描历史记录区块的持续时间和进度信息的对象,以查看影响其余额的交易。(#15730)
gettransaction现在接受第三个(布尔)参数verbose。如果设置为true,则将向包含解码交易的响应中添加新的解码字段。传递verbose时,此字段等效于RPCdecoderawtransaction或RPCgetrawtransaction。(#16185,#16866,#16873)
全国首例数字人民币穿透支付在雄安新区成功落地:金色财经报道,据雄安发布官方公众号,全国首例数字人民币穿透支付在雄安新区成功落地。该笔业务由分包企业通过区块链系统向总包企业发起农民工工资支付申请,并将农民工姓名、数字钱包编号、身份证号、发放金额等信息上链存证,总包企业根据链上资金申请,通过智能合约技术,将工资款以数字人民币形式,从总包企业的数字钱包流转至分包企业的数字钱包,最终穿透支付至农民工个人的数字钱包。[2022/8/30 12:57:02]
createwallet接受一个新的密码短语参数。如果设置,这将创建用给定密码短语加密的新钱包。如果未设置或设置为空字符串,则不会使用加密。(#16394)
getchaintxstatsRPC现在返回window_final_block_height的附加key。(#16695)
getmempoolentry现在提供了一个权重字段,其中包含BIP141中定义的交易权重。(#16647)
getnetworkinfo和getpeerinfo命令现在包含一个带有解码网络服务标志的新字段。(#16786)
getdescriptorinfo现在返回一个额外的checksum字段,该字段包含用户提供的未修改描述符的校验和。(#15986)
joinpsbts现在对结果连接的PSBT输入和输出顺序进行无序处理。而在以前,输入和输出是按提供PSBT的顺序添加的,这使得输入与输出的关联是容易的,从而对隐私不利。
如果-walletrbf配置选项设置为true,walletcreatefundedpsbt现在会发出BIP125费用替代法信号。
3、6?GUI更改
GUI钱包现在默认提供bech32地址,用户可以在invoice生成期间使用GUI切换更改地址类型,或者使用-addresstype配置选项更改默认地址类型。(#15711,#16497)
在0.18.0版本钱包中,./configure标志被引入了,以允许在GUI中禁用BIP70支持。而在0.19.0版本钱包中,此标志现在默认为禁用。如果要在GUI中编译支持BIP70,你可以将--enable-bip70传递给./configure。
3、7废弃或删除的配置选项
-mempoolreplacement已被移除,尽管默认节点行为保持不变。此选项以前允许用户阻止节点接受或中继BIP125交易替换。它与继续存在的配置选项-walletrbf不同。(#16171)
3、8废弃或删除的RPC
bumpfee不再接受totalFee选项,除非指定了配置参数deprecatedrpc=totalFee,此参数将在后续版本中被完全删除。(#15996)
bumpfee有一个新的fee_rate选项来替代已弃用的totalFee。(#16727)
generate在BitcoinCore0.18版本中被弃用后,现在已被正式移除。请改用generatetoaddressRPC。(#15492)
彭博社:Zipmex已获得新加坡高等法院为期三个月的债权人保护:8月15日消息,加密货币交易所Zipmex已获得了新加坡高等法院三个多月的债权人保护。Zipmex的五个实体中均被允许暂停到12月2日。这将保护公司免受潜在的债权人诉讼。Zipmex在新加坡、泰国、印度尼西亚和澳大利亚开展业务,并正在向债权人寻求为期五个月的保护,以制定重组计划。(彭博社)[2022/8/15 12:26:08]
3、9P2P更改
BIP61拒绝消息在0.18版本中被弃用,它们现在为默认禁用,但你可通过设置-enablebip61命令行选项来启用它。BIP61拒绝消息将在未来版本的客户端中被完全删除。(#14054)
为了消除BitcoinCore中众所周知的拒绝服务向量,特别是对于具有spinningdisk的节点,新版本客户端已将-peerbloomfilters配置选项的默认值更改为false。这可防止比特币Core客户端发送BIP111NODE_BLOOM服务标志、接受BIP37BLOOM过滤器或服务merkle区块或与BLOOM过滤器匹配的交易。而仍希望提供BLOOM过滤器支持的用户,可以将配置选项设置为true,以重新启用对BIP111和BIP37的支持,或者使用本发布说明中其他地方描述的更新的-whitebind和-whitelist配置选项仅对特定对等方启用BIP37支持。在不久的将来,使用公共BIP111/BIP37节点的轻客户端,应该仍能够连接到较早版本的BitcoinCore和手动启用BIP37支持的节点,但此类软件的开发人员,应考虑迁移到使用特定BIP37节点或替代的交易过滤系统。(#16152)
默认情况下,BitcoinCore客户端现在将建立两个专门用于区块中继的额外出站连接。不会在这些连接上处理任何交易或地址信息。这些连接旨在增加很少的额外内存或带宽资源需求,但会使某些分区攻击更难执行。(#15759)
3、10杂项CLI更改
bitcoin-cli-getinfo中的testnet字段已重命名为chain,现在返回BIP70中定义的当前网络名。(#15566)
四、低level更改
4、1RPC
getblockchaininfo不再返回bip9_softforks对象。相反,信息被移动到softforks对象中,另外一个type字段描述了BitcoinCore客户端如何确定该软分叉是否处于活动状态。有关详细信息,请参阅RPC帮助。(#16060)
getblocktemplate不再返回包含CSV和segwit的rules数组。(#16060)
getrpcinfo现在返回一个logpath字段,路径为debug.log。(#15483)
4、2测试
由-regtest命令行标志启用的退化测试链,现在要求交易在默认情况下不违反标准策略。这与主网使用的默认值相同,使在regtest测试网上测试主网行为变得更容易。请注意,默认情况下,测试网仍然允许非标准交易,并且可使用-acceptnonstdtxn命令行标志为两个测试链本地调整策略。(#15891)
硅谷投资教父Tim Draper:2022年比特币25万美元:今天在专注全球区块链发展的Draper Pitch Event活动上,硅谷投资教父、Draper University创始人Tim Draper称,2022年比特币25万美元。[2018/4/13]
4、3配置
在默认部分中指定,但未在网络特定部分中指定的设置,现在将产生一个阻止启动的错误,而不仅仅是一个警告,除非网络是主网。这将防止针对主网的设置,应用于测试网或regtest测试网。(#15629)
在支持thread_local的平台上,可以在日志行前面加上导致日志线程的名称。要启用此行为,请使用-logthreadnames=1。(#15849)
4、4网络
当获取由多个对等节点宣布的交易时,BitcoinCore早期版本的客户端将按接收到这些对等方的通知顺序,然后依次下载交易,直到接收到该交易为止。而在新版本客户端中,下载逻辑已更改为随机获取方式,并倾向于将下载请求发送到出站对等端而不是入站对等端。这修复了入站对等方可能阻止节点获取交易的问题。(#14897,#15834)
如果用户正在使用Tor隐藏服务,BitcoinCore客户端也将绑定到标准端口8333,这可防止通过使用相同的非默认端口号泄漏节点身份。(#15651)
4、5Mempool和交易中继
允许每个包有一笔额外的单一祖先交易。以前,如果mempool中的一笔交易有25笔子代交易,或者它和它的所有子代交易都超过101,000vbyte,那么作为子代交易,新接受的交易都将被忽略。现在,新客户端将允许一笔额外的子代交易,前提是它是直接子代,并且子代交易的大小不超过10,000vbyte。这使得像闪电网络这样的两方合约协议,可以为每个参与者提供一个子付费用的输出,而不允许一个恶意参与者填满整个包,从而防止另一个参与者花费他们的输出。(#15681)
输出为v1到v16witness版本的交易,现在被接受到mempool中,进行中继和挖矿操作。试图使用这些输出仍然被政策所禁止。当这一变化被广泛应用时,钱包和服务可以接受任何有效的bech32比特币地址,而无需担心未来版本的隔离见证交易支付将陷入未经确认的状态。(#15846)
传统交易现在必须使用传统编码格式发送,强制执行BIP144中指定的规则。(#14039)
4、5钱包
在修剪模式下,由importwallet、importpubkey、importaddress或importprivkeyRPC触发的重新扫描只有在区块被修剪时才会失败。以前当-prune被设置时,它才会失败,此更改允许将-prune设置为高值,而在第一个区块被修剪之前,对任何导入RPC的调用都不会失败。(#15870)
创建费用高于-maxtxfee的交易时,RPC命令walletcreatefundedpsbt和fundrawtransaction现在将失败,而不是降低费用。请注意,feeRate参数是以每1,000vbyte的BTC指定的,而不是以每vbyte的satoshi指定的。(#16257)
添加了一个新的钱包标志avoid_reuse,启用它后,钱包将区分已使用和未使用的地址,并默认在币选择中不使用前者。当在现有钱包上设置此标志时,需要重新扫描区块链以正确标记先前使用的目的地。再加上"避免部分支出",这可以消除一个严重的隐私问题,即恶意用户可通过将小额支付发送到先前支付的地址来跟踪支出。(#13756)
4、6开发系统更改
目前项目的开发,Python需要>=3.5版本。这包括构建系统、测试框架和linter。之前支持的最低值(3.4版本)已经在2019年3月被弃用。(#14954)
支持的miniUPnPcAPI版本,最低为10。这与Ubuntu16.04LTS和Debian8libminiupnpc-dev包保持兼容。请注意,在Debian上,此软件包仍然易受CVE-2017-8798和CVE-2017-1000494的攻击。(#15993)
五、0.19.0更改日志
有兴趣的读者可以查看原文:https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.19.0.md
六、参与贡献的开发者名单
感谢所有直接参与此次软件发布的开发者,他们是:??
251
AaronClauson
AkioNakamura
AlistairMann
AmitiUttarwar
AndrewChow
andrewtoth
AnthonyTowns
AntoineRiard
AseemSood
BenCarman
BenWoosley
bpay
CarlDong
CarnhofDaki
ChrisCapobianco
ChrisMoore
Chuf
clashic
clashicly
CoryFields
DakiCarnhof
DanGershony
DanielEdgecumbe
DanielKraft
DanielMcNally
darosior
DavidA.Harding
DavidReikher
DouglasRoark
ElichaiTurkel
Emil
EmilEngler
ezegom
FabianJahr
fanquake
FelixWeis
FerdinandoM.Ametrano
fridokus
gapeman
GChuf
Gert-JaapGlasbergen
GiulioLombardo
GlennWillen
GrahamKrizek
GregorySanders
grim-trigger
gwillen
HennadiiStepanov
JackMallers
JamesHilliard
JamesO'Beirne
JanBeich
JeremyRubin
JeremyRand
JimPosen
JohnBampton
JohnNewbery
JonAtack
JonLayton
JonasSchnelli
Jonathan"Duke"Leto
Jo?oBarbosa
JoonmoYang
JordanBaczuk
JorgeTimón
JosuGo?i
JulianFleischer
Karl-JohanAlm
KazWesley
keepkeyjon
KirillFomichev
KristapsKaupe
KristianKramer
LarryRuane
LennyMaiorani
LongShao007
LucaVenturini
lucash-dev
LukeDashjr
marcoagner
MarcoFalke
marcuswin
MartinAnkerl
MartinZumsande
MattCorallo
MeshCollider
MichaelFolkson
MiguelHerranz
NathanMarley
NehaNarula
nicolas.dorier
NilsLoewen
nkostoulas
orient
PatrickStrateman
PeterBushnell
PeterWagner
PieterWuille
practicalswift
qmma
r8921039
RJRybarczyk
RussellYanofsky
SamuelDobson
SebastianFalbesoner
setpill
shannon1916
SjorsProvoost
soroosh-sdi
StevenRoose
SuhasDaftuar
tecnovert
THETCR
TimRuffing
TobiasKaderle
TorkelRogstad
UlrichKempken
whythat
WilliamCasarin
WladimirJ.vanderLaan
zenosage
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。