Hashing It Out
Hashing It Out

Episode 59 · 3 years ago

Hashing It Out #59 - Truebit - Jason Teutsch

ABOUT THIS EPISODE

We're happy to welcome back Truebit Protocol to the podcast! This time we're speaking with Jason Teutsch, mathematican, computer scientist, and founder of the protocol. Truebit is an incentivization scheme for the compute and validation of off-chain code execution with on-chain commitment and validation. We talk about the protocol, but also about their two-token model for producing value in the network and encouraging participation. Truebit is a very interesting protocol, listen and then check it out!

Links:

Truebit protocol whitepaper:

http://people.cs.uchicago.edu/~teutsch/papers/truebit.pdf

Token whitepaper:

http://people.cs.uchicago.edu/~teutsch/papers/stableCPU.pdf

10-minute token lightning talk @ TEGG 2019:

https://www.youtube.com/watch?v=tFcSqKXfCuE&t=28198

Truebit-OS software demo:

https://github.com/TrueBitFoundation/truebit-os

Donate to HIO!

Entering work. Welcome to hashing it out, a podcast where we talked to the tech innovators behind blocked in infrastructure and decentralized networks. We dive into the weeds to get at why and how people build this technology the problems they face along the way. Come listen and learn from the best in the business so you can join their ranks. Welcome back to hash it out as always on your host, D Cory Petty, with my cohost, calling Crouche. Say what's up everybody, Mr Colin, what's up everybody, Mr Colin? Today today, that's the first time somebody responded. That's fantastic. Today's episode we're going to talk about true bit, all about their new hot off the press coin structure, as well as true bit as a company itself and what is trying to do. We have Jason Touch with us, the founder, CEO. Yeah, foundered CEO of true bit. Welcome to the show. Happy to talk about you, talk with you. For those to don't know who you are, would you mind giving a coodtroduction as to how you got into the space and what true bit is trying to accomplish? I got into the space so I am a mathematician by by training. So I started into blockchain when I was working at the National University of Singapore and did a paper. I guess first paper we did was on the verifier's dilemma, the paper that through the problem that true would later solve, and that was I don't know, early two thousand and fifteen worked on that. So before the launch of the theorium, and I believe it's maybe the first academic publication about the network, since it came out before the launch, to basically explain why the limit, so I mean white needs in other words. I mean the short answer is, if you take with a gas limit, then you break the consensus of the network. So so sort of a kind of a simple principle, but something that we were able to sort of analyze formally and then spent the next years of my life trying to figure out. Well, given that we're stuck with this verifier's dilemma, you know, how do we compute stuff with you know, do large computations with the same security that you would expect from from a smart contract? So that's that's really what the trubut project is about. It's trubut is a computation oracle where you can, anybody can submit a task, anybody else can get a reward for solving it. So so it's a it's a from from the point of view. I mean it's true it is a purely functional application. In other words, you're if you're the task giver in this case, you would expect to be another smart contract. He's going to say, here's a function F and here's a function x, send that to the trubut smart contract and it calls back with an output F of x. So the little bit of you know, I guess we introduced a new kind of architecture or one of the first projects to Experim web assembly, which, you know, fortunately has become more mainstream over the last couple years. And then, on top of that some you know, one of the first, you know, experiments in crypto economics, which was the incenti layer...

...of true bit. So I don't know if that happen. True, it works a little bit too. But yeah, because I actually have a buddy who speaks like volumes of praise about your project, or E. Steel from transmute industry, and he's he's he's really like loves what you guys are doing and he's very much like you guys. Got To have mom on last year. We had Harley on last year and Harley gives kind of like the really good overview of how things work, but I want to hear it from your perspective. So my understanding is just kind of a bounty system going on, with with a finding, you know, Byzantine validators, I guess you could call them, for codes. Maybe you could go through the kind of like the structure of how true bit can achieve a level of certainty about the output produced from code that's computed by, you know, actors. You don't know. Sure I would first of all, or still great developer contributed very substantially to our project as well, just you know, as an open source contributor. You know, he and transmute were built the the pipeline which takes in you know, cc plus Plus Rust Code and allows us to turn that into a true ban task. So that was, you know, he was in made a very, very good contribution there. So yeah, we're very grateful to order. But in terms of how the system works, yeah, there's nothing really Byzantine about true bit. I mean we're the assumption of basically rational actors in the system and there are no distinguished notes. Or there's, though, sort of hierarchy, and we'll see perhaps later this talk, the way that we carry that all the way through to the token model in you know, try to minimize governance until well, it maybe it isn't even there, sort of. I mean obviously you know Bitcoin has governance as well too, but it's not, you know, really at the protocol level. So so anyway, so so. So you got rational actors and then the basically the assumption we make on system is that the theorium. Let's take this from the perspective of the theium. Obviously we could run on other platforms that have smart contract support, but smart contracts compute correctly, they just don't compute very much. Okay, so, so. So at the core of truer protocol has basically two layers to it. At the core is what we call it dispute resolution, in other words of a solver comes in and says, I mean this computation, here's a solution. Verifier says I don't agree with the solution. They can sort effectively take this verifier effectively take to the solver to court, and the judge in that court are the etherium miners. So the smart contract essentially assumption again the judge always computes correctly but can't actually run this large computation itself. So what does it do? It forces these two parties to play what we call a verification game, which basically amounts to running a very nary search to find the first step of the computation where they disagree. And now you know, sort of the magic of the architectures, that that step is small enough that we can actually run that one step on chain and then you can see, okay, we got what this solver said, so no problem. Otherwise we've detected in error and then you know it's going to be bogus. But that of course on top of that. or I could pause there and say are there any questions? Yeah, so well. So from...

...what I understand, it's pretty much just random checking of like verifying. Is that correct? Is there's some sort not every piece of code is always checked by it by all the time. It's it. So we this is this is just a way of resolving disputes. We didn't explain, you know, who is this verifier? Why did they show up in the first place? So that's that's the second part. Because we didn't. It's not it's not completely satisfy and you know, to say okay, you you issue the task and then you go check it yourself. That's not really how smart contracts work, for example. So so what you really want is a black box where you can put it in and know that you're getting out right answer but at the same time that people who are solving it are completely, you know, just anonymous miners like many other network. So any other network, let's say, like like the miners of a theory or bigcoin. So so what what we do? On top of this dispute resolution layers, add in an incentive layer which essentially says gives the incentives for for participating. So obviously it's not quite enough just to offer a reward for people to do very verification of the of the solution. Because, yeah, the might's yeah, I checked it. But you know, maybe you said of US participation are not necessarily correctness. And if you pay, if you if you on the other hand, if you said, okay, I'm going to pay anybody who finds a mistake, but they are never any. No, they're never actually occurs any mistakes. So then nobody actually shows up to look for the mistakes in this case your instead of using correctness but not participation. But what you really need is both. So. So in the original protocol we do is to do what we call a forced error. So occasionally, randomly, unpredictably, the solver has to give the wrong answer and therefore, since these mistakes exist, the verifiers are checking. Even in those cases, since they don't know what it is, they're also checking in the solvers supposed to give the right answer. So since solvers always being watched, they always give the right always giving the right answer. So it's sort of like yeah, right, their fires show up because there's they have expected reward, and so correctly, because they're always being watched. So the PENOPTICON effect. So basically it's some ways, like you injects, like things that will error. The like are it calls an invalid answers that correct or and you can detect where that problem happens. And if if they execute something and that that error is there, then you know they're still behaving correctly. This incentivizes people to go out and double check that, to watch the watchman. Basically, is that. Is that what I'm understanding properly? Well, they aren't anybody. Anybody could show up and there's only one solver for every task. That's just chosen randomly among those people who participate. But it's not a trusted party, right. Anybody can show up and verify. So it's like a unanimous consensus protocol, and you can think of it that way. Okay, and so. So, yeah, basically, that's that's that's right. So and from there, did you this is how things currently operate. Earth does the token model that was currently introduced somewhat change this in terms of how it operates? So the token model is sort of another layer on top of the incentive layer. And essentially we've stopped, we've been stayed true to the original white paper and followed it fairly religiously. And you know, there was after the initial paper came out in March, we got a lot of feedback from the community, which was incorporated into an appendix which came out later and in two thousand and seventeen, and we basically stuff with that. So again, the interested reader can refer to the white...

...paper for all of the details and sort of you know, you know, what if this happens and what if that happens? It's mostly covered there, although we did do a little bit, small amount of touch up if you go all the way the end of the new token white paper, which I was just came out earlier this this month, and so so. So, yeah, basically that that. All of that is sort of so that. Let's let me Um, let me try to go through user joining here, because that's the protective I would come in at. Right. So I'm somebody who wants to do some I want to offload my compute to somebody, anybody. I just want the results back, right. That's all I want to care. It's all I really care about it. So those results that I get back are correct. I don't care if it's public or not. I don't care any of that stuff. Like, let's say, I'm just farming out. I want to. I want to farm out, like, we'll say, a compute resource, to scrape a series of websites, like I don't know if that's a values case or not, but, like you know, I don't want to do this on my network and I'd like to just distribute that, that load across a bunch of various, various notes. Now, I'm not sure if the Lawson you use actually has acts us to that kind of stuff or not. But it's I can't really think of a better example, as you have one. Well, of tasks to be done on Trouban. I mean, well, a simple one would be the original one that we that motivated the project in the first place, which was to check a Doagecoin, you know, a scrap proof of work, because what you can't do it an ordinary smart contract. And obviously that was aimed at building a bridge between DOAGECOIN and etherium. So so that's the original use case for it. But so so, yeah, don't want to perform proof of working on the blockchain. That you don't want to perform proof of work on the blockchain. Well, I mean bitcoin proof of work might be fine by me if it's, for example, shot to fifty six. I think there's already up code for it, and so you know it's conduct. It's also not very taxing to check, you know, compute the Hash and see that it actually so checking the bit pitcoin proof of work is much easier than checking the doagecoin proof of work. That script. So the use cases for this are are are they relegated to what the realm of smart contracts and what they they could perform right now. Is that? Is that kind of like where you were thinking? Is it stays within the decentralization space, or was just like actually like renting off compute somewhere else, which is what I think my original understanding was? Is that? Yeah, you can certainly think about that. I mean the I mean obviously it's really interesting to think about machine learning application. Yeah, yeah, exactly. For example, the the art dal, you know, the machine that produces the arc and then sells the art and uses the revenue from that to sustain itself. That's one of the you know, I say the key, key things that we're thinking about right now. But that's, you know, there. You know, obviously there's if you're going to do it, actually want to do machine learning on on on the chain and you want to sort of use some sort of tool like this. Right. So I guess I can connect the dots. They're a little bit more but essentially, yeah, I mean or if you want to check, you know, live peer transcoding, for example, that was already one of our earliest collaborators. So their cloud beer does decentralized live streaming video, and anybody can do the trens coding from well, from from you know, into the different video formats to the different resolutions and obviously want to make sure that...

...that's done correctly, and so so you can, you know, send put that out to true it. So, in terms of going out and cat and gator from other websites, raises additional challenges as well, right, I mean like it so great, so trooper can compute, but how do you actually get the data into the into the system, so that that is also you know, it's obviously something very important. So, in terms of the way that the native system works, now they're the you can use. There are basically three five types, right. I mean you can have you can you can read in from correctly, from the blockchain, you could read it from something that's permanently screwed in a smart contract order to do it from IPFs. And before you dismiss IPFs as being insecure, you know you have to consider that if you set up your and sentence correctly in such a way that the person who would be doing the verification is also the one who provided the data, then you know IPFs can actually be perfectly fine way to get the data inside. But obviously, you know, you can support other other data types as well. So there's there's that is that is certainly another. So go go to the easer story. Let's just go with the website thing, because I think it's easier to really concrete for I think a lot of people to actually understand. Okay, like I want I have this huge like website that I want to scrape. Let's just say it's a patent office website. Okay, we want to really like see what the patent office is up to, like just scrape all the patents, right. so you write this script to scrape all the patents, but obviously this takes a long time and you don't want to get caught. You want to buy pass like any sort of thing like that. So maybe this little amount desince here, I don't know. But you want to scrape all the all the patent data. So you put out a root site to crawl and then you want people to kind of like go out and respond with the next site and the the information that they received from this site. Is that and then you can continue that process. Is that sort of like something you could maybe do? It's like like true bit. And if so, how do I, as a user, like get your prop get, get get the true B it true it working on my system and then start writing stuff that can actually do that sort of thing. Yeah, so I guess I guess the question. The first question is, do you really need a blockchain for that? Right? I mean, when you look at sort of what what you could do with I mean true, it is is great for, you know, sort of you know, the trustless computation and the public blockchain, it's clear to see how it would work. I mean, I think the way it would make more sense in this context would be is if you properly set up the incentive so that you didn't have to scrape here in there, but that people, the patent office itself, was actually incentivized to contribute that data and I think really managing sort of who has access to which data. That's there's there's some subtlety to that and as it as it comes. You know, I can turn this also back to the case of the art. Doubt. You know, what really makes the machine valuable that you're creating in the case of like are down perhaps this scraping machine is, you know, sort of the ownership of it. Like this this notion that, well, I don't trust anyone. So I'm going to use a block chain and I don't want anyone to have access to the data. Well, if I know, if, if no one has access, then you know there's true but doesn't have access either, right. I mean, so it's sort of like you gotta you can't. That's too I guess it's too it's not. It's not fine grained enough, right, but you can do is up. So you can sort of fine contro fine, fine grand control over over who actually can access these things. And then it starts to really make sense where you would have an ecosystem of data that...

...people would have have an ask have access to. Because you give me like a ideal use case of someone saying I want to use I'm making something, I want to set it up in such a way that the blockchain manages that thing, but the but true bit does the majority of the computation and then provides the answer baby back into the blockchain. I'm assuming that's that kind of the use case here. Right. Well, I mean, I guess we've already touched on a few of them. I mean, I guess we can talk about some other examples as well. Like I mean, certainly I think insurance is another place where these things can come up, you know. And for example, will you know auditing of the smart contracts? Mean what size about Troubert? If you're actually you know, anyone could say, here's an insurance contract, I verify these properties. You know what ever, you bet every one of them gets violate. It will use it too, like troubet, to check that it actually happened. On chain. The data is already they're great. Or maybe it's because, you know, we want to make sure that everybody's getting fair insurance ro it's right, and so somehow you know those those things can be computer on chain. But I mean, we also talk talked about checking proof of work, which is good for Brid building two way pegs. That's about Trans Coding, I mean machine learning, as you said. These are these are all. I mean. I don't know if we want to walk through, you know, one now. Just want I wanted to get a kind of like a broad I kind of want of people don't understand, like why would I go out and use true bit as opposed to doing something with our blockchain in the first place? And and I what I kind of wanted to transition into after that was introduction of the token was. I mean, the way I understand it, the token system. That matter is, how do you task these things appropriately and how do you price these things appropriately? So each of these each of these things that you're doing, you're sitting off for truebut to do how do you understand what the appropriate prices for each of these tasks and such a way, we're in net relying on someone else to make that, make that decision for you. So yeah, and maybe maybe we just take a step back. Can generally say, you know what, who? where? Are the general reason you would use true it? Well, first of all, save gas. Any computation you do on true it. It's going to be a lot cheaper than in getting the miners to do it on the network gas limit for that matter. It. It doesn't fit with a glass. Well, I mean, yeah, it's right. So it's also the convenience of that, but also, you know, you don't have to worry about spacing your computation over multiple blocks and then putting them back together and it's so that's difficult. But then there's also I mean if you even can do it, because obviously smart contract can't even read back more than two hundred and fifty six blocks in the Theorem, for example. Secondly, you know, we're able to issue these tasks using standard programming languages. You know what, basically whatever compiles web assembly, including CC plus plus for us. So you know, if you want to run FFM peg, you're not going to have to transcribe that into solidity. You know, you can just use the original code and saying for like coach Quinn proof of work, which is, you know, c plus plus code, for example. And so so there's that. You asked about the pricing. So yeah, there is that. That's what affect the pricing. But yeah, so there is. And just as a prerequisite here, you know, just to distinguish ourselves from pricing that you would get using like a cloud service like Amazon, for example, where you know maybe maybe Amazon, just that's the price. I mean there's I mean you might think, oh well, we'll just let the task giver set the price and if a solver wants to do it, then they'll accept the task. Right. That's sort of like the naive, sort of market place approach to it. The problem with doing that in a crotocolic true bit is that, well, what if the task giver...

...is also a smart contract. tasket actually intentionally under prices the tack, under Prices The task because it does actually want somebody else to solve it. So you can that's alt it himself and gets whatever bogus answer he wants, and now you've sort of broken the security of that smart contract. So, in other words, you don't want. You don't want a system where where the task giver choose the price. We have to sort of relief from that. Would you want is sort of a market price which has two properties from the Task Giver Point Of View. Right, you want to have something that says if I, if I bought a task, you know, if I paid for a hundred tasks, I can do them now, I can do them tomorrow, I can do them three weeks from now, and it doesn't depend on whether you know the price of either you know went to you know, skyrocketed or crash. Like, I paid for this service. You're paying for a resource. You should be able to use that resource appropriately whenever you want. Exactly. I mean I get this example in the in the IT in the paper. You know, you if you have a pilot WHO's flying from from La to Tokyo and the price of gas goes up by twenty percent while he's in midair. He doesn't want to and that means the gas of after ate it. Well, great, now he's fun to Hawaii instead of Tokyo. Not The outcome that that you want for a I mean, and I think that's just a general principle. The hard part, let's face that, the hard part and challenging this and this project and in the space in general, is not to find the minor but to find the task giver. Right, who's actually going to pay for these services? And so it's fine. So, so that's that's point number one is that you get what you pay for. The other thing is trying to make sure that you're that the price is something that someone actually would actually pay for. It a reasonable price relative to US dollar or whatever field currency you're feeling comfortable with. And obviously, you know, it goes without saying you want to do this without using some sort of price oracle, right, I mean it doesn't. It shouldn't all come down to, you know, coin market cap coming into the right yeah, feeding in the right price after you've gone to all this problem, make everything the centralized. So that's from the from the point of view is, yeah, you need have a price that's reasonable and you as dollars, but it also reflects, you know, the actual product that's being solable. And then if you look on the supply side, obviously we sort of know what what works there. If I'm using my computer resources to solve this task for somebody else, I want to make sure that I got fairly communerated for that. And so generally, you know, we know how how mining works, right. I mean you sort of you you build a network effect around that token. But in this case, you know, we also have to serve providers collectively. have to sort of steer the the price of the task in with respect to you as dollar. Right. So that's that's the other side of the paper. It's being about. You know how to so how do we do that? So let me again. So I just just so we don't at least feel that up. We're too far in the weeds for the moment. We can just take the Truman protocols and black box, which has these three functions, right, and you have tasking. You know, there's a there's three things are doing with a token. Right, you're you're issuing, there's issuing tasks, paying for those tasks, you're receiving a reward for doing those tasks, and then you also have this staking piece. In other words, if I'm going to participate as a solve, Riady to have steak in the network so that we have enough funds to play the verification game. This is distancent of I spam. So this is different from Bitcoin, where you can just turn out your computer and start in minding bitcoin. No,...

...here you're actually you got to have some some steak in the network. So there's again I mentioned three functions. I didn't say, you know, we didn't say yet which token goes with which function, and so that's that's where the sort of the design get becomes interesting. So so what we do with true bit, and this is perhaps the general setup that might be useful for other projects as well, where you have a consumer and the service provider. So you have the CPU that's been used for tasks. You have another token called which you called t are you used for the rewards and for the steaking. Actually use both. So so you might say, well, isn't this is this? Well, ask you know, is this overly? This is not a really complicated you know why? Too? Tokens and in particular. Why? Why? To steaky tokens? And you know why the fact, why even a token at all? Right, I mean maybe that's even the first question. So maybe. So, yeah, let me take a step back. Why? Why? You know why. Why are you just using the question a? Why are you just using eth? Why? Question to? Why aren't you just using die? Right, so you're asking all the questions I would ask. So keep keep going. Yeah, guessing, so I'll let you ask it. Well, which one would you like to answer? Let's look at Eith, because that's that's sort of maybe. Yeah, it's the native token. Let's let's just use use that when we can. I inject the question before you do that, because I are we directly buying CPU Tokens and True Tokens? Are we only buying true tokens to buy CPU Tokens? WHO's for? WHO's we? Anybody was your bed system? So, like, if I want to acquire true bit, do I convert from something like how do i? Where's my point of entry? Yeah, and so that that that. That is a third question. Yeah, which we can go to. I mean the point of entry is something that we can talk about as well. What I would explain here's what is the steady state supposed to look like? And then. So, in other words, my preference would be to go in the opposite order, to say here's what we're aiming for and now that we see them, where we are. Now let's if we have time at the end, we can sort of explain, you know, how do you actually boots drop this thing? And obviously there's a problem, and that is exactly the problem the beginning. Okay, so they're I can, I can earn rewards, but in order do that I had to have a stake in the network and somebody, somebody else, had to have the token in order to issue the task. So it would seem that a priori, your your thinking chicken and egg problem here. Yeah, I got I look to that is chicken and Egget and you have as we'll see it. You know, it's also interesting because because, as you see, what what what's coming in is one token, what's coming out is another. It also suggests that, you know, there's a mint and minting and burning function inside of this is them which which is sort of you know, before we sort of what I want to do is sort of break what I'm trying to do. It in particular breaking these token functions down and so that we can isolate sort of what is the main function that we want to get without sort of convoluting it with the boots trapping, which is sort of secondary. So anyway, so that that is how I'm approaching this. So let's talk about let's focus on the steady state. Obviously, one steady state is just says says. Well, now at the high level, just use a theio, just use either, and this is pretty simple. If you're if you're for if you just use ether, then you are going to have trouble getting those three properties that I mentioned earlier. Chicken, a stability on resources. I'd imagine. Yes, all three. So there's two on the to on the task side, and one of them on the splice. That because as...

...greater use of either means it's actually higher USD prices or the case of what we saw in two thousand and seventeen, you know, greater speculation perhaps increases it's the same effect. or it doesn't matter if it's by use or or speculation on because a speculation is also because the miners didn't adjust the prices correctly. So if they had, perhaps how much my how much computation my ether bys changes dress me with a price of either, which is not what you want. If I were to pre purchase something and expect a certain amount of resources. Yeah, well, I mean wouldn't? It wouldn't be bad for the consumer if it got cheaper. But what happens is it gets more expensive. So as more people are using the system, it becomes more expensive to use it and therefore it doesn't scale. So so your that that just simply isn't this seems to be a fundamental problem with the with the with the one token solution. Okay, fine, so that that's basically the ether answers the ether question question to what about die? Obviously die has the advantage that it's sort of or. When I say die, I mean basically any stable coin that would be somehow peg to the you as dollar not to and so so, first of all, this again doesn't solve the basic question of price. So I'm gonna pay for a task. Great, you're going to pay and die. How many die? And again, if we can't get the task giver can't set the price, then then who does? So it doesn't solve the question. That doesn't all the problem with kind of price the task. So that's that's a big problem. And then, you know, obviously we all want to have these network effects system which sort of aligns the minor sentives. By miners here I mean sellers and verifiers who are performing these tasks. And and third the again, same problem. Again you want, what we really want is a token that is stable relative to this, to the to the to the product. Not We don't actually care if the price of US dollar changes relative to the euro or relative that whatever resource you're giving. It needs to be the same. I paid for three tasks, I should get three tasks, and it's not like, Oh, I you know, maybe I'm happy, I'm lucky. You know, things got cheaper and I got forecasts. But equally annoyed are the people who only got two when they paid for three. So that's just basic customer service. Okay, see, has a snare up. I think that's that's that's decent. To you introduce the you seem to believe that they to coin or two token model solves these issues between the CPE CPU token and the t are you token. How does it do that? Right, so let's let's take a look at our bag of tricks. Here. So, as I as I alluded to earlier, we're talking about a dual staking model and what happens to duel staking. So again, assume that your solver has access to both the runcpu somehow and he's going to stick both the CPU and Tru Tokens and also provide what we call a local price between you. See, it's going to say this is what I believe tru is worth relative to CPU. And now, order to make sure he gave the right local price, we have this stinking monitors that can actually exchange you that rate. So if you said, okay, I think one CPU is worth nine tr use and I happen to come on with one CPU, now I can if I like that rate. I'm just going to trade my coins at the rate that you said was okay, let's say twenty percent.

So that, because of you know, just as the ideas, this is a this isn't supposed to be necessarily in exchange, but just an enforcement of the price. Give you some buffer there anyway, so that you want to you get a correct local price. And now what you do is we can take a media and over all the local prices to get sort of a global price. And again. You know, we emphasize that we have not now appealed to any price racle, but that's that is the rate that one can, within this Truman system, burn Treu and obtain CCPU exchange at this median rate. So call the tasking median tasking conversion rate. If you want to go the other direction, you know we have another mechanism for doing that, which week called private task, which should entails open up the protocol a bit more, but it's not a it's not too complicated. Basically you just issue a task to yourself. Okay, fine. So and obviously you know, just to allude to the to the earlier question, that actually you can sort of generalize this duel steak into external tokens as well. So that's one way of leverage of existing liquid tokens to sort of, you know, allow people to access the system at least through through tasking, right, and still like what you know. The boots trapping problem seems really problematic for me as a new user who wants to join the system. Do I buy true with Eith, in which case I still have the kind of single token problems? Don't I? If you want to buy true with e so if you yeah, so, so, so, so that in terms, yeah, there, there's we haven't solved this problem yet. So obviously, from the tasking side, you know, we can have you know, by modifying this too, token. E. Conversion. I guess we would say you can do it with buy, adding in a third token which you essentially, you know, providing a rape for that other external token whenever you want to say Ethan, then doing something similar, given that we are already know, the conversion between her tep final, you know, in the there are basically my I have three sort of suggestions for ways that to get around this, this problem. What is so, in the long run, I think it is reasonable to do experal tasking. I mean it's also a value that's being added to those tokens that would be somehow white listed. So again, once you start white listen tokens, there comes to the governance question arises again. So that's that is but it's just about who's in and WHO's out, basically, and you know, there are different ways that a business can perhaps take advantage of that structure. I mean the other thing you can do is it just explicitly, and this is probably a very short term strategy. But to allow staking with external tokens before any market price has been established was just say, okay, for now you can use either to stick in the network and then as rewards. So imagine the ideal distribution here is that everybody just simply minds and receives treu rewards and that's a sort of a wide, generic distribution of the of those tokens and you need just some steak in the network in order to sort of initially participate. But as more people are getting the rewards, well then they can start staking with Thru, converting it to Seepu, perhaps selling those tokens to other users and then so. So that's that's a pattern number two. The third pattern is is really an explicit governance structure in which you...

...have a introduce a third token. In paper it's called we call it doubt, and that is convertible to to either Tru recpu Tokens and that is somehow distributed through one of the many known you know, there are many. Obviously there are many token distribution methods that have been apply. For example, we have our interactive quite offering protocols. Is was, for example, used by close but so but then you know you could have a particular property, since there's no sort of supply of Tru andcpu is a little bit indeffinite. What the governments who can could do is, for example, say you get you've if if it were you know, for example, it might say you have rights to five percent of the networks. You can catch these this number of governance, five percent of the governance tokens in for five percent of the whatever number of nutwerk tokens are existing in tru or sleep as. Those are the ideas, something I was thinking just now. As if you're just trying to boot trap yourself onto the network, does it really matter? Like you can tie up your true in a staking mechanism and use that to to to run. So you use true to basically incenti buy somebody to you can buy true or CPU. It doesn't matter. Once you're kind of in, all you have to do is do the work for a little while and you start getting rewards and it starts like working, working with you, and you start getting more and more and more of the stuff. So it's almost like, you know, it's just like a preparatory state where you have you can't just join it Willy Nilly. or You could just transfer to yourself if you already have an existing system. What I'm a user. I want to use true bit. Yeah, what am I? How do I pay for computation, as well as how do I know how much computation I'm buying? What I have a task, I've made a task. How do I know how much that's worth? And what do I what do I use to pay for it? So this is a another interesting question. But let me let me revert to call in first, which is that, and I think just to emphasize what he said, you don't need a lot of steak to participate in the network. Somehow, by Hook Er by Crook, you come up with five dollars worth of TRU which is plenty for a steak, and you know, maybe it comes for through you to swamp contract or something. So the answered point is not. It's not like you need, you don't necessarily have to be on. It a centralized exchange. Ever, that it's not. It's not require to answer your your second call question quite about how do I know that I'm getting paid properly for these for these tasks? So, obviously, as a as a as a design principle, if you have a machine that's you know, there's some input into the into the machine where people are paying for something, another one people are paying out. What you don't want to have is what you can't have, essentially as a situation where people, where the machine is paying out more than it's more than that's being paid into it. Maybe this goes without saying, but if you if you do it like that, then you you basically inside of my spam, right. I mean, I'm going to issue myself task, I'm going to get rich by solving my own tasks. And now so great, everybody gets rich, but in the end nobody gets rich because the thing is just worthless. Nobody epis then quite answer my question. What are you using to pay for tasks? Like if I want, if I want to submit something to troupe it, I have a task I want to I want to give it to true it to use.

What am I using to pay for that? So you shouldre or CPU use a CPU token in this case. Okay, the test and token and fee and they're taking mechanism and which how people doublesake gives you the price discovery of what the rate is of a splint CPU to how much how much true relative relative. Remember, there's three points. You're right. There's the Yes, relative to tru we feel we've established that through the this median over all of the prices. That gives you other prices. COMMY answer the question of how do I know this TPU is actually valuable price correctly relative to you US dollars, which is, I think, like the text like that them out of resources. Yeah, so that's kind of like what kind of wanted to know. How do I go for as a user to I have a task, I would like it done in a reasonable amount of money. What do I buy and then how do I have somewhat of an assurance that the answer I get back is worth the money I paid? Okay, fair enough. So so let me let me answer the second question first. Obviously you know trading crypto for Fiat is is slightly out of the scope of the protocol design. But obviously you know if there would be a market people, let me. I guess I am in answering now the first question first. But in order to change any cryptotoken for you US dollars, you find someone who could buy it, just like you do anywhere else. So then's not but the question of how is it actually Christ? Well, here's you. Basically, I mean, obviously that the key thing from the protocol point of views to make sure that if a market exists, that it doesn't it's grew up sort of the internal pricing of the the protocol itself. Okay, close. So let's let me just break it down ask a simple question. So what happens if the CPU price is too low relative to SD? That it means I see that one task, one task, is cost one CPU or one one, let's say one computation cycle, cost one CPU, and I, as a solver, thing that's too low. It's not worth my time. So I now I'm argue that actually, actually, it is worth your time, so as a rational solver or verifier, that you should actually do the task anyway and you should just handel the reward token. And the reason is that if you, if you hold the reward token, then this means that then total, that supply in the whole system, CPU plus Tru is decreasing. So everyone who's handling is, you know, sort of keeping the supply with the number that are in circulation is decreasing. So you can see that over time, eventually, where's handling the tokens will accumulate all of them eventually if this process continues. So decrease in supply means increase in price relative to real market value, meaning US US dollars. So since you, since you hoddled the token, you actually in the long run, make make more because of the your actual gain relative to USD should be more than outically compensate you, even though at the time that you performed the service you didn't get perhaps market rate, let's say. Does that makes sense? On other side, you know, if the price would be too high, well fine, then we just adjust our medium prices. That absorb some of those you basically it CPU prices too high, and I said I'm willing to work for lower. Great, so I lower my medium price and then any tokens that I'm holding by Tru that essentially, you know, contracts again the supply, and again I well, let's see, they shouldn't make the mean the total token supply DEP...

...resistant that that should be reflected in that any fluctuation in the price should be absorbed by the TRU token as opposed to the CPU, and that's because the service providers are adjusting it accordingly so that CPU tends towards the market price, whereas any fluctuations in the market, you know is is absorbed by the TRU. So the ideal scenario, of course, is that you know more and more, as more and more people use the service, then more and more value is absorbed by the TRU token. So okay, so I as a user that I have, I have, I've have some CPU in my hand and I have a task that would like to do. So I I'll source that task, I pay for it and CPU, and what happens? It's I guess I is. First off, is that correct? I usue a task and I pay for it Incpu, or do I pay for it and Tru? See, they would seep you perfect. I pay for it with the CPU. So let's say it's only one CPU because it's a relatively simple task or whatever. Okay, now, wouldn't at that market rate in terms of, I guess, the reward of the person who ends up getting that task within the network. That is based on the average of all of the local rates that each of the miners have have set. Correct. Right, it's right. I didn't explicit say, but the reward rate is the median war. Okay, and so that that then tells the person that. Then, I guess, the person who gets that, the solver does that, does it correctly, gets the reward for that based on the median rate, and that's that's basically the life cycle of a good use. Case of someone offloading a task under the trooper networks. That correct, right, but of course the person that's actually performing the task might also be a task ever themselves, right, and so that they would go ahead and convert that back and then issue another task. So the idea is it's a community right, and if you leave your computer on in between tasks of your own that you're solving and you're helping other people increase the security of their tasks, well then you can essentially and hopefully use the the machine for free. And then and then on one more thing that I want to clarify to make sure that I understand things correct on correctly and our audience. Those two. The CPU that I used to pay for my task gets destroyed and minced new TRU right. So, yeah, that's right. So you okay, perfect it. Okay. So that the process of so you have you have this kind of minting destroying mechanism in which people who pay for things in CPU gets destroyed at the market rate, which is the average of all of people's local markets, to the solver who ends up doing it. That then can then be used at I guess, across the network to then buy more CPU based on whatever local rate people are offering. Right. I mean if you cash out immediately, then you just get if it was the one threat, you task, you do the reward, you hash out immediately, then you get whatever your share of. Like there were just all are just really wanted to get a clear understanding of what the life cycle of both of these tokens from someone submitting a job to what happens to those tokens to then it then becoming the original token self. Right. So I think we now have a firm grass on that we can move forward. Okay, so my problem is, what is one compute mean? Is it one operation on the system? And, if so, like, what happens of I run out of CPU Tokens in the middle of my job? Like what? How do I know that I have enough to pay for this job if the job itself is indetermine it? Well, you, it can't be in determ a minute. I mean that's the whole point of Trueb it is that you must. I mean there's all your cities terministic jobs. Yeah, the determinus, but the length of the job might not be known up front. Right. Well, that's probably not a good good...

...keep standing you. You just need an up or bound. You don't have to say exactly know what I mean. Maybe you don't need to know exactly how many steps it is, but you do need to know sort of what the what the you need to have an upper bound on how many steps it's going to be. So where is this? Smart contract has kind of like this built in gas limit that the whole network runs on. What you've basically built is a personal budget for gas. It's like you CPUS, kind of your own version of gas. And then I say I'm giving this particular task a its own limit and CPU and this is how much willing to pay. If it exhausts that limit, that the job stops. It fails, correct, and they get competated and I burned my CPU. Is that right? Right? So the correct answering, trub it, your solver is is not allowed to you can't ignore the amount of task steps that have been paid for. If you ran out of steps. The answer should be, you know, error. It should if and if you, if you give the correct answer, then you should lose the challenge. You know, there's no margin for error in that case because, like, there could only it has to be deterministic. So it can't be like, well, yeah, but I ran a few extra steps and I I was just it. I'm a nice guy, I just want to help out. It's no big deal. No, I mean yeah, and I say this because, like, for instance, if you have some sort of recursive operation, sometimes you don't know how long it is going to last upron depending on the data set, it could be five steps on the other day to set it could be, I don't know, four hundred and fifty steps. You don't that makes no sense. Be Know what I mean, like it could be something that kind of you don't know up front necessarily how many CPU cycles are required to solve a particular piece of data, and if you did, you'd have already done the work yourself the time. So you kind of have to budget, and that budget, he's like your own personal gas limit for the task you're trying to accomplish. Right, well, and spend more than what they used. Right. So, if they own if they if you have Onezero CPUS, and this is a small number, I would assume, but you have one thousand CPUS and you want to send a program out and somebody solves it in four hundred, they get compensated. Four hundred. No, no, you get, you have. If you get you get paid for it. Howe many steps that you paid for? That's the reward amount that gets paid out. So I see. See. Okay, it's a little different. I mean, well, I don't know. So if you let us take the canth case where you do this in the clouds. You went to Amazon and you said, I have a job, I don't know how long it is going to take, but I want to start running this job. I mean that case, I guess what you normally do is you would just sort of start paying by the hour. Yeah, if paper are I guess. Yeah, and if you ran out of hours, would just say, okay, I don't know if this is going to convert freight. I'll put it up, but I'm going to throw it put in another quarter. Right. But they have a building mechanism. So if you so like, you're build monthly. If you don't pay your bill, they shut you off. Then, you know, it's not like you have to literally pay from a budget every hour, whereas with this case is very much on demand, which is a different scenario than it Wus. And so I'm just kind of curious, like what happens if somebody just decides to like send a ton of a task out that they can't sufficiently? They don't, and I able to support with budget. They know I mean. Well, I mean, I guess you if you didn't put enough, not enough gas. You'll do. The report will come back and say you didn't have enough gas. Right, that's right. But they're still wasting their cycle. Do they actually they get the money back? I guess right. Our Oh no, the I report comes back that says, yeah, you are not getting any results because, guess what, you didn't pay enough to pay for it, and so I just wasted my money. Essentially. Is that correct? Yeah, I guess essentially. Yeah, that's that's that's on you with the task giver. But Remember All our past givers are not also necessarily people directly, right, they're smart contracts. So and it's the same thing with a smart contract. You got to know how much gas. I mean think of it. It's no different from the way that,...

...if theory of smart contract words, you gotta say, how much gas am I putting in for my transaction? If you're rather a gas well, that's that's too bad. But you know, the network still did what it was. You know, the miners don't don't work for freeze. It's exactly the same. And so the inclination I have when I hear about Truebat and based off other things you know I've heard, is to go, is this like Gollm in, that you can do like off chain, rendering us off? And then when I hear stuff like the video on cooding, like that's a pretty like solid like task to distribute out two people in farm out and you're doing it already. Right, we have a sample transcoding task that you but how do I precalculate how much energy are, how much computation will cost to transcode, unless I actually do the transcoding myself? But I mean that's not unpredictable, right, he's okay. I mean I would pass like that. You know how much time it's going to take. I mean like yeah, if you want computational task, you could know like a and a general sense, like an approximation on how much computation it actually does and how much time it takes, which could then give you an upper bound on how much sheepy you to pay for that. And remember we're talking about a cost which is for running this on true it which is probably fractions of a penny, right. I mean, so just put in that you're not sure. Just put in the nickel the first time and make it work. It be. So pay, you know, sale be, you'll mind some tasks and you ordered back the credits. Right. Hopefully always remain that way, because it's all it's all going back to the community, right. Thank some sort of test it which helps use. So set stuff out. People Restrict Stud run you can run it on the test. That where you can get free tokens and that's more you can make more than extra requests and then that way you're not at work out. Yeah, makes exactly. That is basically what it would be. And then there's a pay for net, which should be the recurrent tests. All right, that's I think that's neat. Definitely, that's right. I definitely have a better understanding on kind of how you do market discovery, like price discovery on tasks, and I think it's a bitch. I'm seeing further use of that. Like I'm tow token model for like a double sided markets for people to find out how much they should pay for something and keeping people honest in terms of how much they're offering for it. You can see like your kind of the maker die scenario start that type of thing. This is. This is a similar situation where you have people working together to try and come up with their correct price of things so that both part both sides of the party, or happy with the transaction. And do that in a centralized way is really difficult thing to do. I mean there's posing for maker die. You know, how much gladd will you put in? That's that's a question that was reason the addressed by the balance project. So that's another maybe you guys, if you haven't talked to them yet, would be another interesting follow up to this conversation. I'd be happy to make the intro there. But it's so that, yeah, they're they're talking about the deposits. They actually talk about truber is being an application there. How much we didn't what we didn't talk about this talk is how much deposit you have to put in to true it to make sure that you're you've you you know, have enough deposit to cover the cost of a verification game and this case, you know, I guess you know, maybe you can sort of deduced it based on the model, but it's also I mean balance is also a reputation system. So clear I just want to emphasize again here that there is no sender, there's no central party that's dictating any of the protocol are that. There's no it's I don't have any special rights in the system that that you wouldn't either. It's just like it's sort of there's no reputation. I guess it is. Sort of why that? That's a little bit higher bar, I guess, in some ways. But you know, again, at the end of the day, what a consumer is going to say, Hey,...

...does this job do the task I want, and did it do it at a value that I did? It was the price, you know, what I expected, you know, was the quality of service. Could I mean, those are the questions we should really be asking. So you know, obviously this is true. It is also kind of, you know, and ideal, I guess, but it also I think it works. I mean there's there isn't really a lot of inefficiency in this, in this marking that the goal was to make an efficient market and I think that's sort of hopefully, what we've done here. Yeah, sounds pretty cool. Yeah, and then or again, like speaks like volumes of praise for the project and you know, I've not yet personally had to use it, but it sounds like something I might want to try out and I've got to start for setting fitting the room by me. I might go. Let's set some things that actually might want to use that for now. So that's we're currently running out a type where can people find out more in terms of like how to get started. Had to participate if they have any questions from the conversation we've just had. Sure. So I would say, you know, if you're read, you could obviously the true white paper. If you want to sort of give this a test run, you know you can find a link to the GITHUB there run the gets, but you can run triumer to west inside of a doctor image, to anything that runs doctor. So and then you know, if you're interested doing a deeper dive on the token model, I check out the top that we just did it tag, which I just Pinto twitter and there's there's also a paper which I guess on my web page. We haven't really sort of advertise it too much, but it's it's it is a lar time and on my snow secret. So so, so, so. So, yeah, that's that's that should be enough to do to get started. But yeah, and I'm happy if they're people get started and had questions and I feel free date chuck cool will do all right. Thanks, appreciate it. Jason, was a really good, very lightning. Appreciate it. Hey, good talking to you guys.

In-Stream Audio Search

NEW

Search across all episodes within this podcast

Episodes (118)