Streaming video tanpa kepercayaan yang terdesentralisasi menggunakan saluran pembayaran bitcoin
Streamium adalah aplikasi streaming video berbayar yang sepenuhnya terdesentralisasi. Ini memanfaatkan berbagai teknologi sebelumnya seperti bitcoin dan WebRTC untuk mencapai streaming video bayar sesuai pemakaian tanpa perantara.
Pembuat konten menawarkan layanan streaming mereka dengan imbalan bitcoin menggunakan saluran pembayaran dengan klien, mengalirkan serangkaian transaksi bebas biaya tanpa risiko pihak lawan.
Untuk menjalankan Streamium, cukup sajikan direktori root menggunakan server web apa pun. Misalnya:
cd streamium/ bower install npm install node server.js & node ssl_peerjs.js &
lalu mengaksesnya dari browser apa pun yang mendukung WebRTC:
https://localhost:8443/
Pengguna penyiaran membuat saluran dengan menentukan nama yang akan digunakan (ini akan menjadi pengidentifikasi unik untuk aliran video). Dia perlu memberikan alamat pembayaran tujuan pengiriman dana dan tarif yang dia harapkan akan dibayar oleh konsumen streaming. Dia akan menerima tautan untuk dibagikan kepada calon konsumen aliran tersebut.
Bagi pengguna konsumen, aplikasi web akan bergabung dengan saluran tersebut dengan membuka koneksi peer to peer ke penyedia. Layar akan menunjukkan tarif yang dibebankan penyedia, kunci publik penyedia, dan alamat pendanaan.
Aplikasi web konsumen akan menghasilkan kunci pribadi dan menampilkan alamat di layar sehingga pengguna dapat mendanai saluran tersebut. Setelah transaksi yang menambahkan dana ke alamat ini terdeteksi, saluran pembayaran dibuat dengan meminta server untuk menandatangani transaksi pengembalian dana dan menyiarkan transaksi komitmen.
Ketika server menerima transaksi komitmen dan siap untuk mulai menyiarkan, transmisi video ke pengguna tersebut akan dimulai. Pengguna secara berkala akan mengirimkan transaksi yang ditandatanganinya ke server (seperti menandatangani cek yang tidak akan diuangkan) di mana setiap transaksi secara bertahap menambah jumlah yang dibayarkan ke server. Ketika pengguna berhenti membayar, atau koneksi terputus, server akan menghentikan transmisi dan menyiarkan pembayaran terakhir yang diterima.
Streamium adalah aplikasi web HTML statis sehingga tidak memerlukan server untuk dijalankan.
AngularJS digunakan untuk kode aplikasi sisi klien (dan tidak ada kode sisi server!)
WebRTC adalah protokol komunikasi browser ke browser yang digunakan untuk berbagi aliran video antara klien dan penyedia layanan. Ini memungkinkan berbagi data dan media tanpa server pusat. Kami menggunakan PeerJS untuk mengelola koneksi WebRTC.
Bitcoin adalah mata uang p2p yang digunakan untuk pembayaran tanpa kepercayaan. Saluran pembayaran Bitcoin digunakan untuk membangun mekanisme bayar sesuai pemakaian yang aman tanpa memerlukan pihak ketiga.
Kode dirilis di bawah lisensi MIT.
Hak Cipta 2015 Pengembang Streamium