New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

EthCC 2 : Louis Margot-Duclot

Ethereum ParisWed, Oct 9, 2019, 12:00 AM

EthCC 2 EthCC, the Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. Follow us : @AssethFR https://ethcc.io

Transcript

all right so hi everyone my name is Louie we're very happy to be here presenting our methodology for building complex covered in systems on the etherium so that we'll be presenting Cal's and the framework and distributed application decentralized application that we built so we are a small startup based in Paris with quite diverse background quite young and we have the mission of we have the mission of tackling the problem correction which is a problem that cost the world more than 2000 billion dollars each year additionally to one thousand and five hundred billion dollars of corrupted market public markets that are passed each year so we do this by basically developing decentralized tools software tools and by having three main activities which is which are strategy consulting so we'll help him our client understand what blockchain technology can do for them and what a team can do for them we develop smart contracts and we manage technical teams for building gaps or building a decentralized system and we make education we make public events to explain the public what kind of improvement a theorem can bring so some of you may know us since we developed and published Cal's in last year in June which is a smart contract framework and adapt for building equippable governance systems so today we're gonna talk about three things first is what is scale then and how does it work the second one we'll be our mythology and then if we have some time which is not sure we'll do a quick demo right hello so my name is Henry I work with Louis so what is Calvin we when we started to design Calvin our objective was to be able to design any kind of governance system in a way that is easy to to modify and to understand so in order to be able to design any kind of governance the first step we had was to come up with a methodology to design governance system or at least two categories a categorized governance system so the very first thing Kalyn is is it's a way to read a governance system and to design it to put it in a box and to come up with a diagram that helps you categorize your governance system the second thing Calvin is is it's a set of smart contracts that are independent one from the other that can be used as Lego bricks to put the diagram we came up with in practice and to deploy your organization on an a turn-based blockchain the third thing we did with Skousen was to build an interface that helps you interact with the smart contract you deployed so that you can deploy you can first design your organization then deploy it then interact with it so when we came up with this methodology we had several criterias in mind the first one was that it needed to be secure in order to be in for it to be secure it needed to be simple because I saw it in another in a novel slide in another presentation today it's a bit of a commonplace to say that complexity is the enemy of security we very much agree with it and you'll figure out that our model is quite simple to understand the second thing we wanted it to be was open of course and the third thing the fourth thing which is actually the most important is we wanted it to be modular because governance system are living beings they're not set in stone when you have a governance system that works for today eventually you're going to be you're going to want to move it and change it because that's how group of people work eventually your rows needs to be changed and so we want it the rules of our system to be able to be updated according to rules set by the community itself it also allowed us to come up with use cases that were gradual you start simple then you build more complex governance system on top of it so I'm going to explain what our methodology is I'm going to focus mostly on this because I think it's that's where most of the value of what we propose come from so at its core we imagine governance system as lists talking to each other so lists of people or things discussing with other lists of people or lists so to take a very simple example in France we have a parliament that is in charge of writing laws so you have a list of deputies voting to and then so to add to remove or to replace an existing list of laws and these deputies themselves are part of a list that is amended by another list of people who are able to vote in France so at its core that's what our methodology is it's to figure out that governance is list of people or things doing other things to other lists and once you start seeing your governance model through this prison you're going to figure out that it's mostly two things so lists and procedures a list has a specific procedure to add remove or replace an entry in another list and you can design any or you can take any kind of existing governance system and design it and draw a diagram of it functioning that way so our system is based on this parting and we called the lists I mentioned organs and we call the procedures procedures the objective was to have a very simple brick which is the organ which is the same for every organ or every list and a wide set of procedures because procedure can depend it can be vote from one people to another one one people to elect meaning other people or many people to elect one there's a wide variety variety so the basis in organ is a list of entries who can add an entry there is a novelist in the organ that's called the admin list the admin list is the list of addresses that have the ability to add remove or replace references this list can be people or smart contracts that are themselves procedure and then there's a higher-level list which is the master list which is the procedures or people who have the rights to immense the system and change the rules by which you add people in the list of norms right it's quite simple when you look at it it's just a list with two levels of approval but we can come up with quite interesting thing with it so for example this is an example of how you we would design a participatory budget using cousin so you have a single organ that lists the people who are part of this part participatory budget this contract being a contract can also have a balance and you have four procedures four main procedures P 3 and P 4 who are used to add or remove orders these can be nominations this can be competition it can be whatever you want we have P 2 and P 1 to both add funds or withdraw funds these proposals can be simply giving the opportunity to somebody from another organ to withdraw funds or it can be a vote offer to the community and finally you have another procedure which is p0 up there which is used to change the rule of the system so let's say for example your participatory budget uses a vote to withdraw fun we're 51% of the people need to vote yes you want to change this rule you need you need everyone to agree to use p0 to remove p2 from the system and replace it with a new contract a new procedure that will then have the authorization to manipulate the funds of the organ and this is a very simple example but we have come up with much more complex one and I'll let alone talk about it yeah so that's really what makes chaos and powerful is that it's whatever the complexity of the system that you want to build you'll always be using the same basic fundamental bricks which were organs and procedures so here we we show what would a calcine system look like if it wanted to replicate how the French Constitution works because we're based in France and so basically it goes like this you have this list of voters will have three procedures attached to it so voters here will be able to vote for three things vote for the President of the Republic so the list of all the presidents of the Republic actually there will be only one in force in exercise they will be able to vote for p2 which is the general elections representatives at the National Assembly and they will be able to vote on the electoral college who themselves can vote for senators and the interesting parts here is that so you can really draw all the different actors that come into your system and model it with a very high precision and you'll see that here we have a procedure that will take the President of the Republic the Speaker of the House and the Speaker of the Senate to allow them to collectively add members to the Constitutional Court which is here which is how the Constitution actually works today and so then this Constitutional Court will have a veto power here on the legislative process so representatives and Senators will be able to vote on bills to adopt or reject them eccentric cetera and then you have a check from the Constitutional Court to know if the bill that has just been passed is constitutional or not and if it is it's added to the list of passed bills that then need to be put in force by the president either by this procedure here P 9 where he will just sign the bill through a transaction and add the bill to the organ of the laws in force and if it's a constitutional reform he'll be able to use the same procedure that will also change the Constitution but he'll be able he has the choice of also triggering p0 which is a constitutional referendum which where it's the list of voters that will be able to adopt or reject the amendment and in this in this system what's interesting is that these two procedures here actually master procedure for the entire system so every organ here can be modified and every organ has p0 and p9 as their master procedures and so if you want to change for instance how you like the President of the Republic you'll pass you'll pass a constitutional reform through all the necessary steps and then you'll be able to trigger p0 to modify here the admin of this organ which is p1 and then you rules for electing the president and so you can you can change the rules you can change the the procedures but you can also add and remove organs because if you decide that p1 here will not add a name to the organ of President of the Republic but instead will create a new committee or a new commission that themselves will be able to name the president of the Republic well then you can you can just add more organs or remove organs as long as you follow the constitutional rules so this is really what Kalyn is about and you can see that it can be quite interesting to build very complex governance system because the real-world problems that we have usually team take very complex governance systems and in in all work we realize that you know we it's very difficult to code everything from starts hard code everything on a single smart contract and being being able to modify it without having to throw everything away so that's the the basic rationale behind Kelton and now the question is for you how can you use Kazon in your project and that's the title of the talk so no more suspense we drafted five big steps that we use in our everyday work to build these governance systems and knowing also that Kalyn could be used for governed apps do services products organizations you name it so the first step here would be to identify all the actors that take place to the governance or at least a formal role to the governance identify stakeholders so these actors and also identify the outputs of the governance so here for instance the the outputs would be the law the laws in force there will be the pass bill would be in output and the Constitution would be another output so if you start by identifying all the stakeholders and all the outputs of your governance system then you have basically all the organs and the next steps then will be to create a characterize the relationships between these organs and these people and we provide tools for that we identified a lot three big types of procedures that we give templates for one-to-one procedures so one person will sign a transaction to add one entry to one organ you'll have many to one procedures so people a group of people will be able to vote to add one entry to an organ then you'll have many to many procedures where many people will be able to vote according to a certain electro rules to add more than one entries so once you've done this you have your admin procedures you do the same for the master procedure so define who has the right to modify the system and what are the conditions for everyone to be able to modify the system and then once you've done these three steps you've basically modeled your governance on paper and so the last two steps that you'll have to do will be to set up the template contracts that we have on our github according to all the rules and processes that you've defined and then deploy the organs and deploy the procedures so that's basically in a nutshell how to you know yeah identifying creates good governance systems without taking too many risks and so once you've deployed them you have one more option to do is to interact with that because maybe the average voter don't you know how to code in solidity or sign transactions and so we've built a small dab a web platform to be able to anyone even non developers to interact with in systems that are based on on Kelvin and we'll see if we don't really have time for demo because there are over speakers after us but do come and see us we have them all running you can also check out our dap directly and our demos are on the Rigby Rigby test net and we have an NGO we have a French law corporation a specific kind of NGO and a parts the battery budget that you can check out so maybe during the coffee break we'll be happy to answer your questions and show you how the unit system works a few last remarks before closing so as we said governance is the consequence of a groups culture of its norms subjective norms and sometimes governance is not perfectly formalized and here Kalyn won't really help you because we really focus on formal aspects of governance so who has a binding rights to the organization so keep that keep that in mind always try to also take individual interest when you are creating a new governance model not replicating one that already exists but if you have to create one always try to take into account individual interest and imagine the worst in order to try to prevent the system to be corrupted governance models are living organisms so please seek feedback that it adapt and that means that you need to start with very flexible constitutional procedures even if you need to make them more complex or more so more strict afterwards yeah and also governance we talk about governance and it's a very spread out word but actually it usually means governing two kind of things and separate kind of things governing strategy of an organization of or our project and go over the operations of the product so try to keep in mind that when you talk about the one or the other they each respond to specific objectives and that these objects it should be privatized yeah so as a closing remark I'll just make a call up to you we need your help we need your help to read our contracts and find the errors that we did not find if you're a lawyer our methodology might be familiar because the methodology is derived from legal work by a person named on skeleton and if you have remarks for us on how we design our methodology please reach out let us know what we what we did right what we did wrong if you think that this methodology can help you in your project please reach out we we are a small group of developers we are self-funded all of the after all of the work that we put out we financed with our own work we're always looking for new project projects if that can help us move forward so if you think we can collaborate do reach out we'll be very happy to work with you and yes that was it our presentation on cousin how to design modular easy to use easy to understand governance models and we'll be happy to talk to you [Applause] oh yeah sure if you have questions

Automatic transcript — names and jargon may be misspelled.