Introduction to Bitcoin
ビットコイン、ブロックチェーンを理解するのに随分時間がかかりました。周りの人もよくわからなさそうでした。たくさんの人にビットコイン、ブロックチェーンについて聞いても、いろんな答えが返ってきました。
なので、様々な本を読んだり、たくさんの人と話したり、ビットコインのソースコードを勉強した結果、知りたいことを全部理解できました。
例えば:
・ビットコインとは何か?
・仮想通貨は、なんで価値がある?
・ビットコインをどう「マイニング」する?
・ブロックチェーンは何?ビットコインとはどう違う?
・1つのビットコインをどう分裂させる?
でした。
今後はブロックチェーンテクノロジーとそれでできたビットコインに書いていきます。
上記に書いた疑問に対する答えを詳しく説明しようと思っています。
エンジニアとして、新しいものをどう動くか、詳しく知りたいです。これからこういう記事を書いていきます:
Part 1 - ビットコインの紹介 (2018/1/25)
Part 2 - ビットコインはどう動くのか
Part 3 - キー、アドレス、ウォレット(財布)
Part 4 - トランザクション
Part 5 - ビットコインネットワーク
Part 6 - ブロックチェーン
Part 7 - マイニング
Part 8 - まとめ、おすすめの参考
ビットコインについて最も良い本は、「Mastering Bitcoin」です。
参考:https://bitcoinbook.info/ 日本語版もあります。
この本はプログラマー向けの本で、読むのが難しいかもしれないので、上記のシリーズで簡単にまとめていきます。
1. ビットコインとは何か?
これらの3つが一緒になると、デジタルマネーエコシステムを形成します。
ビットコインネットワークの参加者(ノードとも言える)間の通信はインターネットを通じて行われますが、
通信は別のプロトコールも可能です。
ビットコインは通貨と同じようにbitFlyer, Coinbaseなどの取引所で購入できます。
日本円やドル等の本物の通貨と違って、ビットコインは全くの仮想通貨です。ビットコインはユーザーのトランザクションだけで存在します。暗号理論のアルゴリズムとプロトコールに基づいて開発されました。
ビットコインに通じてユーザーは送受信したら、トランザクションを証明することもできます。
ビットコインの一番いい点の一つは、分散システムであることです。
政治、銀行を通じて配られた通貨と違ってビットコインは世界のどこにでもある数千のノードに保存されます。bitcoinのフルクライアントまたは"フルノード"と呼ばれるタイプのクライアントはマイニングもできます。
bitcoinは「マイニング」というプロセスで作成します。詳しくいうと、マイニングというのは、ネットワーク上で設定される難易度に合わせて数学的な解を見つけ出すプロセスです。
平均して10分に一回の頻度で関数的な解を見つけます。見つけたマイナーはその間のトランザクションを検証して、発見者にご褒美として新たなbitcoinを与えられます。
このプロセスで、10分に一回の頻度で新たなbitcoinが生み出します。bitcoinが新たに発行される頻度は4年毎に半減されます。現実世界で、政治は通貨を新たに発行するので、インフレーションがあります。bitcoinはあらかじめ予算が組まれている通貨発行より発行ができないため、インフレーション状態になることはありません。
今後の記事でもっとbitcoinの詳細のことを説明します。わからないこと、はっきりしていないことがあれば、または間違っている問題があれば知らせてください。
今後の記事で使う単語帳
アドレス
アドレスとパブリックキーは同じ意味です。1から始まる数字と文字の連なりです。例:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV
bitcoin
bitcoinは3つのことに使います。bitcoin仮想通貨、bitcoinクライアントをインストールしたノードに通じて繋がったbitcoinネットワーク、とそのソフトウェアです。
ブロック
グループに求められたトランザクションのこと。タイムスタンプと一つ前のブロックの参考が刻印されています。ブロックヘッダーのハッシュが求められることでproof of workが作られて、それによってそのブロックのトランザクションが検証されます。
承認
トランザクションがブロックに含まれると、「承認」が2だと言えます。同じブロックチェーンでそのブロックにもう一つのブロックが繋がると、トランザクションの承認数が2つになります。6認証数以上になると、トランザクションが覆されない十分な証拠だとみなされます。
手数料
トランザクションの送り手はネットワークにそのトランザクションの処理をするためにしばしば追加します。ほどんとのトランザクションは手数料は0.5m BTC (20 satoshis)という最少の手数料で処理されます。
ハッシュ
数学的なテジラルフィンガープリントです。
マイナー
ビットコインネットワークのソフトウェアがある人。「ノード」とも言えます。そのソフトウェアでハッシュ値の算出を繰り返すことで有効なproof
of workを見つけ出してbitcoinを新たに生み出せます。
Proof of work
見つけるために相当量の計算を要するデータ。マイナーは、ネットワーク全体に設定されたdifficultlyターゲットを満たすSHA256に対して、解を見つけなければなりません。
Satoshi
bitcoinの最小単位。1 satoshi = 1/100 000 00 BTC.
秘密鍵
アドレスに紐づけられた番号。送られたbitcoinを解錠するために必要となります。なくなったら、その送られたbitcoinを返すことができません。
ウォレット
アドレスと秘密鍵を格納するソフトウェア。bitcoinを送ったり保有することに用います。