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

Loading player…

Join the Swarm: how to run a light node or full node by Attila Gazso | Devcon Bogotá

DevconSat, Oct 7, 2023, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. https://archive.devcon.org/archive/watch/6/join-the-swarm-how-to-run-a-light-node-or-full-node/ Swarm is a decentralised data storage and distribution technology. In this workshop you can learn how to use Swarm, including running light node or a full node. Also there will be a demo for node operators looking to profit from storage incentives and they will be able to join the network. Speaker(s): Attila Gazso Track: Layer 2s Keywords: decentralized,censorship-resistant,storage Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 6 was held in Bogotá, Colombia on Oct 11 - 14, 2022. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

foreign [Music] welcome here in Bogota and thank you for coming I'm Attila and I'm From The Storm foundation and today I'm going to talk about this Farm the where the project is at the moment how you can run a light node how you can run full node and talk a bit about future plans as well so I don't know how many of you are familiar with swarm but basically swarm is decentralized data storage and distribution technology so also I'm not sure how much of your family are with this original idea of ethereum being the word CPU but at that the Swarm Origins coming from the same time and then at that time there was this idea of this Holy Trinity where ethereum is the word CPU swarm would be the the words hard drive and then whisper would have been the messaging system and like things turned out to be differently but still the the idea and the roots of swarm is coming from that so you can think of swarm as being the a huge hard drive based on peer-to-peer technology and then when I'm talking about swarm people usually ask me okay so how is it different from ipfs like this is the question that everyone is interested in and then um it's quite different but since the the goals of the projects are similar then I think it's worth mentioning like what are the there's some kind of core ideas that are built into swarm and maybe differentiating with different uh or alternative decentralized storage system so one thing is that uh swarm has a very strong focus and privacy preserving and uh being permissionless so it means that you in order to upload to the Swarm to the this world hard disk you don't have to have a node so that's a different from ipfs you have to have your node and I will talk about later like a bit more the the differences in like how the data is handled but then again going forward on this list like swarming interim native which means that it uses a lot of Primitives like crypto Primitives that are used in each room and also the smart contracts it uses are running on evm so it doesn't invent its own blockchain and it does not try to create that problem because that is solved by others and it's not the area of focus it has robo's defenses against blocking or changing access so that this is kind of the thing that we call censorship resistance so once data is uploaded to the network as long as there is someone who wants to keep it on the network then nobody else can take it down from the network or that's the idea and then I will talk about later where we are with that there is also a feature which is like Auto scaling so the the because this is our country this is a distribution Network as well the data is uh um you know when when the data is downloaded then the copies are stored on nodes and therefore uh it's it's available on more nodes so that it has this other this uh property that like more people you sharing the same kind of data sets the more it copies there are on the network and that can help with like CDN type of functionalities there's Integrity protection with content addressing but also there is mutable updates with sign chunks so you can have both of these things together and with that you can think of also like as a not only just storing like static data sets but like have data structures that can be updated and can be used for application layers and eventually it forgets data or content that is no longer relevant to preserve so as I will explain like you have to pay in order to get the data on the network and if nobody is paying for the data then it means that it's no longer relevant so it will be deleted so these are like from this you may get an initial impression and I will go to some details but not in a very deep level because that's not the focus of this Workshop it's more it's going to be Hands-On so don't worry just I just give a small introduction so that everyone is on the same page so basically when you upload data to the Swarm what happens is that swarm takes the data splits it into 4K chunks and then assigns the the I am done optionally currently it's optional and encrypt the chunks and then based on the chunks content address finds the nodes that should be storing it on the network and that means that the data is spread on the network so then you want to upload uh a data any data onto the network then when you have a node then it will find the nearest nodes that matches the content address of the of the data of the data chunk and send it there and then when you try to download the data the same logic happens so then basically you access any nodes and then it will find the route on the network and then get back the chunks from the the nodes that has the address closest to the chunks address and so that's the basics of like the storing data on Swarm and the main concept and uh also there are different kind of nodes so as as Farm evolved we realized that one size does not fit all and and then at the beginning we only had this full node functionality where like the nodes were storing data it was also used for accessing the network and uh like basically all the functionality were in the full nodes but eventually we realized that most people won't necessarily need a full node functionality so we separated like into different ways how you can access the the data on the Swarm Network there is a gateway that we provide as a as a free trial version so to speak there's an ultra light node which you can install on your laptop and then it doesn't use too much resources but then with that you cannot upload to the network because in order to upload to the network you will have to pay for the data for someone to store it for you and that's something that you can do with a light node and I will um I will install this on my computer like we will see like how the internet works so far it was not always great but let's uh I hope someone like sacrificed some goals to the demo Gods today so that we can have some luck with that um and yeah so we we basically realized that if you want to see like a web 2 kind of view of like these uh different products packaging then I can show you this that basically there is a free trial on the Gateway that you can access from the browser you don't need to install anything you can just go to this website you can upload it or download data but it's limited to certain size and then also that is the nature of the gateways is the Gateway operators must uh you know comply with the low and then remove some data and then at that point like censorship resistance cannot be maintained organized if you want to access directly the network then the the recommended way to do that is by using either the Swarm desktop app which is like easy to install and you can install it on your laptop or desktop computers and then most we recommend this to most people that want to create data and store Network or just want to Simply access the data on the network and it comes into varieties like this ultra light node which does not require you to do any kind of transactions on the blockchain but that's limited so then you can only access data but not upload if you want to upload you will have to buy the the Swarm native token which is called Bzz and then with that you can buy capacity on the network so that you can store your data and with the full node you can it has the full functionality but it also means that you need to run this on a more like more slightly on a separate server because like if you run the full node on your laptop machine for example it uses it may use your network connection in times that you don't want to it has to be around 24 7 because then that provides the availability for the data for others on the network so if you close your laptop then I will talk about later like you wouldn't be able to participate in the in the earning part of the thing so like how you can earn money by uh by storing data for other people and um so yeah like we realized that the the full node is not a very good choice for most people having running it on their laptops and stuff so for that we recommend the desktop app and the full node we recommend people who are more seriously want to store data for other people and then so maybe to recap like this like the light node considerations is lightweight use only resources if you request them on demand so it doesn't have to be running 24 7 and you can start without a penny so that means that you don't need to make any transactions to start using it but um later you can unlock it with more functionality and the full node has different Hardware requirements so like currently we recommend that you can start running at an Raspberry Pi with like 4G Ram 70 gigs of disk space it has to be an SSD so most likely if you want to use a Raspberry Pi you have to connect your external SSD to that because it's quite demanding on the disk storage system should be it's always on so it's supposed to be run 24 7 and you have to do one transaction in order to participate in the uh in being a full node basically you have to deploy a checkbook contract so that you can participate in something that we call the bandwidth incentives so let me just talk a bit about that so basically there are two kind of incentives there is bandwidth incentives that is like incentives like money that you can earn for sharing data on the network and then there's storage incentives that is like you can earn by storing data for other people and so like everyone maybe I don't have to explain here the importance of instances incentives here but like maybe what's relevant here is that like these two things are separate and currently um only the the bandwidth incentives are uh running on the on the main net So currently you cannot really earn by storing data for other people this is something that we are working on currently and this is on testnet so we are planning to Rolling it out like soon once the testing is done [Music] um and yeah so maybe just to show you like the the the data economy in the network is that what we see is that um what is interesting in swarm is that consumers who are downloading data from the network are actually paying for uh downloading data uh so um there is a way to to use it without paying but that means that your uh your speed is limited so that you don't basically the the nodes are prioritizing paying nodes who are paying for downloading content and so the the interesting thing here is that uh this enables a new kind of economy so uh like the currently the internet has this problem that by storing data can be quite cheap but the problem is that if you try to store a large amount of data and it gets your project yet successful and people start downloading data from you then suddenly your costs are not on the storage side but actually on the bandwidth side so if you're using Amazon or something like that then you will have to pay a lot for the the bandwidth and that can be for small project that can be like prohibitively expensive so um like storing like I know I had this example that's storing like 40 gigabytes for a year is like a few dollars maximum but like if there are like 10 000 people downloading that from you you can start paying like money in the ten thousand dollars range and then small projects may not be able to afford that and by changing this kind of Dynamics on making the downloaders pay can enable new kind of applications where even like small projects can afford to to host big data sets and also this enables hosting public data sets or common good data sets that we consider like for example Wikipedia data or or open street maps data or like it would be good to see like blockchain data it doesn't really make sense to blockchain it to be stored on all the the nodes it would make sense to have like one common good space where everyone could uh finance and and maintain as a common goods and there are many other use cases that this can enable and what I see here is that this can create this kind of new kind of applications where business opportunities can rise when data creators can create they create something that is stored on Swarm and then that can be shared with consumers and then here you can figure out like you upload data you get back the reference and then giving access to that data can be turned into business opportunities so that is also something that we considered sort of problem and now I'm going to the the more Hands-On part of the the workshop so I will go to the terminal and do some stuff that people does usually in the terminal and so the first thing I would like to talk about is that um so the the Swarm currently has an implementation called B and uh you can download B from the website and you can install it on your computer and then you can configure it and start interacting with that and uh so there is a Dev mode for this like I wanted to show this to you because that's quite easy to use and it's quite uh handy when you when you are not sure if you want to be invested in this and you don't want to spend too much time on that so basically once you have the B binary installed on your machine which is called B then this Dev mode can be just invoked with this B Dev it starts up and then it's ready to serve requests so you can access the the B API on the port 1633 and it also has some other functionality Imports 1635 like it's currently that like data related functionality can be accessed on the 33 port and then administrative functions can be accessed on the 35 and maybe I can show you like the um the documentation for this so like we have a quite complete documentation so how the API works and then maybe I will do this at the end like once I went through all the things so I just wanted to show you that basically like trying it in Dev mode can be quite easy and it does not take you a lot of time if you just want to try to um upload data download it check out filter API then and I this is the recommended way to do and then uh there is a desktop app so for that I will need to I forgot to do this but I will do some quick uh housekeeping so social support so I already have it installed on my machine so I need to basically um sorry about this so I just moved the folder so it forgets everything so you have you can go to the website and then on the website you can yeah it's later this is going to be handy so on the website you can download it and I already downloaded it so that it's on my machine and I don't have to rely on the network however like installing this like this is a completely networked software so in order to demonstrate this I I will need also network connection to be working but the point is that um so there's a desktop app it's an electron app so it's available on all major platforms Mac Linux windows and uh it has different versions that you can download so if you this is the GitHub page but you can also download it from the website and once you have this file on your machine [Music] okay right let me just find this like here download swarm desktop me sorry about this um zero okay so then let's do like how would you do it so I download the x64 DMG version because I have the okay maybe I don't do that okay sorry uh I will just open the downloaded version so you yeah okay I already installed it so I just need to start it like you install it as a Mac app you put this in the application folder and then you start it and uh yeah it starts with uh downloading B So currently it's uh it just uh yeah it's again I didn't think of this because on a normal Network this doesn't take too long and this is only needed because we support M1 Max so it has a different version and it has different B versions so it downloads the M1 macv version if you have a number MAC or M like apple silicone version and then it for me it's an old Intel Mac so it downloads that one and yeah after that so as you can see like this is a desktop app you have to go through the installer uh let me check like where it is so so it already created the things but downloading B mm-hmm so you don't have to wait for this normally it's like this uh if if this doesn't work out then I can I can show you the an already downloaded version and installed the only problem with that is that there is a step like when you download the app first it starts in a mode where um like it's a it's a this like ultra light mode so it's it's a limited version you can only access data but you cannot upload and in order to unlock this upload functionality you have to do the thing what we call the cryptoboarding and that is basically you have to fund your node so swarm the swarming that uses the diagnosis blockchain and that means that you will need to have some X die so that it can make the transactions for you and also for uploading data to the network you will need the busy Z token so my I will cancel this because like it's not it's not working very well and that's not good but I will show you the the network anyhow or the the version that I installed that I had on my machine installed already so I will just need to put this thing back the library application support and if you have that then when you start the app like that no Fargo yeah okay me that's the demo effect and then the network um yeah maybe uh so I'm yeah so I did some testing and they did not really work well so this is why I might try to do my network connection and yeah I managed to overwrite this for some reason that's not good but we will oh yeah that's true okay thanks for like in the in the when you're sharing your screen it's not necessarily the you see on these things I put it inside okay so that's good so we will need to do some yeah okay and we'll just put back the here remove the supports from desktop so it means someone is listening to the while I'm attacking and that's good news um [Music] all right okay let me check yeah so now you have all the files downloaded and it's already set up and for running yeah we just need to start it so in this case it just starts up as this one small icon and then it opens the UI in the browser oh and something is happening but this is not what I expected but anyhow the the point is that like if you have a working internet connection like then this is this is working so and then you can do this so yes I can use your computer uh you have HDMI Defcon Workshop Wi-Fi all right oops not that one that one so wait um something is working actually so we sorry what is the password that okay okay thanks thanks everyone all right let me see if it works better or not okay so it's somewhat working like it's I can show you the the most functionality of this thing so so yeah there is one warning which might just go away once in the network is in a condition where it should work so yeah like you can see that I have connected to 214 other nodes I don't wait yeah okay it's jumping around so this is not what usually happens but yeah it's like you connect around 100 nodes and 100 Pairs and then you can use that to uh to to upload and download data you can go here upload download so the only difference is that in the when you install it in the first time you don't have the wallet set up and you don't have this checkbook which is also not working at this moment but the the point is that at that point you have to do this Krypton warning and for that we actually have a way to like different ways to do like you can use either a gift code which we have here so if you are curious and want to try out and you don't want to buy busy easy then look for gas pair here and then he has a bunch of codes already printed and then like give it a good internet connection so that to to have a good experience on that you can also set up its uh with X die and we also provided some guides how you can do it with with a bank card but like maybe a crypto so don't do that uh use the codes and then so with this app then you can hear like you can upload and download content I'm a bit now scared to try it because it might give you the impression is not working but it is so like I will upload my presentation in this format I need to add the positive stamp okay I have one so there is this concept of postage stamps so when you have the money for for uploading basically the this postage stamp is something that you need to attach to your content and basically it's two things like you buy a capacit certain capacity for a certain amount of time so this is like the post we call it positive stamp and then you attach it I mean it's formatted easy to all your data that you uploaded and this is how the the node the store nodes know how how long they should be preserved and then this is also used later for uh the redistribution of the value of the posit slam so the node operators when they have the data stored uh in the storage incentives game but I will talk a bit about later they they participate in that and then they get they can get the value of these postage stamps so here I chose the postage slump and then I will upload it and then we will see all right so something worked uh I mean I this is a cheating a bit because I managed to upload the data to the my locally running swarm node so it doesn't mean necessarily that it it probably propagated to the network but um yeah it's like it would be good to share with someone and download that but like this is how it works like it generates this hash and you can just copy this hash and then share it with someone else and they can access the data with this hash from the network and yeah it has some functionality where you can manage your wallet and then your balance and your checkbook so the checkbook is the thing that is used for the the bandwidth incentives so if you if you are running a full node then this checkbook is uh you that you don't necessarily have to put money in it but if you want to download big amount of data then you can basically make it faster by by putting money in the checkbook and then how it works is that when your node is requesting data from another node then they create a balance between them and if your node is only downloading then your balance will be negative so then eventually you have to have to settle that balance and then you can do this with the checkbook and if you have a full node you don't necessarily have to do this because the full nodes are participating in in sharing the data and uh and then basically your overtime your balance will even out so you can also do that if you want to use your full note for uploading data as well but it's not necessarily to do that and then we have these postage stamps and then here you can see the statistics of foster sample manage for systems like this is a the idea for this is that you can like basically create different kind of content what you want to to share and for how long and then for those like different kind of categories you can create different kind of postage stamps and upload the data uh according to this category and uh there are also feature called feeds so this is the the thing that I talked about this mutable chunks or mutable data with sign chunks it enables you to to create like um a version that can be updated over time and then with that you can hear in this in this UI you can even use that as a for example if you upload your website then the basic model where you upload it will be like you can you will graduate the content hash of the data that you uploaded but that will change over time as you as you change your website so if you want to avoid the paying the cost for like updating your website every time in in ens and then point it to a different DNS record and pay the transaction cost for that you can this you can use this feeds functionality and then basically update you can you can update your feed and then your feed will also have uh fixed it's like not changing hash that you can put in ens and with that you can update your website through the feeds and that's for that you don't need to change the the cost on the blockchain and we have some settings here so this is the desktop app basically just a UI and it looks like it stabilized a bit so now we have all everything working seemingly and then we have like a normal number of Piers uh and yeah this population is not very correct so we we have some analytical tools and it shows that there are about 2000 nodes in the network currently so it's like not 80 not 3 800 and most of the nodes are actually like run by organizations that support swarm so there are individual nodes as well and you can also start your node and I will talk about that in a minute so I will just stop this down because like this is the so this is the desktop app if you want to try out look for that guy um okay so then there is another mode which like the full node so in order to do that uh you need to read a bit about like the the documentation and we just realized that it seems like most people recently doesn't really like reading or like reading documentation or it seems like the the way how to do this better it would be video maybe but so we have documentation about this but we often get questions from people like how to do that but actually the the documentation has this um like it describes the the necessary steps and then I'm going to go through this and explain this maybe it's it's complicated how it's written but this is what you need to do basically you need to create a config file add six or seven things to it and then you are good to go so let's start I will start from an existing config file because I already created this and I will go through that line by line so that I can explain like how it works so this is an existing working full node setup maybe I can make it bigger oops I made it smaller so um so yeah like first of all like you need to say tell me that it's your support you want to run it in full node so you have to do this full note through you have to specify a data there so like this is where your files live and then this is you have to make sure that on that disk where it points to you have enough space for that and it's also you have to make sure that it's an SSD so that it's fast enough there is a password don't use one but uh I mean that works for demo purposes and that protects your your wallet but like what we do what and what we say here and maybe what's important to mention is that um so when when you start B the first time it creates its own wallet and the reason for that is that we don't want people to accidentally you know import their their wallet with their funds in it and then you know like you it's much better just to start your your node without uh with that with an empty wallet and then fund it and then let it run uh because uh currently there are there are ways to to secure your wallet so swarm also uses a thing that may be familiar from running gets this clef so there is there is a version of clef which works with swarm which is called B clef but we found actually that's that was one of the source of the problems of installing your swarm nodes so that made it quite complicated and because of that we no longer recommend by default to to run it with clef also we recommend people that don't put a lot of money in their full nodes or um be in the in the storage incentives I will talk about like if you want to participate in the in earning BCC you will have to stake some money in it but the the current stake is like 10 BCC which worth like five dollars so it's I think it's like five dollars is not really worth the hassle of setting up a b clef and just you can secure your thing with a reasonable strong password then there are two other config options that it's also documented but um I will just style so the swap endpoint is maybe it's a it has this historical context so initially we had this the swap is called bandwidth incentives internally in swarm lingo and for that you need an RPC endpoint and I just added one it's a public endpoint but obviously you can use like on uh on diagnosis chain it's like you can use get block or or whatever provider you want to use or you run your own uh but so this is an RPC endpoint to access the blockchain and you also need an initial deposit uh config variable so by default it's not zero because as a historically we we recommended people to put some money in their check this is for the checkbook so in order to have some balance but we found out that in order to start you don't really need this and if you don't want to use your full node for uploading or downloading data then you can leave it to the initial deposit to zero in order to do that though like there is a an initial transaction if you want to run uh a full node it deploys uh uh checkbook contract and for that you will need some X die in order to make the transaction but that's the only initial cost that you will need and there is this thing which is documented also that you can fine tune your your B node to increase the default number of open files which is something that Unix system have like basically the open files can be open files but also the the network connections in Unix are represented as files and then we use quite a few network connections so it's better to increase the default values and then one more option is this resolver options which is only necessary if you want to use ens so there is ens integration of swarm that if you have an eth domain registered then basically you can you can set it in DNS record you can set it to your uh to your swarm address and then it it will work with swarm but it only works with swarm if you set up a resolver for that and since this is happening on ethereum mainnet this requires a different RPC endpoint that the swap endpoint so this is a kind of a trade-off and this is also optional and this this one this last option is only needed if you want to enable the debug API so we want to have access from the HTTP API to the internal um administrative functionality of your node most likely you want it so I have for the sake of completeness I added it to the to the default configuration and I will just try to run this so let's see um I will skip the step of like doing the running it one by one like uh so starting it and following the documentation step by step and then if that fails then adding the new one the new config line I just just I will just use the prepared config that I just explained okay um why there is no B here I will just use I have one I usually built from source so so okay address already news okay so there is something running here already it's not the ah sorry no I'm wrong wrong tab it was the the Death Mode full node B so this is how you start it you specify the config file and then you start it and then it runs I will make it a bit smaller so that maybe you can see more at the same time so what you can see here is that like you have a node running and then it connects to all these other nodes and then it sometimes locks things like this like you know you have to be familiar with these things I can show you how it looks like from the beginning so you start it it prints this B and then some things it prints out some public keys and addresses version the chain backend and overlay address so there is it uses a a different address than your than your ethereum address that it uses so that basically something that is it's a bit harder to just you know run a lot of random nodes and then this overly address provides some kind of protection against running a lot of nodes and trying to take over some part of the network so yeah and then at this point we have a full node running and maybe if the network is working maybe we can even try to uh okay close oh no sorry here I closed it all right I don't no longer have the the hash that I uploaded previously I just wanted to try maybe it's downloads so the the thing is that now it's if you start a full note from scratch it at the beginning it will start synchronizing data so the current full node capacity is around 20 Gigabytes but it also has some caching and some other overhead so it uses more data than that but it tries to like synchronize 20 Gigabytes of of data and that is one B nodes capacity this is something that we consider increasing in the future but for now it's like seems a reasonable uh default and then basically when you start an empty node then it will try to fetch as much as it fills up this internal uh storage space and so that if serve other notes from that so it may happen that if you run a full node then it might not be uh it might not be able to um or it may slow down your computer at the beginning or or you know it might not be able to access all the data immediately uh interestingly if you run a light node that is not doing any kind of synchronization it just asks the data from other peers and then it works as long as soon as you you install it so it does not have this synchronization period like if you use ipfs and install that you know that it also helps to wait you have to wait a few minutes until it becomes usable this is not the case with the Swarm light node but this is also the case with the Swarm phone and so like this is how you can set it up so um maybe yeah we have like two um 12 minutes left so maybe I can just I will just talk a bit more about like the the storage incentives part uh where it is currently so yeah the there is currently a test nut and the main nut for the Swarm Network and the test net is used is the the girly blockchain and then in order to participate in testing you will need some girly businessy we can provide that if you need if you want to try out in the Discord we have a Discord channel so if you join there and if you ask my mom to participate in testing then we can give you girly BCC for trying it out these codes are like actually like if you want to a private key so like if you want to try it on minute you can also do and then you can use these codes as a as a wallet private key and then from that you can figure out the rest you can import it to metamask and then transfer the money to that and so what's maybe interesting is like the current status of the project and where what are the next plans so uh currently the the storage incentives are on the test nut so that means that we are testing out this functionality it's quite interesting actually and I suggest you to read about it that basically there is a a lottery game kind of thing that so the nodes that have like the the chair the same partition of the network they collaborate on the blockchain in a in a game that like they have to uh commit the approve of the data that they are storing and they have to create the consensus on that and then based on that they select a winner that takes the the Pod but over time it's statistically everyone can win and that's how the the the the the distribution the redistribution of the funds are solved and uh yeah this happens through smart contracts so we will post um a lot about this because this is our current Focus area that we want to get done and once that's working that we are enable of like that will finally enable this uh data economy that I just showed you previously where like people can actually buy capacity on the network and the node operators are compensated for their efforts and so that's one thing that is the current effort that we are doing and after that we we will work on making the like be more uh stable for like handling bigger data sets and um enabling it for for uh use cases which uses like it requires on bigger data sets like for example like video and stuff like that and once that's in place then there that can open the the uh swarm as a application platform for application and then storing data on that and that can generate like the the activities on the network and we are also going to upload some initial like public good data sets that we talked about like so that do bootstrap the network and make it useful from the get-go but also to compensate early adopters who participate in the in the mainnet and then eventually we expect that like others will follow and they're therefore like uh we can bootstrap this data economy and then this can be a self-sustaining system so this is the the what I wanted to tell and we have some time left for questions so yeah [Music] [Music] so it has a limited capacity so it's 20 Gigabytes currently what it uses and like it uses existing data in the sense that like it's it's it will populate it with data that is already uploaded to the peers so that it will connect their peers which has similar address space and then fetch the data from that so that they basically share the data in a partition of the network and for that the capacity currently is this 20 Gigabytes you can also pin data on on your node and that's an extra space that is used but also pinning is a bit different in this context than ipfs so because like if you pin data on your node it doesn't necessarily mean that it's available on the network because your node will be only contacted by other nodes if you are if if the data hash matches your node and then if you upload your data it's not guarant it so then it only means that you from your node it will be available that can be useful for some use case if you want to make a Gateway for a web to kind of like so as a Gateway like for for like compatibility or for applications or websites that does not have like built-in integration with swarm so like basically providing a transitioning phase uh but yeah so that's that's an extra capacity and that's not counted in the in this uh what we call these called the slantic earbuds it's called the reserve space and this is what you need to prove actually when you participate in the storage incentives that you are storing the data yes uh yeah so there's a lot of other decentralized storage networks yes um I'm trying to figure out what uh does swarm differentiated so buy its approximity to ethereum if so what uh for synergies does it have point ethereum that other so yeah I didn't really want to go into this part because like this was meant to be a workshop and not necessarily a marketing talk but yeah so I this is what I wanted to talk a bit about in the beginning so yes so for example like the the thing that for example the the built-in incentivization is something that differentiates from from others so like with ipfs there is no incentivization you can have incentivization with Phi coin but Phi coin is actually not the same thing as ipss so it requires to run a different demon and then it's different tooling and the different trade-offs so what we feel is that like this is an integrated solution that seems to be easier to set up and may serve some use cases better and then we can discuss like what are those use cases so I mean what we feel is that with ipfs you store files and folders and that's useful for many things but we feel that for example swarm you can store like data structures that can point to to things and then application basically you can create like databases and applications that store those form and use this form as a backend so it's like not only not only for storage but also for like messaging and and there's a decentralized cloud not only just the storage part okay here sorry um um two questions quickly uh number one uh as I understand uh you have to that you have to pay to download and pay to upload right yes uh okay second question um you said something about graph using clef in the installer for example when you're using multiple Hive clients in this as a single cluster but uh the the documentation says he recommends it using clef but you right now you said a few minutes ago that it that probably that you're having a little bit of problems with the clef swarm so how does that work so what I recommend here is that if you want to try out running your own node start without clef if you have multiple nodes and you want to manage the keys for them and you want to basically have an operation running multiple nodes then consider running it with clef but by default I think it's easier to start without clef and what was the first question sorry uh yeah they upload them though yeah yeah pay to upload pay to download yes we have three minutes left any other questions yeah so it's uh regarding the download and upload payment so what let's say we have this app YouTube or Netflix running fully on Swarm and there's content that's very viral and everybody's watching it and of course you as a provider you don't want to pay for the bandwidth so in terms of a user experience that means that every user of this app will have to have a some sort of a wallet that will have to pay for that content to consume it so yeah that's a good question so what I imagine this is that basically this depends on the application layer and how the application layer manages this so like in this regard like swarm is the if that we talk about like it's a decentralized cloud then it's again like somehow applications can abstract this away so also on YouTube you don't pay for like Google Cloud but like you pay for the YouTube and then how it handles this problem in the background it's a different story so we don't have all the answers to that but like one way to do that is or one way how you imagine this is that this post is the mechanism currently it's tied to your node but it's it doesn't have to be that way so it can be actually portable and then basically you can you can you can make your application handouts postage stamps and then with that it can enable uploading even in the browser without having to connect to a full node or like having to have capacity for for things so that's we have ideas about that but this is something that still needs to come and applications are built all right and I have a question here uh you show us that in this one take an R shift and divide it in small blocks um well sharing the network what happened if for example for example my now is corrupted and after this project and what happened if I'm user want to make modifications to the fire so the so all the all the data on Swarm is is stored by this content hash so basically you can with that you can detect if the data has been tampered with or like changed or corrupted and like all the data has is replicated on the network so like if only one node is changing the data then actually it can be caught and actually it will be called once it's uh participating in the storage Lottery and make a claim for storing data that they have they actually need to make a uh they they have to create a cryptographic proof and when doing that it can it it will reveal that like if they tampered with the data or changed or corrupted then they cannot really so at that point they might lose their stake and stuff so in this regard like the system has Integrity production built in and uh and yeah so how to put it like yeah so the the content hashing makes a lot of things very easy in this regards like the content address hashed yeah we also have a Brands program if someone is interested in in developing apps on Swarm then we are looking for ideas also and we the thing is that we don't want to build everything like actually we want to build as little as possible and then create this ecosystem where people participate and create their own stuff and by that contribute to the to the network and the common goods you have a question yeah yeah yeah so it's written and go and go provides like easy way to compile it to any platform Mac Windows Linux you have Farm version everything so I I managed to even run it on my phone so on Android so yeah all right if there are no more questions then thank you [Applause]

Automatic transcript — names and jargon may be misspelled.