Blockchain Hackathon — January 2018

Jeremy Forsythe
Feb 19, 2018 · 8 min read

A couple of weekends ago I attended the Blockchain Week Hackathon hosted as part of London Blockchain Week 2018. It was a fantastic and enlightening experience; here I will share our story and some of the highlights.


What Happened

I had signed up a couple of weeks in advance after seeing an advert in a newspaper at my office. The event was scheduled to run from Friday evening after work all the way through to late on Sunday. Not sure what to expect (this was my first hackathon) I turned up on the Friday evening in good time for the official start where everyone was engaged in the initial meet and greet. The first people I talked to were similarly clueless as to how they were going to be spending their weekend but it didn’t dampen our collective excitement. There were about 250 people in attendance over the weekend, about half of whom were developers. It was pleasantly surprising to find such a diverse mix of attendees that included developers, designers and entrepreneurs.

The challenge was to use blockchain technology to help in finding solutions to problems arising in the developing world, specifically in Papua New Guinea (PNG). The event was being supported by the Bank of Papua New Guinea (BPNG) with a number of representatives in attendance. On the Saturday morning a presentation was given by last year’s winners (IDBox) who had had the opportunity to go out to PNG and test their prototype. We also heard from some experts who have spent time working in developing countries and who gave us advice on how to frame our ideas and what to focus on.

At 7pm on we had the official welcome and introduction to the event; as part of this those of us who had come without a team (probably about 20% of those in attendance) were asked to give a short pitch selling ourselves to potential teams. Despite this it was clear that the rest of the evening (until 10pm) would be spent discussing ideas and sorting out teams. There were some interesting discussions but it wasn’t until about 11am the next day when we finally had our team sorted!


Tribe

I was lucky to meet some great teammates and when the dust finally settled we were Shaun, Gaetan, Vincent and myself, newly branded as Tribe. I am extremely proud of (and kind of shocked by) how much we achieved in less than 48 hours. It is worth taking a moment to say something about the team and how fortunate we were to have found such an impressive array of skills to work with: the drawings shown here were done by Shaun over the weekend, Gaetan had flown all the way from Belgium especially for the event and Vincent brought development experience from some of the most highly renowned names in the technology industry.

During the idea phase we needed to rigorously define our blockchain use case and also situate our project within PNG. We quickly focused in on the problem of strengthening individual’s identities using the blockchain. Despite being aware that the previous year’s winners, IDBox, had already focused on this same ‘Identity’ problem we felt strongly that there was still work to do and that we had some good ideas. In developing countries, official documentation which we may take for granted is scarce, including passports and birth certificates. This is part of the reason it is nearly impossible for many individuals to open a bank account in these countries where the vast majority of the population are still ‘unbanked’. Blockchain technology offers the opportunity to redefine the ‘source of truth’ used to establish the identities of individuals.

The Tribe logo

What came out of this phase (11am — 3pm on Saturday) was ‘PageRank for Identity’. Many of the technical details were still to be fully realised but we had a definite plan for how the end-user would interact with our system through SMS and how their details would then end up on the blockchain, aided by a smart contract. An existing user registered on our system would be able to register new users simply through the use of a mobile phone. An authentication process would then take place before the new user is accepted as a member of the network.

Relationships between people become connections within the network which are then stored on the blockchain

Links between those registered on the network would be created between those with phones who had referred each other. This would create a highly distributed structure as you can see in the diagram to the left. One of the issues we discussed was how to register a whole family when there may only be a single phone within the household. This led to the idea that the head of the household would be able to register the rest of the family on the system.

Our discussions also brought up how this might be of use to officials in PNG. It is a common problem that public funds need to be distributed, but as there are few public records it is hard to decide which organisations or individuals to credit. A universal ledger whereby every registered individual was allocated a score proportional to their contribution to the community network would provide a strong means for helping with fund allocation.

We were privileged to have a discussion with some of the representatives who had traveled over from PNG to spend the weekend with us, providing us with their advice and local knowledge. For half an hour we sat down with two representatives from the Bank of Papua New Guinea, Jeffrey and Naime, who told us about the structure of Papua New Guinean society and we were pleased to get them excited with our ideas. The diagram below shows the nested hierarchial structure of PNG’s society and the place of individual’s within it.

The structure of Papua New Guinean society

We were also surprised to hear some of the challenges which arise just in navigating around the country. For example it takes Jeffrey as much as 12 hours to cross from his home island to the nearest mainland by boat.


Technical Stuff

Aided by Vincent, at 3pm on Saturday I laid out our ambitious plan to have a working SMS-powered app with blockchain integration by the looming deadline of 1pm the next day, when our work would be judged (we needed to learn at least two different technologies to even have a chance of producing a prototype on time).

There was freedom to use whichever blockchain technology you preferred (Ethereum and Hyperledger were the two most thrown around names). We had also heard of a handy SMS API called Twilio which we were to find out is amazingly useful and powerful.

It was 9pm on Saturday when I decided that it was probably about time to work out something about running an Ethereum blockchain. I was referred to a senior programmer for advice and he helpfully told me “well… there’s this tool called geth… but it’s not trivial”. He was right, of course. Geth is the Ethereum protocol implemented in the Go programming language, hence the name.

However, endowed with a healthy dose of blissful ignorance, I forged ahead with my plan to implement a blockchain miner, smart contracts and potentially a new token by the next day.

The breakthrough moment came on the train in to London after a limited amount of sleep the previous night. As I sat in the carriage, laptop on lap, phone in hand, I marvelled at the integration between the devices through 4G, Wi-Fi and SMS communications. My phone would send an SMS to my laptop which in turn would send an SMS back to the phone and store all of this on a local blockchain where I could see the blocks being mined live every few seconds. It felt a bit surreal to me considering the previous day how much of this seemed like a pipe dream.

The diagram below shows how the tech stack for our prototype was set up. The two user’s interacting with the system have to respond to a series of SMS messages to verify their identities and also need to send additional details for the new user. Here ‘User 1’ could be the existing registered user and ‘User 2’ the new user.

After a few last minute tweaks and some frantic testing we finally had an app that would demonstrate the system we had designed. The judging was to take place in two stages, first we would give a demo to a pair of judges, followed by a presentation in front of the other teams. When the judges arrived we were relieved that the demo went according to the script and generated some positive comments, in fact it went off without a hitch! Next up was the presentation which had been prepared by Shaun and Gaetan.

We had only three minutes in which to cram all of our ideas and enthusiasm. The guys did a great job of telling a story from the point of view of the Papua New Guinean people and I think we made clear the problems which we were proposing to help solve. There were a lot of presentations to get through and despite starting the presentations at four o’clock it wasn’t until about 8:30pm when a winner was ready to be announced. Out of thirty competing teams, two were announced as winners and one was highly commended by the judges; unfortunately we missed out on the accolades. Despite this we are extremely happy with our achievements over the weekend: forming a team, developing an idea and building a proof of concept app.

Final Thoughts

Going into the weekend I was conscious that blockchain technology has the potential of becoming a solution in search of a problem. It shouldn’t be billed as a ‘cure-all’ solution, however through the lens of the enthusiasm this new technology has generated we have been able to gain some real insight into problems in the developing world. Whenever a useful application is found it is doubtless only going to be possible to realise this with an incredible amount of hard work from a large number of people and I am very optimistic about this.

A few snaps from the weekend. The team (top middle, left to right) are Vincent, Shaun, Gaetan and myself.

The hackathon itself was great fun and probably even more demanding than I expected it to be in terms of its intensity over the whole weekend. I would like to thank my teammates for all the hard work they put in over the weekend to make sure that we had something to show for our efforts on the Sunday afternoon. On the practical side, finally getting an Ethereum blockchain up and running was a real highlight for me and has whet my appetite to learn more about this technology. I am really looking forward to taking the opportunity to participate in similar events in the future.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade