#DappCon22: Day 3 - Circles.land - A Holistic Client For Circles, Daniel Janz
DappCon 2022 · September 2022 · 23:44
Daniel Janz walks through Circles.land, a holistic client for the Circles protocol, in this DappCon 2022 talk. The talk traces how the interface pulls together trust connections, personal currencies, and everyday transfers into a single tool for participants in the Circles network, and touches on the tokenomics of a system built on mutual credit rather than a single shared token. Janz covers the design choices behind building a usable front end for that kind of social-trust-based economy, situating the Circles.land client within DappCon 2022's broader focus on decentralized infrastructure.
Speakers
Topics
From DappCon 2022, hosted by Dappcon Berlin.
Transcript
is a developer at circle's land take it away Daniel hello I'm from the circuit slant team I'm a developer and we build an alternative client for circles which we also call circuits land so a quick recap what this circles in circles everybody got their own erc20 token and users basically can mint their own Ubi everybody can mint 24 circles a day which equals one circles is one hour of your lifetime basically and and that's a Ubi since everybody can sign up at
circles even Bots we need a protection mechanism circles decided to build on top of a web of trust and that means that you can only send your circuits to people who previously trusted you so this is a little bit unpractical if your for instance visiting a different city where you don't know anybody so there's a second mechanism which is called a transitive transfer and it works like the following um you want to transact with a stretcher who you don't know already but there will be some kind of trust paths in between because in the end everybody knows each other why are five edges or something like that so circuits will
calculate a trust path for you and your untrusted circles will be automatically converted into circles that the target of the transaction will trust um so um there are two different types of accounts there are personal accounts which can receive Ubi and have their own tokings and there are organization accounts which only participate in the trust Network so that they can receive transitive payments you can see it in the diagram below um so there are already circus clients out there why did we build a new circus client in the first place first it's always good to have an alternative maybe
just because of preference but also it adds to the resilience of the system as a whole so if one client is down or gets censored you will have another backup client where you can go to and the main reason for us was when we used circles for ourselves for the first time we found it a little bit difficult to understand from the perspective of a casual user and circuits is all about wide adoption it will only work if a lot of people start to use circles so we thought hey there are some some things we can make better um so what exactly did we find hard to use
in the current implementation it's like if you want to start using circuits you have to find three people who are already members of circles um this is because circles is a blockchain application on on each blockchain you have to pay small transaction fees to to get your transaction processed um since circles targets non-tech Savvy users basically um there needs to be a mechanism that pays these transaction fees for you because usually circus users don't own crypto so how this is currently done is there's a software component called the relayer where you send your transactions to and
the relayer paste these transactions for you so that they can get executed problem with that is that people malicious people could use this relayer to just execute their own transactions which have nothing to do with the circuits so there needs to be a protection mechanism and the original team decided it's sufficient or cool to have just three previous trusts to prove that you are embedded in this network and once you're proof that you are embedded you can use Dairy layer um but the problem with that is for instance I'm from Munich and the circuit started out in Berlin when I first used circles I didn't knew anyone in in the
circus Network so basically I was blocked from accessing circles um and how people currently overcome this is they organize in for instance telegram groups and just ask hey can please free any people trust me which really defeats the whole purpose of the trust Network in the first place because people start to trust each other randomly and in the end they don't really know this person so another problem with the current implementation is that non-tech Savvy or non-crypto Savvy users needs to handle the passphrase for the first time in their lives or a seed
phrase this is just a 24 word long sentence and we made the observation that most of the people already lost access to their accounts because they lost the seed phrase in the first months of usage some of them even in the first weeks another thing we observed is that people usually when they get the seed phrase displayed for the first time they just take a screenshot on their mobile phones and after that their seat phrase will be in their picture gallery accessible for everybody who gets the hands on the device also it's not very nice if you need to recover from the seed phrase you have to type it in word by word it's not a good user experience at all
and the last problem was that even if you got a high balance like 100 circles in your account the default trust connections made by the current clients limits you to 50 of the capacity so people uh started asking hey okay I got the 100 circles why I can only spend amount x 25 or whatnot and it's hard to explain to them why this is the case so um there are some other implications which are hard to understand in the trust Network when you trust the wrong people just like with every decision in your life it can cost you basically money or time
so in circles the cases when you for instance and then see the diagram when fake Alice fake Alice is a bot in this case for instance and Alice was tricked into trusting fake fake Alice Bob can be a vendor of any kind so he sells goods and fake Alice wants to get their hands on those goods but the bot and only has fake circles so the trust Network in circles will automatically Exchange your circles which are untrusted by Bob for trusted circuits so in this case um fake LS token will be converted automatically into LSS token and then
they will be sent to Bob and Alice is stuck with fake illnesses talking and basically Ellis got robbed um so what do we do different to circumvent some of these problems first we wanted to get rid of the three initial trusts because yeah people trust each other randomly which is not good then second we wanted to get rid of the seed phrase and finally we wanted to relax the liquidity limits um how did we get rid of the three initial trusts we replaced the relayer and basically said every every user should pay for their own transactions so since the users don't have crypto
exposure um we thought of a way um where we can give a new user which is who is already registered at the system and invitation code which they can pass along to new users once it's a QR code or you can send it via email or Whatsapp or whatnot whenever a user redeems this invitation code we will provide them with a little amount of X die which is the blockchain's native currency so that they can pay all the setup fees by themselves and can pay all their transactions also this lets the one who invites new users know that these people signed up and this can act as a starting point to
establish your own trust Network second thing how to get rid of the sea Trace during our research we found a very nice project called Web 3 hours web series is a non-custodial Key Management solution which is built around the very well-known and common oauth logins like social logins you can see it here in the screenshot it's for instance we currently support Google logins Apple logins and GitHub and what it does is it derives a new private key from your OS login and it gives you a very familiar experience our general approach to the security there is that we want to start as easy
as possible get the users on board and then after some time when the stakes get higher the people collected already a lot of Ubi and we ask them hey don't you want to add a second Factor please make a backup of your seat phrase but then the users are already hooked and we got their attention so it's it's much more likely that they really do the right steps then instead of when we just overhelm them directly from the beginning so the third point is a little more complicated how to relax the liquidity bottleneck the first thing we do is whenever you establish a new trust relation we set the default trust limit to 100 instead of 50.
um but that's not really enough because of your trust network is still very small and you're a very new user don't know many people in the circuits Network it can still happen that you get stuck and cannot pay somebody because your trust connections are just not sufficient um so we thought maybe we can involve a third party trustee uh who everybody agrees on that people who are trusted by this trustee uh by default trustworthy and I say oh I only want I I I'm only interested in it's just people a dear person trusted by this trustee if yes I also trust this person
so um in the circles ecosystem because it's a Ubi and the Ubi is tied to a person in essence for us it's most important that we have real humans in front of us and don't deal with Bots so what we decided to do is we implemented with our partners from humanode phase ident procedure and we only store a hash or kind of checksum so we don't store your pictures of your face or um other biometric identifiers we are only really interested in that you are a real unique human person so once you complete it the face ident basically it's
making a short selfie video you get this little check mark like you know it from Twitter and it says hey you're a verified user and everybody who sees it can make sure that you're a real person and can in this way trust you um so okay the talk is called Circus land a holistic approach or holistic circuits client what do we mean with holistic once you get on board with circles a lot of people asks okay now I got circles but where can I spend them um and it's really not so easy you can Google where can I spend my circles but it's most likely that you're in the current state don't find too much so we thought we we we should integrate a
marketplace where people can offer stuff and also circles is a network it's not only a cryptocurrency so people in the network want to communicate with each other and lastly circles doesn't exist in a vacuum it exists in a messy world and we all all need still feared money we want to go there that everybody in the end can can use circuits in their everyday life but if you want if I want to provide products for circuits it's it's very reasonable that I have some costs like rent or production material or something like that so the first thing we did is we added the marketplace to the application so everybody who signed up can create a new
shop and in the shop you can have different ways of displaying your products it's just like a regular webshop in a sense and you can add your products in the second picture you see the user perspective just get a list of the different shops can scroll through them and discover the products the people are offering um in the third slide you see a detailed page over there add to cart button and the two small nodes that you can pick either pick flower either up or you can get it delivered um and then the third picture you see the card and the checkout so we implemented a unified card you can put products from different shops into one
card and in the end have only one checkout flow which automatically pays all the different shop owners where where you bought your stuff after payment you will get a proper invoice with vat and everything which is legally required and yeah we have added some some more features like Photoshop owner they can have an inventory and stuff like that um additionally we made the observation that when you um use circuits for the first time you may be mad make some connections and some money somewhere but um once you did that you closed the app and it's it's very likely that you never
look it up again so even if somebody trusts you and to expand your network you will never know about it um only if you open the app again and actively look for it um you will see that you got new trust connections so we implemented email notifications and a Unified Inbox you can see it in the left bottom corner um the small red dots you see the notifications there and when you click there you just see some small cards where just put what what's happening you also get these per email um yeah so this encourages you whenever you get an email to go back into the app and
see what's happening and maybe interact a little bit more the next thing is people want to communicate um out of the necessity for the shop that you might have asked have questions about a product or something like that we implemented a chat and then it evolved a little bit to a general kind of notification center so you see we have the different events like Alice trusted you you trusted Alice back then some chat messages and all your transfers everything will be displayed neatly in a list on the rightmost picture you see even your shop purchases and stuff like that are aggregated in the chat so that you have a history of all your actions and transactions you
did in the circles client um yeah the circus ecosystem is growing and uh cool like that but the problem with that is that basically what you got is an um and then address so um we Associated profits to that address but these profiles are currently not portable so whenever there is a new application they can just display your crypto address but nobody knows who who is this really so the next steps which we want to take is um to make the profits portable so that other applications can use the same
profiles as we do and have the same profile picture the same offers the same name and yeah just the directory that you can find the users again in different apps and so since circles doesn't exist in an isolated world and we are not at that state currently that we can use circles in our everyday life to pay for rent and stuff like that we will also need a way to incorporate Fiat currencies so for instance when you're a shop owner and and you want to sell your goods for circles this is currently not really sustainable because you have to pay for production goods for your electricity bills for for your rent so what we are
trying to do is we want to integrate classic Payment Solutions as well in our shop so that shop owners can say Okay I want 50 of the price in circles and another 50 in US dollar or Euros just to pay for my fixed cost and this is one of the next steps we take just integrating classic Payment Solutions like PayPal or or whatnot and the last is since we are on an invite-based system somebody has to pay the crypto amount to to actually fund decent rotations currently we are subsidizing this but we cannot do this forever um so we will need a way to incentivize people that they actually go on Exchange
buy xdi or another cryptocurrency and provide that for others for the invitations we want to do that by issuing an own token which is then airdropped to users who bought invitations to enable other people to come on board we call these people seat bombers and yeah they just should get some reward for that um okay I think that's it already maybe I'm a bit too quick if you want to join Circle slant um just scan the QR code um it is associated with an invitation um so that you can sign up right away and thank you very much any questions [Applause]
uh thanks can you elaborate a little bit on the tokenomics it's the like inflation or ah okay for circles in general yeah like because I was thinking like is these these new tokens are they just issued or is there a limited cap or um no so that's why we have this trust Network so so there's a built-in emerge um or inflation just how you want to put it of seven percent a year and um basically everybody deploys their own ehd20 contracts in the blockchain so um you you can just mint 24 of these tokens every day so that's that's the
the limit um but in principle um you can can have just as I said Bots signing up so there's no total upper cap of of circles in general um but every person gets their own esc-20 talking that is why you need that is why you need a trust Network and the transitive payments here from from the beginning um so in this case they've got their own tokens Carol got their own tokens Alice and Bob they all get their own esc20 tokens and you need the Pathfinder which will be in the next talk um to to automatically exchange them between the different different users thanks
there was one more question in the back hey yeah just a small question about the face ID thing um it's like a one-time verification and I was wondering how do you do you do anything to prevent people from using someone else's face so they can't register later or anything like that okay a good question um So currently we are partnering with human also we use their facet and procedure and it includes a liveliness check so it's not just a photograph that would suit but you have to take a selfie
video if you manage to do that while somebody sleeps for instance but people sleep with closed eyes so that is covered in that sense it's very unlikely that you you can do it maybe you can force somebody to do it but um yeah that's very very unlikely so to say that's answer your question oh okay thanks just upload somebody else's picture anyway let me just upload someone's picture from the Internet or from Facebook oh it's a you have to create a video actually and it does a liveliness check so it checks if your eyes are blinking and
um it's it's a very elaborate procedure where the curvature of the lens is taking into taking into account and you have to move the phone away and to your face so that they will really get a 3D image of your face and it seems to be a very good procedure maybe it's hackable like everything but it should be very hard to do how do you comply with get APR with this kind of data this is such sensitive data very good question I think there are still issues to resolve to be honest so we are currently in a testing state
forget it forget I asked that one more question yeah thanks for your insights um also on this face ID I have some questions so I don't see any gdpr issues because there's a consent and also the data is not stored as you said um but is there a double check if the person is already in the database and if not how can you prevent from someone identifying several times for different account yeah there's a check so um that's the whole point of the thing um so you you cannot uh create two accounts with the same face so it will always be Associated to the original account there are still some issues uh
what if if you lose access to your account and want to create a new new account so there are still some some unsolved challenges but as we are currently in a testing phase we we are for now okay with that and uh working on solutions for these problems sounds good on that note thank you so much Daniel okay thank you