コインを購入
マーケット
契約
現物
収益
Web3 new
Phemex学園
Academy > 暗号資産の洞察 > ビットコイン公開鍵vs.秘密鍵: 知っておくべきこと >

ビットコイン公開鍵vs.秘密鍵: 知っておくべきこと

2021-03-29 04:11:01

ブロックチェーンは、今までサービスを受けることができていなかった人々にも金融サービスを提供し、力を与えることができる、金融業界に大きな影響を与える最も革新的な技術として注目されています。しかし、ビットコインは現在の中央集権的な技術を覆すために開発されたにもかかわらず、伝統的な金融とブロックチェーンには思った以上に多くの共通点があります。

ビットコイン公開鍵、秘密鍵、ウォレットアドレス

銀行が利用者の口座のバランスを保つために口座番号を利用するのと同様に、ブロックチェーンのネットワークでもウォレットアドレスが利用されます。ビットコインアドレスは26から35のアルファベットの列で表され、通常1、3、またはbc1で始まります。これらのアドレスは支払先として表記され、またこのアドレスは公開鍵の一部でもありますが、これらは全く別のものです。

public-key-private-key

アドレスと公開鍵の違いを理解するためには、ハッシュが何かを理解する必要があります。ハッシュ関数とは、入力されたシードにかかわらず固定長の値を表すもので、ハッシュの値を生み出すのは簡単ですが、元のシードフレーズを再現するのはほぼ不可能です。

アドレスから公開鍵を生み出す唯一の方法はトライ&エラーで、これが、いくつかのプラットフォームがプロセスをより複雑にするためハッシュ関数に“SALT(ソルト)”を入れている理由です。このSALTとは通常複数個のランダムな数字、文字、記号の並びで、シードフレーズに加えられます。

ハッカーの中にはハッシュの出力値を入力値にマッピングして“レインボーテーブル”に記録する者もおり、このSALTを加えることで一般的なパスワードをより推測しにくくすることができます。ビットコインアドレスとはユーザーの公開鍵をハッシュ化して出力したもので、より厳密にいうと、公開鍵/秘密鍵のECDSAペアのうち公開されている部分になります。

この鍵のペアは数学的曲線によって生み出され、シードフレーズから導き出される秘密鍵と、秘密鍵から導き出される公開鍵を含んでいます。支払いを受けるためにアドレスを公開すると、公開鍵から常に新しいアドレスを生成することができるためより安全です。

また情報を公開鍵に暗号化し、自身の秘密鍵だけを解読できるようにすることで、自分にしか読めないメッセージを送ることができます。公開鍵と秘密鍵の組み合わせは、秘密鍵だけが作成できるデジタル署名の作成にも利用できますが、秘密鍵を知らなくても公開鍵を使って簡単に検証することができます。

この機能は文書に署名する際に、情報をあまり与えずに送信者の身元を証明するのに有用です。この種の関数は“トラップドア式暗号”と呼ばれることもあり、これは一定方向に進むのは簡単ですが、元のプロセスに戻るのは非常に困難です。

ビットコインではセキュリティ上の理由から、公開鍵に加えてハッシュ関数を使用しています。例えば、鍵を作成するための数学的関数に他人が公開鍵から秘密鍵が作成できるような脆弱性が見つかったとしても、取引を行うまで公開鍵は公開されないので資産は安全です。

公開鍵、秘密鍵、アドレスは1つの全体を構成する3つのことなるパーツであり、いずれも分散型システムの機能に重要な役割を果たしています。その中でも特に秘密鍵は重要な構成要素であり、残りの2つはそこから派生したものです。何か問題が起こった際に責任を取るのはユーザー自身なので、秘密鍵やシードフレーズを安全に保管することは仮想通貨を保有する上で最も重要なことの1つです。

銀行は広範なレベルにおいては安全ですが、単一の欠陥があるとそこが攻撃のポイントとなってしまいます。本質的に分散型システムはもともと中央集権的なシステムよりも複雑であり、現段階では特にそれが顕著です。ブロックチェーンはまだまだ新しい技術であり、現在ブロックチェーンを利用することは従来の金融システムに比べていくつかのデメリットがありますが、この状態は長くは続かないでしょう。

ビットコインのプライバシーと公開性

ビットコイン運用の要素はかなり多くの単語を用いないと説明できず、特に同じものの中に複数の異なる形式があるときは非常に難しくなります。例えば、公開鍵は楕円曲線上の座標を用いて作成されますが、これは1つの座標を知っていれば2つ目の座標を導入できることを意味します。つまり、X座標だけで公開鍵を表すことができ、“圧縮公開鍵”と呼ばれるものを作成することができます。

ここで、圧縮された公開鍵のハッシュ関数と圧縮されていない公開鍵のハッシュ関数は同じ長さの異なるアドレスを与えるため、区別するのが難しくなる可能性があります。ビットコインの匿名の生みの親であるサトシ・ナカモトは開発プロジェクトを離脱する前に公開鍵の圧縮について知らず、よりコンパクトな識別子を作るためにハッシュ関数を使ったのではないかと推測する人もいます。

アドレスは確かに公開鍵よりも短いですが、様々なサイバー攻撃に対する防御機能を備えています。アドレスには備え付けのチェックサムなど公開鍵だけでは得られない機能が含まれおり、これは資産が消滅してしまう前に文字の打ち間違えを特定することができます。

しかし、アドレスや鍵は一度理解してしまうと簡単ですが、Instagramのユーザー名ほど簡単なものではありません。そのため、ビットコインの公開鍵ハッシュのような安全性とWebサイトの名前のような覚え易さを兼ね備えたアドレスを作ることに多くの労力を費やしているのが現状です。

例えば、イーサリアムネームサービスではユーザが自身のアカウントを個別の「.eth」アドレスと連結させることができるため、ERC-20などのイーサリアム互換のトークンを単一のアドレスで送受信することができます。

秘密鍵は、秘密鍵を形成する関数の素となる単語の並びであるニューモニックフレーズによって作成されます。これは通常12〜24個のランダムに生成した単語のリストで、ウォレットに関する全ての情報を復元するために使用されます。秘密鍵の関数はパスワード、反復回数、SALT、鍵の長さ、擬似乱数の5つの入力を受け付けます。

パスワードはニューモニックフレーズで、この関数は公開鍵とアドレスを生み出す秘密鍵を再現することができます。256bitの秘密鍵には 16^64の組み合わせがあり、一生の秒数の平均よりはるかに多いです。ビットコインのSHA-256暗号化アルゴリズムにおいては、攻撃しようとする人が既にウォレットのアドレスと公開鍵を持っていたとしても秘密鍵を推測することはほとんど不可能です。

理論上、ビットコインは51%攻撃を受ける可能性は0ではなく、量子暗号の技術とともに、ネットワークの安全性は今後さらに向上されるべきでしょう。しかし、ビットコイン技術の発展に伴い、ネットワークの51%攻撃を制御するのは徐々に難しくなってきており、今日では最も大きなマイニングプールでさえもネットワークの半分も管理できていません。ビットコインの安全性は分散化とネットワーク参加の機能に左右され、それらの定着とともに向上するでしょう。

直面している課題

ビットコインの暗号化アルゴリズムにはあらゆるセキュリティ施策が行われているにも関わらず、新たなコンピュータ技術によって時代遅れになることがあります。量子コンピュータは、従来のコンピュターでは何十年、何百年かかるような計算をわずか数分で行うことができます。専門家によると、量子コンピュータは理論上ビットコインのSHA-256アルゴリズムをわずか30分で解読できるといいます。

ビットコインは安全?

事実上、ビットコインは完全に安全であり、仮に量子コンピュータが暗号化を解読するアルゴリズムを見つけたとしても、量子暗号化アルゴリズムはすぐに組み替えられるでしょう。実際、現在のセキュリティ対策の中には現代の量子コンピュータに対抗できるものもあります。その中でも、マルチシグウォレットはそれぞれのグループが管理する資産を保管するために使用されます。

マルチシグウォレット

マルチシグウォレットのアドレスは3で始まり、スクリプトを利用して取引の際に必要な署名の数など、取引を行うためのルールを策定します。マルチシグウォレットからの取引はあらかじめ定められた数の署名、もしくは関連する全ての署名によって承認される必要があります。つまり、1つのアドレスが侵害されたとしてもウォレットの資金をコントロールすることは出来ません。

仮想通貨を取引所のウォレットに送金する際、その取引所のセキュリティによっては攻撃者に資金を奪われる危険性があります。オフラインで資産を安全に管理するということは、悪意のあるユーザーから保有資産をできるだけ安全に保つために非常に重要です。そのために、技術的に洗練されたハードウェアのウォレットから紙に書き留めるタイプのものまで、様々な手法があります。

オンラインの取引ウォレットからの最も自然なステップは、オフラインのソフトウェアウォレットです。この方法では、コンピュータやスマートフォンにアプリケーションをダウンロードして秘密鍵を作成し、仮想通貨を安全に保管します。ソフトウェアを使ってアプリケーションのインターネットへのアクセスを制限することが一定の効果をもたらしているため、インターネットを切断された別のコンピュータや携帯電話を使用することを進めします。

しかし、ほとんどのソフトウェアウォレットの脆弱性はよく知られており、それでもなおオンラインで取引所のウォレットを使用するよりもはるかに安全です。さらに言えば、秘密鍵のシードフレーズを紙に記録し、安全な場所に隠しておくこともできます。このシードフレーズに誰もアクセスできないようにしておけば、あなた以外の誰も資産にアクセスすることは出来ません。これは最も安全で安価な仮想通貨の保管方法として、広く知られています。

ビットコインを安全に管理するには?

最も便利で高価な選択肢は、ハードウェアウォレットです。これは秘密鍵を保管するための物理的なデバイスですが、オフラインでの暗号資産の保管を少しでも楽にするための機能が多く搭載されています。

例えば、単一のハードウェアウォレットに複数の暗号資産を保管することができ、さらにUSBでインターネットに接続して取引所との間で資産をやり取りすることもできます。またハードウェアウォレットの中にはマルチシグ機能を搭載し、コンピュータに接続しなくてもスクリーンに情報を表示できるものもあります。

まとめ

暗号資産の保管方法にかかわらず、その仕組みを理解することは重要です。銀行には分散型システムのようなメリットはありませんが、お金を管理して安全を担保する責務があります。ブロックチェーンのような分散型ネットワークではこれは不可能であり、自身の資産を管理することは仮想通貨の世界に参入するにあたって非常に大きな意味を持ちます。

取引所に資産を保管していようが、紙幣を銀行に保管していようが、仮想通貨には安全に管理するだけの価値があり、世界もこの変化を素早く受け入れているように見えます。ブロックチェーンは従来のシステムを徐々に置き換えつつあります。この技術が現在のインフラをシームレスに代替するようになっても、私たちは知らないうちに口座番号ではなくビットコインのアドレスに送金するようになっているかもしれません。


問い合わせは support@phemex.zendesk.com までお寄せください。
当社の公式Twitterアカウントをフォローし、最新ニュースを入手してください。
Telegramコミュニティに参加し、当社および他の Phemex トレーダーと交流してください。
フェメクッス | Break Through, Break Free
giftRegister to get $180 Welcome Bonus!
Email
Password
招待コード(任意)
  • Facebook
  • Twitter
  • LinkedIn
  • Telegram
  • Discord
  • Youtube
Subscribe Phemex

フェメックスに登録して、今すぐ暗号化の旅を始めましょう!

サインアップで$180をゲット