#DappCon22 : Day 3 - Looking Dapper While Wearing A Capp, Aron Fisher
DappCon 2022 · September 2022 · 22:18
Aron Fisher discusses building consumer-friendly Web3 products at DappCon 2022. The talk covers design lessons for making dapps approachable, drawing on the challenge of getting mainstream users comfortable with wallets, gas fees, and on-chain interactions without a background in crypto.
Speakers
Topics
From DappCon 2022, hosted by Dappcon Berlin.
Transcript
good morning [Applause] um right yeah so as it's built it's the can you look dapper while wearing a cap what I really mean is can you call yourself a decentralized application if everything depends on an app centralized app running on a centralized server which is a single point of failure so to set the scene let me ask uh go back and say what is web 3 because the definition of this word seems to have changed over the years if we go back well no today you'll ask people what is web 3 they think it's pretty much any web app whatsoever with the one Criterion is that it somewhat interacts with metamask and they completely ignore whatever architecture it's running on that seems to be the
Criterion but um that wasn't originally the case that wasn't original that wasn't what it was meant to be the if we go back to the pre-history 2014 2015 the very beginning of ethereum you'll see architecture diagrams that look somewhat like this the blockchain is there as just one coordinating layer but the web 3 is a completely separate web running over encrypted peer-to-peer connections um doesn't ever have to interact with the old web here's an example of how that might work there's a special browser the Mist browser where you could write things let's just say blog.colony.e a very simple content you want to read what would happen is well
in those days we all had an ethereum node running on our laptops or at least a light node um so that connects to other ethereum light nodes with encrypted peer-to-peer channels so you have access to transactions and state I mean that exists today that Network we just don't run it on our laptops on this ethereum state there's the ens in the ens you look up the name and it gets resolved to a hash this hash guarantees that whatever content you get matches this signature of who over owns the domain this Bzz is a swarm hash you'd get get the content from the Swarm Network which is not a separate Network at the time the exact same peer-to-peer connections that handle transactions and blocks also
handle swarm and that Network would give you the content and you would be able to read our blog and this whole thing would happen without ever touching uh the regular web and of course seeing as we have a blockchain this new web could do other things as well like Finance Insurance governance voting these are some early concepts of what dapps might look like this from the very beginning it's actually interesting to go back to see how many of these things exist and how many don't um but anyway so that was sort of this vision of web3 and um yeah completely independent warm for data ethereum for the finance and consensus and Whisper I didn't talk much about for Direct Communications like
real-time chat that kind of thing so where are we well whisper was built it was highly optimized for anonymous communication and it had performance and scalability issues it never really took off because of those so it was eventually dropped from Geth and from other clients and yeah it never got used um swarm I was on the Swarm team for many years we did build for a long time there were performance and scalability issues there too and one of the things that happened early on was that it was split out from gef and ethereum to run its own separate network with its own connections and it was no longer used for serving ethereum blocks
in ethereum state so it was built separately it's still in development the team after I left in 2019 started a complete rewrite and now is that's bearing fruit they have a new client desktop app you know they're redeveloping those ideas it just takes a long time this is a really hard project and they use gnosis chain for their payments and incentives so there's no longer as tightly coupled to ethereum and that's because ethereum well ethereum also had performance and scaling issues which of course I don't need to tell people here and we certainly all stopped running death nodes on our laptops so all that put together is how you end up here and yeah we had Colony we've been in
this space since the very beginning and we tried also very hard to make that original Vision happen writing an app that uses only peer-to-peer technology does not need any servers does not have single points of failures and this entire space needs like all the tooling needed to be built like ethereum tooling not for 20 years or more we've developed server-side technology and there's thousands of companies working in the space here everything was new so it took a tremendous effort of our team and the rest of the community to get these things off the ground um we built this app this is a really old slide of mine announcing it we still use the server to distribute the app
because so all that people saw was you type you know the app address colony.io and it loads up and all this engineering that went into making this peer-to-peer app possible is completely invisible to the user mostly what they saw is an app that sucked it was really slow data was missing it's unresponsive not a good experience at all even though it was a tremendous effort to get that far this quote by the way is from our very own blog where we announced that we'd Rewritten it to use server-side technology but I'll get to that later for the moment let me let's say why do we want this why do we what is it about
web 3 this peer-to-peer world that made us put in so much effort to try to get it done even though it was so painful well um there's a lot of reasons the web series a million really cool features and a lot of them get lost when we go back to this server architecture but the one I want to focus on today is this thing of Unstoppable applications Unstoppable applications was one of the first Promises of ethereum when launched this idea that once an app is launched in this network you can't shut it down your government can't decide oh you're not allowed to use this Twitter app and then turn it off in your country or region the only way you could stop it is if you stop the entire network right and
as long as people still want to use it it's up like even Etc chain is still up because people want to use it you cannot force stop these things but of course users don't speak evm like you need an application so the servers if we use them for access to apps are a single point of failure and in the original Vision with the missed browser all these apps running on the peer-to-peer swarm Network would also not be stoppable the data would still be out there and cannot be forcibly deleted as long as people want to use it by the way this video of ethereum in 2014 still on YouTube interesting to see nowadays it was just a pitch what it might what the future might look like um right so
the fact that it's on the blockchain is necessary but it's not sufficient you need an app that's also accessible and if we don't have it on the peer-to-peer Network well what can we do here's an idea maybe dabs should be downloadable apps so I'm going to use the example of my crypto my crypto is a great app I used to love using it early on these days less so but I because I have no need for it right now but there's a web app here's the 2017 version it's still on the web today um 2017.mycrypto.com don't use it right but there's a web version and there's a downloadable version you can run it on your desktop on on you know locally and if the web server ever disappears well you still have the app so at least you
have the guarantee that they can shut you down they can stop you from accessing this app which accesses data data from the peer-to-peer Network now unfortunately um that app disappeared they don't maintain it anymore a lot of others have gone sadly uh shout out to nosesafe there is a downloadable version of that which is great I love that um maybe we want to point out down here all releases you know these sha256 checksums those things that you all ignore that show you that you've actually downloaded the real thing that's important that would have been built in in the Mist browser and even more so because it got the hash from the ens it was like a signed signature so we have lost something by doing it by hand
but that they're downloadable it's great other apps rotkey local first great stuff but not everything is so minimal um to that pattern and anyway a lot of these apps disappeared and I wanted to find out why so I sent an email to Taylor for my crypto just asking you know what was it that made them stop um and Taylor's great but very busy and I didn't really expect her to have a lot of time for me um but she did respond and I wanted to share that answer in full because I loved that answer that what she sent me so she responded she sent me an email and the email info is this that's it no greetings no anything just that this is an email with a link to a tweet done right it's a tweet by the way
of the lead developer of Miss browser Alex thunderstand and that tweet itself just contains a link to a Google Drive containing a single PDF document this PDF document is of a security audit that the ethereum foundation commissioned unmist and the way that worked the Auditors found mistakes the Miss team fixed them they found some more mistakes the team fixed them and um the errors they found got worse and worse and worse and more severe and it had nothing whatsoever to do with the Miss team they found severe problems in the underlying software stack electron in this case so it it's you
know 30 years of working on server-side apps means there's a lot of hardening that went in there downloadable apps just don't have that much history they weren't weren't safe and that's why my crypto stopped doing it that's why the missed browser was discontinued they just determined it's impossible to do it and brave also used to use this technology and they they rewrote their engine too to just use chromium so that killed that so is it all about security well I asked Alex I called him and we talked about all these things yeah well you know there were also that that certainly was the first reason but on the horizon he also saw some performance and scalability issues coming up the same ones that Colony uh the origin Colony app hit
anyway so um maybe we could have multiple independent servers maybe that gives you some kind of control that they can't all be shut down some redundancy this is a pattern by the way that works very well with email you can have multiple email providers anyone have this email provider maybe some of you do maybe some have a more security conscious one um this is great chat less so um you know in Germany people use this a lot even though it's kind of a privacy nightmare crypto people use this even though it's not really encrypted uh some people oh my God you know you've got relatives maybe they should all use signal but then you need their phone number whatever so this is harder but actually it is possible to do encrypted um the same pattern as for email with
chat it's it's called Matrix you can have multiple providers there as well and if one email provider stops the email app the email network doesn't shut down however if some you know they do shut down you're still screwed you have to change all your logins tell everyone you have a new ID and it's a pain like what consolation is it to you that email still exists if your email disappears but there is a way you can protect yourself against this particular failure mode which is if you have your own domain name this is crucial if you have your own domain you can still use Gmail and have them host your mail but with your own name so you'd look in the DNS it says you know who's responsible for
your email Google gets sent there and if one day they decide to stop or you wake up and say I can't with good conscience keep my email with Google you can switch your provider and nobody needs to know same is true for Matrix if you can find a provider that allows you to use your own domain there's not that many but it should work right so this is a great pattern what I want to focus on is this how important it is to start up with first having your own domain before you set up in order to protect yourself against this failure mode and what we should be working on as a community is this that should be the single point of entry for at least for communication apps and I'm very pleased to hear that ens is working on standardizing something dm3
it's called the Great initiative to allow us to use especially communication apps uh where the your ens name is that first point of of entry and it points you to where your particular app is hosted at the time so this is great for communication apps less so for colony colony big governance platform of course we'd like to get Integrations of colony with other apps and they will happen and we also see Integrations of things like you know currency swaps being integrated into wallets but not nothing on the scale of colony yet and we can't wait for that and there isn't really a natural candidate for somebody else to run the colony applications on a different server it's kind of awkward so
what do we do well here's a new idea you could run your own servers now actually let me level with you it's not a new idea Geeks have been trying to get people to run their own servers for ever and it never works maybe this time is different one thing that could give you hope is DAP node fantastic project if you haven't played around with it please do it's really empowering you get adapt now it looks like this tiny little box you can run it at home and the reason it's different from configuring your own mail server is that the interface is really easy right by the way that's their new logo that I couldn't find that note put your logo on the website to download please
um so this is what it looks like when you're actually using it right it's a single click a few configuration options and you're running an eighth node you're running a swarm node you're running uh Bitcoin you're running ipfs and it's configured so that wherever you are in the world on your laptop you will phone home to your little node and use that to enter the peer-to-peer Network this is great um and it's accessible because it's really easy to do so what this setup allows it allows us to run the app on the colony server and it allows you to run this at home and the user here represented by the alliance of two foxes does not you know could use either one feel free to replace two foxes with a lion they are part equivalent in this picture and so it could be this almost the same
app running on both maybe there's a few configuration changes on the server side it doesn't matter this is sort of the architecture we've been going for for a while so in you know same pattern here if the server disappears you still have access as a user to Colony um yeah that's that's sort of what I was just saying importantly it allows the server to do a lot of number crunching and calculations and database work that was so detrimental to the performance of the original app where everything had to be done in browser so you know it's much more Snappy much more responsive and it would remain usable even if Colony disappears I should mention we don't actually have adapt node app but I'll get to why we will have in the future I hope
um anyway this is what it looks like doesn't when it when it when we first started looked like this again very similar to that before because all the changes are in the background it's invisible to the users um which is why it's you know you don't get a lot of reward for doing it right because you can't most people can't even see the difference but there we have it web3 is saved huzzah except well there were some issues here too performance and scaling issues what we found is that um well I don't want to talk about ux issues but performance and scaling like you say why I just told you server-side Tech is so much more developed and you don't have the same problems as trying to do everything locally
it's true but when you write an app that scales to thousands of users on a server you're not going to write it in the same way as you would for adapt node right the designs there are actually different and what we've discovered the hard way is we really need to use Amazon and infuro and all these centralized Technologies if we are to run an app on our server that hundreds of people can use and that's Snappy and fast because this software stack is just so much more developed and there's nothing to do about it scaling is what these companies do that's the product they sell and we can't do it all ourselves but I want to argue that it is okay to do that as long as there is also this
dap as long as there is the local version you can run you don't really need to care how the server is running and how the depth is running as long as both exist and they both just pull in data from peer-to-peer sources so the exact same uh you know you're not losing out by not being on the server and that sort of web page that's sort of where we're developing now the key is to architect the centralized app in such a way that you can easily reconfigure it and also publish a a localized version that anyone can run on adapt node um and so that's my pitch that's how you can be Dapper while wearing a cap in a sense as long as this as long as the decentralized app exists you're allowed to do on your servers what you want at least in this context of Unstoppable
applications like the guarantee that you are not a single point of failure that's at least one of the important aspects of the original web 3 that we can save um anyway so that's Colony I know this is the governance track and governance in this space often means who has control over tokens who has control over funds um but I want to argue who has control over access to the app in the first place is also really important consideration um so that's my pitch that's what we've been working on that's what's going on at colony and I hope very much to be able to announce adapt node version sometime it's like something is dear to my heart but it's really hard to please everyone and to actually get performant apps
especially in a space where you have to write all the tooling as you go along but these exciting times and um yeah let's keep building thank you very much thank you Aaron we have time for a q a I just had a quick look on your website I haven't seen that before so it looks nice to me uh how are you earning money because I haven't seen anything like pricing and you even mentioned that there's no subscription fees so how is
it working um how do we make money there's a question of who we is in this context um so the um the network of colonies of these Taos are coordinated by one colony called The Meta colony and um we as the team who built it are working for the meta Colony The Meta colony had a token sale and raised quite uh you know decent amount of money earlier this year um there's also a mechanism by which all colonies in the network can pay fees to the center but they're set incredibly low right now there are various mechanisms in place
for I mean various Revenue models at the moment it's where we're being paid by the the treasury of the meta Colony as it stands but um yeah I mean that that that's a short of it and it's not uh like yep so I mean that's it like I want to ask like who's us like the metacorn they can decide to pay people and can decide to raise funds from other colonies as needed but um we don't have that need right now also we're not that there's not that much
money flowing in in various colonies right now and we want people to be able to experiment cheaply and easily because any any fees there would probably slow the growth in the early adoption at least it's also we've moved most of this on to gnosis chain we used to be on mainnet until deploying a colony there started costing thousands of dollars so now our noses changes now uh um cheap and fast and we're also thinking about how we could do a multi-chain version and the the trade the the the difficulty there is we have a reputation system which then has to keep track of what all the colonies are doing all the different Networks but um yeah being cheap and easy is far more important for us right now than using this to raise a lot of
funds any other questions if you haven't seen it Colony has been around forever but we're kind of in stealth mode always I'm always happy to get new people coming in and playing around with the stuff it's it's very flexible framework um and while we are building a reference application we do Envision these tools to be integrated into so if you're working like on a governance tool just like a task management thing or a or you know some other time management you could integrate with call me to do your accounting and um and and some governance back ends so definitely open to that
so always happy to have new people come in so I think if there are no more questions that's it for uh Aaron thank you so much [Applause]