 What I want to talk about today is impact evaluators So this is probably the third talk I've given at Kyrgyzstan day about impact evaluators and in this one I'm going to give a quick refresher refresher about what they are I'm going to walk through kind of like a set of instructions for how might you design an IE and then I'm going to give an example of the of an IE potentially that could be used to incentivize and Reward the Saturn sunrise program folks So that third example is just kind of like think of it as a As a throwaway example that is meant to be very modular It could be used for a lot of components and it doesn't kind of a lot of what other people have talked about in terms of Saturn Can plug into it. It's just I want to describe it in terms of building an IE Great, so what are impact evaluators? These are mechanisms that we have kind of articulated as these kind of objects in the in the In the economy or in the environment that can organize a community of agents to achieve a shared objective And the way that these mechanisms work is that they combine a set of measurements About that potential objective and a set of funds with a way of rewarding the community of agents for work towards the objective That seems pretty straightforward, right like but in reality doing this right is quite hard You can think of these mechanisms as pretty Self Well composed such that you can connect them into larger things or you can use them as a component in a much larger system So an example of an impact evaluator might be the Bitcoin block reward The Bitcoin block reward has a kind of reserve of Bitcoin, you know the 21 million Bitcoin It has a set of contributors that are going to contribute to the to the to maintaining the Bitcoin blockchain And so that work involves producing blocks getting transactions, but primarily what the impact evaluator awards is Hash rate contributed to the network Then the impact evaluator needs an evaluation function that evaluation function in the case of Bitcoin is Measuring over time how much work is being contributed and what your share of work contributed is so This is where I think impact evaluators were kind of hidden in in a The way the block reward in Bitcoin is built is not very straightforward in that that evaluation function has to Do the kind of difficulty adjustment like that two week period difficulty readjustment and it has to measure your Contribution based on like the proof of work thing of like that number of zeros that are leading in a hash There's gonna like a very roundabout way of just assessing how much hash rate you're contributing to the network And then you get your reward which in Bitcoin's case is the coin based transaction We're like, you know you as a miner get to mint some amount of Bitcoin and you subtract it from the reserve and you give it to Give it to the miner. So it's an example of an impact evaluator the Bitcoin Block reward is perhaps like the most common example and that a lot of groups might know But the file coin block reward works in a similar way That's a more complex impact evaluator because again, it has a reserve It has a set of contributors It has an evaluation function, but that evaluation function is more complex It includes it's not about hash rate. It's about capacity contributed It has to account for a large-scale proof of replication to know that capacity has been contributed well And it also gets tuned with the kind of baseline minting functions of that kind of Factors in as a part plus the Five point plus component which kind of scales a multiplier for once you use data at the end of the day It's kind of like this larger impact evaluator That is you're rewarding the success of success of fine You can think of impact evaluators as a control system Loop and so you can think of kind of these these mechanisms that you can use in kind of control theory with some component that is providing some Input to to the system the system kind of behaves in some way There's some sensor that's evaluating and measuring the system and that feeds back into the controller Which then decides some other some other component and so think of using impact evaluators in this kind of control theory sort of way It's interesting side note. I was giving a version of this talk Last week at funding the Commons and someone pointed out There's like this noble price winning economics result about how you can't possibly do this in economics And but it turns out that the key component in that result is that you can't do it because normally these things get instantiated by people and people cannot be trusted not to change their mind and cannot be trusted not to go back and unwind the mechanism So critically here two interesting insights one We might be have a way of like working around that really big result and be able to kind of come create a construction that is Where the mechanism is just kind of in the sky and you can rely on it and two that means that it's probably a whole swath of areas of economics might be ripe for Revisiting with these kinds of tools. So I'll leave that as a future exercise for all of us to do So that you know, it's pretty interesting pretty promising and it's kind of crazy that like, you know, it sort of like took Bitcoin appearing and You know cryptography Deploying these like large-scale networks to be able to kind of go back and kind of create these systems So the way that you want to think about these impact evaluators Or like kind of a another view into it is that you know, think of dividing up the time into some set of periods Think of for each, you know in that for each period or for each round You're gonna measure the world and that measurement of the world has to include the work that participants are doing towards the objective Now, of course, you can't measure everything. So you want to be selective about like what components you're gonna be Extracting you then want to Evaluate those measurements in terms of like what the contributions were from the different participants And then you want to use those kind of the resulting weights in a sense to then feed into some kind of reward function now You what in any kind of implementation of an IE you might not see the actual kind of code or implementation follow these kind of three steps Because they might be blended in some way, you know So maybe the way in which you measure something gives you the the actual weights right away or maybe the way in which you evaluate things Like directly meant to reward. So in Bitcoin's case the evaluation function just gives the reward to one minor per block But in expectation you get this behavior this behavior of like overall measurement overall proportional reward and so on but basically that's kind of like what's happening on expectation at each round and What one important component here is that evaluation does not need to be Programmatic so a way to feed this into human judgment might be a way to kind of call out to you know Once you've measured things call out to some other set of processes then evaluate the the Measurements and produce some output that then gets fed back into the into the impact evaluator So this might be a way of like hooking up a smart contract to some much larger-scale processing system like you know large-scale computation or people really can feed in people into the loop here To tweak the to kind of like tune what the what the reward function should be you can model the kind of the retroactive Experiment from optimism. I think as a if they had kept it going around after round after round You can think of that as an impact evaluator That kind of can could run on chain and still factor in human input into the into the system Cool, so one other neat thing about these things is that you can think of them as valves in a net So not just kind of this Control theory loop, but you could actually think of it as valve where you have an inflow of money You have an outflow of money and the sensor tunes the redistribution of that inflow to outflow valve Right so you can think of that component as a pretty flexible structure that could be fit into a system So most IE's right now are just kind of these reserve oriented. IE is you pile in the money first Then kind of it gets released out, but you could couple this kind of thing not just in terms of like a stock of Some currency but in the flow of some currency or the flow of some transactions And so that gives rise to a much more interesting components where you can wire up like lattices of of these make these mechanisms and kind of Couple the inflows and outflows and so on And so that's I think how you can build a much more sophisticated things like guess, you know In the Saturn example that I'll give in a moment You can think of like parties hiring the Saturn network and when they hire the Saturn network They pay the Saturn network, but when they pay the Saturn network that payment comes into an IE And then kind of that becomes flow that gets distributed out to to the users Another component about IE's is that They don't have to be zero some Well, definitely there shouldn't be negative some that would be a bad bad way of grouping people to achieve an objective But they should definitely you could start making them Not just positive some but you can make them potentially ideally kind of parieto efficient or parieto Preferred where everybody's kind of like winning by collaborating and a way of doing that is that you could just kind of like release Rewards in a super linear function relative to the impact of the KPI, right? So in a sense, this is how Kind of like how the baseline mechanism ends up working out and in Falcon a little bit work There's like a slight super linearity there where party is working together and up kind of Receiving more as a whole group However, this could probably be stretched much further. So this is kind of an interesting component. You have to prevent Incentives to create civil identities, but this might be like a pretty interesting way to mix this with something kind of like Yeah, we thought it kind of like hard identity Constructions and so on to be able to Provide a very very strong incentive to collaborate. Maybe quick. Is this what I'm saying here like clear or Never quite tell if my explanation here is is like obvious Okay, cool So, yeah, you definitely want to avoid the that and you want to get into prior to preferred outcomes Yeah, cool. So how to design a I I'm gonna go through a few steps of how we might do this And then I'm gonna give you an example with Saturn So first off you want to identify the objective like before you think about incentives before you think about rewards And so on what are you trying to do? What is the what are you trying to convince a group of people? To work together towards get like super concrete in terms of the objectives get super clear in terms of The description because it's going to matter when you Start constructing the incentives. So in the Saturn example what we're trying to do is to get a community of participants to provide Sub-second resolution like CDN quality resolution of content Dissemination around the world, right? So like that's kind of the broad objectives to organize a group of participants to Distribute content out to users with sub-second quality of delivery And you know good bandwidth and all you know, there's a set of like metrics there that you can start thinking about The next thing you want to do is identify one metric or a set of metrics that that optimize that that objective, right? so the now it's not gonna be perfect and Usually you'll end up with multiple metrics and in that case you then are gonna be faced with a decision of How are you to combine those metrics into one because that function you can you can't optimize for multiple things when you optimize for multiple things You're just optimizing for a function of those things So be very explicit and concrete with that function as an example the Falcon plus function is kind of rewarding Useful storage 10 times more than capacity and like there's an explicit kind of optimization function embedded in that so here if we want to deliver things In a sub-second way if we want to have a lot of nodes that are part of the network and ready to receive people's content and distributed That's kind of a factor in in in place We want to reward not just kind of like getting to the first bite, but actually full delivery of that content And so on so it's a bunch of metrics associated with a CDN. They're pretty standardized that you can use to You know as part of this One key thing here is that you want these metrics to be as easy to measure as possible If you're starting to couple some very hard to measure things It's gonna be a mess and notice not only is it gonna be a mess It's going to provide a lot of hooks for gaming the system So at the end of the day, you're gonna route incentives here So the more complex something is to measure the like more rope you give to to agents to try and like Cheat the system in some way. So you want it to be extremely extremely simple in a way This is why Bitcoin has like just like the proof of work is like super super easy to measure just count the number of zeros in a hash You also want to identify clearly what are the set of contributors that are going to be contributing to this thing and Ideally that group that group and the function that you're and the metrics that you're you're gonna measure are Related right and so, you know, what exactly is the work they're gonna be doing that it's gonna impact the KPI What information is that work going to be generating as they're doing the work what additional information is gonna be Kind of left out to the world like what kind of interesting ways of getting your metrics might you have here and One keep component here is like think through the ways where those contributors might be faking the work And what ways will they be able to kind of like cheat the system? So an example for Saturn would be if a Provider is trying to serve content to the network They could just as easily instantiate a bunch of clients and pretend to do a bunch of requests And they can pretend to serve a bunch of requests and right away you have a lot of traffic That's all fake right and so like that's an example of something that would be kind of easy to fake and you have to start reasoning About how to like spot that and remove it. That's where all of the kind of like fraud detection kind of approaches approaches come in But that might be kind of hard to fake relative to being able to instantiate nodes Everywhere in the world or you might be able to like spot that signal by looking at the whole at all of the network One piece here in terms of contributors and metrics if you start finding that you're optimizing for multiple metrics and multiple groups You may want to consider splitting this into multiple IE's as opposed to just having one object What one effective elevator think of having multiple and then you can then later wire those together Now here's where like you take your the metrics that you want to gather and the Contributors and so on and now come up with like some very concrete ways in which you're going to measure that work and Achieve like kind of like the KPIs And just get super concrete about like the detail like what processes are gonna be involved who's going to run them What kind of error rate are you gonna have like is that an acceptable level of error? Are you right about that error? And so on so as you've like gotten all the way here you now start have started piecing together some Objectives some some global global KPIs you want to have some some groups of agents and some ways in which you're going to measure the KPIs and Now at this point you start kind of like thinking about incentives And if you start thinking about rewarding those parties and and you know thinking about some reward function The moment you start doing that is going to like you're gonna hyper Optimize that particular activity you're rewarding and you're gonna get less of everything else that you're trying to get so you have to be extremely careful about what you start to measure an award and You know think through like how aligned is this measurement and and these incentives that you're creating with the objective That you want to want to have how aligned are the participants? Are you kind of yielding a negative or zero some game or say positive some game? How is this gonna change over time one of the dynamics of the system? how our party is gonna start using the information and how they might you know change change the system and What are the kind of like relevant strategies they might have so at every point here? Each one of these steps might cause you to rethink your entire IE right so as you're going through this as you're identifying the objective The KPIs the agents the measures and the incentives you might like want to rework the whole thing So think of all of this is like good scratch work of like you're thinking about the structure And you by the time you make it here like you probably have changed it many times over Great so if you've like if you're happy with the incentives if you're happy with the objective If you're happy with the KPIs and you're happy that the measurement is gonna properly account the work Then maybe you might be ready to like write a description for this IE and I encourage you at that point to like Kind of rethink Not from what your objective was but from what you've actually written in terms of the incentives and the measures Like what is the IE actually rewarding what metrics is in measuring the groups and so on what our objective? Is that actually drops out of the incentives as opposed to the one you started with and try to compare those? And if you can like this describe those Well, then maybe you're you're off to like a good start and then you can want to try and like message it in some kind of like very crisp short inspiring pros because if you want to convince a large network of agents to actually do this you're gonna have to be able to describe your your KPIs and incentives and so on in very short sentences in very short sentences They're gonna be translated to many languages and they're gonna be spread through the internet right in in the case of Bitcoin It was like provide some Computing resources mind some blocks and get some money right so in in Saturn's case you want to get to that same kind of Quality where it's like hey add some share deliver some content share some bandwidth and get paid But ideally, you know, there's like that's the maybe the tagline You want something slightly more more nuanced that describes like precisely the activities like hey you set up a Machine is gonna be online this amount of time. It's gonna require this amount of bandwidth and and so on and Then you want to name this IE you want to scope the name you want to not overpromise like you think of the Bitcoin block reward Is the scaling constant shot to six IE it's not actually securing the network right like it's doing some work Then might secure the network, but if you you know hack all of the Bitcoin miners computers You can like take over the network anyway, so you know good job You got a bunch of shots of physics ashes doesn't matter So like they IE in Bitcoin is not actually securing the network. It's just creating a bunch of work The same same thing with Falcoons block reward It's scaling the storage capacity and deals being made are those deals like really valuable data Is that like really useful kind of adoption? That's a separate question Right like the IE isn't good enough to be able to like quantify that You know and and hopefully like you know, these are not good very good names They're not like super catchy, but they certainly don't over promise. So you want to kind of like to tune those those two you know what kind of Don't over promise the thing because you're gonna confuse everybody, but you definitely want to make it something catchy Cool. So now I want to kind of walk through an example with Saturday and we're gonna do this together with a notepad. It's gonna be awesome So suppose that you have a contract somewhere in the world and we're gonna have some like Reserve and so this is like You know some amount of fill or something Here I'm gonna I'm gonna follow kind of like a go notation where you have like the variable and the type if that's okay with folks And then and so we're gonna be able to load this with some reserve amount of Money that then it's gonna be distributed out to the world now. We want to have some Participants and so these will just be addresses So this is gonna be a set of addresses set of parties that are gonna be part of this this IE We also want to Track a set of measurements and here is going to be a Double set so one part will be a set of rounds Actually, let me I'll make it maybe this will be nicer So we're gonna have like We're gonna have a set of rounds and in each round we're gonna have a set of measurements per per party and a set of scores And so this is kind of like, you know mapping maybe we could do a map of address To score and Here we can have a map of address to measurement and So the idea here is that in these in every kind of like impact of elevator around we Commit to a set of measurements for the impact of elevator And then we commit to a set of scores. I'm gonna describe later how we can generate the scores and Let's see. Do we need anything else? Ah, yes so in this one we want to be able to run the computation in a private setting why a private setting we're gonna apply Say fraud detection and fraud detection algorithms You want to be careful by the product detection algorithms because if you describe them to the world and that just makes it that much easier to Cheat them and but and so you might want to have like sort of like hide the algorithm and You know ideally all of these would be public and we can probably get there But let's just suppose that we start with private information I just want to have that as a part of the example so that you can see how zero knowledge or Multi-party computation can fit into the system So we have some like Algorithms, we're gonna run as part of this IE that are gonna decide based on the measurements What score the participants deserve in that particular round? But the way that we're gonna run them is we're gonna have a set of evaluators And so that's just a set of addresses That are gonna sign off on some evaluation now that looks very similar to just a multi-seg could that be a multi-seg probably It could also just be another contract So this could actually be simplified to just be a single address. We're using you know smart contract Niceness you can kind of decouple back entire component and have it as a separate As a separate thing and so we can say that there's like some evaluator which can be instantiated by a group of parties Those parties or you know a whole other smart contract And Let's see. Do we know anything else? I think that's about it great So the way that's gonna work is that we're gonna define a particular period. We probably want to whenever we instantiate it we want to Depending on how you want to keep time you want to describe this as like a number of block times or number of days or something The way that you write the code is gonna of course like a change this but let's say that this is like You know, we're gonna describe this in terms of a number of blocks So far so good raise your hand if like you're following so far. Okay, great So now let's say that we want to be able to you know enable anybody to to add themselves as a participant So we're gonna have some you know add participant thing With where like whoever sends the transaction gets added as a participant and You know, you also can remove yourself. So suppose that that is a way of like editing this set of participants Suppose that you also want to be able to set the measurement and sort of like create a commitment and so here we're gonna pass in a particular round and This needs to be must be sent by the must be sent by evaluator Actually here we could we could the couple of the the thing and create two jobs. So Measure sensor sensor sensor is good Suppose that you have some sensor which could be as one party or a set of parties. They submit The the kind of measurements and these measurements don't have to all be on chain Right, you don't have to take all of the logs and whatnot and put them on chain All you have to do is commit to the data You can aggregate it what if us end up with a CID and put the CID there Now, of course, like this, you know important bits like this must be sent by a sensor, but it must not happen after You know, let's say we have to keep track of like the current round Round period the current round and Was not happen after after a round has passed So you have to like be careful to check that otherwise you would be enable parties to like set set the wrong measurement And and so on and and maybe you should only be must only Must only happen once Must not happen ahead of time So that just means in this code you should only be able to set the measurements for like one particular round a little bit complex But once you get that right then you have the ability for one sensor to submit the measurements into into the smart contract and sort of commit to them Now we just need to set scores from the evaluator And so this one, you know, must only be sent by evaluator Must and the same thing must not happen after the round has passed must only happen once was not happen ahead of time So for a second Now here's where it gets neat, right? Because you've committed to the measurements in some way this part of setting scores This could happen a ton of different ways you could have one party run if everybody knows the algorithm Which you know, you could commit to that by having you know algorithm As the idea of the algorithm being committed in committed to you could have somebody run that function in zero knowledge and Run that function over all of the measurements Produce the relevant scores and then submit the scores of the to the impact evaluator With a proof that it's being done correctly You can also have this happen in a multi-party computation or you could have it in an optimistic setting where you have some trusted parties that like You just trust to behave honestly But the point here is that you can entirely decouple that from the design of the IE and just worry about that in the Implementation of this of this of how you want to run this function and how the evaluator works, right? So the evaluator could be just a multi-seg that a set of parties control and submit that You know think of it kind of like the DRAN model Or it could be something much more complex where that evaluator is a smart contract that checks the proof Like if there's some computation that somebody runs Submits the proof to that other smart contract and then that smart contract then sends the scores after checking the proof sends the scores into this Is that kind of clear any questions on that part because I just kind of like glossed over like a ton of stuff All right good And then lastly you can just kind of like run the impact evaluator once the scores are done You could theoretically call this right after settings course or you could have this be Run periodically at a given moment in time if your blockchain is advanced and has something like cron So, you know if you know this just takes the latest measurements In you know takes the latest round takes the measurements take the score and then calculates the the Relevant kind of weighing based on that score, you know what what amount is going to come out of the reserve So this part that's a function that we haven't defined yet. So that could be you know some kind of like Reward function here where you sort of like have to describe the the function in some way Or you know if you're kind of like writing this contract specific to Saturn because everything that I've shown so far is not specific Saturn right it's very general you could use it for a bunch of things So ideally you can pass in like a function description here. I don't know Solidity supports this it might Or you might have a way of instantiating this such that you like loaded in a specific function But but ideally you kind of like have some way of Parametizing this such that you know based on these scores and based on the amount of the of the reserve and the amount of rounds So you want to go for and so on this reward function can decide How to map the scores for a given round into a certain amount of rewards that then I get paid out to the participants and the current participants You know based on based on this That's some some good any any questions so far Cool awesome super super clear super obvious Who thinks like this is good enough like any problems so far any problems that we're spawning. Yeah Yeah, yeah, so basically you're asking what is the governance of this whole thing Who who sort of governs this contract and who gets to change this? I think that's specific to the that's like Higher level than this contract. That's like that's a question. That's kind of like Partly out of scope of this Because you want these things to be pretty general and using a variety of systems those that like where it can be static like Bitcoin Or those that will be changed by the community like in Falco in skates with pips And somewhere you want it to be programmatic by you know like votes directly on chain like Tezos and others So I would I would kind of like define that as like this contract like all smart contracts in in EVM style Computation might have like an like an an owner. I don't know what the address is There's some owner address and so here the governance will probably Whoever gets to rewrite the contract has that that governance key in a sense. And so you want to kind of set that Yeah, so basically, how do you how do you implement this sensor? And how do you make sure that this is like honest and working correctly and so on? Yeah, this is definitely a A lot of the complexity in the Saturn in Saturn's case specifically a lot of the complexity lies in the In in the sensor for sure and Bitcoin it doesn't right because the sensor is just like oh, how many hashes? How many zeros are there in this hash sweet? But yeah in Saturn definitely the sensor is complex But the cool thing is like you don't have to implement that complexity in the IE You can kind of like leave that outside and figure out as a problem and likely improve the sensor over time Well So what is different from this from like a current contract or something What is the innovation of these? specifically So this is this is just showing you how to implement an impact evaluator as a smart contract So it's how do you remember this the structure? Like why okay, why are you Focusing on them and not a another evaluator like have you looked at other evaluators? No, so I'm just giving you one example of an impact evaluator implemented in a smart contract So I'm just choosing to give you this example. Okay. Yeah, and it's I mean it's pretty general Like there's nothing here specific It just shows you that you know block reward follows a similar kind of structure, right? Like the Bitcoin block reward would have a set of participants which are the miners The sensors just you know tracking the set of the set of zeros in a in a number The reserve doesn't get any additional money. It's just kind of like whatever it started with and so on Now this whole implementation is implemented in hard code in a bunch of different parts of Bitcoin Just this is a way of showing it in a solidity like smart contract or I guess a go solidity like smart contract The other thing I would add here is like oh, yeah One thing I forgot to mention this reserve. It doesn't have to be a reserve You can send money to the smart contract and add it to the reserve, right? So you can pay the you can pay the Saturn network for service And when you pay the Saturn service its reserve goes up as an example So this is an example of that flow that I that I described earlier where it doesn't it's not just the The the stock amount that you have it's sort of like a valve over time if it's succeeding then it'll The reserve will increase and whatnot Thanks. Hi, it's Andreas from legacy super super stuff super interesting we came up with two impact evaluators without knowing the concept and There are less technical and I was wondering, you know, what what what you're thinking is about that No, one is, you know, we're interested in high quality content in our network I don't see we basically want to do competitions All right, and so people submit content, you know You vote over that and then you say, okay Well, the best 10 people or the best 10 submissions get what right that one seems to be straight pretty straight forward I think the other one I think it's more interesting more tricky So that goes actually straight into the governance. So we're gonna have a data now to basically one network and We don't you know Ownership doesn't make sense in our model One one person one word also doesn't make a lot of sense So the thinking is that we said I was thinking was to say well You need to earn the right to vote by making meaningful contributions All right, and it's so exactly, you know, you get a measure Somehow the impact you have and then you basically get a voting token at the result for maybe a given point in time For a given period. All right now This I think where it's get really tricky right now, how do you measure? meaningful contributions All right, so it's you know, nothing really technically you can measure. Yeah, you know, it's not even like github We are you have a sort of formalized system. So it's it's you know much more loose, right? You got any thoughts on it? Yeah, I mean definitely I mean I think as we were saying before kind of the reward function and the how you evaluate the Contributions to a score or something like that. That's the When you're writing the application you want to define that super clearly when you're recruiting the community of agents that are gonna work together To to do this and they want to be very careful about how you change that and how you do that and so on so this is like a Lot of the thoughts will be very kind of use case dependent use case specific and you'll likely have to Evolve them over time, but you want that evolution to be done carefully with like the right governance, right? You want it to be kind of like changes and adjustments that the that the community of participants that are providing that service Understand is like a better way to achieve the objective now It might not be that I think that everybody wants it might be controversial. It might be difficult, but it achieves the objective So as an example the Ethereum community Removed proof of work like because the Ethereum community said hey, we found a better way to secure the chain We think this is a better model. It doesn't have as many downsides as generating all this extra waste that he Energy Therefore, let's kind of switch and that was a super controversial change that a set of participants didn't want however, that kind of like achieve the objective of the of of the Of the network better and so like one entire like subset like one impact of a leader in a sense That was it rewarding the shot to beat the six or like whatever if you're in use I think it's a different hash heat hash, I guess You know that entire IE got like removed and refactored out and so like one component got removed but then it got replaced with a different IE that rewards the the staking right and so that's an example of like Governance driven like shifts However, yeah, I don't have any kind of like there's no like silver bullet there in terms of like one answer and one way to do It is kind of very use case or application the phone Yeah, it was just one way I've seen other people doing something in that space All right, so that we don't have to reinvent the wheel or other building on top of other people's yeah I mean, I think I think there are a lot of kind of network intelligence or collective intelligence type algorithms That can generate good solutions for you in that space There's probably a ton of papers around this kind of thing of like how do you how do you use kind of like networks of experts to? To produce like good results or community voting For this and you know you can probably find a lot of these off the shelf And one of the cool things about this construction for an impact evaluator is that it lets you kind of implement all of that Behind one address is sort of like decouples the reward structure to have that running in the sky on its own While you figure out like the evaluator structure separately, and you kind of consult that as an independent piece Thanks a lot and by the way if this seems trivial, that's great Like that's the goal the goal is to kind of like describe this in a super super simple way So it's that you can go and like construct these kinds of things and try like incentivizing new new kinds of things Do you think impact evaluators combined with? Open economic networks that use generative flow models for their currency can help us build a world Where things are free by default instead of paying for compute or paying for storage Yeah, so in all these kinds of structures where you have something that's free by default What's really going on is that the economic activity is being subsidized by something else, right? so in the example of Like about going storage right now is cheap and in cases in many cases free entirely and that is being subsidized by the block reward And so why is where is that subsidy coming from the transactional throughput of the network and the long-term applications that are going to be developed over it Same with the theory right what was subsidizing all the shot if it's six is that or like whatever it has is that people were doing It was the transactional throughput of the Ethereum network and the applications that were being built on top of the theorem network and so you know things aren't like in the universe unfortunately, there's no such thing as a free lunch and so you have to You have to couple the economic flows and when you're rerouting something to make some activity free that Energy that energy is being comes from somewhere else and you have to like balance the equation so to speak and Ideally whenever you're in kind of a growth oriented structure Then you can like a lot of things can be really cheap or subsidized by that growth But that will only be the case until like you kind of taper off and stop growing as much and what you want to find is Something that is very stable even when you're not growing or when you're decreasing in in in the activity of the network So it is very stable and robust So like basically be careful with with with the design of subsidies and make sure that like our sound in Falco in case the The storage can be free or negative negatively price Which is even better than free right like the network pays you to bring data While the capacity is greater than the use Once a use gets to the to be as much as the capacity then at that point it flips to then be then cost money And the capacity itself is subsidized by the transactional activity in the same way that the Ethereum or Bitcoin Funded the work right if it's super valuable data on the chain that lots of people want to access Won't they be paying transaction fees to access the data there by making it free by default? That's that's exactly the structure of Falco. Yeah, beautiful. Thank you. Yeah, so Which is why FVM and contracts on top are like really important Because that transactional throughput is gonna like subsidize the capacity growth The capacity growth is gonna subsidize the usage growth. So just curious if in your view the IE is Kind of a more abstract version of a machine learning objective function or like reinforcement learning models Yeah, totally like it is no coincidence that These things can form networks and these networks look like neural nets So that probably suggests also that if you design these well You could probably use a lot of the ML structures. However, you're gonna build IE networks of like tens You know under 10 or tens of these you're not gonna build thousands of these because for each of these You have to like generate some function and and so on But I do claim that you could construct a set of these that behave, you know, like the Think of like I don't know if I had an image here I did Like control theory systems like this is how people fly planes, right? Like we fly planes with like these controller structures to like Sends the environment sends the altitude sends all these systems and then fly the plane, right? So you could navigate an economy like this if you have like the right combination, but crucially if apparently from that Noble price winning result it has to be committed to and not changed So the kind of like set the policy and don't change it is like crucial to these systems actually working So in a real use case, I mean in a in a more in an actual implementation of this I would imagine there is going to be a lot of additional smart contracts that you have to call and Depending on the use case you might need to do external calls to oracles because you have things outside the blockchain. So In my mind it sounds Complicated and it's good that is on a contract But if you have a lot of loose ends that they end up in some kind of API calls somewhere outside then Is there a different approach that? You would recommend in such a scenario that doesn't try to do it In a smart contract like no, I think I think it's crucial to have in a smart contract because this is this is the kind of like Commitment to the network that this is going to be a function that kind of goes over time and The thing that enables a lot of parties to actually do their work is that this reserve is there if this reserve is zero Then that's not a credible commitment to pay out, right? And so Bitcoin and Falcon and Ethereum and so on are credible in terms of people going and doing the work because that reserve Is large and it's locked up in the system like people know. It's there. They know the code They have read the code. That's all credible and so you can go there So to that point like ideally the sensors themselves and the evaluators themselves are code that you can commit to and that everyone can inspect There are some complexities here, especially when you think about like broad detection and whatnot But maybe you can commit to the function and then tune the parameters privately or something But you can ideally still run all of this in a verifiable way We're like it's in zero knowledge with your knowledge proofs or MPC or something so that the entire thing is stressable The the thing that like enables this community of participants like to work together and achieve the objective You know kind of like to to collaborate and kind of like have this like amazing prior preferred Structure is that there's a contract working to bind everyone together to achieve the goal set So if you if it's all like really mushy and like not verifiable then parties can't bet on this in a long term The reason you get kind of like Falcon miners and Bitcoin miners and Ethereum miners like committing for years with like huge capital investments Is because this is a massive scale commitment into long like years into the future. That's not changing right and like that commitment It's like is something that groups can like bet on in the long term And so you want to achieve that kind of like robustness in the system So I would like say this is kind of like why describe it this way so that you can do the hard parts of sensing and evaluating Outside or in some kind of like more sophisticated Program, but you have like the core of like the meat of like the commitment Publicly expressed and publicly relied on Hey, so two questions first off It seems like The sort of contingent thing here is that we are Setting up some rule buck and then everybody has to play by it Which means that we're at like fundamentally a first mover disadvantage that we like publish the rules And then people can like sort of play them to try to like break incentives You mentioned that like increase in complexity of those rules allows for more opportunity to break them Do you have any other general advice for how to do mechanism design such that like it is not easily broken and then two You mentioned that sort of the pool of cash behind that you can like use to pay out Is sort of like the the other necessary thing to like get this thing started Are there any good metrics for like sort of bang for your buck between? cash in your pool and like Impact on the network is a whole long term In like incentive structure. Yeah. Yeah, I'm Sorry, can you repeat the summary of the first part again? Yeah, how do you how do you deal with the first mover disadvantage of people being able to break the rules like water? Yeah, especially for something complex like Saturn where you're the metrics are gonna be fairly difficult to get any one Sub-second retrieval so you don't can't like it's like a two-party transaction You can't throw in another party to inspect the thing and so on Then you are gonna have to be tweaking the structure and learning from the system And so the first like a lot of the first rounds will have to like evolve into the right structure And it's it's something much harder to incentivize and then like just like the proof of work reward of Bitcoin So I would say like that just kind of comes to the territory of building this new network The benefit is that when it's early a lot of the participants get to split like a split some reward With like less participants because there's just a lot less other groups to compete with so there's like some utility there And so over time kind of the the there's a kind of like a meta optimization here Like the the system itself like arriving at like the right way to measure the thing So that's kind of what I would say there are disadvantages on both sides both in the like joining the network Early and in designing and trying to run the network early and hopefully you make it up by By having like just stronger rewards for all groups involved Now the on the second question is like hey, how do you know that you're paying for the right reward? Right, like how do you know that like your your? Evaluator is doing well, so the simpler it is and the more coupled with like what you're measuring the the better like as an example like You say the Bitcoin the Bitcoin hashrate like follows the the the price of energy and the amount of Bitcoin and Bitcoin's price really well if if like Bitcoin's price increases or decreases you see a corresponding increase in the increasing hashrate And that's just coming comes from like Parties calculate calculating our eyes in Falco in this case You actually have to design against that because when you're storing people's data, you don't want people's data to like be be lost To you that's why like the entire collateral structure exists to kind of turn that very like fast moving signal into like a longer like time amortized signal where like you're kind of delaying the the function But the kind of like the point-send is like you want to have a good sense of like the value that you're creating as a group and Then factoring that in so one neat thing for Saturn specifically and other things like it if you take this valve approach Then you can sort of like imagine starting the reserve with a small amount of currency like not a lot I suppose kind of like the traditional blocker words and then factor in Product demand parties wanting to use the network and funding the network as the demand generator So you can actually have a proper regenerative finance type loop where the more value It's creating the more money will come in and reward And so the better the services the more customers will want to be attracted and the more money will flow in and that way You can kind of like couple the service with what the customers actually want as opposed to say the When you just have like a huge subsidy with without like relating that to the demand of the users Then it's hard to like hard to cause whatever is being subsidized to actually meet the demand of the user Right. So so this kind of like valve structure I think will be much more successful to create these to coordinate these large-scale networks to actually meet that The demand and meet the market's goals I was thinking about that the valve idea and The incentives behind more people joining because it seems in a decentralized environment if no one own sales then sales won't happen. So how do you see that loop? Yeah, I think you basically have to Measure sales in some way and design an IE for that and then have a couple of these into into multiple things Right you sort of like have some that some IE that's being the controls like the the intake and then that splits like into kind of like sales and product development and then The work in in terms of the running the network and so on and how do you set that? That's a hard question and that's maybe for that IE to figure out. Maybe there are some like good This is like great question for like how do you run a Service or utility like this in a public setting and kind of govern those those parameters based on the actual real impact that you're seeing So but I think like we're entering like a really neat design space like if we get like the IE for Running the the the Saturn nodes first working well Then we can design an IE for running like sales in the product in a sense and get that working Well, and then we can once we have those then we can design another one like sort of couples between them I had a question regarding the almost inevitable risk of arms race when it comes to fraud detection and agents finding ways to gain the incentives in the system and I had an intuition and I wonder what's your take on it that if there's some form of coupling between the governance function that let's say decides on the algorithm and The participants who let's say receive payoffs that determine that governance function They could essentially, you know be two kind of outcomes One of them is they'd vote themselves the treasury and they'd vote themselves the entire reserve But that wouldn't be rational to do provided that the value of that reserve depends on let's say, you know that The value generated by protocol, right? So the agents would have an incentive to actually perhaps, you know Make peace against the potential arms race and fraud in behavior and we might be able to stabilize The risk of gaming the incentives. What are your thoughts on that? Yeah, so so that's that's neat I think it's possible and in all of these communities You always find a large group of participants that want to kind of like do the right thing by the network Not only do you find a large group? But actually a security of all these blockchains right now is written in terms of a set of honest participants and the son of malicious participants So I know like that's a broken thing like all of these networks are primarily rational so it's it's rational Byzantine and altruistic Nodes and the proportion of Byzantine and altruistic nodes is actually quite small and it's predominantly rational things So, you know great encouragement to everyone out there to like actually write proofs about all of these systems in the proper bar model like Byzantine altruistic rational because and Anyone who's ever like run a blockchain knows that it is not, you know, over half honest like it's it's predominantly all rational behavior and the security proofs of all these Byzantine consensus protocols is based on this Split of honest to malicious which is does not hold right? So so the entire blockchain world right now is lagging on like good proofs based on this rational model now The to your question, which is I think really interesting is like can you create an incentive alignment there? Where parties know that the more they behave in concert with the objectives not with the spirit of the of the contract Not just the the actual written code of the contract leave the loss of the contract Actually yields much better returns for them Like I think if you can't encode that into the rules of the system in some way Like you might have a meta way of doing that where you can sort of track the track the growth or the or the like You can be tracked like how good the service is or how how like track ratings from from the users or the customers of this product and use that as a multiplier as an incentive setting where like That could be like super interesting, right? So when you do right sharing with you know Uber or Bolt or whatever all of those systems rely on star ratings that are very closely coupled to people's rewards right like the higher the ratings and more rights again the more money they make and That's the user providing some feedback into the system And so there might be a way of doing this here where like the Customers of the product can like produce ratings and into the network that then come in as multipliers for all of the parties that were involved in providing that that Resource I just I don't think that Without some like incentives in code that actually changed the ROI calculations You'll get that behavior because you're you're dealing with very large-scale networks that are anonymous on the internet Where defection is really cheap and that's what's really cool about these systems Is that you're getting coordination and kind of like the hardest setting possible and then building you're being forced to build it out of like economic soundness as opposed to kind of like Human contracts and like this kind of like broader expectation that parties will just sort of like agree to build a service I think that's much more robust And so I think solving it the hard way better is like yields much better systems in the long long term Yeah, I had a question on the subsidies part that we talked about so if you break the reward function by Aligning the subsidies to some different Mechanism doesn't that break then the alignment with the KPI like the example of Bitcoin is a good example where? whenever the Coin-based transactions start to run out eventually at some point as people have kind of stipulated There may be a breakage in terms of the security guarantee So isn't that kind of going against the whole model to rely on a subsidy? No, I mean, I think so so in in Bitcoin's case it doesn't have this like neat alignment of Of the value so a few thoughts here one is This is why in Falco and we have baseline minting where there's a the protocol defines a certain expected amount of Capacity growth in the network and if the network is not meeting that then the proportion of the reward that gets given Decreases so there's a function encoded into the system is like what the system expects to be doing There's one example, but it's very crude ideally you want something much more couple to the customer demand the customer utility as we were Describing so there might be better ways of doing that and I do think that in general creating a subsidy upfront and just placing it there is very risky and Like more error-prone especially in the long term than having a flow and tapping a flow I think tapping a flow is much better the The counterpoint to that though of course is that by by placing this big reward in the sky People can it becomes really credible It's not just a flow and people don't have to bet that this thing will actually work and the demand will come and the customers will be There but it's just like it's a treasure chest in the sky that if you do some work You're gonna get rewarded and that's really powerful right so people could go and mine Bitcoin Without caring about Bitcoin's feature and that was really really powerful in terms of recruiting a lot of work for the network and so just kind of like You have to as a designer of these mechanisms and designer of these products You have to think about like which things you lean on and maybe the right thing is to have like a large a significantly large reserve That's there as a credible commitment, but primarily influence how much gets rewarded out based on the flow as like Good like good work from that group should be increasing that reserve because the work is like Spending less than the customers are bringing in right so think of it as like Traditionally of how you would traditionally think about a business or or or a company or something like you want it to be growing in terms of its utility And and its efficiency, so you could think of like a measure like that of like How much the yeah taking taking into account like the the change in the reserve itself of like how much is coming in versus how much is going out but in general I think like this idea of like switching to flows or or how you know Incorporating that into these contracts. I think will be will be really promising So I'm pretty excited to like write these things and start playing around with them And I think you can incentivize this structure is like simple and general enough that you can apply apply it to lots of different kinds of things So I look forward to like deploying a lot of these into into the network. I do think like we have to solve like the Running running the computations here and zero knowledge or an NPC or something so that this is like very very trustable Great. Thank you very much You