【初心者向け】ブロックチェーンの超簡単基礎知識2〜公開鍵暗号ってなに?〜
はろーブロックチェーン。
りえへいです。
今日はブロックチェーンの大事なポイント、暗号化のなかの公開鍵暗号方式について説明してみたいと思います。
どうやってなりすましを防ぐのか?
ブロックチェーン技術は、みんなで情報を共有して、分散してデータを持っておく仕組みというのを、前回お話ししました。
なので誰かのデータがなくなっても、復元可能で安心です。
ただ、みんなで情報を共有するということは、隠し事ができない、すべての情報が筒抜けということになります。
例えば、私がお母さんに10万円送金しようとする場合、この「私がお母さんに10万円送金」したというデータをみんなが見ることができます。
そうすると、今私のお母さんのもとには10万円があるはずだから盗みにいこうぜとか、お母さんになりすましてこのお金を使ってやろうぜ、と考える人が出てきてもおかしくないですよね。
そんな悪い奴らから守ってくれるのが、暗号化技術なんです。
暗号化でどうやって情報を守るの?
暗号と聞くとスパイっぽくってかっこいいですよね。
よく推理小説とかである一定のルールに従って文字を読み替えると、犯人の手掛かりになったりしますよね。
でもこれではルールを見破られると、一気に暗号の威力が無効化されてしまいます。
ブロックチェーンでは、そんな心配がないように「公開鍵暗号」が使われています。
この技術では、公開鍵と秘密鍵のペアを持つことで、安全かつ強固な暗号化が可能なんです。
公開鍵暗号の仕組み
これは、公開鍵を使って暗号化したものは、ペアの秘密鍵でしか復元できないという仕組みです。
暗号化する鍵とそれを復元する鍵が分かれているのがとても重要なポイントです!
一度公開鍵を使って暗号化してしまうと、暗号化に使用した公開鍵では、これを復元することができないんです。
家の鍵を閉めるのには使えるけど、開けるのには別の鍵が必要と考えてもらえると分かりやすいかと。
一般的な感覚では、閉めるのに使えた鍵は開けるのにも使えるはずと考えるので、なかなか最初はすんなり納得できないかもしれません。
暗号化に使った公開鍵に、復元するための手掛かりが残っているんじゃないのかな・・・・と私も心配しました。
ただ、これは数学的な難問を応用して作られていて、実際には膨大な時間がかかり不可能とされています。
また、秘密鍵で暗号化したものは、ペアの公開鍵でのみ復元できるという性質も持っています。
公開鍵暗号の使い方
この仕組みを利用すると、みんなで共有しているネットワーク上でも安全に情報のやり取りをすることができます。
先ほどの例のように、私がお母さんに10万円を送金したいとします。
この時に、まずお母さんは私に、お母さんの公開鍵を教えます。
そして私は、お母さんの公開鍵を使用して、私がお母さんに10万円送金するという取引を暗号化します。
お母さんは、お母さんの秘密鍵を使用してこの取引を復元して、無事に10万円を使用することができます。
なお、ここで注意してほしいのは「私がお母さんに10万円送る」という取引自体は、ネットワークのみんなで共有されています。※ビットコインの場合
ただ、この送られた10万円を使用できるのが、秘密鍵を持ったお母さんにしか不可能という仕組みになっていると考えてください。
そうすると、この秘密鍵を守ることがとってもとっても重要だと分かっていただけるかと思います。
決して悪意あるひとに盗まれてはいけないので、管理には細心の注意が必要です。
公開鍵暗号は署名にも使えます
また、この公開鍵暗号は、署名としての機能も果たしてくれます。
私がお母さんに10万円送金するとき、お母さんは本当にこれが私からの連絡なのかということの確証が持てません。
誰かが私になりすまして嘘の連絡をしている可能性もあるからです。
そんな時には、私が自分の秘密鍵を使って暗号化した署名を取引データにつけておきます。
そしてお母さんには、私の公開鍵を渡しておきます。
取引データを受け取ったお母さんは、暗号化された署名を私の公開鍵で復元できることを確認することで、間違いなく私からの連絡だということが分かります。
暗号化と復元の鍵を分けておくという一見単純な仕組みですが、とても強力で便利な暗号パワーですね!
まとめ
暗号化するための鍵と復元するための鍵をペアで使用することで、とても強力な暗号に守られて安全に取引をすることができるよ!
鍵のペアのうち一つは、だれとでも共有して問題ないので公開鍵と呼ばれるよ。
でももう一つの鍵は秘密鍵と言って、絶対にだれにも言ってはだめ。
自分でちゃんと守ることが大切!
ビットコインの取引手数料が高騰している件
はろーブロックチェーン。
りえへいです。
今日はビットコイン手数料がちょっと高くてびっくりしたお話です。
ビットコインの手数料が高くなっている
ビットコインを誰かに送りたい時には、ビットコインの技術を支えてくれている、マイナーと呼ばれる方に、手数料を少しお支払いする必要があります。
マイナーさんたちは、ボランティアではないですし、技術の仕組みを利用する以上ただ乗りはいけないので当然です。
が、先週末ビットコインを送金してみようとして、その手数料の高さにめちゃくちゃ驚き、、、、!!!
なんと、10円送付するのに1,767円お金がかかるというんです!!!!
最初この使っているBreadというウォレットアプリがボッタクリをし始めたのかと思い、思わずアプリに一人でキレまくる。笑
ただ、色々調べてみると、ビットコインの取引量急増に伴なって、ビットコインの取引手数料が高騰しているようなんです。
ビットコインの取引手数料とは?
簡単に取引手数料の説明をしておくと、ビットコインでは送金をする時の手数料は自分で自由に設定をすることができます。
つまり、別に0.1円とかでもいいです。
ただし、取引の処理をしてくれる人(マイナー)は、どの取引を処理するかを自由に決めることができます。
そうすると、当然手数料の高い取引から優先して処理されていきます。
安い手数料を設定した取引は誰にも処理してもらえずに、放置されるということが起きてしまいます。
※2017.12.30訂正しました。
ただし、取引の処理の優先順位は、手数料の高さとその取引の古さによって基本的に決定されます。
取引した順から処理される訳ではなく、手数料を支払えば早めに処理してもらえるって事ですね。
そうすると高い手数料を設定した取引は、早く処理されるけれど、手数料を低く抑えた場合、時間が経たないと、処理の優先順位が高くならないので、なかなか処理が進まないという事が起きてしまいます。
なお、ここで注意しておきたいのは、ちゃんと相場に応じた手数料を設定すれば、速やかに処理されて、処理が滞るということはほぼないということです!
ここを勘違いして、ビットコインネットワーク全体が停止している、、、みたいな印象を持たないでくださいね。
手数料のお値段
これまでは、数円とか数十円の手数料でもすぐに処理されていたようです。
ただ、最近取引をしたい人があまりにも急激に増加したので、バランスが崩れてしまっているのかなと思います。
これが需要と供給というやつか・・・・
私がいつも利用している取引所Zaifのビットコインの出金のデフォルトの手数料は今は、0.001BTCです。
最近価格が乱高下しているのでなんともいえないんですが、仮に1BTCが150万円とすると、1500円の手数料になりますね。
※なお、この手数料には単純なビットコイン取引手数料に加えて、取引所に支払う手数料も含まれるので、
単純にビットコインの取引手数料とはいえないのですが。
ただ、処理が遅くなるリスクはありますが、手数料は自分で設定して変えることもできます!
ここはすごく利用者にとっていい仕組みだなと思ってます。
私はこの前、デフォルトの1/5で取引手数料設定してみたんですが、その時は12時間くらいで処理が完了してました。
ビットコインの魅力の取引手数料の安さが失われている・・・?
もともとビットコインというのは、取引コストが非常に安いということが大きな魅力のひとつでした。
例えば、銀行の海外送金だと手数料がめちゃくちゃかかるけど、ビットコインなら安く送れるよね、とか、クレジットカードはお店側がクレジットカード会社に手数料を支払わないといけないけどビットコインなら手数料はないに等しいよねとか。
ただ、こんなに手数料が高かったら、誰も日常生活の買い物場面で使ったりしない。
今は、完全に通貨としての使用目的ではなく、投資するのが目当てなので、こうやって高い手数料でもみんな設定して支払っているのかなと思います。。。
これで仮想通貨懐疑派が勢いづいて、だからビットコインとかダメなんだよ、とか言って、この仮想通貨の拡がりを止められてしまわないか、というのがけっこう心配です。
この問題を曲解して、未処理の取引が溜まっているらしい、とか1時間に1件しか処理されないとか話している方が現にいるようです。
確かに、この手数料高騰は問題だと私も思いますし、ビットコインの成長を弱めてしまうかもしれません。
仮想通貨はビットコインだけじゃない!
ただ、ブロックチェーン技術は今も進歩し続けていて、ビットコイン以外にも面白い通貨がいっぱい出てきています。
ビットコインもこの問題を解決しようと、新たな技術を取り入れようとする動きもあります。
ビットコインが高いなら、こっちの仮想通貨を今は使おうかな、という感じでその時に応じて選べるようになり、仮想通貨全体でうまくバランスがとれるようになっていくものだろうという風に私は捉えています。
ビットコインが仮想通貨のすべてだと思わないで、ぜひその周辺にも目を向けていくと楽しいですよ!
あと、仮想通貨投資やってるなら、手数料はケチらないで、相場より上目で設定しておくと、処理がスムーズでストレスが無いと思います。
下手にケチると結構精神的にもやもやと辛かったのです・・・。
あ、それから今の手数料の相場の見方も、ちゃんと調べて共有したいと思っています。
これをちゃんと分かってないと、悪意のある取引所とかウォレットアプリに騙されて手数料の水増し請求されても気づかなくて危険だなと。
仕組みも含めて仮想通貨のことを知って、みんなで賢く活用していけたらいいなと思ってます。
まとめ
ビットコインの取引を処理するときの手数料は自分で自由に設定できるよ。
でも処理する人も、どの取引から処理するか選べるので、手数料が低いと処理が後回しにされちゃうかも。
今はビットコインの取引が急増&価値が急騰しているので、スムーズに処理してもらうための取引手数料が高くなっているよ。
でも、ビットコイン以外にも仮想通貨はたくさんあるので、より最適な仕組みが自然とえらばれていくと思ってるよ。
【初心者向け】ブロックチェーンの超簡単基礎知識1〜分散型ってなに?〜
はろーブロックチェーン。
りえへいです。
ブロックチェーンって結局なんなの?
ポイントを分かりやすく教えてよ、という方はこちらの記事からお読み下さいませ。
第一回目は、「分散」という部分に焦点をあてて解説します。
ブロックチェーンとは?
ブロックチェーン技術をあえて超簡単に言ってみると、
みんなで取引の記録を共有して、その取引を記録する台帳をそれぞれが管理する仕組み
です。
なので分散型台帳システムと呼ばれています。
うーん、イマイチピンと来ないですね。。。。
もしも日直日誌がブロックチェーンで運用されたら
ここでは学校の日直日誌を例えに考えてみたいと思います。
覚えていますか?日直システム。その日の挨拶の号令をかけたり、黒板消したり、
だいたい男女ペアでやるので、恋が生まれるのが少女漫画の鉄板ですよね。
その日直が、天気とか時間割とか授業の様子を書くのが日直日誌。
この日誌は先生によって管理され、その日ごとに担当の日直が記入し、先生に提出する仕組みです。
先生が管理人であり、中心になるので、中央型の仕組みと言えます。
これは管理する上で都合も良かったりするのですが、先生が日誌をどこかに紛失してしまうと、二度とその 日誌の情報は分からなくなってしまうなど、色々な問題もあります。
もしこの日直日誌の仕組に、ブロックチェーン(分散型台帳システム)を取り入れるとどうなるのか??
まず、みんな自分のPCに、日誌の最初のページの記録(データ)を持っておきます。
そして、日直が今日の日誌を書いて投稿したら、みんなでその投稿が本当に正しいのか確認し、確認ができたら、自分のPCの日誌にその内容を書き込みます。
要は全員同じ内容のデータを別々に保管しているイメージです。
こうしておくと、誰か一人が日誌のデータを紛失しても、ほかの人が全く同じ日誌データを持っているので安心です。
また、誰か別のクラスの生徒がなりすまして日誌にいたずら書きをしようとしても、クラスみんなでチェックをしているので、不正を見過ごすことがありません。
もう先生(管理者)とかいらないですね。
管理者不在で情報を分散して管理できる
情報を1箇所で管理するのではなく、同じ情報を、みんなでチェックしそれぞれで分散して保管している、これがブロックチェーン技術のめちゃくちゃ大事なポイントなんです。
この、管理者がいない、非中央集権的というところが、たくさんの技術者の心を捉え、そして私の心も奪われてしまった一番の魅力!
わたしは昔から人に命令されるのがどうしても我慢できない性質でして、、、w
上から目線の人って、なんであんなに偉そうにできるんですかね。
今までは権力とか莫大な資金とか高度な技術とか、そういう資本や富を蓄積したモノがパワーを持っていた時代でしたが、この分散型の仕組みが拡がれば、個人が自立と協調によって大きなパワーを持てる時代になると思います。
ただ、最近の仮想通貨の中には、特定の管理者を設定する仕組みの技術を持つ場合もあります。
私は個人的には、それはブロックチェーン技術・仮想通貨とひとくくりにしてもいいのかちょっと疑問なので、それはまた別の機会にお話ししたいですね。
とにかく管理者がいなくても、みんなで記録を正確に管理できるというすごい仕組みということが分かってもらえたら嬉しいです。
まとめ
ブロックチェーンは参加者全員で取引の記録データをチェックし共有して、それぞれ個別に記録の台帳を持っておく仕組みだよ!
誰か一人の管理者がいるのではなく、みんな同じ立場で、情報をチェックして保管して
いるので、分散型取引台帳と呼ばれるよ。
初めまして。このブログでやりたいこと。
はろーブロックチェーン。
りえへいです。
初めてのエントリーではこのブログでやりたいことを宣言しておきたいと思います。
できるだけ、今のトキメキや情熱を忘れないよう、そして、少しでもこのブログに興味を持ってくれた人に一体りえへいが何をしたいのか分かってもらえたらいいなと思っています。
このブログでやりたいこと
1 ブロックチェーン技術へ近寄るハードルを下げる
私が、ブロックチェーンにどハマりし始めたのは、約10日前のことです。なので超初心者です。しかも非理系、非プログラマー。
でも、文系とか理系とかそんな変な線引きに怯えて、ブロックチェーンのことを知らないのはもったいない!
奥が深いし面白すぎるよこの技術、というか思想は。
数学的なことだけでなく、哲学とかコミュニティ論とかそういうたくさんの要素を一身に抱えた存在であり、高貴で複雑なお方なのです!!
まあ、だからこそ一般人からは敬遠されているという・・・・。
でも、こんな初心者の私でも、ブロックチェーン技術を学び、あわよくば活用して、コインを発行していくとかいう様子を発信できたら、
「え、こいつで分かるなら、私(俺)でも分かるでしょ」
「なんか面白そうだし、乗っかってみよー」
とか思う人が一人でも増えるのではないか、ということを目論んでます。
2超初心者でも分かりやすくて面白い情報を提供する
最近仮想通貨、特にビットコインの値上がりそして値下がりwが話題なので、投資目的で仮想通貨を始めている人は結構いるかもしれません。
ネットを見ると、仮想通貨投資法とか、次に来るコインはこれだ!とかなんか怪しげな情報は結構ヒットします。
一方で、ちょっと詳しく仕組みを知りたいなーと思って調べて見ると、初心者にはハードルの高い用語が攻撃してきてすぐに戦意喪失してしまいます。。。。
日本ブロックチェーン協会が出しているブロックチェーンの定義ってこれですよ。
1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
はい。もう1歩目のビザンチン様でお手上げです。
これ読むと心のシャッターがおります。今の私も再びちょっとくじけそう・・・。
とくに技術者の方は、正確性や論理性というのを常日頃から突き詰めているので、曖昧表現とかざっくりと伝えるということを敬遠される方が多いと思います。
(そんなところを私はすごく尊敬している!)
ただ、もうちょっと噛み砕いたり、わかりやすくて説明してほしい!と思っている人が私以外にもいるはずなので、そんな人に刺さる情報を発信したい。
あとなんだかんだ言って、仮想通貨の投資も気になるので、そのあたりも手を出していきますw
3ブロックチェーン技術について色んな人と語って、実際にみんなで使っていきたい
これが私が一番やりたいことです。
最近AIとかIoTとかどうやって企業で活用していくかというのが話題ですが、私はブロックチェーンこそが社会を変える大きな可能性を持っている気がします。
というか、そう言っている人の記事とか読んで、そうかもしれないと思っています!笑
この未来学者のタプスコット氏の講演は初心者でも取っつきやすいので、ぜひ一度見てみると、ブロックチェーンが未来に与えるインパクトにワクワクしますよ。
ただ、現状ではあまりまだ実際にどう使おうかという所の話って日本で聞く機会は少ないです。これはすごくもったいないです。
まずは、投資からでもいいので盛り上がればいいなと思っています。
技術は使ってなんぼ、むしろ使っていかないと、いつの間にか既存勢力に潰されてしまうかも、、、、
なのでみんなで一緒にわいわい考えて使ってみようが増えていくと嬉しいなと思っています。
技術にフォーカスする訳ではなく、あくまで実際に何に使う?という話を中心に据える、ただ、そのためにはベースとなる技術的理解は避けては通れないよね、というイメージです。
専門家じゃないからと逃げるのではなく、できるだけ正確な情報を発信したいと思っていますが、なんか間違っていることとか変な部分があれば、指摘をしていただけるとすごく喜びます。
まとめ
とにかくブロックチェーンについて楽しく話せる場にしたいと思っているよ。
初心者の人は一緒に学んでいこう!詳しい人はぜひアドバイスを!
文系も理系もこれまでのバックグラウンドも関係なく、新しい技術にわくわくして、楽しい未来をつくっていこー。