New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Alejandro Perona Morales: BlockTube | Swarm Orange Summit Madrid 2019

SwarmWed, Oct 9, 2019, 12:00 AM

Alejandro Perona Morales: BlockTube, decentralized video using Swarm BlockTube is a POC video platform that uses Swarm to operate in a decentralized way. Swarm is used for storing the uploaded videos, as well as all the necessary metadata to operate. I started developing BlockTube as my final degree thesis (i will present my thesis this semester) back in October 2018. At this time BlockTube allows having a channel that can upload videos and follow other channels. Swarm Feeds are used to be able to mutate the state of channels (add video, follow other channel). Videos can be uploaded both in mp4 and mpeg-dash. About Alejandro I was born in Madrid, Spain in 1995. I’m currently finishing my degree in Telecommunications engineering. Since last August I’ve been working at Epic Labs as a developer. In the past I’ve made some contributions to the swarm docs, more specifically to the Feeds section.

Transcript

good morning everyone so yes Collier said today I'm gonna be talking about block 2 which is a proof of concept video platform which is built on top of swarm I started developing block tube as my degree final project and after that I just kept in my spare time adding features and trying to improve it the core of the whole block tube is based on swarm feeds that's basically how how it operates well that's basically swine feeds allow for block tooth to work without swarm feeds there would be the need to use a block chain of some sorts to to to make it work so well I think we've had a lot of talks about swarm feeds yesterday but to recap so the core thing about strong fit is that they allow having a static reference to changing content arms form which for me and I mean the biggest thing of this is you avoid some sanctions with a block chain for a lot of use cases that you would store things in in a smart contract small strings like hashes to index you can do this with swarm feeds guaranteeing security that only the owner can do it and those things and well also the feed is defined by a user and a topic a user is in the serum address and topic is an arbitrary string xn coded I think is 32 bytes max and well yeah as I can say as I said only the owner of a particular feed can update that feed so the basic architecture of block 2 is a video content and the metadata of the platform is stored in swarm as a regular traditional YouTube for example channel you can upload videos and subscribe to other channels to see what they have uploaded and a channel is represented by a feat whose topic is bkt channel that's a convention I I agree on and that's what I went with the bkt channel feed is pointing to a JSON that has two fields basically one is a blos topic the other one is subscriptions topic with these two topics gonna be able to fetch two feets one is gonna be in charge in our in charge of keeping track of the uploads and the other one is going to be in charge of keeping track of the subscriptions of your channel so here is a it's basically how how it would work for uploads you will have the feed I taught with the lowest topic and the top that feed would have a hash that points to a JSON that is that has these aspect so you have the hash of the video you just upload it and you have a hash that points to the previous update in case that there's one so you can just start pulling the string till you get to a last JSON file whose previous update is empty so you just stop and you know you have all the uploads of a particular channel this is a little bit of zoom out so we have the bkt channel feed in the top that links us to the JSON with the uploads topic and the subscriptions topic in disguise with uploads we just get whatever a blue topic is the user will decide this right now I'm using quote quote a blos topic so we will get to that feed will see what that feed contains which would be a hash pointing to the upload file and then we can go back back back to see all the uploads with the subscriptions is basically the same again we have a feed which we will update every time we subscribe again with the hash of the new file that will be linked to the previous one and so on so on so same you can get the first JSON which would be the last step you made the last subscription and with this file you can just go back in time till the first subscription you you make here's again in the bigger picture and kind of a recap so the core is these two feet one represented by subscriptions topic and the other one represented by uploads topic and so with that you basically can can keep track of a channel what videos does the channel have and what subscriptions the channel has so the client the client I've implemented is written in typescript using angular I'm using a rebus there's library to handle swarm feeds and basically what you can do is you can create an account you can follow other channels you can upload a regular mp4 video and you can upload mpg - adaptive bitrate content okay so now I'm gonna do a small demo so this is the aspect of blog - right now we're where we are seeing a channel which is this hash this is the user of the channel we are viewing and here he appears that that guy has uploaded one video so we could watch the video this in particular is - video this is all hosted in swarm in my local node and it's being streamed from there so we can log in here which is basically what does is it encrypts a private key that is stored in your local storage the first time you enter the platform I will do it now you will be prompted an account and their account everything related to icon will be storing your local storage so right now what I've done is the encrypted the private key so now I can go to my child and let's upload a video there's a poetess video I have one here pretty sure so ranae we check the network here we have all of the other of the petitioners that are being made to farm to this worm node and this last one is the the update of the feed this big big post I don't know if you see it correctly but the video should be uploaded and now if we go back to to the channel we should see two videos they are the new one which is a simple video also was mpg - so if I switch a bit bit ready to change the bitrate to 180 let's see well it's taking some time to load but that's basically what it is and we could subscribe to any channel we want here with the add subscription field which I can try to subscribe to myself for example [Music] so we should be done by now see so now if i refresh we should see here in subscriptions subscription that disappear which is the same because is the channel which is my own channel so we're just seeing what we have but you could basically just okay subscribe again so if we subscribe to another if we subscribe to to you want to subscribe to another subscription we just the next subscription and the scheme I talked about before a new Jason is going to be created that points musician and so on so on so again another subscription should appear and what's the same but that is another subscription and that's well that's basically the features that right now block 2 has is upload videos subscribe to the channels and watch their videos and well I'm gonna talk a little bit about what I've found are the biggest challenges right now that at least not using a blockchain you cannot do and the first thing of course is not be able to explore other channels there's not an index you can check to see what channels there exists the only way to stumble upon a channel is having the address of that channel you cannot Explorer in the sense of hey let's see what channels there have been created because there's no there's not an index of course a solution could be created smart contract where people can post there are channels so people can go check that that would be a solution but again it would require people to pay money to transact with a blockchain and then the second one which I guess could be we could say that the biggest one is you cannot like a video are not straightforward way and there's no other straightforward way to keep track of the views of a video I mean this this problem is the one that I haven't really been able to think of a possible solution to the abuse problem but I'm pretty sure that it's going to be a it's going to be a thing that would be possible at one point that's basically for the future what I want to do is be able to recommend content feature content is awake would be to show videos of people that your subscriptions follow you could build kind of like a tree of videos of subscriptions of creation of subscriptions that could be away another way would be people could run their own notes that people trust that that guy's knows what videos are good he has a good taste I'm gonna just follow his recommendations maybe pay him for the service who knows and then integration with technologies likes it right now such as basic attention talking that would allow pain for example to people that have no videos these are kind of brainstorm things that I've been thinking of possible things that will be incorporated and of course life peer which i think is a really a really really good use case to mix with life peer which basically does the courrier what block two would be doing I guess

Automatic transcript — names and jargon may be misspelled.