ZKPodcast: Handshake Protocol with Mark Tyneway

5 Jun 2020 · 55:12

Mark Tyneway, a contributor to the Handshake Protocol, joins the Zero Knowledge Podcast to explain this experimental, foundation-free peer-to-peer naming system. The conversation covers the problems with traditional DNS, how Handshake compares to ENS, its privacy-preserving airdrop design, and the Urkel Trie data structure underpinning the protocol.

Speakers

Topics

Transcript

[Music] welcome to zero knowledge a podcast where we talk about the latest in zero knowledge research and the decentralized web the show is hosted by me Anna and me Fredrik [Music] this week we chat with mark Tyne way about the project handshake but before we start in I want to let you know about a newsletter called zk mesh that I think you might want to subscribe to it comes out once a month it's put together by myself and Makara we collect the latest

research papers articles updates and tools around decentralized privacy-preserving technologies privacy protocol development and zero knowledge system research at the moment it remains just a collection of links but we will be developing this over the next few months so you should sign up now and stay tuned the latest edition just landed today with a recap of what happened in May and if you have new research that you want us to include in future editions please get in touch but in the meantime yeah just subscribe at the link that I shared in the show notes and subscribe to the podcast as well if you haven't already I've been told and supposed to say this so now I'm saying it so yeah here's our interview with mark all about handshake so today we're chatting with mark tine weigh who's a

contributor to the handshake project so welcome to the show mark awesome yeah thanks for having me I really appreciate it okay so have you our hope with today's episode is for us to understand a little bit more about what this project is what it aims to solve and we also want to talk about some other kind of interesting unique features like the airdrop token distribution you guys did maybe this concept of an Urkel tree which I thought was pretty hilarious when I first heard it and yeah and there's a lot of topics we can cover so I think as a start I'm curious like what is handshake is handshake a company is handshake a community like what is it exactly yeah I think more than anything handshake could be described as a

community there's no central kind of foundation there are a few different companies that are kind of involved in the handshake ecosystem and it's pretty cool because each day there's kind of more people getting involved and there's more projects kind of popping up out of nowhere so I'm really excited about the future Jake was there like a conscious decision to not have a founding company or foundation or most projects go with at these days and I guess in part they go with that because of legal requirements in doing ico but like what was that situation for you guys and I guess even as a preliminary question what was your

involvement in the foundation of the project yeah so all of that came before my time before I started contributing to the project I do know that there was a conscious decision to not have a Foundation and it really just boiled down to kind of when you have a foundation what are the long-term goals of a foundation and when you have an organization that is trying to sustain itself in balancing that with the needs of the community and will a organization start to try to like put its own needs ahead of what the community needs for

the project to grow as a whole it's like a perpetual constant problem that we I mean I think you could encounter this on every in every industry on every level where you know you want to create a cool project but you do need often this infrastructure for that project to exist and then once you introduce that infrastructure it takes up mine space and budget and you know it affects strategy and all of that I think that's not unique to the decentralized space I think you could see that with lots of entrepreneurial efforts in various industries but but what does it mean to not have one like this is really interesting like you must still hold like common channels like certain IP

like how does that exist then how do you pay people if you do pay people that's a really good question so luckily we have people out there right now that are willing to pay for handshake development because they're interested in building companies on top of handshake and they're also ideologically interested in a handshake can do for the internet but what about like it like is there a handshake brand is their logo is there anything that like you wouldn't want some other malicious group to go out and pretend to be you like how do you deal with that yeah that's a really good question and that's hard to solve there is a handshake logo there is a white paper and there is a website and really

all handshake is is it's just loose consensus on running code so anything is really fair game to be changed by the community but that's just my opinion so other people in the community can have different opinions if they so choose okay I think let's go to the core problem which is DNS this is a system that's been around more or less as long as the Internet's and like this is a thing that I often come back to DNS and like sends my the start of my involvement in blockchain whenever anyone asked me like what's that killer app of blockchain it doesn't really exist and first one is currency and I

think that's pretty obvious but the second one that I always bring up which is more nuanced is DNS like DNS is a huge problem that needs to be solved and people look at me a bit blankly because I understand what the problem is like I can go to Spotify calm and that works right but what is the problem there's multiple problems so one problem involves a monopoly over the right to create top-level domains there exists some organizations today like I can and they do a great job they've faced some of the original governance problems of the internet and they got through them

all and they really got the Internet to where it is today handshake lets you buy new top-level domains directly from the blockchain and then you can set up a route of trust that is rooted in the proof of work and you no longer need to rely on I can or any currently existing registrar for your DNS resolution what would be the main registrar's today like in the sort of centralized space maybe some some listeners are familiar with them yes oh there's a Verisign they're really a big one I think they're they're making I believe 30-some billion dollars per year

I should probably double-check that but that's the number that I remember call off the top of my head okay there's also Gandhi is another big one the weird thing with registrar's and centralized spaces there's like I don't know how many like really top-level ones there are but there's there's a weird hierarchy where there's a few really top-level like they are the ones interacting with ICANN like you know actually registering the domains and then there's a ton of like lower-level registrar's that are more like and user focused that are like localized to a market like that the biggest swedish

registrar doesn't actually register any domains themselves they just go to one of these other topper like higher level registrar's and register their domains there so there's this there's this huge structure in how this happens it's kind of open I don't like the GoDaddy's live are they in that group that you just described yeah yeah they're kind of a lower level one just for me to better understand this like the DNS part of this is what I can does right like that's the DNS itself and then there's these sort of suppliers or is the entire thing considered part of the DNS ecosystem yeah so it's ICANN is really just at the top and they kind of manage

the root servers and they kind of manage all of the paperwork and governance of the whole system and they set up kind of like the guiding philosophies of how DNS works and then they kind of create a marketplace for organizations to come in and sell domain names you can see it as ICANN has the permission to to hand out names right yeah but then DNS is also tying an IP address to that name so the the Registrar usually also provides DNS services but not always so you could by your name from person a and then use person B for my DNS provider and so I'm telling person be on my IP

that I want to link to this name is and that's not a parent to person a and and it's kind of a complicated instructor and the DNS lookup isn't really related to the registrar anymore usually or even like I can it most people these days that I know of at least either used CloudFlare DNS or Google's DNS so these are like 8.8.8.8 is google 1.1.11 is CloudFlare and so they're just likes great scraping up the names and IP address matchings from everyone in the world and providing that in one centralized point so it's fast to look up anything totally they've run highly

available servers and they're set up with any cast and they also have denial of service protection to prevent certain types of attacks that can spam the internet with requests because there's a giant risk involved with running name servers and it's kind of complicated and we we learned this firsthand by running our own public handshake resolvers and we noticed that people were doing this DNS reflection attack where they were spoofing the IP in the UDP packet header and that was basically tricking our name servers into sending tons of data at

particular IPs so it's kind of hard to run public name servers so what part of that hierarchy that you just described does handshake cover is it the entire thing like does it go from you know indexing and allocating these names to handing them out or is like is the expectation that you create sort of an equivalent I can that's decentralized and then there should be new companies that sort of like live between that and the users that's a good question so handshake is strictly a root zone it's an alternative route zone and what that means is you can buy top-level domains using the native coin HMS directly on chain and

once you have a you TXO that represents that name then you can write DNS records to an authenticated database which then can be looked up and used as a DNS server because by running a blockchain full node it also starts up a recursive resolver and an authoritative resolver where the authoritative resolver is authoritative over the handshake root zone and then the recursive resolver that's what you would want to point your dns configuration app that would be able to ask the handshake authoritative name server for handshake name data and then

it would be able to take that data and then recursively resolve out to an authoritative name server that's off chain like the immediate thought I have here is if I use handshake and register a name would it not again and it's written to the blockchain and and it's within that system would that still be reflected in other systems that are centralized like if I went to GoDaddy after I know this bad example I don't know if anybody actually uses that but if I went there after and looked up that specific name would I like are they connected or am I completely off-base is it just like a unique system yes so handshake is meant

to extend the current DNS system I say if you are strictly using the current system you will not be able to resolve handshake names but if you use a handshake based resolver you'll be able to resolve all of the handshake based names as well as all of the ICANN base names but what about visiting the actual like URL would that still direct me in an in like a traditional sense towards what I've registered or do I have to like go on a different system to actually access it so as long as your computer is hooked up to resolve its DNS through a handshake resolver then you'll be able to access the handshake Internet I see so but I would need to have it myself on my

computer yeah so you can either have it set up directly on your computer or your network administrator could have it set up or you can do something similar to say the way that CloudFlare runs eight eight eight eight there could be another company or maybe even CloudFlare that offers as a service the ability to just go into your computer settings and just change where your dns is pointing and you can do this on your iphone you can do this on androids all sorts of different devices allow you to go in and configure your DNS settings so you just need to point your dns settings to a handshake resolver and then it will be

able to resolve all of the handshake names as well as traditional I can base names does handshake also deal with like TLS to also like provide certificates in untain yeah that's a really good question so that's that's one of the biggest problems to solve right now for handshake is that there are no because then that's a whole other world of Industry that you can also replace yeah so that's that's part of the idea is that as well as it being an alternative route zone it's also a traditional or an alternative certificate authority system I have one more kind of basic question about like what it is and how it lives is there any way that like a browser

would be able to help with any of this like or is this completely separate from like the browser world I'm just picturing like is there any way that like you know something like brave incorporates something like this to make it easier for people to find it totally one of the brave developers actually came to a handshake community call maybe a month or so ago and we kind of went back and forth talking about the different ways to integrate handshake directly into brave and there's an interesting trade-off because you can opt for more security or less security and I kind of call this like a sliding scale of security based on how paranoid you are and how much you want to

validate on the client-side so if you're extremely paranoid then I don't think brave would ever do this but you'd want to run a full node and then you're full node would be validating every single transaction making sure that every single state transition is correct and then you'd have all of the data locally this would be like each individual brave user running a full node yes got it so that would be really really heavy to add to a browser yeah I don't think it really makes sense to make browser users have to download potentially hundreds of gigabytes of data and do all that processing all bextrum networking but I guess another option would be that like something in the browser connects to

full node somewhere else that can like handle lots of these and I guess this would be almost like a like a service or a like this sort of it sort of starts to take a similar shape I guess to what you have with this I can and exactly yeah so the next step up in better user experience but you trade-off a little bit of security is empty centralization right cuz it's sort of it's like a slightly centralizing force well you can run a light client ah I can run a light client so by running a light client you still maintain some decentralization but you're not really validating every single you know state transition in every single transaction so a possible attack on this would be you know

somebody creating a fork approved work based fork so they would create a heavier chain or they would like Eclipse attack you where they would control all of your peers right and then they would be feeding you blocks and then since you're not getting any of the transactions to actual blocks you have no idea how the the authenticated database the Urkle tree you have no idea how that's being updated so basically people could potentially put whatever DNS records they want inside of the tree and that they can be feeding these blocks and then they would be able to send you an invalid proof that validate against this the route hash that's committed to in

the block header because the the route hash just like how theorem does it with their authenticated tree handshake has an authenticated tree that is committed to in the block header so it's really important to make sure that you have like a bunch of peers when you're running a light client so we've been talking a lot about how to possibly integrate a light client directly into a web browser such as brave and we have a project called H and s D and it's a a light client and it's written in C and it was recently upgraded to work on handshake main mat and we're still in code review just working on it and making sure that it'll work just

dogfooding it and stuff like that making sure if there's no memory leaks nothing like that and that's one possibility but the problem with that is that you're going to be adding a lot more of networking and potential computer usage just right into the browser so if users are ok with that that might be a good option another possibility to add into brave is this idea of TLS a ordain and it's this old RFC back from maybe the early 2000s or something so it's a way to basically remove the need for the certificate

authority system because the domain name holder themselves can commit to the TLS certificate in DMS and as long as you have authentication through the DMS system using what's called DNS SEC then you can directly trust the TLS or that the server gives you when you're trying to connect with them because then you can then you can hash that cert and then compare it to the hash that is in dns and if they match then you know that that is a trustworthy cert and this idea it was actually implemented in

Firefox maybe around 10 years ago and they removed it it was because they really valued a latency over authentication because the security model of the internet it's good enough I'm not sure if you're familiar with that Google study where they talked about how like every extra millisecond that they would add to a search it would cause the the usage to drop off so having to request all of this data over the internet and then do cryptography to verify that would add additional latency and the people kind of working on the Internet didn't really want to make that

trade-off because the security was good enough just for your last point I kind of missed how that linked back to handshake so you mentioned sort of TLS and DNS but like why would it be relevant kind of to your system so it would really allow handshake to operate as a decentralized certificate authority oh wow because the name holders themselves they wouldn't need to rely on anybody else to basically sign off on a TLS sir for them right now a lot of people use let's encrypt which makes the user experience of getting a TLS sir a lot better because there's automation involved you just kind of need to they have this thing called acne protocol that's I think is really interesting but

before let's encrypt you would have to kind of send a bunch of emails back and forth with this company and then they would pop out a TLS sir for you and then you'd put it on the server and then that's how it worked and so with Dame or TLS a it would remove the need for let's encrypt or these other services that provide TLS certificates and instead you would soar that certificate on chain on handshake and store it together with your name registration so the way that handshake scales is right now the handshake blockchain is referral only so if everyone wanted to put all that

data directly on chain it would cause the blow a lot really what that means referral only that means that you need to set up an authoritative nameserver that lives off chain and everything can scale horizontally so you would basically put like an NS record on Jane and then in a record on Jane glue then all of the additional data would live off Jane and the authoritative nameserver would be responsible for making that data available it feels like there's an opportunity lost in reusing the same key that you bought your domain with to generate a certs like if it lives off chain maybe you could still

link those keys right I mean that that would be the ideal it's like I have a private key that's where I store my tokens it's what I used to register my domain name and it's my certificate generator and therefore I can instantly like an observer like looking at okay I want to find what IP this is they can instantly see that this this is all generated away by the same person that's definitely doable I think one benefit of using multiple keys would just it would kind of separate risk true and then if you're using the same key in multiple crypto systems there might be unknown interactions between them where you can

leak some bits of the private key yeah fair enough one interesting thing about handshake names is that you can actually use a multi-sig to lock that name because it uses Bitcoin script under the hood so you could actually have like a three of five locking your handshake name where you keep you know two of those keys really really cold and you could even distribute them between people or whatever and then maybe you can use that third key kind of for what you're describing why did you go with Bitcoin script side question but yeah that's that's a good question so handshake is a fork of

Bitcoin and it includes Bitcoin scripts all of the say gosh flags it's utx o based proof of work I thought the client was written from scratch though it's like written in JavaScript I believe or unlike the first one yes so it's a fork of Bitcoin which be coin is an alternative implementation of the Bitcoin protocol and a powered purse do for many years as the back ends and it was serving all of the customers very well do you know what why the decision was to build it in j/s and not it oh yes I mean that's a good question the lead developer is really really talented at writing JavaScript okay I really haven't seen any JavaScript

better than the JavaScript that he writes who is that it his name is JJ okay yeah and if you go and look at the code a lot of people like to complain about JavaScript and I completely understand because sometimes JavaScript can be really crazy but I really think it's the cleanest JavaScript that I've ever seen I was at a conference I can't remember which and I don't actually know what Joseph moons involvement in handshake is I just know something and I was talking I think it was him that I was talking to and I was asking him why it's written in JavaScript and he said because people like you will complain about it being written in JavaScript and write something else so it's a way to get multiple implementations yeah yeah

there's a work-in-progress rust implementation but it's still pretty early we're hoping that as the community grows more people start working on different projects there's been interesting kind of go tools there's been interested in rusts tools there's some people that are popping up that are starting to write some tools in Python so I'm confident that given enough time the mature kind of tooling ecosystem will appear no how is handshake different from us or namecoin or like some of these other name systems like unstoppable domains and I mean I think one I can already highlight one we're just like you have your own blockchain which seems to be somewhat

unique from at least some of them but yeah what's the difference and do you interact with them in a way yeah I've met some people that work on ENS and I think is a really cool project I think that handshake compared to ENS they kind of serve different purposes in my opinion ENS is it's built on aetherium and one benefit of that is that it has a lot of other projects can kind of plug into other things that are built on aetherium but one downside of that is that you know aetherium the nodes are rather expensive to run so handshake was built in a way where it's meant to keep the nodes really cheap you can't really do much

client-side validation with etherium it's really hard to have like light clients is that because everything's written in smart contracts or like why is it hard to have light clients no it's just the infrastructure isn't really there to to serve them that well my clients exist and you can query everything but even the light client is heavier because it's generic because you're supposed to be able to query anything and you're supposed to be able to get a more cooperative of any requests that you're making and you know this is something that I've been preaching now for two years which is domain-specific blockchains right it's sort of if you're building with one

singular purpose in mind you can also tailor everything to that the performance of the light client the data structure is on chain and everything else right so you can maximize performance for this specific problem totally so another difference between ens and handshake is that yes is really controlled with a multi-sig whereas handshake is kind of controlled by proof-of-work what's the difference between like what is what is namecoin or unstoppable domains are they related to what you're doing I think namecoin is really cool it's um I think it's the first fork of Bitcoin that ever existed and it's a really old project and people are still working on

it I think it's pretty awesome but one of the main problems with namecoin is that there's really no way to do like client proofs namecoin handshake was really designed like what frederick was saying to allow for mass adoption through these like client proofs because it's just really hard to ask a lot of people to run full nodes just everywhere on all the devices I think maybe this is just because they haven't gotten to it yet but I never heard anyone in ens where I'll talk about integrating with the legacy DNS system like you said before that handshake is sort of an extension of DNS DNS is DNS on ethereum I've never heard them talking about oh

this is supposed to be breaking out of etherium and I'm supposed to be able to replace any domain or any DNS requests I mean as far as I know there doesn't exist a traditional DNS resolver that resolves ENS names and I mean you could build one but I don't think it has been built it doesn't seem like a first-class citizen for them so it's sort of a different focus maybe more than a different technology choice there's a philosophical difference between the two projects I think EMS is very committed to only creating one top-level domain whereas handshake is really all about anybody can have a top-level domain dot eath was actually

reserved for the EMS team through part of the air drop and they were the first name to be claimed and then also updated on chain so you can actually query 'if on handshake and nothing will return they didn't write any records but I am hoping that they do set up an authoritative nameserver that does bridge to EMS because they do have project it's a plugin for there's like go DNS tooling and they've got a plug-in for a go based DNS server that you run it next to death and then it's able to call into

gas every single time and acts as authoritative nameserver on top of it that's cool and then then something there is in progress I'm not totally when it comes to unstoppable domains I know that they're building a registry on top of zelicah as well as aetherium and I know that they're working I think they owned a crypto on aetherium and there's actually early on in kind of handshake dot crypto went up for sale and they popped into the community and they were really interested in buying it I'm not sure if they ended up doing it but there's kind of some back-and-forth so yeah maybe they have dot crypto and handshake as well digging in a bit more

to how an shake works and I think it's also relevant in comparison to the other systems there's this option system it's sort of eNOS also has an auction system of some sorts but how does that actually work am i buying a name you know you already said there's a rollout period so I'm not really buying it forever in traditional DNS I usually buy like one or two years but then it's also like a costs in the NS I think you're only locking your tokens and they get it back after whatever the period is it's how does that work on handshake yeah so there's an auction system that's based on covenants so traditionally UT exo's have a locking description of value and

in handshake the UT XO data structure it also has this thing called a covenant which has a type and then data and there's a state machine that defines the auction system and the way that it works is specific covenant types have spend patterns to other covenant types and the consensus rules will verify that the data field is updated correctly when spent from one type to the next so through this an auction system is created so at first a user has to send an open transaction to the chain in that

signal that an auction is going to open and that can only happen after the name rolls out so like I said earlier a name rolls out after the hash of the name mod 52 that'll give you the week and that week is represented in block height so once that block has passed then the name is considered rolled out so once a user opens it then there's some amount of time I believe it's 37 blocks on main net then the name goes into the bidding phase and anyone on the blockchain is allowed to bid for the name during this time and the bids are blinded so you

commit to the actual value that you're bidding and since it's you TXO based the value and the output that is the maximum value that could be bid and the commitment to the actual value that you're bidding is held into in the Covenant data field and then a certain number of blocks passed and then the auction switches to the you reveal phase and then during the reveal phase all bidders must reveal their bids and the auction system is set up so that it's a second order auction or decree auction basically what that means is that the winner pays the amount of the second

highest bidder and after the auction the winner those coins are burned they're spent into the UTX so that represents that name and you cannot spend that value out so they're technically burnt and those tokens are the handshake tokens that you're describing yep so you actually are paying for it you're you're like buying it you're losing that money that you spend in the auction yeah you're turning it into the name though and only for a period of time yeah you must renew once every two years and it's really easier to renew you just send a trans of renewal transaction into the blockchain and it just needs to be

included in a block there's a consensus rule in limits that renewals per block and that kind of creates a fee pressure because one kind of problem with Bitcoin is that in the long term were uncertain whether or not it'll be a little sustain itself directly on fees so this renewal mechanism helps to incentivize transactions over time and since only a certain amount of renewals can fit within a single block then there's going to be competition for that block space which hopefully will help to drive minor revenue through transaction fees how long do I have to renew oh yeah so you have two years to renew oh you can renew

right after you claim it yeah you can renew really whenever you just need to do it within two years and I renewal is you know aside from the fee for you to do yeah besides the fee so it's kind of a different so like in a normal domain system you you buy the domain cost 20 bucks for here and then you have about a month to pay your next invoice and then it cost another 20 bucks to buy it for another year so here it's sort of there's this auction to get it in the first place but once you have it or more or less guaranteed to be able to keep it and if you don't renew then the name will go back up for auction you know what we just talked about was the auction with these tokens this handshake tokens what

we wanted to talk about as well was this air drop and token distribution like how these tokens were actually handed out how one would get them so let's go back to maybe the beginning they're like of that story so like there's a white paper there was a team you're building handshake what was your token distribution plan how did that come together because I know it's been highlighted as kind of a unique one so public keys were scraped from the internet and basically all committed to when the blockchain started and handshake coins are being airdrop to all of those keys does that mean like when you say that all public all public keys so the biggest source of these keys was

they're basically straight from github so a script was used to basically query get and it looked for github users with 15 followers at least 15 followers and a valid SSH key or PGP key as well as other keys like from the PGP web of trust from key base if you had a hacker news account attached to it so all of these keys were all collected and then they were all committed to in a giant Merkel tree and that tree root is part of handshake consensus and if you can provide a proof to the blockchain that you own one of those keys then you can claim your airdrop does everybody know

that so not many people know that outside of kind of the blockchain space because a really small percentage of those total airdrops have been collected it's the majority of the coin supply is been air-dropped so I believe it's 70% of the total supply has been airdrop through this mechanism so the idea is to distribute the currency as widely as possible and kind of experiment in seeing if the people that have received the airdrop are able to coordinate and push the project forward as an alternative to say having a central organization try to coordinate and push the project forward who developed this

concept was this in the organizing team or was there I mean I know the answer but with their help yeah totally so the organizing team they implemented it but gamba day and Riata wahby over at Stanford they came up with a signature scheme called goose egg so goose egg is a signature scheme where it's basically a zero knowledge of proof over an RSA private key where you do not need to reveal the public key and the reason why this is really important is because if you think of all of these keys being scraped from the internet you would destroy the fungibility of the

handshake coin itself because if everyone had to reveal their public keys as they're claiming their airdrop then it would seed the transaction for the real-world identities of who is claiming these coins so that's why it's really important to have a privacy-preserving airdrop when you're using keys that are attached to real-world names and this is interesting because I mean this airdrop favors just general contributors to technology I guess if you're using github as as sort of a basis I guess one question I have to follow that up though is what what happens to those who will develop over the next four years and they you know they're - they were too young to be participating

in this one do you plan another one or is it like continuous so there really is there was just one airdrop the white paper does hint a little bit at a possible community-driven second airdrop where the community could coordinate - you know agree upon air dropping again and selectively targeting who to airdrop to and through another airdrop if it causes the value of the network to go up enough then potentially everyone would agree on doing another airdrop mm-hmm but that's just mentioned in the white paper and I

have no idea if that would ever happen our contributors to the project also paid with these tokens like is there an urn possibility from it or no I mean I think it would be really cool to set up some sort of business that earned revenue in handshake I would definitely be interested in working on a project that did that but it is a proof work based blockchain so all of the new subsidy the is rewarded morning yeah yeah would be interesting to try to combine some Treasury model with instead of burning the tokens and some portion of the token so Treasury they can go out either new and air drops or to pay contributors or to like buy so that I

really love the idea of you know you're trying to attract a certain type of person a developer a type of person with the airdrop right to get early buying to get an early community that can contribute technically but there's like a second wave that I think makes sense to try to airdrop - and that's like journalists lawyers people who actually need a decentralized naming system that because like one of the core problems of ICANN is that they're basically controlled by the US government if the US government comes knocking they will take down your domain there's no questions asked and so this has happened to many journalists this happen to many people around the world

for good and bad reasons but there's like a huge community of people who aren't that interested in it technically but would be great users of this system if you know what I mean so yeah taking some of those those auction auction money and sending it to those people would be interesting yeah pure speculation ya know people in the NJ community have actually spoken about what to do with those locked coins that are locked in the names we kind of called them burned right now but people have have talked about ideas of what to do with those coins in the long term and who knows maybe there will be a proposal that does propose something like that

and you are right in the sense of there are other important types of people that could use the airdrop like journalists and lawyers and kind of influencers people that would want to use it and also I mean Trump is tweeting about how he wants to go off against Twitter and who knows what's gonna happen there yeah I don't want to get too off-topic it is kind of scary when the president says he's gonna take down social media that's okay that's nice censorship totally so another really interesting thing about handshake is the way that name transfers work since your name is locked into utx though you might want to

trade that name with another person and the way the transfers work in handshake is it requires two transactions to transfer and this is kind of a game theory thing because your key was stolen you don't want somebody to steal your name right out from underneath you like it would be horrible if say a big company like Google was running on handshake and they did something wrong and you know all of a sudden now their their name is gone and no one can access any of their services so the idea with handshake is that you have to send one transaction which is a transfer transaction and you commit to the address that you'll be transferring to and at any time you can

spend from that transfer to a revoke which burns that name and then the name will then later go out for auction so the idea is that it's a game theory twist that hopefully disincentivizes people from trying to steal names because at worst assuming that the name holder is live at worse that the name will just be burnt and it'll be a griefing attack instead of the name being stolen so we we've mentioned it a little bit already but there's a new is it fair to call it a kind of Merkel tree I don't know but there's this Merkel tree what is that and where does the name come from yeah so the name came

before my time so I don't know exactly where that word the name came from but I mean Merkel from pop culture he's a nerd yeah he's a nerd it makes for good memes there's lots of good memes in handshakes so you should come to the handshake community for memes so the auricle tree it's it's meant to be an authenticated database and it was it's designed specifically after some research into the other sorts of authenticated databases that are used in the blockchain space the theorems Patricia Merkel tree was originally meant to be used in handshake but it turned out that the proofs were too large for the client-side SPV kind of like lines that

handshake wanted to enable so if you look in the white paper many different kind of authenticated data structures were explored and the Urkel tree is kind of taking little pieces from different people's work and combining it all into one was it developed by the handshake team or does it come from other research like it does it exists as a matter from like a university or something like that no it was JJ he came up with it and he implemented it and it works really well cool one of the features about it is that there's no actual database it's all implemented over flat files so you don't

really have the overhead of the database it's interesting you know there's so much discussion I think like one of the most interesting parts of building of octane is like discussing and thinking about these tree structures even Vitalik has gone out and said multiple times like his biggest regret with ethereum was the Patricia Merkel tree and he would have gone with the binary tree if he could so what does the oracle tree actually look like like what is this structure so the Ergo tree is a binary tree and the white paper actually is pretty in-depth to how it works but it's a binary tree and it's also a try so it collapses upwards and that's

the help offset and make the proof sizes smaller one major risk with this sort of tree is that if there's many bit collisions then it will definitely balloon the size of the proofs the white paper goes into detail about this and talks about how bitcoin is creating maybe like 80 bits of collision in how if somebody grinded names like that in handshake they would require quite a bit of of hash power to do something like that so in the short term we're not necessarily worried about that but it is something to keep in mind for the long term I mean the easiest way to avoid grinding attacks is use a hash

function that no one else uses so what are you using I believe that it's Blake to be two three six yeah so that's something that like Bitcoin Asics can't solve that I don't know that anyone is using as their hash algorithm for their proof of work which makes it unlikely that someone can really effectively grind it yeah so Han she uses a combination of Blake to be in shot three throughout the codebase and the proof of work is a combination of some Blake TV and some some shot berry so to cap off the episode a topic that I wanted to take back into which we kind of started this

episode on is the adoption like and and specifically I think about there exists a DNS system there exists a legacy system you could view handshake as a replacement of that system or as an extension of that system and I guess the way you view that changes your adoption methods a little bit but there's still so much in like you need to run name source you need to run DNS resolver or so you need to run all this infrastructure how do you get people to do that how do you get someone like CloudFlare to do it how do you get ISPs to look because like normal people rely on their eyes piece for our DNS

resolution or like you could build it into routers and so if you have like mainstream routers supporting this resolver then you get this automatically by buying a supported router there's tons of cool options but like what is being explored and like what is you know the view from where you're sitting yeah those all sound like great opportunities for entrepreneurs to come into this space and start building things right now I do know that the number of transactions per day hit an all-time high on like the 25th of May like a couple of days ago or so and so more and more adoption is coming through speculation right now it's still really early in the infrastructure phase

different people are kind of working on different projects trying to build out that infrastructure I do know that next DNS there are startup that provides DNS services they support an experimental handshake resolver directly in their client so if you download their application then you can go into their settings and click the little button that turns on handshake resolution but like what's is the goal extension or is the goal to replace yes so that's a really philosophical question that I can't necessarily answer I I don't know I mean I think that that really comes down to what happens when there's a name

collision and this is kind of happening right now in the community and I'm finding it really interesting because we're seeing different types of people in the ecosystem kind of all coming together with different opinions and it's just showing how diverse the handshake community already is so there's kind of the more anarchist type that are more interested in just replacing the current system and then there's more kind of people coming from the traditional tech world that are more interested in kind of melding with the traditional system so I have no idea where it's going to end up but I think that whatever happens in the near future with this music top-level domain because

music was it was sold on handshake and it was also sold through I can but does not currently exist on ICANN systems you can't resolve any top music's but this registrar they went through all the paperwork they went through everything and they claim that they're going to be setting it up later this year and I have no idea if that's true but that's just what they're saying so now the community is kind of in this battle of trying to figure out what to do as a community do we give them the dot music name on handshake through a hard fork that would be kind of like a dowel like event on ethereum or do we kind of make a soft

fork where it kind of invalidates the current name and then allow is it to go back up for reaction or do you create a kind of application layer change where the DNS resolvers themselves have some sort of system where they can fer to resolve any name either through ICANN or through handshake hmm so those are some different kind of options that are being explored through the community this sounds really exciting I I wonder like where should people go if they want to understand this better or participate in this community discussion totally yeah there's an IRC community is growing

so you can find people on freenode hashtag handshake and then you can also find people on telegram if you just search for handshake on telegram it'll pop up there's a handshake call on every Thursday and right now it's at 12:30 Pacific but we're flexible we're willing to change it to kind of fit different people's schedules because we're finding that there's people coming from all around the world and stuff like that and yeah you can join in you can talk to us I've been tweeting about it where is that where does it stream so right now we're streaming on Twitch and it's pretty fun everyone gets like lots of points and colored pixels flat on the

screen stuff like that but I think long term we'd like to kind of get something set up with like jitsi or something like that it's something that's open source so the more kind of fit the community vibe cool well we'll try to collect some of these links and add them in the show notes I want to say thanks so much for coming on the show yeah awesome yeah thank you very interesting yeah thanks for having me I've been listening to this show for a while now and yeah I really appreciate you having me out cool all right and to our listeners thanks for listening thanks for listening [Music]