Hashing It Out
Hashing It Out

Episode 63 · 1 year ago

Hashing It Out #63 – Nano – Colin LeMahieu

ABOUT THIS EPISODE

Nano is providing a new approach to fee-less pure payments networks. We are privileged to speak with Colin LeMahieu, CEO of Nano to discuss their DAG voting-based consensus protocol, their accounts-blockchain model, and their NanoPoW for memory-hard PoW to replace fees in a network. Interesting stuff, and definitely a great conversation.

Links
https://nano.org/
https://twitter.com/nano
https://github.com/nanocurrency
https://docs.nano.org/
https://medium.com/nanocurrency

Now entering kindetwork welcome to hashing it out POCASKD forretock to the ATTECH intovators behind blocked in intrastructure anddecentralized networds. We dive into the weeds toget at Wyan how peoplebuild this technology, the problems they face along the way, Ome, listenand learn from the best in the business. You can join our racksthe guys ookingback to the show ashing it out as always on your host goted corred pattywith me. As my trustic cohosts, Callin, cuche, say hello, everybody call himhello, Everybody Colin Isimpleyomove, Your Lips, Yo. You were basicallysaying it as I was I was. I actually did that I want to see if Youd kept,the CANENI got good rid of hat coan a say. Today's episode we're going totalk about mano, t e Mano Blockchain, and we have on Callin Lema hugh thefounder to help dive into how it works. Wideworks, where it's going, how it'sbeen SAR said it so Callin. Won't you do the main thing give us the quickintrobection as Tekindo, how you got into the space and then we'll juststart talking about Nano Yeah Yeah. He everyoneis good to be here Um, so I got intereste incpocurrency, probably inabout twenty two thousand and nine. When I heard about Pickcoin, I justkindof lent it on the sidelines for a while sit in the back of my head M andT en a few years later, I revisited it kind of wondering where the wholeindustry was and al it didn't seem like. There was a whole lot of adoption, so Ikindof looked at it from a technical standpoint, seeing you know if I coanfigure out what it would take to kind of get digital money out there and itseemed like there were a couple of things that I could contribute. So Iworked on that for a while and then after Um some months of planning, Idecided to start on what was Raybok at the time and worked done that for acouple of years by myself, and then we started a team in tlae twenty seventeenum to kind of bring it forrd bringng theProtogo forward. So we change I tonado and that's what we've been working onever since, what's your background wh, why did you? Why are you able to toprovide Um, technical, insideend and, and maybeininnovate in that in that way, yeah? Well, I I'm a soccer engineer and I was workingat Qualcom M as compiler engineer, an esempler engineer.They go op had this like embedded performance, tuning, Um type ofbackground in computers and that's how I got it from a technicalstandpoint and then you know: building a currency ive always been interestedin economics. I've never been through a university program on it, but Um. It'salways fascinatid me kind of figuring out. You know macro economics,microeconomics and then currency is it's own kind of beast. So it was fortunate that Y, U I had theperformance background and then the interest in economics um to kind of putthat all together, at's Defini. I think it's it's asimilar story for a lot of the engineers in the space is that theyhave some type of technical background, usually in computing O in softwareengineering and then Um. They had an interested money. Maybe they didn'tknow they had an interested money, they're GOINGTA Duce them to bickon andthey're. Like Oh shit, I kindo like the idea of money yeah at least like l, theconcept of how it works and how how you use it and what it is and then you knowTha Standard drope of down the rabbit hole. You go yeah exactly and it's the economics andkind of the politics around money. One of the underlying things of how wedesigned Nano was to not have you know monetary policy inside of it not be noninflationary, and those are things that I would like to see in in a currencythat I um use. So it was, it was cool to see you know bit coinstarted off with having fixed parameters on that and then h yeah. I mean I thought that was goodIEA. I it needed to be done because people losing their money to inflationand all that stuff I see, is very unethical, so kind of that standpoint.Mixed into this too um piqued my interest s t talk about Likeso Yeah, just talkabout what Nano is M. I I did go through it. A little bit m saw somekeywords that kindof jumped out at me. One of them is dynamic proof of work,and I was wondering if maybe could go over like what what is Nana? What isyour keyinnovation? Why do you? How do you differentiate from existing systems?Yeah sorkeepdprinciator is our focus,...

...our our use case that we focus ion,which is to be purely acurrency, so we're not addingUm like smart contracts to it. We're not do doing any of the Um small thingsthat move it away from the concept of ofcurrency. You Know Nata Foundationthat runs this is', isn't a business. It's a non profit that kindof developsthis Um Soour archy deferenciator, is that we have a very, very fast confirmationtime on transactions. That was one of the things that I identified when I waskind of doing. Research h way back in the day was that, in order for this tobe useful by people in e daythey think it needs to be roughly equivalent towhat they have right now and and hopefully faster and unfortunately itasn't neither of those its actually slower than like me, Siin, my credityard, so just from y user experience, I thought that that was never going to goover um very well or you have to have other things in order to cover it Om, like second laers, so that was oneof them. Our transaction speeds are less than half a second generally th, so they're incredibly fast, you canbarely notice them. When you try to paper things- and that's that's likeconfirm, right, yeah, theyn change, wholy, cn yeah, fully confirmed onchain. So there's not a second layer: it's not a zero com. It's it's done! We get that by our internal sys. It's avoting base system that generates the consensus. So that's IT'S EAS to endout network traffic and that's why we can get really really fast confirmation, so Um, the other thing Ha, I thought was goingto be a problem. Was the amount of fees inside the network sat it Kindof goesback again to. Why would anyone want to use a cripl currency instead of whatthey're currently using? I D have to be better or very very at least prettymuch similar, so the fs I thought were going to be anissue in the network. It's a bad user experience, people having to type themin to figure out what this tee means like how much if I ask my Gra won topay me something like how is she going to calculate te Um? I, it was a very bad user experience,so we were trying to eliminate that too. So we don't have any in thetwork fees,which is another key to porentiate, with pretty much everyone there's acouple of other. You know coins out there that are fast M. I don't thinkthey're quite as fast, but there aren't coin other coins out there, that don'thave fees and the network, and that's makes our user experience very, verysimple. So I'm Asuming, I'm assuming since you don't have fees you're doingsomething like uh either a Vidia for proof of work on a per transactionbasis. Is that Yeh likely a way? Yeah you nail it it's it's a small proop ofwork, Um, it's not a vedia, but it's a it's asmall proop of work that you attach to each transaction. That is the throtlingmechanism. It s just like a hash cash type of thing: Yeah Nore, actuallysaday as O, when this is being recored, I' R, going to be releasing some moreinformation on a a new some research. I've been doing onthat so oco a en s, talkng about that now, like yeah, we're ready to go likewhat yeah. This is actually something that so like W we've actually lookedinto here, obtes like something that some of our pluging systems could ma.The implement is using him proop of work as a a heeless system, and it doesseem to make some sense, but it also, you know, seems to have the downside ofyou know. Is it actually? A fee is an equivalentto a feet, OES it actually provide. Especially since you know you can'treally know what system is going to be using the particular portion of yournetwork. You know like how can you say that an it device with like a rasberryPye equivalent is the same as somebody with a graphics card, and so I e a'mwondering what what what do you feel about that from prorwork standpoint,and maybe you could get into some of the stuff that you've research on Ithink before before we do that. I want want to get a broader understanding, atleast for the audience of some of the architectural differences of Mao,because it's a DAG based system which allowsfor a lone of these stings L T um. Some of the contunsous mechanisms enterearound is particular of the yours. Only work in the context of using like usingthe right data structure and Dag is when you use, which allows for that antalk about that yeah, yeah thete's, a good point. Wecan talk about that Um, so you're right, we do have a a DAG system.So that's one the changes that I made to this compared to traditional blockchain, where everyone's kind of fighting for the front in order to gettheir transaction put into the front of the lists. So we have Um One O. each account has its own chain Y,you chain your own transactions together and everyone h, all theledgers and all the nodes. The network track. All these change all thesechains as they move on so actions in my chain are not affected byactions in somebody else's chain, and...

...this is this kind of goes back to thecomputer science design behind it. If you have an unlimited number of people trying to put there piece of data intoone spot, that's an enormous amount of ontension, and that's why you know youhave th the validators, the minors, that kind of solved that contengionproblem, but it takes time tosolt contention. If you can eliminate contentionentirely you can you can kind of skip that entire problem and that O don'thave to worry about it. So we eliminate contention by making one account perchain. The only person I can add your chain is yourself. So there's there'sno contention as long as you know, R you're, making your own self chain Y,you can you can kind of mess it up and then the network will have to fix it.If you try to this is our double spen problem. So if somebody messes up theirchain and doesn't make it one fols another order, then the network willlike force it to one way or the other, but absent of doing that Um you can just go on and on and on by yourself,making your transaction line and it'll never be interviewd, but appeared withby someone else and wh in a point of contention. Whathappens there like say I how you keep people from from staying, honest andbatading their own work, especially when currency is a inherently to portedsystem Um so like? If I maintain my own chain, how do I ensure that the otherperson nupted Im, there's appropriately or that they're sure that I'm up themine approperly? Yes, we um go alluded to earlier- have a a boting BAS systemto show consensus on it, and so we have Um. When you send out a transactionsto thenetwork, it gets flooted out. You know it's pretty standard, pretty simplor,pretty simple, and there are nodes on the network called representatives andthey're the ones that are voting on these transactions and nodes. Thenetwork accumulate. These votes count them up. In order to make sure that particular transaction that they'veobserved has been observed and confirmed by everyone else, the network,so this whole process is the thing that happens in the less than half a second.The votes go out, Thoy get counted, and then it's confirmed- and it can do thatvery very quickly. So usually the next question people have is wh well, whoare? The representatives is if this is a decentialized system that needs to bedone in a decentralized way, so the way that we design that was balancedholders in the network. So if you have a balance in an account on the network,part of your account state is a a representative of your choosing, sothat representative can vote with, but they can't spend the balance that youhave in in your account Um, so you can go offline and the representative stays online andvotes on your behalf. So you have like basiclly bunch of Um people who maintain availability on thenetwork to perform votes and people delegate their weight when their weightis basically the amount of money they hold to those two, those to thosebracely watchers for voting Yep Yep, that's exactly how it is, and you canreassign that, but wait anytime um in just by doing another transaction foryourself on the network. So if you don't like a Baladator Um, you know you can pick someone else. Ifthere's some sort of problem, you know like this Valiti Ha's gone offline forwhatever problem, either the the company's gone or maybe there's somesort of regulatory issue. That's new, and nowthey can't run it anymore Um. You can reassign it to any other representativethat you want within. You know half of the second. So why would someone dothis if there's no feas in the network, wy l with their incentive yeah? So this I I get this question a lot, butyou kind of have to back it up one more step. It's like wh t. What is someone'sincentive to use the network whatsoever and the incentive to use acryptocurrency network? Is it solves your currency problem better than anyother thing? So people want to use NATO because it is fast andthere are no fees and you can send money to anyene anywhere in the worldat that speed, so that that is eliminating expense on m a company'sbalance sheet wire transfers, cost money, bank accounts, cost money andtime and they're slow, there's float risk. So this is all a savings to them.So when you count the amount of money that it takes to run a node which is onthe order of forty to sixty dollars a month that that's a trivial amount ofmoney in order run a valadating node and plus they get advertising revenue.Ou of this. So there's you know a top list of Um, not advertising revenue. They getadvertisement out of it. There's a top list of you know the top validators,the top O weight Um representatives and, ifyou're on that list, you know when people go and look at therepresentative list, your name's going...

...to be shown on there. So you gotta getsome brand recognition an he contributor to the you know community,and you know people clickin and go to your siht, get theme quickd throughtraffic. So that's why people have done this sofar and for for forty dollars to be on a list that the entire community willsee whenever somebody like wants to look at it is a very, very low cost tohigh R I and the last. The last like man pointto is AR, like. I Guess Polethat I see that whole, but, like m ignorance that I have but Respectaanois the digital scarcity, part Um. What is w at what are the tokeneconomics of of Mano are those just like a flat inflation rateover. So overperd of time, is it like a geomegically, decaying series like Bitcoyn Oage, HodActaly? It's actually fully distributed right now, so there's we, the initial,so we we distributed our coins differently. We Um sent them outthrough a free fosset and the reason we did that is because we we KINDOF,wanted to move away from the Um. You know kind of h the rich get richermentality. Where Yo have a lot of money to spend on mining hardware, then you're just goingto get more money out of the network which eliminates a lot of people, itjust don't have the capital to to run a mining rig or they ust. I don't knowthey, don't they don't have the expertise to do it. So we distributedthat over a free fossin for two years and what people would do was solved.Google captures for Um, they would just solve the Google captiure and it wouldtell yu how many you got every hour and every hour for Um the two years that weran this. It would send a distribution out to the the top Um people that gotclicked. So we we used to go to capture T, so it wasn't boudable. We made surewe got a human on the other end, cechanical Turket yeahexactly know some people did I'd.Imagine that that's a valid use case too. You know you want to work and getpaid ind. Something else you K, O t's is legitimate as anything else. It was funny when we were running mad.It was. It was interesting to keep this site up 'cause. I had a lot of traffic.We got a ton of traffic out of Um Southeast Asia, Um South America,basically any place where people are making a lot of money perhour, and this was a way that people made money. People like quit their joband were feeding their family on this and they were like. Oh thank you. Imade make fifteen dollars this w week off of clicking GOOKAPCAS. This is likea set me up for another two weeks and I'm like well, don't get carpel tunneland that's crazy itotal. The total supply like t thatdistribution is that set for ever or unlesifuave yeah yeah. No, it'sset right now, so we turned that off. In October twenty seventeen Um when we were internally there was a number that waslike total supply, but we just decided we wanted to stop earlier than that andcut off the inflation, so we sent them remaining two thirds. One third is in circulation theremaining two thiris we sent to a burn address and then just eliminated the inflation. So it's it's a pick supplyright now I mean technicallyit's, actually slightly deflationary, justbecause people lose keys and and whatnot, but Um yeah. It's fully out there. So we'renever going to have like a a governance question. You know: What's theinflation right now, what's inappropriate, festructure to have justeliminating all these points of contention? Is Our primary focus, ool cool? So, okay, back to the technicals, I'm I'm still kindof curious about yourmemory. Hard prefer work, Algor, thm Um. What what do yo? What? What are youdoing? There wh first of Ne, you describe to the audience what Um memory hard proof of work is what thedrawbacks are to some of the existing algorithms and what you guys you kindof do in different yeah yeah. So the the memory, hard proup of work with a standard proof of work Um, it's just a difficult problem thatneeds to be solved and generally what we want with all these proofs is thattime has elapsed. It's it's less concerning in most areas, you know someareas that still interesting M to have other properties like Um, an amount of hardwares dedicated tothis or an amount of energy 's been expended during this process. Usuallywhat people want, though, is that time has elapsed h. So that's fermenally.What we want with this too, but Um. What happens with the existing proof ofworks? Is You? Can you can s make y? You can paraize themvery very easily. It doesn't take a lot of harbor gates in order to do a Hashfunction and you can stamp out millions and millions of gates ontochips in order to solve this problem in...

...parallel m. So memory hard is a adifferent approach to this, where it's trying to get it's trying to prove. Notonly that time is e lapse, but also a certain amount of gates were like logicgates. Transistors were dedicated to solving this problem, so you need todesign the the question that it's solving in that way, Um and the reasonthere's a couple of reasons- T use memorigates the top ones are memory- isextremely commoditized. It's one of t e, the densist and least cost Um type of chips that are made they'repretty much universal across Um. You know different processors, whatever sothey're very, very commoditized, already they're highly optimized by you,know, Samsong Um and all the other people that generate memory. So there's a reason to do that and thenalso just kind of from a physic standpoint when you have logicgates that go from zero o one there's an enormous amount of power consumptionin that transition, um going from zero to one or one to zero. Just simplychanging those state values is where that your most ofyour power goes up inside of the computer m some memory. If it's justsitting there, a specific value is consuming less power per transistor, soyou can hook all these things together. Timehas happened, there's a certain amount of transistors here and the powerconsumption. Is You know lo lower than Um using corologic ates? So that's thereason we're doing all of the memory hard stuff Um. The issue is that itit's it's pretty hard to actually make one of these thing things. ComputerScience guys are pretty smart, that breaking these things down and you knowkinda getting an edge on it Um. So that was that was what the researchI started at the Begin of this year. In order to do this, I looked at the otherones that are out there there'se, some pretty good ones that have been madeproof of works but um. The main issue that we ran into isteproof size is too big, so our transactions, because we send them outindividually, we prosess them individually, they're around twohundred bites apiece. So a lot of these proops were like five hundred bites orlike one K or two K. Sunn advertising is, is basically it's a lot of saying,like each transaction fits within the size of the UDP packet that somethingseeme to be constrained by yeah, I mean we're not constrained bythat anymore W we did use it DP. Originally and then we UM changed it toTCP for the flow control. Wel, we'll probably actually move to quick in thefuture for the Um, the multichannel per connection,andpoint property, which is just interesting and nice to have but yeahwe're, not Techan straied by that, but W act. We do want to keep them small Um,because that decreases the latency it's it's kind of the Saie trade off as someof the other coins, where they're going like big Blox smallblocksthing, youknow big blocks have through put, but it takes longer to send the block, soit increasess the latency. So we wanted to keep the late and CEE as low aspossible, so yeah. These proofs would just not bebig. They would at least double the size of our transactions n. In othercases like tenex multiply. It so did research on this and M yeah. I justcame up with another way to do it Um, so I've been work Ong this this year.It's we're putting up a technical article onit, but it's it's it's. It is also a SERH, a random searching algorithm,where it's trying to find um an equation with a specific property thatis extremely hard to do if you're, just using a CPU to kind of Plugin Shug andit make a tenpse on it so kind of like hash cash, reruse, doal, random, newones that tho be very, very slow. But if you store parts of this and memory,um it'll speed it up significantly. So there's a very big advantage to usingmemory in this I see, and and do you do that once portransaction or is this like thing? You have to do repeated times to get thememory proof handled like what is the? What isthe model for the proof M Yeah? It's just it's done once fortransaction, so Um when you create a transaction. You knowyou have your transaction Hash and based on that, you generate this umproop of work andyou present the proof, along with the block to the balidators Um on thenetwork, and then they either accepted R or drop it Um yeah, another propertyjust to go back that we really really needed was Um, very, very efficientvalidation. There's a couple of there's some very good like work, proving andmemory proving Yoder thems out there,...

...things like Argon, the the keydarvation functions, but they're not fast to validate they're, almost asslow as they are to generate Um and it J S. it's not feasible for two hundred bites to be validated bysomething that takes you know fifty or a hundred Millo seconds of alidate.That's ten to twelv twenty validations per seconds and vets can easily beoverwhelmed with network traffic yeah. I go God for things like passwords,boring and salting year, Passord and Blah Bla bla a it's great for that side,channel protected in Yadiadyada, but yea, it's slow intentionally so and that's just to prevent that kindof stuff. So it's also a memory hard too, which is you know interesting aswell, but Um. I I think what I I'm kind o curious is like you said you had anaccount an Ich. Each account has its own sornate chain. Is that grin that Iunderstand that properly you an th, your Dag, actually is kind of likevalidating all these change, and that's where the valitiers do that kind ofwork. I would assume I'm kind of having a hard time, visializing molel at themoment, but maybe you could explain that in a second, but first thi have Ithe question like y. If you have this chain and it's your chain and only yourchain n, you have to do this troof of work in order to send a transactionacross the network, and only you can have blocks to your chain. Correct Um, then, can you precalculate the proof ofwork and just have it there and then j immediately send whenever you want. Isthat how you get your your speed m? Oh yeah, so we before when I said that you c yougenerate the proving work based on the Yeur Transaction Hash. We actually havelike one little trick inside of it. Where you, you generate the proof ofwork based on your previous transaction Hash, so you can C you can precalculateone proof of work in advance and latency hide that generation time andusually people don't do a lot of transactions like I'm not doingmultiple transactions perminute or second, I do maybe one per day or weekor something so um after I send my transaction. My Wallet Will Start Kepercalculating the next one for the next transaction that I'm doing andsellherst so th th. That's only for span porvension, CRAC right yeah, it's t it doesn't affectthe consensus. The consensus is purely avoke base system and then my nextmnexquestion of that is going to be when designing a specific type of proofof work. You're usually doing that to map it on to a specific type ofhardware. That's optimized, for that particularagorithm dies that mean that, in order to use Manno in the future, you'regoing to have to have like it's going to be most efficient to us, O specifictype of hard war to do it well, that's kind of why we use the theCommodity Um, the commodity, Hardrte wread thit's, already out there, soyeah inddr, four Memori, the Hardwar that you use and you just need acomputer that has enough of that to do the generation. What is enough m right now? We have t two two aboutfour O. Eight gigabytes of memory is a Debo consumption and if you use lessthan that, it slows down pretty heavily. I don't know where Thet's going to landbut part of our like release thing in the next week or so itwas GOINTA KINDOFbe figuring out where? U Is a good amount to do this? That' just is that fiss within, likethe newer raspberry pies, so like ychep, cheap devices are going to be able todo this reasonably so um bt mtheyll be dedicated to doing thisbut' still like thirty bucks, for something like that. Yeah exactly T it's, the Hardarinvestment's really really cheap and we we are designing this. It's we designedit Pernato, but I think other people will be interested in this also. Soit's going to be an open source library. That M you know, I hope other peopleuse, because I think I think our goals are ar the same in a lot of ways Um. Inorder to do this, so wait a minute, so it takes like fourto eight gagobites to produce the proof. Correct, um th so like this happenslike fast. Is that what you're saying so it happens so fast? You basicallydon't realize what is the? What is e time to actually produce your proof ofwork like what is? What is your target there? Well right now with the theFORTA agigs memory, our target is with a GPU like a couple of seconds, O likeone two, three seconds or so um, but I assume other people want like longertimes, so you can an longer times mean either ou're going to have to use morememory to it, apply more memory to it or wait a lot longer. So in Justhiaing is the whole thing isstatistical, so it isn't that you can't absolutely you don't have to have the mostoptimale amount of memory applyed to this. It's just going to be e, thefastest way to do it. So if you have the memory you're GOINGTA over doublethe amount of time slightly, that's going to take to generate it yeah, I'm just thinking like what wouldthe side effects of this, be. I mean, like I guess, for instance like if you'relike building Tis for a gaminggaming...

...system and you're. Trying to you know,do a microtransaction mid game like it could cause a stutter in in system thatyou're on, but like thats minor, compared to like the fact that you canget this through pretty quickly. So I mean it's interesting to kind of thinkhow that would impacts. Useer experience Um. The other question Ikindo have is like Um. Do you see advancements in hardwarebeing a big impact on what you're doing, for instance like memoriesters, where you have compute and memory likebound together almost Um. Do you feel, like those kind of things, might impactyour proof of Workoutrim m? I I don't think so so um. The reasonthat we looked at this was was going to say. I had one one thingthat just this last sentence t reminded me of M: Oh just as a side, not our proof of workis outside of the like signed transaction paloid that you send so theperson that generates the transaction doesn't need to be the one. Thatapplies the work to the transaction and we use that a lot in a lot of ways forU low power units in our degenerate transaction. So your rasery pokcan signit, send it off to Um your high powered machine, like that. You have in YourHouse, Yo r, your company that doesn't have the signing key and it can stillapply the prove of work and then set en Ouf the network to kindod that that'sreally cool, that's useful, definitely for sure yeah. We did that totheringdesigned it to be outside the the transactor payload, like I ell, mytransaction yeah, exactly yeah 'cause, like allthese low power devices, they're not going to put anything in there thatconsumes power, their design to to sip power, not to C N, assume them they're,definitely not going to pay extra money to put something an that consumes more. So en sorry, what was your? What was thequestion greataslinguestion? I got distracted byL, how cool that was ym. I don't know Um, so I I guess the only thing that tt a think. I I really wantt answer n. Since you know, Wehave got like twentyminutes. Left M is how are you doing the voting base? Concensus M it I mean the so when a a transactioncomes out, somebody, let's Ust, say one of therepresentatives observing transaction, so it uh looks at the block. It appearsto fit that it's signed correctly and what it does is it sends out a boat forthat blocks, Hash and it puts it into a memory kind of like a mem pool, or it'sjust in memory. It sits there and it waits for Um the confirmation corm tocome in, so it will announce it's Bot out to everyone else and it'll watchvotes coming from the other representatives coming in and it'lltally them up, and if it sees you know somebody else winning or a differentblock winning it will remove the transaction that it had plicked andthen switched to the winter and then reissue its boat Um for the new winter.It's kind of bandwagon boting and then it collapses to one of those solutions.That is it. Is this quarum responsible for the entire Jivi of the network oris it is it? Is it somewhat short of no there there's no sharting Um sooputational effort of the coorumgrowth with the amount of transactions that are happening across the networkright yeah yeah I mean there's, there's people talked about like sthartingcryptocurrency, but it it it's not a Te. It's not a possible thing to do that.It goes back to the CAP problem where you, in order for a currency, to work,you need to have correct accounting. So you need this. The CEA properties to bethere, so the one that you can't have the one that you can't omit ispartitioning. You cannot validate transactions, isolated, completelyisolated from the network. You need to hang M as Oro your IR account. What wasthat you want to hold a single unit? Ove Account. Yes, you want to hold to balance acrossthe network properly than you need. You need to have kind of global knowledge.There yeah exactly AIS ye yeah. You Need Chan. The statechange needs to be insinck with everyone else, but yea likepartitioning N, even in you know proof of work coins and everything.It's like y. You can't validate the transactions in complete isolation. Youneed to have a little bit of information from youknow your friends or something else in the network in in some way shape ofform. Now, like e group of Orcoins, that it really really cleverly andefficiently, you only need to know like a recently confirmed block and thepproximate current Hash rate, but yen, you can validate it with that SAR m.The amount of band with used for our validation processis is higher um thanlike proopof work coins, but the latency is much much lower, so justkind of the traoff that we have seems...

...to smell like if you hold the latencyconstant you're, going to have increasing computational demand from thfrom the h Cos, increasing computitional andnetwork demand for the validators to in order to do their job. If you want ahold wat at the same time, right yeah, so it is that's! That's the quality ofservice mechanism TNAT as actually Um. The dynamic proup of work thet weretalking about earlier, is our quality of service mechanism, so um the overalllimiter to networks. TPS isn't like a fixed number.It's it's! The bandwith dedicated to the network, um given thet condition.So what the valitators do is Um to have like aband with cap or justkind of a limit of which that they process transaction so that that willkind of implicitly set the TPS that the network has and abilitters don't needto do this insinck. They can kind of just move it forward if they want to,but the whole the validation process isalwy as fast, as you know, some of those slower actors, so Um Yeah. So once you have that uh rate limits set int. What you gwant todo is given a set of transactions that validators presented with that islarger than the number that they coan fit in this ban with constraints. WhoDo you pick to go to the front of the line Sheus like what is fare to do so?What we do is actually just look at this proof of work and put the mostdifficult solutions in the front of the line so yeah, so it just it moves into theprothe line, and actually this is another benefit of our H. proovworking outside beside transactionpayload is, if you don't like the priority that your transaction'sgetting in the network, you can just reapply a higher difficulty proof ofwork and then put yourself into the front of the line in order to get itvalidded. It's like thing, a larger fee. You know, iterally is a fate. It's it's a CRoracinal effort or or scarce scarce fisical resources, nyep. So back tolike more the consensuside of the things like Youe, this voting basesystem and you say collapses that everybody agrees, but are you agreeingon the state of the dags? Does everybody have the same view on on that,or is this every node keeps its own sort of like idea of what is true andthen M, you could kindof query the network to get like w. What do youactually wh? What is the note actually storing about the state of things andwhat does the voting due to the nodes state M Yeah? So when we describe the DAG and saythere's one chain per cou, gener people think is that my account is on my ownnote and no one else knows it that that's not the case. That goes back tothe partitioning thing. So every every balidating note and everyone that youknow runs just the full note- has every single account chain. That's in theledger, so t they're all tracked by everyone. So the the voting process Um moves these individual transactionsfrom an unconfirmed state to a confirmed state. So your question about,like does everyone, have um a a uniform view? The NOWWOK OT a givenpoint in time not not entirely. They don't have a uniformview of unconfirmed transactions, but they do have a uniform view ofconfirmed transactions. So this isn't like some other ones where nodes neverlike come to consensus. We we do come to an agreement on state continuouslybut like at the fringes of you know the last couple of seconds of who publishtransactions there's a little bit of disagreement as to m which one's actually been confirmeduntil the boates come in they're counted, and then we know what theactual state chainge agreed by the network was SL. The states are all thechains are being sinked and then the DAG is just a method for deciding. Youknow what what what what's going on in you'r voting for individual crotingyeah m. So what a? What is the sorage problems with that?And how do you prevent people from just like, like? I know that the proof ofwork that you have is a kind of Um, a civil costm. It's actually deep, youknow denial service prevention. It seems like I like h. How do you preventpeople from just creating a ton of accounts and they get it reallydifficult for people to sink your network? Well, that that is less of a propertyof the proof of work mechanism is more a property of the transaction persecond, I p put through it. 'cause people with even the the like lightgoing or bicoing networks can can send out dust transactions and they just sitin the utxo set forever growing indefinitely. So I meanspamability is and the faster like you accept transactions. The fastoorthat you accept state changes is the...

...faster that that set can grow. So just you wantto g say something e Oyo Yeah.So the fact that you culd precompute, doesit like concern you at all solike you wantd a time yeah, but I could havelike hundreds of thousands of counts. I aw computed and then all of a sudden Idei- and I did a high value proof of work all of a sudden. I just dump themall onto the network. Um does that. Does that? Do you have any mechanismsto prevent that kind of attack right now? We don't have a mechanism onthe precomputed thing, so there's there's a couple of you know ideas thatwe have on it, but also there's some important things to Kindof look at for that that type of thing to behappening so um when there's one attack or like tryingto Saturate Y R, your trentially. If we divide up the number of transactionsthat coald confirmed into segments, we can only confirm, like a certain number-let's say a hundred per second in the network. So what an attacker has to dois fill all of those one hundred slots with the highest group of workdifficulty at that time and after that, one second helapses and they getconfirmed. They need to do that exact same thing again, so they they need tobe filling every single slot in in perpetuity. In order to continue toexecute this thing, if any anybody else who's only trying to just do onetransaction, an the Wallack says: Oh, it looks like the difficulty. Theaverage difficulty of things that are getting confirmed is four times higherthan what I have currently so I'll just spend for times as much time generatinga a more difficult solution and then publish that one out and then they'llget put to the front of the line. So it is a Qualti of service. It's it's anantidenial of service mechanism that people can kindof just put themselvesith front. We we do have some m other ideas on how to make it. So you can'tdeeply precompute things. You know if I have a section of the wet my accountletters, that' offline, I've just built them and I haven't published it andthen yet, like you said, dump them out there M that takes time to generate. We yeah there's been proposals to likeRota, little extra nuiances, that you have to get mixed into your PROPA rekgeneration, so it can't be more than like an hour old or a day old orsomething m. We haven't implemented that yet, but hat' the idea ahout thereso like thep the thing that fees seeason stuff, they generally theideais- that the economic atcentive is that if somebody decides to do that, then the whole network is stillbenefiting everybody wos Validat and gets some sort of like hey, you know,theseeither the fese get burned or they get to redistributed, but the wholenetwork like makes money off of it, and so that somebody doing this is notactually hurting the network that note ers like fine, that's what we want. Wewant you to pay more. We want you to do. You know more difficult things, but inthis case, because there's no such like incentive model baked in it feels asthough you're actually um making it you know so that the valideors might noteven want to do their job. Well, yeah I mean to a certain extent: the network wantstraffic. Come through, but also if it's just useless traffic coming through youkind of are, are killing public usage of the thing. So, like there's a couple of guys that arehanding em money in a circle to each other on, you know the validators andthen the person trying to span the network a, but everyone else is kind ofleft out and if I'm a business that wants to accept currency- and I I can'taccept it because of this thing- um I mean t it's equally as useless as if noone was getting paid, Oh yeah and you don't want to Dovalue yourown calln. Imean, what's the point of that, so I understand that that argument. Thatmakes sense. So what kind of Chancs you know through put? Are you seeing m right now? We can sustain, I think,AH twonty to thirty. With version niteen on it, we made some verysignificant improvements in burgand twenty, especially with replacing ourdatabase back end Um with rock stebin. So that's gotten us a lot more on Betothat can do it. I mean I'm bad N herbater network. We try to make it aslook as close to a public mewark as possible, but I mean we can push acouple hundred through that at this time. Um. I don't know how quitetranslates out to the to the live network, but we we haven'tdone any sort of like public nebor tests so far because were new weerechanging things like dynamic work, which was put in inversion, nineteenand then this new proup Ol work, outr them just like it's kind of ascientific thing where there's no point in testing something that's going to beinstantaneously, invalidated so wealre we a we already knew by kind of likejust looking at the Um profiling stats during high load, whereour bottleneck was and right now it's Um the bottleneckis either banned with orio onto it, and the IO problem is going...

...to be a much smaller problem in the newfuture. Iwas scarious Um se reading the wite paper earlier andyou have you- have a sin transaction and a received transaction that arebetter made from each to each account. What's being validated only receivetransactions, then that GSLI e receive is the culmination of of t e total frensaction. You goanhave multil Sins Anin one receive I'd. Imagine is, it is only the like things.Only get validated once a receive has been broadtasted, or is it th oil ofthem Yeaha? All of them are validated Um, so it Kinda e everything. That's validaed has adependency chain. That's in there. So let's say we. We go back to this Cprecomputed thing, so I precompute lolike, a soft forker double spend intothis, and I send them both out. We not to roll back all dependent transactionson those things, so um so from a risk. STANDPOINT IS W whereisthe risk and this type of thing. So if I'm generating transactions and send into myself in a forking manner, you know I'm risking my own accounts, but fromit's from a receivers standpoint. What they don't want. is they don't wanttheir transaction chain to be rolled back by somebody, that's sent to themso there they have a reason to wait for a cender to get their transactionconfirms before they. You know receive it and link their chain with with thatother chain, essentially at that point, by receiving it ve cool. What do you see? Where do you seerandom, going n the near future? What do you like?What do you see on Horizon Yeah? You have nospart contracts, but how? How dopeople like interact with this is purely payments? Or is there some otherlogic in the future you thinking about in or yeah I mean the only logic that I wouldlook at in the future would be um privacy if that can be done efficientlyand and quickly, but yeah. We are focused mainly on being a payment'scoin. Well, not mainly we're exclusivel yfocused on beig currency, so were we're trying to be a global digital currencyUm. I think that that it has an enormoususecase, there's billions of people in the world that don't have access tobank accounts because of the way the banking system works. They can do thatas long as they have Internet access now, Um, there's a lot of fees being essentially rent seekd out of people byinstitutional players by the central banks. There's inflation, so I meanthere's tons and tons of advantage to just the very simple concept of havingcurrency out there, and when we focus on this one um concept, we can dedicateall of our affort to it. It's kind of like goes back to the adtage of you. Ifyou follow two rabbits you're going to lose them both. So we follow one goaland that's to be the most efficient form of money Um for people to use H soyeah that it doesn't smart contracts have some other issues. Ho are justlike difficulty with it. It's a much more complex problem and if we had, ifwe divert our time onto trying to do that it, it's just an opportunity, cost thatwe can't spend on the currency part which has a verylarge usecase. That's what we're doing yeah that makessense. Yeah we'ree we're trying to find beachhead industries where th things going to. I think a lot of people incryptalcurrency are trying to do that, but I think that we can actually revisit alot of these industries that weren't able to make use of th e. The firstgeneration cryptocurrencies because they technically didn't solve theproblem or you knowtheywere too expensive or slow or something, but now that you know those problemshave kind of been alleviated. We can go back and revisit those the reason we'vebeen kind of waiting on that is because, like as you guys, probably assumed, weare not a work of anything. So we have a unique codebase and that needs to berun through standard software engineering like rigor, so it needs tobe examined. It needs to have a lot of time associated with it to make surethat there aren't issues, so we've been playing catch up on that, but you knowwe're P in a pretty good state now and we're going to be pushing this out toyou know as many of these beach had industries as we can as o Tas w. What questions should wehave asked you that we haven't asked you normally weak yeah? This is like what is the most excitingthing that you're you're looking forward to into space what Hav you gotcooking Um I mean I, I I think that the biggest thing that I like is goingto be what it can do to help people in a lot of these countries that havetheir own currency supply, and it's not. It's just not manage very well M, so itgreatly impacts a lot of people's lives. They have a really hard time. Theycan't connect to the rest of the world as far as I xlike economically and it'sjust a bunch of hastlings for no reason...

...it's because it's 'cause Um peoplewanted a me to currency. It's like well countries, issue currencie, so we'regoing TA issue. OCCURRENCETO yourself, like currency, is not a national thing.It's it's! It. Currency is best out there when it has maximum liquidity.When the most amount of people can earn it, the most amount of people can spendit. They can spend it anywhere. No, no one's interest is served in currencywhen you have to convern it to another m type of currency and the only reasonthey do, that is that they can all enact their own monetary policy, whichcountries will never agree on. So I think I think getting this out thereand getting is into people's hands and used purely like not like a selfsurving standpoint. It's purely fun like I think it is going tolegitimately solve a lot of problems for a lot of people in the world. Um isreally exciting for me actually for a lot of our team Um. We we all sharekind of the same goal on that, which is what we're working for. Where are people in find out? More andculdn't touch that yeah h? Well, the easiest one isNanadatorg: that's our websites and we're doing a little bit of a refresson that in the next month, but it's there and then our twitter is at Nano.That's where Wi put out all updates and that's where we'll put out information,what we're developing and Li great handle er done. Yeah exactly I mean ittook us a little bit to do that. We had nano currency before it Um, I think,about. After a month of discussion, we got Thato, so that was fun ragimationson that one, not the hell Enou to hold the handle. The House right well, atually, come n on the show.I really enjoyed that I'd like the Lik kind of the different shaingarchitecture of how you solved the problem. I W I ways enjoyed seeing howpeople trinsolf his problem differently in seeing what works. Yeah, absolutelyEAI, think for talking O to UARS is e phone.

In-Stream Audio Search

NEW

Search across all episodes within this podcast

Episodes (109)