|
| 1 | +--- |
| 2 | +title: 'Bitcoin Optech Newsletter #250' |
| 3 | +permalink: /ja/newsletters/2023/05/10/ |
| 4 | +name: 2023-05-10-newsletter-ja |
| 5 | +slug: 2023-05-10-newsletter-ja |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: ja |
| 9 | +--- |
| 10 | +今週のニュースレターでは、PoWswapプロトコルに関する論文と、 |
| 11 | +Bitcoin Core PR Review Clubミーティングの要約、新しいリリースとリリース候補の発表、 |
| 12 | +人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき変更など恒例のセクションが含まれています。 |
| 13 | +また、Bitcoin Optechの5周年と250回目のニュースレターを祝う短いセクションも含まれています。 |
| 14 | + |
| 15 | +## ニュース |
| 16 | + |
| 17 | +- **PoWswapプロトコルに関する論文:** Thomas Hartmanは、 |
| 18 | + Jeremy Rubinが最初に提案した[PoWSwap][]プロトコルについて、 |
| 19 | + 彼がGleb NaumenkoとAntoine Riardと共に書いた[論文][hnr powswap]を |
| 20 | + Bitcoin-Devメーリングリストに[投稿][hartman powswap]しました。 |
| 21 | + PoWSwapは、ハッシュレートの変化に関連したオンチェーンで強制可能なコントラクトの作成を可能にします。 |
| 22 | + 基本的なアイデアは、プロトコルによって強制される時間とブロック生成の関係を利用し、 |
| 23 | + 時間またはブロックのいずれかでタイムロックを表現する能力を利用するものです。たとえば、 |
| 24 | + 次のようなスクリプトを考えてみましょう。 |
| 25 | + |
| 26 | + ``` |
| 27 | + OP_IF |
| 28 | + <アリスの鍵> OP_CHECKSIGVERIFY <time> OP_CHECKLOCKTIMEVERIFY |
| 29 | + OP_ELSE |
| 30 | + <ボブの鍵> OP_CHECKSIGVERIFY <height> OP_CHECKLOCKTIMEVERIFY |
| 31 | + OP_ENDIF |
| 32 | + ``` |
| 33 | + |
| 34 | + 現在の時刻が _t_ 、現在のブロック高が _x_ であるとしましょう。 |
| 35 | + ブロックが平均10分間隔で生成されているとすると、`<time>`を _t + 1000分_ 、 |
| 36 | + `<height>`を _x + 50_ と設定すると、ボブは上記のスクリプトで管理されているアウトプットを、 |
| 37 | + アリスがそれを使うことができるよりも平均500分早く使うことができると予想されます。 |
| 38 | + しかし、ブロックの生成速度が突然2倍以上になったら、アリスがボブより先にアウトプットを使用できる可能性があります。 |
| 39 | + |
| 40 | + このようなタイプのコントラクトには、いくつかの応用が想定されます: |
| 41 | + |
| 42 | + - *<!--hashrate-increase-insurance-->ハッシュレート上昇保険:* |
| 43 | + マイナーは、どれだけの収入が得られるかはっきりしないうちに設備を購入しなければなりません。 |
| 44 | + たとえば、ネットワークの現在の総報酬の1%を受け取るのに十分な機器を購入したマイナーは、 |
| 45 | + 他のマイナーもネットワークの総ハッシュレートを2倍にするだけの機器を購入したことに気づき、 |
| 46 | + 結果そのマイナーは1%ではなく0.5%の報酬しか得られないかもしれません。 |
| 47 | + PoWSwapを使うと、マイナーは、ある日までにハッシュレートが増加した場合にマイナーに支払いをする相手と |
| 48 | + トラストレスなコントラクトを作成することができ、マイナーの予想外の低収入を相殺することができます。 |
| 49 | + その代わり、マイナーは前払いのプレミアムを支払うか、ネットワーク全体のハッシュレートが同じか減少した場合に、 |
| 50 | + より多くの金額を支払うことに同意します。 |
| 51 | + |
| 52 | + - *<!--hashrate-decrease-insurance-->ハッシュレート低下保険:* |
| 53 | + Bitcoinのさまざまな問題により、ネットワーク全体のハッシュレートが大幅に低下する可能性があります。 |
| 54 | + マイナーが権力者によって閉鎖させられたり、 |
| 55 | + 既存のマイナー間で大量の[フィー・スナイピング][topic fee sniping]が突然発生したり、 |
| 56 | + マイナーにとってのBTCの価値が突然低下したりすると、ハッシュレートは低下します。 |
| 57 | + このような事態に備えたいBTC保有者は、マイナーや第三者とトラストレスなコントラクトを作ることができます。 |
| 58 | + |
| 59 | + - *<!--exchange-rate-contracts-->為替レートコントラクト:* |
| 60 | + 一般的に、BTCの購買力が上がれば、マイナーは(受け取る報酬を増やすために)提供するハッシュレートの量を増やしたいと考えます。 |
| 61 | + 購買力が低下すると、ハッシュレートも低下します。多くの人が、 |
| 62 | + Bitcoinの将来の購買力に関連するトラストレスなコントラクトに興味を持つかもしれません。 |
| 63 | + |
| 64 | + PoWSwapのアイディアは数年前から広まっていますが、この論文では、 |
| 65 | + これまでに見たことのないより詳細な分析が提供されています。 |
| 66 | + |
| 67 | +## リリースとリリース候補 |
| 68 | + |
| 69 | +*人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 |
| 70 | +新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。* |
| 71 | + |
| 72 | +- [Core Lightning 23.05rc2][]は、このLN実装の次期バージョンのリリース候補です。 |
| 73 | + |
| 74 | +- [Bitcoin Core 24.1rc2][]は、Bitcoin Coreの現在のバージョンのメンテナンスリリースのリリース候補です。 |
| 75 | + |
| 76 | +- [Bitcoin Core 25.0rc1][]は、Bitcoin Coreの次期メジャーバージョンのリリース候補です。 |
| 77 | + |
| 78 | +## Bitcoin Core PR Review Club |
| 79 | + |
| 80 | +*この毎月のセクションでは、最近の[Bitcoin Core PR Review Club][]ミーティングを要約し、 |
| 81 | +重要な質問と回答のいくつかに焦点を当てます。 |
| 82 | +以下の質問をクリックしてミーティングでの回答の要約を確認してください。* |
| 83 | + |
| 84 | +[Add getprioritisationmap, delete a mapDeltas entry when delta==0][review club 27501]は、 |
| 85 | +Gloria Zhao (glozow)によるPRで、Bitcoin Coreの機能を改善し、 |
| 86 | +マイナーが有効なmempool手数料を変更できるようにし、 |
| 87 | +特定のトランザクションのマイニング優先度(高いか低いか)を変更できるようにします([prioritisetransaction RPC][]参照)。 |
| 88 | +手数料の増加(正の場合)または減少(負の場合)は、 _手数料デルタ_ と呼ばれます。 |
| 89 | +トランザクションの優先順位付けの値は、`mempool.dat`ファイル内のディスクに永続化され、ノードの再起動時に復元されます。 |
| 90 | + |
| 91 | +マイナーがトランザクションの優先順位付けをする理由の1つは、 |
| 92 | +帯域外のトランザクション手数料の支払いを考慮するためです。 |
| 93 | +マイナーのブロックテンプレートに含めるトランザクションを選択する際に、 |
| 94 | +影響を受けるトランザクションは、より高い手数料を持つものとして扱われます。 |
| 95 | + |
| 96 | +このPRでは、優先順位付けされたトランザクションのセットを返す新しいRPC、`getprioritisationmap`を追加しています。 |
| 97 | +また、ユーザーがデルタをゼロに戻した場合に発生する可能性のある、不要な優先順位付けエントリを削除します。 |
| 98 | + |
| 99 | +{% include functions/details-list.md |
| 100 | + q0="<!--what-is-the-mapdeltas-data-structure-and-why-is-it-needed-->[mapDeltas][]データ構造とは何ですか?どうして必要なのですか?" |
| 101 | + a0="トランザクション毎の優先順付けされた値が格納されます。 |
| 102 | + これらの値は、ローカルのマイニングと排除の決定および、祖先と子孫の手数料率の計算に影響します。" |
| 103 | + a0link="https://bitcoincore.reviews/27501#l-26" |
| 104 | + |
| 105 | + q1="<!--do-transaction-prioritizations-affect-the-fee-estimation-algorithm-->トランザクションの優先順位付けは手数料推定アルゴリズムに影響しますか?" |
| 106 | + a1="いいえ。手数料の推定は、マイナー(この場合、 _他の_ マイナー)の予想される決定を正確に予測する必要があり、 |
| 107 | + これらのマイナーは、私達と同じ優先順位を持っていません。優先順位はローカルのものなので。" |
| 108 | + a1link="https://bitcoincore.reviews/27501#l-31" |
| 109 | + |
| 110 | + q2="<!--how-is-an-entry-added-to-mapdeltas-when-is-it-removed-->`mapDeltas`へのエントリーはどのように追加されますか? |
| 111 | + また、いつ削除されるのですか?" |
| 112 | + a2="`prioritisetransaction` RPCによって追加され、またノードの再起動時には、`mempool.dat`内のエントリーに起因します。 |
| 113 | + トランザクションを含むブロックがチェーンに追加された時や、トランザクションが[置換][topic rbf]された際に削除されます。" |
| 114 | + a2link="https://bitcoincore.reviews/27501#l-34" |
| 115 | + |
| 116 | + q3="<!--why-shouldn-t-we-delete-a-transaction-s-entry-from-mapdeltas-when-it-leaves-the-mempool-because-for-example-it-has-expired-or-been-evicted-due-to-feerate-dropping-below-the-minimum-feerate--> |
| 117 | + トランザクションがmempoolから出る際に(たとえば、期限切れや手数料率が最小手数料率を下回って排除された場合など)、 |
| 118 | + そのエントリーを`mapDeltas`から削除すべきでないのは何故ですか?" |
| 119 | + a3="トランザクションは再びmempoolに戻ってくるかもしれません。 |
| 120 | + `mapDeltas`のエントリーが削除された場合、ユーザーはトランザクションの優先順位付けを再度行う必要があります。" |
| 121 | + a3link="https://bitcoincore.reviews/27501#l-84" |
| 122 | + |
| 123 | + q4="<!--if-a-transaction-is-removed-from-mapdeltas-because-it-s-included-in-a-block-but-then-the-block-is-re-orged-out-won-t-the-transaction-s-priority-have-to-be-reestablished--> |
| 124 | + トランザクションがブロックに含まれたため`mapDeltas`から削除され、その後ブロックが再編成された場合、 |
| 125 | + そのトランザクションの優先順位は再設定されなければならないのではないでしょうか?" |
| 126 | + a4="はい。しかし再編成は稀であると予想されます。また、帯域外の支払いは実際にはBitcoinトランザクションの形である可能性があるため、 |
| 127 | + そちらもやり直しが必要な場合があります。" |
| 128 | + a4link="https://bitcoincore.reviews/27501#l-90" |
| 129 | + |
| 130 | + q5="<!--why-should-we-allow-prioritizing-a-transaction-that-isn-t-present-in-the-mempool-->なぜ、mempoolに存在しないトランザクションを優先的に処理できるようにしなければならないのでしょう?" |
| 131 | + a5="そのトランザクションがまだmempoolに存在しないかもしれないからです。 |
| 132 | + そして、そもそもそのトランザクションは(優先順位付けしなければ)自身の手数料でmempoolに入ることさえできないかもしれません。" |
| 133 | + a5link="https://bitcoincore.reviews/27501#l-89" |
| 134 | + |
| 135 | + q6="<!--what-is-the-problem-if-we-don-t-clean-up-mapdeltas-->`mapDeltas`をクリーンアップしない場合、どのような問題が起きますか?" |
| 136 | + a6="主な問題は、無駄なメモリ割り当てです。" |
| 137 | + a6link="https://bitcoincore.reviews/27501#l-107" |
| 138 | + |
| 139 | + q7="<!--when-is-mempool-dat-including-mapdeltas-written-from-memory-to-disk-->`mempool.dat`(`mapDeltas`を含む)は、 |
| 140 | + いつメモリからディスクに書き込まれますか?" |
| 141 | + a7="クリーンシャットダウン時か`savemempool`を実行した際です。" |
| 142 | + a7link="https://bitcoincore.reviews/27501#l-114" |
| 143 | + |
| 144 | + q8="<!--without-the-pr-how-do-miners-clean-up-mapdeltas-that-is-remove-entries-with-a-zero-prioritization-value-->このPRがない場合、 |
| 145 | + マイナーはどうやって`mapDeltas`をクリーンアップするのでしょうか(つまり、優先順位がゼロのエントリーを削除するのでしょうか)?" |
| 146 | + a8="唯一の方法はノードを再起動することです。ゼロ値の優先順位付けは、再起動中に`mapDeltas`にロードされないからです。 |
| 147 | + PRでは、値がゼロに設定されるとすぐに`mapDeltas`のエントリーが削除されます。 |
| 148 | + これには、ゼロ値の優先順位付けがディスクに書き込まれないという利点もあります。" |
| 149 | + a8link="https://bitcoincore.reviews/27501#l-127" |
| 150 | + %} |
| 151 | + |
| 152 | +## 注目すべきコードとドキュメントの変更 |
| 153 | + |
| 154 | +*今週の[Bitcoin Core][bitcoin core repo]、[Core |
| 155 | +Lightning][core lightning repo]、[Eclair][eclair repo]、[LDK][ldk repo]、 |
| 156 | +[LND][lnd repo]、[libsecp256k1][libsecp256k1 repo]、[Hardware Wallet |
| 157 | +Interface (HWI)][hwi repo]、[Rust Bitcoin][rust bitcoin repo]、[BTCPay |
| 158 | +Server][btcpay server repo]、[BDK][bdk repo]、[Bitcoin Improvement |
| 159 | +Proposals(BIP)][bips repo]、[Lightning BOLTs][bolts repo]および |
| 160 | +[Bitcoin Inquisition][bitcoin inquisition repo]の注目すべき変更点。* |
| 161 | + |
| 162 | +- [Bitcoin Core #26094][]では、`getbalances`と`gettransaction`、`getwalletinfo`に |
| 163 | + ブロックハッシュと高さのフィールドを追加しました。これらのRPC呼び出しは、 |
| 164 | + 最新のブロックであることを確認するためchainstateをロックするので、 |
| 165 | + 有効なブロックハッシュと高さをレスポンスに含めるのは有益です。 |
| 166 | + |
| 167 | +- [Bitcoin Core #27195][]では、Bitcoin Coreの内部ウォレットから |
| 168 | + `bumpfee`RPCを使用して[置き換えられる][topic rbf]トランザクションからすべての外部受信者を削除できるようになりました。 |
| 169 | + ユーザーは、置換トランザクションの唯一のアウトプットをユーザー自身のアドレスに支払うようにすることでこれを行います。 |
| 170 | + 置換トランザクションが承認されると、元の受信者のいずれにも支払いが行われなくなるため、 |
| 171 | + Bitcoin支払いを「キャンセルする」と表現されることがあります。 |
| 172 | + |
| 173 | +- [Eclair #1783][]は、1つ以上のトランザクションを[CPFP][topic cpfp]により手数料を引き上げるための |
| 174 | + `cpfpbumpfees` APIを追加しました。このPRはまた、手数料引き上げのトランザクションの作成が実行可能であることを保証するために、 |
| 175 | + Bitcoin Coreを実行するための[推奨パラメーター][eclair bitcoin.conf]のリストを更新しています。 |
| 176 | + |
| 177 | +- [LND #7568][]は、ノードの起動時に追加のLN機能ビットを定義する機能を追加しました。 |
| 178 | + また、実行中にハードコードまたは定義された機能ビットを無効にする機能も削除しました(ただし、 |
| 179 | + 追加ビットは追加した後で無効にできます)。[BLIPs #24][]の関連する提案の更新では、 |
| 180 | + カスタム[BOLT11][]機能ビットの最大値が5114に制限されることが指摘されています。 |
| 181 | + |
| 182 | +- [LDK #2044][]は、[BOLT11][]インボイスに対するLDKのルートヒントにいくつかの変更を加えています。 |
| 183 | + ルートヒントは、受信側のLNノードが送信側のノードが使用するルートを提案するために使用できる仕組みです。 |
| 184 | + このマージにより、提案されるのは3つのチャネルのみとなり、 |
| 185 | + LDKのファントムノードのサポートが改善され([ニュースレター #188][news188 phantom]参照)、 |
| 186 | + 選択された3つのチャネルは効率とプライバシーを考慮して選択されます。 |
| 187 | + PRの議論では、ルートヒントの提供がプライバシーに与える影響について、 |
| 188 | + [いくつか][carman hints]の[示唆に富んだ][corallo hints]コメントが含まれています。 |
| 189 | + |
| 190 | +## 祝・Optech Newsletter #250 |
| 191 | + |
| 192 | +Bitcoin Optechは、「企業とオープンソースコミュニティの連携を促進する」ことを目的として設立されました。 |
| 193 | +この週刊ニュースレターは、Bitcoinを使用する企業の幹部や開発者に、 |
| 194 | +オープンソースコミュニティが構築しているものについてより深く理解してもらうことを目的として開始されました。 |
| 195 | +そのため、当初は事業に影響を与える可能性のある作業を文書化することに重点を置きました。 |
| 196 | + |
| 197 | +しかし、この情報に興味を持つのは、企業の読者だけではないことがすぐにわかりました。 |
| 198 | +Bitcoinプロジェクトの多くのコントリビューターは、プロトコル開発のメーリングリストの議論をすべて読んだり、 |
| 199 | +他のプロジェクトの大きな変更を監視したりする時間がなかったのです。 |
| 200 | +そんな彼らにとって、自分たちが興味を持ちそうな、あるいは自分たちの仕事に影響を与えそうな開発について、 |
| 201 | +誰かが知らせてくれることはありがたいことでした。 |
| 202 | + |
| 203 | +この5年近く、そのようなサービスを提供することができたのが、私たちの喜びです。 |
| 204 | +私たちは、このシンプルなミッションをさらに発展させるべく、 |
| 205 | +[ウォレット技術の互換性][compatibility matrix]ガイドや、 |
| 206 | +100以上の[興味深いトピック][topics]のインデックス、 |
| 207 | +そして私たちに記事を書く機会を与えてくれた多くのコントリビューターをゲストに迎えた |
| 208 | +週刊のディスカッション[ポッドキャスト][podcast]を提供することにしています。 |
| 209 | + |
| 210 | +これらはすべて、過去1年間で以下のような多くの貢献者の存在なくしては実現できませんでした: |
| 211 | +<!-- アルファベット順 --> |
| 212 | +Adam Jonas、 |
| 213 | +Copinmalin、 |
| 214 | +David A. Harding、 |
| 215 | +Gloria Zhao、 |
| 216 | +Jiri Jakes、 |
| 217 | +Jon Atack、 |
| 218 | +Larry Ruane、 |
| 219 | +Mark "Murch" Erhardt、 |
| 220 | +Mike Schmidt、 |
| 221 | +nechteme、 |
| 222 | +Patrick Schwegler、 |
| 223 | +Shashwat Vangani、 |
| 224 | +Shigeyuki Azuchi、 |
| 225 | +Vojtěch Strnad、 |
| 226 | +Zhiwei "Jeffrey" Hu、 |
| 227 | +そして特定のテーマで特別寄稿してくれた他の多くの方々。 |
| 228 | + |
| 229 | +また、[創立スポンサー][founding sponsors]であるWences Casares、John Pfeffer、Alex Morcos、 |
| 230 | +そして多くの[資金援助者][financial supporters]の方々にも感謝しています。 |
| 231 | + |
| 232 | +お読みいただきありがとうございます。今後発行する次の250号も、引き続きお読みいただければ幸いです。 |
| 233 | + |
| 234 | +{% include references.md %} |
| 235 | +{% include linkers/issues.md v=2 issues="26094,27195,1783,7568,24,2044" %} |
| 236 | +[Core Lightning 23.05rc2]: https://github.com/ElementsProject/lightning/releases/tag/v23.05rc2 |
| 237 | +[bitcoin core 24.1rc2]: https://bitcoincore.org/bin/bitcoin-core-24.1/ |
| 238 | +[bitcoin core 25.0rc1]: https://bitcoincore.org/bin/bitcoin-core-25.0/ |
| 239 | +[eclair bitcoin.conf]: https://github.com/ACINQ/eclair/pull/1783/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 |
| 240 | +[carman hints]: https://github.com/lightningdevkit/rust-lightning/pull/2044#issuecomment-1448840896 |
| 241 | +[corallo hints]: https://github.com/lightningdevkit/rust-lightning/pull/2044#issuecomment-1461049958 |
| 242 | +[hartman powswap]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-May/021605.html |
| 243 | +[hnr powswap]: https://raw.githubusercontent.com/blockrate-binaries/paper/master/blockrate-binaries-paper.pdf |
| 244 | +[powswap]: https://powswap.com/ |
| 245 | +[news188 phantom]: /ja/newsletters/2022/02/23/#ldk-1199 |
| 246 | +[founding sponsors]: /about/#founding-sponsors |
| 247 | +[financial supporters]: /#members |
| 248 | +[review club 27501]: https://bitcoincore.reviews/27501 |
| 249 | +[prioritisetransaction rpc]: https://developer.bitcoin.org/reference/rpc/prioritisetransaction.html |
| 250 | +[mapDeltas]: https://github.com/bitcoin/bitcoin/blob/fc06881f13495154c888a64a38c7d538baf00435/src/txmempool.h#L450 |
0 commit comments