Category Archives: 学問

Permalink to single post

BitCoinの論文を読んだ

Original Update by BTC Keychain

(Cover Image: Original Update by BTC Keychain)

世界中でなんとなくもてはやされつつあるようなないような、BitCoin。

ということでBitCoinに関する、Satoshi Nakamoto の論文 ( http://bitcoin.org/bitcoin.pdf ) を読んだ。

【注意】社会的側面については一切触れません。純粋に仕組みだけ見てます。

  • なんか解くのが難しい問題がどうのこうの、ということだけ知っていたので、自分の勝手な妄想で、「困難な問題の解に対して価値を持たせたもの」だと思ってたけど、全然違った。
    • まぁ公開鍵暗号を使って署名などしている、という観点では、ある意味ただしいかもしれないけど・・・
  • P2Pの通貨システムを考えたときの問題点はそもそもそういうなにに価値を持たせるかとかどうやってやりとりするかいうことではなく (それはたぶん取るに足らない問題) 、「二重支払いの防止」にある
    • 取るに足らない部分: コインのやりとりを「受け渡し元の秘密鍵で、受け渡し先の公開鍵に署名したもの」という形で記録していけばOK
  • 二重支払いを防ぐには、「ある時点である事実 (transaction) が起った、という正しい記録」が必要
  • その「正しい記録」を作るには・・・
    • 方法1: だれかが中心となって管理する
    • 方法2: (本方式)
  • 本方式のイメージとしては、【「Transaction履歴に依存する困難な問題の解」を見つけていき、見つけたという事実がTransactionの存在の証明になる】
    • 厳密に言うとHashのHashだったりするけど、それは重要ではない
    • 「困難な問題の解」は10分ぐらいで見つかるように調整されるらしい
    • 「Transaction履歴」は世界で一つ。それを全体で共有する
  • 具体的には【「(前回問題のHash値)+ある時点までのTransactionの塊+(nonce)」のHash値のうち、特定条件を満たすHash値を出すnonceを見つける】という問題を解く
    • 特定条件=「先頭のNビットが0であるHash値」
    • 何らかの方法でNは調整される
  • 「正しい計算者」は一番長い履歴、かつそこにあるTransactionに矛盾が無いものを信じ、その履歴の最後に「正しいTransaction」を追加しようとする
  • 「悪意を持った攻撃者」が居たとして、変なTransaction履歴を出して、自分で計算して一回解を発見できたとしても、その変なTransaction履歴に続く他のTransactionに対して攻撃者は解を計算し続けなければならなくなる
    • 攻撃者は「世界全体の計算リソースに対して勝ち続けられるわけが無い!」から大丈夫
    • ※ このへんよく理解できてない気がする・・・
  • ちなみに「発掘者が居て計算しまくってコイン発掘してる」みたいな話があるけど、それは上記の計算に対して意図的なインセンティブが与えられているらしい。
  • なんかその後に安全性の議論みたいなことが書いてあるけど、あんま読んでない。数式から見るに特段すごいことは書いてない。(ていうか途中まで計算してC言語で書き起こして計算して~のくだり乱暴でワロタ)

仕組みとしては面白いと思うし、自分が考えていたものと問題意識からして違うので、そういう意味では面白かった。あと難しい問題が特定Hash値の計算だったりするところが「そんなんでいいんだ」という印象。

ただ、「美しい仕組みだ」とか言う人もいる [参考 2, 3] ので、なにか数学的な美しさがあるのかと思ってたけど、特段そうは思えた所は無い。いわゆる”愚直な実装”だと思う。 (社会的な意味で”美しい”と言っているのかもしれない。だとしたら分からない。後は愚直が美しいという観点もあるのだろうか)

そしてたぶん間違えてるので、もし気づいたら教えてやってください。

たぶんnonceあたりのこまかいとことか。

ふと疑問・・・

いぜん「ビットコインが入ってた (記録されてた) HDDを捨てちゃって大変だ!」みたいな話 [参考4] があったけど、それがそもそも理由で一番上の「困難な問題の解に対して価値を持たせたもの」みたいなことを個人的に勝手に妄想していた。要するに「その解をHDDにいれといたから大変になった」と思っていた。

が、それは違ったとしたら一体何がHDDに入っていたのか・・・?

なんかこれは「取るに足らない問題」の部分の話のよう。コインの受け渡しのトランザクションは上で書いたとおり「受け渡し元の秘密鍵で、受け渡し先の公開鍵に署名したもの」という形で記録されるんだけど、その「受け渡し先の秘密鍵」は「毎回違ったものが生成されるべき」と論文にも書いてある。つまりHDDに入っていたものはその秘密鍵の集まりだったに違いない。きっとそうだ。たぶん。

それはそうとして、そういう毀損したビットコインが今後増えていったらどうなるんだろうか・・・?確かコイン数は発行上限があったはず。

そのあたり、なんか数百年で見たときの持続可能性と、所々にアドホックな制約 (問題の解く時間の調整とか、発行コイン数とか) があったりするので、そのあたりの解消が今後の課題なんですかね。あるいはなんかの実装で既に解消されている問題なんでしょうか。そのへん論文だけでは分かりませんです。

参考

  1. Bitcoin: A Peer to Peer Electronic Cash System – http://bitcoin.org/bitcoin.pdf
  2. Bitcoinが目指した未来と残した課題 – http://d.hatena.ne.jp/syncn/20130416/1366119474
  3. Bitcoin Fraud Gets Connected –  http://www.f-secure.com/weblog/archives/00002644.html
  4. 7.7億円分のビットコイン捨てちゃった!英男性が埋め立て地を捜索 – http://www.afpbb.com/articles/-/3004149
Permalink to single post

CEATEC JAPAN 2009

CEATEC JAPAN 2009

CEATEC JAPAN 2009

毎年恒例ですが、CEATEC JAPANに行ってきました。

今年は、不景気の影響ともいわれてますが、出典ブースがすくなめでちょっと寂しさは否めない感じでした。

象徴の無い展示会

去年とかのCEATECは、ものすごく薄いモニタ(液晶だったか有機ELディスプレイだったか)があって、けっこう話題にもなった。

あとは、過去にはHD-DVD陣営 vs ブルーレイ陣営の対決があったりと、いろいろ目玉的なものがあったりした。

が、今年はそういう目玉というか、象徴的なものが無かったような気がする。

大手メーカーたちが揃って、3Dモニターとかってのを展示していたけど、大したことなかった。裸眼で見られないし。次世代照明技術展にあった、よくわかんない中小メーカーやつのがすごかった。やっぱりこういう大資本に潰されるのかなー。

あとはエコとかってのもあんま展示としてはおもしろくないし。CSRのアピールここでされてもねぇ。。。。

なんか、これが一番すごかった、っていうの思い出そうとしたんだけど思い当たるのなかったしなー。もしかしたらすごいものがあったのかもしれないけど。

テラヘルツカメラ

テラヘルツカメラ

勉強不足

毎年のことだけど、たくさんある展示のうち、かなり多くの部分が解説を見ても難しくて結局何だかよく理解できない。興味があるものなのかもわからない。

おおきいもの、つまり車とか家電とか、あとはソフトウェアとかはわかるものが多いんだけど、細かい部品、特に半導体とかは、何をするためのものなのかすらさっぱりわからない。本当に勉強不足を感じる。

それは確かに専門外だから、ほとんどわからないのは当然、という納得の仕方もあるけど、なんとなく腑に落ちない。

本当にまだまだ世の中にはわからんことがたくさんある、という事は常々感じているんだけれど、電気・電子産業だけに絞っても、本当にまだまだありますね。自分がとても小さく感じます。

そしてやっぱり・・・

幕張は遠い。ビックサイト希望。

多数の群集に囲まれた一日だったので、なんか某感染症にかからないか不安。というか鼻と喉がいたい。これはやばいか。

一日の最後は、友人六人と焼肉で終了。。。

Permalink to single post

「は」と「が」の使い分け

「は」と「が」の区別は、どうやら難しいらしいです。

  • 私が、このサイトの管理人です。
  • 私は、このサイトの管理人です。

これの区別が難しいらしい。例えば英語にするとどちらも

  • I am the webmaster of this site.

みたくなるらしい。

自分は、曲がり形にも日本語のネイティブなので、特に意識せず日本語を使っているようです。良い事でも悪いことでもありますね。。

世界の言語の中でも、日本語は難しいなんて言う主張を聞きます。
はたしてその主張がどの程度説得力のあるものなのかは分かりません。

ただ、自分が知らない難しさはまだまだあるようです。。。

ちなみに、この使い分けの説明として簡単なのが、

  • 「が」→未知(新しい情報)
  • 「は」→既知(古い情報)

らしいです。いくつか例文を思い浮かべると、なるほどな、と思う。

Permalink to single post

二次元の時間軸

夢で思ったことメモ

動画をみるとき、ある瞬間について、

  • 現実世界の時刻(t)
  • 動画上での時刻(u)

の情報がある。
これで2次元のベクトルが構成できる。

はて、このベクトルに対してのアフィン変換はどういう意味を持つのか。

そもそも、その前にそもそもtとuは直交しているのか?動画を再生している時を基準に考えればでの斜行座標系とみなすこともできるが・・・。

あるいはベクトルではなく虚数空間と考えることもできて、そうするとその虚数に対する演算はどういう意味を持つのか。とくに積。

あるいはそもそもこんな考え方はナンセンスなのか。既に考えている人がいるのか。探してみようか。。。