ビットコインを学ぶ

カテゴリ:IT

コメント(0) / この記事のURL

先日受けたストレングスファインダーで、一番の強みが学習欲であることがわかったので、存分に興味のある分野を学んでいこうと思います。



今一番関心があるのはブロックチェーンという仕組みです。
最近話題のビットコインの中核となる技術ですが、
非中央集権な仕組みはこれから様々な分野に波及していくと考えています。

システムの維持コストを、利用している人で分担するという考え方はとても合理的だと思いますし、システム自体がオープンソースで公開されて、様々な人の手によってアップデートされていっている点にも可能性を感じています。

ビットコインの概要


ビットコイン自体は2009年に開始したらしく、調べてみると解説してくれているサイトがたくさんあります。
概要をまとめると以下のような感じです。間違い等があればご指摘いただけると幸いです。

・サトシ・ナカモトと名乗る人物によって投稿された論文を元に、2009年にソフトウェアが公開されて運用開始。

・ソフトウェアはBitcoin Core(旧:Bitcoin-QT)と呼ばれ、GitHubで全ソースが公開されています。
 ソフトウェアのダウンロード:https://bitcoin.org/ja/download
 ソースコード:https://github.com/bitcoin/bitcoin

・誰が誰にいくら送金したという情報が、システム開始から全てわかれば、誰が現在いくら持っているかを確認することができます。
 銀行などの中央集権な仕組みの場合、この取引情報を特定の組織が維持・管理を行っていますが、当然管理するためのコストがかかります。
 ビットコインの場合は、この取引情報を特定の組織が管理するのではなく、利用する人それぞれで保持することで、非中央集権な仕組みを実現しています。

・例えば、Aさんが、ビットコインのソフトウェアに対して、AさんからBさんへ1ビットコイン送金するという処理を依頼したとします。
 ソフトウェアからインターネットに向けて、この取引情報が送信され、利用する人それぞれで持っている取引情報の最後に「AさんからBさんへ1ビットコイン送金した」という情報が追加され、結果として、AさんBさんの所持金を確認することができます。

・取引情報は全員がそれぞれ持つことになるので、すべての取引は公開され、誰でも確認することができます。
 ただ、AさんからBさんへの送金と例を出しましたが、実際にはビットコインのソフトウェア上では個人情報を全く保持しないため、誰が誰に送金したかは確認することができません。
 わかるのは、abcという口座から、defという口座に1ビットコイン移動したという情報のみです。
 abcという口座がAさんの口座であるということは、Aさんにしかわかりません。

・ただ、単純に取引情報をそれぞれで保持しているだけだと、Aさんが、10ビットコイン保存してあるdefという誰かの口座から、自分の口座abcへ10ビットコイン送金するという処理の依頼を出すこともできてしまいます。
 これを防ぐために、電子署名の仕組みが取り入れられています。
 詳しい仕組みは省きますが、電子署名においては、本人しか知りえない秘密鍵と、誰でも確認できるように公開する公開鍵の2つを利用します。
 秘密鍵で変換した取引情報は、公開鍵でしか復元できないという性質(RSA暗号の性質)を利用して、その取引情報がAさんが依頼したものであることを証明し、同時に取引情報の改ざんが行われていないことを証明できます。
 要は、Aさんの秘密鍵がなければ、Aさんの口座から他の口座への送金はできないということです。
 逆に言うと、秘密鍵がばれてしまえば誰でも送金ができてしまうため、この秘密鍵の管理がとても重要であるということがわかります。

・電子署名により、自分以外の口座から送金することはできなくなりましたが、自分の口座からの送金を改ざんするということは可能です。
 秘密鍵はいくつでも作成可能なので、Aさんの口座はいくつでも好きに作成することが可能です。(実際、秘密鍵の再利用は非推奨のため、取引のたびに新しい鍵を使用するような動きのようです)
 ビットコインを利用可能なビックカメラで、Aさんが何かを購入したとします。
 当然、取引情報に、Aさんの口座abcからビックカメラの口座xyzへビットコインを送金したという情報が登録されます。
 商品を受け取った後、取引情報の履歴はすべて自分の手元にあるため、「Aさんの口座abcからビックカメラの口座xyzへ送金」という情報を、「Aさんの口座abcからAさんの口座defへ送金」という情報へ改ざんしたとします。
 すると、Aさんの持っている取引履歴と、ほかの人の持っている取引履歴に差が出てしまいます。
 こういう時、ブロックチェーンでは長さの一番長い取引履歴を採用するというルールがあります。
 そこで、Aさんが自分で改ざんした取引履歴を正しいものとして採用してもらうには、取引履歴を伸ばして、一番長くする必要があります。
 単純に取引履歴を長くするだけなら、自分から自分の口座への送金情報をたくさん追加していけばよさそうですが、それができないように、ビットコインではPoW(プルーフオブワーク)という仕組みを取り入れています。

・PoWとは、取引情報を承認するための仕組みで、ビットコインの場合は一定量のパソコンの処理が承認のための条件となっています。
 簡単に言うと、ビットコインに参加しているたくさんの人のパソコンで頑張って計算して、10分ぐらいかかってやっと解ける計算問題が出されます。
 この計算問題を解く競争に参加することを、「マイニング」と言い、一番最初に問題を解いた人に報酬としてビットコインが与えられます。
 同時に、その10分間で行われた取引情報が、承認されたものとして登録されます。
 つまり、取引履歴を伸ばしていくためには、このマイニングの作業を繰り返していく必要があるわけです。

・この計算問題の式には、承認対象の取引履歴の情報が含まれるため、取引履歴を改ざんすると、当然この計算問題の答えも変わってきます。
 つまり、Aさんが改ざんした取引情報を正しい情報として受け入れてもらうためには、この計算問題を、全世界のマイニングしている人の計算処理スピードよりも速く解いていく必要があるわけです。
 しかも、10分ごとに取引履歴は伸びていくため、時間がたてばたつほど追いつくのは困難になります。
 これを実現しようとすると、単純に考えれば、全世界のマイニング人口の50%以上を味方につける必要があります。
 半分以上の人が、Aさんの改ざんした取引情報を支持してくれるのであれば、改ざんは可能になるということです。
 その条件はかなり難しいということが、ビットコインの信頼性となっています。



・上記で秘密鍵の管理が重要だと書きましたが、この秘密鍵等を管理するソフトウェアを最近はウォレットと呼ぶようです。
 Bitcoin Coreも秘密鍵を管理して、送金等の処理ができるので、ウォレットの一種です。
 試しにBitcoin Coreをダウンロードしてみましたが、なんと今現在で取引履歴の容量が169GBにも達しています。
 起動のたびに取引情報をダウンロードする必要もあるので、なかなか気軽に使える感じではありませんね…。
 上記で取引履歴を利用者それぞれで保持すると書きましたが、最近は全ての取引情報のダウンロードは行わず、直近の情報のみで動作するSPVウォレットというものが主流のようです。
 容量を必要としないため、スマホなどでも動作するウォレットアプリがいろいろと出ているようです。
 ウォレット自体は、秘密鍵が管理できればなんでもありなので、Bitcoin coreのようなPC上で管理するデスクトップウォレット、Web上に秘密鍵を預けるWebウォレット、USBのような専用のハードに保存するハードウォレット、秘密鍵自体を紙に印刷するペーパーウォレットなど様々です。

・Webウォレットはネット上に秘密鍵を置く方式で、取引所などにビットコインを預けているのもこのWebウォレットに該当します。
 金額が多く、セキュリティが高くても狙われやすいため、個人で管理するほうが確実かもしれません。

・マイニングは現在競争が激しく、電気代の安い中国等に集中しているようです。
 初期のころは個人でもマイニング可能だったらしいですが、現在はほぼ不可能なようです。(やってみてはないのでわかりませんが)
 かわりにマイニングプールという、複数人でマイニングし、報酬を分配するという方式が多くなってきているようです。

・ビットコインはPoWを採用していますが、ほかの仮想通貨のイーサリアムではPoSが採用さされていたり、NEMではPoIなど別の方式が採用されています。
 ブロックチェーン自体はソフトウェアですから、用途に合わせて様々なアイディアが採用できるというところも面白いところです。

・時間がたてばたつほど改ざんは難しくなるので、取引履歴を最初から全てもたなくても、ある時点での口座情報を確定させることで、それまでの履歴は保持しなくてもよくなるのではないか…という気がするけれど、問題があるのだろうか。
 今後も取引履歴は容量は増え続けていくと思うので、いろいろと対策は必要になってきそうですね。
 GitHubを見るとすでに16000回以上のコミットが行われているので、当然いろいろな対策が打たれているのだとは思います。
 そのあたりも含め、もう少し理解を進めていきたいですね。


概要としてはこんな感じでしょうか。
掘り下げるとまだわからない部分も多いので、
次回はソースも追いながら勉強していきたいと思います。


■参考サイト
・ビットコインの原論文を読む:http://kogarashi.net/pitchblende/bitcoinwhitepaper
・ビットコインの仕組みを学ぶための教材紹介https://altcoins.blue/bitcoinstudy/


コメント(0) / この記事のURL



叶え組

コメント(0) / この記事のURL

世界は「夢組」と「叶え組」でできている|桜林 直子(サクちゃん)|note

桜林さんの文章を読んで、自分は「叶え組」だなと考えると、いろんなことが腑に落ちる気がしました。

決してやりたいことがないわけじゃないけれども、この文章でいう「衝動としてやりたいことがある」わけではなくて、若い時にずいぶん苦しみました。
学生の時には、時々それをやらなければいられないような人がいて、そういう人を羨ましく思いつつも、自分はそういう風にはできないと感じていました。今考えるとそういう人は「夢組」だったんだろうなぁ。

『自分が「夢組」なのか「叶え組」なのかわかっていれば、無理して自分とはちがう何者かになろうとしなくてすむ。』というのは本当にその通りで、自分の持つ特性と違う方向を目指そうとすると、ハードルが高すぎてうまくできず、自己嫌悪に陥ります。だから、自分の特性を知ることは、自分にとって自然な頑張り方を知る上で重要なことだなと感じます。

この文章の、「なんとなく『やりたいことがある人』が良しとされる風潮があるけれど、やりたいことがないからといって嘆くことはない。」という言葉にはとても救われる部分があるなと思います。
この前受けたストレングスファインダーでもそうだけれども、特徴自体に優劣はなくて、それぞれにいい部分、苦手な部分があって、お互いに補え合えるという部分に通じますね。

自分の経験からいくと、夢組の人が目標に対して一直線に進もうとするのに対して、叶え組の人はいろいろ寄り道もしながら、いろんなものを拾って集めて、ある時その集めたものがコップの水が溢れるように一杯になったとき、自然とやりたいこと・やるべきことが見えてくるような、そんなイメージでいます。

なので、焦らず、自分のできることを積み上げていきたいなと思います。

コメント(0) / この記事のURL



手作り迷路

カテゴリ:子ども

コメント(3) / この記事のURL


パソコンのお絵かきソフトの使い方をちょっと教えてあげたら、
弟のために迷路を作り始めたお姉ちゃん。
子どもは面白ければ覚えるのも早いですね。
将来が楽しみだなー。

コメント(3) / この記事のURL



30冊目 ストレングスファインダー

カテゴリ:目指せ本100冊読破!

コメント(0) / この記事のURL


30冊目 ストレングスファインダー


友人に薦められてストレングスファインダーを受けてみました。
Webサイト上で177個の質問に答えていくことで、自分の強みを知ることができるツールだそうで、全世界的に有名だそうです。

本についているコードを使用することで、全34個の資質のうち、上位5個の資質について知ることができます。
結果は以下の通りでした。


------------------------

1. 学習欲
学習欲という資質を持つ人は、学習意欲が旺盛で、常に向上を望んでいます。特に結果よりも学習すること自体に意義を見出します。

2. 親密性
親密性という資質を持つ人は、他人との緊密な関係を楽しみます。目標達成のために友人と努力することから、大きな満足感を得ます。

3. 最上志向
最上志向という資質を持つ人は、強みを利用して、平均的ではなく最高の水準を、個人ないしは集団において追求します。単なる強みを最高レベルのものに変えようとします。

4. 達成欲
達成欲という資質を持つ人は、並外れたスタミナがあり、旺盛に仕事に取り組みます。自分が多忙で生産的であることに、大きな満足感を得ます。

5. 責任感
責任感という資質を持つ人は、一度やると言ったことは必ず実行する精神の持ち主です。正直さや忠実さなどの普遍的価値観を達成することに、意義を感じています。

------------------------

1番はなんと学習欲。確かに新しいことを学ぶことが好きで、学ぶことが苦ではないけれども、自分にとっては当たり前すぎて、それを自分の強みとして考えたことはなかったです。
強みであることは、ある意味本人にとっては当たり前にできるからこそ強みなので、他の人にとってはそれは当たり前ではないということに気付ける、というのは本書のいいところですね。

また、自分の持っていない強みについても読んでいくと、これだけ考え方の違う人がいるのだということに驚かされます。
誰かを見るとき、ついつい自分の基準にあてはめて考えてしまいがちですが、それでは全く理解できないことが多々あるのがよくわかりますね。

自分の弱い部分を強いられる環境というのは、本人にとっても辛いことですし、成果も上がりにくいので誰にもメリットがありません。
その人の強みと弱みを理解した上で、付き合うことができれば、それはお互いにとって幸せなことだと思います。
こういう傾向がある人がいる、ということがわかるだけでも、人を見る目が少し変わりますね。

もう少し読み込んでみて、自分の行動を見つめなおしたいなと思います。

コメント(0) / この記事のURL



NAS

カテゴリ:IT

コメント(4) / この記事のURL


子どもの写真の管理が大変になってきたので、
ついにNASを買っちゃいました。

Synology社とQNAP社のどちらのNASにしようか迷ったんですが、最終的に値段とスペックからQNAP社のものにしました。
型番はTS-231Pです。
値段は2万円ちょいで、本体にはHDDが付属していないので、1万円程度で1台HDDを購入しました。HDD2台搭載できるので、もう1台はデスクトップPCに入ってるやつを使うことにしました。


HDDはねじで固定して、差し込むだけ。
簡単です。

手順に沿って初期化して設定していけば、特に難しいことをする必要もなくRAID1(2台のHDDに同じデータを書き込んで、片方が故障してもデータが消えないようにする)が組めました。

さらに、myQNAPcloudというWebサービスに登録することで、インターネット経由でのアクセスも簡単にできるようになります。(簡単すぎて逆に怖いくらい)

ひとまず外部からアクセスする必要性があまりないので、内部からのアクセスのみ有効にしました。
最近のNASは高性能で、Webサーバーやデータベースまで立てれたりするみたいです。
時間ができたらそのへんもやってみたいですね。

ひとまず、奥さんと自分のスマホに対応するアプリを入れることで、撮影した写真がNAS上に自動アップロードされるように設定しました。
これができるだけでもずいぶん楽です。
今まで毎回ケーブルで接続していたので…。

一般的にみなさんどうやって写真のデータとか管理してるんですかね。

コメント(4) / この記事のURL