Scaling Filecoin With Interplanetary Consensus Subnets | Sarah Thiam - Filecoin
Ethereum Denver·Wed, Oct 9, 2024, 12:00 AM
InterplanetaryConsensus (IPC) is a horizontal scalability solution, focused on scaling data storage and computation to enable web-scale applications on the dweb. While designed for compatibility with various L1 ecosystems, it currently supports Filecoin and Ethereum. Join this talk to see how you can leverage IPC and the Filecoin Virtual Machine to scale data storage and management for your projects. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply
Transcript
[Music] um nice to meet all of you I am Sarah so I'm a developer Advocate with fcoin um if you've ever used a Falin virtual machine we've been around for a while and now we're launching a new incoming scalability framework called interplanetary consensus so going to give a little small talk today around how we're going to scale file coin with IPC uh cool so nice to meet all of you thanks for coming on the first day of Biddle week apparently I am the first talk for um Biddle week which is kind of cool uh it's a little bit of a cozy stage right now so I'll be around later if you want to ask any questions um yeah so let's get started cool so um going to give some context um so as I just mentioned there's fcoin and there is interplanetary consensus um these two are separate products but they are built with the same team the team that brought fcoin is also going to build IPC um so some context here that I'm going to share on how we came to make this decision to build IPC I always find that context is super useful um we had the fcoin master plan you might have seen this from our CEO Juan Ben um the idea here was really to have this vision for Humanity where we would first build the largest the world's largest decentralized storage network uh followed by onboarding a ton of data important valuable data which we are in the process of doing and then step three is to bring computation to that data um to enable web skill applications um so that's kind of where we launched the FM which is the Falin virtual machine again this was fully evm compatible you must have seen us at a ton of e Global hacks that we did last year we had um I think a total of about 700 hackathon teams that have built with FM to date and we had about last year we had roughly about 70 teams that built with us for a good 6 months or so and 20 of them went on to accelerators right so kind of showing you the traction that we had and we were building with them for a good six months to a year this led us to a lot of learnings and realizations and that's also what led us to decide to build and design this new scalability framework so just taking a step back for those of you who are new to the Falcon Virtual Machine uh what it is is it is um it launches onchain programmability for the filecoin network um so if you have heard of filecoin or you used ipfs uh you would be pretty familiar with the ecosystem as a whole um for a long time it was an L1 on its own you couldn't really do much programmability on it and to do a storage deal to get your data stored you would have to go through a pretty manual process of arranging with a storage provider to store your data etc etc so uh just not going to cut it right so like how we were thinking about how we could make that a lot faster how we could enable onchain incentives onchain contracts that will allow people to store their data based on like you know the most affordable rate based on what their criteria was maybe based on region and so on so a lot of that that functionality was enabled with the fal coin virtual machine coming about um this was built with wasam time under the hood it's a whole virtual machine that sits on every note of fcoin today and you can still continue to use it so it was great to get people start starting to build these Storage Solutions right so we saw things that came out of it like data Dows for example where you could have a community that contributes content and gets rewarded for contributing that content or maybe pulls together their funds um to sponsor the retrieval of that data uh depending on how they want to use it so we had a lot of use cases just like these and that's what led to a lot of traction on the FM so as I was saying that led to some realizations and some learnings right so um because these were being built on the file coin L1 um filecoin today runs a 30C block time which means that if you build an app you're going to have to wait about 90 seconds for that transaction to go through and like you know I think all of us know here you wouldn't use an app that takes you 90 seconds or so right unless you're it's a long-term like maybe D archival Storage maybe that would cut it but for majority of applications no so we started thinking about how we would build a scalability framework for this how we could bring you know cuz there was a lot of demand to build applications you know accessing data really quickly right data is everywhere um so we were like how can we make the transaction speed faster without changing the protocol per se um so that's how we came out with the interplanetary consensus so just adding in uh this is with this is just me inserting um Step 3A that I see right now which is what my new team interplanetary consensus is building uh we've seen we've decided that there's like a need for us to enable High performing applications that surpass web two standards and we don't just want to do it on filecoin right the first chain that we're targeting is filecoin and I'll talk about how all of that works later on but tldr um we're going to go really strong on filecoin right now allow that to scale up and then introduce the scalability framework to more of a multi-chain um ecosystem because the future is multi-chain and so we'll be targeting chains like ethereum and Bitcoin and so on uh moving forward so really exciting stuff coming in there so I hope this gives you a little bit of the context as to how IPC came about right because we know that there are a lot of scalability solutions out there today um this is where we're coming from and I'll talk about what we intend to offer to the scalability space yeah so interplanetary consensus is a scalability framework that promises planetary level performance of web 3 uh what does that actually mean that actually means um being able and I'll show you later on how you can really increase that performance with the design that we have for IPC right now um it is still being built and I think we're more at the alpha phase but we have put out certain builds that you can start testing around playing around with and we are participating in this hackathon too so I'll share some resources that you can go use um if you're going to be hacking at this weekend's hackathon um IPC also delivers highly flexible scalability framework so there are a lot of things that you can configure you could configure your native token your guas fee schedules membership um you could you could spin up subnets uh and I'll talk about that in a bit and I'm getting ahead of myself but really highly flexible is the promise here um and then lastly to power a new generation of applications which I think to us um you know the the lines it's more effective and this is for the web three ecosystem as a whole to think about developers not being web to a web three per se um I think we're all trying to get to the same Solutions uh how can we really bring that breakthrough using decentralized EOS um to enable these solutions that you know are surpass what web 2 currently offers right so that we can you know as a whole Tech ecosystem really deliver impactful Solutions on the whole so so that's really the vision that we have for IPC so a few key things that I'll dive a little deeper into and then I'll take you through the architecture after this um infinitely scalable so uh we're thinking the aim for IPC is to provide web to level speed um using recursive blockchains and when I say recursive what I mean is that we're thinking of uh L2 Plus+ so you have your l1s you have your scalability Frameworks on top which are your l2s um IPC right now promises the ability to spin up subnets that go L L3 L4 so on so on H so how these will all connect is that they will be connected through hierarchical consensus which we refer to as recursive scaling um your consensus on let's say your L4 will be connected to the consensus or the Security based on your L3 and then upwards to your L2 and your L1 and so on so um you are borrowing a lot of components from the previous um level above um and the good thing is that in terms of finality in terms of security if you're choosing a root net at the L1 that is one that you really trust um that level of security should then trickle down all the way to your l4s um and you can also spin it up set it uh shut it down and it should be really cheap and efficient um so that will allow you to increase the performance of your debt let's say you want to shut transactions into a separate Network you want to shut computation into a separate Network that's the vision that we have and it should be permissionless so anyone can come in and build something spin it up shut it down based on what you need for that day that month that year um and that's the vision that we have for IPC um and of course cross uh cross net and cross chain communication is also something that we're developing we recently just enabled a single hop GMP from an L1 into an L2 so that can communicate pretty simly right now uh eventually what we aim for is that you can seamlessly communicate not just from um a single rout net and the entire hierarchy down through that which we've already well on our way to accomplishing it's also to be able to seamlessly call cross chain Communications which you could previously not do as quickly or as efficiently in fcoin because of the finality that it has um but with the IPC IPC subnets that you have uh with shorter block times on all of these different subnets it will be much faster for you to um execute those messages cross chain um and then get it within that single subnet that you have and that should be as seamless as possible without you having to copy and paste a separate application onto a separate chain altogether so yeah um deeply customizable so what we mean here is that um we're using tender Min under the hood and I'll run through the architecture in a bit um we're using tender Min but we are also only using the tender portion of it we're not using the cosmos SDK Cosmos SDK is written in go so uh by only focusing on tender itself we've developed um application logic that is using wasm time uh using rust so it allow you to have a lot more um flexibility with the Frameworks that you want to use to apply your application logic you can build various instances of it um so for example now we're building a certain application logic but we can always switch it up really quickly so the goal is to be as modular as possible under the hood which then also allows users that build on top of it to use whichever Frameworks that they're comfortable using um what I was talking about for tenderman which is the the adapted version that we've built is called fenderman um that is the IPC main instance itself there is an application layer on top of that the execution layer that runs on Falin virtual machine which um the good news is is also built with bosom time under hood as I mentioned earlier on which then also allows developers to build with whatever framework that they prefer so really it's customization at all different levels um not just at the main instance of IPC itself but also in the application execution layer yeah so deeply customizable and you can hyper you can customize the network as to what you need and I'll run through some examples of this and then lastly modular and interoperable um as I mentioned earlier on multi- chain is really the goal for us um we want to make sure it's fully evm compatible and also be targeted other chains in the future so um I talked a lot about IPC and it subnets I'm going to run through a little bit of how we envision this working um what is what does implementation look like with IPC so um as you can see from this graph over here I talked a little bit about hierarchical consensus earlier on um the goal is to have your L1 main net um there are various things that you can do here right you can either scale horizontally or vertically um you could have like a gaming let's say you are a single ecosystem or a single application and you want to have a really high performing Network for gaming right but you also want to be able to tap and store data and retrieve data uh or compute over data in a databased subnet so you could set up these two separate subnets and have them Branch out to further subnets based on whatever needs that you need to run so you could run like a separate games and then from those games you can run them within regions if you're running into like gdpr uh privacy uh you know restrictions and you want to be able to enable that you could also spin that up so it really really enables you to build based on whatever needs that you have in your application but honestly the possibilities really go pretty far right um and then of course uh from that separate subnet uh different subnet networks that you have these can communicate across to each other as what I mentioned earlier on seamless communication so that really allows your entire ecosystem to work really closely together um so and also as I mentioned you could always shut those down so if let's say you think one network is being really expensive or you only want to run it for let's say one customer for a short period of time if they go off the network you can always shut that down and save the cost there yeah so that's that's the vision for IPC um some use cases I talked about gaming and database example earlier on um you can also you know do it by regions we had some teams hack with us I think in Istanbul and they were trying to build like a region based uh voting system with IPC and that worked out pretty well for them in terms of storing your data um you could also have a whole general purpose Network for scaling that's really for you to decide uh and um yeah you could really decide what L1 you want to be building on so there are a few different use cases that you could build here um but yes generally that's the idea for IPC so um as I mentioned all of this I'm sure some questions that you've had in mind we have had Builders reaching out to ask us what how does IPC compare in the scalability space today um you know we know that there are a lot of awesome Solutions right now in the scalability space um a few things that we think we offer differently um and we would love to we working really closely with um a lot of hackathons to get Builders to give us direct feedback so same as this hackathon we are around I'll share some links on how you can talk to the team I'll be around to we want to get some feedback but this is what we're targeting um so we're targeting it to be a scalability framework um which will allow you to build you know it could resemble a rollup a side chain that's up to you but you could also you know branch that out a lot more have one one subnet be a rollup one side be a side chain it's up to you um so we want to provide a scalability framework um as I mentioned earlier on we're also building with what we call fenderman which is an adaptation of tender tenderman along with um the core tender Min along with uh customized application logic that can be developed for different use cases so we have some customers that are building with us early on today like fluence which will be you should look out for their deepin day event um they'll be launching something really cool a decentralized compute Network um they themselves have built up their specific instance of IPC together with us and that's because we had tender core running under the hood that allowed them to build the application logic that they needed um we're also using ABCI Plus+ so this um this is brought from the ecosystem but again really useful because it allows you to um vote on transactions before they get they get executed so you are also able as you run all your different subnets um not having those blindly execute transactions you might you might have a malicious um validator or um user in there um so it allows you to vote on these um different transactions that are coming in before they actually get executed so that's super useful and um because we're using tendin that allows us to build with whatever custom application logic we want that allowed us to implement IPL storage um which is super useful for checkpointing chain state so the way that that rolls up your l4s or l3s roll up to your L1 is based on checkpointing their chain State um every up to you to determine for your subnet let's say every 30 seconds or so um this gets started within the IPL framework which you know is represented as a graph which is really efficient for storage um so that's really under the hood um but it's a really elegant piece of infrastructure that we have running under there also all messages will be stored in a CID format so if you're used if you're familiar with ipfs or filecoin you'll be familiar with the content ID um format all messages will be stored that way so it's much more efficiently stored you're not actually storing the entire message you're just storing that hash right so that's the IPL storage frame uh architecture that we have under the hood and lastly we have FM as an execution layer which is again set up for multi-chain um so fbm as a whole set up for multi chain ipcs on its own as well set up for multi-chain so we are really well positioned to go into the multi-chain space so um I that's a really like I know this is a short talk um this is like a summary of what's upcoming for IPC and what we're building right now um again we're in very early phases but if uh we have a heon challenge statement so if you want to test it out yourself play around with it see how it Compares bear in mind experimental Tech um this is still a little bit clunky for my liking but um you can definitely check it out it's usable you can do it within 15 minutes set up your own first net configure it around see how you want to play with it um we have I think in the link that I'll share right after this um some deep dies on how you can do more advanced configuration so you could even um so right now this is pretty vanilla but and you can maybe configure the number of validators that you have the the block time that you want in that subnet pretty vanilla we have um a workshop when recording in the links I'm going to share right after this that goes deeper into advanced customization and that's really exciting cuz you can actually customize the system calls within your subnet and you can also customize your buil-in actors or buil-in smart contracts within the custom subnet that you have which means that you can unlock a lot of capabilities there so really the walls your oyster right if you want to implement some GPU workloads um configure some CIS calls to enable there and run some light ml task you could also be doing that with IPC as of today already so definitely check that out um but yeah and if you want to follow us um we'll be in Denver we're giving like a ton of talks across the whole week um if you scan this link you'll find our link tree look for the meet us in East Denver link you can see where we'll be at we'll be giving some workshops some talks some Keynotes Juan will be here too our engineering leads and so on so yeah we're really excited to meet more folks here at Biddle week cool thank you
Automatic transcript — names and jargon may be misspelled.