It’s been a full week since I found my self in the hot seat of #consensus2017 #hackathon learning a brand new technology and challenging myself to create a viable proof of concept to demonstrate to a group of very smart and passionate blockchainers. Today, I will tell you the story of what lead me there, my experience, and what I learned about innovation along the way.
By day I masquerade as an IT Management Consultant, helping folks figure their way out of technical pickles. Because OSHA demands a lunch break, it means I get a captive audience to practice my skills as an Evangelist -telling anyone who makes eye contact with me (or not) or sits next to me (or not) about the “coming of the blockchain” and how it will revolutionize the world of business, finance, and technology. That’s my romanticized way of saying to you — the reader — that everyone at work knows not to engage me on this topic unless they are willing to spend some serious time debating, going down rabbit holes, and testing future predictions about the market for blockchain or digital ledger technology.
I have been tolling the virtues of bitcoin and now blockchain — sharing in my ups and downs (Mt Gox, The DAO, various exposure to scams and ponzi schemes) — for 3 years now. My story is like most folks who found their passion for this space. It goes like this:
- I heard about it (U.S. Senate hearings; circa EOY 2013)
- I doubted its value
- I investigated it (Byzantine Generals Problem…solved)
- I got hooked once I understood the breakthrough
- I dived in financially (foolishly at first)
- I became a believer (positive experiences outweighed the negative ones)
- I had to tell others
By the end of 2015, colleagues started listening and I found a group of fellow blockchain believers to share stories and articles with. We formed a task force and started focusing on bitcoin’s impact to payments at the time. By EOY 2016 we had hosted our first Disruption event in a very upscale setting at the Chicago Athletic Association. I spoke on a panel there with colleagues and key players from our city — Rumi Morales, Jochen Renz, David Ripley, and Conrad Barski. During that event, we were able to coax a few attendees into downloading a wallet to their phone, receiving some bitcoin, and sending some bitcoin. Considering the nature of the crowd (C-level execs mostly) we considered it a success that we got between 7–10 folks and a bunch of skeptical bystanders to watch as we instantly “downloaded money” and swapped it back and forth during the reception and transition times. It was a great way to witness first-hand how the virtues and limitations of the technology became apparent to people for the first time as they used it. The experience left an indelible impression.
Fast-forward to 2017 and banks for the most part don’t seem to be reaching out to their traditional consulting channels for help with blockchain. Instead, they have opted to buy the R&D pie, splitting their efforts and attention between several consortiums (i.e. R3, Enterprise Ethereum Alliance, Hyper Ledger Foundation), or rolling their own versions of blockchain implementations built from / informed by their experience with Ethereum (e.g. Quorum, Axoni, Chain). Financial institutions seem to have effectively and unanimously said — “This is a private affair, and we will talk about it on our own terms”. I suppose it doesn’t help that even still today when I mention “blockchain” or “Bitcoin” outside of my smaller technical circles, I get the nose crinkle look. “What’s that?”. Why should they know? As things stand today, I still don’t have an option to “Pay with Bitcoin” when I take a cab across the loop. This lack of broad social awareness (pressure) effectively gives the financial services industry a decent amount of runway to experiment on their own time. Back at work I could also see the effect in “the lunch room” some early believers were starting to doubt the “message” and real potential of the technology, while others were simply less excited. I consume a lot of news regarding blockchain as a trader, miner, and researcher — so all I could see was the “obvious” green lights:
- Banks are taking this technology seriously
- The SEC is considering an ETF for bitcoin
- Initial Coin Offerings are becoming increasingly successful (Gnosis, Blockchain Capital, Golem, BAT)
- Countries that were anti-bitcoin are now very pro (e.g. Australia, Russia)
Having a world view does not always give you an advantage when local sentiment and education is lagging. This has been the case in the Midwest as opposed to Switzerland (home of Ethereum) or Singapore (home of the Initial Coin Offering). For comparison, we held our first Chicago Blockchain Conference in December 2016 and the room was small enough to host a crowd of less than 100. During that conference, the Illinois Blockchain Initiative was announced, and Rumi Morales encouraged us to “build blockchain companies” and to represent the spirit of Chicago: the legacy of trade and commerce by which this city has been historically associated. Nevertheless, pro blockchain sentiment was either falling or skepticism was rising at work.
Having consumed Coindesk news since my early days of interest in the topic— stretching out from the bitcoin reddit channel into more mainstream outlets that covered more than just bitcoin news— I was keenly aware of the notoriety associated with past consensus conferences and hackathons. And so, I decided within myself over the coming weeks (as I watched the counter tick down and the price of the conference rise in $500 increments as the event got nearer) that I was NOT missing it this year. I opened up my wallet and burned a small fortune in Proof of Labor tokens ($USD) to secure my spot.
While registering for the event, I casually filled out an application to attend the hackathon taking place on the Saturday and Sunday prior to the conference. They made it clear that they were only accepting 170 participants, and because you would never know from looking at my github repo that I’ve ever written a stitch of code (I have written many stitches thank you very much), I was all but convinced that I had the same chance of winning the lottery.
Three days before the conference I get a message in my inbox telling me I’ve been accepted into the hackathon. I was already excited to go to the conference, but seeing that message sent me over the top. Against the odds, I was getting a very rare opportunity to participate in an event that is well known, in a space that I love, and has inspired numerous developers to build blockchain solutions and companies. I immediately secured an earlier flight and made additional hotel arrangements.
Thankfully, due to preparation for an upcoming talk at another event, I had what I thought was a pretty solid idea for an Internet of Things + Healthcare + Blockchain demonstration that I hoped would make for a great exploration of alternative use cases for blockchain / DLT technology. Knowing that most of my clients are very sensitive to regulatory compliance, it seemed IBM’s blockchain — Hyperledger Fabric V1 (HLFV1)- would make the best fit due to it’s various privacy options and ability run multiple channels (private blockchains / ledgers). There was only one problem — my knowledge was book knowledge. I knew nothing hands-on about this product. My prior blockchain smart contract experience had been with Ethereum. In reaching out to my team, I got a mixed bag of responses. Folks were happy for me but still very much in the “show me” state of mind regarding blockchain. I did a writeup explaining the approach in detail and my choice for IBM’s tooling. At some point toward the end of the day on Wed, one of my comrades finally verbalizes the “skepticism” that I can feel lurking between the lines of this broad email thread. “It might not be a good look to do this hackathon alone, or attempt to represent the firm. What if another competitive firm is there and does a better job?”. Being a participant in other security related hackathons, his opinion carried weight with the other recipients on the thread, and sometimes that’s all it takes to kill support. Things effectively went dark from there. I replied that I resonated with the sentiment (fear of failure) and that it was not my goal to cause embarrassment to the firm. I acknowledged that I would be smart about it, survey the field, and decide on my game plan once I arrived.
By Thursday morning— a day before flying out to NYC for the hackathon, my mind is racing over the details of my demo. In addition to the realization that I would effectively be going it alone at the hackathon, I am also preoccupied and concerned about a buddy of mine who has recently lost his mother unexpectedly. Having to fly out and make arrangements — as the eldest son — I was worried about all the work ahead of him to manage her estate and plan a funeral. When life throws a curve ball like that you start to ponder your own readiness for that “blessed day”. For me, I realized that in a digital world, all of my important information really exists in my digital “file cabinet” (email). I asked my friend about how he would deal with the house, and the solution seemed pretty simple — report the death certificate to the state, and the lender will be notified. At that point it becomes a process of either assuming ownership or listing the property for sale. It occurred to me that we have no clear-cut, similar analogy for dealing with our virtual assets— like email. What would happen to his mom’s virtual file cabinet? With that thought came an epiphany — what if we had a digital marker for identity that was separate from email? This would effectively make email a commodity that you could sell back to the service provider or on the open market. As a blockchain implementation, having a name registry similar to what exists now for web site domains would make it easy to track who owns the address and service providers could decouple the address from the content itself. Going over the architecture, I realized that this concept was a bit controversial, but also simpler to implement than the original idea that I had for wearables and healthcare. It seemed the perfect candidate for a hackathon project — something that tests the limits of existing thought around data and information systems.
For two days I wrestled with my choice of design for the blockchain protocol (Ethereum vs. Hyperledger), until committing to the latter — mainly to avoid the added complexity of budgeting for gas that would be needed to register (create) email accounts to the registry and purchase them on the market (transfer). This decision meant that I had to parse through pages of IBM documentation and figure out by 2:00am Saturday morning — thanks 100% to Simon Stone (human+developer extraordinaire) — that Hyperledger Composer is a new, alternative approach to building smart contracts directly into Hyperledger Fabric V1 using Chaincode. The frustration and lack of sleep were worth it as I discovered that HyperLedger Composer streamlines the developer’s focus to building a singular model that helps them define assets, privacy rules, and transactions in a very succinct template — all riding atop Hyperledger Fabric through a special Chaincode contract interface. Composer comes complete with an online test bench and local download which you can use to deploy your implementation to IBM Bluemix’s cloud-hosted instance of HLFV1. Brilliant and super time-saving! These are attributes that every enterprise needs as part of their devOps toolkit to limit ramp up time for new resources and avoid maintenance of what we call “boilerplate code” — low level plumbing code that you to write +reuse over and over again for every implementation. Hyperledger Composer takes care of the boilerplate code for you. Microsoft has been great at providing solutions like this. My background is in .Net development before becoming a SharePoint Architect, so the pattern resonated with me immediately and gave me the boost of confidence I needed to feel comfortable with my idea switch and implementation approach.
Saturday morning I’m the first developer to arrive at the event location — Deloitte Headquarters — 40th floor of 30 Rockefeller center. It’s 7:36am so I’m ~ 30 minutes early. As I swipe my paper elevator pass against the magnetic reader and stare through the glass doors at a group of organizers that seem just as confused as me why the door is not opening. They decide to continue their conversation (4 feet away) and not risk the “Hey do you need some help?” or make any motion towards the door. Eventually after a tug and a knock, a nice person comes from around the corner and lets me in. I ask if this is the right place for the hackathon. She assures me it is, but they are still setting up so I’ll have to wait in the cafeteria — just behind hospitality committee who watched me test the limits of technology and common sense a few moments ago.
There’s a lot of chatter as the team of Deloitte consultants finishes setup and preparation of the conference rooms that will host the developer teams. I decide to toss on the 3 hrs of Accoustic Meditation music (courtesy of YouTube) that has been allowing me to keep my nerves at bay while consuming more and more IBM and Hyperledger help documentation, simultaneously building my first local instance of Ubuntu on VirtualBox; Microsoft’s OS was apparently not supported for Linux Foundation’s Hyperledger Composer product. Surprised? 8:06am comes around and I realize no one remembers that I’m waiting. I get up to take matters into my own hands; I’m off to look for anyone from the Hyperledger team. As it turns out, they are in a conference room stationed just before the big breakout room. Chris and Mihir extend a very warm welcome and assure me that I’m in the right spot. It’s ok to set up my gear and get comfortable. I find out that Hyperledger Composer is hot off the press and that we’ll all be learning the tool together today. They are IBM Chaincode buffs, not Composer experts. YIKES, this is going to be a long day right?… Strangely enough I wasn’t that worried. There was a warm, positive energy in the room, so I relaxed accordingly. Eventually, Simon Stone steps into the room and I understand that universe has aligned in such a way that the very person who’s YouTube demonstration I’ve been rewinding all night and taking notes against, will be “driving”. Wow.
Small talk and introductions end and we all shuffle into the breakout room. I take up a seat next to my new IBM family and find it hard to concentrate on the opening remarks. Someone behind me is going on and on about blockchain and enterprise, and how to think about this event. It sounds like she’s talking to a junior comrade, laying out the game plan for how they will split up to learn all about the enterprise ledger solutions for their startup. I’m thinking to myself, “that’s a really good plan”, and “..She’s a really good boss to be laying things out so clearly for her team — making sure they are comfortable with pursuing new territory and asking questions”. Besides that, she seems to have done her homework on blockchain in general. Being the nosy person I am, I can’t resist the urge to lean back, introduce myself and find out more. To my surprise, I find out that Hui and Kishan don’t know each other at all. Hui is simply looking out for a fellow newbie to the scene (like me). I was right about one thing though. Hui was there as a CTO representing her own blockchain startup-Sweetbridge. We all chat a little between each hackathon challenge announcement (~6 total). I start sharing with Hui why she should consider Hyperledger Composer as part of her portfolio of enterprise ledger tools to investigate. She has a data modeling background so she immediately sees the straight line to rapid application development. I share my idea to split email from identity and she frowns at first, but encourages me to continue. I tell her about my friend’s recent hardship and how it sparked the idea. Then I explained how simple the implementation would be and watch her eyes light up. From that point we agree to be partners and she promises to help me with all the non-development related work — effectively serving as my Product Manager.
We get back to the IBM room and find that 15 out of the 20 souls present are developers — non IBM or Hyperledger affiliates. Just as I suspected, the hype around Ethereum with the recent ICOs has grown the interest in that community. Also – being a first-mover – no one has likely done the research needed to explore the benefits / merits of alternative tooling (private ledgers). The thinking is logical — especially for a high risk scenario such as a hackathon: “Ethereum has a large community and code you can copy, so stick with what you know”. I could tell that the IBM team was a little disappointed with the turnout, but nonetheless they rolled up their sleeves and we dived in.
Hui set her data modeling and product management skills to work immediately. After about 2 hours we had a working data model built and tested on the Hyperledger Composer Web playground. Imagine that? We went from idea, to notepad sketches, to use cases, and finally implementation on a new platform in less than a day. We tested our transactions out and validated our logic for registering new users and email addresses in our domain registry service, and finally tested the email marketplace functions of claiming (buying) and releasing (selling) email addresses. Excited, we delved further into building out the front-end. I went back into the breakout room to find any other participants with design skills. As it turns out folks with presentation and graphic design skills were in short supply at the hackathon. “Really?” I thought naively. This means that Hui and I will be doing all the design and front-end work ourselves, In addition to preparing the slides and our pitch. Thankfully Tiffany — one of the event organizers and participants with IBM came along and assisted us with some of the wire-framing for the front end. We got the design mocked up and I started the process of installing the local version of Hyperledger Composer to my Ubuntu guest machine.
Demo gods & shenanigans
Surprise! You’re out of disk space 🙂 Really? A brand new copy of Ubuntu with 1 GB of RAM and 10 GB of disk is not enough to host one “mostly” html-based tool that connects to the cloud for all of the heavy lifting? Apparently, Yes. I had forgotten about the “additional” space I used up by installing Google Chrome — my front-end development browser of choice. I scrambled to extend the size of my disk drive and after successfully completing the steps I found online, I realized that the home screen comes up, but after entering proper credentials, the machine just won’t let me in. Understanding what must be happening Mihir says “Oooooh did you encrypt your ‘home’ directory?” Of course I had. Always go for more security rather than less right — especially when it doesn’t cost you anything? Well, now I was suffering the wrath of poor assumptions and noob mistakes in configuring my environment. To make matters worse, we had 1 hour left before being kicked out of the office and my best option was to rebuild the entire environment from scratch — re-installing the local Composer instance and attempting to link it all up to my free production Bluemix instance of Hyperledger Fabric. Mihir hears me mutter something about “free Hyperledger Bluemix” 2 minutes before heading out the door and says, “Noooo, that’s the wrong version — you need the latest version. I will have to give you access. Give me one hour”. With that the IBM heads off to dinner and I head back to my hotel to finish the steps of rebuilding my development environment. I am upset but think that there is still time to clean up this mistake and make a strong showing for tomorrow.
By around 3:30am, I finish walking through more documentation and steps and troubleshooting missing or poorly configured npm packages. The epiphany comes: “Wait, I could have simply used the docker container to avoid any configuration issues.” In my defense, the documentation offered up both options so I picked what looked familiar and went down the path that I had already started back in our conference room.
So it’s Sunday morning and I have an environment, but no front-end, and I still have to link our model up to the correct instance of HLFV1 on Bluemix. Thankfully Simon and Mihir are early and we get that part taken care of quickly. The remainder of the day is met with me feverishly trying to organize and pound out an acceptable user interface while giving split-brained feedback to Hui who is cranking away at the slides and doing a fine job at it. I realize as I’m troubleshooting that my connection to Bluemix keeps timing out after about 5 mins. The other team in the room is having the same problem and it appears the only solution right now is to keep the connection alive by refreshing it ever so often.
Hui has been keeping time and reminds me that we only have 10 minutes before rehearsals at 2:30pm to work on our pitch. She has completely absorbed the business value of the back-end and has conveyed it perfectly via diagram, so we agree that the talk should be split up. I will tell the story, and she will talk to the business implications and feasibility. It’s a perfect match-up. We run through the talk a few times, striving to keep the words simple and avoid running out of time. By 2:30pm we are up to the podium for rehearsals. Surprise! The computer does not have an HDMI port, it uses some other mini-DisplayPort alternative that I forgot to bring the adapter for. Ugh. We spend about 3 minutes (of 10 available) setting up the laptop. Thankfully they have the right adapter at the podium. Just before we start our pitch, the Judge asks: “So what’s the goal of this project? I don’t see it in the submissions…” Hui and I are mortified. I personally watched her type this up and submit it the night before. Where the heck did it go!? We are both stumped but there’s no time for that so we rush to fill out only the required fields just to get the submission posted. “Set your timer for 5 minutes…. and go!” We’ve practiced to have 10 mins. I start my pitch, and get through it in just over 3 mins. This leaves Hui with only 1 minute and some change to talk about the business drivers. The buzzer goes off in the middle of her talk, and we are both feeling the intensity of what just happened. The judges assure us that this is what rehearsals are for and ask “So will it be ready when you pitch later?” We both reply “YES”.
Back to the bat cave and I have 2 hours to get the front-end (user-facing web page) built out and talking to the back-end — our precious blockchain model which we had built the day before. Something goes wrong with the import and we have to regenerate all of the connections. On top of of that, I’m having trouble writing data to the blockchain via my jQuery ajax calls, so all I can really show is that data is being properly fetched from the blockchain. Simon convinces us to do the entry part via Composer. As it turns out that was a great suggestion because we’d get to showcase how easy it is was to build the model. Hui makes her finishing touches to the deck and we are set to present.
Two Strangers, One chance
“ReBox! Do we have ReBox in the room? Can you please queue up!” Hui and I move to the front of the room — two strangers who have connected over a simple conversation that turned into a joint project + presentation on a tool that was so hot off the press it was still smoking. We are proud of our work and determined to show what we were able to accomplish — the only team of 2 out of 200 attendees (most with some prior affiliation). We stand united as the 1% . I plug in the laptop and it works! Small victory. I’m refreshing like crazy to make sure the demo won’t lose its connection. I take the microphone and words spill out of my mouth. Whatever I just said came out at the right speed because Hui still has plenty of runway for her piece. She covers the protocol and business implications flawlessly. “You have one minute left”. Hui hands the microphone back over to me to walk through the demo. I show a glimpse of the composer and how the contracts are built. Then i walk through the demo and show how data is pushed into HLFV1’s cloud instance and read back out to the screen. “Time’s up!” That’s the end of the presentation and I have to stop mid sentence.
That was intense. But it’s not over. IBM wants to do an interview on why we chose the technology. We graciously oblige and spend about 10 minutes building an impromptu “set”. Hui and I sit director-style on two high-chairs in the middle of Deloitte’s cafe — an over-sized camera aiming right for us. We trade lines on our experiences attending and participating at the event. The flow between us is naturally smooth. The consolation prize for all the stress and brainstorming we had to do in the last 1.5 days is that we know this topic inside out. The IBM folks were really pleased with the content and offered us our own set of PowerBeats3 headphones.
No one was ready for the wow factor of the Australians brought with their drone demo, or the Monopoly game where each move was being driven by smart contracts on the blockchain. Nor did Hui and I know the extent of capability that our Hyperledger roommates had packed into their demo — being able to organize what seemed like a flurry of content together — even finding a way to integrate Microsoft Azure tools. The quality of work from all competing teams truly was remarkable and we were proud to meet them, witness their success and have that shared memory and experience of doing something really hard and crazy together.
Hui and I didn’t win any of the official challenges, however we won something more precious -the privilege of knowing first-hand how people with a common passion can achieve success against great odds. I’m really proud to have competed with Hui. I know neither of us will forget what we accomplished in under 16 hrs. Just after the event, I posted a picture of us on LinkedIn smiling with a simple message (paraphrased) — “Phew! We did it”. That post was, consequently, my first LinkedIn selfie and the first time I ever personally witnessed something go viral online (~6000 views in one week). That simple affirmation traveled outside of my little Midwest circle of influence in Chicago, and resonated with folks as far away as the UK.