ビットコイン:P2P通貨のオープンソース実装
私はビットコインと呼ばれる新しいオープンソースのP2P電子キャッシュシステムを開発した。信頼ではなく暗号学的証明に基づいているため、中央サーバーや信頼できる第三者を必要とせず、完全に分散化されている。試してみるか、スクリーンショットと設計論文を見てみてほしい。
Bitcoin v0.1のダウンロード: http://www.bitcoin.org
従来の通貨の根本的な問題は、それを機能させるために必要な、あらゆる信頼だ。中央銀行は通貨の価値を下げないと信頼されなければならない。しかし法定通貨の歴史は、その信頼への裏切りに満ちている。銀行は私たちのお金を保管し電子的に送金すると信頼されなければならないが、ほんのわずかな準備金しか持たずに信用バブルの波の中でそれを貸し出している。私たちは銀行にプライバシーを委ね、身元詐称犯に口座を空にされないよう信頼しなければならない。銀行の膨大な間接費がマイクロペイメントを不可能にしている。
一世代前、マルチユーザーのタイムシェアリングコンピューターシステムにも似た問題があった。強力な暗号化が登場する前は、ユーザーはファイルを保護するためにパスワード保護に頼るしかなく、自分の情報を非公開にしてくれるとシステム管理者を信頼するしかなかった。プライバシーは、管理者がプライバシーの原則と他の懸念を天秤にかけた判断によって、あるいは上司の命令によって、いつでも覆される可能性があった。やがて強力な暗号化が大衆に利用可能になり、信頼は不要になった。データは、どんな理由であろうと、どんなに正当な言い訳があろうと、何であろうと、他者がアクセスすることが物理的に不可能な方法で保護できるようになった。
お金にも同じものが必要な時が来た。暗号学的証明に基づく電子通貨であれば、第三者の仲介者を信頼する必要がなく、お金は安全に、取引は手軽に行える。
このようなシステムの基本的な構成要素の一つがデジタル署名だ。デジタルコインには所有者の公開鍵が含まれている。送金するには、所有者がコインに次の所有者の公開鍵とともに署名する。誰でも署名を検証して所有権の連鎖を確認できる。所有権の保護にはうまく機能するが、一つの大きな問題が未解決のまま残る。二重支払いだ。どの所有者も、すでに使用したコインに再び署名して別の所有者に送ることで、再使用を試みることができる。通常の解決策は、信頼できる企業が中央データベースで二重支払いをチェックすることだが、それでは信頼モデルに逆戻りだ。中央に位置する企業はユーザーを支配でき、企業を維持するために必要な手数料がマイクロペイメントを非現実的にする。
ビットコインの解決策は、二重支払いを検出するためにピアツーピアネットワークを使用することだ。簡単に言えば、ネットワークは分散型タイムスタンプサーバーのように機能し、コインを使用する最初のトランザクションにスタンプを押す。情報は拡散しやすいが抑え込みにくいという性質を利用している。仕組みの詳細については、http://www.bitcoin.org/bitcoin.pdfの設計論文を参照してほしい。
結果として、単一障害点のない分散システムが実現する。ユーザーは自分のお金の暗号鍵を自分で保持し、P2Pネットワークの助けを借りて二重支払いをチェックしながら、互いに直接取引する。
Satoshi Nakamoto
http://www.bitcoin.org
関連: アーカイブ収蔵のホワイトペーパー
DanteがメールでOpen Coinという英国のプロジェクトに言及していた。似た方向に向かっているようだ。
ビットコインとの相乗効果はあり得るだろうか?
http://opencoin.org/
DanteがメールでOpen Coinという英国のプロジェクトに言及していた。似た方向に向かっているようだ。
ビットコインとの相乗効果はあり得るだろうか?
http://opencoin.org/
そうかもしれない。Open Coinは昔のチャウム式の中央造幣局のことを話しているが、それしか利用可能なものがなかったからかもしれない。新しい方向に進むことに興味を持つかもしれない。
多くの人が、1990年代以降の企業の失敗を見て、電子通貨を見込みのないものとして自動的に切り捨てている。それらのシステムを失敗に追いやったのは、中央で管理するという性質だけだった。そのことは明らかであってほしい。分散型で信頼を必要としないシステムを試みるのは、これが初めてだと思う。
サトシ、こんにちは。
私たちが実際に話していたのは、古いチャウム式の中央集権的な仕組みのことだ。それはa) すでに存在していたから、b) 特許フリーだったから ( 米国については少し考えなければならないが ) という理由による。週末にあなたの論文を読んだ。仕事をしてくれてありがとう。興味深く読んだ。
あなたのシステムについて理解できなかったのだが、これをどのように通貨として使うのだろうか? 私の理解では、誰でも好きなようにコインを作成できるので、信頼できるトークン/コインの供給がないことになる。 あるいは逆に言えば: もし二重支払いデータベースを、それが中央集権的な存在だという理由で信頼しないのであれば、発行と償還を行う中央発行体だって信頼できないはずだ。では通貨はそれ以外でどう機能するのだろう? トランザクションがオンラインで見える形の相互信用システムに使うつもりなのかな?
それでは。
Joerg
サトシ、質問が二つある。
最初の質問は、トークンやコインの信頼できる供給量に関するヨルクの疑問とつながっている。
私の理解する限り、作成可能なトークンの総量には上限があり、トークン作成の困難度の勾配は時間とともに変化し、その工程は時を経るごとに難しくなっていく、ということで合っているだろうか?
トークンやコインの量に上限があることは重要だ。しかし、何人がこのシステムを採用するかを踏まえて、その上限が調整可能であることもまた重要だ。ユーザー数が時間とともに変化するなら、コインの総量も変える必要が生じる。
トークンの総量がいくつであるべきかを決める算式はあるのだろうか。あるとしたら、その算式は何か?
算式がないなら、その決定は誰が行うのか、そしてどのような基準に基づいて行われるのか?
二番目の質問は後に取っておく。一度に一つずつだ……。
SHゼップ・ハスルベルガーの投稿(2009年2月18日14:41 UTC)あなたのシステムについて理解できなかったのだが、これをどのように通貨として使うのだろうか? 私の理解では、誰でも好きなようにコインを作成できるので、信頼できるトークン/コインの供給がないことになる。
トークンの総量がいくつであるべきかを決める算式はあるのだろうか。あるとしたら、その算式は何か?
これはグローバルな分散データベースであり、参加者が従う一連のルールに基づいて、多数決の合意によりデータベースへの追加が行われる:
-
誰かがプルーフ・オブ・ワークを見つけてブロックを生成すると、新しいコインを獲得する
-
プルーフ・オブ・ワークの難易度は、ネットワーク全体で1時間あたり平均6ブロックを目標として、2週間ごとに調整される
-
ブロックごとに付与されるコインは4年ごとに半減する
コインは多数派によって発行されると言える。限られた、あらかじめ決められた量で発行される。
例として、1000のノードがあり、毎時6ノードがコインを獲得する場合、あなたが何かを得るまでにおそらく1週間かかるだろう。
ゼップの質問に対してだが、確かにユーザー人口の増加に応じてマネーサプライを調整する中央銀行や連邦準備制度のような存在はいない。それには価値を決定するための信頼できる当事者が必要だっただろう。なぜなら、ソフトウェアが現実世界のものの価値を知る方法を私は知らないからだ。もし何か巧妙な方法があったり、あるいは誰かに積極的にマネーサプライを管理して何かに連動させることを信頼したいのであれば、そのようにルールをプログラムすることもできただろう。
その意味では、貴金属に近い。供給量を変えて価値を一定に保つのではなく、供給量が予め決まっていて、価値の方が変動する。ユーザー数が増えるにつれて、1コインあたりの価値は上昇する。正のフィードバックループの可能性がある。ユーザーが増えると価値が上がり、それがさらに多くのユーザーを引きつけて増加する価値を享受しようとするかもしれない。
私はドリアン・ナカモトではない。