Hello DAOstack

Hello, world. My name is Bo Henderson.

Some background: I got an undergrad degree from Indiana University in Chemistry and then got a Computer Science MS at the same school. I was very fortunate to take a survey course focused on data protection where we read white papers & journal articles to learn more about Tor and Bitcoin and, most importantly, I met my lovely wife Shivani in that class.

I fell down the crypto rabbit hole right after graduating in May ‘17 when I had some time to dedicate to reading & researching more deeply. I ended up walking away from a nice stable job to play with cryptocurrency full-time. I came out of college with lots of nice theoretical background but didn’t feel like I actually knew how to build anything. So, to self-teach, I spent several months building a Blackjack tip jar WordPress plugin and, in the process, learned the bare bone basics of how to build client-side with React & SVG, how to build server side with Node.js and PHP, how to deploy with Docker, and how to write solidity & deploy smart contracts. Halfway through, I got obsessed with cryptokitties and spent a little over a month trying to build an autobirther.

I embarked on a crypto-nomad adventure w Shivani soon after getting married on June 21, 2018. We started out in India & had an awesome time at EthIndia (our first hackathon) learning how to build stuff using Dharma’s lending protocol. We headed to EthBerlin after that & were thrilled to meet the DAOstack team & build on this platform there.

Leading up to EthBerlin, I researched various DAO platforms with the goal of merging a DAO with Dharma’s lending platform and decided that DAOstack was the platofrm most likely to play well with others. Shivani & I decided to build on top of it at the EthBerlin hackathon and built a scheme that would allow a DAO to take out loans using Dharma. I had some great conversations with the DAOstack team at EthBerlin, saw some really incredible presentations at the How to DAO event funded by Genesis Alpha, and participated in my first pollinator’s conference call on Sept 18th.

Through these experiences, I’ve gained an understanding of the DAOstack technical architecture and the DAOstack community’s philosophy & goals; I will use my Genesis Alpha reputation to support proposals that are in line with what’s best for Alchemy’s technical health and to help build upon the shared vision we pollinators have for DAOs.

Short term, my goal is to be a bounty hunter drawing on hackathon connections & DAOs to bring in enough funding for this skill-building adventure to continue.

Long term, I’m just trying to live a useful life. Sometimes I type ls in my terminal & wonder who happened to be in just the right place at the right time to write this beautifully simple little program that I & millions of others rely on millions of times a day.

I think Ethereum in general and DAOstack in particular is a good place to be at this point in time.

We have the opportunity now to write some code for DAOstack that might go on to power decentralized companies, hospitals, governments, etc. DAOstack schemes are so reusable that writing a good one could go on to have a critical impact on many different projects for many years to come. This excites me & I’m grateful to be in a position to make meaningful contributions.

Dawn of the Digital Vending Machine

When you hear “smart contract,” what do you picture? Maybe a legal contract on an ipad, maybe nothing; it’s not a very vivid term. Let me introduce a better way to visualize the crypto-space.

Crypto 101

Ethereum uses a similar method as Bitcoin to safely store a bunch of information but Ethereum’s a lot more flexible.

Bitcoin stores transactions and that’s it. A transaction is something like “I give you 0.05 BTC”. Bitcoin stores every single transaction ever created and when you send some BTC, it looks through the history of transactions and says “Ahh I found some bitcoin you received but haven’t spent yet, you can spend these” and then a new transaction is created where ownership of this particular piece of BTC is transferred to the next person.

Ethereum can also process a transaction like “I give you 0.05 ETH” but Ethereum keeps track of everyone’s balances. So this transaction would subtract 0.05 ETH from my account’s balance and add it to yours. Each transaction is stored in the Ethereum database but old ones can be thrown away to save disk-space.

Introducing the Digital Vending Machine

The Ethereum State doesn’t just include a list of human-controlled accounts and their balances. It also includes digital vending machines. Bitcoin is peer-to-peer electronic cash; Ethereum is too, but inside an arcade. I can transfer my ETH to another person or put it into one of these digital vending machines and maybe receive something in return. I can also write a message on the money I insert into the digital vending machine and tell it to do something special according to the code that controls it. Anyone can read or verify this code and be confident that this digital vending machine will do exactly what it’s public code tells it to do.

Digital Vending Machines (DVMs) are smart contracts. But a smart contract is an abstract term that doesn’t provide much useful context. Vending machines, being static, sturdy & not controlled by humans provides a much more useful mental model that taps into our prior knowledge and helps us to reason more intelligently about what’s actually going on. Therefore, I prefer to think of smart contracts as DVMs.

ICOs: the original DVM

Initial Coin Offerings (ICOs) are centered around DVMs built on Ethereum that just give out tokens, exactly like a dollars-to-token machine at Chuck-E-Cheese’s. They’re super simple but they’ve already enabled ambitious projects to receive massive amounts of funding to build new DVMs that these tokens will one day be used to interact with.

They’ve also given con men the opportunity to fund a project and then run away with all the money, so the system isn’t perfect yet. There are more elaborate ICO DVMs being considered that could, for example, make a monthly payment to the builders for as long as the token holders are satisfied with their progress.

Fun fact: of the top 100 most popular cryptocurrencies, at least a quarter of them are simply tokens that were given out from various eth-to-token DVMs built inside the Ethereum arcade.

EtherDelta: the grand token exchange

One notable DVM that you can visit and use right now is EtherDelta (this link will take you right to their DVM). Spoiler alert: DVMs look a lot like a normal websites except they’re usually a little slower and buggier because we’re still figuring out the best ways to build and use them.

If you’ve installed MetaMask (aka the wallet that stores your money & tokens in the Ethereum arcade) then you can visit the EtherDelta DVM and stick some ETH into it (or some BAT or OMG or any other token built on Ethereum). This will simply increase your ETH balance within the EtherDelta DVM the same way putting 1 dollar into a traditional vending machine gives you 1 dollar of spending power to make your muchie selection.

I can stick some ETH into the EtherDelta DVM and browse the selection of OMG tokens for sale. If I don’t see any at a price I like, I can tell it to put my ETH up for sale instead. Later, someone can stick their OMG into the EtherDelta DVM, see my ETH for sale, and decide to make that purchase. Funds are exchanged securely without any 3rd parties needing to be involved thanks to these shiny new high-tech vending machines.

Cryptokitties: A taste of what’s to come

Cryptokitties is a DVM that gives out pictures of cats, the same way a baseball card vending machine might give out baseball cards. Except we can use it to buy and sell cryptokitties the same way we use EtherDelta to exchange tokens.

I can also write “Breed kitty 123 with kitty 456” on some money and use that to receive a new kitten. The code running this vending machine had a special algorithm in it that, when asked to breed, takes the genomes of the two parent kitties and mixes them together to produce a kitten with some traits from each parent and maybe a cool, new mutation if you get lucky.

Cryptokitties is first in it’s class as a project that uses Ethereum plus some of it’s own private resources. It’s like you and a traditional website are interacting as normal except you’re both standing in front of an Ethereum DVM pushing buttons together.

If you go to https://cryptokitties.co and buy or breed some cats, you’ll have a user-friendly interface where you can select which cats to breed and then click “Give them some privacy” when you’re done. Nothing new or complicated required!

The cryptokitties website then tells your wallet which buttons on the DVM you need to press to get what you want & MetaMask will push them for you after you review & confirm the transaction. You, the user, don’t have to think about or interact with the underlying DVM which is awesome! Because DVMs are complicated and it’s easy to lose money if you fat-finger a button press.

But you can interact with it on your own if you want to. And you don’t even need the cryptokitty team’s permission to start pushing buttons yourself. Some random people thought that their cryptokitties would be cooler if they could wear hats. They created KittyHats, their own little DVM that interacts with the cryptokitty DVM to give out hats and watches and tattoos which can be attached to and traded with cryptokitties.

Still a hard-hat zone

Cryptokitties is awesome but you wanna know the most exciting part? There are way bigger & more elaborate DVMs being built as we speak. That team that raised a few million dollars from an ICO a couple years ago? They and the team of developers they hired have been hard at work (if they didn’t run off with your money).

Ethereum isn’t an arcade with just a couple games. It’s an arcade with a couple games plus 100 multi-year construction projects that are building things which, before now, haven’t been possible.

I have no idea what 2018 holds for Ethereum but I’m excited to find out!