ビットコイン・インスティテュート

プルーフ・オブ・ワーク → 大気中の炭素

サトシ・ナカモトの投稿(2009年1月25日15:47 UTC)
ハル・フィニーの投稿(2009年1月24日16:48 UTC)

もしPOWトークンが本当に役に立つようになり、とりわけ貨幣になったら、マシンが遊んだままになることはなくなる。ユーザーは自分のコンピューターが稼いでくれることを期待するようになる(報酬が運用コストを上回ると仮定して)。

コンピューターはもともと、全力で動いているときより、遊んでいるときのほうが電気をずっと食わないように設計されている。この流れは続き、広がっていく。最近のチップには、遊んでいるときはクロックをゼロMHz、電力をほぼゼロワットまで落とし、次の割り込みで自動的に目を覚ますものもある。

いちばん要らないのは、電子メールやスパムを通すための少しばかりのビットバックスを作るために、使える計算資源をすべて燃やし、電気を食い、二酸化炭素を出すように設計された仕組みを、インターネット中に配ることだ。

銀行の口座にある本物のお金を、ビットバックスに替えるだけではだめなのか? 安く、炭素税もなしに。頼むよ。

ジョン

ジョン・ギルモアの投稿(2009年1月25日22:40 UTC)

銀行の口座にある本物のお金を、ビットバックスに替えるだけではだめなのか? 安く、炭素税もなしに。頼むよ。

そうできたらいいのだが。少なくとも10年前から、スパムの問題を解くには、送るメッセージごとに少額の料金を取ればいいだけだと言われてきた。あいにく、それがうまくいかない理由はいろいろある。大きな理由の一つは、たくさんの頭のいい人がマイクロペイメントに取り組んできたのに、1日に何十億件もの取引を、しかもその支払いと称するものの90%が偽物という状況でこなせる仕組みに近いものすらないことだ。それに加えて、規模に耐え、予想できる攻撃に耐える、現実の金融の仕組みとのつなぎ目もない。

私のホワイトペーパーは少し手直しが要るが、基本の結論は今も正しい:

http://www.taugh.com/epostage.pdf

では。

ジョン

zooko(Zooko O'Whielacronx) 2009年1月26日22:41 UTC
ジョン・レヴィンの投稿(2009年1月26日20:08 UTC)

そうできたらいいのだが。少なくとも10年前から、スパムの問題を解くには、送るメッセージごとに少額の料金を取ればいいだけだと言われてきた。

私もそう言っていた一人だ。15年前、サイファーパンクのメーリングリストで。実のところ、たしか、ベイエリアのサイファーパンクの集まりのあとで、スパムへの何らかの解決策を実装したら報酬を払ってくれるかとジョン・ギルモアと話したことがある。だが、やり方で折り合わなかった。

ジョン・レヴィン

あいにく、それがうまくいかない理由はいろいろある。

いや、未来は長い。(そう願っている。)

ジョン・レヴィン

大きな理由の一つは、たくさんの頭のいい人がマイクロペイメントに取り組んできたのに、1日に何十億件もの取引を、しかもその支払いと称するものの90%が偽物という状況でこなせる仕組みに近いものすらないことだ。それに加えて、規模に耐え、予想できる攻撃に耐える、現実の金融の仕組みとのつなぎ目もない。

偶然だが、今日ちょうど、今はあのころよりずっとこれに近づいているとブログに書いたところだ。君がおそらく思い浮かべている頭のいい人たちは、新しく広がっているものに誰も関わっていないのだが:

http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html#%5B%5BDecentralized%20Money%5D%5D

たとえばWoWのゴールドは、少なくとも1日に数百万件の取引があるようだ。こうした通貨の規模や範囲について、もっと詳しく知っている人はいないだろうか?

ジョン・レヴィン

私のホワイトペーパーは少し手直しが要るが、基本の結論は今も正しい:

http://www.taugh.com/epostage.pdf

ありがとう! 読んでみるよ。

よろしく。

Zooko

ジョン・ギルモアの投稿(2009年1月25日22:40 UTC)

いちばん要らないのは、電子メールやスパムを通すための少しばかりのビットバックスを作るために、使える計算資源をすべて燃やし、電気を食い、二酸化炭素を出すように設計された仕組みを、インターネット中に配ることだ。

この問題の技術的な行き着く先を考えてみるのは面白い。地球規模のプルーフ・オブ・ワークの仕組みは、本質的にかなりのエネルギーを消費するのだろうか? それとも、そういう仕組みでもほどほどのエネルギー消費で済むような計算のやり方があるのだろうか?

この問題は計算の熱力学にかかわる。論理的に可逆な変換は、いくらでも小さなエネルギーの散逸で行えることが、昔から知られている。だから注目は、不可逆な変換、とりわけビットの消去を伴う変換に向けられる。1ビットを消去すると、およそkTのエネルギーが散逸する。kはボルツマン定数、Tは温度だ。

肝心なのは、POWの仕組みが本質的に、論理的に不可逆な遷移を大量に伴い、ビットを消去してエネルギーを散逸させるのかどうかだ。それとも、POWトークンは可逆な論理だけで作れるのだろうか?

一つ言えるのは、どんなアルゴリズムも、原理的には出力の大きさを除いて可逆にできるということだ。可逆な論理で計算し、逆戻りのための余分なビットをたくさん作りながら答えまで進む。そこで出力を写し取る。それから計算を逆にたどり、余分なビットをすべて消費して元の値まで戻る。不可逆だったのは、出力を保存した一歩だけだ。ただ、ここで話しているような大きな計算では、これは実際的でない。余分なビットの数が、計算の大きさをはるかに上回ってしまうからだ。

ビットコインやHashcashのような仕組みで使われるハッシュの衝突(厳密には衝突ではなく、先頭に0のビットがたくさん並ぶハッシュ値の原像を探すこと)は、本質的に不可逆に見える。アルゴリズムはふつう、カウンターの値を含む原像を用意し、ハッシュを計算し、カウンターを増やして、望みの性質を持つハッシュが見つかるまで繰り返す。ハッシュ関数そのものも、ふつうは本質的に不可逆な遷移を多く使う。論理的な不可逆性は、ハッシュ関数の定義上の要件だからだ。前の段落の技を使ってハッシュを計算する途中の手順のコストを消せたとしても、繰り返しのたびに出力の結果を消去する必要は残り、エネルギーが散逸する。今使われている典型的なPOWの仕組みは、数百万回から数十億回の繰り返しを要し、これは将来さらに増えるだろうから、散逸はかなりの量になりうる。

ハッシュを論理的に可逆な関数に置き換えれば、途中のビットの数を減らせ、逆戻りの技を使う必要もなくなるかもしれない。原像と像の両方の決まった位置に、いくつかのビットが含まれることを求めればいい。ただ、それでも同じような探索のアルゴリズムが要るように思えるので、途中の結果を消去するたびに散逸が起きる。

この考えを少し変えれば、うまくいくかもしれない。論理的に可逆な関数そのものをとても遅くしておく。たとえば、ラウンドの数を非常に多くできるようにする。そうすれば、あるPOWの手間の水準に対して、当たりの結果が出るまでに要る繰り返しは比較的少なくて済む。これで散逸は減る。ただし検証は遅くなり、POWの検証は作成よりずっと頻繁に行われるので、そちらへあまり傾けるわけにはいかない。

もう一つ考えたのは、ハッシュの衝突のようなランダムなPOWではなく、決定的なPOWを使うことだ。「時限コミットメント」やそれに関わる暗号の研究で、未知のRSAの法のもとで2乗を繰り返すと、非常に多くの回数の2乗が行われたことを、比較的簡潔に、すばやく検証できる形で証明でき、しかも結果の証明書を作るのに近道がないことが示されている。大まかに言えば、法のもとでの2乗は論理的に可逆で、理論上は平方根を計算できる。だが実際には、ハッシュの計算と同じく、法のもとでの2乗を論理的に可逆な操作で計算すると、余分なビットが大量に出る。1回の2乗の余分なビットを上で触れた技で消費できたとしても、POWには非常に多くの2乗が要るので、一つ一つの2乗の一時的な結果は消去せざるをえない。だから全体の散逸は、ハッシュの計算と同じようなものになりそうだ。

(それに、決定的なPOWがビットコインのような用途にうまく合うかははっきりしない。いちばん速いコンピューターの持ち主がすべてのPOWの競争に勝ち、力を持ちすぎてしまうかもしれない。)

というわけで、ジョンの投げかけた疑問は開いたままだ。論理的に可逆な計算だけで組み立てられるPOWの仕組みはあるのだろうか? その計算は本質的に時間がかかるものでなければならないが、正しさの証明書は短く、すばやく検証できなければならない。

ハル・フィニー

ハル・フィニーの投稿(2009年1月27日19:35 UTC)

(それに、決定的なPOWがビットコインのような用途にうまく合うかははっきりしない。いちばん速いコンピューターの持ち主がすべてのPOWの競争に勝ち、力を持ちすぎてしまうかもしれない。)

まさに。それに、ボットネットという魔法のおかげで、悪人のほうが善人よりはるかに多くの計算力を手にしていることも忘れないでほしい。

インチキな暗号に繰り返し出てくる、あの突飛なアイデアの数々を知っているだろう? そう、電子郵便料金は、インチキなスパム対策だ。

では。

ジョン

ハル・フィニーの投稿(2009年1月27日19:35 UTC)
ジョン・ギルモアの投稿(2009年1月25日22:40 UTC)

いちばん要らないのは、電子メールやスパムを通すための少しばかりのビットバックスを作るために、使える計算資源をすべて燃やし、電気を食い、二酸化炭素を出すように設計された仕組みを、インターネット中に配ることだ。

この問題の技術的な行き着く先を考えてみるのは面白い。地球規模のプルーフ・オブ・ワークの仕組みは、本質的にかなりのエネルギーを消費するのだろうか? それとも、そういう仕組みでもほどほどのエネルギー消費で済むような計算のやり方があるのだろうか?……

[原理的にはエネルギーを消費しない、可逆な計算を使う提案は省略。]

ここで話されている問題には、コンピューター科学の部分と経済の部分のあいだに矛盾がある。デジタルのコインに価値を与えるのは、まさに、それを作るのに現実の世界での何らかの出費がかかることだ。私たちは「プルーフ・オブ・ワーク」と言うが、実際には、コンピューターがする「仕事」は、それ自体では何の価値もない。価値が出るのは、それがほかのことに使えたかもしれない限られた資源であるときだけだ。つまり、計算に回せる余った計算資源の価値は、それにかかる機会費用から来る。そうでなければ、誰でも、自分は何の費用も負わずに好きなだけ作れてしまう。実際、ボットの飼い主が他人のマシンを使う費用の構造の裏にあるのも、これだ。だが結局、それがボットの飼い主にとってうまくいくのは、マシンの持ち主にとっても大きな損失がないからにすぎない!

ここで、抽象的な「仕事」の考えではなく、計算をするのに散逸させなければならない電力にあたるものに基づくアルゴリズムを使えば、デジタルのトークンの価値は本当に現実の世界に根ざすことになる。余った計算資源は、もう「ただ」ではなくなる。電気代の請求書に現れるからだ。もちろん、ボットの飼い主は払わなくていい。だが、「乗っ取られた」マシンの持ち主が本物の費用を目にすれば、何か手を打つ動機が生まれる(今は基本的に、その動機がない)。

電力の費用をなくしてしまうと、計算をするCPUとメモリーの固定費を償却する話に戻ってしまう。その費用は下がり続けている。そのやり方で、経済的に成り立つ仕組みにどうたどり着けるのか、私には分からない。

では、トークンの費用を電力にどう結びつけるのか? 不思議なことに、そういうものはすでに提案されている。CPUはどんどん速く、どんどん並列になっているが、メモリーは途方もなく大きくなっていても、それほど速くはなっていない、という指摘がある(残念ながら出典は手元にない)。そこで、私が読んだ論文が提案していたのは、CPUの秒数ではなく、メモリーの読み書きで高くつくハッシュ関数だ。メモリーへの書き込みは本質的に不可逆なので、本質的に電力を食う。メモリーへの書き込みの多いアルゴリズムは、電力を使うアルゴリズムでもある。

(ちなみに、何年か前、ベンチャーキャピタリストの友人が、人々のセットトップボックス(かなり強力なチップが入っている)の余った計算資源を買い取り、それで組んだ「分散計算サーバー」を貸し出すという案を、私に持ちかけてきた。人々には、箱を使う代わりにほとんど何も払わなくていい、箱がほかに使われていないときだけ動かすので、ごくわずかな支払いでも喜ぶはずだ、というのが言い分だった。私は、彼らが見落としていた費用を指摘した。電力の使用が増えることだ。たしかに、個人は気づかないだろう。だが、いずれどこかの消費者団体が気づく。その悪評で事業はつぶれる。その分を箱の持ち主に払う額に加えて少し計算してみたら、事業全体が、純粋に経済の点から見て、あまり面白くなくなってきた。ほかにも問題はたくさんあったのだが。)

— ジェリー

ジェリー・ライクターの投稿(2009年1月28日21:35 UTC)

[原理的にはエネルギーを消費しない、可逆な計算を使う提案は省略。]

ここで話されている問題には、コンピューター科学の部分と経済の部分のあいだに矛盾がある。デジタルのコインに価値を与えるのは、まさに、それを作るのに現実の世界での何らかの出費がかかることだ。

「デジタルのコイン」をどう定義するかによる。

すべてのコインを、発行者の持つオンラインの基盤と照らして二重支払いを確かめる別の設計なら、この制約はない。性質は違ってくるが。たとえば、匿名性は、発行者があなたが持っていると知っているコインを、発行者が知らないコインに交換する、mixmasterのようなネットワークを信頼することにかかってくるかもしれない。だが、そうなると匿名性はまったく実用的でなくなるかもしれない。とはいえ、POWのコインだって、どれほど実用的なのか?

たいていの経済の正規の部門にいるほとんどの人は、ほとんどの場合、デジタルのクレジットカードや銀行カードで喜んで暮らし、デジタルのコインなんてどうでもいいと思うのではないか。

ジェリー・ライクター

では、トークンの費用を電力にどう結びつけるのか? 不思議なことに、そういうものはすでに提案されている。CPUはどんどん速く、どんどん並列になっているが、メモリーは途方もなく大きくなっていても、それほど速くはなっていない、という指摘がある(残念ながら出典は手元にない)。そこで、私が読んだ論文が提案していたのは、CPUの秒数ではなく、メモリーの読み書きで高くつくハッシュ関数だ。メモリーへの書き込みは本質的に不可逆なので、本質的に電力を食う。メモリーへの書き込みの多いアルゴリズムは、電力を使うアルゴリズムでもある。

うまい!

ニコ

ジョン・レヴィンの投稿(2009年1月28日21:19 UTC)

インチキな暗号に繰り返し出てくる、あの突飛なアイデアの数々を知っているだろう? そう、電子郵便料金は、インチキなスパム対策だ。

この言い分は、POWのコインについては本当かもしれない。ボットネットにとっては「いくらでも湧いてくる」ものだからだ。だが、国際的な通貨の交換の仕組みにさかのぼるお金については、完全には当てはまらないかもしれない。

普通の郵便の郵便料金は、ダイレクトメールを減らしはするが、なくしはしない。証拠はないが、たいていの人は、受け取るダイレクトメールの量に我慢できているのではないかと思う。少なくとも、「ダイレクトメール問題」についての話は、あまり耳にしない。

もちろん、マシンの中に「郵便料金」のための少額のお金が蓄えてあれば、そのマシンを乗っ取った者が、そのお金の一部を盗めるのはたしかだ。盗める額には、マシンの代金を払った人が気づいて困るかどうかで決まる上限がある。給与計算の端数を掠め取って儲けられたのと同じで、多くのマシンから少額ずつ掠め取れば、おそらく安全に儲けられる。

では。

ビル

ビル・フランツの投稿(2009年1月29日00:14 UTC)
ジョン・レヴィンの投稿(2009年1月28日21:19 UTC)

インチキな暗号に繰り返し出てくる、あの突飛なアイデアの数々を知っているだろう? そう、電子郵便料金は、インチキなスパム対策だ。

この言い分は、POWのコインについては本当かもしれない。ボットネットにとっては「いくらでも湧いてくる」ものだからだ。だが、国際的な通貨の交換の仕組みにさかのぼるお金については、完全には当てはまらないかもしれない。

完全に当てはまると言っていいくらいだ。ボットで郵便料金を盗むのは、致命的な問題のいくつもあるうちの一つにすぎない。

このホワイトペーパーは2004年に書いた。細かいところは少し手直しが要るが、結論は今もはっきりしている:

http://www.taugh.com/epostage.pdf

では。

ジョン

ジョン・ギルモアの投稿(2009年1月25日22:40 UTC)
サトシ・ナカモトの投稿(2009年1月25日15:47 UTC)
ハル・フィニーの投稿(2009年1月24日16:48 UTC)

もしPOWトークンが本当に役に立つようになり、とりわけ貨幣になったら、マシンが遊んだままになることはなくなる。ユーザーは自分のコンピューターが稼いでくれることを期待するようになる(報酬が運用コストを上回ると仮定して)。

コンピューターはもともと、全力で動いているときより、遊んでいるときのほうが電気をずっと食わないように設計されている。この流れは続き、広がっていく。最近のチップには、遊んでいるときはクロックをゼロMHz、電力をほぼゼロワットまで落とし、次の割り込みで自動的に目を覚ますものもある。

いちばん要らないのは、電子メールやスパムを通すための少しばかりのビットバックスを作るために、使える計算資源をすべて燃やし、電気を食い、二酸化炭素を出すように設計された仕組みを、インターネット中に配ることだ。

リチャード・クレイトンと私は、PoWはうまくいかないと主張している:

http://www.cl.cam.ac.uk/~rnc1/proofwork.pdf

ジョン・レヴィンの投稿(2009年1月28日21:19 UTC)

まさに。それに、ボットネットという魔法のおかげで、悪人のほうが善人よりはるかに多くの計算力を手にしていることも忘れないでほしい。

ちょっと気になったのだが、ボットネットが、スパムを送るかDDoSをかける以上に面白いことに使われた、記録に残る例を、誰か知っている人はいないだろうか?

— トーマス・コッピ

ベン・ローリーの投稿(2009年1月30日02:32 UTC)

リチャード・クレイトンと私は、PoWはうまくいかないと主張している:http://www.cl.cam.ac.uk/~rnc1/proofwork.pdf

数年前、CEASの会合で、そもそもPoWを考え出したシンシア・ドゥワークにばったり会った。彼女も、うまくいくとは思わないと言っていた。

では。

ジョン

トーマス・コッピの投稿(2009年1月30日18:40 UTC)

ちょっと気になったのだが、ボットネットが、スパムを送るかDDoSをかける以上に面白いことに使われた、記録に残る例を、誰か知っている人はいないだろうか?

いいボットネットと悪いボットネットがある。 いいものは加わりたいかを尋ねる。悪いものは尋ねない。 いいものは、たいていSETI at home、Folding at home、Great Internet Mersenne Prime Search、DESの解読などで、何かいいことをするなら、人は手を貸してくれる。 悪いものを作るのは、たいてい、何か悪いことをしたいときだけだ。新しい種類のDDoSのように、初めてやるときは面白いかもしれない。だが、たいていは世の中のためにはならない。

ジョン・レヴィンの投稿(2009年1月26日20:08 UTC)

http://www.taugh.com/epostage.pdf

付け加えると、誰でも自分の電子郵便料金を実装するのを妨げるものは何もない。PayPalの送金に、ふさわしいと思う郵便料金を添えて、メールを送ればいい。魔法も、標準化の手続きを踏んだ電子郵便料金も、鶏と卵の実装の問題もなく、暗号すら要らない。実際に使うには退屈すぎるのだろう。

トーマス・コッピの投稿(2009年1月30日18:40 UTC)
ジョン・レヴィンの投稿(2009年1月28日21:19 UTC)

まさに。それに、ボットネットという魔法のおかげで、悪人のほうが善人よりはるかに多くの計算力を手にしていることも忘れないでほしい。

ちょっと気になったのだが、ボットネットが、スパムを送るかDDoSをかける以上に面白いことに使われた、記録に残る例を、誰か知っている人はいないだろうか?

このことを、Team Cymruのロブ・トーマスに尋ねてみた(彼と彼らは地下の世界を研究している)。許可を得て、彼の答えを載せる:

==== ボットネットはふだん、次のように使われている:

  1. プロキシ(IRC、HTTP、HTTPS)

  2. 金融の認証情報(PayPal、Citibankなど)を取り出すため。 初期のボットのいくつかにあったPSNIFFのコードの、もともとの目的はこれだった。

何年も前にさかのぼる、今では由緒あるrBot_rxbot_041504-dcom-priv-OPTIX_MASTERPASSWORDのコードの一部を示す:

[ ... ]

// Scaled down distributed network raw packet sniffer (ala Carnivore)
//
// When activated, watches for botnet login strings, and
// reports them when found.
//
// The bots NIC must be configured for promiscuous mode (recieve
// all). Chances are this already done, if not, you can enable it
// by passing the SIO_RCVALL* DWORD option with a value of 1, to
// disable promiscuous mode pass with value 0.
//
// This won't work on Win9x bots since SIO_RCVALL needs raw
// socket support which only WinNT+ has.

[ ... ]

PSWORDS pswords[]={
        {":.login",BOTP},
        {":,login",BOTP},
        {":!login",BOTP},
[ ... ]
        {"paypal",HTTPP},
        {"PAYPAL",HTTPP},
        {"paypal.com",HTTPP},
        {"PAYPAL.COM",HTTPP},
        {"Set-Cookie:",HTTPP},
        {NULL,0}
};

[ ... ]
  1. 今では「ボート(boats)」と呼ばれていることを忘れないでほしい。だから何でもありだ。画面のキャプチャーがますます人気になっている。