Bitcoin の Redeem Scriptとは何か?

NO IMAGE

(執筆途中。だが、公開。)

まとめ

  • P2SHでハッシュ化されるScriptのこと (ハッシュ化前のもの)
  • P2SHトランザクションでは、ハッシュによって置き換えられたlocking scriptは、redeem scriptと呼ばれます。(マスタリング・ビットコイン 5章より引用)

前提知識

以下を知っていること

  • BitcoinのScriptの基礎知識
    • scriptSig: unlocking script
    • scriptPubKey: locking script
  • BIP:
  • P2SH: Pay to Script Hash
  • P2SHアドレス

Redeem Scriptとは何かの説明

redeem script: 一言で説明すると、「引き換えスクリプト」。

  • ビットコインをロックするスクリプトで、ハッシュ化したものをlockingスクリプトに入れる。
  • unlockする時に、redeem scriptを提出する(引き換え券のように)必要がある

超ざっくり説明すると、Bitcoinのscriptが長すぎるから、ハッシュ化してscriptPubKeyに入れとけばいいのでは? という考えから出てきた元のscriptのこと。
特にマルチシグの場合、公開鍵をいくつも入れたりすると、scriptが非常に長くなるので、利用されることが多い。(別に利用しなくてもいい。)

P2SHが解決した問題

P2SHは、2012年4月に導入された。
以下のような問題を解決する。

  • multisigの場合、全ての人にscriptの説明をしなくてはならない
  • 特殊なトランザクション・スクリプトを作れる特別なウォレットを使う必要がある
  • 長い公開鍵を含むため、約5倍サイズが大きい (手数料が高くなる)
  • 使われるまでフルノードのRAM内のUTXOセットに保存される

P2SHの意味

P2SHは、”このハッシュと一致するscriptに対して支払い、このscriptは後にこのアウトプットが使用される時に与えられます”という意味

(マスタリング・ビットコイン 5章より引用)

redeem scriptの例

タイトル Script
Redeem Script 2 PubKey1 PubKey2 Pubkey3 Pubkey4 Pubkey5 5 OP_CHECKMULTISIG
Locking Script OP_HASH160 【Redeem Scriptの20バイトハッシュ値】 OP_EQUAL
Unlocking Script Sig1 Sig2 Redeem Script

注意) 上記、マスタリングビットコイン 5章からのそのままの引用ですが、Unlocking Scriptは、実際には先頭にOP_0が必要です。

2つの表記

  • Redeem script
  • RedeemScript

以下と間違えないように

  • scriptSig
  • scriptPubKey

備考

  • バージョン0.9.2より前は、P2SHは、スタンダードな形だけに制限されていた。
  • P2SH redeem script の中に P2SHを置くことはできない (再帰できないため)
  • redeem scriptが無効だったとしても、P2SHトランザクションは、有効なものとして受け入れられる = 利用できないbitcoin
  • serialized scriptのサイズに520-byteの制限

参考

混乱しがちなところ

  • P2SHとP2SHアドレスの違い
    • BIP16とBIP13
  • P2SHとRedeem Scriptの関係
  • P2SHとマルチシグとの関係
  • scirptPubKeyとscriptSigのどちらに使うのか?
  • redeem scriptは、ハッシュ化前のscriptのみを指すのか、ハッシュ化した後のハッシュ値も指すのか?
    • Full Redeem ScriptとRedeem Script Hash

関連用語

  • Bitcoin, ビットコイン
  • Redeem Script, リディーム・スクリプト
  • Full Redeem Script, Redeem Script Hash
  • Script, Bitcoin Script Language
  • P2SH, multisig, multi-signature
  • P2SH address, P2SHアドレス
  • BIP16, BIP-0016, Pay to Script Hash
  • locking script: scriptPub: pubkey script
  • unlocking script: scriptSig: signature script

謝辞

  • Jonathan Underwood氏にレビュー頂き、ご指摘の部分を修正致しました。いつもありがとう!
     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

ビットコイン(Bitcoin)カテゴリの最新記事