P2SH

ビットコイン(bitcoin)におけるP2SH

P2SHとは

P2SHとは 「Pay To Script Hash 」の頭文字をとった言葉で、2012年から用いられた、マルチシグネチャの中でも比較的新しい技術です。マルチシグネチャ(マルチシグ)という手法が用いられており、ビットコインを送金する際に、それを受け取る側がアドレスを指定する、セキュリティの高い方法の1つです。マルチシグネチャは、複数の「秘密鍵」を用いてデータ管理のセキュリティを高めているのが特徴です。

ビットコインをはじめとする暗号資産(仮想通貨)のウォレット(保管場所)には、「秘密鍵」と呼ばれるデータが格納されています。これは暗号技術を用いており、その暗号資産(仮想通貨)を保有している本人だけが知っています。そして、暗号資産(仮想通貨)のトランザクション(取引)を行う際に不可欠です。私たちがクレジットカードで支払いをする際に自分しか知らない暗証番号を入力するのと同じように、本人しか知らない「秘密鍵」を使って「トランザクションを承諾した」という署名を行うのです。

ビットコインを送る際、通常は、受け取る側が自分の「公開鍵」を用いて生成したビットコインアドレスを送金先として指定します。これに対し、P2SH では受け取る側がスクリプト(送金処理の手順を計算式で表した指示書)のハッシュ値(データが改変されていないことを確認する数値)を用いて、送金先(受け取る側)のビットコインアドレスを指定するという大きな違いがあります。

そして、P2SHでは、ビットコインを受け取る側は、トランザクションの内容を承諾した送金元から「秘密鍵」を用いた署名を得る必要が生じます。さらに、受け取る側も「秘密鍵」で署名を行うことで、送金されたビットコインを受け取ります。

P2SHの仕組みと流れ

P2SHにおいてスクリプトの作成などの手間が生じるのは、もっぱらビットコインを受け取る側になるのが、通常の方法との違いです。ビットコインを送る側は、受け取る側の「ビットコインを送金してください」というリクエストに応じるか否かを判断するだけよいのです。つまり、単純に送金を実行するだけで済むわけです。

その手順としては、まずビットコインを受け取る側がスクリプトを作成し、そのハッシュ値を用いてP2SHにおける送金先のビットコインアドレスを指定します。これは、「指定したこのアドレスに送金してください」という意思表示です。

すると、それに応じた相手はビットコインをそのアドレスに送金します。送られてきたビットコインは、スクリプトを作成した(受け取りを希望した)人だけが署名して利用できるようになります。

P2SHを利用するメリット・デメリット

P2SHのメリットとしては、主に2つのポイントを挙げられます。そのうちの1つは、通常の送金方法よりもセキュリティが格段に向上することです。1つの「秘密鍵」しか用いない場合、そのデータが第三者に知られてしまうと、ビットコインを盗まれてしまう恐れが出てきます。しかし、P2SHでは複数の「秘密鍵」が用いられているので、仮にそのうちの1つが漏洩したとしても、取引に関与していない人に侵入されるリスクは極めて低いと言えるでしょう。

もう1つのメリットは、送金する側が負担する手数料を抑えられることにあります。旧来方式のマルチシグネチャの場合は、送金する側がスクリプトを実行する必要があり、それに伴って負担する取引手数料が高くなるのが難点でした。これに対し、P2SHでは受け取る側がスクリプトを実行するので、送金する側の手間と負担(取引手数料)を抑えられます。

P2SHのデメリットはメリットの裏返しで、ビットコインを送る側の手間や負担が軽くなった分だけ、受け取る側の手続きが面倒になったことです。受け取る側がスクリプトによるビットコインアドレスの指定や署名の準備などを行う必要があり、本来なら送る側が負担するトランザクション手数料を受け取る側が払う仕組みになっています。

P2SHは Pay To Script Hash の略で、ビットコインをやりとりする際のセキュリティを高めるために複数の「秘密鍵」を用いるマルチシグネチャという手法の中でも比較的新しい技術です。通常とは異なる送金方法を用い、さらに複数の「秘密鍵」で署名を行うことで、安全にビットコインを送金できます。マルチシグネチャは非常に安全性が高いことから、DMM bitcoinにおいてビットコインを出庫する際にもこの技術が用いられています。

今、暗号資産(仮想通貨)を始めるなら
DMMビットコイン