EAS - Ethereum Attestation Service
ETHCC 4 · July 2021 · 14:41
Leonid Beder introduces Ethereum Attestation Service as an open, free base-layer protocol for global attestations.
Speakers
Topics
From ETHCC 4, hosted by Ethereum France.
Transcript
right all right guys so thanks for coming um we're introducing the ethereum attestation service uh this is leonid uh so everything you do in your life um lots of important things you do all around the world happens every day is that there's millions and billions and trillions of attestations being made um attestations can be anything from you proving your identity to someone for example if you're an uber driver and someone gives you a rating that's an attestation if you do review online on a book that's an attestation if a kyc provider attests that someone is who they say they are that's an attestation
if you claim that you own some property that's an attestation if there's a government that has a land registry and have a list of everybody who owns land those are attestations the list goes on if if there's an outcome to an event perhaps it's uh perhaps it's uh you know the the world cup final so who wins the game um you can make a claim or attestation that you know italy won the final that's an attestation so oracles make attestations all the time so that's uh that's uh uh basically just an outline of why attestations are important
so dino steve leonid where the the three developers for eas uh yeah so basically um there's a lot of solution providers for identity uh trust reputation all these sorts of things the problem is that they everyone who tries to create an identity identity solution usually uses a top-down approach where they come up with some sort of schema that they think will be a one-size-fits-all for everything but it almost never is it's very difficult to decide what the market wants so we took a bottom-up approach and what we do is we basically let anybody create an attestation attestation type that they want to use and they register it on on eas
and it could be anything it could be someone's first name last name it could be how tall they are the color of their eyes it could be uh you know anything you can imagine so it's an open protocol that we allow people to create their own attestations and anyone can use them and it's all in one contract so eas is an open protocol we don't have a token it's just a base layer open and free protocol for the ecosystem to use uh you know you'll need ether if you want to use eas and uh it's permissionless and fully open source and uh we're hoping that it will uh you know be be used so let's see
yeah so i went through some use cases so uh you know identity voting ticketing trade and reputation cloud credit scores reputation explorers so you can you can imagine a scenario where someone has a lot of reputation in the community and then they attest to the trustworthiness of another person uh and a whole bunch of people could then have a web of trust with different attestation scores being given to each person so you could even do decentralized identity with that which is also interesting so we've got the contracts online on github uh you can check them out and uh so far everything's just just a beta version right now it'll be on test
net soon and we're asking for some feedback from the community for this for some of the standards and then we'll go to mainnet but before the end of the year so really quick and i'll pass it over to leonid um it's pretty pretty simply designed there's just two main contracts in eis one is the main contract where the attestations are made eis dot sol and the other one is the ao registry and the ao registry is the magic because it allows anybody to create an attestation type or we call them objects or types or objects we're figuring out that terminology and they can uh make an attestation object register it and then everybody can attest to those types of attestations
on uh on eas.sol all right thanks for the intro dinner so now with the nitty-gritty uh autistic part so basically like dino said um everyone can make another station uh everyone can define the schema from the station which we'll see in a moment completely open community permissions most of the logic is uh supposed to be off chain in this case so basically we use uh ethereum a is the best layer you know this high you know courthouse for uh the final resolution but most of the processing is supposed to go off chain so anyone can attest to anything else in current
attestation schema which you know can be voting kyc you know that your hair color it doesn't really matter at the stations can be revoked can also set an expiration date and at the station can also be linked together so you can for example a test to another station for example you can um maybe object to another station maybe you want to signal that one of the stations that was made was actually incorrect so we have all these ways as well this is our dev stack with time to be really up to date um it's important yeah that looks best all right so uh the schema itself basically the type of data station is
defined uh using uh so the schema specification itself which is open uh you can also provide a contract that can verify data station uh it's optional i mean you can have for example at the station that um let's say your test that you voted for president trump or biden uh you can have a verifier that verifies that this is actually the options that you are voting for and we have in a repository many examples of different verifies that you can do also the uid of that station of the sort of the schema is predictable so you can also sign at the stations and on the later post the schema itself so it allows like commit reveal schemes uh at the
station itself uh done's own chain so as we said usually uh your test as yourself is a message sender there's a recipient of that station basically who you attest to it can be an account it can be a contract again all these use cases are up to the user of the protocol to be defined uh of course we provide examples as we said you can set an expiration time and you can also link another session we'll see how it can be used um so this is this is the structure of the uh session itself uh storage optimized although you know we do want uh we do intend the yes to be used as a base layer on top of ethereum
while all the heavy lifting will be done off chain we still want it to be as optimized and efficient as possible um this is the flow data station not important we also support both testing uh and working using uh eap7112 type signatures um some of you probably familiar with how it's used for permit you know aap2612 uh we generalized it also to use other methods so basically it's like meta transactions you can uh test by providing a signature someone else is going to fund this attestation it can be the kyc provider it can be a friend i also want it to be very useful um yeah so yeah this is the how it's been
done uh yeah we also provide an sdk uh that if you want to provide to a test or revoke using um type signatures basically all you need to provide you know the highlighted section is a callback to sign on the message uh and everything else is built by the sdk it's also typed so you know no room for bugs uh so you can easily integrate it with you know how to hardware device private key hsm kms you name it um so this is the schema verification that we said that basically every time your test doesn't the optional if the person that created the schema you are attesting to provided a verifier the verifier will be triggered with all
of these parameters that we provided and can basically revert the transaction if the verification fails and of course it's completely optional in some cases it makes lots of sense in some cases it's completely unnecessary so at the stations can also be revoked the location has also been unchained uh the location is then stored under the station data type so then everyone who uses the system either on chain or off chain can basically see that the station was revoked or a link at the station can be revoked so it's very useful uh similarly you can revoke using a signature
and yeah and some some examples cool yeah so we're going to go through some quick examples so uh no problem so you know the obvious one we mentioned is kyc so you can see here someone made a ao schema and again any you guys can all create your own schemas anyone can make a schema for any type of data they want so someone made a schema here it's an example first name last name passport number and then a boolean are they satoshi nakamoto and uh you know clearly this guy would be no uh for that for the heart or who knows yeah well you can attest to whether you think he's satoshi or not um so yeah ticketing system tickets
they can be they don't have to be nfts everyone thinks you need to be an nft to to uh to do ticketing you don't the person who's running the ticketing venue can just attest that your address owns the ticket so here you go they there's an event id ticket type seat number price they they make the attestation and they can also decide if it's transferable or not uh clout reputation you can imagine if we had a reputation system um you know maybe vitalik would have a hundred rating because everyone trusts him and then when he rates someone else and attests to one of you guys that you know you've got some a good rating you're also 100. some of that some of that reputation will transfer to you as being trustworthy and we expect uh trust and reputation explorers to
to be released similarly similar to you know how you can imagine how google does page rank right they they have an ai algorithm that tries to figure out which pages are the most uh uh trustworthy uh but by by using webs of trust and similar things will happen here so you can rate people online as being trustworthy or not if you know their addresses voting pretty clear mo you know voting systems for dows and stuff those can be uh they're trivial to implement you just a test to a proposal and a vote here's a nao schema someone made a very simple one if you wanted to do voting for democracies you need a secret ballot to make sure that people aren't pressured into voting from one candidate or another and we assume that this will be possible in the future with zk proof so someone
can create a schema for secret ballots again land registry you imagine someone created a schema here so polygon area is a number of points latitude and longitudes that create a square on the map for example and uh so so that you know the country will just say this polygon area is land type would be freehold it expires uh in you know uh never or or or if it's leasehold it expires in 100 years and they test that a certain address owns the land so you can imagine we just turned google maps into decentraland where there's all the governments in the world are using the eas registry and it's very simple to just purchase and transfer things they can just attest to who the new owner is makes lots of things very
efficient oracle's another example you know there's lots of oracle solutions we see in the ecosystem but they're all silo they all have their own standards uh but again here someone created an ao schema for oracle so real world event id can be anything right so maybe it's euro cup final and then the boolean or you know uh the real world event id maybe maybe it's uh did italy win the final and then the boolean is the outcome so you just say true or false and so you know you can do prediction markets with eas because a whole bunch of people can just attest to the outcome of something and you know if they have a high reputation score as being a trustworthy attester then uh you'll be able to determine whether or not
your dap accepts all those attestations as the uh as the outcome and then of course uh you know you can attest to the accuracy of another attestation and that can be nested to an infinite depth so someone can attest that something's true another person can say no it's actually false another person can say no it's true that you said that that was false which was actually true and everyone can attest to everything being true and false so you know um you know some people online think that the earth is flat someone will say that's a false attestation some will say it's true that you said it's false and then the flat earth will say the first one was false and so you know we can do interesting things with in society because everyone can just make their opinions known on any types of attestations or things um
so uh yeah and uh yeah so that's the end we hope that you guys will come up with cool and interesting attestation types and uh build new dapps on eas and uh yeah if you have any questions we'll be outside thanks [Applause] thanks okay you