使用比特幣支付管道的去中心化、無需信任的視訊串流
Streamium 是一個完全去中心化的付費視訊串流應用程式。它利用比特幣和 WebRTC 等各種現有技術來實現無需中介的無需信任的即用即付視訊串流。
內容創作者透過與客戶端的支付管道提供串流服務以換取比特幣,串流一系列免費交易,沒有交易對手風險。
要運行 Streamium,只需使用任何 Web 伺服器提供根目錄即可。例如:
cd streamium/ bower install npm install node server.js & node ssl_peerjs.js &
然後從任何支援 WebRTC 的瀏覽器存取它:
https://本地主機:8443/
用戶廣播透過指定要使用的名稱(這將是視訊串流的唯一識別碼)來建立頻道。她需要提供資金最終發送到的支付地址以及她期望流消費者支付的費率。她將收到一個鏈接,可與該流的潛在消費者分享。
對於消費者用戶,Web 應用程式將透過開啟與提供者的點對點連線來加入頻道。螢幕將顯示提供者收取的費率、提供者的公鑰和資金地址。
消費者網路應用程式將產生一個私鑰並在螢幕上顯示一個地址,以便用戶可以為該頻道提供資金。當偵測到向該位址添加資金的交易後,透過要求伺服器簽署退款交易並廣播承諾交易來建立支付通道。
當伺服器收到承諾交易並準備開始廣播時,將開始向該用戶傳輸視訊。用戶將定期將他簽署的交易傳輸到伺服器(就像簽署不會兌現的支票),其中每筆交易都會逐漸增加支付給伺服器的金額。當用戶停止付款或連線遺失時,伺服器將停止傳輸並廣播最後收到的付款。
Streamium 是一個靜態 HTML Web 應用程序,因此不需要伺服器來運行。
AngularJS 用於客戶端應用程式程式碼(並且沒有伺服器端程式碼!)
WebRTC 是一種瀏覽器到瀏覽器通訊協議,用於在用戶端和服務提供者之間共用視訊串流。它允許在沒有中央伺服器的情況下共享資料和媒體。我們使用 PeerJS 來管理 WebRTC 連線。
比特幣是一種用於無需信任的支付的點對點貨幣。比特幣支付通道用於建立安全的按需付費機制,無需第三方。
代碼在 MIT 許可下發布。
版權所有 2015 Streamium 開發者