Layer 2 Stage | The I Am Human Registry
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
The I Am Human Registry: Redefining Online Trust With SBTs, presented by Robert Zaremba of NDC GWG, at NEARCON 2023.
Learn about NEAR's groundbreaking Soul Bound Token Standard (NEP-393) in this informative session. Understand the ingenious design choices that shape NEP-393 and its use in the revolutionary I Am Human registry. Explore the mechanics of the minting process and see real-world integration examples, such as Near Social's proof of personhood badge and human-gated interactive games, which offer a glimpse into the future of digital identity and engagement on NEAR.
Join NEAR's community: Website: near.org Reddit: / nearprotocol Discord: near.chat Medium: / nearprotocol Blog: near.org/blog Twitter: / nearprotocol GitHub: github.com/near github.com/nearprotocol Dev Docs: docs.near.org Create a wallet: wallet.near.org/create Apps on NEAR: awesomenear.com Learn to Build On NEAR: near.university Grants & Funding: near.org/grants #Blockchain #FutureisNEAR #NEAR #nearprotocol #nft #dao
Transcript
3,293 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:00
so our next speaker is going to be Robert zaremba coming to us from Switzerland he's going to be talking about redefining online trust with soulbound tokens and as always fun fact about Robert he owns Six racing bikes and he said he only thinks about work when he's riding them sometimes so please welcome Robert Zera uh hello everyone so I'm going to talk about uh Humanity about souls about
- 0:34
how we can construct how we can create new foundations for creating new social constructs so let's go um so I already got a little B of intro but from a technical perspective I um I'm an architect at the NDC Tech work group I'm part of the contract standards work group um yeah created few uh major standards like the fible token standard recently the SBT standard and also working on the multiple multiple token
- 1:03
multi fungible token standard I'm also a researcher and developer at Cosmos lecturing at uh University of Geneva and yeah my interest is in general social economical protocols so guys I guess uh you know it uh and it's boring right it looks bored uh but a lot of people care about it uh for better or worse uh Mak lot of money and if you miss it then uh you may look like the woman on the left if you didn't miss it you feel like a boss
- 1:40
um and those were about nfts and uh many people can think that uh the Soul Bond token can be represented as an as an nft and this is what I want to talk about so uh an SBT is a token is non-fungible is nontransferable but um about the but I will talk later and there is a bound so um as like a picture if you want to draw it you can think about it that um those tokens Can represent something so let's say if you worked a
- 2:18
reward um a fact of your life something that is really Bound to You and describes you so um nft if you can in in my definition if I think about nft I think about a subject so nft can be a car nft can be a an image nft can be a bottle of a wine um SBT on the other hand hand will Define a subject so it can be a certificate about me um it can be um my identity um a reputation it can
- 2:54
represent a a social right for governance or a membership and and um from like this abstract perspective yes you can think that uh they don't compete between each other yeah so SBT can describe nft if you think that nft is a subject and um sbts defin the subject then uh we can link them together uh works not doesn't work okay um and in here we like to innovate okay correct uh we innovated with the fible tokens uh we uh we did
- 3:31
again with events uh meta transactions so the account model uh and the uh delegation actions those are very interesting things so um definitely like the concept of SBT come from the ethereum but uh it doesn't mean that we need to copy it and uh we didn't um we did better so uh if you want to have your digital identity and you want to think about it that uh it will be this non transferable but if you think about it
- 4:04
from the nft category yes then uh you may look like this um Soul right so uh you have a human you have a subject and a soul yes which will describe it um people for example yes like in the mountain will tell you yes tell me what did you climb in the winter I will tell you how good are you um so tell me what what did you do tell me uh what are your certificates this is how it describes you um uh so can you transfer it can you
- 4:36
transfer your abilities well not really uh can you can you put the abilities to something which doesn't have a soul um again right like depending how do we how do we model it so uh our model here is like really different um we um we go talk about it later uh we really Define a soul as a set of abilities so talking about about that non- transferability um transferability in fact is very important um like if you come from the
- 5:08
let's say original ethereum idea about like the account model and the near account model yes we have a clear separation between um authorization level or authentication level and and an address and an identity yeah so um as an identity I should be able to have many authentication um ways uh I should plug authentication same thing is for the transferability for the soul right if
- 5:38
the soul I mean if in a blockchain we think about an account that can U represent me right and it will build up that soul I should be able to somehow merge migrate or recover the soul if if the account itself requires uh to be merged recovered or renewed for whatever reason yes for example because it was compromised uh your key is lost and and so on if you lose your passport yes it
- 6:08
doesn't know that doesn't mean that your your identity is lost you're still there so uh building up this protocol we need to think about this um this problems and we need to solve them and on the other hand um there are problems that uh can be I mean can kick us back um and uh be used by an attacker so there is a a whole Vector of a Cil attacks when this transferability could be used against the principle so we don't want that the
- 6:41
this abilities will be traded yeah so let's say if you have your character in a game that you don't want that ability of a character will bet trayed to another character or duplicated um so in E yes there was there is this whole uh ERC you know some model about um I forgot the name but you have nft and the nft can host other nfts um I think a better way to model it would be again with this sbts here but we need to have economic model to prevent different actions and at the
- 7:15
same time have the recoverability and the null transferability so um we cannot duplicate we cannot overwrite um body without the soul is that so once you transfer something the account the source account is blocked um so those are the the economics model we um we built uh in the uh SBT standard uh so whenever you you move the soul to another account yes the The Source account will be blacklisted
- 7:47
blocked forever um uh when the source account and a destination account already has an SBT and there is a conflict between them then you cannot do a transfer um so um you cannot overwrite of course because um the protocol doesn't understand which one is the more accurate one uh however every person can burn any of his sbts um uh there is also like economical motivation why someone should burn his
- 8:18
SBT well if you don't want it for whatever reason uh even there I mean the tra on the blockchain will be there of course but um you have a right yes how how you want to say get rid of maybe some abilities um so those uh economical uh requirements draw us to this design choices so with when you think again with nft you have like each nft will be a contract and each that contract will have its own balance
- 8:48
book um this doesn't work with the requirements we have now because um of the transferability so you want to be like really Atomic I didn't mention it before but the clear solution here is that when you transfer a soul you you need to transfer it completely you cannot like say like take a part of of soul from account and then transfer it to account a and another part to account B that's not how
- 9:12
it should work um so all the operations must be Atomic and in the world like we have in the blockchain when there is a block limit transaction limit and when you have many abilities this can go out of the way so um we we have had to do some more um um critical decisions in how how this works so we separated the balance book there is only one balance book for all sbts this is what we call registry registry is more like a public good so
- 9:44
um today the IM human registry is still permissioned meaning that if you want to issue tokens um in the IM human registry you uh you have to be WID listed this is not what we want um in general but we still keep it so far so we have more abilities to um adapt quicker um without creating a break I mean um breaks with other protocols we we don't know so at least we know if if you
- 10:16
want to let's say break an API uh change something we have a we know with who we want to talk and get the feedback um so um that call that decision worked we got few breaking changes uh for a better um that also draw like a new extensions I will talk about them soon so yeah so so the principle is that you have contracts which will represent the SBT but the the tokens will be recorded in that common registry um and then you have a user and
- 10:49
then the user can talk about the the issuer The Meta dat about the issuer and the class um directly to the to the issuer contracts of the SBT but if they want to talk about query tokens then they then the query registry so the the flow is rather simple here like once you understand that there is this difference between issuer issuer contract and registry uh then uh if Alise wants to get the token uh she may request it from issuer so
- 11:19
think about it that this is a a DA or um or a Congress or someone from a class from um from a group uh so that issue where we me a token by um uh calling the the the issuer contract the issuer contract will do a call to the registry requesting the uh the balance book update registry emits the event so indexers can pop up and the information is I mean we assure the Integrity of the
- 11:50
information between the whole ecosystems and tools uh the registry will return the uh the token ID and that token ID is returned back to Alys um classes so uh normally you can think that um you have a token and then you have a token ID and that's it right um why classes so one issuer may have um different categories different kinds of the tokens they want to they want to create so let's say ini is your University a class can represent a year and a and a diploma right so let's say
- 12:35
if you're major major in computer science um graduating 2010 and will be class one graduating 2011 Class 2 uh if you are major in uh in history yes there will be another class so you don't need to create a new issuer for every um uh category of sbts uh it's often better to do it with classes um and our use case for example with fractal is that we have one issuer fractal and there is a class for a face
- 13:08
verification there is a class for kyc verification there could be a class for um other verifications um okay so I mentioned about few extensions so um I hope now the concept of SBT and registry works now but I am human is special because it's really targeted to um provide more description related to proof of humanity proof of personhood so for example um you want to Mint your token to an account let's say a membership
- 13:40
account the token will represent a membership in a group and you only want to Mint to an account which is already validated as a human and if you want to do it automatically we provide a function to that yeah so you don't need to do a check between an indexer or or or with a registry there's a shortcut to do it of course burn like I mentioned burn all so a user can burn all of his
- 14:04
tokens if he wants uh is human call um so um if you remember uh in the funable tokens yes we have um transfer call so this is something similar uh if I am a human if I'm calling the contract as a human the the contract will authorize me and let um the the downstream cont contct know that it's called by a human by me right so um it's it's again it's kind of a shortcut so um you want to is very useful for all the protocols like uh for example easy pool pulling that you want
- 14:45
to assure that a transaction is originated by a human uh is human call lock it's a new extension we added two weeks ago it allows you to uh lock for transferability so um the the perfect example is voting body and a governance um when you um when you vote if there's a period of time you want to vote let's say a week and a common attack Vector would be that okay I vote with one account and then I do a soul transfer so I move my soul to another account and now there is a new
- 15:16
account and I want to vote with that new account um the original idea how we wanted to prevent that was recording the proof of humanity so the so the tokens right the so tokens which represents the humanity um that created lot of opacity lot of um implementation details that was going to the um to the user to the I mean to the developer to the user of the protocol which was not necessary and buggy prone so that's why we increment
- 15:46
uh we created that lock it's a user who is like uh locking agreeing to lock his account uh lock his soul in the account to do an action which which has a in a time so um a governance is the perfect example and there is this loog duration so let's say a protocol who is requesting that should set the log duration like the the minimum that is necessary is to prevent double vote double spend and so on so let's say if we are in the voting the Voting is seven days but we are already in the fifth day of voting then the lock duration should
- 16:20
be set at 5 days if there is already an existing log longer than the one we request then we always take the maximum so we we don't overwrite we we always take the maximum so if there's another protocol which depends on the lock um uh there won't be an issue or or a collision between the data they want to um uh acquire and queries so you can check if an account is a human uh flagging a flagging is I would say a a feature that
- 16:53
um yes many people may dab about um so against extension it it's not part of the core protocol we are still like thinking how what will be the next version how we we want to evolve of this design but it's meant for a governance so for example um uh the Council of I am human can flu some other account that let's say it violated um some um a policies yes and let's say prevent him for participating in elections in certain elections um so in voting body we released voting body for NDC a week
- 17:32
ago at the beginning of this week yes there is a go ban the go ban only BS a user um or asks the ban to the user to not be able to uh participate in elections he can vote he can execute his human rights but he cannot be an active participant uh or of the execution body of course this is up to the the protocol I mean the the users to see if they want to use it or not right so if the uh NDC
- 18:04
V2 decides okay we don't we don't want to care about those flags is their choice the flags are there the commission is to uh manage those flags can um can be uh can be managed in fact by by by the voting body itself um but I think it's a tool that uh other protocols can build on I'm a little bit out of time I want to quickly talk about the Digital Society um so like the Digital Society or D is
- 18:33
like the Richer movement for pluralistic ecosystem right so there is like no one environment uh like today you think that there's an environment um by your neighborhood country culture right with Digital Society you have circles those like you can be in many many different C it's like in a a little bit like in real life yes you have your uh your work uh Circle you have your let's say Family Circle Hobby and so on um those can determine um different social levels different social
- 19:05
interactions different abilities you may want to do and representing it with a Soul band tokens is is really good idea um because our society is really not about uh uh the digital life but but the real life and uh how we can link it together how we can assure that there are protocols basically to provide all the different features I think it's very important so there is this uh idea called sociocracy you can think about as
- 19:36
a democracy uh 3.0 uh basically the the main issue with the the democracy is that um it's not very efficient right because it's large um if you want to make a decision in a big group of people uh good luck uh it's already very hard to do a referendum uh and on the other hand like if you have hierarchical um I'm super sorry I'm finishing so if you have like a hierarchical decision making the hierarchical uh governance system yes then many people will disagree with that
- 20:12
right because it's stough down rather than um um egalitarian so sociocracy is like this again circles idea that uh we have consensus and we go beyond the consensus with um Unity uh discussions organizations double linking so the circles are not disconnected there is always a linkage to common people who are between the circles uh to assure that there is a information quality flow
- 20:44
information flow and so on um okay so that's the last and uh yeah I think we can make a photo of it and then look at it later but the idea is really that uh we want assure uh efficient flows between decision- making people and um uh and social movements thank you sorry