Gateアプリをダウンロードするにはスキャンしてください
qrCode
その他のダウンロードオプション
今日はこれ以上表示しない

ビットコインキーの理解:Bip39シードワード

ビットコインの自己主権の核心には、あなたのプライベートキーをコントロールすることが存在します。これがなければ、実質的にあなたの資金のコントロールを他の誰かに渡していることになります。「あなたのキーがなければ、あなたの通貨もない」という言葉通りです。ビットコインの技術的基盤に不慣れな人にとって、逆説的な側面は「実際に」あなたのビットコインがどこにあるかということです。人々が財布を考えるとき、「私のお金を保管する場所」と想像します。しかし、実際には、あなたのビットコインの財布はあなたのビットコインを「含んで」いるわけではなく、単にあなたのプライベートキーを保管しているのです。あなたのビットコインはブロックチェーン上のデータエントリーとして存在し、すべてのネットワーク参加者によって維持されています。ビットコインを使うとき、あなたはブロックチェーンデータの更新を提案しているのです。プライベートキーは、あなたしかビットコインを使うためのブロックチェーンの更新を承認できないことを保証するプロトコルの方法です。

だから、あなたのプライベートキーとは何ですか?それはただの非常に大きな数字です。ここにバイナリ形式のプライベートキーがあります:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

256のランダムな1と0。このランダムな数が最終的にあなたのビットコインを保護します。それほど大したことに思えないかもしれませんが、そのランダム性があなたのウォレットのセキュリティを保証します。可視宇宙に存在する原子の数と同じくらい、ビットコインのプライベートキーの可能性のある数があります。それが、コンピュータがすべての潜在的なプライベートキーを生成し、カタログ化するために数えなければならない数の数です。キーを生成するために使用されるプロセスが真にランダムである限り、あなたのキーは安全です。

プライベートキーが16進数でどのように見えるかは次の通りです (バイナリは数をエンコードするために2桁、1と0を使用し、16進数は0-9およびA-Fの16桁を使用します):

E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

そして、プライベートキーが非圧縮ウォレットインポートフォーマット(WIF)にどのように表示されるかは次のとおりです:

5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

WIFフォーマットは、ビットコインの初期において、誰もがプライベートキーとやり取りする方法でした。この時代、1回に1つのプライベートキーを生成し、それから公開鍵を生成することができました。公開鍵を生成するプロセスは、非常に大きな数を掛け算するだけですが、もう少し複雑です。すべての公開鍵は、非常に大きな曲線上のグラフのxおよびyポイントです。その曲線は自己に戻る形をしています。

グラフの曲線上、ビットコインの場合はSecp256k1という曲線に「生成点」と呼ばれるポイントがあります。この生成点はSecp256k1曲線の「基点」と考えることができます。これは鍵を生成し、それを使って署名するプロセスにおいて不可欠です。これがビットコインの曲線の生成点です:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

あなたのプライベートキーからパブリックキーを生成するには、生成したプライベートキーを取り、それをジェネレーターポイントで掛け算します。それだけです。これにより、あなたが生成したプライベートキーとの数学的関係を持つグラフ上の点が確立されます。それはあなたしか知りません。

ここにxとyポイントを示す非圧縮公開鍵があります:

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

公開鍵を「圧縮」することは非常に一般的です。これは、まれにそれらと相互作用する場合に、x座標をバイトとともに保存して、y座標が負であるか正であるかを示すためです。これにより、かなり短縮されます。

02C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158

トランザクションにプライベートキーで署名しようとすると、再び基本的には単純な乗算に帰着します。ランダムな数(を生成し、nonce)とともにプライベートキーを使用して、署名しているトランザクションのハッシュを基本的に乗算すると、署名(が生成され、これはrとs)の2つの値で構成されています。これにより、誰かがアルゴリズムを実行して、メッセージが適切なプライベートキーで署名されたことを確認できますが、そのキーは公開されません。あなたがビットコインの支出を認可できるのは、非常に非常に大きな数の乗算によって保証されています。

これらの概念にこれを読む前にあまり馴染みがなかった場合、すべてが少し intimidating に見えるかもしれません。バイナリ?16進数?グラフのポイント?WIFをどのようにバックアップしますか?

このデータを扱うより直感的な方法が開発されたため、ほとんどのユーザーはこれらの複雑なフォーマットに不慣れです。あなたはおそらく、シードフレーズとしても知られるワードシードにもっと精通しています。

BIP 39 ニーモニックシード

ニーモニックシード、またはシードフレーズは、プライベートキーとのインタラクションに関する問題に対処するために作成されました。

先ほど話したように、プライベートキーは最終的にはランダムに生成された長い1と0の文字列に過ぎません。これをコピーして、書き写す際に間違えないようにすることを想像してみてください:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

1桁のコピーエラーがあると、鍵のバックアップが無効になってしまいます。ここでニーモニックシードが役立ちます。256桁の連続した1と0は、敏感な情報とやり取りするための人間に優しい方法ではありません。この数字を間違って記録すると、アカウントへのアクセスを失うことになります。

トラック 更新 怒り ロバ 思い出す ノートパソコン 改革 詳細 分割 痛み なぜなら 太っている

それは扱いやすいですね?たった12語です。では、ランダムな1と0の集まりから、実際に意味をなす単語の列に変わるのはどういう仕組みですか?バイナリや16進数のようなエンコーディングスキームです!

前のニーモニックシードにある12の単語のそれぞれは、特定の1と0の文字列を単語にマッピングするエンコーディング方式のバイナリ番号です。WIFプライベートキーの以前の例を振り返ると、それは単に特定のエンコーディング方式(この場合はベース58)でエンコードされた番号であり、0と1、Oとlを除くアルファベットのすべての数字と文字を使用しています(これは大文字と小文字を区別します)。これらの文字を除外したのは、1とl、または0とOを混同することによって転写エラーが発生しにくくするためです。SegwitとTaprootによって使用されるbech32およびbech32mは、次のレベルに進み、この文字セットのみを使用します(qpzry9x8gf2tvdw0s3jn54khce6mua7l)。

ビットコイン改善提案 39 (BIP 39) では、特別に設計された辞書の各単語が、00000000001 から 11111111111 までのバイナリ番号にアルファベット順にマッピングされる標準化されたエンコーディングスキームが導入されました。以前のデモシードはこれにマッピングされます:

トラック: 11101001001 リニューアル:10110110001 フューリー:01011110011 ドンキー: 01000001001 覚えておいてください:10110101110 ラップトップ:01111101000 改革:10110100010 詳細: 00111100010 除算:11010010001 痛み: 01100110100 なぜなら: 00010011110 脂肪:01010011011

バイナリではこのように見えます: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

2048の単語があり、それぞれが特定の11桁の1と0の文字列にマッピングされています。これは、人々が自分のプライベートキーとやり取りしやすくするためです。プライベートキー用にランダムな番号を生成すると、ウォレットはその番号を11桁のバイナリ数のチャンクに分割し、BIP 39のニーモニック辞書にマッピングします。依然として同じ大きな数ですが、今では英単語として読むことができます。あなたの脳は長い1と0の文字列よりもこの形式にずっと慣れているため、何かを間違って書き留めてビットコインを失うリスクが大幅に減少します。

上記の単語シードの生のバイナリエンコーディングには、単独で4桁の(1011)があり、最後の「単語」は実際にはわずか8桁です。これはシードフレーズが有効であることを確認するためのチェックサムです。ランダムな数を生成するとき、12 (または24)の単語に正確にマッピングするための桁数が不足しています。ウォレットは生成した既存の桁をエンコードし、ハッシュの最初の桁をランダムな数の末尾に追加します。これにより、最後の単語にマッピングするための十分な桁数が得られます。

この最後の単語は、あなたのシードのコピーに対して安全チェックを行うことを可能にします。もしあなたがウォレットにニーモニックシードを間違って入力すると、チェックサムが一致しません。すべての12語または24語のシードには、複数の潜在的に有効なチェックサムワードがありますが、もし最後の単語が正しいシードのチェックサムと一致しない場合、あなたのウォレットは無効であると警告します。これにより、人々は直感的でありながら数学的な方法でバックアップが正しいことを確認できるため、複雑な生のバイナリ数の書き写しやバックアップのプロセスとは異なります。

リストから特定の単語を選択する際、2048語の中で同じ最初の4文字を持つ単語が存在しないようにするまで行きました。これは、類似の単語を混同してプライベートキーの不正確なバックアップを作成する人々の誤記の可能性を減らすために行われました。

これらの言葉を一連の複数の公開鍵/秘密鍵に変換するのは非常に簡単です。あなたのニーモニックシードは取得され、SHA512を使用してハッシュ化され、512個の1と0の個別のハッシュが生成されます。その出力の半分が実際の秘密鍵として使用され、もう半分はSHA512の入力としてインデックス番号と既存の公開鍵または秘密鍵を使用して新しい鍵ペアを生成します。これを何度でも行って、単一のニーモニックフレーズから回復可能な新しい公開鍵/秘密鍵を生成できます。

これにより、あなたはプライベートキーを最も簡単で安全な方法で管理でき、ミスを犯してお金を失う可能性が最も低くなります。そして、これらすべては数学を使って行われました!ビットコインが「数学によって保護されたお金」であると言われる理由を、あなたは今理解していることを願っています。

BTC-2.46%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン