# IPFS and Ethereum: Projects, Important News, Demos, and More - Juan Benet

- Speakers: [Juan Benet](https://streameth.org/speakers/juan-benet)
- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2017-10-09
- Duration: 21:06
- Topics: blockchain, smart contracts, distributed ledger
- Watch: https://streameth.org/watch/yt-Itb_2EMgBUI
- YouTube: https://www.youtube.com/watch?v=Itb_2EMgBUI

## Description

IPFS — the InterPlanetary File System — is a next-generation web transport protocol to make the Web faster, safer, decentralized, and permanent. It is based on git, bittorrent, and other p2p systems. Content-addressed and signed hyperlinks allow web content and apps to be distributed peer-to-peer, to work without an origin server, to be encrypted end-to-end, to be censorship resistant, to work while offline, and more.

This talk includes:

1) a short introduction to IPFS for those new to it.
2) an update on important Ethereum-relevant developments since DEVCON1.
3) js-ipfs, the IPFS implementation on the browser, for Web3 Apps.
4) IPLD, standard data format for hash linked data structures.
5) ??? And an Important Surprise !!!

https://ethereumfoundation.org/devcon/wp-content/uploads/2016/10/IPFS-and-Ethereum-Projects-Important-News-Demos-and-More.pdf

## Transcript

[Music] all right all right thanks everyone it's great to be here again this year sorry for the changeing the schedule I'm pretty sick uh and so I might cough during this presentation so I apologize ahead of time if that happens uh it's great to be here uh at Devcon 2 it's fantastic to see that our communities have remained very close together that we continue to grow together that every day there's new exciting projects using ipfs or ethereum or both this year we have three presentations for you today I will talk about ipfs and give some ecosystem news David will present on live PDP and death PDP samily will talk about distributed applications and orbit and we also have two others in our team Jeremy who works in go ipfs and Jesse who works on on filecoin find US during the breaks and we can answer any questions you might have about how ipfs Works how you can use it and how we can help you out there's little time this year so I can't give as long of an intro into ipfs as I normally do and so these talks can give you the in-depth perspective into what ipfs is how it works and all that kind of stuff I'll give a super short intro instead and that is that that the content that how we move content and how we address content in the internet today has a lot of problems there are problems of inefficiency bad security models dependence on massive centralized systems Reliance on the backbone censorship and more ipfs the interplanetary file system is a new paradigm for moving around data and addressing content on the internet it is a distributed decentral ized peer-to-peer versioned cryptographically secure verifiable file system it's a lot of words there ipfs is making the web faster safer and more open ipfs addresses all content by cryptographic hash which the centralizes and shifts the power dynamics of the web content can be linked to and retrieved without appealing to specific intermediaries you don't have to rely on huge centralized silos anymore you can link content together and Whoever has a Content can serve it to anybody else this might be the laptop right next to you it might be somebody else on the planet you don't have to wait until one web server dies out ipfs also empowers blockchains to record time stamp and address massive amounts of data off chain this preserves the security guarantees because it is just hash linking it can also be used to build blockchains themselves but that is a much longer story maybe someday I'll give a talk on that the technical intro is that ipfs is a protocol stack it's a set of implementations and a project to build a Merle graph based uh web content is addressed and linked together using cryptographic hashing which gives ipfs the same fantastic immutability and authentication uh properties that ethereum Bitcoin git bitorrent and all these other systems have beyond that ipfs has a data model that allows these data structures to be linked together making all of them more powerful as they are addressed from one to another imagine being able to link from a an ethereum transaction directly into a git commit ipfs is a protocol stack it has a data model as I described and the nodes Connect using a peer-to-peer Network stack that we call lip P2P this is a very modular library and David will talk more about it later today ipfs is also self describing it is a a future prooof protocol it is built on Unix principles and it's highly modular all of its components from transports connectivity protocols content representation formats file chunkers file layouts all of these things are pluggable extensible and replaceable ipfs is an ambitious project it has lots of capabilities and features and many more are coming but it is also pragmatic we build in units of feature completeness so that people can use it to solve big problems today I have a number of ecosystem uh news for you today uh the first is that ipfs has two implementations now one in go and one in JavaScript over the last year since last fcon we shipped the the we shipped the o4 series of go ipfs that brought tons of new features Buck fixes and so on it is seeming ahead uh with a large ambitious road map and though it's not at 1.0 yet it is far more stable than than you tried before uh and lots of people are having a great time with it in fact yesterday we released 043 so we encourage all of you to update if you're using ipfs um and thank you to all of you who contributed I know there's a lot of people that will be watching this that have contributed to this to this release uh the important thing about JS ipfs is that before with just the go implementation people had a hesitation of adopting a new protocol for the web before browsers had changed to adopt it how could you build a website on a new protocol if people would have to install something or an extension or something like that so we decided to build a full ipfs implementation in JavaScript and make it run entirely on the browser this is a huge undertaking and it is very powerful it means that web application developers can start building on ipfs without having to rely on on any browser change or any installation and so you can have a full distributed de centralized web application today with stock browsers another major bit of news is that Dynamic content is finally here with ipfs previously people had remarked that while ipfs is great for static content they couldn't see how to build Dynamic real-time web applications the decentralized and distributed architecture just foged things up so we decided to take some time this year to implement the pieces needed on top of ipfs to build these kinds of applications this means a low latency Pub Subs protocol and a set of libraries for storing and retrieving data that is designed to converge this means crdts uh so we put set the challenge of taking these distributed data struct um distributed data model there we go now was having trouble changing it uh and we set a great challenge for this we wanted to build a distributed peer-to-peer chat client capable of working in a local area network without having to connect to the backbone and that's orbit you'll hear about it later today uh another bit of news is that many of our prot of our sub projects have graduated into their own full fleshed efforts one of them is multi formats this is a self-describing set of protocols that are verifiable avoid data lock in and so on you may be familiar with multi has this allows you to to Multiplex many different kinds of hash functions multi Adder multi key there's a bunch of others these are headed for standardization at the ietf and lots of other groups are already depending on them so we decided to create like its own Organization for that uh another of these projects is lip P2P a modular peer-to-peer Library Again David will will describe more the last one is ipld a thin waist format for representing Merkel chain data structures ipld is the secret sauce of ipfs it makes the Merkel Forest possible it makes it possible for you to link from one data structure to another what's really interesting for the ethereum community on this is that soon not yet but soon we will have the AB ility to natively address ethereum blocks in ipfs that means you can take ethereum hashes and address a block look into transactions and look into the entire state tree in ipfs Native paths without having to run an ethereum node or an ethereum light client this is great this is great for ethereum because it extends the reach to all other applications that run ipfs you can hand web applications reference and they can look it up within ipfs it's also great for archiving because a lot of tools for archival are being constructed around the ipfs ecosystem a last bit of news here is that uh the IPS project has been doing a lot of work on package management ipfs started its life as a data set package manager so it is naturally very useful for this the community has been putting package managers like apt Pacman NYX npm pipie and so on on ipfs there's really good proofs of concept but some none of them are quite usable yet for production so more work remains to be done we'll be working on that over the coming months what what has happened though is that we are able to build new package Managers from the scratch directly on ipfs and we have our own GX that we use for go so with GX we can package manage uh go packages with hashes and so like now you can know that your code is not going to change underneath you it's an important Improvement there are other package managers built on top of ipfs Spore and dapple are two that come to mind dapple is a package manager for ethereum daps cool so I wanted to talk a little bit about um some of the users that are using ipfs and ethereum together take a sip of water this is uport a decentralized identity service it is built on top of ipfs and ethereum this is a Kasha a decentralized social network it is built on ethereum and ipfs this is digix a an asset exchange it is built with ethereum and ipfs this is inura an infrastructure system for scaling ethereum nodes and ipfs nodes again ethereum and ipfs this is uo music again using ipfs and ethereum this is Aras Industries who is building a smart contracts platform again using ethereum and ipfs this is block fright a chain of Provence solution for for storage containers that is using you guest it ethereum and ipfs the gist of this is that oh and this is uh balance 3 a smart uh contract powered triple entry accounting system I love that phrase uh the gist of this is that all of these applications are leveraging our Technologies combined they're better together we are creating a lot of value individually but when you put these platforms together magic happens and all of these applications are Testament to that we see more happening every day and we expect that more will come so we invite the entire ethereum Community to collaborate more tightly on all these things and let us know how we can help how we can help support some of your use cases if you're building on on ipfs and ethereum we'd love to uh hear you out and see how we can help uh the last thing I I want to switch gears for a moment and address one of the longest standing problems in the ipfs ecosystem and that's news on filecoin so the main problem our ethereum users have had is that ipfs does not on its own cause data to be backed up by the network this is by Design as backing data up in the long term is an expensive operation that needs to be compensated or incentivized with some sort of value as you may know we separated that layer of behavior into its own protocol called filecoin a cryptocurrency file storage Network there are a lot of reasons for this one of them is that if you use ipfs just as a browser and you have to store other people's data that wouldn't be as as good as if you can just use it natively right a lot of peer-to-peer systems failed because they try to force the system to do both at the same time so at the beginning Our intention was to build just enough of ipfs to build filecoin and so we we rased to build IPS we shipped it out and we were considering shifting our St fcoin but three things changed our minds the first was that there was close to no market for distributed data storage around that time this was like mid 2015 ethereum and ipfs were both young projects decentralized apps were just beginning and pretty much the cloud satisfied everyone's needs still second we knew that sophisticated data storage needs would require blockchain smart contracts because many applications require a lot more uh looking into who is storing the data and why the third thing that happened is that we had a sudden and intense adoption of ipfs much greater than we expected this surprised us thousand of users came wanting new features and Bug fixes hundreds of developers showed up started helping us out in the code uh they needed review they needed Direction and so on so we decided to double down on ipfs and push fcoin to a later date now ipfs has been developed the evm has been battle tested and proven and now is the time for fcoin the market of decentralized data storage is emerging so unlike uh you can think of vcoin as Amazon S3 meet ethereum powered by ipfs and unlike other Alternatives fcoin is a blockchain protocol designed to do for storage what Bitcoin did for hashing this is a hash rate of Bitcoin it's an absurd amount uh of power this is like EXA hases now I believe it's a ridiculous amount of computational power uh the world's top 500 super computers put together were left in the dust in like 2013 somewhere way before the KNE of the curb and then we have this explosion every time I look at this graph I'm just astonished by the degree of power dedicated to this nowadays I think it's using more power than some many small Nations so imagine if you could create a network with that kind of an incentive structure for data storage you could summon this amount of discs to show up in the network exabytes of storage added to the network you know over the over what like five you know two years of massive growth and you know six years I guess of like proving it out that is what it's going to make distributed decentralized storage platforms capable of competing with the cloud because at the end of the day you don't want to store your data in someone's laptop you want to store it in Minds like this and some something resembling the data centers of today you want to use laptops for fast efficient delivery But ultimately you want serious operations uh the competition between uh distributed storage networks is kind of interesting because the reality is that we should be competing with the cloud the cloud is where everyone is storing their data we should be working together to defeat that so at its most basic filecoin looks like this miners rent their hard drives and earn filecoin for it they can then exchange that for dollars Bitcoin ether Yuan whatever users which could be people or applications or contracts would then buy filecoin and spend it to hire the network to store data the first version of the filecoin paper I published in 2014 describes the protocol with a core mining function which uses a consensus building proof either a proof of work or potentially a proof of stake and then a proof of retrievability it also talks about a secondary market and that secondary Market though it features a littleit not too much on the paper is very important because you can use it to do low latency delivery using payment channels or state channels uh like the lightning Network right so you can imagine this chain continuing to mine a lot of noes have a lot of storage and they can do state channels in this the cool thing though is that now we can add a a proper contract engine on filecoin like ipfs has had a lot of improvements but the the thing that's going to set these storage networks apart from the cloud is things like this being able to do like bonding and collateral as Victor from stor described being able to do representation thresholds being able to do identity um con selecting based on the identity of the people that are storing being able to do geopolitical bounds when you are forced to store certain data within a certain Nation uh all of these things can be represented as contracts uh when when you have a a large Network like this and this is pretty important for making any of these platforms capable of working so over the last couple of years there's been an enormous amount of exploration in this there's uh swarm is doing awesome work on this direction so is Saia this another decentralized distributed storage platform and there's a bunch of others in the space as well we've done some work as well and there's there's been two years since 2014 of great academic research into proofs of retre ability with new schemes coming out and a lot of research into how to do smart contracts in a much safer way we feel a lot more comfortable trying trying to do data contracts today than we were two years ago so the design space for filecoin is an interesting one we evaluated a lot of systems and we thought about what how to do this construction we could potentially build it on top of Bitcoin we could potentially build it on top of ethereum and so on and consistently across all the vectors we measured ethereum demonstrated greater technology and a much more effective development Community we have some requirements that ethereum doesn't yet meet uh for example we need a really fast volume uh and speed of transactions you know a gig gig of transactions per second that would be insane we want to get there eventually we also need disconnected operation this means being able to uh operate in a distributed uh Network where you're disconnected from the backbone so if your city uh gets disconnected from the rest of of the world your applications shouldn't stop like imagine if you know like you you're you go somewhere traveling and then you lose connectivity to the backbone and then nothing works like that's just untenable so we are building filecoin in the direction of being capable to work in this direction uh so these two things are not showstoppers though because the ethereum community is also very interested in this there's a lot of work being uh directed towards charting and these efforts and we think that we can solve these problems together so I'm excited to announce that we've chosen the evm as our contract engine [Applause] Beyond this we had two options either we fork ethereum and build our own network and this means working together on a number of problems and code bases and generally sharing strategies but basically building two different networks and the benefit of that is we're not blocked on scalability and so on and we can proceed in that direction or the alternative is We virtualize filecoin on top of the ethereum blockchain this means working together directly on critical problems and code bases it means not having to build a large proof of work Network to secure the filecoin network and means enabling filecoin to serve ethereum contracts natively directly in ethereum blockchain hopefully ethereum could adopt the charting and disconnected operation functionality we need or we'll have to eventually migrate off the network to be able to satisfy those constraints but fortunately that's not a decision we have to make for a year at least potentially more an important deciding factor for us in this was that the ethereum community has been through tremendous challenges this year we've we've watched kind of from the sidelines as a different Community as lots of things happened and I want to remark that unlike other communities ethereum has demonstrated a very effective Improvement and problem solving ethos you are not afraid to come together and solve problems in the history of computing nobody has gotten everything right from the beginning and so the teams that are effective the groups that change the world are those that are able to course correct and reinvent technology that they ultimately win out so we are excited to announce that we are building fcoin as a virtual chain directly on top of [Applause] ethereum and it it will be accessible natively to contracts in the ethereum network the third thing I'll announce is that we are planning a falcon sale at some point uh in the coming months stay tuned that's it for me see you at the other talks today thanks a lot thank you thank you um I like to have [Music]
