ビットコインの基礎を学ぶ① 23.6.27

bitcoin1未分類

どうも!金時です。

今日は基本に帰って改めてビットコインを学びなおそうと思います。その前にいよいよ今週はIVS CRYPTOですね。界隈の有名人たちが京都に集結!楽しそうです。私は東京でお留守番。

こんなにクリプト民がコミュニケーション能力が高くていいのか私には疑問です。陰キャであれ!

ビットコインの基礎を学ぼう①

ともあれ今日は3Blue1BrownJapanさんがYOUTUBEにあげた『結局ビットコインってどういう仕組みなの?』で改めて勉強しようと思います。

基本的な知識としてビットコインは「デジタルな貨幣」「通貨を発行する政府がいない」「誰が発行したかわからない」などは知られていると思います。でも、実際どんな仕組みか知っている人はあまりいませんよね。

ビットコインは暗号通貨の最初の実装例で今となってはたくさんの暗号通貨が存在します。原初の暗号通貨で他のものはアルトコインといったりします。イーサリアムとかリップル、Avalancheとか日本でも結構有名ですよね。

では、ビットコインのファーストステップを学びましょう!

□友人が4名いるとして頻繁にお金のやりとりをする場合、毎回現金をやり取りするの面倒ですよね?そこで共同の台帳を作って管理するとしましょう。

その台帳はウェブサイトなどでみんなで閲覧できるようにします。そして、やり取りが発生すればどんどん追加して書き込めるとします。そして、月末などに集計して清算を行います。

ここでのProtocol(異なるシステムやデバイス間で通信やデータの交換を行う際に使用される規約や手順のことを指します)はこのようになります。

protocol(約束事)
・Anyone can add  lines to the Ledger.(誰でも新たなやりとりを加えられる)
※Ledger=経済的な取引やイベントの履歴を記録するための帳簿やレジスタ
・Settle up with real money each month.(月末にみんなで集まって現金で清算する)

このような約束事にします。では、どんな問題点があるでしょう?容易に推察できますね、誰かが自分に都合のいいようにウソの金額を書くことです。では、どうしたらそのやりとりの正当性を証明できるでしょう?

ここで暗号技術が登場します。ここでは電子署名(digital signatures)を使います。よく書類に本人サインをしますよね、それをデジタル上で行います。少し想像するとそんなことできるの?と思いますよね。デジタル上だとコピーできるのでは?と。

偽造を防止するために、それぞれの人が秘密鍵と公開鍵のペアを作ります。

key

key

現実のサインではどれも同じように見えますが、デジタル署名はメッセージが少し入れ替わるとまったく別の数値に置き換わります。もう少し細かくいうとメッセージそのものと秘密鍵に依存するある関数と秘密鍵によって電子署名が作られます。秘密鍵によってあなたがそのサインを可能だということが証明されて、メッセージと関数を絡めることで簡単にコピペできないようにしています。

それと一緒に、署名の有効性を証明するある関数があってそこで公開鍵が使われます。この関数はtrue/falseを判定して公開鍵に対応する秘密鍵によって署名が作られたものであるかを出力します。



つまり要点としては秘密鍵がないと有効な署名を偽装することは不可能だということを表します。具体的にはランダムな署名を作ってそれが有効かどうか公開鍵を使ってチェックするほかに良い戦略がないということです。その確率は2の256乗通りの署名があることを意味しており、正解はその中のたったひとつです。これは天文学といっても足りないぐらいの確率になります。

与えられたメッセージと公開鍵についてそれが有効なら、極めてそれを作った人は対応する秘密鍵を持っているということがわかります。

つぎにメッセージと署名の組み合わせは同じなのでその帳簿は複製できてしまいます。複製防止にはどのようなことをすれば良いでしょう?A.メッセージごとに固有のIDを持たせる。

ここまででだいぶトラストレス、デジタル上で信頼性を持たせることが可能になりました。ここでのトラストレスというのは信頼するコストをかけなくていいということです。つまりプロトコルをそのまま信頼してOKということを表します。

今日はここまでにして次回はまたこの動画の続きを学んでいきたいと思います。では、また。

コメント

タイトルとURLをコピーしました