据比特币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项目目前还没有遵守这一要求。
马斯克:比特币创世区块让我想起《创世纪5:命运斗士》游戏:金色财经报道,特斯拉首席执行官埃隆·马斯克在回复前推特首席执行官Jack Dorsey纪念比特币13周年的推文时表示,比特币创世区块让他想起《创世纪5:命运斗士》(Ultima V: Warriors of Destiny)这款经典游戏,游戏玩家通常使用十六进制编辑器在游戏里“作弊”寻找乐趣,2016 年 8 月,马斯克在推特上说《创世纪5:命运斗士》是他最喜欢的童年游戏之一。[2022/1/4 8:23:03]
三、显著的更改
3、1新用户文档
降低内存(
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)
分析师Alex Krüger:预计比特币价格将在本周达到4万美元:在过去三周比特币价格已经上涨超过15000美元。数据显示,Coinbase上比特币价格在UTC时间04:24(北京时间12:24)左右飙升至35000美元以上。四分钟后达到35822美元,再次创下历史新高。
根据CryptoCompare数据,截至1月6日UTC时间05:35(北京时间13:35),比特币价格约为35160美元,在过去24小时内上涨15.49%,2021年上涨21.35%。比特币市值约为6533.3亿美元。
CryptoQuant首席执行官Ki Young-Ju今天早些时候指出,尽管我们在周一(1月4日)目睹近6000美元的下跌,比特币的牛市似乎远未结束。加密分析师Alex Krüger表示,他预计比特币价格将在本周底达到4万美元。(Cryptoglobe)[2021/1/6 16:32:51]
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)
Luxor pool财务主管:比特币矿池将更多北美的转移:5月20日消息,由投资者Peter Thiel支持的项目最近在德克萨斯州上线。许多矿工预测,由于该州低廉的电力成本和独特的监管环境,矿池可能繁荣起来,从而改变矿池的地理分布。Luxor pool财务主管Ethan Vera表达了类似的观点。 Vera表示,其认为从长远来看,矿池将更多北美的转移,在未来两年内,中国的哈希率将从65%下降到50-55%,其中大部分将流向北美,特别是德克萨斯州。”(AMBcrypto)[2020/5/20]
getwalletinfo现在包含一个scanning字段,该字段可为false,也可包含钱包扫描历史记录区块的持续时间和进度信息的对象,以查看影响其余额的交易。(#15730)
gettransaction现在接受第三个(布尔)参数verbose。如果设置为true,则将向包含解码交易的响应中添加新的解码字段。传递verbose时,此字段等效于RPCdecoderawtransaction或RPCgetrawtransaction。(#16185,#16866,#16873)
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)
声音 | John McAfee:美国无法控制比特币 比特币价格将在一周内飙升:7月28日,加密货币爱好者、杀软件之父John McAfee发推表示:“比特币正面临来自美国的压力,其价格反映了这一点。但美国在控制加密货币方面没有实权。尽管看吧,一周后的今天,比特币将继续迅猛增长。”[2019/7/29]
3、8废弃或删除的RPC
bumpfee不再接受totalFee选项,除非指定了配置参数deprecatedrpc=totalFee,此参数将在后续版本中被完全删除。(#15996)
bumpfee有一个新的fee_rate选项来替代已弃用的totalFee。(#16727)
generate在BitcoinCore0.18版本中被弃用后,现在已被正式移除。请改用generatetoaddressRPC。(#15492)
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)
突发 | 敲诈比特币被判刑 福建法院认定虚拟货币为财产:据法制网报道,近日,福建省福州市晋安区人民检察院以敲诈勒索未遂罪对一起比特币敲诈案的犯罪嫌疑人提起公诉。犯罪嫌疑人庄某,以对外公开照片和性爱视频为威胁向被害人勒索钱财,利用比特币可以匿名转账又在国内禁止流通这一特性,向被害人敲诈200个比特币(市场价值约740万元人民币)经办该案的检察官表示,尽管国家禁止比特币作为货币在市场上流通使用,但比特币在国际网络上仍然可以进行场外交易,作为一种特定的虚拟产品,也代表着个人现实生活中实际享有的财产,具有实际价值,敲诈勒索比特币,这种“新操作”仍然构成敲诈勒索罪。[2018/6/28]
getrpcinfo现在返回一个logpath字段,路径为debug.log。(#15483)
4、2测试
由-regtest命令行标志启用的退化测试链,现在要求交易在默认情况下不违反标准策略。这与主网使用的默认值相同,使在regtest测试网上测试主网行为变得更容易。请注意,默认情况下,测试网仍然允许非标准交易,并且可使用-acceptnonstdtxn命令行标志为两个测试链本地调整策略。(#15891)
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。