 All right, guys. Hi, I'm Sebastian. I am a member of a did craft team and I'm gonna introduce you a Tool which we call did It's a decentralized version prominent get client So who of you guys is an active developer? Wonderful who of you is familiar with get Perfect, so then you're you're the right target group to introduce you a Decentralized version of exactly this kind of client and the reason why we came up With the idea that the word needs a decentralized get client is effectively that we at did craft belief in doubts Have you guys heard about doubts? Yes, okay good, so Fortunately, I have some slides where I'm gonna introduce you what the meaning of a Dallas but effectively a Dow is nothing else than the idea of lifting the blockchain principles of decentralization of democracy of Incentralization to the next level and the next level is where we the humans are the people And I think that Dallas have in particular a lot of Value to add when it comes to software development So enough teased Let's dive a bit more into the details So as mentioned the big buzzword in the blockchain community these days is a decentralized autonomous organization And the ideas Of a Dow Actually boiled down to the fact that whatever we learned from blockchain networks namely that nodes can freely You know come and go Participate in a consensus protocol and just agree on the next stage of common truth This principle, you know could be effectively lifted to a lot of applications where we humans You know also participate in a consensus and We at did craft at some point started to think okay a Dow is actually a wonderful concept You know a lot of people talk about that, but let's build it Yeah, let's build it and then we start started to figure out that actually ooh what is actually a Dow Yeah, so a dog could for example be you know a family, you know We're all members of a family just you know try to do their own things But still you know because we're a family We need to reach a consensus and agree for example what we're gonna do today or tomorrow what we're gonna eat whatever Then a European Union is also a great example for a Dow We have like a lot of countries, you know which belong to the member countries of the European unions all of them function stand alone But the European Union is just some kind of framework like a Dow framework that you know puts all those countries Say in one union and then they democratically decide What is good say for the European Union? When we talk about the Dow we're actually interested of course in software Yeah, so the question is how can we build and then decentralized? incentivized and Democratic way Software, yeah, so we're rather trying to look you know at the Googles, but rather from a decentralized autonomous point of view And this is the mission of did craft so we're building The tools in order to make the idea, but at some point, you know all the developers So most of you guys here can at some point, you know Contribute with your code to an organization and this will of course be valued and appreciated yeah, and Some people started to define, you know, how one could build a Dow So there's a lot of you know discussions going on and I think soon in a month There's gonna be blockchain week here in Berlin and I think the number one topic will be how to build those So from our point of view a Dow is nothing else than a standard Say funnel of software development Start from the bottom up. So normally when we build software we develop We code and ideally we test our code Prior to that, of course, we design what we want to implement so we design maybe an architecture or an algorithm whatever it needs and Prior to that and the final we of course first of all Analyze for requirements, you know our software should realize and in order to do that Of course, we need you know some kind of resources. So either we do it, you know as a full-time developer for a car We're freelancers or we are, you know lucky that we received some kind of grants in order, you know to implement the software rule We're interested in So this is the standard funnel which is necessary in order to build software and when we for example Achieve to decentralize this process then something magical might happen Yeah, okay forget that Good, so I Mean we're developing software for years Why should we change something why spare, you know, nothing up with something different Do you guys have maybe from your experiences? Any ideas what goes wrong these days? Maybe with open source development? Say again I Maintainers getting to his questions too many requests, but they're doing it in a spare time They have a job all right, they can't maintain it properly maybe it's used by thousands of projects Yeah, the problem, but they don't have time to fix it Okay Other problems you guys I'm coming security security. I good point where The handover to the code to a new maintainer was bad idea Yeah, or just so it's a heart bleed is I think a wonderful example, right that's But maintainer didn't really check the contribution of the heart bleed feature and then it turned out in one of the biggest security disasters, I think of that Century I would call it Okay Okay So let me start with a Controversial statement. I believe that coding these days is Mellagovans and you know Mellagovans means that for example, there's only one project owner That you know has to do all the hard work yeah and A gradient example is this guy. I mean don't get me wrong. I really like that him He did a lot, but we all of us also know that he's very special project maintainer project owner, right? And this is really a quote that he apologizes, you know for being you know such an asshole within the last decades Because he was really you know, I think Killing a lot of good feature ideas because they didn't comply with his vision how the Linux kernel should look like And You know this kind of centralized project ownership, you know, not only leads, you know to Burnouts or security vulnerabilities, but it also sometimes leads, you know to the development of a very good Project, but unfortunately, you know in the wrong direction Yeah, so that they have been a lot of examples with the Linux kernels that people suggested really good features But he just blocked them Yeah Another problem I think today is what coding is Misincentivized I think you know a lot of you people just you know Program in your spare time, you know put a lot of Passion into your ideas, but at some point, you know, those Good ideas turn maybe in something really really cool A good example. I think it's the mutila project Yeah, so those guys really did, you know something great, you know back in the days they came up with a wonderful browser But at some point there was another Google That came up with idea. Ah, we need our own browser and do you guys know this story how Started with what kind of code? Yeah, and what is within Safari? Yeah, so I'm not sure whether it's Safari because I remember that they used a lot of Features from the mutila project. So for example, the whole web rendering Packages that's been taken from what's illa Okay Good, but anyways, so The problem is, you know what the problem I want to mention here is The problem which is called the browser battle. Yeah, so there used to be this wonderful open source project Then at some point, you know a competitor came up and he reached more and more market shares Right now, I think Google is I think having most market shares among all bra browsers and One of the reasons and I mean just, you know Google ironically, you know for that article it really, you know Gives some kind of clues that Google, you know continuously made life harder for what's illa and they Conjecture that that's one of the reasons why for example, what's illa just you know Lost more and more market shares Yeah, so my point is that you know due to the fact that at some point good ideas, you know that you know Have been incubated in the open source community have been, you know taken and then you know commercialized with The consequence that now people that contributed to this open source project Yeah suffer from good So these have been just you know some some problems with existing Or at least from our point of view with the way Software and open source software has developed these days So let's start to think, you know, how can we you know change the situation? Using principles of the Dow and the basic principle of the Dow is that No one really owns the project. It's the community that owns the project So there is no sample as project owner and in order to reach that We need also that kind of consensus protocol and this consensus protocols So what we need in order to know Decentralized project ownership is as mentioned a consensus protocol and this consensus protocol among humans is normally referred as a voting protocol Implementing voting protocols on say a blockchain network is actually not that trivial So the fact to voting protocol In the Ethereum community is something which I call the one-stake one-vote protocol. Have you guys heard about that? Okay So let me show you how it works So it works that every voter Stakes some kind of tokens maybe some Eve Then a quorum is decided And the majority so the winners of a decision, you know slash the stake of the losers and the idea behind this protocol is that you know It's game theoretic which means that you know, we assume that all voters are of course interested in maximizing the utility which means maximize their number of tokens So whenever they contribute with their vote to something they don't want to lease loose for stake So this is the main idea behind that protocol Um, does anybody of you also have an idea? What is the weakness of this protocol? And And what is the intention of collusion Still, okay. Yeah, so if if I'm going to vote on a feature I'd rather make like I'd rather be sure that I'm not losing my coins, right? So I'm probably going to do a lot of politics outside of the voting. I mean politics is always part of voting, right? Okay, the other thing I was wondering is what if you don't vote at all if I decide to if no one Yeah, let's assume you nevertheless want to vote But ideally, you know the attack would be that you would like to bias the outcome of the vote, right? How can you do that? What kind of extra power do you need? It's it's also the standard problem of proof or the fear with proof of stake protocols in general that if there is a party That is overly rich It can easily bias the outcome of an election Yeah, simply By just outstaking all others Yeah, very very simple attack and As simple as this attacks might sound it also happened recently in an arrogant voting Yeah, so there have been Yeah examples where in the last second there was one guy Who just you know outnumbered in particular questions in particular proposals or others Yeah, and this is a severe problem, you know to this consensus mechanism So what we then thought Can we do something better something which really you know meets say the spirit of the community? In particular, they say open source of blockchain community Can we design a protocol which also allows us to reach consensus, but maybe which is not based on wealth But aren't something different and this something different is knowledge Yeah, knowledge is something which I think one has you know to somehow acquire over time What it's not possible to buy knowledge say on an exchange It's also independent of say your origin It doesn't matter whether you have been a rich kid or not knowledge is really something which I think is more Suitable to decide on very important questions for example very specific questions Which actually only knowledgeable people which are normally experts in the very particular field should decide on So we came up with a new voting protocol And it works very similar to that first protocol I showed you guys so that kind of staking protocol But here the difference is that first of all everybody every voter proposes With the same amount of stake so all the golden coins is visas for example Eve So all of the players stake first of all the same amount of collateral and now the difference is that We introduce a second token which we call the knowledge token and this token Is something which you can only acquire by participating in elections By participating for example in voting's which you know define for example Is that a good feature or is that a bad feature or is this a good code? Yeah, so we mentioned that for example code testing is like a huge problem Yeah, so for example, you know only if you for example proved that you've validated enough code And this code was proper You received in a very special knowledge which is quantified in knowledge tokens and with that Knowledge token you now can wait your vote Yeah, so the number of knowledge tokens give you some extra power and the governance of a very particular project or In you know influencing the decision in a very particular matter This is the key idea of knowledge extractable voting. Do you guys have questions? Do you can lose knowledge tokens? Of course you lose knowledge tokens if you lose a voting then Your knowledge is burnt and this is exactly you know the crypto economic incentive Behind this protocol that if you assume that knowledge is really like you know the highest Say value valuable token in an and in a DAO Then of course losing knowledge means that for example you lose reputation you lose government's power you lose You know features for example like you're not gonna get admission to very very delicate Elections and you could think about that and the only way to Again mint knowledge tokens is proving to the community that you do understand what they are talking about Because you know you have to you know win in those elections, otherwise you will never mint Just burn knowledge How many how many tokens knowledge token do you have because I can be very good at testing but not Dictor So there is not a single knowledge token and knowledge token is something like a label So for example, there is a knowledge token for go. There is a knowledge token for latex. There is a knowledge token for HTML and Whenever you define an election, you know The community defines what kind of say knowledge tokens, you know characterizes project Then you need to vote for the knowledge token knowledge level. How do you how do you define this level? Who define that so right now we just you know made it simple so we defined I think 10 or 15 knowledge tokens Which are predefined But in an ideal DAO The community itself what first of all define, you know, what what are save the important knowledge tokens for this project? But in the current implementation, we just in a selected some prominent ones Hi Thanks. I really like this idea of quantifying knowledge. Thank you. I mean money by itself. It's not why we are doing this way I would I mean as much as you can share I would love to learn more because I find it difficult to imagine how you actually going to quantify knowledge without being corruptible without being maybe able to trade knowledge tokens for You know, I could imagine all those kind of things I have never yet found something where everybody is anonymous and you can still Validate that this person has done a certain thing has proven a certain knowledge wonderful questions and Exactly those kind of questions have been in spur of inspiration for this protocol So first of all, let me answer the simple question Well, why can't you for example trade knowledge tokens and that's the beauty of say the Ethereum? Network that you can define smart contracts in such a way that You don't have the ability to define whether you want to for example transfer your knowledge tokens to someone You know buy them on an exchange. So this is not implemented Yeah, I had a question But also a comment on that Just because you can't transfer the token doesn't mean you can't say your private key. So but that's a different topic I just wanted to ask if you could Explain like a little bit like the actually you like you haven't actually explained really The use cases and what people would be voting on like ideally Like in my projects, I prefer as little voting as possible Like usually only just do it to like to you know resolve a dispute But there shouldn't be like disputes every day like you don't want to go voting every day on something you're working on Right, so maybe you could explain a little bit like okay what you envision this to be useful Okay day-to-day development. Yeah Come some one-two slides. Okay Let's go back to the original idea of knowledge. So you could definitely share Or sell your private key But this way you would give away say your whole reputation, right? I mean you're absolutely right everything is anonymous. Yeah, and No one can really tell you know who is who? Absolutely possible But normally, you know and here is again the kind of say game theoretic Incentive argumentation that you build over your time, you know something like your reputation in terms of knowledge tokens This gives you some kind of extra power in the Dow. Yeah, because you know your vote voting Votes wait more than maybe people that recently started. It's quite comparable to a computer game All right, so in the beginning in the first level you're weak But you know after you know spending hundred and thousands of hours and you know training your character Moving to the next level next level next level you of course get more powerful And then the idea is that selling now so your your character and starting from scratch is Is Disincentivizing people another feature we implemented is that we have something like a small KYC Which you know links? Profiles with a Twitter account because This way we want Prevent that for example people clone their identities and you know just you know create multiple profiles and this way You know maximize this strategy as you mentioned you know that you know I train some profiles get and make sure that they have a decent amount of knowledge and then sell them on an eBay Marketplace and so on right in order to avoid that You know you're affected if you're only able to do have one profile and you need to decide whether you want to sell it or not I mean just just as a comment I mean I don't think with with Ethereum that would be positive that would be possible to do But something like a network of trust is usually used and that kind of situations Even if I train a thousand profiles that are all like highly skilled or have another knowledge tokens If they don't refer to anything outside it would be like a bubble and would rate it down while if you have Incoming trust from many parties from around the world from different communities that are trusted from other communities You know what I mean, right? Yeah, what is that something that would be feasible? I'm not sure if I understand technologically if that would be possible, but that could kind of Increase the value or represent it. Yeah, I mean we try to somehow reach a similar goal like the goal of web of trust by you know linking If addresses to a very particular profile namely that of a Twitter account But Say in the next say iterations it would definitely make sense to also, you know Decentralize that that's say authentication service or that KYC service. I totally get your point Yeah, but we're just you know started some months ago So we cannot provide your super duper perfect solution So actually the reason why I'm here and I'm presenting to you guys is because I very much Solicite those discussions those feedback and inspiration for maybe you know implementing the right features because The decentralized get you know is effective tool for the community for you guys You know, we're not having you know any commercial interests. It's really you know We would like to understand whether principles, you know of decentralization Incentralization incentivization, you know could be transferred to our daily life of software development Yeah, and that's why you know, I'm here and I'm very happy to you know get those fruitful discussions So we definitely need to drink some beers offline Yeah, I apologize if this is a very specific question, but I've been watching this loop for a while Yeah, and After the vote is decided the loser's stake is divided amongst the winners Yeah, and I'm wondering if you've given thought to the rules on that last step Yeah, so I put all my various some math formula behind and the idea is that You use, you know some kind of quadratic factor, you know of the knowledge tokens multiplied by The stake you give in okay, this is something we can catch up. Yeah, but this is definitely a second beer And I hope I still get the four formulae together Yeah, just a couple questions. So first if I am a Developer like let's say, okay, I'm working for Google. I have a C++ background So I have a lot of C++ tokens. I decide to you know poison balls madilla. They also I mean, okay, they're switching to Russ, but they have a big C++ code base So I can overrule everybody because I have a lot of tokens Like of C++ tokens. How do you prevent from from switching second question? You'd say this is not it's not clear to me why it wouldn't be the same problem as the rich gets richer because what I can do I Can just spread all my tokens into many accounts Yes, if it's connected to a Twitter account, it's just a script away from being and from not being a problem So I still see the rich get richer. Maybe you know at a slower pace but you still because The decision will be spread among all my fake accounts something something that we will never prevent us for example But I start with say ten profiles, you know ten accounts and then I train them continuously so right now say the only Protection mechanism we have implemented is that we do something like a KYC So we just really want to make sure that the guy, you know Who is behind that if address has an active say Twitter profile and shows that he's not a bot So we try to implement Not in a perfect way because everything is not work in progress But at least the idea is that we would like to do something like a capture test through that KYC Yeah, in order to exactly prevent that, you know, you have like one real account and 1020 bots that work for you that you know participate in elections that of course Accumulate knowledge and this way get more and more powerful Yeah, so the idea is that through the Twitter KYC We you know implement something similar to a capture and some this way hope that you know those automation attacks you have in mind You know are prevented Okay, one of them is the fourth of the other those guys just had a big fallout and My hope is that And this is the 51% hope that There's still a large enough say C++ community that when they notice that there is this hijacking happening that at least then they participate in Election and make sure that this kind of hijacking attack doesn't really happen. And the nice thing is we implemented the burning mechanism of knowledge tokens in a very very radical way So effectively you really lose Quadratically the number of knowledge tokens. So the math behind us of saying that Gaining knowledge is really really taking a lot of time But if you really you know participate in election where you know, you're gonna lose Because this is not what the community wants, you know, you're gonna be punished By you know getting a lot of your knowledge burnt Yeah So it might happen, you know, maybe you know at some point that there might is this hijacking attack but if the community is really online and Believing in the whole principle of a doubt then in that moment, you know, they should really team up You know really decide what the community wants and then Make sure that the Mozilla You said Mozilla Whoever right so will not you know hijack any project Yeah, good Let's get more into the use cases So let me first of all tell you what we have implemented And we went for two directions. So first of all we developed in a very old-school way a standalone client Like the get client but the difference is that the whole protocol the staking the labeling You know everything is you know part in our did client Then we Also came up with a user interface just in order to make sure or to simplify Um the presentation of existing votes as well as you know giving you a better overview how many tokens and what labels you have and Be your mind the key message is still that if you behave honestly Then you will gain knowledge and you will maximize your Stake but if you're you know a badass, you know Then at some point you will lose much of your stake and this way also lose power in the software down There are two versions so a test net version Where you can just you know play standalone? with a client Have your elections and we you know Created you know three four bots that will vote randomly for you. This is just you know for playing You know playing with the tool and then there is a main net version where we use the power network so where you can use you know xti tokens and Mint Mainnet knowledge tokens Good so the demo So all the details so you can call download The client as well get access to to the Explorer Through either a website or just go to our Twitter account. I would very much appreciate You know that some of you guys maybe try it out because we want you know your feedback and What would be a use case? Just in order to justify why a decentralized version makes more sense So first of all, I think one of the fundamental problems we mentioned is security So and the reason why you know, we have security problems with existing code is that testing You know sometimes, you know, it's the last thing you know in the development cycles and Time you know forces us sometimes to really reduce the test cycle To just do it sporadiously with the dead client, you know, one idea is that Maybe the community is more incentivized now, you know to validate certain code contributions and Why should people do it because you know they get tokens and since you know introduction of blockchain networks We know that you know people like tokens more or less Then with that Knowledge token you would you know get from participating In an election, of course you could quantify yourself, right? So one of the things which you know, I think the open source community is full of brilliant people But it's really really too hard to identify who are the real experts in what fields Knowledge tokens is nothing else than a quantifier Yeah, we could now come up with rankings like you know in a game Where we could define who are say the top five Developers with that knowledge label and we could then have really you know a community vetted Ranking and that's a nice thing because knowledge is always, you know the result of community vetting So this way the ranking that would allow us to know, you know rank developers would also be based on you know community values And I think these are two important features, which we believe could help you guys just And having more fun creating code Yep, I think this is All from a technical point of view one thing I would like to just You know throw in the air so as mansion blockchain week Berlin is coming soon to town and We're gonna have a meetup Only dedicated to the question can we somehow change the way software is developed today and Can in particular, you know the idea of say a Dow Influence our daily business So whoever wants to join just drop me a line I think it's gonna be an amazing meetup Also, will you know some corporates corporates piggybacking us because they are also very interested in that topic Thanks guys So please download and let me know what you think