Bitcoin Core 23.0

Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.

23.0 リリースノート

Bitcoin Core バージョン 23.0 は以下から入手可能です:

https://bitcoincore.org/bin/bitcoin-core-23.0/

このリリースには、新機能、さまざまなバグ修正およびパフォーマンスの改善、 更新された翻訳が含まれています。

バグの報告にはGitHubのIssue Trackerを使用してください:

https://github.com/bitcoin/bitcoin/issues

セキュリティやアップデートの通知を受け取りたい場合は、以下に登録してください:

https://bitcoincore.org/en/list/announcements/join/

アップブレード方法

旧バージョンを起動している場合はシャットダウンしてください。 完全にシャットダウンするのを待ってから(数分かかる場合があります)、 Windowsの場合はインストーラーを実行、Macの場合は/Applications/Bitcoin-Qtを上書き、 Linuxの場合はbitcoind/bitcoin-qtを上書きしてください。

EOLに達したBitcoin Coreのバージョンから直接アップグレードすることは可能ですが、 データディレクトリを移行する必要がある場合は時間がかかる可能性があります。 Bitcoin Coreの旧ウォレットバージョンが一般的にサポートされます。

互換性

Bitcoin CoreはLinuxカーネルやmacOS 10.15以降、Windows 7以降を使用している オペレーティングシステムでサポートされ、広範囲にテストされています。 Bitcoin Coreは他のほとんどのUNIXライクなシステムでも動作するはずですが、 それらの環境では頻繁にテストされていません。 サポートされていないシステムでBitcoin Coreを使用するのはお勧めできません。

注目すべき変更

P2Pとネットワークの変更

  • bitcoindノードは、デフォルトでインバウンドピアにアドレスをゴシップしなくなりました。 ADDR、ADDRV2、またはGETADDRメッセージを送信した後で、アドレスゴシップの対象になります。(#21528)

  • このリリース以前は、Bitcoin Coreは8333番ポートをリッスンするピアにのみ接続しようとする強い優先順位を持っていました。 その結果、Bitcoin Coreのピアが非標準ポートでリッスンしているBitcoinノードに接続しない可能性がありました。 この優先順位は削除されました。(#23542)

  • CJDNSネットワークに対する完全なサポートが追加されました。 新しい-cjdnsreachableオプションとdoc/cjdns.mdを参照ください。(#23077)

手数料見積もりの変更

  • 手数料の見積もりで、置換(RBF)トランザクションの手数料率を考慮するようになりました。(#22539)

rescan起動パラメーターの削除

-rescan起動パラメーターは削除されました。 破損により再スキャンを必要するウォレットは、起動時に再スキャンされます。 それ以外の場合は、rescanblockchain RPCを使って再スキャンをトリガーしてください。(#23123)

トレースポイントとユーザースペース、Statically Defined Tracingのサポート

Linux向けのBitcoin Coreのリリースバイナリに、 プロセス内部イベントのインターフェースとして機能する実験的なトレースポイントが含まれるようになりました。 これらは、レビューやデバッグ、モニタリングなどに使用することができます。 トレースポイントAPIは準安定版です。APIがテストされている間、 プロセスの内部はリリース間で変更され、トレースポイントの変更が必要になる可能性があります。 既存のトレースポイントに関する情報は、doc/tracing.mdにあり、 使用例はcontrib/tracing/にあります。

更新されたRPC

  • validateaddress RPCは、無効なアドレスに対してアドレス内の無効な文字の位置(分かっている場合)のインデックスを含むerror_locations配列を返すようになりました。 たとえば、最大2つのBech32エラーの場所を特定しようとし、成功した場合、その場所を返します。 成功とその正しさは、置換エラーが2つ以下の場合にのみ保証されます。 デコードに失敗した場合、errorフィールド内に返されるエラーメッセージについて、より具体的なエラーも返すようになりました。(#16807)

  • -deprecatedrpc=addresses 設定オプションは削除されました。 RPCのgettxoutgetrawtransactiondecoderawtransactiondecodescriptgettransaction verbose=trueと、RESTエンドポイント/rest/tx/rest/getutxos/rest/blockは、 22.0で非推奨になったaddressesreqSigsフィールドを返さなくなりました。(#22650)

  • getblock RPCコマンドは、トランザクションインプットのprevoutの情報を含むverboseレベル3をサポートするようになりました。 既存の/rest/block/ RESTエンドポイントもこの情報を含むように変更されました。 すべてのvinフィールドは、使用されたアウトプットについて記述するprevoutサブフィールドを追加で含みます。 prevoutは、以下のキーを含みます:
    • generated - 使用されたコインがコインベースの場合、true
    • height
    • value
    • scriptPubKey
  • getmempoolentrygetrawmempool(verbose=true)getmempoolancestors(verbose=true) およびgetmempooldescendants(verbose=true) RPCが返すトップレベルの手数料フィールドfeemodifiedfeeancestorfeesdescendantfeesは、非推奨で次のメジャーバージョンで削除予定です (このバージョンで必要な場合は-deprecated=feesを使用してください)。 同じ手数料フィールドは、結果のfeesオブジェクトでアクセスすることができます。 警告: 非推奨のancestorfeesフィールドとdescendantfeesフィールドはsats単位ですが、 feesオブジェクト内のすべてのフィールドはBTC単位です。(#22689)

  • createmultisigaddmultisigaddress の両方にwarningsフィールドが追加され、 非圧縮公開鍵を使用する際に、非レガシーアドレスタイプが要求された場合に警告を表示するようになりました。(#23113)

ウォレット関連のRPCの変更は、以下のウォレットセクションで確認できます。

新しいRPC

  • ソフトフォークの状態に関する情報は、getblockchaininfo RPCから新しいgetdeploymentinfo RPCに移動され、 チェーンの先頭だけでなく、任意のブロックにおけるソフトフォークの状態を照会できるようになりました。 現在、-deprecatedrpc=softforksの設定を使用すれば、 ソフトフォークの状態をgetblockchaininfoに含めるようにすることは可能ですが、これは将来のリリースで削除される予定です。 いずれの場合でも、statusフィールドは次のブロックではなく現在のブロックの状態を反映するようになったことに注意してください。(#23508)

ファイル

  • 起動時に、banlist.dat内の(setban RPCにより)禁止されたホストとネットワークのリストは無視され、 banlist.jsonのみが考慮されます。Bitcoin Coreバージョン22.xは、banlist.datを読み込み、 banlist.jsonに書き込むことができる唯一のバージョンです。 banlist.jsonが既に存在する場合、バージョン22.xは、banlist.datをjsonに変換しようとはしません。 アップグレード後、パースされたエントリーをダブルチェックするのにlistbannedを使用することができます。(#22570)

更新された設定

  • 以前のリリースでは、(値を指定しない)コマンドラインオプション-persistmempoolは、 誤ってmempoolの永続化が無効化されていました。 -persistmempoolは、他のbooleanオプションと同様に-persistmempool=1を意味するものとして扱われるようになりました。 -persistmempool=0-persistmempool=1および-nopersistmempoolを渡している場合は影響はありません。(#23061)

  • -maxuploadtargetは、人が読めるバイト単位[k|K|m|M|g|G|t|T]を許容するようになりました。 例: -maxuploadtarget=500g。空白や+-、分数は許可されません。サフィックスが指定されていない場合、 デフォルトはMになります。(#23249)

  • -proxy=-noonionと共に与えられた場合、与えられたプロキシはTorネットワークに到達するためのプロキシとして設定されます。 そのため、たとえばaddnode RPCを使ってTorネットワークに手動で接続することはできなくなります。 古い挙動を模倣するためには、-proxy=-onlynet=を併用し、 onion以外の関連するネットワークをすべてリストアップしてください。(#22834)

ツールとユーティリティ

  • 縦方向のスペースも削減したユーザーフレンドリーなフォーマットでデータを返すよう-getinfoを更新しました。(#21832)

  • Tor V2アドレスのサポートがBitcoin Core 22.0から削除されたため、 CLI -addrinfoは、ノードが知るonionアドレスの数を、 torv2torv3の別々のフィールドではなく、単一のフィールドで返すようになりました。(#22544)

ウォレット

  • ディスクリプターウォレットがデフォルトのウォレットタイプになりました。 新しく作成されたウォレットは、createwalletdescriptors=falseを設定するか、 GUIでDescriptor walletのチェックボックスをオフにしない限り、ディスクリプターを使用します。

    importmultidumpprivkeyなどのウォレットRPCコマンドは、ディスクリプターウォレットでは使用できないため、 ウォレット作成時にdescriptors=falseを指定することなく、クライアントコードがこれらのコマンドに依存している場合は、 コードを更新する必要があります。

  • 新しく作成されたディスクリプターウォレットには、自動的に生成されたtr()ディスクリプターが含まれ、 単一鍵のTaprootの受信アドレスを作成できるようになります。

  • upgradewalletは、非HDウォレットからHDウォレットへアップグレードする場合に、 keypoolを自動的にフラッシュし、新しく生成されたHD鍵をすぐに使用するようになりました。(#23093)

  • 新しいRPCのnewkeypoolが追加され、keypoolをフラッシュ(完全にクリアして再充填)するようになりました。(#23093)

  • listunspentは、mempoolに残っているトランザクションアウトプットのancestorcountancestorsizeおよび ancestorfeesを含むようになりました。(#12677)

  • lockunspentは、オプションで3つめのパラメーターpersistentを取るようになり、 ウォレットデータベースにロックが永続的に書き込まれるようになりました。 これにより、ノードが再起動またはクラッシュした後でも、UTXOをロックしたままにすることができます。(#23065)

  • receivedby RPCがコインベーストランザクションを含むようになりました。 これまでは、次のウォレットRPCはコインベーストランザクションを除外していました: getreceivedbyaddressgetreceivedbylabellistreceivedbyaddresslistreceivedbylabel。 このリリースでは、この動作を変更し、コインベースアウトプットから受け取ったコインを考慮した結果を返します。 以前の動作は、-deprecatedrpc=exclude_coinbaseという設定で復元できますが、 将来のリリースで削除されるでしょう。(#14707)

  • 同じreceivedby系のRPCの新しいオプションinclude_immature_coinbase(デフォルトはfalse)は、 未熟なコインベーストランザクションを考慮するかどうかを決定します。 未熟なコインベーストランザクションというのは、承認回数が100回未満のコインベーストランザクションで、 使用できないものです。(#14707)

GUIの変更

  • GUIでロックされたUTXOは、ウォレットデータベースに永続的に保存されるようになり、 ノードのシャットダウンやクラッシュでも失われなくなりました。 (#23065)

  • Bech32チェックボックスは、Taprootが有効なウォレット用の新しいBech32m (BIP-350)標準を含む、 すべてのアドレスタイプ用のドロップダウンに置き換えられました。

低レベルの変更

RPC

  • getblockchaininfoは、チェーンの先頭の時間を提供する新しいtimeフィールドを返すようになりました。(#22407)

テスト

  • regtestネットワークで、いくつかのソフトフォークのアクティベーションの高さが1に設定されています。 この高さは実行時の設定-testactivationheight=name@heightで変更できます。(#22818)

クレジット

このリリースに直接貢献されたみなさん、ありがとうございます:

  • 0xb10c
  • 0xree
  • Aaron Clauson
  • Adrian-Stefan Mares
  • agroce
  • aitorjs
  • Alex Groce
  • amadeuszpawlik
  • Amiti Uttarwar
  • Andrew Chow
  • Andrew Poelstra
  • Andrew Toth
  • anouar kappitou
  • Anthony Towns
  • Antoine Poinsot
  • Arnab Sen
  • Ben Woosley
  • benthecarman
  • Bitcoin Hodler
  • BitcoinTsunami
  • brianddk
  • Bruno Garcia
  • CallMeMisterOwl
  • Calvin Kim
  • Carl Dong
  • Cory Fields
  • Cuong V. Nguyen
  • Darius Parvin
  • Dhruv Mehta
  • Dimitri Deijs
  • Dimitris Apostolou
  • Dmitry Goncharov
  • Douglas Chimento
  • eugene
  • Fabian Jahr
  • fanquake
  • Florian Baumgartl
  • fyquah
  • Gleb Naumenko
  • glozow
  • Gregory Sanders
  • Heebs
  • Hennadii Stepanov
  • hg333
  • HiLivin
  • Igor Cota
  • Jadi
  • James O’Beirne
  • Jameson Lopp
  • Jarol Rodriguez
  • Jeremy Rand
  • Jeremy Rubin
  • Joan Karadimov
  • John Newbery
  • Jon Atack
  • João Barbosa
  • josibake
  • junderw
  • Karl-Johan Alm
  • katesalazar
  • Kennan Mell
  • Kiminuo
  • Kittywhiskers Van Gogh
  • Klement Tan
  • Kristaps Kaupe
  • Kuro
  • Larry Ruane
  • lsilva01
  • lucash-dev
  • Luke Dashjr
  • MarcoFalke
  • Martin Leitner-Ankerl
  • Martin Zumsande
  • Matt Corallo
  • Matt Whitlock
  • MeshCollider
  • Michael Dietz
  • Murch
  • naiza
  • Nathan Garabedian
  • Nelson Galdeman
  • NikhilBartwal
  • Niklas Gögge
  • node01
  • nthumann
  • Pasta
  • Patrick Kamin
  • Pavel Safronov
  • Pavol Rusnak
  • Perlover
  • Pieter Wuille
  • practicalswift
  • pradumnasaraf
  • pranabp-bit
  • Prateek Sancheti
  • Prayank
  • Rafael Sadowski
  • rajarshimaitra
  • randymcmillan
  • ritickgoenka
  • Rob Fielding
  • Rojar Smith
  • Russell Yanofsky
  • S3RK
  • Saibato
  • Samuel Dobson
  • sanket1729
  • seaona
  • Sebastian Falbesoner
  • sh15h4nk
  • Shashwat
  • Shorya
  • ShubhamPalriwala
  • Shubhankar Gambhir
  • Sjors Provoost
  • sogoagain
  • sstone
  • stratospher
  • Suriyaa Rocky Sundararuban
  • Taeik Lim
  • TheCharlatan
  • Tim Ruffing
  • Tobin Harding
  • Troy Giorshev
  • Tyler Chambers
  • Vasil Dimov
  • W. J. van der Laan
  • w0xlt
  • willcl-ark
  • William Casarin
  • zealsham
  • Zero-1729

Transifexでの翻訳を手伝ってくださったみなさんもありがとうございます。