Archive for July, 2017
sat down to write a normal blogpost and a baby protocol came out
If you have been following the blockchain world over the past few years, you’ll notice that some of the best protocol designs to date have involved computational work. Whether the protocol defines the behavior of computers as it relates to file storage, processing power, or otherwise…these systems tend to outline economic incentives that govern how a network of computers (and their owners) will behave and work. Part of the reason why these early labor systems tend to center around the labor of computers and not people, is because machine work is easier to authenticate…and the authentication of work is important when distributing economics between labor and capital in a trustless system. I’ve invested in a number of projects with this shape, but my interest as it relates to the future of blockchain based systems is much much broader…I find myself gravitating toward systems that try to govern the behavior of human nodes as opposed to machine nodes…and when dealing in that realm…there are some promising solutions and mechanics to govern offline/human work that are starting to emerge.
Two potentially fundamental mechanics that I see popping up across fledgling protocols are stake and oracles. The designs around these two elements vary quite a bit from project to project with little if any standardization. In my exploration of these two mechanics, I made a baby protocol design attempting to govern trustless transactions around physical contract jobs (think construction, home repair, etc), and attempted to replace the role of General Contractor (she who organizes and engages subcontractors, ensures quality of work, and btw takes a healthy cut for doing so) with a blockchain based protocol governed by the coin GCC…there’s a second tier of coin in the system that rides on top of GCC that addresses the concept of credentials and skilled labor (SCC) and together these two coins live in a system that maybe would allow a home owner and subcontractor to transact directly with each other while cutting out the middle man general contractor. In theory, one of the promises of the blockchain is to take the margin captured by middle men or top down organizations like a general contracting business, and to redistribute it to the edges (customers and labor) in a way that lowers cost for buyers while also improving economics for labor or sellers.
Obviously this design is 1 page and not a 30 page paper. Designing blockchain protocols requires technical architecture design, economic design, and governance design. Special projects emerge when they nail all 3 individually, and also the interaction between these 3 layers. Here I don’t touch the technical layer, I barely touch the governence layer, and I focus on the economic layer.
In order to grok this design I assume familiarity with the below two concepts:
1) stake: economic value posted as collateral that is programmatically subject to forfiture upon bad action
2) oracles: actors in a system that serve to report on or provide off chain information as an input to on chain functions within a blockchain based system
General Contractor Coin
High level architecture
- 2 tiers of coin
- general contractor coin (GCC) is the low level protocol coin that governs the good faith completion of work and payment for services in physical contractor based transactions.
- skilled subcontractor coin (SCC) is the skill specific coin that can be exchanged 1 for 1 with GCC, but holds a specific credential that signifies ability to take on jobs that require that skill.
- example of an SCC coin might be “electrical work coin” or “floor guy coin”
- Likely only GCC floats and connects to public exchange. SCC must be converted into GCC before moving to FIAT. GCC’s value is driven by customer demand for contract projects requiring any and all SCC skills, and jobs are paid in GCC.
- As long as contractor holds a single SCC coin for a given skill, they may stake completely in SCC or by combining SCC with GCC against the value of a job, so long as the SCC is always at stake for a job that requires it.
EXAMPLE USE CASE AND BABY PROTOCOL DESIGN: Construction job between home owner and flooring specialist…
- homeowner posts request for floor repair with payment for job denominated in GCC and specifies job is open to contractors holding the SCC “floor guy” coin.
- not all contractors can take job
- in order for a contractor to take job he must hold “floor guy” coin
- floor guy must receive floor guy coin by having skills/training evaluated offline (or by undergoing training and receiving coin upon completion of training)
- can likely decentralize acreditation by empowering any holder of floor guy coin to credential another. acreditation becomes a job in the system same as doing the actual flooring work to earn coin.
- To credential others, accreditor must post floor guy coin as stake…if someone you credential loses credential as result of challenge/oracle process described below, he who accredited the violator loses partial stake…2 strikes you lose full stake and are out as accreditor.
- Similarly training plus accreditation can be higher paid job/role in system. same requirements of credentialed stake to train as to accredit.
- once contractor posts floor guy coin as stake, job is matched, homeowner payment and contractor stake held in smart contract that’s created to govern work
- work is done offline
- both floor guy and home owner must sign transaction when job is completed to release stake and payment from smart contract
- if home owner challenges adequate completion, smart contract creates new oracle job, borrows funds held in contract to pay oracle/inspector, and broadcasts existence of available oracle/inspection job to network w requirement that contractor that take job hold the SCC coin “floor guy” in order to accept.
- oracle/inspector job only available to holder of “floor guy coin.” He must post stake in “floorguy coin” in order to take oracle job
- home owner must post additional stake to challenge work and both homeowner’s and contractor’s stake pays oracle/inspector for time/visit
- oracle visits job site to determine outcome of challenge.
- oracle decision final. if work is adequate, payment released to floor guy. also, home owner’s additional stake covers full cost of oracle payment, contractor’s “floor guy coin” returned to him.
- if flooring work inadequate, contractor stake covers full oracle payment. Contractor either chooses to post additional stake to make initial job stake whole post-oracle payment and completes work to satisfaction of homeowner/oracle or forfeits his “floor guy coin” to homeowner and receives no payment for services.
- if contractor cedes his SCC “floor guy coin” to homeowner, he can never acquire “floor guy coin” again through accreditation system.
So yea, I know there are MANY opportunities to make this design more elegant, and i’m sure there are vulnerabilities in this sketch that can be exploited and need to be solved for, but I’m excited to meet with folks who are working on stake based trust models in traditional classifieds verticals…cool explorations of oracle process and offline work authentication, and in general people who are attempting to design systems that govern human behavior, not just machine behavior, via creative economic thinking via coins. I have found it more rewarding to engage with early creators when their systems and papers are very much in draft form with lot’s of placeholders and unsolved components. If you’re working on something cool, i’m jordan.cooper@gmail.com
Read Full Post | Make a Comment ( 1 so far )Paradoxical Protocols
We learn early in life that money isn’t everything. My 4 year old niece, operating her first lemonade stand, gets schooled that kindness is more important than profit. At some point…when we grow up a little bit…we face the reality that money may not be everything…but it is obviously something…and it’s something that we tend to want. Each person searches for balance in the tension between doing good and attaining wealth…and everyone lands somewhere on what seems to be a spectrum with those two goals at opposite ends. Yes, there are plenty of companies that crop up, especially these days, that “do well by doing good” or impact investors that use constructs like “good for me and good for the world”…but almost always there feels to be some level of compromise where they are still picking some place on the line that is not a true maximization of both doing good and getting rich simultaneously.
There are many reasons why these two goals sit so far apart on the spectrum, but recently i’ve been thinking a lot about the societal, and more importantly government issued structural paradigms that we use to organize our work. When I graduated from college with my newfound skills, not only was I choosing a market to enter, i was choosing a structure to work in, and my choice would dictate where I sat on this spectrum. Either, I was interested in non-profit work, in which case I was looking for NGOs (non governmental ogranizations like the Red Cross, etc.), or I was looking for corporations, or partnerships, or even government jobs. There was this implicit reality that if I chose NGO to further a cause I’d be forgoing personal wealth, or if I chose a corporate gig I’d be positioning for personal wealth but not advancing causes as deeply as I could.
High level, a corporation’s goal is to maximize profits (both for the entity, and in turn for all those that work for it) and an NGO’s goal is to maximize impact toward it’s cause…but what if there was an organization that existed somewhere inbetween…well, it turns out there is! It’s called a B-Corp, and it’s become quite popular for mission driven companies like say Warby Parker or Etsy, to organize, in the eyes of the government and in turn their employees, shareholders, etc…around principles that optimize for something inbetween profit and impact. In this structure, a graduating senior from college can perhaps escape the tension between wealth creation and impact…but in doing so, i think still chooses something of a compromise as opposed to a rocket ship toward either goal.
One of the most interesting things to me about the blockchain, is that it presents the opportunity to organize work in many more flavors than are available and issued by the government or other societal bodies. It allows you to ask “Can I design a system that optimizes for impact AND tremendous wealth creation for early contributors of work.” It allows you to ask, for example, if it’s ok for the people who begin a deeply impactful mission driven project to become insanely wealth…in fact, is that optimization a key feature that catalyzes early effort and labor in the absense of a brand, large budget, or successful metrics? There is something both fopaux and legally questionable about early contributors to an NGO becoming millionaires in the process…because we already share an understanding of what NGO SHOULD be optimizing for…but it turns out, I can design I system on the blockchain which chooses different optimizations…that lives outside of the 5 flavors of orgnization that the government or society offers me…and you don’t have to like it in order for it to achieve it’s optimal state..the rules are clear…they are encoded into the protocol…they cannot change (at least without going through whatever governence structure i define), and the project will only succeed if there are enough people (you included or not included) who are willing to work for it or fund it…who agree that this unusual optimization shape is possibly impactful, or lucrative, or both…and if there are…liquidity of behavior can be achieved…nobody will get rich if the system doesn’t work…capital investors (in the loosest definition of the word that in this case maybe can include actors that are something between donors and investors) will flow in on speculation and flow out if ineffective/non-useful…early contributors of work will flow in on speculation, both of impact and wealth creation, and flow out if their goals are not being met…and the project will grow in fundraising ability, further speculation from capital markets, and in turn work, if things are accomplished and the system works…and guess what…the earliest workers in the system…rewarded with say a token that appreciates in value as the project succeeds in capital raising, may be getting rich in the process…and that in and of itself…is not a frictional input to liquidity of behavior…
I’ve been sketching out designs for protocols focussed on the organization and administration of mission/ideology driven work that seek to bend the norms of wealth creation and impact…they tend to center around issuing coin for early contribution that appreciates in value with the fundraising success of the project at hand…and they vary in how much of the administrative functions of a traditional org they take on, vs very simple foundational protocol mechanics that can be the infra for some of these upstack functions, but I haven’t landed on a super clean design yet. I’ve also been thinking about the role of that coin as a bridge to the needs and use cases of participants in the capital markets…also bending typical optimizations found in that space, and potentially introducing unique mechanics again at the protocol layer that would feel like new financial products from far away that specifically interact with organizations running on the afforementioned protocol…but again…sketches…not bulletproof thoughts.
I AM very interested in talking to blockchain founders and early contributors who are playing with the structural dimensions of how we organize work, especially where the systems being designed optimize for factors that don’t typically exist alongside one another…maybe i could call this shape of project “paradoxical protocols.” If you are working in the space in the broadest sense…questioning the choices of how we organize and what the systems and structures we work in choose to optimize for, and/or the paths that lead to those optimizations, i’d love to think with you, design with you, and maybe invest alongside you…please be in touch at jordan.cooper@gmail.com
Read Full Post | Make a Comment ( None so far )