Bitcoin Coreの開発とネットワーク上のトランザクションリレーポリシーの関係について 私たちの見解を共有したいと思います。
Bitcoinは、ユーザーによって定義されるネットワークです。ユーザーは、 (完全な検証をするしないを問わず)使用するソフトウェアを選択し、 希望するポリシーを実装する究極の自由を持っています。 Bitcoin Coreのコントリビューターは、それらのポリシーを強制する立場にはありません。 このことを反映する1つの例として、長年にわたりソフトウェアの自動アップデートを避けてきた慣行があります。 つまり、いかなる組織もBitcoin Coreユーザーに一方的な変更を押し付けることはできません。 変更は、ユーザーが自ら新しいソフトウェアリリースを採用するか、 あるいは希望する場合は別のソフトウェアを採用することで行われなければなりません。 どんなソフトウェアでも自由に実行できることが、ネットワークを強制から守る最も重要な防衛策です。
Bitcoin Coreの開発者として、私たちは、Bitcoinが分散型のデジタル通貨として成功するために、 Bitcoinのピアーツーピアネットワークにおけるブロックとトランザクションの検証とリレーという目的のために、 ソフトウェアを可能な限り効率的かつ確実に動作させる責任があると考えています。 トランザクションリレーに関しては、サービス拒否(DoS)攻撃に対する防御や手数料評価に関するポリシーの追加が含まれる場合もありますが、 持続的な経済的需要があり、確実にブロックに格納されるトランザクションのリレーを妨げることはありません。 トランザクションリレーの目的は以下のとおりです:
- どのようなトランザクションがマイニングされるかを予測する(たとえば、手数料の推定や手数料の引き上げのため、 またこれはノードソフトウェア内部の多くのDoS対策戦略の基盤にもなっています)。
- マイニングされると予想されるトランザクションのブロック伝播を高速化する。 遅延を減らすことで、大規模なマイナーが不公平な優位性を得るのを防止します。
- マイナーが手数料を支払うトランザクションについて学習するのを支援する(マイニングの分散化を損なう 帯域外のトランザクション提出スキームに依存する必要がなくなります)。
マイナーがいずれブロックに含めるトランザクションのリレーを意図的に拒否することは、 ユーザーを別の通信手段に追いやり、上記の目的を損なうことになります。
過去には、安価に非効率なブロックスペースの利用を促すユースケースの発展を阻止するために、 トランザクションの受け入れルールが効果的に使われてきました。しかし、これはユーザーとマイナーの双方が 既存の代替手段に満足している間のみ有効です。それが当てはまらなくなり、 経済的に成立するユースケースがポリシールールと衝突する場合、 ユーザーとマイナーは直接協力することで、外部からの制限を回避することができます。 実際、そのようなことができる能力は、Bitcoinの検閲耐性の重要な側面であり、 優先的なピア接続/連携が可能な他のノードソフトウェアも、 大多数のノードによるフィルタリングを回避するのは比較的容易であることを示しています。 それを考慮すると、Bitcoinノードソフトウェアは、次のブロックに何が含まれるかを現実的に予測することを目指すべきで、 技術的に無害な活動を抑制するために、合意したトランザクションの作成者とマイナーの間に介入しようとすべきではりません。
これは、非金融データの利用を推奨・容認するものではありませんが、Bitcoinが検閲耐性を持つシステムである以上、 誰もが同意するわけではないユースケースに使用され得ることを認めるものです。
この見解がすべてのユーザーや開発者に普遍的に共有されているわけではないことは認識していますが、 私たちはこれがBitcoinとそのユーザーの最善の利益になると心から信じており、 ユーザーの皆様にも同意していただければ幸いです。私たちは開発者として最善の判断を下し、 アップグレードの安全性、効率的なブロックの構築、ノードへのDoS攻撃対策など、 具体的な技術的理由を含め、Bitcoinの長期的な健全性とマイナーの合理的な自己利益に沿う形で トランザクションの受け入れルールを調整し続けます。
敬具
(この書簡を支持するコントリビューターの一覧)
- Andrew Toth
- Antoine Poinsot
- Anthony Towns
- Ava Chow
- b10c
- Bruno Garcia
- David Gumberg
- fjahr
- Gloria Zhao
- Gregory Sanders
- hodlinator
- ismaelsadeeq
- Josie Baker
- kevkevinpal
- l0rinc
- Marco De Leon
- Martin Zumsande
- Matthew Zipkin
- Michael Ford
- Murch
- Niklas Gögge
- pablomartin4btc
- Pieter Wuille
- Pol Espinasa
- Sebastian Falbesoner
- Sergi Delgado
- Stephan Vuylsteke
- TheCharlatan
- Vasil Dimov
- Will Clark
- w0xlt