ビットコイン支払いチャネルを使用した分散型トラストレスビデオストリーミング
Streamium は、完全に分散型の有料ビデオ ストリーミング アプリケーションです。ビットコインや WebRTC などのさまざまな先行技術を活用して、仲介業者なしでトラストレスな従量課金制ビデオ ストリーミングを実現します。
コンテンツ作成者は、クライアントとの支払いチャネルを使用してビットコインと引き換えにストリーミング サービスを提供し、カウンターパーティのリスクなしで一連のコストのかからないトランザクションをストリーミングします。
Streamium を実行するには、任意の Web サーバーを使用してルート ディレクトリを提供するだけです。例えば:
cd streamium/ bower install npm install node server.js & node ssl_peerjs.js &
そして、WebRTC をサポートするブラウザからアクセスします。
https://ローカルホスト:8443/
ユーザー ブロードキャストは、使用する名前 (これはビデオ ストリームの一意の識別子になります) を指定してチャネルを作成します。彼女は、資金が最終的に送金される支払アドレスと、ストリームの消費者が支払うと予想されるレートを提供する必要があります。彼女は、ストリームの潜在的な消費者と共有するためのリンクを受け取ります。
コンシューマ ユーザーの場合、Web アプリケーションはプロバイダーへのピアツーピア接続を開くことによってチャネルに参加します。画面には、プロバイダーが請求する料金、プロバイダーの公開キー、および資金提供アドレスが表示されます。
コンシューマー Web アプリケーションは秘密キーを生成し、ユーザーがチャンネルに資金を提供できるように画面にアドレスを表示します。このアドレスに資金を追加するトランザクションが検出されると、サーバーに返金トランザクションへの署名を要求し、コミットメント トランザクションをブロードキャストすることによって、支払いチャネルが確立されます。
サーバーがコミットメント トランザクションを受信し、ブロードキャストを開始する準備ができると、そのユーザーへのビデオの送信が開始されます。ユーザーは、自分が署名したトランザクション (現金化されない小切手への署名など) をサーバーに定期的に送信し、各トランザクションによってサーバーに支払われる金額が徐々に増加します。ユーザーが支払いを停止するか、接続が失われると、サーバーは送信を停止し、最後に受け取った支払いをブロードキャストします。
Streamium は静的 HTML Web アプリケーションであるため、サーバーを実行する必要はありません。
AngularJS はクライアント側のアプリケーション コードに使用されました (サーバー側のコードはありません!)
WebRTC は、クライアントとサービス プロバイダーの間でビデオ ストリームを共有するために使用されるブラウザー間の通信プロトコルです。中央サーバーを使用せずにデータとメディアを共有できます。 WebRTC 接続の管理には PeerJS を使用します。
ビットコインは、トラストレスな支払いに使用される P2P 通貨です。ビットコイン支払いチャネルは、サードパーティを必要としない安全な従量課金制メカニズムを確立するために使用されます。
コードは MIT ライセンスに基づいてリリースされています。
Copyright 2015 Streamium 開発者