[ビットコインのシリーズのコラム](1)ビットコインの基本–ブロックチェーン、ヘシンとマイニング
ビットコインは今とても重要な岐路に立っています。
最近、ビットコインはハード/ソフトフォークに対する心配が広がり、価格の急騰落を繰り返しています。
本シリーズのコラムはこの話がどこから出たのか、フォーク(Fork)がなぜ必要なのかを扱います。
究極的にこれが第2の'イーサリアム・クラシックの事態'を発生させられるかどうかについて論じます。
0.作成者の紹介
こんにちは 現在私はソウル大学で経営学とコンピューター工学を複数専攻しています。
CoinPressoの英米圏サービスを担当しているとともに、海外トピックをできるだけ早く収集して整理して配布する仕事をしています。
今回は目前に迫ったビットコインのフォーク(Fork)問題に関するコラムを作成します。
市場ですごく熱い論争の種だが、技術的困難に包まれ,あらゆるデマが横行している状況です。
理解できないほど難しく、主観的な情報は一般投資者の方に毒になるかもしれません。
一から着々と複数のコラムにわたって理解しやすく説明していただきたいと思います。
作成者:キムヒョンビン(CoinPresso[英米圏業務担当VP]/hbk960709@naver.com)
翻訳者:アンジェジン(CoinPresso[日本業務担当VP]/azz0807@naver.com]
1.基礎が重要
よく投資をする時には'信念がいなければならない'と言います。
ここで信念とは自分自身に対する信頼ではなく、客観的な投資対象の価値に対する信念を意味します。
"買収点で、10%下落すれば、罵倒後観望する。"のように他人が任意的に定めた基準ではなく、本人の信念を基盤とした本人だけの規則があってからこそ、損害が最小化され、利益が極大化されます。
それなら、信念は、どのように持つことができるでしょうか。
心構えを変えればいいのでしょうか?
違います。信念は情報から発生します。
UASFが何かかも知らない状況で、ビットコインがフォークをするという話を聞くようになると心が葦のように揺れます。
何か否定的に感じ、実際にイーサリアムがフォークを経験しながら、大きな打撃を負ったりしたからです。
情報が足りなくて、葦のように揺らぐ投資者はピークで買収して底で罵倒するはずです。
そのため結論から申し上げることもできますが、理論から整理しながら一から始めます。
皆さんが自ら情報を読んで、分析して、判断する機会をあげる前に私の主観的な考えを申し上げることは私たちの経営哲学ともずれているからです。
2.凡そは分かるが...
私は私の代表の紹介で仮想通貨市場に足を踏み入れるようになりました。
周りの人たちにビットコインのような仮想通貨に投資すると言ったら、心配の視線とともにビットコインが何であり、それがどのように貨幣として作用するかを聞いたりします。
おそらくこのような質問をお聞きになった大多数の投資者の方々の答えは似ています。
凡そは分かるが、詳しくは分からない。
ブロックチェーンという新しいシステムが登場し、これが一種の記録装置として作用して我々の取り引き内容を保存するため、脱中央文化的な性格によって操作が、(ほぼ)不可能だ。
しかし、本当にこれぐらいで十分ですか?
マイニングが何か、ヘシンが何か、ビットコインに一種のバグがあるらしいがそれではビットコインの価値が損なわれるのではないか、ハードフォークをすればビットコインのクラシックが生じるのか、疑問が生じていませんでしたか?
多くの入門者の方々はこのような恐怖を持っていますが、正確に理解できる文を見出しすることが難いのが現実です。
3.実体もないお前、なぜ価値があるの?
まず我々は、ビットコインがどうして貨幣性を持つようになるのか詳しく調べなければなりません。
実物貨幣の場合、共通的に持たざるを得ない性質が大きく6つあります。
耐久性、携帯性、可分性、均一性、有限性、そして汎用性です。
このうち耐久性、携帯性、そして可分性は仮想通貨の特性上、自然に保障されるようになります。
デジタルコードは長く持っているとしても、擦れて消えないです。 (耐久性)
また、ネットワークにつなげるところなら、いつも持ち歩くことができます。 (携帯性)
仮想的な数字(ビットコインはサトシというとても小さな単位に分けられます)であるに分けるのに大きな問題がないためです。 (可分性)
反面、均一性、有限性、そして汎用性は、開発者、正確には彼が開発したアルゴリズムが保障してくれなければならない特性です。
私の1コインと他人の1コインが同じ値を持つためには同じコインを数回使う事態を防止すれば保障されます。 (均一性)
全体の貨幣の数は有限、あるいは無限だとしても有限と類似した属性を持つべきだという命題は採掘によって発行されるコインの量を制限してからこそ成立します。 (有限性)
また、仮想通貨市場開発者と大型投資者は広範囲な流通のために努力しなければなりません。 (汎用性)
ビットコインのブロックチェーン、ヘシン、マイニングなどの複雑な制度的な手続きはすべてこれを保障するため、存在する、一種の論理的規約であり、装置です。
このような前提が成り立つことによって、実体もないビットコインが一個あたり30万円に迫る価値を持つことができるようになりました。
4.ブロックチェーン、ブロックとチェーン
ビットコインを含む様々な仮想貨幣の技術的中核であるブロックチェーンから見てみましょう。
A.ブロック
ブロックチェーンは一種の'取引明細書'と呼ばれています。
名前から分かるように連続的なブロックの鎖で行われており、各ブロックには最近10分間ネットワークで発生した全ての取引の記録が保存されています。
絵で簡単に説明すれば、このような形です。
ブロックチェーンは公共性と不変性という特性を持っています。
過去のコラム(https://steemit.com/blockchain/@coinpressojp/4gp4ha)を読んだ方はご存知でしょうが、仮想通貨の最も大きな特徴であり、理念は仮想性ではなく、脱中央性です。
すべてが貨幣の維持に貢献するシステムであり、ブロックチェーンは誰でも閲覧できる公共性を持たなければならないのです。
また、ブロックチェーンは変造されてはいけません。
取引が発生した以降に取引内訳が変われば、貨幣の均一性が保障されることができないのです。
俗に言う'double spending'、つまりコインの消耗の明細を削除し、同じコインを何度も消費する状況が発生することができるからです。
B.チェーン
ここでブロックを連結する'鎖'の概念が入ってきます。
ユーザーがブロックの中間にあるブロックを変えることができないようにするため、ビットコインの開発者たちは、各ブロックを作る時の直前ブロックの情報を含むようにしておきました。
中間のブロックが変わってしまうと、後から付いてくる全てのブロックは間違っていることに判別されるため、問題が発生したことをわかることができ、公開された情報を利用して問題が生じた位置も、すぐ見つけられるわけです。
まとめると、ブロックに取引の内訳を保存し、このブロックをチェーンで連結して有効な取引の内訳かを検証し、これを引き継いでいきます。
5.ヘシン、簡潔に整理
"直前のブロックの情報を含む"という言葉をもう一回考えてみます。
直前ブロックの情報をもしそのまま持ってくるようになれば、ブロックは引き続き2倍に大きくなり、おそらく、ビットコインが生まれることはできなかったはずです。
ブロックが増えれば増えるほど、容量が大きくなり、特に最近のように取引が活発な時点には幾何級数的にブロックチェーンが長くなるのだからです。
この大きさの問題を解決するために"ヘシンアルゴリズム"という概念が導入されます。
ヘシンアルゴリズムは様々な種類の情報を一つの出力で縛って(短くする)関数の通称です。
この関数に入力される値は文字になるかも、数字になることも、10個になるかも、100個であることもできるが、出力される値は普通の適当な長さの文字列です。
A.ヘシンの原理
取引内訳を例示に入って説明してみます。
2017.6.28.13:50/HBKの財布(アドレス)から/1 BTC/AJJの財布(アドレス)へ
ハッシュ値:1kn23934b1o239j9dwn91b9b8b3
ヘシンアルゴリズムは上記のように様々な種類の長いデータを合わせ、一つの無意味のように見える文字列で転換してくれます。
さあ、他の例を見てもましょう。
2017.6.28.13:52/HBKの財布(アドレス)から/2 BTC/AJJの財布(アドレス)へ
ハッシュ値:as89d7a89sd7as90dh12jknmnijb2
ハッシュは、元の情報が少しだけでも変わったら全く違う結果値を出力するという性質を持っています。
このアルゴリズムは、結果ハッシュから元情報を類推するのがすごく難しいです。
(つまり、逆関数を探して操作などの行為をするのがほとんど不可能です)
そのためにハッシュ値を予測したり、操作して望むブロックを生成してブロックチェーンをだますことは不可能だと考えても良いです。
厳密に言えば、操作が理論的に不可能なことではないが、得る利益よりも操作をするためにかかるコストがはるかに大きな構造です。
B.ブロックチェーンをヘシンする
またブロックのチェーンを思い出せしてみましょう。
'直前ブロックの情報'とは直前ブロックのハッシュ値を話します。
この値、そして10分間要請された数多くの取引の情報が集まって集まり、次のブロックのハッシュを計算していくのです。
(この計算はとても複雑なコンピュータ演算が必要となります)
このように一回のサイクルが終了されます。
その次、次のブロックの、または特定の取引の妥当性をチェックする過程です。
新たな情報を集め、関数に入れてヘシンをし、この結果値と以前の値を比較して見ればチェーンの操作の有無、つまり有効性を検証することができます。
つまり、ブロックチェーンはヘシンという複雑な関数を利用して圧縮されたデータを(膨大な演算パワーを利用して)比較し、新しい取引の有効性を判断することによって維持されます。
6.マイニング
最近仮想通貨ブームが起き、採掘目的の中古のグラフィックカードの価格が暴騰しています。
あるネットカフェは、廃業をして採掘場に変身したりもするようです。
このように多くのコンピューターを集めてしている採掘という行為は、このヘシンを言っているのです。
A.マイニングが行われる過程
採掘者たちはブロックを生成する作業を通じて、ビットコインの取引を可能とすることと共に、新たなビットコインの発行を引き受けます。
Aの財布から財布Bでn個のビットコインを伝送する場合を考えてみましょう。
現在ブロックチェーンの最も先にはZというハッシュ値を持ったブロックがついています。
最近、10分間この取り引き以外の取引はなかったと仮定する際、採掘者たちはA、B、n、Zという4つの変数を利用してハッシュ値を計算します。
その中で一番早く計算した人は取引手数料を受領すると同時に定められた数の新たに発行されたビットコインを得ます。
ここで問題はヘシンアルゴリズムが(よく作ったために)とても速いということにあります。
さらに、現代のコンピューターはだんだん速くなっています。
したがって、その過程をそのまま従うなら、ビットコインは瞬く間に膨大な個数が発行されるはずであり、有限性が守られず、貨幣の値打ちは墜落するようになるのです。
また、ヘシンが速すぎるのなら、ブロックを操作することも容易になります。
巨大なコンピューターを利用して全ての値を再び計算して代替した後、ブロックチェーンにつけばできるからです。
そのために、ブロックチェーンはヘシンアルゴリズムの遂行時間をとても長くする必要があります。
そのため、ビットコイン(そして多くの仮想通貨)にはPoW(Proof of Work)というアルゴリズムが導入されています。
(よくイーサリアムがPoWでPoSへと転換されるという話でこの用語を接してみたと思いますが…、PoSについては次の機会に扱って見るようにして、今回はPoWだけ説明します)
B.Work難しくする
PoWという単語の恐ろしい顔つきに怖がるかもしれませんが、理解することは思ったより簡単です。
ビットコインは単に取引価格を検証すること以外にも速度の調節のために余計な演算をさせます。
例として挙げた取引をヘシンをするとき、採掘者にA、B、n、Zに加えてXという無意味なデータを入れるようにします。
(つまり、変数4つでは条件を満たすことができないようになって新しい変数を追加するよう誘導します。)
そしてブロックチェーンは次のブロックのハッシュに制限条件を付与します。
"次のブロックが承認されるため、そのブロックのハッシュは初の3桁が0でなければならない。"などの条件を付与できるでしょう。
それでは採掘者たちは条件を満たすことができるXを求めるためにその値を絶えず変えていきながら、ヘシンを試みます。
上で述べたようにX値が少しだけ変わっただけでも、ハッシュは完全に異なる値に変わり、この条件の難易度はとても高いためにどんな採掘者が先にXを探すことに成功するかどうか全く予測できません。
このような無作為性が採掘者間の公平性を保障できるのです。
この制限条件はブロックに当てはまるハッシュ値を探すのに10分程度の時間がかかるように絶えず難易度が調節されます。
例えば三桁が0である制限条件が4桁になるようにXを探す過程を複雑にします。
なので全てのブロックのハッシュを条件に合わせて計算し直してブロックチェーンを塗り替えて操作することを防止することができるようになります。
同時に成功的なハッシュ値計算で新たに発行され、採掘者に提供されるビットコインの数は地道に減少するように設計されており、総発行されるビットコインの数は2100万個(個人的にはこの希少性を長期投資魅力ポイントに見えています。)を超えられません。
7.完璧なシステム。
簡単に調べたブロックチェーンのシステムは思ったより直観的で、大略でも演算が行われる過程も合理的です。
しかし、思いもしなかった問題が発生します。
ブロックチェーンの技術的な面についてまだ扱われなかった話も多いです。
お互いに異なる結果を持ったブロックがブロックチェーンに同時につながったらどうなるのか、ブロックの承認如何にチェーンのメンバーが同意しなければどうなるのかなどの質問が多く残っているが、一応ビットコインを可能にした最も基本的な技術を扱うという考えに開始した文章なので、ここで一タイム休むのがいいと思います。
最も重要なのはビットコイン、そしてブロックチェーンは脱中央化されているためにそこに属した'参加者たちの選択'につながっていくという点です。
カードの決済のように決済をすれば、ある大手企業の中央サーバーでこれを確認してお金を移す方式ではなく、構成員たちの合意と同意でこの過程が行われるという点です。
ビットコインは、カード会社のように閉じられているドアと高いファイアウォール後でサーバーを運営することではありません。
また、これの責任を負う主体もありません。
アルゴリズムをベースとした使用者間の信頼が崩れたら皆が大きな被害を受けるということが最大の弱点です。
そのため、それほどセキュリティがしっかり守られなければなりません。
みんなが見れるものであり、誰も触れるのができないシステムを作らなければならないのがビットコイン、そして全てのブロックチェーンの基盤、仮想通貨の義務です。
もし、1つの情報についてハッシュ値がいくつかが可能にブロックチェーンの操作が可能であれば?
ブロックに悪質な情報を盛り込み、サービスを麻痺させることができるとしたら?
またはすべてのネットワークサービスの永遠の悩みである注文殺到が発生した際、システム(イーサリアムで深刻な伝送問題が最近発生しました。そして最近、ビットコインの伝送速度がとても遅くなっています。)が解決しなければ、ビットコインはその価値を失ってしまうかもしれません。
すべての装置歯車のようにかみ合って動いているように見えていました。
しばらくはですね。
しかし、いつものように、現実はそれほど甘くなくて私たちを裏切ろうとします。
次回([最初の弱点、取引の変動性])に続きま
Congratulations @coinpressojp! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard!
Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes
Congratulations @coinpressojp! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!