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

Re: スケーラビリティ

spaceshakerの投稿(2010年7月14日01:52 UTC)
ギャビン・アンドレセンの投稿(2010年7月14日00:42 UTC)

そしてほとんどの人は、ウォレットの保持、トランザクションの署名、そしてすべてのトランザクションを監視している超高速ノードへのトランザクションの送受信だけを行う軽量クライアントを使うことになるだろう。

それは可能なのかな? どのようなものになる? 技術的な観点から、あなたにとって「軽量クライアント」とはどういうものかな? 私の理解では、Bitcoinクライアントは信頼を確立するためにブロックチェーン全体が必要だ。

私のイメージはこうだ:

軽量クライアントはコインの入ったウォレット(公開鍵+秘密鍵のペア)を持つ。

そして、常時接続の超高速ヘビー級ノードとの間で安全にメッセージを送受信する方法を持つ。

軽量クライアントは送金時に: トランザクションを作成する(秘密鍵でコインに署名する) 署名済みトランザクションを超高速サーバーに安全に送信し、サーバーがネットワークに流す トランザクションが有効で送信されたことの確認を受け取り、ウォレットを更新する(コインを使用済みにする) (またはサーバーから「そのコインはすでに使用済みだ」というエラーを受け取る)

軽量クライアントは受け取り時に: 定期的にサーバーにポーリングして「ウォレット内のこれらのBCアドレスへの支払いはあるか?」と尋ねる …またはBCアドレスのリストへのトランザクションを検知した時(あるいはN回の確認が得られた関連トランザクションを検知した時)に通知するようサーバーに依頼する トランザクションが発生したら、軽量クライアントはウォレットを更新する(コインを追加する)

サーバーを信頼する必要はない。サーバーは秘密鍵を持つことはない。

まあ、サーバーがトランザクションの有効性について嘘をつかないことは信頼する必要があるが、サーバーがなぜそんな嘘をつくだろうか?