<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>最近思ったことのメモ</title>
<link>https://ameblo.jp/mtetsuyah/</link>
<atom:link href="https://rssblog.ameba.jp/mtetsuyah/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>いろいろ</description>
<language>ja</language>
<item>
<title>ビットコインは、Genesis Block（ジェネシスブロック）から始まった</title>
<description>
<![CDATA[ <span style="font-size: 18px;">　<span style="color: rgb(255, 0, 0);">前回の記事にて、Bitcoinの動作の仕組みについて説明しました。<br>　まず、始めに、送金要求を取引履歴に追加する際に解かなければならない問題のことをBlockと呼ぶことを始めに明記しておきます。今回の記事では、「最初のBitcoinはいつ発生したのか？」「最初のBitcoinの送金はいつ発生したか？」を説明します。</span><br><span style="color: rgb(255, 0, 0);">&nbsp;また、今回いろいろと調べた結果、前回の記事の一部が間違いであることが分かりました。採掘者のPCに報酬が支払われるためには、採掘者はBlockを解かなければならないわけですが、このBlockが発生する条件は、「送金要求が発生すること」と説明していましたが、どうやら送金要求が存在していなくても、Blockは常に発生しているようです。つまり、送金要求が存在しない場合には、発掘者は無意味な問題を解かされることになるわけですが、その問題が解決できれば、報酬としてBitcoinが支払われるようです。</span><br><br><br><br>　まず、「最初のBitcoinはいつ発生したのか？」について説明します。<br>　Bitcoinのネットワークがスタート初期状態で、まず最初に行われることは採掘です。おそらくSatoshiが最初の採掘者であり、Block0（<span style="color: rgb(255, 0, 0);">つまり、最初のBlockであり、Genesis Blockと呼ばれます</span>）を、2009年1月3日に解決しました。詳しくは、<a title="" target="_blank" href="http://blockexplorer.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f">ここ</a>を見てください。注目すべきは、Genesis Blockを解決したことによる報酬をSatoshiは受け取らなかったことです（受け取らないようにソースコードを書いていたようです）。<br>　次に解かれるのは、Block1です。Block1を解決することで、50BTCが採掘者に支払われました。この採掘者もSatoshiでしょう。この瞬間に初めてのBitcoinが世の中に誕生しました。<a title="" target="_blank" href="http://blockexplorer.com/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048">Block1の詳細は、こちらになります</a>。<br><br>　次に、「最初のBitcoinの送金はいつ発生したか？」について説明します。<br>　上述のように、最初の数日間は、Satoshiによって採掘が続けられたものと思われます。実際の送金が初めて発生するのは、<a title="" target="_blank" href="http://blockexplorer.com/block/00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee">Block170</a>です。この送金要求により、SatoshiからHal Finneyさんに10BTCが送金されました。送金先のWalletは<a title="" target="_blank" href="http://blockexplorer.com/address/1Q2TWHE3GMdB6BZKafqwxXtWAWgFt5Jvm3">こちら</a>です。まったく手を付けていないようですね。<br><br>　時系列に見ていきましょう。<br>・2009年1月3日：　Genesis Blockが解決される。<br>・2009年1月9日：　Bitcoin v0.1が公開される。<br>・2009年1月12日：　初めてのBitcoin送金（Block170）。SatoshiからHal Finneyに10BTCが送金される。<br><br>　Block169までは、おそらくSatoshiがほとんど採掘していたと思われますから、8000BTC以上を採掘したと思われます。現在のレートでは、１BTCで数万円なので、数日で数億円を稼いだことになりますね。<br>　その後も、Satoshiによる採掘は続いているでしょうから、相当数のBitcoinを持っているんでしょう。<br>　うらやましいですね～。<br></span>
]]>
</description>
<link>https://ameblo.jp/mtetsuyah/entry-11739671172.html</link>
<pubDate>Mon, 30 Dec 2013 21:20:11 +0900</pubDate>
</item>
<item>
<title>ビットコインの仕組み</title>
<description>
<![CDATA[ <span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;">冬休みで暇になってきたので、ビットコインの仕組みについて調べてみました。<br><br><span style="color: rgb(17, 17, 17);">ビットコインの特性や概要はいくらでも説明があるので省略します。なお、参考にしたリンクは以下の通りです。<br><a title="" target="_blank" href="http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html">http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html<br></a><a title="" target="_blank" href="http://www.bitcoin.co.jp/docs/SatoshiWhitepaper.pdf">http://www.bitcoin.co.jp/docs/SatoshiWhitepaper.pdf</a><br><br>結局のところ、上記のサイトの概要となってしまうわけですが、Bitcoinは以下のようなものです。<br><br>１．ある口座からお金が支払われることの証明には、既存の電子署名を使う。<br>　⇒他人の口座や、存在しない口座から送金することはできません。なぜなら、受け取る側が電子署名を検証するからです。<br><br>２．”１”のような取引履歴を全て連結して保存すれば、あなたの口座に入金されるお金の正当性は保証されます。</span></span></span><span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;"><span style="color: rgb(17, 17, 17);"><br><br>３．取引履歴は全てのBitcoinクライアントにそれぞれ保存されます。新しいBitcoinクライアントを作成した際には、後述のように、P2Pネットワークにブロードキャストされる取引履歴を保存します。その際に、全ての取引履歴を検証します（P2Pネットワークに流れている情報は信用ならないので、取引履歴に載っている全ての取引の署名検証を行う）。この検証には24時間程度かかるようです。<br><br>４．”３”までは、何も新しくありません。既存の仕組みで実現出来ます。<span style="color: rgb(255, 0, 0);">Bitcoinが新しいのは、世界中で非同期に発生する送金要求に対して、世界中のBitcoinクライアント間で唯一の送金順番を合意する仕組みを提供していることです。</span><br><br>　以下のように考えると、Bitcoinを比較的容易に理解できるのではないでしょうか？<br>　<span style="color: rgb(255, 0, 0);">送金者の口座が間違いなく存在することを確認する手段はもともと存在していました。送金履歴を全て並べて保存することで、お金の由来（偽札ではないこと）を保証することもできます。ただし、これだけでは貨幣として流通させることはできません。なぜなら、世界中のクライアント間で唯一の送金順番を合意する仕組みが存在しなかったためです。そのことを指摘し、送金要求を一列に並べる手段を提示したのが、Nakamoto Satoshiという人物（もしくはグループ）の論文です。<br></span></span></span></span><span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;"><span style="color: rgb(17, 17, 17);"><span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;"><span style="color: rgb(17, 17, 17);"><br>　「間違いなく存在する口座から、偽札ではないことが保証された貨幣を、世界中で一意に決定される送金順で送ってもらえる」のであれば、貨幣として何の問題ないように感じますよね。<br></span></span></span><br><br>　以下に、Bitcoinクライアント間で送金順番を合意する仕組みについて記述します。<br><br>　世界中の送金要求は、P2Pネットワークにブロードキャストされます。ここで、すべてのクライアントは、同じ取引履歴を持っていると仮定してください。採掘者と呼ばれる人たちが提供するPCは、複数の送金要求から一つを選び（実際には、複数の送金要求をまとめたグループの中から一つのグループを選ぶ）、取引履歴に追加を試みます（つまり、各PCごとに異なる送金要求を追加しようとする可能性がある）。<br>　取引履歴に追加するためには、かなり多くの計算量を必要とする問題を解く必要があり、採掘者のPCは、その問題の解く早さを競います。早く解けたPCの選んだ送金要求が新たに取引履歴に追加され、その取引履歴がP2Pネットワークにブロードキャストされます。<br>　Bitcoinの場合、この問題の難易度は、世界中の採掘者のPCを使って計算しても10分に1回解ける程度に調整されているようです。なお、解答を見つけた採掘者には報酬としてBitcoinが支払われます（採掘と呼ばれる作業は、まさにこのこと。全ビットコインを掘り尽くした後には、送金にかかる手数料（もちろん送金者の負担）が採掘者に払われるようになります（現在は送金手数料はない））。<br>　<span style="color: rgb(255, 0, 0);">なお、送金要求が存在しない場合でも、採掘者は採掘を行い報酬を得ることが出来ます。その場合、「送金元と送金先の存在しない履歴」が、取引履歴に追加されることになります（2013年12月30日追記）。</span><br>　複数の採掘者のPCが同時に解答を見つけた場合、複数の異なる取引履歴がP2Pネットワークにブロードキャストされてしまいます。その場合、各Bitcoinノードは、最初に受け取った取引履歴を（とりあえず）使いますが、それ以外の取引履歴も保存しておきます。<br>　</span></span></span><span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;"><span style="color: rgb(17, 17, 17);"><span style="color: rgb(255, 0, 0);"><span style="font-size: 18px;"><span style="color: rgb(17, 17, 17);">Bitcoinノードごとに</span></span></span>ネットワークの状況は異なるため、複数の取引履歴がブロードキャストされた場合に、どの取引履歴を一番始めに受け取るかは分かりません。このような全クライアント間で通用する唯一の取引履歴が決定できない状況の場合はどのように処理するのでしょうか。最終的に、どの取引履歴が”本物”になるかは、次の送金要求がどの取引履歴に追加されるかで決まります。つまり、次の送金要求を追加することに成功した採掘者のPCが本物と判断していた取引履歴が、全クライアント間で唯一の取引履歴と判断されます。これは、その取引履歴が他の取引履歴より長い履歴を持つようになるためです（<span style="color: rgb(255, 0, 0);">Bitcoinクライアントは、一番長い取引履歴を本物と判断します。</span>同じ長さの取引履歴が存在すれば、引き続き唯一の取引履歴は決まらない状況になる）。<span style="color: rgb(255, 0, 0);"><br>　偶然同時に問題が解けることは、滅多にありません（通常、1つの問題を解くのに、全採掘者のPCを使っても10分かかるため）。そのため、複数の取引履歴がP2Pネットワークに残り続ける可能性（＝偶然同時に問題を解くようなケースが起こり続ける可能性）は無視して良いほどに小さくなり、全Bitcoinクライアント間で唯一の取引履歴を同意することが可能となります。</span><br>　ところで、悪意のある攻撃者が、偽の取引履歴をP2Pネットワークに流した場合はどうなるのでしょうか？<br>　悪意のある攻撃者が十分な計算資源を持っていれば、本物の取引履歴より長い偽の取引履歴を計算して作り出すことが出来るかもしれません。現実的には、本物の取引履歴の末端に近い履歴が異なる偽の取引履歴がブロードキャストされる可能性があります。<br>　たとえば、AがBにお金を送金した後に、Bはブロードキャストされた取引履歴からAの送金を確認し、Aに対して商品を送ったとします。商品を送った後に、Bが確認した取引履歴より長く、また送金内容の異なる取引履歴がAよりブロードキャストされたらどうなるでしょうか。後からブロードキャストされた取引履歴が本物の取引履歴として、全Bitcoinクライアントにて使われるようになってしまうため、Bはお金を受け取れません（長い履歴の方が本物として扱われるため）。<br>　なお、過去に、一つの採掘者グループが、6回連続で送金要求を追加することに成功したことがあるため、少なくとも６回以上の新たな送金が履歴に追加されるまでは、その取引は成立したと考えない方が安全と言われています。時間にすると、1時間以上は完全に取引が成立したと思わない方が安全と言うことになります。<br>　上記のように、取引履歴の末端に使い送金は信用ならないということになるわけですが、現実的に善良な採掘者の計算機資源に比べ、攻撃者の計算機資源が上回るような事態にならなければ、大規模な取引履歴の改竄は不可能です。<br>　また、取引履歴の改竄を防ぐためには、送金履歴を追加する際に解かなければならない問題の難易度を上げることより、取引履歴の長さに頼る方が良いという<a title="" target="_blank" href="https://www.google.co.jp/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;ved=0CCkQFjAA&amp;url=https%3A%2F%2Fbitcoil.co.il%2FDoublespend.pdf&amp;ei=_9q-UvOOD8jLlAWy1oDADQ&amp;usg=AFQjCNEN_HGQi9xVcmBVx_tcrmYB0b0y-A&amp;bvm=bv.58187178,d.dGI">論文</a>があるようです。<span style="color: rgb(255, 0, 0);">LTCなどでは、Bitcoinに比べて送金の成立にかかる時間が大幅に短いわけですが、その代わりに、攻撃者はより長い取引履歴を改竄しなければならず、その方が難しいということなのでしょう（？）</span><br><br>以上、簡単にですが、Bitcoinの仕組みを説明しました。<br>英語になってしまいますが、最初に記述したリンクに書かれた動画を見ると、より直感的に理解できると思います。<br><br><br>時間があれば、冬休み中にBitcoinのソースコードを読んでみたいと思います。<br>MITライセンスで公開されているようなので、オレオレ通貨を作るのも簡単そうですね。<br>送金要求の追加にかかる処理の手間を変更すれば、LTCのようなBitcoinと特質の異なる仮想通貨を作ることもできるでしょう。<br><br>そもそも、どのようなグループがお金に直接かかわるコードをオープンソースで管理しているのかも気になるような・・・。<br></span></span></span>
]]>
</description>
<link>https://ameblo.jp/mtetsuyah/entry-11738246487.html</link>
<pubDate>Sat, 28 Dec 2013 20:59:00 +0900</pubDate>
</item>
<item>
<title>最終兵器彼女</title>
<description>
<![CDATA[ 最終兵器彼女（マンガ版）の考察です。<br>なお、ネタバレを含みますので、知りたくない人は読まないようにしてください。<br><br><br><br>全体のストーリーはすごく単純です。<br>人類を滅ぼす最終兵器にされてしまった女の子（ちせ）と、その彼氏（シュウジ）の物語です。<br>時系列に書けば以下のようになるでしょうか。<br><br>１．平和な高校生の日常の描写<br>２．ちせとシュウジがが付き合いだす<br>３．どこかで戦争が始まるという伏線<br>４．徐々に戦争の影が濃くなり、ちせが最終兵器に改造されてしまったことをシュウジが知る<br>５．地球規模の災害が起こりつつあることを示す伏線<br>６．戦争の悲惨さの描写<br>７．ちせとシュウジの苦悩の描写<br>８．ちせは、シュウジ以外の人類を滅ぼし、人類を苦しみから解放する<br>９．地球規模の大災害の発生<br>１０．巨大な宇宙船となったちせはシュウジを乗せて、衛星軌道から地球を見守り続ける<br><br><span style="color: rgb(255, 0, 0);">疑問1　地球に何が起こったのか？</span><br><br>原作の中にハッキリとは書かれていませんが、幾つかのヒントが出ています。<br>１．地球に起こっていることに関連して地震が増えていること<br>２．人類の小さな間違い（何らかの実験の失敗？）が原因となっていること<br>３．日本の裏側（アメリカや南米）の方が酷い状況になっていること<br>４．地球の終わりを示す描写に、マグマの噴出と思われる描写があること<br>以上から、私が思うに、地球内部に影響を及ぼす何らかの実験の失敗によって、スーパープルームに近い何かが発生したんじゃないでしょうか。<br>スーパープルームとは、地球の内部から上がってくる超巨大なマグマの塊です。<br>以下の動画が分かりやすいです。<br><h1 id="watch-headline-title" style="margin: 0px; padding: 0px; border: 0px; overflow: hidden; word-wrap: normal; text-overflow: ellipsis;"><span id="eow-title" class="watch-title long-title yt-uix-expander-head" dir="ltr" title="「大量絶滅」巨大噴火が哺乳類を生んだ" style="margin: 0px; padding: 0px; border: 0px; cursor: pointer; -webkit-user-select: auto;"><span style="font-size: 12px;">「大量絶滅」巨大噴火が哺乳類を生んだ</span></span></h1><a href="http://www.youtube.com/watch?feature=player_embedded&amp;v=8oOiRvIYEtI" target="_blank" title="">http://www.youtube.com/watch?feature=player_embedded&amp;v=8oOiRvIYEtI</a><br><br>おそらく、人類最後の日に始まったのが、本格的な噴火の始まりで、<br>その終局の前段階として、地球規模で火山の活動が活発になったんじゃないでしょうか。<br>地球の裏側が酷い状況になっていることから、イエローストーンが破局噴火を起こした可能性が示唆されているように思います。<br><br><span style="color: rgb(255, 0, 0);">疑問２　戦争の相手国はどこ？</span><br><br><span style="color: rgb(17, 17, 17);">直前の疑問に関係しますが、地球の裏側の方が、日本より早い段階で災害による被害が大きくなったようです。</span><br><span style="color: rgb(17, 17, 17);">災害による食糧危機と国土の喪失が戦争の切欠ではないでしょうか。</span><br><span style="color: rgb(17, 17, 17);">戦争の初期状態では、英語を話す敵国の兵士が描かれていますが、英語を話す兵士の存在と地球の裏側の惨状という描写をみると、やはりイエローストーンの破局噴火が原因で、アメリカが新たな入植地を求めて戦争を起こしたように思います。</span><br><br><span style="color: rgb(17, 17, 17);">その後、何語か良く分からない（スペイン語？）言語の兵士が出てくるようになりますが、</span><br><span style="color: rgb(17, 17, 17);">他の国でも食糧危機や火山の噴火が起こっているのでしょう。</span><br><br><span style="color: rgb(255, 0, 0);">疑問３　ちせが人間に戻れなくなったのはどのタイミングか</span><br><br><span style="color: rgb(17, 17, 17);">序盤に、ちせが自分の中の兵器が成長していることに気が付いた直後に、人間に戻れる最後のチャンスがあったとの描写があります。つまり、兵器が成長していることに気が付いた直後であれば、人間に戻れたかもしれないようです。<br></span><span style="color: rgb(17, 17, 17);">まあ、このタイミングでちせを人間に戻そうとしたとしても、ちせを改造した研究所は戦争初期に破壊されたとの描写もあり、戻れたかどうかははっきりしませんが。<br></span><br style="color: rgb(17, 17, 17);"><span style="color: rgb(17, 17, 17);">なお、最終巻でちせは、戦争の勝ち負けに関係なく地球規模の災害によって人類が滅ぶことと、シュウジだけは何としても守るために兵器としての自分を成長させたことを語っています。</span><br><br><span style="color: rgb(255, 0, 0);">疑問４　ラストシーンの意味</span><br><br><span style="color: rgb(17, 17, 17);">ちせは自らを宇宙船に変えて、シュウジを災害から救うわけですが、これはノアの箱舟というよりは、シュウジだけを救いたいという利己的な欲望から生まれたものです。<br>物語の終盤に、ちせはシュウジとの子供を欲しがっていたという描写があるので、宇宙船とは、ちせの子宮のことなんでしょうね。<br></span><span style="color: rgb(17, 17, 17); line-height: 1.5;">最後はシュウジを自らの胎内（子宮）に宿して、子供が欲しいという自らの願いを叶えるわけですね。</span><span style="color: rgb(17, 17, 17);"><br>宇宙空間に漂うちせと、その胎内の子供を考えると、2001年宇宙の旅のラストを思い浮かべました。</span><br><br>ところで、地球規模の災害が噴火であった場合、長い時間はかかるでしょうが、いずれは地球環境は生物が住めるものに戻ると思われます。<br>動植物のほとんどは死滅しているかもしれませんが、新しい生態系も長い目で見れば出来上がっていくのは間違いないでしょう。<br><br>最終巻にて、ちせの命はシュウジより相当長いことが示唆されています。<br>遠い未来には、ちせとシュウジ（の遺体？）は、もう一度、あの高台があった場所に戻ることが出来たのかもしれないですね。<br><br><br>
]]>
</description>
<link>https://ameblo.jp/mtetsuyah/entry-11482280679.html</link>
<pubDate>Sun, 03 Mar 2013 02:59:19 +0900</pubDate>
</item>
<item>
<title>Amazon.co.jpのKindle本をPCで読みたい</title>
<description>
<![CDATA[ <p>Amazon.co.jpで購入したコミックを手元のラップトップで読みたいと思っただけなのだけれど、これがかなり面倒そう。<br><br>そもそも、PC viewerはAmazon.co.jpでは正式には配布されていない。<br>PC viewerを使うには、Amazon.comにアカウントを作成し、Amazon.co.jpのアカウントと統合作業を行う必要がある。<br>その後、PC viewerをインストールすると、Amazon.co.jpで購入したKindle本が読めるようになるはずだが、どうやら、各本ごとに、どの種類の端末で閲覧可能か制御できるみたい。<br>コミックなどは、PC端末に転送できないように設定されている（ものが多い？）。<br><br>iphoneやAndroidに転送はできるようなのだけれど、それでは手元の大画面で見たいという当初の目的が果たせない。<br>Nexus10は、dpi高いので、こういう用途には魅力的だけれど、これだけのために、タブレット買うのも馬鹿らしいしなぁ。<br><br>なんで、こういう仕様にしているのか、まったく謎。<br>PCでAndroidを立ち上げれば、事実上、手元のラップトップで本が読めるはず。<br><br>試しに、Vmwareでx86用のAndroidイメージをダウンロードしてインストール。<br>起動時のGrubのパラメータに、vga=0x355（2048x1536 18bit color）を追加してみた。<br>残念ながら、2880x1800のRetinaに合うサイズの設定がvmwareのグラフィックスカードにはないみたい。<br>さらに、画面サイズを大きくした状態で起動すると、メモリ不足になってしまうのか、ランチャーが正しく機能しない。動作も遅い。<br>そんなわけで、Vmware環境で使うには、いろいろとクリアしなければならないことが多いような気がする。<br><br>手持ちのラップトップに載っているグラフィックスチップのLinux用ドライバを入れたAndoridをUSBに入れて、そこからAndoridブートすれば問題ないんじゃないかとは思うけれど、手軽にやれなきゃ意味ないよなぁ・・・。<br><br>そもそも、タブレットから読めて、PCから読めなくさせるという仕様が全く意味不明。<br>タブレットとPCを分ける必要あるかなぁ。<br></p>
]]>
</description>
<link>https://ameblo.jp/mtetsuyah/entry-11401783575.html</link>
<pubDate>Sun, 11 Nov 2012 13:35:23 +0900</pubDate>
</item>
</channel>
</rss>
