Quotespaceshaker:確かにモバイルデバイスのプロキシとして動作するノードが必要になるだろう。
うーん。それはまさにスーパーノードサーバーがすることだ。
うーん。確かに。一周回ったようだ。ギャビンが一番うまく言ったと思う:
ギャビン・アンドレセンの投稿(2010年7月13日 17:20 UTC)軽量クライアントはコインの入ったウォレット(公開鍵+秘密鍵のペア)を持つ。
そして、常時接続の超高速ヘビー級ノードとの間で安全にメッセージを送受信する方法を持つ。
軽量クライアントは送金時に: トランザクションを作成する(秘密鍵でコインに署名する) 署名済みトランザクションを超高速サーバーに安全に送信し、サーバーがネットワークに流す トランザクションが有効で送信されたことの確認を受け取り、ウォレットを更新する(コインを使用済みにする) (またはサーバーから「そのコインはすでに使用済みだ」というエラーを受け取る)
軽量クライアントは受け取り時に: 定期的にサーバーにポーリングして「ウォレット内のこれらのBCアドレスへの支払いはあるか?」と尋ねる …またはBCアドレスのリストへのトランザクションを検知した時(あるいはN回の確認が得られた 関連トランザクションを検知した時)に通知するようサーバーに依頼する トランザクションが発生したら、軽量クライアントはウォレットを更新する(コインを追加する)
サーバーを信頼する必要はない。サーバーは秘密鍵を持つことはない。
まあ、サーバーがトランザクションの有効性について嘘をつかないことは信頼する必要があるが、サーバーがなぜそんな嘘をつくのか?
このシナリオでは、Bitcoin クライアントは現在とほぼ同じままだが、「スーパーノード」や「トランザクションサーバー」や「プロキシサーバー」(これらのシステムはおそらく 3 つの役割すべてを果たす)で使われるか、そのゲームに参加したい人が使うことに焦点が当てられるだろう。Bitcoin クライアントが DHT を使うよう拡張されれば改善になるかもしれないが、ギャビンが上記で説明した「軽量クライアント」の必要性は依然としてある。ギャビンの「軽量クライアント」コンセプトは、私のスケーラビリティの懸念をある程度解消してくれるようだ。