비트코인 결제 채널을 사용한 분산형 무신뢰 비디오 스트리밍
Streamium은 완전히 분산된 유료 비디오 스트리밍 애플리케이션입니다. 비트코인 및 WebRTC와 같은 다양한 이전 기술을 활용하여 중개자 없이 신뢰할 수 없는 종량제 비디오 스트리밍을 달성합니다.
콘텐츠 제작자는 클라이언트와의 결제 채널을 통해 비트코인과 교환하여 스트리밍 서비스를 제공하며, 상대방 위험 없이 일련의 무료 거래를 스트리밍합니다.
Streamium을 실행하려면 웹 서버를 사용하여 루트 디렉터리를 제공하기만 하면 됩니다. 예를 들어:
cd streamium/ bower install npm install node server.js & node ssl_peerjs.js &
그런 다음 WebRTC 지원 브라우저에서 액세스하십시오.
https://localhost:8443/
사용자 방송은 사용할 이름을 지정하여 채널을 생성합니다(이는 비디오 스트림의 고유 식별자가 됩니다). 그녀는 최종적으로 자금이 전송될 지불 주소와 스트림 소비자가 지불할 것으로 예상되는 요율을 제공해야 합니다. 그녀는 스트림의 잠재 소비자와 공유할 수 있는 링크를 받게 됩니다.
소비자 사용자의 경우 웹 애플리케이션은 공급자에 대한 P2P 연결을 열어 채널에 참여합니다. 화면에는 공급자가 청구하는 요금, 공급자의 공개 키 및 자금 조달 주소가 표시됩니다.
소비자 웹 애플리케이션은 개인 키를 생성하고 사용자가 채널 자금을 조달할 수 있도록 화면에 주소를 표시합니다. 이 주소에 자금을 추가하는 거래가 감지된 후 서버에 환불 거래에 서명하도록 요청하고 약정 거래를 브로드캐스팅하여 결제 채널이 설정됩니다.
서버가 약정 트랜잭션을 수신하고 방송을 시작할 준비가 되면 해당 사용자에게 비디오 전송이 시작됩니다. 사용자는 주기적으로 자신이 서명한 거래를 서버에 전송합니다(현금화되지 않는 수표에 서명하는 것과 같은). 여기서 각 거래는 서버에 지불되는 금액을 점차적으로 증가시킵니다. 사용자가 지불을 중단하거나 연결이 끊어지면 서버는 전송을 중단하고 마지막으로 받은 지불을 방송합니다.
Streamium은 정적 HTML 웹 애플리케이션이므로 실행하는 데 서버가 필요하지 않습니다.
AngularJS는 클라이언트측 애플리케이션 코드에 사용되었습니다(서버측 코드는 없습니다!).
WebRTC는 클라이언트와 서비스 제공자 간에 비디오 스트림을 공유하는 데 사용되는 브라우저 간 통신 프로토콜입니다. 중앙 서버 없이 데이터와 미디어를 공유할 수 있습니다. 우리는 PeerJS를 사용하여 WebRTC 연결을 관리합니다.
비트코인은 무신뢰 결제에 사용되는 P2P 통화입니다. 비트코인 결제 채널은 제3자가 필요 없는 안전한 종량제 메커니즘을 구축하는 데 사용됩니다.
MIT 라이센스에 따라 공개된 코드입니다.
저작권 2015 Streamium 개발자