Hashing It Out
Hashing It Out

Episode 14 · 3 years ago

Hashing It Out #14: Thaer Khawaja - Masari

ABOUT THIS EPISODE

On this compelling broadcast, we interview Thaer Khawaja, creator of Masari protocol. Masari is an early-stage cryptocurrency which derives its ideas from Monero to provide transaction privacy. Masari has the additional goal of scalability and is developing its own method of partitioning a blockchain called the block tree, which hopes to enable dynamic scaling on the chain. We go over the idea of block tree, some of the challenges it hopes to address, the challenges to be faced on the Masari roadmap, and the motivations behind developing a new coin.

https://getmasari.org/

https://github.com/masari-project

https://twitter.com/masaricurrency

...now entering CN cast et work, wolcome to hashing it out POTGASP forretock to the ATTEC inteventors, behind blocked in intrastructure anddecentralized networks. We dive into the weeds toget at Wy and how peoplebuild this technology, the problems they face along the way I'me Listeng tod learn from the best in the business. You can join their ranks episode. Fourteen patching it out today,you're joined from with fair Quasa from a Massari coin, a fork of the Minerocoin. As always calling US Herve with me say: what's up calling what's upcalling fair you want to do the standard introduction, tell usKinda how you got into the space and what you're working on now, Oh yeah, so my name's there I got intothis space last year, I've been in Cripto, or at least likewatching it for sincetwenty, twelve or so I on thesidelines and uh this last Bullrun, just before I kindof wes just sort of playing around with Crypto, again and Manero kind of commainterest from minor gate. There was just this miningtool and it was like. Oh, I was checking up to see wha people are doingnow rei to few years ago and kind of just went from there and a Salmonero.And what really fascinated me was the he massed transactions and I was likewell. How are they doing that? You know how do you sort of make sure thatthere's no double spans and that kind o stuff and sort of just kept going, and I foundthat specific technology really interesting and that sort of ended up what brought meinto Missouri, which is this coin, that I started and now we're here so sort ofthat's kind of the short form of how the scurrency started. I don't knowif you 're looking for anything specific ow about, I guess somethingelse: Real Quick: How about Whit' your background before getting intocypt? Whydid you have the skills to then start working in this type of stuff um? My background is at least careerwiseis in the supersystems. So, just especially Um data engineering is kind of like Mmycurrant's, oftware title, I'm just working with large scale, data systemsand they're, not like huge, not facebook, level like still stsubpetabiten, so like half a pet abat or so, but that's kind of my background,which is just a normal to an extent softwarebackground, and I don't Khave too much on the tritographic side, intas ofexperience. But that was just something that I found interesting and it was abit of a learning. Curb was like: Okay fell, I'mtrying to read these white papers and there's all the stuff. That's comingout out of the paper that I didn't haveexperience w beforehand and I hads learn it, but I don't have any sort of direct tocrypto currency skillepbut. I do have experience with scale and this kind of sort of we marfed theroadmap for Massari, where I see some things in the Cryptino portocol and itcan be scaled in a certain way that is very different from what's up there atthe moment.

Actually, let's just top right intothat. What Um? What other things you noticed in the Cripto Cryptiono protocol thatyou think you can improve upon, and how does your experience with distributedsystem to tie into that? How did you w? What did you pull from to to make theseimprovements? You know design thiss yeah, so in the Road Map, if anybe,Kindo, loo up th, massartes or of website or anywherethey found formahion on it, they might see a hint of a reference on somethingcalled blocktree. It's some T. it's a name that K I came up with with Um thisportocoll that I'm thinking of Ot that is fairly unique to Cripio and h. Thereason it's unique is you: can partition outputs prettyeasily with Cruptino portocal, then, if you were trying to do this on etheriumor bi point so m to use big coin? In a theory as n example, U Biccon uses thos unspent, prosection,outputs, t kind of make sure that there's no double spans and that kindof stuff, but therium does balances and in theCryptino sort of realm. Whenever I make an output whenever I sort of make atransaction, I m. let's say, let's say the Colin is the recipient of an outputthat I'm about to spend to you. You are going to give me an address andI'm going to create a one time. Public key, that's associated to your to your address that you can sort ofderive the Spenki from and when that transactuollyconfirms, you now have sort of a random key thata got attributed to her address and those keys could be partitioned. Sort of you could just think like Maudand like soo say you have sort of two have two chains: If it's just matothere's going to be a bunch of transactions that can sort of color inone chain and a bunch of transactions, they can call her in the other and Um when you sort of want to think on how to scale a system thatallows yoach to partition transactions pretty easily. You can now think about hey. If I wanttwo crains and parallel, you can specially just say that hey this firstchain can only deal with this partition of transactions, so iflike it just use colors or like fruits or something like that, you can onlydeal with like you know, apple looking transactions and the other chain canonly deal with orange looking transaction, so they there's sort of.You can confirm that when a block is mind on wonty's chains that they'vemind the transactions that are a lot that're allowed to mind and that sortof can be verified through consensus and the outputs of those h blocks Um. Iso with the block tree thing that the one thing that's specific to it is it'ssincorness, portocal proposal. So every time thisblock ins mind it needs to reference other blocks in the tree. So we cansort of, I think, allow some Lewei like it doesn't have to be immediately theblock before so there I little bit of asinc sort of leeway, wild blocks, fergetting mined and parallel, but let's say Um, amaseur and blockheight for oneof my chains and the other chain. It should be Onpar, but it's the one block behind. Ican still reference that block in...

...when I'm making this new block andwhatever transactions that are made in my chain will get reference by the nextblock, assuming it used the assuming a reference, the other box, I'm I don't have what so I'm kind of alittle lost on this particular this. This particular fection Slili slow down,really talk about blocktre for a second, like really like start from a veryfundamental principal concept of it. You say you want to Shar the the thebloccing and so that you basically Moden the Public Ke. I believe you saidso that you cald only mind certain I'm not really sure how those twoconcepts related at the moment, but you can only mind certain transactions oncertain chards IAR. He chains yeah, huc, you'R,basically, Sid Change, right, yeah, yeah or well they're, still the mainchanthey're stillll the main chain, but so t's still the mainchain, but it'sdifferent minor, partitions, yeah, okay, okay, the go structure is the tree andespecially the system can work in a forked way where I can asonee to understand what e other cainsare doing. So this is where the synchranized nature is Um. I know wetthe theorum they're trying to come up with ways where they can sort of justhave those chains running and then Sdusoe sortof ynchronization later on.But with this idea it's t's fairly Um thregh to streeht forward entrance oflike I'm still basically a chain. You can reduce the block tree into a chain, but you can sort of structure in a waywhere you can allow multiple blocksbe mind ad at the same time, um. So kindo going off of th the modern thingagain, where Um. If, if a block minds about transactionsthey they can sort of, be sure that the other chains aren't minding the sametransactions that they're minding. So that way, we're not going to have somesort of real problem where two chains mind thesame transactions so that it means we'rewe're not having consensus W we'vegot copies of the same transaction as being mind and n entered into thedatabase or the Blotcin, which everyone calledit essetially. It's a database umso by partitioning sort of let the network know which transactionsare okay to be mind on which chains and Um when they're referescing each otherevery time a block its mind sill be part of the sort of the proof of work.If you wan't think that that way, wher you know four loks zero to Endm and mi one. I'vegot a reference for their blockheight answer, whther what their header is,and this is what I've mind and h sort of that can keep going as a tree.I have a few questions Um in terms of overall structure here and like H, h, wdynamic it is you say, MoD N is that in a dynatic number it would be like alike. It is so you can change the the amount of chains in this treedynamically. As the chain moves yeah, so tees, Um Massari ormanero is an example um their lock um size. So you know becones all this BEP sort of hassle last year on t one megabatelimit with Monero and basically any CRYPTONA coin. The blocksize is dynamicbase on the the median of the size of the last sor of C blocks. So, givensort of whatever was mind on the...

...network in the last, let's say sixty blocks. It willdetermine how big the block can be before before sort of adding punishment to theminor for making a block that big so ou as ye. Sorry, you as a minor, can put inas many transactions as you want in a block, but once you hit the current sort of determine limit, you startlosing t e revenue from the reward that youhave so, but the bigger the transactions getovertime et, say t y Y, you have all the blocks are full for last. Whatevernumber of blocks the next block well just be a little bit bigger and I cankeep going that same model could be put into this sort of Locktri idea. where, let'ssay were full and we are constantly having very largeblocks at some point, you can decide as a network hey, thelast k blocks were really fatthy'rthey're really full andwe hit some sort of limit on how big we can make these locks. Let now split by two and sort of fork the chain intothe tree. So at that point, basically, everybody would be able to determine that this next after this block needs to fork into twoblocks or intoto two chains where there aretwo different blocks being mined and that would be determined by Sensotransaction course. I lock size and if the networksees that it's not getting enough transactions, let's say you K. W gothismassity of flux of transactions, all of a sudden, a it forked into a treeand for the next twenty four hours. Let's say it was really busy and thenits l things down and the last C blocks are have not that many transactions.The now wor can determini that hey right now we're a triof two chains, and this is toomuch too much scale like. We don't need this and I can sort of fork back into achain, so he can sort of have a it can just kind of either dibide bytwo or times by two. In in terms of how manychains you can have as part of the tree an you can bring that into theportapall wheres. Ok, just dynamically scale as much as you need and thiswillallow Um. You know given, however, how many transactions to Gav Mine, Por,block M and blocks times than e number of TBSpurb. The next question that seems to bebe wh would seem to be a difficultsituation as how he determinitically differentiate. What block can mind what,like you said, like you knowsay a certain chain, mine's, a certain typeof transaction? How do you do that automatically and then how you then m?The next question would be: How do minors keep track of what forks are supposed to be mine andthe transaction's mind on them, which kind of tie together right so um? I wastrying to use tha senalogy earlier. I think it's a Shity, anallergy Bun. It'sit's some way, making it more real instead of justnumbers, but when you partition these chains, so thek Ou, Chooseo Numberi,like I say all these transaction outputs they're all one time, publickeys, they're, all just a number and let's say that et'ssay just a chain oftwo distree at the moment: inferor just...

...two chains. That means the the transaction that Ijust sent Callin. Let's say it falls in the Maud Mato that it falls in the zero chain.So it's in H it's in the absolute fr first chain, and that means that hatblaw that that chain can only mind um sort of that transaction when it's being spent.Oh okay, you're bifurcating the state and then those change only look at thatparticular Um, section of their state to look to Seea,who has access to that, spend Um that that onchane state, like they'll,only care about things that reference, those transaction ideas when they're being spent when they'reso they're monitoring the the entire transaction pool for those things yeah.So the problem that wed, I think, Manfesthere and th e. There are ways sort of consider this, but I think it's just a consideration. Let's say Imake a transaction that, as inputs has outputs that fall in both m both chains.That means I have a transaction with inputs are coming in from differentchains. H, we can sort of as part of the POR call,either e restricted so that you can only use outputs from given them, whatever the networksFonaly ad, from a certain trans from a certain partition or had some sort ofway of determining hay. Okay, I've got a dirty transaction here. Um T treministically figure out a way touniformly distributot across between the two chains, but we can't have bothchains minding the same transaction, because if you do that the newworkwould secallypanic like hey we've just mined the same thing twice. We can havethat and in terms of indexing, when thosetransaction new transactions get made they're going to have a specific indexin the database M, I ll it'll be basically ther desi, an inputproblem and ther w. You would need to partition the transactions properly,but, in theory, t thats pretty much how you wouldpartition one chain can deal with only inputsfrom certain certain range of outputs andit's output can be whatever it needs to be so like if you're, making an output to cory here and that output happened tobe in the other chain. It's fine because m the other chain will will seethat new transaction being confirmed the next time he sees the block being being emitted and h whe the next time it references theblock but say there is a block that got mind and irreferenced the other Chaine,where your transaction laid Um. It can now use that output if corywants suspendit again. This is really hard without anypictures or yeah. So, like I have, I was actually talking with some of theguys on the CORT team. Yesterdayda like I was like you W. I just going to makeat least fo'r now small diagram just sort of lease visualize it a bit, butit does' eat a white paper. Sov Be laid out and guy's like you or anybody elsewould look at it in pure review it but um. My question is, I guess, lestart withthe distributing o Hash power does. Does that have a concern? You spit youspilt the chain into one direction or another. How do you know thatHousepoweris being distributed evenly or in a reasonable way yeah? So this iswhere the referencing COMEA mate comes...

...in. If these chains can J st sort of bemind without considering the other chain overtime, the difficulty of thoseshains will drop, because we we're getting you kow say after half of the half of the minors on the chain, it mean it's goingto be too difficult and it'll sort of be just less, and that is an attackpecture and that would cause problems. But when you reference, when thesechains are aware of each other, there's a commulative difficulty,that's there that, if especially sums up to what the entire networkdifficultly is. So if somebody's trying to attack one of these chains, the'retrying to to once percent attack or h wh, whatever kind of attack, they mightbe doing m they're going to have to deal with theentire network, rejecting what they're doing, because there are a bunch of blocks that have reference Tcernanblockd at the Trin attack and then will have a commuat of difficulty that theyneed to they need to exceed so they can risehow.Does that affect Hash power like the original Questionis like you've got allthese you're splitting the chain, Ind Youre mining, separate forks of theJaain, and that keeps going and going and going slike. Let's you say you havea extremely high volume and so say for testing purposes. You set theparameters on block's, Seyes really low. Like a thousand kilter, you know soisit not not ha like a like ten Kiot, something ridicular. I n't Kno sureanatest, that that stress test the whole like splitting consep right, rig,HOI l. Now you have five minors and on your test network- and you have wat-you say a hundred different little forks goingon in this block tree right sure how do y? How is all that where's thatmining power really distributed? I don't really it'so like the attackpower. It's not even a matter of like an attack fuctor, it's a matter of howmany people are actually able to Um. Do the mining work necessary to producefuture blocks right, so this referencing scheme kind of you can have as part of the portocalrequirements that a block can't be mined until the other blocks in the chain are closeenough in height to Ma current Chan. So this is like Cadanna's model, then Umseems SIML, Oin Eayeah, it's pretty similar. It's not the same mind you.They used a different approach and their approaches to use Graf theory Um.So there's a specific type of graph. I forget the name of the Grafh, butessentially you can no node can be more than in degrees away from and hops awayfrom. Another node. Sorry in the graph now picture that each node in the graphis a specific chain that enables you to make sure that theblockhetters on F, as long as you include the nearest neighborblockhetters, that you are at least n hops, nd and blocks away fromconfirming any transaction Um. It's a similar concept to what you're doing and it forces minors to take theresponsibility of distributing their own gash power across the network,because if they don't, the network, Agat dies right, but y ty, theirmethodology is basically doesn't include a rejection mechanism, meaningthat, if, if it, if forces the whole network to participate in a positiveway, you actually sound, like you say, okay well, rather than go on with agrafh theory thing we're going to go with just a standard tree scenario,which is essentially it sounds like a very simple Mur, bady yeah yeahisabound street. It's I's a bon finiary tree every time, or is it Hatbasicaly?That's all it is, but e him ot in Ioo...

...to it's Mota. It's not like a it's not properly balance street B'cause. Likeyou know, l aevery note is going to have, you know, t have to break off according,but this is a very long sort of balanced tree. So, like basically t athe tails off of each fork, s should be within Likele Etuno, intres o height.So it's not SASAKA, but you reject people who are specifically doing badthings. I mean, I guess h. How would you even know? I think it's thequestion. I would have you AP. So let's say I as a minor. I really just like chainzero. That's all I get I mine on and unless I change Zeros at height, tentjust for suplicity's sake and chain, one is at height at eight. So when Imind the tenth clock, et' say the difference. The HYC difference canonlybe to just Arturaly, for you now, okay M and when Iam out mine, the TeTenth Block. I need to reference Ecryptographically, the eighth block inthe other Chai walking teothe chain so as part of the sort of the black y othe block ener osecloted blockheater. He. This was this as the last creckpoint, essentially in the ill Chan and now h, Lote tenth oclock is mind, butthis really happy eager sort of minor wants still mine on chain zero. Theywant mind chain Elevon, but they can only reference bloc ate on the otherchain tow. Let's say they do that, but he would be invald. Network woelerejected was a Kay. You referenced a block that is more than two away or like with a height greater thantwo than EUR crum chain. That's an invalid block, so you can sort of oforce it that way. Ah, and you can zip all the way back upto the ARUGIAL rouchine if the networ traffic goes down, so you C so, let'sust say the root to know. Let's stop calling it Nowe zero and just call itthe root. Note blockheight zero Um and then you could go blackeite, one whichyou could have like. Let's say three or I don't know if you necessarily Sulititos on linery Ti, is like s threthere's two nodes there. So you know and thenblockheighe Bareig one would be. You know two notes awayand then I' Syng, O Blocki shaned difference Hie. I guess you could say.Like actual, I don't know what to call that tree. Don't I don't now bit eitherw call it three height depth, we'll call it deferite one te death, tats,aspair, T, yethe death. One chains would be a bork of the dept zero chain,and that would be the next layer down and then each one of those can havetheir own sort of difficulty, adjusted that theyre less mining powermade a less than half. Actually it might Beveno be necessary, don't know what the exact mathon thatwould be, but they would have to have their difficulty lowered dynamically.It would just for the difference between the difficulity at at depth,zero, which is the rout, node routgaing and then they're minding they're,minding power downe. It too now eer one of those can have their own house poweror transaction volume, increase or decrease in an uneven way, meaning Dadaone can split one of the two nodes on death. One can split into two more. Icall them notes. I gotto stop doing that. It's really difficult 'cause theconversation there's nodes in like the networking sense and then there's nodesin like the topography of Datastructure, sens, yeah Um. So there's there's.Actually you could split either one of those two sub chains at depth, zero and they coul go into a depth toosubchane Um, which then invalidates any minding. That's occurred on depth: Zerosubchaine Um because you have to be well actually it wouldn't at that point,because if you set your depth requirement to say two, then that wouldbe a problem. I see where you're going...

...with this. I think Um. I think, there'sa couple issues that that I have with this. How do you ensure that one sideof the tree doesn't become overpowered right so um in terms of overpowering? You kind of already brushed on it, because we've got these two independentor Ninteni the interdependent chains. They they do depend on each other, buttheyre they can ant o F on their own to an extent. The difficulty like you saidwill essentially have to have when this fork happens, because we only haveyoosnough. We only have this amount of compute on the network, and there needsto be split between these. Two chains say that the minors are vering moretowards the second chain. That means overtime. The CH the first chain is going to takelonger and longer to mind its blocks and the difficulty will drop. Thatmeans from an incentive perspective, minors now one in mind more on thatchain, because it's cheaper to mind and itll kind of because of the difficultythat's in place, it'll throw auto balance where minors have to uniformlymine across all the chains in the tree, because if they leave one behind too much,they're gonna basically give an advantage to a minor that sees thatdifficulty drop and they can mind cheaper coints, essentially so thatthat sort of maintains the balance and the Hash rate, basically being evenbetween them. Because A it's going to be cheaper for somebody else to mindthe block, if somebody's as aggregate we're neglecting a chainand the the height requirements, t sort ofthe the nodeheight requirements to references chains will forcepeoplspeople to mind n other other chains anyway. So if one chain isbasically now unminable because some s, some other chain is too farbehind and people are getting to jump to that hat chain, Um and- and this issort of a loud or doable, because this is you K W it's a semi acing systemlike I asa, not still know about all the chancsthat occur, so this is essecially like a step towardsbeing more asic, where maybe I don't need to know about what's going on inthe other chains. But I think what I'm trying to propose here isssecially a stepping stone to like Hay, let's prove out a block treaty systemand then from there at and that it's a proof, work oplauxchry system and tfrom there. Can we sort of make something more acinc where, if you wantto scale this even more where it gets so huge that one knowed can't sort ofreasonably maintain all the all the chains then sort of take that step evenfurther. But I think that's Te. That's sort of a much further h milestone than the current thatproposal. Yeah, I see I see if I wer to try o view whatyou're trying to do. It's Yo, you're bifogating, the Um Crio cryptonight, is is in uxomoe theblockes, a utix so model. But if I were to say this state you're biforcatingthe state based on activity Um and as that tree grows, you continuouslybifergate based on activity of users, um of that substate that they've iewed solike the people who were being the most active end up being the ones that endup bifurcating the the chains and to more and more and more chains and the people who are, I guess, lessactive in more houtle mentality ton to stay on the higher tree depth chains.If you will 'cause. If you look at Li e,...

...what where the actual state lives it'sgoing to be the bottom of the entire tree teve, regardless of death and S,and so nd as d as the activity of those people on those specific change changes,the death changes yeah. So y. You touched on that point which I think might give a good insighton how we can share transactions between chains. Bas luck y saidbasically, the bottom tha tha, the lowest height chain, is essentially theminimal t e actives minimal height that people can pull transactions frombecause for that chain at a certain height,nobody can sort of use chains. Sorry Noo can use outputs higher than that height, becausethey're still sort of UM consensus to sort of settle and Um yeah. I don't think I'm making that as asWeeteras, I thought I would yeah. So let me let me just let me just Um. Wecould do this for I'm not sure L T, let me oright there and say: What's reallyKinda like Torkin, my brain at the moment, wh whereis stata store ad t theRootn, the the top levels, the most the most depth. Zero trees is what's holding theentire state IZACRAA. No, so the the whole tree is the state but the shortest hight chain. Essentially theycut off for where we can pull transactions from Wol transaction from what does thatmean? So the east chains are going to be producing outputs and one chain is going to be producingourputs for a specific partition, and if I were to use H, if I were touse those outputs, I'm basically restricted by the height t at thatchain is at, but they should they're only going to betwo nodes. Apartlet's say: Rif, we're Stil, losing the same number, callethem ch chained up. I think it. Probably the easiest surb because, likenoes, is confusing Asotwo two depths apart from each other and Um, just it's basically just below that cut off is like when theentire network n entire block chain, if it were an Tus, two, a Walkchain, the entire Blocshin at that point isaccessible to pull transactions from. So let's say I is a user Wan Tosend,you guys some sorry and I have outputs in both chains. Ican make ICAMIC transactions that are GOINGTO, be sort of verifiable. It is it's a G, rgular Cha,I guess 'm, I'm saying the same say same thing, so you cul se a crenaction.To so like. Let's say I wanted to: Let's say: I'm I'm eight down on onechain. I Wan t sen, ate transaction on that particular this is called the leafleaf. Death Eight and the other one is on a whole nother side of the side ofthe tree and its leapneet depth ten Um. Now I want to set a transaction all theway over to the other side of the tree. It's Mitraly. On the other side, Iwould have to submit that transaction to the DEP zero chain that would makeit visible to both side. Oh No, no NOSOS, dept, see where, where you're getting at thedepth zero, where the thesgys Fortd, that's that it's not dependent on howmany transactions were sort of spent osor on how many blocks were mind fromthat death. So all those blocks are still accessible at any of the chains. It's just thattha. That just happened to be a fork that happened that the network still isconsistent at the end like it's all the...

...same database still Sall the sameautime. So then that leads me to the other question. I've been kind of likehaving ah part of the purpose of sharting, isn't just balanced transaction load. It's also tobalanced memory management, yeah, meaning that h. You know, I don't wantto store the entire state of a block chain. That's receiving a thousandtransactions, a second M on my little IOT device. I want the ability to hopin and do things at any point and still be able to kind of like have alightweight sinking process and a light weight. Um Uh, you know ability to send inreceiving confirmed transactions without having massive memory overhead. What does that mean for your systemright so miss? I think, like I was saying its part of the next steps afterhaving proved out this initial Um Datastructure, where I, as a minor or an observer,don't necessarily need the entire network to participate in it and that might jump into a weird like I haven'tthought this partout 'Caus, I soronot in a for small stone, but it'sbasically you're going to need, least one UM at least one chain: that's keepingtrack of Um the state of everything in the otherchains. Teh You w. These are all the checkpoints that are occurringthroughout time relative to all these chains and those change can sort of operateinindependently for those chains to operaeindependently and you're part of that. Let's say your outputs are part withthat chain. If you produce outputs that need tolive on another Um on another chain, there needs to be a form of transitioning state to theother chain. So it becomes h. It becomes a different challenge. Whenyou go fully asing where there those chains aren't able to access outputs from another El. This is whery.I think the advantage of just being a coin and not being something likeatherium kindo comes in, and this is what goes back to what I was thinkingbefore. Why not submit the transaction to the routchain in a proof that youhave funds, meaning that you've got the ability to basically build what areessentially mircal proofs with a system similar similar to this? If you couldbuy forcate in a more in a different way, or even just a proof of funds submitted to theRoutaine, since I'm on, say depth, dept ten on all the way other side of thetree of where my funds are currently being used on on Theobser, I could submit too adeptzero and the Nabo with a proof of funds, and it would actually allow the depthten to confirm that transaction in Somea. That's a good idea. So I'mthinking again I haven't given this pattomuchthought, but um I if it were transitian state and the subchains are all homogeneous. Theremight be check ones that have to be made across all the chains. So you knowraw split great, but at some point as part of the proof of work, everybody ispart of the pocal has to come back together at a certain heights, and that would be the sinkpoint from onechain to the other. Where now your funds are accessible and his repeatwhere the split might happen again. Um But um Ireit doesn't even need to have like acheckpointing system, because you can can you can literally as long as you're,submitting the blockheaders for all the way up the chain, and then the Ruchaineis kindof like a beacon, but I feel, like you, could just every time a blockhis produced. You also produce a Um...

Hash in that roote blockchain and thenevery time you want to submit a transaction to somebody on the otherside of the chain. You could submit a proof which agrees with that Hash Yea,which is very difficult, cryptic, Yoto, fake and it's a high degree ofconfidence o feel like you can actually prove that this transaction's valid,and you only have to do that all the way up to the point where the otheryou're trying to go. So, let's just say we cut this tree in half, okay, Hend. Iwant to go only up to the fourth depth from where I am I'm at eight depths,and I'm want to go up for and over over three. I only have to submit to theparent of both of those both of those over three over to y a I only have tosubmit to the the parents of that particular one, and I can actually makea proof which goes only up to the point where I need it so m to give 'cause EU did state tha. This is thefirst talk on the N Coin M th there's a the one thing that makes us easy isalso the thing that would make w talking about it a little bit hard andthats white as a Moseone. It's not it's not there.These one time, outputs that get made when somebody wants tospend this transaction. There is something called key image. So it'ssentially the proof that somebody owns that transaction and is spending it this cheme is there can only be one inthe system like if, basically, you can prove thattransaction is spent. I you can only spend a transaction ifyou provide a keyg image and if the KYMIG Olrexist in the system, thatmeans this airport has already been spent m and that's because of the Rucy tporte call and the Rcryptinal portocal. Where m this transaction is hidden like it's.There there's a ring of outputs SI tefowarver yeah, Ayal private S- I Idon't know where this is coming from, but I atleast have the proof thatsomebody signed this from the kigamage, and Ican confirm that they didn't do this before, because that chemisil ill haveto appear again and that's my way of verifying thatthis has been spence or not anso. This this fully ACINC model would have toaccount for the current system, where that's kind of th. What's wats there,we you know, have to provide these transactions there's going to be camagsthatproves Um that I have signed these outputs and figure out a good way to essecially. Have it be part of the sinking system?I have a question about kind of your your initial initial design decisionsand and a what leads to way you've been talking to just just now is is why didyou choose mnarrow to fork from? Did it afford you some luxuries interms of sailing out how to do Sharting d things like that? Or was it? You wereinitially interested in the privacy aspects of the Narro and then you justgot set with the foundation that criptonote is and how manairor works soUm Monero when I first came across it, itwas just by chance Um, but the more I looked into it, the moreits features really stuck out for me. So this is where my background and rubesystems came in. Where m you know, I kindo at one point: I'msitting down Tran't understand how these proofs work, how how does the youknow? How do you use M hommorphic encription to you know, confirm that there's nodouble spans and all this kind of stuff and the this the one time public key outputsreally stuck out for me, because it's very similar way how distibate systemswork where I need to do things hat scale. Thesethings don't necessarily need to know by each other, becm sort of imparallelcompute, a bunch of things across...

...different machines and here' the wholescaling paradigme. That at least is currently u e spark or Adca Mamoduse,and that functional programming parodime is very prominent in in inthat sort of sector, and this one time public, key sort of part of the feature really suckout for me as a thing that you can partition like. I don't need to have asingle chain that is to prosal this. I can have many chainsthat can prosssoli these and I can partition the data in a way that isvalid, that the I'm not going to have duplication of transactions because Ican partition it slash chart know. Sharting is the key word that everybodylikes to use in Cripto, but it's the samelay concept through partition, theethit somehow and finding ways of people to have strong guarantees thatthey can move one state to another state or one partition to anotherpartition or sorask o another sho, whatever whatever you want to call ityou're, just yeah, making sure that the people who are validating transactionsar watching the block Cha don't have to watch the entire thing at the same time yeah. So the the Cabia again like I said befores. As for this first pass, it's not fully asink. It's partially. I tinkwhere you know the Damon Soll needs to know about the other chains, but that'ssomething H. I could be work time once that forgets proved out. You know I sot put up the white paper TI o es to be purviewed, and you know these kind ofconversations need to be had quite a bit. You guys are actuallythe first people. I've really talked to there's some people from from my workthat I've kind of discussed this wit, but um there's only one person. That'sactually part of my team that it can actually that has enough technical, no,how within dirency I is a so it's Gonta bet hard it's hard tofind people that one aren't ideologically driven enough to like outright reject what you're doing,because it's not what they're doing and to have the prowess to be able tounderstand what you're saying, Tinkotik and critiqets. I look forward to seeinglook forward, seing the wite paper and seeing if I could find Ou, know falsein petential solutions to those faults that they exist. Where are you going tonvent the white paper other than here? So part of the thing I really want tolearn about is the thought process behind starting your own coin, so m thehuman sin of this? I know that we're in technical bodgas but rate there are.There are a lot of coints and what made you creat your own ratherthan joining another project and presenting your ideas to them, yeah soUm, I I could ave just worked on onerro and like it's possible, this might have been thebetter approach where I got more experience through MNARROW. Firstbefore I and I jumped ship and came up with my own fork, um the an em bypeople who do it before they're ready to do it. That's how word works. You know ifyou're ready to do it, then you're already pass the point where you needto be fair enough. I think for Masari thespecific thing that happened there Um is Um, I'm not going to be able to do thiswith Monero whenerro is fairly well established. You know atleast retively speaking, obviously not to becomecrasis Srov, it's anotherbeast, but man Arois, proty solid. It's got this own research team they've gota very set schedule. They've got some really smart people there that arearguably much more knowledgeable in the field than I am SAS and Um. So I can'tjust come in and be like: Hey guys, you know, let's change everything and that's not going to happen and thatalready sort of in a way happened with...

...difficulty. Algorthm that I first madebecause when the coinfer started Um, I didn't know about this at the time,but obviously there's Nice Hash and all these half power rental services that are outthere and effectively. Anybody that has big coin now has a mining form at theirdisposal. Somebody could really attack thenetwork and ORT F as an adversary exploit what crorling. This is odifficulty, outor them and Isarri really suffered. Basically within days of the firstexchange, it was like a month en it was a sort of you kN W, not a big exchanges a fairly small exchange and somebody came in and started complet completelyexploiting the default Auger than that Monera was using when air was fine, itwas seciast using a simple moving average to compute difficulty block toblock but M for a small coin. Somebody could essentially just come in completely blast the atwork of computefor the first say thethird of the blocks and leaf. So now the difficultywill start creeping up while there's no minors on the network, and so it wasn'ta spensive. Yes, that that was really bad right, because you're doing a coinwhich splits the difficulty, meaning that the problem that Monero has, withtheir moving out average thin impact Manero. But if you're splitting thedifficulty on your on your on your system, like you know the fact that youwere a small coinr and were attacked in this way, actually proof of hey. Weneed to fix this, and how do we fix this out? How can we test that exactly,and so I I came up with something and I feel really bad for this 'cause, likethe I started, making commits and people Um 'cause. This was happeningeverywhere. This wasn'N, just a Missari, were picking up incomplete part of thecoat that I had that which had some sort of bugs in it and kind of just putit in their code and left it behind, and they got sort of exploited on athing that I that was in my code, because they sort of just copied andpasted without looking too much on what's going on Um, when I first hadthe problem, I actually worked off APROTA. I I bo took some code fromsoone called Sumocoin. They had a difficulty out with them for it, buttheir block emission rate was once or befour minutes. Mine was eer twominutes and that augothm actually was not good likeBu, because I had a smaller blockr. My now e was stillgetting attacked andthat's when I sort of made my own difficulty auter them, but I have togive credit to a person Ho was by the name of Zauwi, he's the one that's acsually. He came up with waited harmonic Um. I mean basically especially just ways laterblocks higher than earlier blocks on figure out what the next diffilty is,and I implemented the algorthm that that he had M, and there was this I conSind, you guys, one of the people in our community madeespetially a history of our forts 'cause. We just can't keep working'cause the just more problems get coming. The current one is h. The latest rrenditionof what he has is linerally waihted, Um, H, moving average outof them and H, I'mkind of happy in a way that I feel like a lot of the initial workthat I did did sort of M boom. A lot of the coins that currentlyexist. CRIPTINAL coins a lot of times they woul just die. Ididn't know this before, but they were Justi because of all these attacks.That would happen, especially when a coin that hits an exchange and nowthere's just so many coins and they're all using these alterthms a bunch are still usingthe eoriginal one that I made and br...

...using the th most recent rendition and like O, it's it's Kinda Nice. Justseeing that tha, the Masrity community has made animpact in in you know in some form, on on the on the sector, but that's that's a little T. incenlyrant but, like I said, kind of a sorry knot what it was getting? U With this.Yes, so there was a difficulty out with them and there was a Yu were difiulty out ofthem. That was inremented. I was I isrly part of the rigional emtation forit, but I added some stuff to it and I updated my poor request with myoriginal agem to Monarro. So there was this pool request that was made to anArrow and is still sitting there, because it needs to go through a bunchof otter like heares, a peters, a consensus, critical addition and it's adifficulty aerthm anything that other than currently onarrow has is betterarguably, but it's niting to get added in o its not in any quick manner, because it consistcritical it needs at needs all these checks and H. I can't have done it- is heavier kind of contributionsunder Monero's umbrella because know so. Let's let's talk about then the valueof your going Dyou CA. I don't I don't really care no M. obviously people sortof well H, rent and a washingte numbers all thetime. I wasn't really sure what was going on like 'cause, I'm sill, I'm soemployed. So I'm doing I KAN spending my time between my day job and my night job essentiallywhichis, sorry and this past wild coin sort of tanked a lot in price- and Iwasn't I didn't even know that was happening and there was a lot ofranting and sort of what's going on and Ike y.u w especially there's markets going down in general and hisall this stuff, but I don't really pay attetion too much of the price, butdoesn't the coin price impacts how your network is being used and how? Well youcan test out your ideas? Yes, wit his out of a double edged sord to that, onthe one hand you are considering this a test network, it's still very early,you're working technically atheoreums in the same boat, Um and H, and I meanyou're- you want to have transaction boing. You want to have people usingthis, so you want the coin to have value, but on the other hand, you don'twant to impact that value by that value, to impact your ability tomake experimentation happen on your network Um. So I agree. I think it needs to be in both interanters oprice. If the low price, the low volume effectively is what drove implementation of new difficult, tyogoghms ecause. If itwasn't low, if it was something like Manero, that problem wouldn't have beenreally an urgent problem, it was obviousin ingy problem for tecom cashwhen they forked the same person actualy s ohis. He implemented therDyfi when I designed it difficultly or than that they're using so the person'sfairly renowned in in the Coto space, but sa o blow volume t has its ownproblems that needs to be solved and when it's Higher Christ that volume ithic becomes important andalso for just you know in terms of funding like at some point.I would rather do this full time than split my time between day job ord. Notand like you know, I've been minding this thing since beginning so at acertain price. I can do this independently, soobviously I don't care to o much about the price because I'm still employed, Isoll pay the bills. I Sil can put bread...

...on the table, but if this thing its certain pricesthat effectively allow me to transition my time hundred percent OL Masari, then you know AAll to it and T. I think thatcan sort of Um have its own advantages, so both fundin volume problem so, like you know,abloryis not enn be needed. If I keep having a low volume chain, you know,but this is Imsaly Cormasarri. This is as a as a thing that other points can use.This is esecially trying to put research on onto the space that can beused by other CTIVERCIES. I'm not trying to be selfish in any way. It'sokay, let's justry an try to make this place better. So it's like one one. Onething that kind of interests me about this is this is a fork of Menero Um, soit ha it's basically you'r implementing features you would like to propose tothe to to the world as a good feature: Z cash had zcay snarks, Algorithm um intheir in their protocol and then a theory and went. Oh, that's a greatidea, jink m. How do you feel about people taking the things that youdevelop and integrating them into their other projects? Um, like E, say minerlooks at what you're doing it goes. That's AE great idea, we'll put that onthe roadmap M. is that a good thing for you or a bad thing? I think it's ultimately good thing like'cause, it's a non zero value ad to se like M, so I'm not trying to h. You know, make a thing Masari. Onlythat's not that's, not the community that that cpicency sort of ECRPPO space den uses as an emeold and Um if onevercomes and uses something where we've developed, iethat's grate, I think in Zka snart iscase. It's really more used in an enterprise space for etheorium. So Idon't think I don't know too much about this. What's roing with the thery as apublic mainnet, but on the private private sector, they're using theseprivate chains for enterprise and Zickesnarsis being used essentially ascontract as private contracts and H, there's a new variant, I think called zk starts,which doesn't need Um forget what they called it, butespecially those those keys that were first made that othrown a Wi does itrequire the CEREMONICI, the intial ceremoniyor Yeh exact? So that's that'sreally good. I don't eoan the state of it right now, but that's something thatOnaro might consider using. So it's it's stuff that can happen across. UYou know it's a good value ad. It doesn't need to stick to one point. I don't see the necessity for it, but it doesn't meanthat Zcash team is is redonant in anyway, thyre they're,still providing value. There's a lot of there's a lot of cross promotion acrosscross utility. Other things that goeld involve. I mean the reason at least theway I see it based on this. This conversation here was that Missari wascreative so that you have a agile test bed for doing these. Sypes ofinovisions wen't have to worry about going through the I GSS wholl call itdecentralized bureaucracy of getting things, pass, Anon, consensus levelchanges and with the fundamental ways in which t these networks operatid. Soif you find something, that's useful, of course, you war vis it right justthey just need the perequisites, maybe there's certain things about ringsignatures that need to be implemented in the network. First, before yourblock tree works, or something like that. So that depends on what theimplementation details are, but those who that perequisites will have firstind experience in a open network that...

...shows that these things work and don'thave to learn from all of the mistakes that you're going to end up making theprocess of doing it. That's just the way th. That seems to be the wayprogress in the space works and the people who would like to make a bet on whether ornot an that's going to be a useful scenario. You can buy the coin andcontribute to what you're doing an hopes that you know that gives themincentive to either work on it or try and push it out or do ose things insideF it so at's at least that's the way. I kind o see like the purpose of yournetwork. There's UM. I think it's a phrase I kind of agreewhere I would like to aspire to this as much as I can 'cause, obviously not anthe scale yet, but for Missari to be it. ' Sorry, Tomoerofor it to be the same as like coin to becoin. Likecoin definitely made a lot of technical advancements likethereare, more than just sort of poorequests that make the code betterper se. I know like when istexactly the e direct ascentment of BOIN ut. It is the end of the day. It's a work, a bigcoin, and it has made of much contributionsthat big point at some point Tokin, and that provides a lot of value for bothBhe coin and like Hoin and, like you said, O Yo like it. We can't do things Willy Nilly on theBig Coin Network. ECAUSE. That's a lot of Um there's a lot of acits on the line. If something breaksyou know, I think the the seguit Porticol theigue two X, I think when it wasbeing pushed when I know the consensus,wasn't wasn't sufficient at the end, but the same code that ran actually wasbroken. I can't remember if it was signetuax, but there there wasssentially some fork proposed for before a big coin. Late last year and THECO turned out tobe defaucted like it would, it would havestalled the network and so like that would be an absolutedisaster if it actually happened, Um and Um. I think I can't remeber what the BUGwas. I think it was like off by one H BU as ot Weigt, as is s like you, O. Imagine being the guy that wrote thatcode, you know it's. This is a very it's a tough system and I think thest,two years of points are you knowarguably at least need to bepart of the eqe system. Aright. Well, I think that's a great ret to rap this up.NEXK we're coming on the show M. I look forard to kind of seeing the progressyou make with a Massari in the wite aper of of theblock tree. I like looking at new ways of making this stuff scale and seeinghow it applies or wha how it works and what umatations are so um for thelisteners out there. How can they get a hold of you gettin conduct with you ormore so we have a discord that they they canhop on, I'm on there quite often, and it's a very large Communi, TAT thithes. If we haven't hit two thousand people,Ye there's at least wo hasn't registered people there and you canfind the link on getting sorry, not org and there's a bunch of Otherli there aswell to Git to our twitter and it's a very simple website. But at least theimportant stuff is there and if he to email me h, just contact mailat getting Sarr notorg and he a CA, get me that way: Griat Al Right, UmAudience! If you would like more of...

Hashman out Cuik the light putton FIC,the suscribed button, tell your friends to your mom or your dog. Tell everybodythey'll tall, you goldfish, thit'll, forget yeah, TA, Crimio, Shan Well H, see Ome stee,ISBA, fi.

In-Stream Audio Search

NEW

Search across all episodes within this podcast

Episodes (108)