DAPPCON 2024: Building The Onchain Knowledge And Collaboration Layer - Vijay Krishnavanshi

DappCon 2024 · May 2024 · 21:09

Vijay Krishnavanshi presents an onchain knowledge and collaboration layer at DappCon 2024, describing infrastructure meant to let information and collaborative work live and be verified onchain. The talk considers how such a layer could support coordination and knowledge-sharing directly on Ethereum.

Speakers

Topics

From DappCon 2024, hosted by Dappcon Berlin.

Transcript

hey guys and I'm vij and I'm one of the co-founders of fers and I'm mainly doing this for the live stream so uh let's follow along and I'll just what I'll do is like I'll try to demo what we're doing at file verse and uh like just to give you a brief overview of uh the things and also tell a bit about uh things like how we're doing uh identity what are the different key pieces that we' figured out and so on and so forth so if you have any questions uh do drop them in comments and we'll take a look at it uh later so there is this analogy that we use internally at

file uh what safe does for assets we do for data and like what we trying to build is like we are trying to build a knowledge and collaboration layer which is on chain so uh but before we begin I would like to make the case for non-financial uh use case for safe multi uh I think uh not in too far out uh future the multi6 will be the uh def facto standard that communities will be using to co-own and uh like uh manage the content the files Brands uh archives

any website or any type of digital Persona that they might have uh and uh like what uh safe multisig enable is like they allow you to secure onchain data management with decentralized access permission that's the thing that they're already doing via uh like uh you know changing the way that uh people can be added to the saves people can uh interact with the safe uh and they have different levels of access permissions for example some safes will allow you to add owners some won't and so on and so forth and there are different modules also that you can Implement for doing that now and another thing which safe

did recently was the recover is the recovery Hub that they have implemented and in the recovery Hub in general what they've done is like uh uh they don't want uh like they want to allow people to use saves and recover them for uh let's say if they lose access to it or lose access to their passwords keys and so on and so forth now uh one important note that I would like to highlight is that today like 3.2 billion people uh work or collaborate on the internet but they mainly rely on the two big companies and a few servers in the US mainly uh and

that's for creating any information that's for sharing any information and that's for storing any information now crypto teams communities and individuals are no different uh and we uh given that we are mainly like working very hard for decentralizing finance we should know better but we cannot do better because there are there is no uh neutral layer yet and to avoid capture and abuse by these companies or by these data centers or things one of the most essential activity uh that we are doing on the internet which is to collaborate should be done on open protocols and networks rather than to be worked on closed

products that are managed by Central companies and what I'm going to present next is uh uh new kind of infrastructure which uh is like which uses blockchain which uses blockchain and peer-to-peer Network so basically bringing together The Best of Both Worlds so I'll highlight the few things for the blockchain perspective and then the peer-to-peer Network perspective so in the blockchain specifically you have Global consensus uh uh credible neutrality computational and data Integrity intera composability so these are the things that they that blockchain enables for uh different use cases uh in the way that we have implemented it

and uh in the P2P networks uh the good factors or the things that we get from it is like it's extremely scalable hard to attack because there is no Central server that controls all of those things then it's easier to recover it's easy to join it's self-configurable modular Monopoly killers and right to exit uh now right to exit is a thing which is interesting that comes from let's say different peers and uh just because you're not relying on one type of data on one place you have uh you can take your data from one peer to another and the app would still work now uh let's take a look at the current fer stack so the current fil

stack is uh has three major uh components I would say the first one is the offchain component and there we are leveraging all the peer-to-peer Technologies uh so to give you an example of those peer-to-peer Technologies is ipfs and gun nodes then uh we have the onchain layer on which we we we are putting for example storage registry identity registry and permission registry and these are the things for example for the storage we have the collaboration smart contract for identity registry we have uh we have multi and for permission registry we have uh things like encoding all those onchain permissions on uh using hats

maybe or any other different kind of uh protocol and uh to combine all of this uh the there is an app player that we have and the app player is characterized by Static UI it's pinned on ipfs and it's permissionless meaning you don't need to rely or ask for permission from anyone for using any of those two Services which is onchain and offchain component of file words uh and we are main on nosis chain uh so and while we worked on the stack we understood that there are three different layers uh and we were able to put like basically categorize the work

into three different uh aspects and uh those are the three different aspects which is identity layer storage layer and collaboration layer so in the identity layer we have like for example who is the one that's going to do it storage layer it's uh where the thing will be stored and for collaboration layer it's uh things like how will people work with one another right and uh to take an example of identity layer in that we have eoas uh meaning a normal uh wallet then we have ERC 4337 based safe accounts so these are multi but they are modular as well so that you can enable or disable

different modules while making sure that you're doing uh uh uh doing uh sponsorship for other users on their behalf and you have safe multisig uh that's something that we enabled in the last safe con that we did which is you can use the safe for deploying a file res portal and things uh then in the storage layer we have different uh uh different Technologies uh so for example you have uh ipfs you have RV you have swarm a lot of different things that you can just bring together in uh put or select or pick and choose for example for whatever use cases you might have then on the coll collaboration

layer we have realtime collaboration granular permission and collaboration smart contract now in this the realtime collaboration piece is the thing that we figured out uh fairly recently and in this realtime collaboration what we're trying to do is like we're trying to um make a like uh to allow realtime collaboration in an app where it's peer-to-peer decentralized uh peer-to-peer and uh for example uh can be stored uh any anywhere right and in the granular permission like it's specifically the onchain aspect of the permission and in the collaboration smart contract we have

things like uh adding the owners to the portal adding different type of agents to the portal and uh basically uh keeping track of all the storage that that particular smart contract is using then in the identity layer I'm going to highlight this programmable identity concept uh in a bit but uh eoas and multisig are fairly apparent so I'm not going to explain them I would rather go into the programmable identity uh concept so in this you have programmatic access uh so how do how are we dividing the programmable identity is uh we're giving programmatic access cryptographic access and Recovery combining all these three things into the ERC compatible

4337 uh safe wallet and uh I'll explain uh how we do that so what we are doing is like we writing an abstraction on top of the ERC compati ERC 4337 compatible safe and we are adding two modules one is the recovery module other is the key module and what these two things do is uh the recovery module is the thing where you can mix and match different criterias for recovery and cryptographic keys module is where you are storing and you're making the multisig wallets sign something for you if necessary and uh this is something that we have worked on and uh there is this recovery work that we have done with uh for uh uh enabling

this recovery module and the architecture of it as well now if you want you can scan this uh but I'll just go go to the next step which is yeah so no this one all right so when you'll clone it you'll have this kind of uh setup on your side and uh readme has some instructions uh but I'll walk through them one by one so first one is to add relevant EnV in this you have simple things like pimo

API key private key contract address and file ID then uh run npm uh account so this one uh this command what it's going to do is like it's going to one sec I'll show the code as well so what it's doing is like it's taking a private key which was something that I had put in the EnV and generating a signer out of it and using that signer to deploy a safe smart account this is the address that I get so I'm going to show you some since I have a bit of time I'll show you the I'll show you how to do the whole thing uh and meanwhile

in the process I'll also demo the product uh now uh you have this uh create your portal so if you go to the link that I mentioned in this uh one sec in this uh you'll be able to create your own portal and I'm going to do the signature now so once this is done what's happening underneath is like we're deploying a smart contract on the behalf of this particular wallet once this is ready uh what you can do yeah let's see the next app in this case

this yeah so I've created this uh wallet this one is done then we I need to add one public file on the portal so as you can see this is the flow for opening your portal now I'll try to add one file which is let's say this okay uh there is some uh set of thing that we need to do for making sure that you don't need to sign again and again uh and it's just one or two clicks for us to get to that stage where you don't have to worry about this anymore now once the signless is enabled

the next step is to upload the upload a file so let's get to that once this is [Music] done yeah and uh after that what we'll have is like we'll need to add the smart W it address which is this address as a collaborator to the portal now uh first I'll upload the file once this is done I'll go to the people's tab yeah so I need to add this wallet address what I'll do is I'll take this add it here M collaborator now yeah so once I've added this the

next thing that I need to do is like add the portal address and the file ID to enware uh now portal address and file ID are this these uh this particular address and file ID is the file that you just uploaded actually so in this case it's zero and this is the contract address so what I'll do is I'll go ahead and add it in this case here and file ID zero all right uh next uh now that this is done the next step is

[Music] to yeah uh do this npm run retrieve uh now what this thing is doing is it's pulling the data that is there in this particular uh file ID and in this particular contract so this ipfs hash metadata ipfs hash content ipfs Ash and the file type which is public so if you so this is what the current this particular file ID zero and the smart contract is representing let's go to the uh replicate so in this case what's happening under the hood is

uh like that smart contract wallet which was added as a collaborator is copying this data and uh putting it on this smart contract uh now what does that do is like it'll create one more file here which will have the similar content as this now it has different use cases of its own one of the use cases is to do different kind of automation to do different kind of uh file uh okay I think it replicated yeah so what it's doing is uh replicating that file one sec this is

correct yeah so uh once I do this then it will replicate this file uh QR code that's what it should do I think it pick the older data ah yes I think I know let me change the content here I think that was the missing step yeah let's go now when I press uh replicate it should replicate the file this one uh the one that I just pasted

what it shows is like it uh these are the things that you can do for doing different kind of Automation and the different kind of automations are the use cases that you can solve uh with this uh thing now I'll highlight some of the use cases that this programmable identity allows for you to do is like what you can do is like you can write automation agents that can pull files from a collaborative workspace and generate websites for you on demand for whatever content you want then uh Bots uh can archive all your uh data with respect to like whatever you uh have created on any other website it can pull that data from there and put it on the portal smart

contract and uh Bots can track engagement of frames on farcaster I'll show one uh like video at the end uh which will explain uh which will high like explain this use case then execution agent getting verifiable storage space for storing their input and output for example you have an AI agent that you have written that you want to read the data from somewhere and then write somewhere you can use this programmable identity for making use of that storage making use of that collaboration and everything else uh then Community Bots that cover an event using farcaster feeds so what this means is like it'll feed it'll browse through all the farcaster content and it'll uh cover that specific event

so to give an example for dcon if let's say there are multiple tweets that are done or multip multiple forecaster costs that are done uh what happens is basically this bot will aggregate all of that and put it onto a very good website where you can do search uh retrieve and retrieval and things the then uh you have Community curated Wiki which uses social Primitives now what does that mean that means uh like let's say there are different uh uh different people that want to work on one particular slide for example imagine this slide being crowdsourced that's something that would be possible uh with these programmable identities use cases and what you can do

is like you can add token gating on top of these things if you want now uh I'll show the video uh is there sound yes perfect so this is the recent relas [Music] [Applause] [Music] [Applause] [Music]

[Applause] [Music] [Applause] [Music] okay so uh at least the music is recognizable and in this case like what we did is like we have the collaborative workspace and on on top of that we have the community space that we were showing you we're calling it public portal uh but this is the space that you can customize for example how you would customize your Bento link tree or anything like that while adding files and everything else as well done yes now uh if uh anyone wants to try out this uh experience that they

just saw you can scan this QR code and that should give you the access to the public portal and with that since I don't have any questions we can end it thanks guys