06.秘密鍵と公開鍵

前回の章で、アドレスには「秘密鍵」と「公開鍵」が紐づいており、実際に取引を実行する際に必要なものになります、と説明しました。 仮想通貨では、公開鍵暗号という方式が採用されており、「アドレス」「秘密鍵」「公開鍵」は必ずセットになっています。 というのも 「秘密鍵作成⇒公開鍵作成⇒アドレス作成」 という流れで作成されるからです。 この流れは不可逆性を持っており、アドレスから元になっている秘密鍵や公開鍵を特定することはできません。 もちろん公開鍵から秘密鍵を特定することもできません。 それでは、実際に取引する際には、どのように使われるのか、見てみましょう! 例えば、AliceさんがBobさんに1BTC送金する場合はこんな感じ。 ① Aliceは「AliceのアドレスからBobのアドレスに1BTC送金」というトランザクション(取引)を作成。 ② Aliceは作成したトランザクションを自身の秘密鍵で署名することで暗号化し、ネットワーク上で公開。 ③ マイナーがこの暗号化されたデータを公開されているAliceの公開鍵を使って、“この取引は本当にAliceが行ったものであるか”の検証を行う。(マイニングですね!) ④ 検証の結果、“暗号化される前のトランザクション“と”複合化されたトランザクション“が一致=このトランザクションを送ったのはAliceであると証明される。 ⑤ Bobのアドレスに送金が行われる。送金完了です! アドレス=銀行の口座番号、秘密鍵=銀行口座の暗証番号、と考えると分かりやすいです。 ちなみに公開鍵=口座番号を生成するためや、取引が正しいことを検証するために用いられるものです。 ・アドレス=口座番号は、誰かからお金を振り込んでもらう際に、振り込んでほしい相手に共有しないとお金を振り込んでもらえません。 ・秘密鍵=暗証番号は他人に知られてしまうと、自由にお金を引き出せるようになってしまうので、他人に漏れたら大変なことになります。 ・公開鍵=取引の正しさを検証されるために用いるので公開されないと取引ができません。 秘密鍵は他人にばれないように保管しましょう!

05.ウォレットって?

暗号資産における、“ウォレット”とは、過去の取引履歴を全て保存してある金庫のようなものです。 直訳すると“財布“なので、私たちが普段使っている財布をイメージされる方が多いと思います。 しかし、財布のように“暗号資産”そのものが入っているわけではありません。 ウォレットには、アドレス(口座番号のようなもの)が紐づいています。 このアドレスは、ウォレットを元に生成され、暗号資産を送ってもらう際に必要なものになります。 この紐づいているアドレスを使って取引した全ての記録を保管することによって、そのウォレットに紐づいているアドレスの残高が見ることができる、という仕組みです。 また、このアドレスには“秘密鍵”(暗証番号のようなもの)と“公開鍵”が紐づいており、実際に取引を実行する際に、必要なものになります。 (この二つに関しては、次の章で詳しく説明しますね。) 【ウォレットの種類】 ①ホットウォレット ・インターネットに接続されたオンラインのウォレット。 ・ハッキングのリスクが高い。 ・ネットが繋がればいつでも利用できる。  ⇒ウェブウォレット(クラウド上で提供される)、モバイルウォレット(スマホなどにアプリをインストールする)、デスクトップウォレット(パソコンにインストールする) ➁コールドウォレット ・インターネットには繋がっていないオフラインのウォレット。 ・セキュリティは高いが、紛失や破損する可能性高い。 ⇒ハードウェアウォレット(USBなどのデバイスで保存管理する)、ペーパーウォレット(紙で保管する)

04.マルチシグについて

マルチシグ(Multisig)とは、マルチシグネチャー(Multi Signature[直訳]複数 署名)の略で、取引の署名に複数の秘密鍵を必要とする技術のことです。 暗号資産においては、取引を実行する際に、2つ以上の秘密鍵を必要とするアドレスのことをいいます。 これに対して、1つの秘密鍵で取引が実行できるアドレスをシングルシグといいます。 ▼マルチシグの特徴は? 安全性が高い! ハッキング時のリスクが軽減できる!ことです。 例えば、秘密鍵を取引所に預けており、その取引所がハッキングされたとします。 シングルシグだと、その秘密鍵が盗まれてしまうと一発でアウト! しかし、マルチシグの場合だと、取引実行に必要な数の秘密鍵が盗まれない限り、資産を失うことはありません。 例えば、2of3のマルチシグの場合、秘密鍵3つのうち2つが揃わないと取引が実行されない、といったように。 (もちろん全ての秘密鍵を盗まれた場合はアウトです。) 世間を騒がせた、コインチェックの約580億円のハッキング事件が起こった要因の一つが、まさにこの秘密鍵です。 コインチェックはシングルシグを採用していたため、ハッカーによって秘密鍵が盗まれた時点で、ハッカーは自由に取引を行え、資金が流出してしまいました。 ちなみに、弊社のSHCサービスも、エスクローにマルチシグを採用しております。

03.マイニングとは?

マイニングとは、仮想通貨の取引データの承認を行い、ブロックチェーンに正しい取引データの記録を行う作業のことです。 (このマイニングを行う人のことをマイナーと呼びます。) 例えば、「AliceさんがBobさんに1BTC送金する」という取引の場合、 この情報をハッシュ関数という計算式に当てはめて、ハッシュ化します。 すると英数字が羅列された値(ハッシュ値)が出力されます。  「AliceさんがBobさんに1BTC送金する」⇒B123HI9374H6G87GD9BNA… この取引データを承認するためには、下記①~③のハッシュ値が必要です。 ① 直前のブロックのハッシュ値 ② 新しいブロックの全ての取引データ ③ 任意の数値=ノンス値 マイニングは、③のノンス値を代入して、先頭に“0”が16個続くハッシュ値になるようなノンス値を探す作業です。 この計算を一番早くできた人が報酬をもらえるという仕組みです。 【マイニングの種類】 マイニングを行うには下記の3つの方法があります。 ① ソロマイニング:自分1人だけでマイニングする方法。 ハイリスクハイリターン。 成功すれば報酬は独り占めできますが、マイニングの設備を揃えるのが大変で、電気代もかなりかかります。 また、②③に比べパワーに劣るため、成功する可能性はかなり低いと言われています。 ② プールマイニング:チームを組んで力を合わせてマイニングする方法。(この集団をマイニングプールと呼びます) 報酬は計算力に応じて分配されます。 そのため比較的安定して収益を得られますが、マイニングの設備を揃える必要はあります。 ③ クラウドマイニング:マイニングを行っている団体やチームに投資をして代わりにマイニングをしてもらう方法。 投資額に応じて、報酬が得られます。 設備を揃える必要もないので、手軽に始められます。 もちろん電気代もかかりません。 ただし、投資先を慎重に選ばないと、詐欺にあう可能性もあります。

02.ビザンチン将軍問題とは?

ビザンチン将軍問題とは、ビザンチン帝国というヨーロッパの帝国における、集団の中の裏切り行為を例にとった、ネットワーク上の不正やエラーのことをいいます。 ~~~~~~~~~~~~~~~~~~~~~~ はるか昔、ビザンチン帝国という国がありました。 この帝国軍の9名の将軍が、別の都市Aを攻め落とすために、部隊を率いて包囲していました。 ビザンチン帝国と都市Aの戦力は拮抗中。 攻め落とすためには、9名の将軍は、 ① 全軍協力して一斉に攻撃する ② 一度全軍撤退して作戦を練り直す この、2択しかありません。 もちろん電話も・メールもない時代。 各将軍は、伝令兵に攻撃か撤退の判断を託して、他の8つの部隊に伝えることによって、多数決で全軍攻撃か、全軍撤退かを決めることしました。 例えば、自分が「攻撃」という判断を下しても、他5人以上の将軍から「撤退」という伝令が来たら、上記に倣って撤退することになる。 しかし、このやり方では、うまく多数決が機能しない可能性があります。 それは、この9人の将軍の中に裏切者がいた場合です。 例えば、4人が「攻撃」、4人が「撤退」という判断を下した場合、 裏切者は、「攻撃」と判断した4人には「攻撃」、「撤退」と判断した4人には「撤退」と伝令を送ります。 9人の将軍は集まって確認することができないので、届いた伝令を信じるしかありません。 そうすると「攻撃」と判断した4人の将軍は攻撃し、「撤退」と判断した4人の将軍は「撤退」することになり、4軍で攻め込む結果になり都市Aを落とすことができず、作戦は失敗します。 ~~~~~~~~~~~~~~~~~~~~~~~~~ このように、集団において誰か一人が嘘の情報を伝達することにより、全体の合意を形成することが出来なくなります。 この事例に例えて、ブロックチェーンにおいても、参加者の一部が裏切り行為をすることで、正しい合意形成ができなくなる可能性があることを、ネットワーク上のビザンチン将軍問題といいます。 では、ブロックチェーンにおいて、この問題をどのように解決しているのか? それは、裏切らずに正しい行動をとったものに、報酬を与えるということです。 これがいわゆる「Proof of Work(PoW)」と呼ばれ、難しい計算問題を解くこと(マイニング)に対して、報酬というインセンティブを与えることで、マイナーに正しい行動をとったほうが経済合理性が良くなるような仕組みになっています。