Transcribed from this recording.
Original AMA post here.
Kate: In this call we aim to answer many of the questions that were submitted on DAOtalk and thank you to all those that did submit them. My name is Kate Beecroft and I’m the ecosystem lead for DAOstack. And I’m doing a lot of work in the Genesis community. Adam Levi is the CTO and co-founder of DAOstack. He is a block chain expert who has very deep knowledge in technology and he brings this lens to DAOstack as the CTO and chief architect. He also has a very strong research background with a doctor of philosophy focused on theoretical physics on quantum effects of black holes from the Israel Institute of Technology. Him and Matan Field co-founded DAOstack in 2017 and since that time have seen the company and platform grow substantially including the ICO in May 2018 creation of the GEN token, the launch of the first dApp Alchemy in 2018 and Alchemy Earth, which launched about three weeks ago.
So with Adam here today, we can go a little bit deeper into the technology and the stack. If you require further reading on DAOstack and things like holographic consensus, please see the DAOstack white paper. So welcome to the AMA everyone. And I know many of you are GEN holders and/or interested in building on the DAOstack. So I really hope we can answer some of your questions and continue this tradition of holding AMAs. Please note that this video will be posted on DAOstack’s YouTube channel and transcribed. So the call go like this. I will ask Adam a question from the list and Adam will answer and if necessary, Ori is here. He’s joining me as a bit of a technical translator and he would clarify any points or add some simplification if necessary.
And if you are finding yourself wanting further depth on a question or have something to say, just comment in the chat and we will try to answer these questions. However, we have an extensive list of questions and a limit on time so we may not be able to, but we’ll try our best. So please not do not interrupt. The point of this call was to get the information from Adam and to help those who are interested in developing on the DAOstack get more info. So we may do a more participatory debate style format in the future hopefully. But that’s not this time. Great. Adam, anything to say to arrive here in the call?
Adam: No, I’m just glad to see all the faces. I think it’s really nice. All the interest that we’re getting in the past few months is crazy and really love to be here and answer all your questions.
Kate: Great and a quick hello from you Ori, technical translator.
Ori: Hi everyone, happy to help out and give any clarification if needed and as relevant follow-ups where necessary.
Kate: Beautiful. Okay, so let’s get going. So Adam can you confirm if this reasoning is correct. DApps and the DAOstack are merely the front facing UI of the different DAOs. For instance, Genesis DAO’s dApp is Alchemy. However, Alchemy as an interface can also connect to other DAOs. So when the white paper lists the section on collaborative debts, what does this mean? Will this be different interfaces to the same DAOs? So I’ll let you answer that and if necessary, there’s a couple of little follow up questions there.
Adam: Okay. So it’s a good question. I just want to start, let’s start with the first section. Is Alchemy the front facing UI for the blockchain? This is the definition of a dApp. And the idea is that everything that’s going on is actually going on the Blockchain. And that’s why it’s immutable in a way. And we’re not controlling the rules, but the rules are already dictated on chain. But, because it’s hard for people that are not savvy on Blockchain to interact directly with the blockchain. Then we build a UI to make it nice and playable.
I can tell you that I do a lot of my interaction with Genesis for example, without Alchemy, just to make sure everything works. So that’s the definition of dApp. Regarding the second section, for instance about Genesis. So DAOstack is not the Genesis UI. DAOstack is a dApp for building DAOs and working with DAOs and Genesis is one instance, the first DAO that is on top of Alchemy. And actually if you go into Alchemy now, you can see that there are already more DAOs on Alchemy and hopefully in the coming few weeks we have a lot of very important projects that are onboarding on top of Alchemy. And you will be able to see them.
Kate: Okay, great. So I know that was Rick’s question. So if you want some further clarification there Rick please put into the chat. And there was just that one last comment there.
Adam: What was the last comment?
Kate: If not interfaces, what type of that functionality are you expecting?
Adam: I’m not sure, I’m not sure about the question.
Ori: Yeah. I think specifically the same as collaborative dApps that would coordinate collaboration in some other way besides the direct voting and staking that Alchemy allows.
Adam: Thank you for clarification on it. So I think we see Alchemy as one dApp, as not THE dApp but one window to the DAOstack. And we want to see as many dApps that interact with the DAOstack as possible. And if we wouldn’t have had the luxury not to build Alchemy and just having other people building dApps, it would be better I think for us, to focus on the blockchain side. But I think it’s good that we’ve built the first dApp to let people understand and see how things work and how beautiful this technology is. But it’s definitely not THE dApp.
Kate: Okay. Thank you for that clarification. I’m sorry as well. Okay. So Adam, we talk about Alpha release. Is it viable for a project to use this tool yet? If not, when will it be?
Adam: Okay, so I think basically a DAOstack has been in Alpha mode, both the contracts themselves and of course the interface since we launched soon after the token sale. We had a very successful pilot with Genesis Alpha that lasted a few months and now actually we see this time as the transitioning in between Alpha and Beta and I see now the contract is in Beta mode. I can tell you that part of maturing from Alpha to Beta is the bounty DAO that we now have going on with Gnosis. So we have a bounty, we offer $100,000 that sits on the contracts themselves, that if you can break the contracts, please do it and be my guest and help us debug the contracts and please help yourself for the funds.
So basically what we are doing is we are maturing from Alpha to Beta. That’s what happens in the contract set up and also in the UI. So we see the new Alchemy, Achemy Earth as Beta version. Is it okay for, or is it good enough for people in other projects to use it? I think yes, but we need to make some disclaimer. Don’t put a lot of funds on this technology, funds that you cannot lose because this is still cutting edge. We all know where blockchain is, which is at the beginning and we are on top of … You know, we have bitcoin which is blockchain generation one. We have Ethereum, and we have on top of this we have our own stack. So we are on new grounds here. Don’t put things that you cannot lose.
Kate: Okay, great. Thank you. So building off of that. What are your and Alchemy’s biggest challenge and the next three to six months or one year? What are the big challenges?
Adam: So if you’ve used Alchemy, you know that we have a lot of challenges, although we’ve made a big step now in Alchemy Earth. And I think that our next immediate challenge will be to bring all the functionality that the current Arc has. Like all the different schemes that we have and bring an interface to them. That’s the immediate challenge that we have. After that we have polishing and features, we have a lot of features that users are asking and we know that would be super useful for Alchemy. Trust me, we have a huge list and also we need to polish it a bit there’s still a lot of bugs. So this is like the immediate time frame. After that there are things which are a bit bigger. At the moment Alchemy as working, people cannot open DAO for themselves.
But right now we open DAOs for important projects and this is a phase and the next phase will be that anyone can come and open its own DAO and this will take a few months, I’m guessing. Another thing that will take a few months probably is mobile and we want to have Alchemy on mobile of course.
A year from now I can say that basically what the UI will need to do is to integrate. So a year from now I also see a new version for the whole stack. So we are now designing the next version of the stack. And then of course the UI will have to fit into that and that that would be the biggest challenge. But hopefully in one year you will be able to use DAOstack as if it is not on the blockchain. So it will be as smooth as a regular app over using WhatsApp on your mobile.
Kate: Sounds promising. Okay Adam, so we’ve got another question from pollination Rick here. I’m going to voice his words obviously. For me to better understand the modular aspect of the stack. Can you explain what are the specific modular elements that now exist but exists now between the different DAOs, if any. Are any of these elements being developed by third party developers? And what are DAOstack’s plans to outsource this development? It seems to be a number of decentralized projects looking to incentivize this kind of work. Are you thinking of using any of these platforms?
Adam: There is movie part question as well. One by one. So yes, basically one of the reasons DAOstack or the stack is complicated is because it’s modular which is good if you want to build on top of it. But it makes it complicated to understand. So when at the moment, for example, what you see in Alchemy is that you have different DAOs and these DAOs usually have like two or three schemes that are into them. And you usually only use one scheme just to clarify how much we already have to go.
Ori: Can you clarify what a scheme is?
Adam: Yes, thank you Ori. So think of a DAO as an organization. And it can do different things. It can do basically everything on the blockchain. And if you want to build a DAO, you want to build an organization with certain properties so it can do A, B, C, D and it can do A only happen if it happens X, Y, Z and it can do B only if there is this and this vote with this and this majority. So basically each type of this logic, what a DAO can do, we call it a scheme. You can think of it as an app on your phone. Each scheme is an app. It provides all functionality.
This is the modularity of the system. So the scheme that you’re using now in Alchemy, which is called contribution reward for historical reasons, it’s basically a scheme in which one can propose to get either ether or reputation or some tokens, other types of tokens. And there is a voting on this proposal. And if the voting passes, then the one who proposed it gets the funds. Or he can propose not to take it to himself, but also to give it to someone else. But the proposal just works.
Think of it, this is just one scheme and we have at least, I don’t know, 10 schemes in Arc already. In Alchemy now we have only one and we need to bring the UI to support them all. So this is about the modularity. Regarding third party developers. So we are very, very happy to have open source developers and other projects developers integrating into the system because really if not then there is no real need to build it in such a complicated modular way. That’s the whole purpose. The whole purpose is to have others getting in and building on top. And we have Ori here who is representing dOrg for example who is also one of these groups that are building on top of DAOstack and we are welcoming everyone that want to do that.
Ori: Could you talk a bit more about where in the stack other devs can work? For example schemes or is there a way to work on Alchemy Earth directly?
Adam: So we want to welcome them all. So basically if you want to build new voting machines, for example, to have new implementation of holographic consensus to compete with Genesis Protocol, we are very happy if you build that on Infra, which is really at the bottom of the stack. If you want to build new schemes on Arc be my guest, if you want to build or help us improve the caching layer. Again and if you want to build, just build the cool things in Alchemy. Then again, if you are a React developer, just dig in we’re very happy to have you all. I think there’s plenty of work for everyone.
Ori: And then the last part of that question is, what incentives do devs have for working on those parts of the stack? And how could devs get attention? Like for example, having some sort of a recommended external agency list that Genesis manages. What would be like the process for a dev to like sustainably work on some of these elements?
Adam: That’s a really good question. And I think, in here unlike most of the open source projects, we get it for free because we are building a tool for collaboration, right? And we have the first, the first instance of this tool, the first DAO, which is Genesis. The whole intention of Genesis is to build DAOstack that’s why we built Genesis because we believe DAOs are good and DAOs are capable and they’re very potent and we should utilize that to build DAOstack itself.
And Genesis is the first DAO and we are basically planning to have as much funding going through Genesis to fund the developers that want to work on the stack. That’s one option. The second option is, as you can see now, there are a lot of projects that want to work on top of DAOstack. So we know that we have the dxDAO coming, we know that we have an integration with Polkadot. We know that we have integration with Ethfinex. So there’s a lot of projects that want work on top of DAOstack and want to build on top of DAOstack and they will need technical people that understand the stack, okay?
Even if they don’t want to do anything, let’s say they don’t even want to integrate, they just want to open their own DAO. But such organizations, which are technical organizations, they cannot just rely on you that these things do what you say it does. They want to check, they want to understand. So they need people, experts that understand the stack and we get these requests all the time and we’re not, we don’t have enough capacity to even answer everyone. But I think if such teams will connect and start working on DAOstack then at the right moment we’ll also connect them to big projects. And then if this project say we want to work with DAOstack, we say, okay, here is a team. Just pay these guys and they will help you because they understand the stack very well.
Kate: Great. Thank you Adam. So we’re moving down the questions now and we can just have quite a straight forward one submitted from Jordan about bugs. And I think this is a pretty simple answer and if you just want to add any further clarification for this process afterwards, that would be great. So the question ends, when bugs are discovered within the protocol, what are the different processes that exist for deploying fixes for these bugs? His understanding is that for schemes and constraints, remove broken, add new.
Adam: Let’s do one by one so I remember. So let’s do one by one okay?
Kate: Very good point. Go ahead. So first one, schemes and constraints. Remove broken, add new. Is this correct?
Adam: That’s true, that’s correct.
Kate: Voting machines, remove and re add all affected schemes. Now pointing towards the fixed voting machine.
Adam: Yes, that’s correct. You don’t have to remove and re add you can just basically change the parameters so you can edit the parameters to point to the new voting machine. But that’s correct as well.
Kate: Okay. Controller, we have controller upgrade.
Adam: It’s true.
Kate: An avatar requires complete DAO migration.
Adam: Yeah, unfortunately. So basically the avatar was built to be as lean as possible because it cannot be upgraded.
Kate: Okay. Anything further to add on that Adam? About bugs and the protocol and the process?
Adam: I think when building such a modular and complicated system upgradability is a big issue and we’ve tried to put a lot of attention on that, but it comes with a price. It comes with the security prices and gas prices and UI issue what not. Really, we’ve done our best but, but after building it, we know we could have done much, much better. And once you finish something, then you understand how you needed to build it from the beginning. So that’s what we’re doing now. Now we’re redesigning and the next architecture and hopefully these things would be better on the next architectural. But all that you’ve stated is correct.
Kate: Okay. Just a follow up that I’m going to pick up from the tap. Ori think that’s a good idea? It’s from Rick, how disruptive is a complete migration? Can you give an example of an Avatar bug that would cause this?
Adam: So how disruptive … It’s actually not that disruptive. So you could think of it as a hard fork in a blockchain. Ethereum has hard forks every year or so and their community is a bit bigger than us. So it’s not very disruptive, but it is a bit disruptive. Can I give an example? Well, actually no, because that’s the whole idea. The avatar is really, really, really lean. It’s really small contract and it’s dead by design so that it will have zero bugs.
If I’m wrong, then you have the video afterwards to tell me!
Kate: we have evidence.
Adam: Yes.
Kate: Okay. So even more of a challenge to, to break it. So another question from Jordan. Has there been any talk of creating different types of wallets or bank accounts that are controlled by the Avatar? And the example would be long-term saving account versus a monthly spending account. Different roles could be added to each account to ensure a budget plan can be protocolized without the agents having to eyeball things.
Adam: So that’s a really good question. And I would have to say this is some kind of a misunderstanding of how Arc works. So this is not only we talked about it, but this is already there by design, you don’t have to put all the organization’s funds in the avatar. That’s what we do now because it’s simple. But that’s not how you have to do that. And definitely if you have something which is complex, you want to do short term things, you want to do long-term things, that’s not the way to do that. And you can add a contract, which is owned by the avatar and have a scheme. Let’s call this contract, for example, the long-term saving of the DAO and have a scheme that controls this wallet, this long term saving. And that’s how you should do that. And I think we should do such things. But we start single, that’s all.
Kate: Okay. So we’re moving down now through the list. Can you just talk a bit about the purpose of the quiet ending period to proposals and Alchemy? Getting a bit away from the tech but towards the protocol.
Adam: Quiet ending is really one of the previous things in holographic consensus and in Genesis Protocol. And I have to say that I was very surprised when we talked to other projects that are doing decision making in governance and things that are similar to that and they didn’t have quite ending because it’s basically you can’t really, I don’t see how you can make any fair game without it. Let’s start by explaining, so what is quiet ending?
So let’s say you want to have a vote or some kind of voting. And you want to have a timeframe for this vote, which makes sense. Okay. So let’s say it’s a week, okay. So how do you prevent people to come in the last second, on the last block on chain and just vote everything. And then if I’m looking on the vote and I look, okay, it’s 40% or 20% for and none against, I don’t even have to vote for it, right? To ensure that it’s for. But everyone which is against, will just wait for the last second and vote on the last second or on the last block. And we just had this case, right? DAOstack was just now on the voting to get into Ethfinex. And the first free top, the ones that got the most votes were listed in Ethfinex and we got in first.
But if you look at the voting what happened was that all the major votes happened in the last, I don’t know, 10 minutes. Okay. And this is a very bad game. That’s a very bad practice. And they designed the game in a very harmful way. And they also, they know that they are now redesigning it. Okay. What we did is we did to solve this issue, we invented quiet ending. The idea is simple. In order for a vote to end, it needs to be quiet namely not to change the outcome in the last, I don’t know, one hour, 24 hours, whatever timeframe you choose. For example, I think now in Genesis is its 48 hours. It used to be 24 on the last Genesis.
So if on the last 48 hours the score changed. So it went from pass to fail, then immediately you add time. So it would be 48 hours. So you need more 48 hours from now. Okay. It’s like a tennis thing, when you need to have more than one, score or point against your opponent. So that’s quite ending and the purpose is not to have people coming at the last second and change the outcome of the vote.
Kate: Okay. So just another question, another comment that’s come up in recent links that we’ve heard is that the caching layer that you’ve been working on, a big proportion of the DAOstack team have been working on the last few months is the caching layer. And it’s very important and quite interesting. And I’d love to hear more about how does this change the way you develop.
Adam: So I think caching is a change which is not just coming to DAOstack is basically coming into almost every dApp. At the beginning what we saw is we saw a people building dApps, which are pure JavaScript and that interacts directly with the blockchain via Web3. And this is very nice. It’s so compelling and you want it to be this way because it means that you have no server at all and everything is really decentralized in it in a very strict sense and, and you only need the blockchain in order for the dApp to work. And it’s really compelling. And the first version of the UI of DAOstack that was not even published that I’ve built a long time ago, it worked like that and it was only on IPFS and it had no server at all and it worked beautifully.
But once, once you start to grow, once you have real functionality in the app it doesn’t work anymore because the amount of data that you need to get from the blockchain is becoming bigger and bigger. And Web3 and the way the data is stored on chain is really not designed in a way for you to get information directly to the dApp. So it means that you need to have a lot of calls to the blockchain or basically to the node and the Web3 provider. And it makes the dapp to work: A, it makes it work slowly. And B, it also makes it work like in a way, I don’t know if you’ve seen this in dapp loads and then things start to change. You have a proposal, then it ends and then all in a few seconds until the screen like counts down.
Think of what, what will happen to this dapp in a year from now when you have all this history that it needs to integrate. So it doesn’t really scale. It doesn’t work. And basically in order to make the experience of users … And C, I’m sorry, one last thing it means that when someone goes into a dapp it has to have a Web3 provider, it has to be connected to the blockchain and otherwise you cannot see anything. So the first thing that a dapp will tell you is connect to MetaMas which is really not a good UX.
Let me see what’s going on. So I think all of these things are basically solved once you have a caching layer. So basically you have a server that is listening to the blockchain, taking all the information processes already in order to make it available for the dapp and the dapp can read from. Now of course, it’s a huge advantage. You can build fast things at least in the reading part of course, writing to the blockchain still takes 15 seconds in order to mine the block. But reading is really fast. The experience for the user is really good. You can start working without connecting to metamask, and only connect to your Web3 provider once you want to really do a transaction or sign something.
The one downside to it, of course is decentralization, you need to make sure that the users basically don’t have to use your server. And we’ve given that a lot of thought. I’m not sure if we need to go into that now, but basically we’ve given that a lot thought and the way we solve this, just open sourcing the server and you can run your own caching server just like you’re on your own node and it’s completely decentralized.
Kate: Just a little follow up to that, obviously you need to prioritize and make decisions in tech terms. But what were the trade offs? In choosing to priorities this caching layer so heavily?
Adam: So I think there was not really even a question because if you’ve used the old Alchemy, you know, it was horrible. Like as the guy who built it, I was like really ashamed. Although other people telling me, “it’s cutting edge. You have to be proud of it.” But to give such an experience to user, it really hurts me. The people had to wait so long to work with something. So I think there was not a question that we really had to have something that provides good UX, otherwise we will just not have users. It doesn’t work if you have a super technology if no one uses it.