ビットコイン改良プロトコルBIP 13(翻訳)


ビットコイン改良プロトコルBIP 13(翻訳)


英文原文住所:
https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki

サマリ


このBIPは、任意の複雑な取引をサポートするための新しいビットコインアドレスを記述する.ここでいう複雑さは、受信者が受信したビットコインを費やすためにどのような情報を必要とするかと定義され、従来のビットコイン実装のように単一のECDSA秘密鍵を必要としない.
本質的には、この提案に従って符号化されたアドレスは、ECDSA公開鍵の符号化ハッシュではなく、スクリプトの符号化ハッシュを表す.

動機


エンドツーエンドのセキュリティ財布と支払いを有効にして、管理取引またはその他の複雑な取引を支援します.サードパーティ製ウォレットセキュリティサービスを有効にします.

詳細な説明


新しいビットコインアドレスタイプは、既存のビットコインアドレスと同じ方法で構築されます(Base 58 Check符号化を参照).
    base58-encode: [one-byte version][20-byte hash][4-byte checksum]

プライマリ・ネットワーク・アドレスのバージョン・バイトは5、testnetアドレスは196です.20バイトハッシュは、ビットコインスクリプトを両替するために使用されるハッシュ値です.4バイトチェックは、バージョンおよびハッシュの2つのSHA 256ハッシュの最初の4バイトである.

理論的根拠.


1つの批判は、ビットコインアドレスがよりユーザーフレンドリーな支払いメカニズムを維持するために廃棄されるべきであり、このプロトコルは設計の悪いメカニズムの継続を奨励するだけである.
もう一つの批判は、ビットコインの住所は生まれつき安全ではない.住所に関連する身分情報がないからだ.もしあなたがビットコインの住所が1つしかないならば、あなたはどのように自分が誰に支払ったのか、あるいはあなたが払ったのは一体何なのかを確定することができますか?
さらに、カットオフされたSHA 256は、最適なチェックサムではない.より良いエラー検出アルゴリズムがあります.新しい形式のビットコインアドレスを導入すれば、より良いアルゴリズムを使用するべきかもしれません.
これは、より安全なビットコインインフラストラクチャの最も簡単な方法の一つです.すべてのビットコインの可用性やセキュリティの問題を解決するためではなく、既存のシステムに対して漸進的な改善です.将来のBIPでは、より多くのユーザーに優しい支払いメカニズムを提案するか、Joeというハッカーではなく、フリーソフトウェア財団に支払いを送信していることを検証する必要があります.
後でビットコインアドレスを手動で入力することはますます珍しくなり,既存のビットコインアドレスの検証と方法が実際によく動作し,複数回実装されているように見えることを考慮して,著者らは検証アルゴリズムを変更する必要はないと考えている.
前のバージョンバイトを選択して、base 58符号化後、プリアンブルが一致するようにします.プライマリネットワークの場合、バイト5は文字「3」に変わります.testnetの場合、バイト196は‘2’に符号化される.

後方互換性


この提案は後方互換性はありませんが、レポートが失敗した場合は「優雅」です.古いインプリメンテーションがこれらの新しいビットコインアドレスの1つを付与されると、アドレスが無効にレポートされ、トランザクションの作成が拒否されます.

リファレンス


See base58.cpp1/base58.h at https://github.com/bitcoin/bitcoin/src