 My name is Will Warren. I'm here with Peter Zeitz, and we're from the Xerox protocol core development team And Xerox just briefly Xerox protocol is an open protocol for peer-to-peer exchange of Ethereum tokens We're not going to be talking about that too much Instead we're going to be talking about how we're thinking about building a self-sustaining ecosystem through governance But before we get into that I'm just going to provide a little bit of background on Xerox The history of Xerox and how governance has been a critical piece of the project Core requirement from the very beginning And so I'm going to talk a little bit about technical protocol governance So Initially very on before we were actually working on what is now Xerox We were initially building a for-profit decentralized exchange that would be owned by a corporation and would be generating revenues and something that we identified very early on was that we were building this system of smart contracts on top of a rapidly evolving technology stack So Ethereum was still in its infancy the Ethereum virtual machine was changing the smart contract programming language was changing Everything was you know changing at a very rapid pace and so, you know what we realized is that if we were to build our Protocol for peer or to build our decentralized exchange in a single monolithic smart contract That there would be some issues when we would have to upgrade and That we would have to upgrade frequently So here you can see in the slide. There is this smart contract represented as a triangle You can think of this as containing all of the logic associated with exchange and you have these traders that are depositing there they've deposited their funds into the contract and they're using it to trade and one of the issues that you encounter when you're building on top of a rapidly evolving technology stack and you have to upgrade your smart contracts is that Your users have to withdraw their funds from your old smart contract deposit them to a new smart contract and it's a costly in time intensive process Now further as you continue to do these upgrades another issue is that You'll have user churn. So every time you do an upgrade. It's it's a costly and time-consuming process and users will drop off and another issue with doing upgrades in this way is that It can lead to fragmentation So some of the people might decide not to move to the new and most most recent version of the contract And this fragments the network and destroys a lot of the valuable network effects that you get around liquidity So we realized that in order to create a system that would make sense for us long term We needed to build a modular pipeline of aetherium smart contracts This pipeline would allow you to replace parts of it without affecting the other parts of the system and you know this is kind of a diagram of what that pipeline looks like and What you can do is you can unhook one module and Hook in a new module and it allows your users to seamlessly Transition to the most recent and up-to-date version with practically zero friction Now when we were building a our own for-profit decentralized exchange, this was a very easy Process for us to do, you know, we own these contracts We can just decide to upgrade them whenever we want. It's our decision but As we spent more time in the aetherium space and met with more teams that are developing on top of aetherium We very quickly realized that there are many aetherium projects that require exchange functionality And we determined that all of the work we were doing this system that we were confident was designed in a very good way Would have much greater impact if we designed it to be an open protocol rather than a proprietary Exchange so anyone could build their own exchanges or markets on top of it So in an open protocol, there are many different stakeholders. There's you know today They're you know, there's 15 or more different relays that are for-profit businesses building on top of the same set of smart contracts In a various infrastructure projects that exist So this begs the question who gets to decide on upgrades and who approves them Well, obviously the answer should be the stakeholders the people that are actually making use of this system should make those decisions So how can we identify who is a stakeholder? So the way that we determined was the best way to measure this is you want to measure how much each party values access to the protocol utility and You can measure that through a usage token that is used in order to access that protocol utility So this is just a brief explanation of what technical protocol governance means in the context of zero X protocol but in you know today there's a vibrant ecosystem that is developed around the protocol and Governance has extended beyond just technical protocol governance to be something that's much more important to create a decentralized ecosystem and so that's what Peter is going to talk about now This is Peter Zeitz use research fellow focused on governance at zero X so I'm gonna hand it over to Peter. Thank you. All right, so we'll talk to a bunch about upgrades and This process this collective decision-making process where we take our software and we improve upon it We'd introduce an upgrade and that is being this motivation for governance I've had this experience with software upgrades as a user of software You know where Microsoft sends me a list of upgrades with some numeric code and I have a voice here Right, I can choose to install these or not to install these Right, so I have this I've participated this decision to upgrade my software and Microsoft at least doesn't do it without my consent And yet I feel don't feel like I'm empowered at all really I feel like I have to choose these upgrades Right, so my thinking behind this is that really just the ability to approve a change in your software really doesn't give you very much control It's not sufficient to empower you to ensure you get the products you want And so we want to think about how can we change this? How could we make it so that our product is something that is constructed to offer users the upgrades that they want to serve them and I really feel that the the only way of doing this is giving the users some control over the purse strings Right, so Microsoft developers they work for Microsoft shareholders They give me these to present me with these choices that Microsoft shareholders want me to see and what we want to see instead is The developers working for token holders and presenting the Xerox holder the token holder with a choice that he wants to see So he sees the code that he wants to choose to use as opposed to what some investor might want him to choose to see Okay, so how are we then going to operationalize that so that the token holder controls the purse strings Well, we're gonna start you know by thinking about a committee as being a rep the Xerox token holder as electing a committee And this committee is gonna work on the behalf of the user the token holder to influence the allocation of funds for development in our ecosystem and This is kind of like a risky scary prospect We can imagine the users directly choosing who gets money to build what? Right, and it's releasing control You know from our organization to the community and involves a lot of risk And so we thought the best way of approaching this in order to address this issue of risk Was to start small and work and build up from there? And so we imagine the short term of the Xerox token holders electing a committee That's gonna be responsible for allocating grant funds to community projects, right? So these are product not that the work and development of the core protocol itself But instead the funding of third-party development of projects that are building on the Xerox protocol like these relayers Or maybe they're making market making tools, or maybe they're doing Educational videos that will help attract users right that we have all these actors in the ecosystem You know that benefit from third-party projects, which we're already funding right? So we already have a program within our organization to extend grants to people working to building on our software and we'd like to empower the community to take on that function for us instead of just doing it in a centralized fashion ourselves and The longer term we hope that this experience with community directed grants will inform how we can use an elected committee You know elected by the Xerox token holder To control the development of the core protocol itself, right? So the developers on the core protocol are working as the employees of users rather than on behalf of someone else Okay, so I should at the start here note that this is a really hard area to make any kind of commitment So this is not a commitment You know that explains exactly what we're going to do because we don't have sufficient knowledge to know that right now Right that this presentation is expressing our current understanding of how we see Governance in the Xerox protocol evolving but that understanding is almost certain to change in some way Our long-term plans are going to change as we do this You know experiment with governance where we begin to devolve power to our users and get them to diminish these grant funds We're going to observe what they do and we're going to learn from that to improve our program We're also observing all these other crypto projects and their governance Experiments and expecting to learn from that and there's also this big elephant in the room where the legal environment for for allocating funds and you know using user votes is very very uncertain and Every kind of blockchain organization faces this legal uncertainty and so we're going to have to accommodate You know, whatever the law allows us to do and you know be flexible with our plans to make sure that We don't face legal risks and that our token holders, you know, don't face legal risks as well Okay, so the first element of this is you know, we have this committee that the token holders are electing a committee Right and then this committee is going to distribute grants And so the first element I want to explain and help you understand is the the use of grants itself Why should we use you know, create these grants to pay people to help them begin to use our software, right? What's the purpose of this? Well, our understanding is that we have sort of this this user platform with multiple classes of users and The activities of one class of user have implications that are broader than those guys themselves They affect the entire ecosystem. They make the entire ecosystem more attractive to other participants So that when if we fund projects, you know that work in one part of the ecosystem that that drives growth, you know All over across the board it drives it encourages More users to come on board in other areas and so there's kind of three kinds of main projects We might fund we can imagine a great the relays are here So real errors create these specialized asset markets where a certain class of tokens can be traded and those tokens Maybe there's a real error that trades in utility tokens. There might be a real error that trades in crypto kitties or You know playing cards, you know collectible playing cards or maybe a really that trades in security tokens venture capital funds There are all kinds of specialized asset markets You know where these tokens are traded that could be created And so one purpose of grants would be to create more markets to begin to serve new markets Using our protocol and then once those markets are opened up that will attract You know traders who are buying and selling tokens right someone wants to buy a crypto kitty Then they might arrive at this marketplace to do so You know someone much might have a bunch of crypto kitties They've collected and they need to they need to you know pay for their mother's medical bills So they're going to sell all their crypto kitties to do that And this this then marketplace is a place they can take those crypto kitties to to sell them off All right, so those are these traders right and as you know The traders are another place we can target resources right because we can market we can develop tools That make it easier for users to interact In our ecosystem that you know help people understand how the ecosystem works that deliver them that Bring the users to the real heirs They're just that improve the environment for traders in different ways right so grants could do that And then as we bring on more traders, there's another element here, which is market makers who provide liquidity right because we have On these exchanges there are sort of retail customers who are arriving there occasionally to buy and sell what they want but they're also sort of Consistent participants who do market making hold an inventory of assets of tokens on the real-ear And then buy and sell these tokens in response to sort of sporadic demand that comes from these traders who arrive You know to buy and sell when they want to at the more traders we have they're coming to buy and sell the larger an inventory of assets It makes sense to hold on this on this real-ear you know the more buyers the more People holding inventories the more markets it makes a sense to open up Right so if you have a grant that drives growth in one part of the ecosystem that will then fuel you know follow-on growth in other parts of the Ecosystem through sort of a self sustaining Processor a self you know perpetuating process All right, so the goal of the grants then is to sort of identify Aspects of our ecosystem that are bottlenecking that are constraining growth right now and help to alleviate that bottleneck by Targeting funding to that area Because that's why grants But of course grants do not need to involve the community Right we could we have an organization that has some resources We're already using some of those resources to award grants to third-party projects as many of the relays that have been created you know our projects that we had some involvement in you know giving Nondilutive capital just just giving them free money essentially to help them begin building at some point in their lifespan So we're already doing this and why involve the community in it Well as I said before and we want to make sure that The code that's created in the Xerox ecosystem is created in order to serve users And we feel that the best way of guaranteeing that is to give users Control over the purse strings right so that they are the you know the money is being spent on their behalf So we feel that the Xerox token holder should exercise ultimate control over resource allocation in the Xerox ecosystem and in order to do that we want to Compower the community to Determine how Grants are allocated what kind of types of projects are created to make sure that they get the projects they want in the short term That means community control of grants distributed to third-party projects that build on our exchange standard and the longer term That means community control of upgrades and extensions is that core protocol to the core exchange standard So for example, if the users decide that there's a proposal to improve the protocol That's that's created by some other development team right that that isn't us But they could potentially choose to fund that team instead of the existing group of developers Right so you can see probably how that would be really Empowering and it would ensure this kind of level of accountability Where the developers need to be responsive to user concerns in order to ensure their livelihood? Okay, so what why an elected committee right so we can imagine doing this in other ways right it could be that there's a grant proposal a Third-party project creates and it broadcasts it to all the token holders who read all the details of its white paper and Then figure out whether they want to vote yes in this proposal or no and we felt that This for this type of decision Having every single user read and vote does not make much sense right in my interpretation There's kind of two main types of collective decisions and depending on what type of decision you're dealing with you know You may want to use participatory democracy to arrive at that collective decision or you might want to have a Delegated former representative of democracy where the token holders elect the representative who then makes make decisions on their behalf And so for participatory decision, you know, there may be cases where individuals know exactly what they want just by glancing at the issue Right, they don't need specialized expertise. They don't need a college degree They don't need to do a lot of research and reading to figure out to vote yes or no. Maybe for example There's in my municipality there's a proposal to create a playground and That playground will cost as much to build and the taxpayers will have to pay I say a million dollars to fund it and I have a couple kids I can evaluate now how much benefit when my kids got out of the playground is it worth it to Pay that extra tax money to build that and I don't need to ask an expert Right, I know right away because it affects, you know, I can I know as a Resident in that community exactly whether it makes sense to me or not and I can just vote yes or no Those types of decisions it makes a lot of sense to govern via participatory process But there are other types of decisions where individuals need to make a serious effort in order to come to an informed decision Where someone might need, you know, a college degree even a graduate degree and then even with these degrees They would need to do a lot of reading and research before they felt like they had sufficient information To have a preference for one outcome one decision over another, right? So should we scale the ethereum network for be a sharding or via plasma and which approach to sharding should we use? Which approach to plasma should be using a dag or a or a blockchain? These are very very complex issues or even an expert needs to do it a lot of time to doing research Before they can come to an informed preference So for those classes of decisions it makes sense for individuals to hire someone who has expertise to take make that effort on their behalf Rather than than making decision directly through a participatory process Okay, so then the next question that I think that arises there is right So we have an expert who's working on the user's behalf. We already have experts Why do we need to elect them? We already have these core developers who spend their entire working life pouring over their protocol Reading white papers reading about emerging technologies making choices about what types of things to introduce If we already have these experts who are employed to do this, you know, why do we need more of them? Okay, what is the the purpose of creating a you know a separate body? So here what I think is really important is that the elected committee, you know provide a source of information That's independent from the core development process, right? So there are people looking over the developer's shoulders Observing what they're doing trying to learn about the choices They're making and ensuring that those choices are being made on users behalf And the reason for this is that while the core developers are informed experts They're also not particularly good choices for user advocates because they face a con a conflict of interest right fundamentally They're the employees of the ZRX holder the ZRX holders have crowdfunded development of this protocol and And they're therefore that you know the developers are working for them, but you know they have this issue that Continuing to have this job is their source of livelihood, right? They have this sort of more clean raises this issue in this quote You tell me where a man gets his cornpone and I'll tell you what his opinions is So what's this saying cornpone here is how a man makes his living and the idea is that I need to you know My imperative is to continue earning my daily bread, but I'm just going to tell you whatever is necessary to make sure that happens Right, so if we don't If we don't have an independent advice, which isn't dependent upon Giving certain advice for its livelihood, right the users really can't you know trust the info that the that the information They're receiving is is reliable So the solution then is a committee of Outside experts right to have the users that vote people in in this committee that are outside of the development team Okay, so sort of get a better sense of this You know I'm going to argue that that the users need this access to unbiased information Right, so they need to know that this source that they've a that is providing them with the device is independent from the development Process and they also need to have control over Funding so they can act on that unbiased information to influence what projects get built So you can imagine some users here and they say how do we get developers to address our concerns and we're not happy with the code They're producing they haven't the scalability problem. They haven't done anything to address it What if we voice her displeasure by refusing to utilize the software they created? It's the users are considering that the developer might say wait wait those are critical security upgrades Failing to utilize these could put your funds at risk. It could put decentralization at risk. It could result in someone Capturing the protocol and there's this huge danger that means that users need to download these immediately and the users as Naive fairly naive participants really don't know how to react to that right there's this risk that maybe the developers telling the truth and Given that risk and most people will just say okay We'll vote yes, and they'll be left with this problem Still you know how do we get our concerns addressed and they can take that back to the developer The developer might say we don't have the resources for addressing those concerns or it's infeasible to do that or trying to Accommodate what you want would break decentralization, which is our key priority and so we can never even consider anything in that direction and The the key problem here is that the users really can't evaluate these claims the users need some independent source of information They can consult which can tell them is that legitimate or not legitimate that isn't just the guy writing the code And then they need to be able to act on that by allocating money to someone who's actually going to work to create the code They want Okay, so how will this work? I think the first key thing to focus on is This source of funding right we want to take funding that's currently under the control of Z of our organization It's under centralized control shown here and then release it to a committee Which is going to be controlled by the community and when that when that happens when these this is saying Negative one months here is negative one months before one month before the committee is elected. We're going to grant Funds to the election process and once we do this once we release these funds There is no centralized control anymore The token holders votes and that the committee they elect are going to determine how the money is spent And even if we don't like this, you know, we there's nothing we can do about it without say a hard fork or fundamentally changing the code Right, so this is like this this key step of moving from centralization to a decentralized community directed process At the same time, you know There's needs to be an election process where people are nominated and the token holders elect a community a committee of say three people Who's going to represent them? Okay, so we're going to move forward and then after this one month nomination election process is over There's this committee that's serving Holding these these tokens that have in multi-state custody, right? So this there's money that's taken from us and transferred to the community controlled committee And then the committee can look at grant proposals from the community, right? So independent project startups will ask will sort of be begging for funding and the community The committee will evaluate their proposals and see if they're whether they're worthy or not whether they serve the community interests and say one week later They have a suggestion of a proposal. They'd like to fund and they they bring that to the community They announced the community. We would like to send this many ZRX tokens to this third-party project What do you think? All right, so this is announced and the community is going to have to again have a week to observe that and If they choose not to act if they say observe what the committee proposes to do and decide to let that happen Then this the ZRX tokens are released To the third-party project and that project is then going to spit out some some code which help hopefully benefits our ecosystem Helps it grow, but we might worry. Maybe this committee is corrupt Maybe we have bribery or some some problem that's resulting this committee being captured So that once they're in office, they no longer Serve the interests of token holders and so we want the token holders to be able to intervene in some way And so this is this is possibility that then this proposal is announced and it's observed for a week and in that week's time The ZRX told us can take action to hold a vote to block the proposed allocation And if they succeed in doing that that will trigger an election of a new committee And hopefully this new committee will then go on to to act truly on the user's behalf and not propose Allocations that result in them being recalled, you know by their constituents Okay So this is the framework for the grant program and we can think of this as being quite generalizable and adapting it to Sorry, so I forgot to so if the proposal is continued If there is no blocking right then then these committees are intended to serve for a one-year long time span And so this process of proposing allocation and then having it go through a week later would continue Over the course of a year until the committee's terms expire and then they're they go back to being reelected Okay, so I was going to say this process is quite generalizable And it's probably pretty easy to see how we might expand that to encompass not just governance of third-party project funding But also governance of core development funding itself And so the couple differentiators of how that you know might need to change to encompass to govern the core protocol Especially there need to be more funds, right? So we have these larger Established organizations with say dozens of employees and they're going to need to be supported by larger allocations and Early-stage startups Okay, so we can imagine more funds going to the committee and the other issue with a Larger project with a bunch of employees with built an office building. It's renting It has this these near-term funding needs that it needs to have certainty over right it can't just be Getting funding on a week-by-week basis and be uncertain whether it can actually continue to pay salaries instead It needs to have Certainty that it will receive a certain amount of money that will sustain it over say a year-long period All right, so in this modified process the committee, you know When it holds office and then after being office for five months it will propose an annual budget Which will govern all the funding for the core protocol for that year and it could be distributed to say one development house If there's just one development organization or multiple development organizations if the committee thinks that is a you know better scenario for the users and Then you know given that this is a larger decision that the community has a month To either let the decision go through and then the money will be released to development houses or block it in which case We go to reelection But other than that, you know, essentially the the long-term Plan is very similar to the small-scale sort of short-term Grant program plan Anyways, thank you guys for listening. So this is the end of the presentation I just want to ask if you guys have any questions feedback or suggestions So I can take a question right now if there's time is no no time. There's no time. Sorry. Sorry You'll have to please please come talk to me afterwards or right now