Sunday, Oct 25 - Session B - ETHOnline Judging
ETHGlobal·Sat, Oct 9, 2021, 12:00 AM
After 3-weeks of hacking - teams are ready to share their ETHOnline projects. Sunday Room B Judges include Patrick McCorry (AnyDot), Imran Khan (Volt Capital), Arjun Balaji (Paradigm). Full list of projects at https://hack.ethglobal.co/ethonline/showcase 0:00 Intro - Trent ETHGlobal 9:40 The Ethereum Yield Curve 18:40 Audit Protocol 28:10 Molecule Protocol 37:25 Oracle Sandbox 48:30 PhoBLock 56:48 xWin Investment 1:17:10 My AirSwipe Ethereum Wallet and Reader 1:27:15 defi_blocks 1:42:28 ethFM 1:45:05 Compound PID interest rate controller 1:54:00 LiquidL2 ~ Official ETHOnline Event ~
Transcript
welcome everybody to eath online judging day two um we've had an amazing month of hacking and learning from people all over the world 65 countries 700 hackers 1k applications it was our biggest online event yet and we're really happy with uh how it came out we had over 175 projects actually submit and today we're going to actually be seeing what a few of them made so just a quick overview of what the format is um as you are all probably aware it's four minutes for the video demo four minutes for questions and you know clarifications from the judges and then we'll take a 10 minute break halfway through we have 12 i believe 12 projects for this session so right after the sixth one we will so what is the criteria for judging today um five different areas that the judges are going to be looking into which is technicality originality uh how useful something is for just regular people or how simple the project is um ui ux you know how people use it and then the wow factor which is the wild card area if you bring something unique or really unheard of that's what the wow factor is so one thing we just want to remind people of is that this is not a competition though there are prizes involved obviously and you can win some money um the majority of people here are intend to learn and really get something bigger out of it you know take it beyond the hackathon not every project is necessarily trying to raise funding or become a business um many people are here to get feedback and just really dive into the web through ecosystem and ethereum generally so just keep that in mind um judges are here specifically for that purpose and speaking of judges we want to introduce our three wonderful judges that have joined us for this session first is patrick mccrory from any dot imran khan from bold capital and argentology from paradigm they're going to be doing the hard work of giving you feedback um really drilling down into what your concept is and we're very fortunate to have all three of them with us today so um we can move right into demos now is the time so the first team up is yield curve so let's get max promoted and he can start sharing his screen hi everyone um so in the previous room i when i shared my screen they told me that they were gonna have to play the video for me yes yes i can do that i'm just seeing the note now i will pull it up right now [Music] hi everyone this is max with the ethereum yield curve here to show off our project which is an abstraction on top of ave a tokens so our project allows users access to fixed income investments through zero coupon bonds which is just a bond that pays out a specific asset at a specific maturity at a rate of one to one so each zcb token is equivalent at the maturity date to one of the underlying asset so let's hop into this diagram so we have this ccd of e on each that matures on january 1st of 2022 and on the left we have alice the credit trader and on the right we have bob the fixed income investor so alice thinks that the money market rate in ave will be higher than the current rate at which zcbs are selling against eth so she believes that she can profit if she is to sell gcds on the market so in order to do this she has to deposit a tokens as collateral into the ethereum yield curve smart contracts and in return she has minted zcbs which she can sell on the uni swap it's important to note that when she deposits collateral she will continue to generate the yield uh that is be gotten by that collateral up until january 1st of 22 22. and then on the right we have bob the fixed income investor so he just wants to lock in a fixed rate for a fixed period of time he likes the stability so he takes his ether and he goes on to the union stock market and he buys ecds and he knows that he can bank on he can take that rate to the bank he knows that he will be able to exchange his ecb's one to one for each at the maturity so let's go and look at what a yield curve looks like so this is a hypothetical yield curve for eth right now this product is just on covan so this is just a projection of what it might look like but as the market starts to project e2.0 and staking to come online you'll start to pick up okay so let's go through the process of what it would look like to actually sell some bonds so you've got some ae um and what we need to do first is wrap it and put it in a form which our con other contracts can uh interact with so we will get a wrapped aed or c20 token back let's just wrap 1.0 ae and i've just confirmed the transaction on metamask though you won't see it because obs is only capturing my browser this will just take a moment and uh one of the very important things to keep in mind about this project is this puts defy on full display for institutional investors and anyone who's been skeptical well now it's very compelling for them as to get into d5 as the yields are plainly put can be compared right next to the yields of traditional finance and it's the yields from traditional finances at least leave something to be desired and i think this project will hopefully can bring the about the next wave of capital inflows into d5 all right so now let's go ahead and let's deposit our wrapped ae and let's positive one okay so i have just hit confirm so just take a moment and before you know it we'll have some bonds and then we're going to go into uni swap and we will sell the bonds and see what that looks like all right we've got it so we've got a little more than one eighth zcd and well the reason that we've gone over one is because of the a tokens generate yield as time goes on so yeah sell bonds against your collateral right now we're taking a uni swap okay so i've preloaded these two tokens in here which unispot doesn't recognize that that's okay so if we want to sell just a bit let's say we just want to swap 0.01 okay now we're going to swap [Music] uh okay so yeah we can see that we have uh sold 0.
01 a zcb seems like that cut off at the end was that the proper ending yeah i had to fit it in four minutes just uh okay i just said at the end something about zcb's just yeah i was just saying we sold 0.01 i have i've actually asked questions now i've got one yeah it's it's on to you guys now yeah maybe there's like me being abandoned around financial assets but um so zero coupon bonds they don't normally pay any interest you know normally you just buy something on the cheap and then over time you you know it gets released then you get the asset so how does the yield work here well yeah so depending on what you pay for it you can derive the yield so let's say you buy a zcb that matures one year away from now at 0.5 of the underlying asset that would imply a yield of 100 because in one year you will be getting double what you've paid to get the zcb okay so it's based on the accurate value at the end so you sort of like just estimate or predict what the deal is going to be yeah so that allows the market to um have a prediction on what the underlying money market rates will be over time and it allows traders to argue charge you know so if they think the money market rate is going to be higher they sell zcbs or vice versa what was the hardest uh part about working on this project um i think actually the front end uh was probably the hardest for me uh just it was actually my first time using react so that was yeah probably the hardest part i feel you're peeing by that i've had these react this year what interesting extensions do you think abe could make to the protocol to make constructive products like these easier so i think that the the main well the main use of ave right now is we just use it as a money market and we uh it's really just another money lego that will allow d5 to mature so it really avei really just underlies everything that this project does without ave it would like we wouldn't even be able to function it's just the the basic generating yield function is how we or that's what we use ave for we just use ave to generate yield without the users really having to think about it um i have one question i guess so obviously the ux still has much to be desired you know you've got like a bunch of fields that are populated you know going forward how do you think you can make this more user friendly for unless i finance newbies like myself or then i'd actually just want to go and participate in this market and get my yield uh yeah so definitely ux is something that we're gonna have to improve on uh there's you know how i had a something where i had to wrap my uh ae first i can get rid of that i can actually put that in another contract you'll have less buttons and you won't have as many uh fields of information popping up if once i just get rid of that so that's just something that i had in here for this hackathon because i was kind of push rush for time really games or like i don't know like diagrams or something you could put on it where it would help me understand the twos how to market a bit better how that gauge and what i should buy yeah yeah i'll look into that for sure what are some features that you'd like to add that you didn't have it you didn't have time to add so i'd like to add tranching so that if um at the maturity for whatever reason something were to break and we weren't able to get our yield back you could actually kind of token out that risk tokenize out that risk by putting bonds of different tranches so that just means that the the highest tranche so the senior tranche would get paid first and then whatever isn't paid to the senior tron would go to the middle tranche and when if uh there's anything left over that would go to the lowest tranche so just kind of tokenizing risk i think that's a big application of this project in the future cool thanks any final comments all right i think we are going to move on to the next project thanks for being the first presenter max that was great thanks for sharing max thank you all right next up is audit protocol and i believe swarup and anime have already joined so i'll let you guys start hey everyone hi this is haru and my co-founder annabeth we work at paolo uh for eth online we decided to work on audit protocol the idea behind it is to build a verifiable audit vouching solution for businesses uh we're using ethereum and five point protocols to back the data and the proofs behind it so just to give you an overview of how it works uh as a developer or a business you simply use our api to submit a payload we encrypt that document or a string and store that on filecoin the proof of the document which is in this case a hash of the resulting document is also stored on the ethereum smart contract so this actually allows us to sort of generate an event and this can be an entire stream that offers a chronological view of accounting records under the hood we're using a python back-end with fast api and a few micro services that talk to both protocols uh there's a very simple front-end ui that i've built uh to show you uh show this demo but primarily will be used uh using an api now we use uh matic mania to store our proofs using block regionals api gateway and powergate uh textile powergate to manage our hot and cold storage on both filecoin and ipfs all right let's get to the demo okay so i have a bunch of things running here so we simply create an account right now for the books of the demo so you get an api key and that's what you'll be using to talk to the api uh now let's try to submit a payload so i have an example here which is just a sample of invoices or like some sort of a transaction list and a csv so i'm going to just copy that take that payload here and hit submit so at this point um what happens is we're submitting the job onto filecoin right our deal watchers are actually watching for the job to be completed but from a perspective of hashing uh we already committed that on to the blockchain right so i'm just going to go step by step so this is the transaction hash of the data that was committed so what we're doing is we're taking that payload hash uh doing a hitchhike hash on that payload and committing that to this very very simple smart contract so you can see here the payload hash that's been generated against the api key hash so meanwhile um the job should have been um completed sometimes it gets done faster like in this case so you can see the entire process that's happening so if we actually check here so it should have gone to stored right so i'm also going to show you when it actually fails so for intentionally for anything that is a small payload we are uh not storing that and that actually fails through let's take a look if you actually come back here so you'll see that the storage has cleared right if the company or the developer wants to download their payload right so they can actually make a request so this is what the ui sort of does behind the scenes so you're going to make a request so we check here and if the payload is ready then we'll be able to download that payload right away if it's been cached if it's not the case we will send them an email and they'll be able to request that they'll be able to either fetch that through the api through the ui right so we can just click here we can see that the payload exists let's actually make sure that this is the hash that was actually committed right and as you can see here that's the k check hash and that is what the payload was committed right so this is how you can ensure that the timestamp which you can actually see an event that was generated for this record uh this is the timestamp right so this is the proof that the audit log was done at a certain point of time yeah so that's our damn um awesome i can ask a question so um you mentioned at the start that there was some encrypting of the document uh but it looks like in the example there's no encryption on the document that you downloaded uh so yeah so so we actually decrypt that for them so we're using like textile uh buckets to do it but the company can also encrypt the payload if they don't want to send us the plain text yeah i've got like two further positions and i guess we won't question one comment one question is what what sort of companies do you foresee wanting to use this imagine for some companies there may be some regulatory concern that they're storing encrypted documents on on the on a peer-to-peer network and uh i guess decrypted is really bad for them um and then yes i guess that's the question first yeah so that was the reason why i mean for the demo purpose i didn't want to play with an encrypted payload it's hard for people to understand what we're exploring uh but i we mostly see companies wanting to not give us in plain text and even if they do uh they can probably host this on their server as well so it's open source right now if they want to run it on their end but it is a challenge for since we're dealing with secure data here uh since it literally called the order protocol uh it's something that we will have to ensure that they don't um destroy yeah yeah so this is my comment then this is a comment thank you that's great feedback yes it's kind of i'm sorry i'm sorry i'm just one of the teammates of swarups hi yeah uh i just wanted to see the uh merkel proofs right like we were mostly taking a hash of chunks of these payloads because they're going to get appended like a log event right so we do not actually need to keep exchanging the entire plain text data most likely it will be bits and pieces of merkle grooves that will be moving around yeah i guess my only comment would be like normally with audits you want to prove something about the information to an external party uh so there's a lot of these protocols on like proof of reserves etc where you use snarks to prevent meaningful information about something maybe something you could look into in the future so you know there's an odd going on because you're proving something about revealing it i'm not being my comment and let the others take over yeah thank you patrick what are some use cases that you'd like to see companies use out of uh audit protocol like as you're envisioning building this product out what were some of the use cases that you're thinking about as you're building this up yeah so we've been talking to companies even in you know especially we've been in the blockchain space for like three years so this came out of an idea because we've been providing epis for a long time to non-blockchain companies how do they use blockchain right so when you look at the traditional sense like they use a lot of third-party tools and middlemen which they can totally eliminate if they actually want to do this right now right so primarily i think we will first target financial companies because it makes the most sense uh and to begin with because there's a bit of that blockchain element that you know even though we don't try to say that uh uh when we get the api out we want to make sure that they can actually use it right um so we'll first like talk to even like centralized exchanges right there's trying to store a lot of data right now and then sort of move on to uh traditional companies for just storing any kind of financial non-financial data cool thank you thanks how did you guys decide to use the sort of matic l2 what was the what was the how did you i guess the all the different components of the of your stack i'm curious what the motivation is yeah uh like i said we've been building blockchain apis for about two three years now so we wrote ethereum only and then we launched with matic earlier this year so we sort of power their entire infrastructure at the moment so we have seen their scale and what's possible and also because the gas costs are so high if you were to do this live demonically i mean today that's precisely i would say the first number one reason was to use an l2 great i think that might be time for this project there's not any final thing thanks for presenting thanks next up is molecule protocol and i think we just have calvin here so i'll let calvin start okay um from the green room um i wasn't able to shut the video so i am playing your video you are awesome thank you thank you get that pulled up now [Music] and we will get started hi this is kelly i'm pack i'm presenting for team maximus the teammates including the fazon and andrew bust and we are presenting the molecule protocol right now the tokens a token can be transferred between a sender and recipient on a decks or marketplace without any restrictions what if we want to validate both sender and the recipient we look at the security token standard composable token and inside protocols for inspiration but we want to do something simple so what are molecules molecules are unique erc 20 and 721 combos it's very similar to a chemical reaction molecule protocol enforces a token combination for both sender and recipient in order to approve a transaction this is an example of a molecule structure and let's look at a case study with kyc right now you have two choices on centralized exchanges they will take care of your kyc and compliance and install in a centralized database they control your private key and charges you a lot of these on the dex you control everything but it's not compliant so what if your kyc approval can be stored on chain now your wallet is compliant and tied to your identity and you can still retain full control with your private key and not pay expensive key piece with molecule protocol compliance can be enforced in the all subsequent transactions so user can participate in d5 without having any blockchain knowledge by creating a portless account which creates ethereum wall address go through kyc get approved by bloom now we mean a ufc 721 token representing your kyc similarly for other legal docs for real assets you can do the same approach so there are two different ways we can implement this one is through an extension adding a new compliant transfer from with the molecule smart contract address as additional variant but this will require changes to always sustain assets or implementation of the raptor so the other way um is to inject a check in all decks and marketplaces so we can validate um so the process of creating a molecule protocol is pretty simple one is to define all molecule structures um here's a schema for doing that and then once you've done that a validation smart contract the molecule smart contract will be generated and deployed and now when you list your asset for transfer you will specify the compliance requirements and it will be enforced by the molecule clerk so here's a live demo um let's create two elc 721 tokens because this is what i defined in the molecule smart contract so we are launching two different elc 721 contracts and now let's launch a molecule smart contract which takes two different elc 721 tokens smart contract addresses so we're waiting for the second one to be minted now it's done and then so we can deploy our predefined molecule smart contract so what what it does because with my current wallet address i created the erc 721 tokens so my address already contained the approval and let me add myself into the white list make sure that um i'm being whitelisted um so if i enter my current word address and transcend you'll see as a recipient i should get a recipient total and the transaction is being maintained right now in mind right now and see it's done and what if we use a non-compliant the transaction will be rejected thank you so much for your time calvin uh good question molecule what intended use cases were you thinking about as you're kind of thinking about meshing tokens together so we guys were really thinking about doing a project on this cdp with um mega dow but during the time of hackathon i think the shockwave sent because of the arrest of the cto of bit max and then we started talking about like hey why can't decentralized exchanges also be compliant so we started this discussion on it and thinking about hey what actually you know if you if you got approved by a akyc why can't we just mean a token and represent it and associate that with a wallet so this way um you you can actually have compliance easily and they're trying to do a more generic way um like how can we structure this so basically that's how we came up with the molecule idea because um you on top of kyc you may have other regulation requirements some legal documents in the real world and just by representing such requirement or approval process by an elc 721 token you can enable a lot of different combinations and real use case and and of course um i think the first thing came to mind is the elc 1400 that's the polymath attempt at the security token but i think the implementation is actually way more complicated than what we can't understand so we're trying to do a very simple solution awesome can i just clarify the solution a bit i mean i missed it there um sounds like you modify the erc20 token and then you add a new function that checks if the address is compliant is that right or is it like a new token in its own right so so this this is one of the original thought we have hey we can just add one function but then thinking about it it's it's going to change all the existing assets so we we instead of doing that um i think it's easier to um add a function to the decks like uh we can unit swap and then just just before they approve the transaction we entered a molecule smart contract address and then there's a function called just like verified molecular molecule and if it returns true then we will enable the transaction otherwise we reject it we actually started working on a elc 721 token it's kind of like an open c implementation but we didn't get to finish it so this is a pre-generated molecule smart contract that i did in the demo and yep just to clarify then so basically in the dax there's a compliance function it calls out to your erc i don't know what it is seven two one yeah yeah 721 yes it's listed in the kyc and they're compliant yeah the wireless function could be done in the real time so you don't have to get pre-approval but um yes um with with the um marketplace contract you can actually validate that you know at a time of transaction but you need to do one more thing which is um add the compliance contract when you list the asset for sale cool i mean maybe you could change the name for molecule i don't know i don't know if martial you confuse me with the gameweb that's why um yeah it could be very generic in the way um if you think about it um i'm not good with names but definitely yes kevin what's the next thing that you would add to avoid kind of the thing and the the krc point of view being gamified or something so so um the two two things that i plan to do next is number one um to get a signature block um it's very similar to how you sign any any agreements on using private key and i think that's something like like a term and condition which is very commonly used the second thing i want to do is actually fill out a a x dex or or erc 721 marketplace contract to showcase um how easy it is to integrate the molecule protocol um i think it's it's way simpler than i i i thought it would be but then um i didn't have time to um our team didn't have time to finish it all right i think that's it for q a thank you calvin for presenting thank you so much project next up is oracle sandbox i'll let you guys start okay sure thank you very much hello this is logan king here to talk about our hackathon project oracle sandbox oracle sandbox is a project designed to assess the security of smart contracts and the data feeds that they are getting data from which are often web apis or similar um you can see that contracts are kind of hierarchically connected and we have chosen to visually display them in our app for better intuition to users we have a grading system that comprises of assessing the data reliability of data sources which is basically comparing similar data sources to one another and seeing if any of them are outliers vulnerability assessment which if you import your smart contracts into our system we will tell you if any of the contracts are known vulnerable or may contain uh bad source code and then uh we have a quorum rating which is basically stating that if you're only getting data from one centralized uh ypi service or entity handing the data it's hard to trust them so we recommend getting data from multiple sources visually for application we wanted to as i said before do kind of a block diagram structure and this is kind of the reference we were going for where we have multiple nodes that represent data feeds or apis in oracle and then to represent which data is going to what smart contract we have kind of oracle ports that the data flows through the software we're using to display this currently has a limitation that only one input can go into one input port at a time so we've kind of compromised with the port diagram instead of having one block we kind of have these port nodes that we've created and here is our website with our application so users can come and create components using spawning them from a selection over here they can create data feeds they can create oracle smart contracts or ports which kind of collect multiple data sources together as one output so for our example we have three data feeds here going into being basically used by this first smart contract all through this first oracle and then we have another smart contract importing us library from another smart contract only taking one data feed and we have the uh the security grading is working but we haven't hooked it up to the front end yet so visually that's all we have right now but we do have an update button for fun so uh when that's plugged in the users will get a nice result of how their contracts are secure and secure and you can build all of this even without source code just to kind of play with architecture to see if it is safe or not or you can import your source code and it will automatically load all this in um i get that i can start um you said you can upload the source code i mean i guess the first point i actually want to ask is so it looks like it's a gui for putting together the architecture of your api and then getting like a security reading or comments to say oh well this is bad practice this is the clarify that's like the main idea isn't it and then you can also upload your source code and that was going to be my question of the source code does have to be like a particular format like how do you go about just reading random source code for identifying this information this is logan king you guys can hear me right yeah awesome um right now the app doesn't have source code importation but what we would like once it's built is to [Music] be able to just provide source code but mostly what we're analyzing is contract architecture so what we'd mostly rely on um for importing the block diagram is kind of seeing what imports what such as if a contract is importing another contract then we can see that that's hierarchically hierarchy dependency if it's using an oracle um and then what data feed apis are being called from that oracle and from that we can get all our block diagram information we would also like to [Music] get additional information from source code to assess vulnerabilities uh either whether the source code itself it contains known malpractices or whether the source code is known to be vulnerable through a hash or something else but you can use our app without source code to just entirely play with architecture in a theoretical system awesome imran or arjun do you have any any thoughts or feedback so um what was the most fun part of working on the project uh like i guess as you were forming a group why this idea and what led you to build this up um one of our members is working on a project that they thought could benefit from this application or kind of being able to assess the security of data feeds there's many different types of data feeds you can have web apis you can have received data from sensors in a specific location some data feeds must be structured in a certain way for contracts to work or contracts are expecting a certain format and apis might be able to change over time which we would recommend smart contract owners kind of build in the you know checks to make sure that you're not you're using the data you expect before you use it but the most fun uh part of it for me was probably just meeting the team and learning to use new tools and and uh programming it also yeah i can compliment that also it was fun to uh apply a user-centric approach from the beginning about thinking about who's going to use this this tool and how the ux and the ui were going to be that was also an interesting part which is one of the results for the for the project yeah the major major element of it too is just considering that for real-world application of actual onboarding of you know people in the average world we thought that a lot of the projects they're going to be focused on that are going to be necessarily looking to feed off chain data and also are necessarily going to be the types of development teams that aren't native but they're not familiar with the concept of you know deterministic back ends and so at least this is a place where they could land and get some initial feedback and general advice on good practices and also that uh uh oracle teams could also participate in this and collectively add to that information that first-time development teams are going to be using yeah something patrick yeah not one small comment um obviously there's lots of different oracles that people are using that all have different api setups one thing that you could do that would add contacts to this work is maybe a comparison of them all and they actually highlight the list of vulnerabilities that pop up if you use different solutions or you know the google bot things of each solution for example you know i'll be the difference between using coinbase api and the gm link api you know at the technical level not just the fact that there's different you know source origins part of what we this is a very security uh focus thing but it's also just trying to prepare developers and newbies to understanding what they're looking at so part of what we are doing is automated assessments and then the other part is when you would click a component such as an oracle um which we'd hope to have different oracles such as teller and chain link and other services hard-coded knowledge about we'd like to give resources on them a little explanation of how their network works what users need to know in order to assess the health of that network if any major vulnerabilities have been detected or happened recently or if it's been compromised uh they should know about all that and is this ongoing uh or is it just kind of uh you want all ours to use as they're kind of pushing out their final product [Music] um i have to i'm not entirely sure what you mean by ongoing but do you offer is it like more of a kind of like an ongoing monitoring service as well or this is going to be something that developers can kind of fact check to make sure that there's no issues with their data feeds right it's more of a developer slash user fact check um you could either point to contract address or source code um you can do it on the contracts you are developing but you can also do it on live contracts once they're in use and that data may update such as you know if an oracle service or a data feed is detected as compromised recently then that information will present itself whereas it might not have presented developers upon them uh moving the software to production if it if you became robust enough in the future it could be a potential you know tour you actually screenshot or grab some sort of off of it and you put it on your application with sort of a check mark of security um to present to people so just an additional you know thing there that see the users who are about to put in some actual capital can you know see on the on the user interface and determine for themselves they find it to be more secure i'm going to jump in because we are a couple minutes over before so i'm going to wrap up there and thank the oracle team for presenting so great job guys thank you very much we're going to move on to the next team here and that would be full block i'll let you guys take it away all right um it's effect but do something okay platform it's called football it is a community-owned 4chan decentralized app our team is consists of three people me graphically from malaysia sergey alcaraz from spain shanghai from south korea the purpose of us doing this project was to try to understand on how to develop decentralized apps and it's been a deep learning curve for us there's now uh we haven't done our project throughout but we have some stuff that's already been done and we can show it to you guys what is full blood problem is a community on on decentralized free sharing photo platform meaning that in simple terms it's it is a decentralized unsplash we're hoping that photographers can upload their pictures for non and commercial use for everyone but in return they will be rewarded with a token called phone for a platform and they can use that token to vote for any new features in the platform and also can they can use that to buy services within the platform and so as well we're thinking about making a fully decentralized app by implementing ipfs for the uploaded feature in our platform right that's going to be uh our future plans with this platform so how it works the communities that we are trying to get engaged with are the photographers and also for the users that want to download pictures for their own personal use or for commercial use in a way that photographers will upload their pictures in the platform the users will go through browser platform and try to get the pictures that they like they download that picture the more they click download smart contract will be activated to send one token or phone to the photographer the owner of that picture and the photographer can use that token to vote any proposal and also use that to buy services within our platform so this is the flow diagram on how the token is going to be like the economy within our platform that's the logo and also the name of the token fir as you can see here the moment the download button being clicked one token will go to photographers and the photographer can use that by proposing services within a platform so let me show you our design for our front end this is the homepage of the platform for photographer who wanted to join this platform they need to sign up here and we will ask for their ethereum wallet here as well so that it can automatically send the token to their wallet the moment they already made that this is the account page for them and the token available for them the moment they upload we also offer the services down here so that they can use the token that they already gathered within a platform like here be on top of the search rate for this keyword for 15 fold and they can use that token for this page here to vote for proposal and also to submit proposal this thing can will be done quarterly so every photographer can use their token to vote whatever they think will be beneficial for the community so as a user what you're going to do you're going to go here and try to see what pictures that you like the moment you see this picture if you like this thing you can click here download and then it will give one token for that photo photographer and this is the search page same same process for them right now we have it um located on the front end programming using reg and also the back end using springboard and maybe in a couple of months we will have up and live for our platform for everyone to use so now this is what we have and we're hoping to get it done as we are moving forward and learn new tools for our platform thank you that's all from us um i can go first i guess i could just jump in um so i think for the this movies as a comment at the moment i think for the project i think you could take it like this so for example a few months ago we were looking for a logo for a browser extension we ended up with a pomeranian with a little black tie which was really cute but i just couldn't work out the license around it i went to several websites and i couldn't find out you know who made the image and what was the license port and how could i pay for the license so we can never use it for production where if you use something like this you know the photographer can our the graphic designer can upload their image detail the rights to the image and then actually allow me to pay for it and improve the other people that i have right to it just to avoid um you know copyright issues i feel like you did something along those lines i'd find it really useful because i wasn't paying the ass for me so that's the comment i guess i don't know if you have any thoughts on it oh okay i guess the question would be have you thought about how you might work licensing into just a place for photographers to share photos so far we haven't figured that out yet um because we're we're just looking for something to do for this hackathon try to learn as many tools as possible to try to develop a decentralized application and another thing is that we're in answering that question i would say that we haven't done a lot of research on that on how to uh pursue on that direction look is a mess when i was trying to find this copyright and it's just something that could easily be solved by something like this whereas you know the the graphic designer can just pick a license and then sell it on the internet um so you i think you could go drawers after action and be really useful versus you know voting tokens i've been updated for other people what have you learned throughout this process um i'd say on on how to develop smart contracts because it's to me it's a really strange thing trying to figure out what smart contract is and through this process i see the the technical behind on how to develop a smart contract even though we haven't fully developed one but i've already seen the fundamentals on why this thing works and why people invest in it before this i don't really understand why people would invest in trying to deal with this kind of thing i know that we understand how the blockchain works but to develop tokens and smart contracts it's something alien to me now it's pretty much obvious how are you thinking about uh kind of development of the project kind of going forward i know that you guys have uh now an interface fully designed uh so we're thinking about just finishing this project moving forward from here because um technically we had like a technical difficulty before this we use flooded to develop our front end and we try to [Music] increase our learning curve by learning that framework but instead we kind of change our mind along the way in the middle of the hackathon and that's why we need to reorganize everything and try to finish up at least have a demoral website to show all right great thank you for sharing the project guys thank you okay thank you all right so the next project and the last one of the first half is going to be x-win investment and just after this we'll take a short 10-minute break to stretch your legs get some water whatever you need to do i'll let calvin present hello hey guys good morning uh let me share my desk did you share the did you share your sound or anything yeah oh sorry um okay well you're on your idea yeah let me share it again sorry about that no problem i blame youtube it's okay i mean axemi is a decentralized investment platform that connecting fund managers to investors how it works the protocol used unison for the swapping purpose changing precisely for the fund valuations and finally our way as a learning protocol the program has interface for fun subscriptions redemptions rebalance create target direct swap and liquidity pool now let's go for the demo file manager can create that fun target through the screen here so for example um the funded focus on tech focus will be having say die for 30 and bad as 70 once they look so fine they will start to create the target so i need to confirm and sign the transactions in the metamask it's done now and now we refresh the screen the x-men text is enabled to allow investors to do the subscription and redemptions now the phone is ready for the subscriptions click on the subscribe button and key in that number if that you want to subscribe to the phone press inverse and metamask will be popped click on confirmations and wait for the transactions to be done now the transaction is done refresh the fund and we will see the number of supply is increased next we'll go for the redemptions in redemptions click on the font that you want to redeem and key in the number of uni that you want to redeem from perform and check box with here will give you the choice whether you want to return if or underlying token click approve and cite the transactions in your metamouse and once it's done continue with the reading actually provide the rebalance functions for the fund managers to manage the fund basically to rebalance the fund there are three steps the first step file manager has to move the underlying token into eve next step you will go update the token with the new target once this is done fund manager has to move the eve back to the underlying new target how it is made x-min is built in solidity as a pattern vhs as a partner there are two main smart contracts the first one the core interface that interact with the front end and the second one the fun to store the token balance in the futures for the next step we will launch the phone in the main net enhance the autonomous algorithm and finally we want to integrate with other protocol thank you for watching now we are open up for the q a sessions um i could start quickly if you want um so my understanding is that there's a fund manager he has a list of assets and i can deposit into that and then they basically monies my wealth for me you know they rebalance it for whatever goal um have you heard of set protocol before so they have something along those lines but i guess not for funds or wealth it's more for copying someone's trades and then you can actually get like a token that represents that basket of assets then you can trade those tokens as well so if i want to you know join your asset i can just talk they tokenize you know the basket of currencies then you can trade that around i've looked at that before you know how does it compare what do you think um yes um yeah before before the idea came uh yes uh i know token set and before uh when when i started the idea and start to build this i think tokens they don't have any uh i think now they come up with the version two where they have integrated with the farm with you using uh uh farm uh farming and then they they have a lot of more features integrated um before that i i just feel that token set was a bit uh i mean most of them is just a two two two two tokens you know in each fund and they basically just do two like swapping uh back and forth so i thought this would be good to have a bit more features like uh like providing the alpha strategy or connect connect uh to other on off change um uh indicator so that they can have a bit more autonomous so basically yes i mean i've seen that and it seems like similar that's true what do you think are the kind of initial strategies that you think people would be really drawn to or um i think the strategy i mean it could be um it could be a very uh technical analysis uh trading where where the protocol can connect to the off change uh indicators uh such as this uh rsi uh indicator and then and do the autonomous rebalance uh once once a month or once a week um but the the demo that we have uh that i built now is uh basically it's a it's a manual uh setting by the fund manager so basically fund manager launch the fund and and they have some optimizations of the target and set up in the target in the in the in the protocol and then all the rebalance and built-in features like such as uh depositing 50 um of the balance into the of a protocol or compound finance it uh it can be provided by the platform and then also the redemptions and rebalance it could be much more better for the autonomous like how it could be rebalanced automatically or any access active way can be can be traded automatically in the protocol what features would you like to add in the future or where would you like to see x-win in the market compared to others that are in the space today i think uh to provide uh the uh the tool for the fund manager to connect to the off change indicator is the one so that uh the fund can be rebalanced automatically without any setting uh manually by the fund managers this one and then the second one is uh any excess active weight in the fund can be used as a liquidity pool for for the swapping purpose because anyway you need to rebalance the fund you need to sell some of token your portfolio so it could be used as a liquidity pool uh for the swapping purpose so that could be uh next thing that we want to enhance this cool thank you thank you great any final comments otherwise we will go into our break oh go ahead patrick i was gonna say i think it's really cool thank you yeah thank you good job calvin and with that we will move into the 10-minute break so do what you need to do turn off your video and mic and then we'll be back in 10 minutes and see you in a bit [Music] all right that's 10 minutes and it looks like we've got everybody back so i'm going to play andrew's video judges are you all set ready to go cool awesome so this is the second half and we actually only have five more projects so we're well on our way um and i'll play the video hello i am presenting my project called the air swipe wallet and reader project this is my wallet and this is my reader this is a hardware wallet and reader the technical challenge of this design is to make it low cost low power and short proximity as a wallet and reader to allow complex transactions with ethereum blockchains with a simple touch or non-touch air swipe within touching range of the reader the goal was to design the low-power eprom based transaction that doesn't require any simple token-based transactions like the kind you get from bars code barcodes counters credit card taps or qr based reading reader systems my wallet and reader can support more processing using private eprom based processor to do blockchain processing and with better encryption support the system does not require a network interface that can allow complex transactions to take place at low power the goal is to also allow money or cryptocurrency to be traded privately between wallets another technical challenge was to allow transactions with no power circuitry uh harnessed uh that is by harnessing power from a wirelessly from a reader so like i said this is my wallet and i can perform a demonstration of that of the wallet transferring data directly to the uh reader here you can see that by pressing the two buttons on my reader here or my wallet uh i can i can transfer money uh to the reader that's short or close proximity and that is accomplished by using what i call resonant inductive coupling circuits it's like a wireless transfer but it's very very short range about three to five inches roughly and you can see that the payments uh a payment and money can be collected with a complex transaction between the reader i also can do a screen share here to demonstrate uh a program that is collecting this information when i open the link you can see that the wallet id is immediately read and i can uh continue to do transactions between the wallet here and the reader and a balance is kept in the eeprom of this wallet here and the goal in the future is to develop a wallet here that has no battery power at all and um that will be an accomplishment that concludes this demonstration thank you for watching wow very cool what's your background andrew well i'm a hardware designer i'm also a software designer firmware designer a doula uh great prototypes i meant things generally speaking so uh and i'm i'm here in waterloo ontario canada great places i'm i'm not sure if you can hear me um okay sorry i just turned off your video because it was looks like you have a little bandwidth issue but we can still hear you fine okay uh so that's my background um i also designed software and uh my goal intending uh uh this hackathon was to actually develop my hardware for uh the purpose of uh interfacing it with software applications uh numerous ones that i saw that were available on your uh at your hackathon so um i'm specifically interested so most of the time i spent uh during the hackathon was to develop uh hardware the hardware itself but to eventually do an interface with uh any blockchain or cryptocurrency trading software mechanisms so and that's what i'm hoping to learn uh and i i learned a lot um and i'm hoping to continue to learn that uh and develop better interfaces great um so this is just this is just a mock-up right now you're not sending actual transactions with each little press right oh yeah actually it is it's uh it's it's simulated uh unfortunately the video was kind of slow you couldn't you saw blinking lights uh what you could see is that between the wallet and the reader you can see transactions taking place it's similar to an nfc technology that i developed but it's actually a two-way transaction that's taking place there so between the wallet and the reader that nfc uh transfer of data this is which is pretty high speed is actually doing a blockchain transaction and calculation and also some encryption as well so it's very private between the wallet and the reader and uh hence it'll be private to the uh uh you know whatever software is driving the reader can i ask two questions on that um like the first one is is it signed in an ethereum transaction and i assume there that maybe you know the reader isn't giving over blockchain information yet but it's signing a real ethereum transaction that could be confirmed on the ethereum blockchain eventually um my second question is to do a power is the reader powering the writer you know the designer in that demo sorry i had the the reader um no the the the wallet is actually battery powered uh i could only battery powered at the time but the goal is to actually get uh to remove the battery from the wallet so that it's uh only powered from the reader uh those uh what i call resident inductive couplers in fact can power the wallet uh circuit and so you could actually power it with enough uh uh battery power or with enough power to uh to run the blockchain transaction the full calculation can be done on the processor so yeah to answer your question this that can be done uh it's not done now but it that's one of the goals in the future and in fact everything can be uh the wallet could just be a simple pcb smaller than a credit card uh to be embedded into uh you know a handheld wallet my goal is that you could take this wallet and uh go anywhere with it and do transactions uh by a simple swipe what are some of the scenarios yeah go ahead pieces here that you'd be excited about andrew are we sorry what are some of the real world use cases you'd be excited about andrew well this could be used for a lot of factory applications uh you know if you uh like readers uh in factories if you want to read labels uh uh you could do uh payments you know pay your gas with a simple swipe uh technology like this uh you know that i i think the uh it's similar to a a card tap or a qr code read but it's not tokenized you don't have to read the wallet id you can do a transaction in the actual wallet card itself so that's my goal here and um so you know i can think of a lot of applications for this uh but i'm i'm counting on uh this you know i'm not sure people want to put money on their uh on their wallet card the way i have it but uh but that's something that could be done and i can improve the privacy between the wallet and the reader andrew how long how long did it take you to pick out the original prototype well i designed it uh just before uh the hackathon started uh it was just a matter of getting the board designed and then putting it all together and then writing the firmware for it so that took the extra three weeks uh it's like a do-it-yourself wallet and reader so but the goal was to do this and to get an application uh through the hackathon i was looking at vega and uh near protocol as uh example um software uh interfaces to uh to use here there could be more so um um i was hoping i mean if you're like an ec signature then you could give the work of any wallet contract out of the box because they only need uh ecdsa signatures they don't actually care anything to do with the blockchain that's right yeah i think that can be done all right i hate to cut it off but it is time for the q a thanks for presenting andrew thank you thanks for having me have a good day and next is d5 blocks marius hi guys hi maurice hi i'm maris and today i'm going to talk about d5 blocks which is a nice little script that creates smart contract solidity code based on a blockly block that i created for this hackathon um so to start with i just randomly chose a strategy from the yearn starter pack repository on github it's the dye compound basic strategy and i um had a look how to decompose it a bit and um if there is some common logic that i could reuse and i created basically a templated version of it and so i could map my block variables to those template variables and to demonstrate that i have prepared here uh this blog in the advanced playground from google which is a nice tool to visualize your blogs that you have and uh and also to to to play around with it a bit to to get a feeling how it works and what you what could be done so so as you see you could just easily plug this parts of the block um in and out and it's it's it's a really nice experience i think to program a smart contract in that way and um on the right hand side you have xml representation of this block which we could then just copy for now i just copy it later it would be nice to just have this like integrated and then we can just go to um to our default block definition and just paste it here so now we have the representation of our block inside our code and above we have the model for the block which i create created earlier already in the block factory from google so that's basically it here we have the templated version of the smart contract from yeon uh which looks kind of ugly but um yeah it needs to look that way and um the template is red here uh and then we read also xml and we just loop over the values and we just replace all the values and in the end we get an generated um smart contract which has like all the values replaced and um yeah you don't see any you don't see any template variables in it anymore and hopefully this compiles and this would be like also like one of the next improvements that could be used to pipe this immediately into compiler or integrate it into ide or something like that because i think there's a lot of boilerplate code and a lot of stuff that um yeah could be improved for for developers of smart contracts and yeah that's basically it thanks for listening yep so can you hear me hi marius what in for these strategies that you would want to create like what what are the protocols that you've integrated down and like what would you want to integrate if you kept working on this afterwards um basically it's pretty um yeah you could you could choose what whatever you you'd like to um basically i'm looking for any smart contracts which have some good software design pattern already because that makes it very easy for me to create a blog for it so for yearn was quite nice because all the strategies look very similar and and i've seen this when when i've looked into them they they have like maybe 70 to 80 boilerplate code and i mean the the hard part has to be coded like differently that's that's clear but but i don't know maybe you could have on an interface or something like that for strategies or for smart contracts that could like kind of lead the way into this kind of graphical way of no code smart contract development um yeah i don't know just just curious what whatevers will also come up to because it was just quite kind of fun project have you looked at the insta top contracts um they all have the the exact same interface as if i were to sell for all of their strategies that may be a good place to go yeah that's that's a great idea i have to do that definitely yeah i mean i'm pretty new to this to this thing and i just wanted to learn something about smart contracts and i thought yeah that's a really cool cool cool thing to do because blockly is also a very nice tool to to have i thought and uh and and if you could because i think that many people know what they want to do in terms of of this d5 thing like optimizing stuff they they really know what to do but they don't know how so so they have this this problem maybe that they're not smart contract developers but they know how to put it maybe to rv or to uh compound or you know and and um yeah this this could be like combined maybe yeah good idea yeah i could see if um you know in like the in a future iteration i could actually see like putting together a strategy and then having like right underneath that a back test show up of the strategy uh oh yeah and like something like i this is seeing a bunch of people put together like your instructors i do think this is um super practical and like very useful tool so very nice what would be very cool to to have like a test or something like that uh for it like how does it perform or or yeah but but there you have the problem that you you you don't you only have the main net where where all the stuff is happening so i was thinking also about maybe doing something else about that but not in this project but yeah just just coming into new ideas as i approached this so yeah quite nice actually i think this is really cool i would encourage you to keep working on this um because i think there's a lot of potential extensions of this that you can see even now thanks a lot for the feedback anything else from the judges otherwise i think we could probably rap there all right thank you for presenting thanks guys thank you next up we have fm hello everybody everybody this is radio and a steganography project that works over years between our main goal was to hide bytes into erc20 transactions we did so by hiding this information in a specific transaction in a bunch of dummy transactions we only can know which transaction has information if we have the key this key is a set of different accounts with private and public keys that you can generate from our command line what we achieved at the end of this project was to build three layers the first one is the mite layer we can hide by inside erc20 transactions the second one lets you not only post binary data but you can also post ipfs hashes some text raw data or call this call will be execution for hidden contracts that we will see in advance at the third layer we have hidden contracts these contracts are no more like that javascript code that can be replicated with different calls we will see that in advance and a rebel command line too that will let you interact with contracts hidden contracts just using your command line so how does this work binary data is encoded as erc20 transactions the channel field that is a field that is generated automatically inside the key will serve as random ship for creating dummy transactions and then the data can then be recovered using a txid so at the start we have a buffer the buffer will pass through the key the key will generate an execution plan that we create a lot of transactions just fee of the transaction will have real information then using the same key we can recover that information and get the original buffer then we have the hidden contracts hidden contracts are not more than javascript code that is stored in ipfs in this case we use pinata that let us store that information but in advance we can use them on our ips providers these hidden contracts will store data into a redis db so each time you call a function it will replicate the state from the start to the end letting you to write some logic inside this hidden contracts so we can see an example of hidden contract here on the left then we have this hidden contract we want to publish a hidden contract is no more than a javascript code that can be execute and call many times so we create this simple contract we deploy it with a simple command it will start making transactions into the erc20 token you can see the complete log here after that you will be able to connect to that contract using this command then you will be able to add contacts calling this function and it will submit a transaction all these tokens that are being sent will store the information it it will also control the simply so it will ensure that everybody will have enough f and enough tokens after all of that we can then retrieve the information in this command get contact by name so this is a layer on top of the other information but the base in the basis what we achieved was storing information hidden inside erc20 transactions and adding some simple functionality like a hidden contract thank you i can try to summarize that see if i understood what was happening so you have a contract that's on ipfs and that's considered hidden because you know it's an ipfs and then if i want to send a transaction interact with that contract i do this erc20 transfer and i want to hide my command so i send like 10 erc 20s and the commands in one of the transactions and then i assume that's encrypted because when you have then the other person has to read it can decrypt it and when the contract okay so as i said as i said if there are many different layers the first one is everything that i will store in this hidden layer as are stored as erc20 transactions we generate some dummy transactions as a real transaction the real transaction will give me the information so then we implemented the use case is it in plain text it is not encrypted by default because we want to implement the function that you can share the addresses the the transactions ids and you can generate a public a public key and can read the information but cannot modify but they are hidden in the sense that the key that the key has a field called channel this channel will will be served as random seed and it will generate dumb transactions so it's not encrypted by itself but you can only know which transactions are real by this specific channel that is inside the key okay so there could be like 100 transactions that all have different commands but using this seed i know that only two of the transactions are valid and i can execute those commands in the moment you generate the key you can define the parameter how many accounts do you want to use how many space between transaction at max that's the general idea i guess that's the hidden factors 100 transactions only three of them are valid yeah but these are not this transaction are not not meaning token transaction itself the bytes in this id transactions are yeah okay okay and the hidden contract itself is just an use case i generate some system that let you post code and in ipfs it track the hash here and then push calls you don't push the result of the code you don't say it you just say hey i want to add a contact or add something so i will post and add transactions all the state is replicated when you execute a command yeah so i guess in a way i don't really see the point of the erc20 contracts i mean it sounds like the idea here is that there's a counterparty who i want to get a message across to but there's an eavesdropper on the communication line and i want them to know which transaction they should read because this has important information and you could do that using any contract or anything no no no the point is to hide information this is what stereography is about you can hide information in many things in image videos etc the point is that information is not readable so you want to make something hidden so the technique we built in this software lets you hide arbitrary information inside erc20 transaction so that's the point hiding information so um as you were building this out uh what use cases do you have in mind um that you'd like to see in the wild okay so we call this project as ffm but also we call it radio because we make the symbol with radio stations so we made a simple usage use case for example this agenda contact you want to have some private agenda with private contacts and you don't want anyone a miners or anyone to read your contacts right so you can have it but you can also do more complex stuff for example you want to make um a post of trading cards for example for gaming trading card so you can post your trading card daily daily daily and give the public key the public transactions of the information that is needed so anybody can read this information anybody that you give the key can read this information but any other cannot read the information but as you give the public key and not the private key they can't add new card they can just read and i want to implement in the future a functionality that led you for another contract and have a parallel private contract that is listening to another contract so you can have for example my own cards and privates and there are another original card that are already private but they share with me it's basically hiding stuff hiding data hiding information and sharing that information with others thank you very cool all right thank you guys for presenting it sounds like it was a really technical project i might have to uh watch that video again and dig into the concept a little bit more after this yes one of the problems i had wait it was to explain this very in very precise time so any questions you have you can text me yeah i think i think next time make sure you highlight this i standard i can't pronounce it stereography part because that didn't come across in the presentation to me and now it makes a bit more sense of what you're trying to do okay so thank you i didn't see it great thank you team thank you thank you all right next up is the compound pid interest rate controller it's quite a team name but i'll be playing the video for this team thank you hi my name is alexis and for eath online i decided to experiment with using a different kind of interest rate model for d5 applications um in today's world most interest rate models are based on strictly the utilization rate so as the amount of money borrowed from a pool increases from zero percent to 100 um the interest rate increases and sometimes there's a discontinuity in the model which caused it to increase more rapidly after a certain point the purpose of this discontinuity is to speed up the resolution of market state where the borrowing amount of a pool is saturated and people are not able to withdraw their money by charging a lot of money to borrowers people are incentivized to repay borrowers and supply more which resolves the situation the problem with such models is that they're pretty rigid um they tend to operate at a low utilization rate and that they require a lot of interference from governance to maintain correct interest rate levels so my experiment wants to use a pid controller which is basically a concept from control theory which uses feedback from a desired state and a target state to influence the variables that are controlling the system so in my case i decided i would target a utilization rate in a compound pool of 80 and i basically wrote an agent-based simulation to show that a pid controller can accomplish this task um in my simulation i have two classes of traders commercial traders and noise traders commercial traders have an opinion of what a fair market interest rate should be and trade in accordance to that they also have their own internal volatility that affects their views over time noise traders simply place borrows and withdrawals and repays and supplies randomly in random amounts over time so this has more volatility to the market um so i plotted the uh how the different models evolved over time in both scenarios so this is the example of the jump interest rate model used for dye and compound today um the most interesting thing to look at here is the utilization rate um as you can see like there are reasonable periods of time where the utilization rate falls like below the target for a long period of time in addition the spread between the borrowing supply interest rates is quite large in many of these cases now let's move on to the pid controller in the pid controller you can see that the spread is quite constant at 0.8 of the pool's utilization so as mentioned before the benefits of this model is that it's less overhead from governance but more importantly because the spread is so much smaller if you have traders to have an opinion on what a fair market interest rate should be the chance that the offered interest rate is close to the interest rate they'd be willing to take as much higher for example on unit swap markets on compound today uh you can see that um the the spread is quite large so you supply for about four percent and you borrow for about 13 um and so if you have an opinion that the true market rate should be anywhere between 4 and 13 you're not going to interact with that market so with a pid controller you can decrease the spread a lot in the future i would like to um make the model a lot more robust fix edge cases write solidity for the interest rate model code and then write a bunch of tests to basically show that this is robust in a wide variety of scenarios thank you for listening alexa i'm sorry oh go ahead mom that'll go ahead no i was just gonna say thank you for sharing this is really cool i think that one of the just watching compound governance over time especially over the last six months it does seem like there's a lot more conversation about moving to some form of like autonomously generated uh an updated interest rate model i think there are a couple of different teams that participate in governance that are working on this and so i think overall like this is this is really really cool to see more experimentation here cool thank you i'm wrong thank you uh agreed with arjun uh i do think that you know making sure that there's more stabilization between both borough and ask are going to be important moving forward um how are you thinking about implementing this out in the public like uh are you yeah i'm curious to hear what you're thinking around that yeah so um i think my approach to this hackathon project was really develop a proof of concept um and that was basically the concept of the agent-based model was to basically give me a framework of how i can evaluate two things one is is this an interest rate model that is robust to a wide variety of market scenarios um because as we know dfa is very volatile and we need to basically not have like cases where we feel catastrophically so that's the one thing and then the other thing is um basically like uh fine-tuning the parameters of the model itself so a pid controller has like three parameters that you can tune which determines how quickly and how aggressively it responds to like uh supply and demand and balances so basically by developing this project um it gave me a framework to jump off of in the future i'm going to basically like um test in a way more like a much larger variety of simulated market scenarios and then if i can basically show that it's robust in all these scenarios then i'd be comfortable um putting up a solidity contract to upgrade uh probably the interest rate model for one of the stable coins um with a lot of tests obviously and um hopefully that will give like compound governance voters the confidence that this is something that can be implemented um on the live network so yeah i have a very simple question for a finance movie like myself um so the way you like so the idea here is that in compound there's some levers that need to be pulled and that's done by governance votes and by using the your work you can automate some of those levers away uh what levers are left over then i mean what levers are being replaced and what levers are going to be left over what stone needs to be voted on you mentioned how aggressive the algorithm is going to be is there anything else yeah so um there's a lot more other levers in compound gardens that need to be adjusted by governance so for example like um collateral ratios uh reserve ratios which is how like quickly the compound reserve pool builds up um as well as obviously the white listing and uh like the listing of new assets so there's still a lot of other things that guardians needs to do but the important thing is that those are probably levers that need to be modified like on a very occasional basis and there's also probably like more of a uh like it's easier to tell like how the decisions to be made so for example like you probably want a lower collateral ratio for a more volatile asset because it's more likely that like price volatility will result in people getting liquidated um and you want to make sure that you have enough of a cushion to avoid losses on supplies out of the pool but for something like interest rates um you know like there's there's things like yield farming um that like distort um markets for stable coins um last year there's like the ethereum boom and we saw like um die stability fees go up to 22 so that changes very rapidly but there's also like um there also seems to be promise that like this can also be largely handled by automated systems so basically is to like reduce the overhead on governance and just make that a lot easier awesome thank you for that any final comments oh this uh gets us closer to having one step closer to having something like the trfm for compounding uh so i would love to see more work on this kind of in wild as well cool all right we're going to move on to the final project of the day which is liquid l2 um because before we do that i want to thank the judges again for sharing their time and their knowledge it's always good to have an outside perspective who hasn't been bullying for the entire month jump into something and try to grasp what it is so thanks again for that guys i will share the final video here and this is online liquid l2 so hi i'm tom french and this is my hack for each online liquid l2 so the problem i'm trying to tackle is that layer 2 solutions are becoming essential for ethereum but the withdrawal times can often be quite long um thematic this is about 30 minutes but we're getting optimistic rollups coming along which is going to take a full week to confirm withdrawals personally uh having my funds locked up for a week is a huge issue because there's a real opportunity cost associated with it so we want to avoid this as much as possible so liquidal 2 um allows delegated withdrawals which allows users to have immediate access to their funds so the way this works is that lenders can use rva's credit dedication bots to lend to users and these loans are backed by their pending withdrawals so the step-by-step process is that the user kind of creates a vault on a layer 2 solution and then starts withdrawal from within that vault and then the lenders can see this and delegate credit to the corresponding vault on main net um the user then has full access to those funds and can go do whatever they want with them and then once the withdrawal is complete and has been confirmed then the vault can automatically repay that loan and the lenders get their money back so here's a quick interface to interact with liquid l2 so let's say i'm a user of an i2 solution and i want to withdraw ten dollars from matic so here i am assigning a kind of confirmation to allow liquid l2 to use my funds and then i'm going to sign a transaction to start withdrawal so that's going to happen background and confirm relatively quickly because we're on l2 i'm just going to quickly grab that transaction hash and then from now on we're going to be using the girly test now sometimes so i'm going to quickly show you what air withdrawal looks like on the legacy solution so you can see that i transfer these funds from my address to a vault and then the vault will burn those funds starting withdrawal and that's what gives uh liquidation security so now that we're looking at it from the side of the from mainnet uh you can see that i don't have any ustc on mainnet but i have two withdrawals um going which come for a total of twenty dollars and i've been given a credit limit of ten dollars and i've used none of that so far so let's say i borrow ten dollars against this credit limit so i can click that and i'm gonna kind of atomically create a creative auto mainnet and then withdraw those funds so uh that's gonna confirm and uh while we're waiting for that to go through i'm gonna talk about uh how it comes to repaying the loan so um i have this withdrawal that i just started um that can't be um it can't be repaid just yet but i have this withdrawal that i created earlier so um i can actually use that to repay some of my debt back so so you can see here that um the i've used ten dollars of my credit limit um to increase my main net balance by ten dollars so at this point i can go convert this into ether i can um do whatever i want with it and and then at some point in the future like i can repay my loan so i'm just going to quickly repay using the draw that i created earlier um and this is going to be generating a proof in the background and then i'm going to be able to send that off to the withdrawal vault which will repay my debt and this withdrawal process can be done by anybody because the the vault is the one that's actually reclaiming funds from the letter to solution so both the lender and borrower can repaint that loan which is how the lender will know that they will get repaid so that's a repayment transaction has gone through and you can see that my credit limit has dropped down to zero and my borrowed amount has dropped by ten dollars as well and thank you very much wonderful this is like a white whale of projects everybody's talking about uh that we're gonna need these things and now uh somebody's gone and built it so this is great i have two questions um i guess the first one is to do with the so basically i'm on the l2 solution i send my coins to the vault do does a lender need to approve that to me or is that automated in the contract i mean as a lender do i put my money in a pool that says this is good for this l2 anytime someone needs money from the cell 2 take it from here or just a manual process there where the user has to double check the vault before they command the funds out yeah so so the way that it works is that the uh user doesn't need a prior approval from a lender to withdraw um but at the minute there is like a central single lender that approves all uh kind of loans so what happens is that person will kind of see that this withdrawal has started on layer 2 and then send another transaction of main net to give a credit limit if if if they don't actually if they if that person disappears and goes away and doesn't sign any withdrawals then it's like a normal kind of layer two withdrawal uh the person has to wait for the confirmation time and then they repay a zero dollar debt yeah so my next question is is more like safety for the user let's say i submit a request for a loan the lender doesn't give me the money but now my coins are in the vault uh do i get my money back or just go to the yeah yeah so so basically the each loan kind of keeps the tally of what how much how much uh money it's drawn against its credit limits and when i submit a withdrawal proof what the vault does is it it claims all the money it uh kind of checks what how much have i borrowed pays that back and then it pays everything left over back to the owner of the wallet so if i have a partial uh loan then i just pay it off and i get everything else really exciting thanks um just a high level question how are you thinking about uh extracting fees would this just be based transit on transactions or like are you thinking about it so at the moment it doesn't take any fees but um like that's something right i haven't thought too much about it because it's not kind of the core aspect of this but like you could have a flat fee that just kind of gets added onto each withdrawal just to kind of pay for gas you could kind of do a percentage based thing um you like the other thing that i'm sort of considering is uh this isn't this doesn't kind of match for matic but like if we don't apply this to something like optimism whether it's kind of this long um challenge period it might be worth kind of doing a time-based thing of um if you're five days into this challenge period creating drawing alone at that point is much cheaper because it's um a lot less risky because presumably it would have already been challenged by then if it was um uh fraudulent and there's various ways of going about it but i'd need to kind of think about how to i think the main kind of next goal is removing that central lender um and then fees would kind of come as a consequence of that yeah that was going to be my feedback as well it would be really cool to see this without any of the external uh like blending dependencies yeah that's kind of quite difficult like because because i was building a dramatic like nothing touches mainnet until it's available to be claimed so it's very hard to have any sort of uh verification on that so we need that kind of two-party thing all right any final comments oh this is really cool um it would be this is a another project that it would be really cool to see kind of continue to delve on i think this is going to be really as as a lot of these lts come to market i think this uh infrastructure like this is going to be really important thanks yeah the assumption is that these things are going to exist um at some point and it's good to see that people actually you know exploring how they will actually work and different the whole design space for it yeah i think another point is you you i mean just as a comment you talk about optimistic roll-ups but this would also be valuable for these roll ups because you know if i'm running a roll up of a zk proof i don't want to post that unless i mean as the operator i don't want to post that unless i collect fees i cover the cost so you could be waiting a few hours until that block gets the you know ethereum and actually if i just do a loan on zk roll up then i could get access to the eat immediately and then the lenders taking on the risk of waiting a few hours so i think it's applicable for both just quick withdrawals quick withdrawals all right i think that's it for today we are through all the projects which is great um i want to thank again patrick imran and arjun for sharing their time and knowledge with the hackers and the hackers for showing up and presenting congratulations on you know making it through the entire month of building it's it's been really awesome to see behind the scenes as an eth global team member watching everybody you know jumping into things they haven't built previously or learning new new sponsors to integrate it's always uh a good experience every time watching it from this side so um thank you everybody for coming the next thing to keep your eye out for is we will be selecting the 10 finalists once all of judging is complete we have two more sessions tomorrow i believe so once all four sessions are complete from judging we'll be reaching out to the top 10 finalists to present on friday so the finale for the entire hackathon is friday the 30th and that starts off our final summit so we'll have presentations um sponsor prizes announced and that starts at 12 p.m eastern on friday and you should get a calendar invite today or tomorrow for that so make sure you just watch your email if you're a hacker and we'll be reaching out to those teams to present that day and then after the hackathon presentations are over we have another this is our final summit for october we've been running weekly friday summits maybe you've caught some of them throughout the entire month and we've got a bunch of great sessions to close out the month including a fireside chat with tyler collin and vitalik so definitely don't miss that later in the evening on friday so we'll sign off here thanks everybody for coming and um good luck thanks everyone awesome work thank you bye
Automatic transcript — names and jargon may be misspelled.