Ethereum Swarm - Swarm Beta Event - Ecosystem Update
Swarm·Fri, Oct 9, 2020, 12:00 AM
Website: https://swarm.ethereum.org/ Date of the event: 28th September 2020
Transcript
i would like to ask gregor to again show you his camera and um join me on the screen oh you have the same background i thought you were like gonna switch backgrounds all the time no no next time next time good idea is that like is it the secret binary message you have there or um let's take this offline i cannot confirm or deny this now i i think it's a mnemonic right in binary code oh anyway you're yeah i'm yeah i cannot comment but igor knows aegon knows okay so anyway what you probably can comment on is um what we will be discussing next um this next section is about the ecosystem which is basically all the projects and people um around swarm that make this endeavor happen um now first thing we should talk about i think is um well fair data society i think this whole section is sort of about ferdinand society i would call do a call to go to practical stuff as soon as possible because i feel like the crowd we have here and the audience we we are attracting um is totally with us if we talk about ethics and if we talk about principles etc so i would love to you know show just show what we have been working on because this is so exciting so gregor but let's first maybe go through the ethics and uh you know why is ferdinand society so important for swarm and vice versa so uh thank you michelle so uh i'll try to keep this as brief please do interrupt me uh because um today we had the great workshop where we had the time to speak you know and uh i would invite actually everybody who wants to know more about this topic to check out the workshop and to join next time new uh workshops essence in essence uh it's storm is growing which is uh what we've been communicating throughout also the previous events the efforts are growing and what we also see today is there's a lot of moving parts uh the panel we just had is very informative and it's a world on its own in this regard you know uh we are now i know a bit of a spoiler like also the demos that we are going to see it you know it's exciting so uh but at the same time it's um also developers we all we want essentially to build good things also not just things that work and uh in order to do this uh and in in a way that we do it well we need to do it in a collaborative way and uh for this it's also important we have shared understanding and sort of like also defined shared values so you know also in swarner's case uh swarm we're good at code we're good at developing uh at the same time we also want to see uh we speak about fair data economy you know to in fairly to emerge fair data economy not that mistakes of the previous internet are repeated are you basically saying that the developers don't have ethics no no not at all i think what i'm saying is that we need to speak about this i think uh what that we need to align and that we need to basically through through such alignment we can do better and we can maybe avoid some of the mistakes that were done in the past so do you think do you think that like like a lot of the you call it mistakes from the past but i mean you're such a nice guy right i would just say like it's a big scam i mean you're not i'm not convinced if i look at the social dilemma they say like yes but nobody meant to do harm like and then at the same time i read that mark zuckerberg ordered his people to make facebook as addictive as cigarettes so i mean i just want to point this out because because it's so easy for us all to say like um we are we are doing things by accident and if and then and you might develop a nice thing like a like button and then if you scale it up then it becomes a problem etc but this is i mean i'm not i'm not i mean i mean i don't agree with this like in in many cases it's the it's basically the incentives of an old-school capitalistic world that leads to these kind of yeah um can i can i can swear right like up situations and yes and so how how do you think than that i mean it's it's it's i'm sorry i don't want to attack i don't want to attack your um no no um but but like how how can we make sure is is talking about ethics enough i mean to me it feels almost like everything you develop every time you write a line of code you you are stating an opinion right even even if you're just a front-end developer and you're you're choosing a css rule even if it's a caller you're opinionated right yes exactly and uh we all are human you know it's like we we also incorporate our own biases or we don't think about uh things so uh that's why it's you know the social dilemma movie is great but the takeaway what what i miss actually in the social dynamic movie is the talk about principles i i missed i missed that they would say like let's do like this kind of apps you know let's have like this framework to evaluate let's think about this let's think about how what kind of world we want to live in yeah so this is a big political question then right it's not it's no longer about i mean we can we i think we can it's sort of easy to map digital ethics to you know human rights and we talk about digital human rights etc but living in a you know capitalistic or neo-capitalism is is or a neo-liberal system that's not it doesn't seem like ethics right this is politics so where do you see the the the border between ethics and politics i think it's like i basically see my ethics a bit like meta in the sense that just by you know engaging uh with ethics it brings some questions to the forefront it structures the dialogue this can be also uh be applied in politics itself it could take the politics to the next level it's in the sense what we are seeing today it could be also argued from the ethical perspective that this void that we have because of the lack of the shared understanding and values has been filled with this consumer capitalism messaging that goes on more like lower impulses of the emotions and you know to promote our provocative reactions instant gratification it's like the misaligned incentives that we speak but do we know how to design aligned incentives how do we think about this you know and here here the principles that we try to basically use uh that we start a dialogue and that we coordinate as an ecosystem play a major role because uh they we are creating creating together our space our mind space it's like we're with with the shared understanding uh we are in essence united in what we want to see to happen yeah what we want to do it's still yeah i mean i i totally agree when we talk about design ethics and technology but i still still i wonder how aligned this entire space is if you if you start talking about um do we for instance the question would be do we agree that there's like unlimited growth you know you would say like in capitalism it's about like unlimited growth and and gain as much as possible for yourself you know get a big chunk of the of the market cap of whatever token we're talking about right and so i would argue that this is a fundamental problem this is what leads to the behavior that these companies are doing and well anyhow i mean i mean it's it's it's it's something i've been thinking about a long time the last couple of weeks and especially this movie the social dilemma made me realize like it's it's not only a question of technology or or it's not only a question of you know incentives and business models it's it's like a way deeper problem that goes back you know like maybe probably like thousands of years that we have to think hard about um but anyway exactly and you know and at the same time we see this translates uh usually into a simple metric net screen on time or stuff like that you know where it kind of reduces the person us as the product to one metric and what kind of behavior uh wants to be uh triggered yeah i think i think that the point i want to make is like um we're not only a metric in digital space i think most people working in companies uh um are being measured in metrics like how many hours they work how many sick days they have um you know so anyway let's let's get into this maybe let's maybe let's have the code speak more a bit yes exactly so that's that might be a solution i think you know just just write code and if people use it then you don't have to talk about opinions and politics anymore because you know it's it's it will be in the tool itself and i don't know who said it and it might have been steve jobs but the i believe that the world will be shaped our community can be shaped by the tools it is using right i mean this is how we got this far as a homo sapiens by you know by the tools we were using our society changed and maybe this is the next step so let's talk about tooling and and and before we conclude this we need to give a call to action that yeah we we invite everybody to check out the the principles to see the uh what they're about and to challenge us to engage the discussions thank you so um so if we have housekeeping messages i'm sorry i totally ruined it but going into this activist conversation um we'll come back to that later so first of all i would like to invite uh dan um to um yes i'll see you later gregor so dan are you there i am here yes thank you michelle do you have an opinion do you have an opinion on this conversation yeah it's not about ethics no i think it is it's fundamentally important and even coming from a developer's perspective you can see that the dark and light ux patterns that are built into the apps are absolutely fundamental to guiding human behavior i think it's something that we need to think about as devs and and really consider how we're fundamentally changing people's lifestyles and causing them to go down different paths i'll leave it up here now i'm going to mute myself and and give you the the stage of the screen okay thank you so yes i'll get onto the slightly more concrete subject of building apps on swarm so with the beta release we're really getting to the point now where we've got a really impressive set of tooling to be able to start building applications on top of the swarm network and we're in the middle of quite a fundamental phase shift with the way that this works previously the swarm clone has been kind of uh monolithic and and all encompassing but we're now moving over to a slightly different scenario where the the client itself is is more concerned with the disk and propagating data through your network incentives layer and so on um it still provides a rich api but we have much like lower level access now as the basic swarm primitives and this really opens up the possibilities of what we can do in terms of app developments and we're really only just starting to scratch the surface of all the different paradigms that we can build on these basic wonderful primitives that um this warm team have dreamt up for us so um i'll share my screen i'm really the the best entry point uh by far is just to go straight to the documentation um we're concentrating on the the actual functionality of the client at the moment but there's starting to be so many more um so many more possibilities for what to be able to do so you can do go stocks eat swarm dot org and browse through we've got a nice new set of hopefully very clear documentation do feedback and let us know what your experience of that is and any issues that you find or any improvements that you think we might be able to implement for you new in beta is pss messaging and go and check out the tutorial here so this is like essentially a pub sub system that sits on top of swarm using the trojan chunk primitive which i'll discuss a little bit more later so you essentially can subscribe to a websockets feed and then other users can send information across the network that is only able to be decrypted by use we've got a zero leak communication pub sub system and this is just one of the possible ways to build applications on swarm there are basically three different trunk type primitives and content address chunks single owner chunks and trojan chunks all of which that can be used for different purposes and these low-level primitives are discussed at length in the book of swarm which we encourage you to read there's a section on advanced high level structures that are built on top of it the basic disk this for example is a discussion of application um whereby all of the individual users is represented by the different colors dots here own their own data and contain retained sovereignty over it but then in order to increase the efficiency and to make this kind of stack up from a scalability point of view there's this aggregation procedure that takes place um there's other things we can discuss such as the universal outbox feed so this is an example of how to put together persistent messaging over the top of the swarm using single owner chunks you can see here in this this is one more complex um implementations that's discussed the idea of sending multiple singular chunks which are deterministic based on their topic and index um in such a way that the uh receiving user can actually pre-empt their about arrival um creating a low latency messaging system chat and so on and so forth like various kind of like forward messaging um forward secrecy rather backwards secrecy and so on this is an example of the the trojan chunk itself whereby a nonce is used to minor chunk that naturally falls into a node's neighborhood of responsibility and then all these chunks are processed to determine which trojan chunks and those that are found to be messages have been revealed only to those with the corresponding decryption key so at the moment we're just at a point where we've really got to grips with what should the client library be we've had a long proof of concept so watch this space for developer tooling coming out to enable like javascript access to these low-level primitives that you can then push chunks directly into the swarm and then on top of that we're also going to be looking at building um more high level libraries fds js was approved concepts built on the old school swarm client and you can see this as i get the github repo and the fedex society has high level constructs that enable accounts to be created it interacts with the blockchain and enables send messages upload files plug your own contracts in so on and so forth so it's really like we're looking at providing like a jquery query or like rails level interaction and this will enable uh then apps to be produced as simply javascript files and then all of the rest of the infrastructure works on the swarm which as we've mentioned completely changes the game in terms of development because not only do you not have to maintain a large back end infrastructure but you also don't need to directly pay for that because your users will cover the costs themselves incrementally and peaceful so yeah do that get in touch with us we're basically we want your use cases at the moment so we're looking for um people to get in touch with us and for us to be able to support you to build your applications on swarm um we've got bandwidth at the moment so not only help you find your way through the process but also to directly support you and maybe even respond to your specific needs if they're not already catered for so that's about it from me go back to michelle well thank you so much dan as always it's so much i mean it's really relaxed listening to you explaining stuff to be honest i always go sit back a little bit and yeah it's probably your voice and the beard anyhow um thank you for that and as dan said like if you're looking for uh use cases uh i think when are we announcing grounds i think fedex society also um is last time you announced some grounds then i mean you were playing uh center class what is it santa claus yes well well we may have that announcement a little bit later in this segment i believe oh okay sorry thank you for reminding me of the of the program okay so i think then next up um is zahur um hello zahor are you there and this is gonna be the um this is one of the things i always look uh look out for or look forward to the most because zahur is going to show us very hands-on um what he has been working on for the last couple of months um are you there i can't see you but thank you michelle i'm there there you are awesome yes okay so please um go ahead do your thing yeah it's actually a little late so i am sort of feeling sleepy so yes because maybe you should tell what your time zone is where you are in the world because otherwise people will think you are lazy uh yeah so i live in india um my name is i'm involved in some project for the past i think three three and a half years uh on and off um so yeah so um i'm going to talk about actually a project called fair os now let me share my screen with you where is that yes the browser okay so this project is something which i managed to work when i was working with swamp full time i believe that this is important for the adoption of swamp and this comes under the fair data society umbrella uh so before going into what is uh fair os or anything like that i'm gonna slip and skip some slides and come you know and come actually directly to what what this is all means so if you look at the fair os it is split into two major uh layers one of them is called ferro dfs which is decentralized file system which is what we are going to talk a lot about today uh so to give you a context we know about swarm swarm is very good at providing fundamental blocks to build a web3 storage system when i mean fundable blocks it builds all the protocols necessary to do all these things it it builds stuff to you know add more tooling on the top like single owner chunks uh it builds fundamental stuff like trojan chunks which enable pss message kind of thing so it it it really concentrates a lot on building the fundamental stuffs and making it perfectly right so uh and now um we have a lot of application developers who want to work uh by storing their data on swamp there are different kinds of applications there are different data access characteristics of each application and all such things so one of the things that which came to our mind is that why don't we accelerate the development of uh these third-party apps or this dapps that people try to develop on top a lot of them are used to web 2 kind of uh interaction in the in the ui world and what if if you could actually provide a very similar interface to them but at the same time make them use of the entire web3 portfolio right that is like giving the cake and having to eat it too right so uh what we try to build is uh i mean a layer called fair os dfs dfs stands for decentralized file system uh so what it does is that the it does some major functionalities like user management how to create a user how to store the metadata of the user how to store the the key of the user such that it's available only to the user but still it's present in a decentralized system uh i think the second most important thing is is is to provide a logical file system on top of swamp uh we did this effort long back three years back by building a fuse operating system uh like if like a fuse uh driver on top of swamp to mount the entire swamp uh collection into a normal linux file system but what we thought is that we need something more we need something more which is structured which is controlled by the user which doesn't have any kernel interactions everything is user side and all these things so this logical drive provides lot of information like that and then comes a lot of other things like permission management when i want to share files with others when i want to have a group uh logical drive like nfs drive across an organization where a lot of people have permission to read and few have permission to write into that and all these kinds of stuff and then uh i think the very important thing is is about file formats this is something not directly related to a file system but i think it's important to create something like this because to actually cater to the needs of different access patterns of the data some application might need really fast access patterns some application might need a lot of data in actually a batch fashion some application might need to store streaming data and retrieve this data all these things so a lot of things i mean i don't have actually time to say about this uh and then at the end what we also want to build is some kind of native swam native index data structures so that we could help build people uh dynamic apps apps which can change state or which can store the state which can update the state uh which can uh be very dynamic like we have today like we have the apps like today right so for them uh to store data in an immutable file system and then uh to update the data needs some logic that needs to be thinned off by the developer side so what we thought is that we all encapsulate all these things in a very nice package and expose apis and rebel commands and data drivers like sql drivers and other data drivers so that applications can start using this data like normal [Music] like normal database or any other data of data storage systems that they are used to like nosql or whatever so this is what we built it and this can be used for applications like dapps like fair drive fair drop these are exampled apps um which can start using these things or you can use the existing big data frameworks that is there in uh that is there out there that a lot of open source people use to process large amounts of data and still store the data in swamp so that the data is very confined to users it's permissioned you don't just you know take out the data of some user without this permission and all this stuff so this is the major use case so now i'm going to directly jump to two use cases uh one use case talks about uh the introduction of fair os dfs because that is the only thing that is uh that we have started doing and the second thing is about how to share file between two different users who are connected to two different swamp nodes and and how can they share data and how fast is it so i'm going to go to uh the demo here the first demo what you see on the top is actually it's actually a b node i started my local system and what you see in the bottom is actually a dfs node i start in the local system i point the dfs node to the b node and the stats so the b node starts it's a newbie node um which ap address is localhost and fairdosds is connected to localhost ferro sdfs okay i'm just gonna pause here so you create a new user user is the basic unit which is on the top so every user needs to create one user below that he can create different drives drives are like in a window system you create sql and decolon equal and store different things in different drives these are logical drives right which is on top of the real storage device so you can create logical devices or logical drives and start to put information inside the logical drives so when you create a user if you don't supply any mnemonic i myself uh create a mnemonic and expose it so that the user can store it otherwise in later stages we want to use external signers like clef or other such stein signers like ledger and all these things so that this this is not really exposed to outside world you can be sure that this is your data so next what it does is that it tries to create a pod a pod is as i said is a logical drive so it creates a fault called my drive and there is nothing in the part so it creates couple of directories in the pod uh it tries to upload file from the local file system into the part uh when i say 10 m it is the way in which you want to split the file and store it into b and also when i say false it is the compression argument so if you have a text file or something like that you can make it true so that it is really compressed right so this is uploaded if you see on the top i try to show what is the size of the file it's 156 mb so yeah the file is uploaded here once the file is uploaded you can see the file during ls and you can also do something called a stat stat shows lot of details about the file about which part it is then what directory what is the file size what is the block size in the file and it shows for every block blocks are numbered with block zero zero zero zero zero to zero zero zero zero nine or nine nine nine nine nine so every block uh it shows what is the swarm hash so as you can see the swarm hash here is long which means it's encrypted block and it shows the bytes of the block and if it's compressed it will show the compressed size of the block so this is like a cool thing so if you want to give this file to process in a parallel fashion all these blocks can be processed in a very parallel fashion using any computation framework so what i do here is that i again log out i log in into the same user drive and i see the same file is already there right so this is the basic demo uh of um of pharaoh's dfs now inside the second demo you see four four terminals uh the top two terminals are two b's local instances i try to connect them uh to form a small network the b on the left is uh you know the browns uh not the brown the black window on the left is the dfs that is connected to b1 the black window on the left is a dfs that is connected to b2 just to show that that there is a communication in between b also right so in the b1 i already have a user called alice that i created in the previous stuff and what i'm trying to do is that i'm trying to actually create b2 and keep the boot node of the address of b1 as the boot node so that it goes and connects with the with b1 and um it just connects and forms a network so you can see this this is connected uh wait a minute yes this is successfully connected to the sphere and this also says the same thing and i start the second b second b is empty so i create a user called bob bob creates a pod and there is nothing inside the part okay so what i do here is that now i try to upload a new file called calls commands which is just a small file upload the file yeah once i upload the file i get a reference now what i want to do is that i want to share the file to user bob now when you share a file uh you get something called as a share reference right so which includes lot of other things like uh the encryption information of the file of the not the file entire file or the metadata of the file uh and who sent this file at what time and blah blah blah all this information so this reference is actually sent to bob through some other mains email telegram whatever there is no problem that somebody will actually take it and all these things now what you do is uh in user bob you actually take this and run and run a command called receive info and give the same hash this will say that what what is that file that is being shared with me do i really need to get the file or i don't like the file so once you decide that yeah i need the file you say receive this file and at this directory location right and the file is there boom uh it is showing in your ls you can do stat like you used to do you can also do cat to show the contents of the file now this file has been moved from user a to user b which are connected to two different b's uh that means we use the same fundamental b mechanisms to transfer information from one b to another b it's basically so soc chunks and uh the same content address chunks which is exactly the same as in b so what you have to take back is that dfs is a stateless layer which provides all this abstraction when it says stateless all the state that you do you upload a file you create metadata you do a sharing everything is stored only in swamp that means it has a very distinct advantage that if you have the key if you have your key you can go to any other device in the world and can just log in using the key and your data is available to you there boom right this is very very very important because we we don't have a state we don't store state here uh we store all the state in swamp which is what swam is very good at and we make use of that hundred percent uh you would have seen you know directories now if i add something in the directory i can remove something from the directory so the entity which i call directory is actually in mutable entity so in swamp everything is immutable so the soc chunk in swamp exposes this immutability stuff to outside world but what i have done here is that we have built something called feeds which was there in the older swamp along with this soc which is the new technology and provided in mutable structure on top of this which is like simulates the real world scenario right and i want to go back to my presentation just to show you um you know there are a lot of things that we need help um like uh if you go to pharaoh sdfs there are a lot of issues there we want to create we want to create part that can be shared which is like an ntfs file system across an organization we want to create [Music] a lot of other things like uh let me go to this uh ferro sdfs uh issues so yeah so we want to actually charge bcc tokens for uploading and downloading a file so it's not free right it's not free like uh like michelle said if it is free then you are the product so it's not free to upload a file and download a file so when the storage incentives in swamp comes up we are very close with swarm team and or i am this i am also working in swamp team so we know when things are moving when things are coming out and and we will build this this storage incentives and all these kinds of stuffs right into this layer so that when you upload something uh it will say that okay if you store this file for this much time uh this much bcc token will be gone right and you should uh you should prepaid uh you should maybe top up your prepaid wallet for bcz so that it stays there if it is not there then it's your own risk because things can be garbage collected right so things like that um right uh there are a lot of other things like you know file seek support you know creating soft links so that i don't uh hold two same files or two different people hold two same files and face the space and all these kinds of things uh or i have to nudge you a little bit to move on to maybe show uh the next thing uh which is yes it's not that i want to um take credit here but this is the thing we have been working on together thank you very much for remaining i'm a guy who's like really really not time-bound and i keep on speaking a lot so uh thank you very much for remaining so as i said right um this is like a platform which enables developers to make a lot of nice apps and our nice michelle she did a beautiful app called fair drive uh it is a it i mean all these all these things what we have done or baby steps of course there's a lot of things to do so what this sphere drive does is that it creates a drive for you you you it gives a ui punch to use the system that i was explaining so you can log in as a user you can create a user you can log in as a user i hope i given the correct password yes so uh this is my fair drive i have some documents movies music picture my folder i think in the last demo i uploaded the pharaoh's presentation itself so you could download the file you could share the file with another person all these kinds of things are built into this this is exactly what what we want to show us the in a way where this uses fair os's apis directly right and it becomes so simple to build applications like this on top of this to store information to retrieve information to store metadata to do all kinds of things uh on the data that you are usually used to right even the login and all these things are very web 2 compatible and all these things so yeah i mean we are slowly increa we are slowly looking at how to introduce other web 3 concepts into that like so yes thank you so much sahur i just want to remind everybody that this is just like a fast prototype and that that it would be really cool if people um join us up in building this hour thank you so much for your presentation and um we'll be seeing you later or in in a couple of minutes i think in the ama thank you very much michelle it's uh it's pleasure always talking to you thank you sir and i'll see you later
Automatic transcript — names and jargon may be misspelled.