Friday, June 29, 2018

Blockchain on Mobile is the Future

First an Update: Blockchain in the GTA

Since my post in March, I have fully immersed myself in the blockchain world and it has been both fun and frustrating at times, but mostly fun. The blockchain scene in the Greater Toronto Area is incredibly active, with numerous meetups and conferences happening all the time. I feel fortunate to live so close to it all.
In March and April I attended a bunch of meetups, mostly from a blockchain learning initiative from York University called The BlockchainHub (https://theblockchainhub.org), which hosts on a regular basis, a slew of meetups on blockchain awareness and introductory classes, I believe as a way to promote their blockchain certification programs (https://theblockchainhub.com/academy), but through their free sessions I learned a lot. I even participated in a hackathon called Block Hack (https://blockhack.ca) hosted by them, in partnership with a number of well-known players in the blockchain world. It was an intense weekend of working through an idea and coding. Through the struggles of that weekend, I learned a bit more about creating Ethereum smart contracts and DApps. I also got to know some interesting people.
In May, I attended a couple of very big conferences, AIONEX (https://aion.network/aionex) and AiDecentralized (https://www.aidecentralized.com). Both of the conferences further opened my eyes to the world of blockchains and how AI fits in. My brain was introduced to an incredible wealth of knowledge that I'm still working my way through.
In June, I decided to get my hands dirty a lot more, and participated in the Nebulas blockchain's incentive program and worked on a number of DApps and smart contracts (all in Javascript) and a .net client library. I submitted three of the DApps and smart contracts, with one being accepted and rewarded. The competition was intense - week after week hundreds of entries were submitted and ranked by their Nebulas Rank algorithm, culminating in their blockchain registering over 4000 smart contracts and DApps by the sixth week, far surpassing Ethereum. The competition itself was not without flaws in terms of fairness to developers, which I might discuss in more details in another post. Through this experience, I further solidified my knowledge and insights in not only smart contracts and DApps, but also how a developer community and specifically, an incentive program is run - I also have my thoughts on how it can be improved.
Aside from all that, I also attended some meetups local to the York Region, where I live and work: Bitcoin North (started by a former colleague of mine) and Markham Cryptocurrencies (started by a young guy who works for one of the crypto exchanges) - it was from the latter group that I learned about a locally-based project called Gorbyte, the main topic of this post.

Altruism, Blockchain and Mobile

In my March post, I envisioned a future world with a "microblockchain" living on billions of mobile devices. Well, this is becoming a reality sooner rather than later with what Gorbyte is aiming to achieve.
Gorbyte is a blockchain in development for the past two to three years and is currently in its early funding stages. Gorbyte has two very big goals. The first is to put the blockchain on mobile devices - not just as a wallet but an entire node on the device. The second is to bank the unbanked of the world - a very altruistic goal.
The unbanked is a population of people who lack access to banking and financial services, and other needs most people of more developed countries take for granted. The challenges of the unbanked are most pronounced in less developed countries, where poverty, corruption and exploitation are more evident. While essential needs like shelter, food, clothing, health care and education have become better in the past few decades with awareness and assistance from more developed countries, they are still far, far behind in the access to services in the areas of finance, insurance, law, entrepreneurship, etc.
My family lived through the Vietnam war and left the country along with that whole wave of "boat people" at the end of the 1970s. We were unbanked. When we came to Canada, our sponsors helped my parents set up their bank accounts and when I was 12, after doing some work for my school, the vice principal took me to the bank and helped me open an account to deposit my earnings. I recall the feeling of having my very own bank account. It was an empowering feeling. I even had a bank card. This was 1982, so those were very early days for bank cards. I felt a sense of freedom - I was able to access my account from any branch, even when they were closed. Then in the 1990s, there was excitement of being able to bank from our homes with telephone banking and after that, with the advent of the internet: PC and web-based banking. And now, that accessibility has extended to mobile phones, where access is not only possible from anywhere, but transacting with other individuals and companies is a regular occurrence.
Gorbyte is banking on the imminent creation of global mobile services in the next few years by companies like SpaceX, Boeing, and OneWeb that will connect a billion more people to the internet, many of whom are currently unbanked. Gorbyte's goal is to provide each unbanked individual with a free blockchain-enabled hardware device that can access free banking and financial services, without any intermediaries.
Through biometrics and other security measures, device owners will be pre-identified and do not need to transmit identities each time a transaction is made, increasing security and fluidity. The device will essentially become the owner's unified identification and access card, which can then be used for entry into secured areas, perform purchases, provide authentication, etc.

My Understanding of Gorbyte

Each device, called BRDG (Blockchain Registered Device by Gorbyte), acts as a full node in the blockchain and participates in Gorbyte’s cooperative consensus mechanism that they call MARPLE (Majority Agreement Recursive Protocol based on Logical Environs), where a subset of interconnected active devices (called an environ) come to concurrent agreement using a technique called Consensus Lower Triangle Matrices (CLTM) — a concept in linear algebra whereby in a matrix, all the points above the diagonal are guaranteed to be zero, leaving the points on or lower than the diagonal to be either zero or non-zero. This means if the points represent the nodes in an environ in the blockchain, and their confidences reach a significant majority, like 80%, then consensus is reached. Blocks are composed synchronously and transactions normalized in such a way that 99.99% of the time, consensus will immediately reach 100%.
MARPLE differs from Proof of Work (PoW), Proof of Stake (PoS) and others, in that its energy cost is near zero (other than the operation of the devices themselves) and it is truly decentralized since it doesn’t require randomly centralized entities such as miners or stake holders. It only requires the voluntary participation of the device owners. Device owners don’t have to have their devices on all the time because the protocol is recursive and able to recover from cases where some or all of the devices go offline. Like other consensus algorithms, all devices adopt blocks which have been minted when majority consensus is reached. Those devices that might have different blocks from the majority (perhaps because they lost a transaction) must synchronize with their logical neighbours to become equalized again (much like a homing device).
In addition to hardware devices, Gorbyte will allow the registration of virtual devices that run on PCs or virtual machines as well as software components. This opens up the possibilities for a very wide range of applications including internet of things (IoT).
Companies will be able to create and register distributed/decentralized applications called GApps (General Distributed Applications) that serve Gorbyte users. Companies pay for this opportunity, because in the end they are the ones who will profit from providing products and services to the unbanked, who also benefit because they are getting something they didn't have before, the ability to use the services with a free device - a win-win!
One of the interesting things about Gorbyte is its stable currency (Gors). To even out wild fluctuations, the currency will inflate or deflate during periods of volatility. A currency that fluctuates wildly, like many of the ones that exist today, is difficult to use for every day transactions, without constantly referring back to fiat currencies. Buying a house with bitcoin can become cumbersome, when the value difference between the initial purchase date and the final closing date can vary greatly. There will be greater confidence in conducting transactions using the Gors currency knowing it is stable. Holders of the currency will be incentivized with interest and dividends proportionate to the size of their holdings.
There is a lot more information (both technical and non-technical) on the Gorbyte website (https://gorbyte.com). I can't say I fully understand or have covered all the technical intricacies of Gorbyte (and I'm sure the team is still working through or have not revealed the implementation details, such as the software development platform, supported programming languages, etc., etc.), but the possibility of putting the blockchain on mobile devices AND for an altruistic purpose (to help the unbanked) is very exciting to me. I'm looking forward to getting more immersed in this technology as it develops.

Thursday, March 08, 2018

Blockchain Dot Com

Genesis

Up until now, like many people, I have tried to ignore cryptocurrencies and blockchain technology. However, near the end of last year my son told me he bought some Bitcoins (near its all time high), all $30 worth! He wanted to start small to get his feet wet. I remember telling him to be careful and learn more before risking more money. A couple of weeks later Bitcoin dropped over 50% and he had his first lesson in the effects of a speculative bubble. Bitcoin prices have come back up somewhat, but he still lost a few dollars, and I’m glad it was only a few dollars. Don’t get me wrong. I was not discouraging him from investing. I wanted him to do his homework first before jumping in bigger.
That little episode put a bug in my mind about cryptocurrencies. I still had no idea how they work and had only heard and read bits and pieces of news clips about them. One of my sales reps on the real estate side even set up a Bitcoin miner, so I learned a bit from him about how he bought a high end GPU and put together a Bitcoin miner that paid for itself in nine months. Even after accounting for the cost of electricity to run his “mining rig”, he was making over $10 a day. I thought that was a smart way of getting into the game but beyond that I had no idea how cryptocurrencies worked.
Fast forward to February. I received an email from the MaRS Innovation Centre based in Toronto, about their free Entrepreneurship 101 course. Even though I saw myself as technically already an “entrepreneur”, I felt it would not hurt to open myself up to more learning, so I decided to sign up. The course had nothing to do with cryptocurrencies, of course. I didn’t expect it to be about cryptocurrencies. In fact, cryptocurrencies had already made it to the back of my mind. However, life twists and turns in unexpected ways.
Part of the course was a forum in the Slack app, with a number of channels for students and course leaders to discuss course work and interact with one another. One of the channels was the “Introductions” channel for students to tell others a bit about themselves. I, along with a number of others, added our “intros”. I thought the introductions were fascinating and the students seemed to have very wide-ranging startup interests. A thought occurred to me — what if I went through all of the introductions, gathered people’s interests and plotted them on a chart. What are the trends? It turned out of the 133 who added introductions (out of over 650 who participated in the Slack app and over 2300 in this year’s cohort), the top interest was AI, which wasn’t surprising. AI is a topic I am very interested in, which I hope to also write about in the future, but what was intriguing to me this time was that a good number of people also mentioned “blockchain”. Up until this point, I equated blockchains to the hype of cryptocurrencies and never considered that people in business, or those thinking of getting into business, were actually interested in them.
That little charting exercise put blockchain a little more in the forefront of my mind. People discussed my chart. Some opined that there is a lot of hype around AI, blockchains, etc. while others chimed in, saying they are changing, and will change, the way people and business work. My curiosity in blockchain piqued some more and I began learning about blockchains and how I can apply them to an idea I’m thinking through (I’ll also talk about that idea in a future post).
Then someone shared a link to the site, “State of the DApps” (https://www.stateofthedapps.com) with a small discussion about which “DApp” people like (only a couple of people discussed this). I had never heard the term “DApp” before, so I visited the site and discovered that they were “decentralized applications” and that there were already around 1,100 of them operating on the Ethereum blockchain (a few months earlier, around the time my Bitcoin-mining sales rep told me about his mining operation, I had read an article about a prodigy named Vitalik Buterin who wrote a white paper on a solution to the shortcomings of the Bitcoin blockchain, which ultimately lead him to create Ethereum). At this point, my need to know went into overdrive.

Slush

I started learning more and more about blockchains and began to immerse myself in the world of Ethereum. I got fascinated by DApps and began to go through each one listed in the State of the DApps site, to learn more about what they do. I discovered a surreal world comprising a mixture of “real” business applications to gaming to virtual gambling to Ponzi schemes to trading of artificially “rare” virtual assets, such as the famous (and admittedly cute) CryptoKitties, where some guy in Japan even paid over USD$100K for a “generation 0” cat! There was even a togue-in-cheek DApp for trading “virtual tulips”. Some of the more interesting ones included one that let people put a bounty of a certain number of tokens on certain tasks, a couple that attempt to apply cryptocurrency to real estate, and some games that allow people to purchase assets to build a virtual world.
This lead me to look into how a smart contract is created for the Ethereum blockchain. There are some technical hurdles like learning their Solidity programming language, but by and large, creating a smart contract is fairly straightforward for a developer. A DApp is nothing more than a program that manipulates smart contracts.
At a basic level, DApps, or decentralized applications, interact with the blockchain through “smart contracts”, which are software scripts stored and executed in the blockchain. Smart contracts allow people and organizations to interact with one another. One hypothetical use of a DApp is a voting mechanism, where all the votes are submitted through a smart contract, which is stored with great confidence and tamper-free in the blockchain.
I won’t go into much details about the inner workings of a blockchain but you can think of a blockchain as a stack of paper strongly bound together where changes to one page of paper affect other pages following it in the stack. Each page is owned by someone who has a unique signature on it that you can think of as a lock that all can see (their public key). In order to change the information on the page the owner must use the matching key (their private key, which they must protect with their life because in most cases that’s all that’s need for access). The stack is the blockchain and the pages are the blocks.
The value of, and confidence in, the blockchain come from it being totally open and public, and being duplicated throughout a network of potentially thousands of nodes. Whenever a block is added or changed, the entire network gets a copy. If a node goes down, it has no effect because there are thousands of other redundant nodes all interconnected in the network.
In addition to Bitcoin and Ethereum there are countless other blockchains, each with their own philosophy for cryptocurrencies. For example, there’s one called Neo that is less decentralized and less anonymous, and has been labelled, and possibly positioned, as the blockchain of China. There’s another one called Ripple that caters to the financial services sector, providing a “frictionless” intermediary for money transfers. There’s an up and coming one called Nebulas that wants to rank the blocks in their blockchain and make them searchable, much like what Google does for web pages. There’s even one called Musicoin that aims to revolutionize music sharing and monetization. The list goes on and on and on, in what seems like a slush of blockchains for almost everything. And that’s not even counting the decentralized applications that each blockchain could potentially support. I am still trying to find a comprehensive list or graphic that shows me the differences between every blockchain. If you know of any, please share it with me in the comments.
Having lived and worked through, and been affected by the dot com bubble, I got a sense of déjà vu. As was then for dot coms, the current hype of investments and speculation in cryptocurrencies is intense, with stories of fast riches coupled with dizzying volatility. The talk from speculators in various forum-based apps, such as Slack, Discord, Telegram and Reddit, sounds eerily similar to the talk from those during the early 2000s (and in fact they sound eerily similar to the talk from those just before the financial crash around 2008/2009). There is a lot of talk about pump and dump, FUD (fear uncertainty and doubt), referring to negative news and articles about particular cryptocurrencies that proponents call an attempt to drive their prices down, and FOMO (fear of missing out), referring to the condition people new to the game have when they feel like they have missed the boat and will now jump on any new ICO (initial coin offering of a cryptocurrency). There truly is a slush of muddiness out there, currently.

Future

While the bursting of the dot com bubble did wipe the majority of startups in that space off the map, it did not wipe the technology off the map. In fact, today, the very same web technology that ushered in the dot com bubble has not only survived but has evolved and has become greatly immersed into mainstream use by work and play. Every serious company today has a “dot com” (or the many other naming variations), to help showcase its value on the front-end and to help its people and even its machines work together in the backend. On a personal level, many people even have their own “dot com”. Just ask any real estate agent. The evolution of the technology has even opened up the pathway to the explosive growth of social media platforms, which have today become a pervasive way for people to interact with one another.
I again draw a parallel between dot com technology and blockchain technology. The noise from the current large and growing slush of cryptocurrency ICOs will eventually quiet down, either as the after effects of a huge explosive crash or as a wimpering fade, taking with it a majority of the hyped up companies but survived by the blockchain technology that ushered in the craze. The momentum of the technology is so great that even if a crash were to happen in the cryptocurrencies market today, the blockchain technology will remain tomorrow.
I am interested in how blockchain technology will make it into mainstream use by companies, people and even things. What improvements to the foundation can we make today so that we are in a better position tomorrow as it evolves? In putting an effort into improving the foundation, we will inevitably evolve with it, or be the catalysts for its evolution.
The way I see the technology today is that it is still very developer-centric. It needs to evolve to a point where even a non-technical person can create a DApp or smart contract by dragging and dropping a few components on a design surface. The technology is also very heavy currently, in terms of storage and processing. It needs to evolve to a point where there will be a microblockchain on every mobile device, interconnected in a global network of billions of nodes. On the other end, perhaps the technology will drive storage and processing power in mobile devices, to become many times greater than what we have today, perhaps with multiple integrated powerful GPUs and the invention of “cool” batteries that don’t heat up. The technology will perhaps also drive platforms we can’t even imagine today as the technology evolves, much like the social media platforms of today that we could not have imagined during the dot com days. In fact, I believe it is not “perhaps” but “most certainly”, not in the exact substance or sequence but in principle.
As always, the future is solid, even if the present is slushy. To this end, I am doing my best to get immersed in the technology, learning as much as I can through reading, watching, coding, writing, attending and discussing. I have learned how a smart contract is built in Ethereum and even have deployed one, to one of the Ethereum test networks. I have looked into creating a simple DApp on the platform. I have also downloaded the Neo blockchain source code to see how a blockchain is created, since Neo is written in c# and I am very familiar with c# (and have a ready development environment to compile it). I want to understand how easy or hard it is to create an entirely new blockchain.
I will be sure to write another post as I progress.

Saturday, February 17, 2018

CEO

Lately, I've started to poke my head in some meetups that focus on entrepreneurship and startups. I want to get a sense of what other people are doing - great motivators and urgent reminders for me to get moving. It's both amazing and humbling to see how young these founders are and the innovative solutions they are providing.
But I do notice one thing: everyone is a CEO. It doesn't matter how big the company is, the main guy slaps on the title of CEO. When I see the title CEO, which traditionally has stood for Chief Executive Office, my mind conjures up images of a corner office housing the big boss, with the president himself, a bunch of other C level bosses, and an entire organization under him. Perhaps that's old school thinking.
Don't get me wrong. I'm not downplaying small companies and small or single-individual startups. I myself run a small company, have created and am creating bootstrapped "startups", so for me to downplay that would be hypocritical. What I am questioning is the seemingly nonchalant use of the title, CEO.
Titles feel good. I get it. I was once "VP" of one function or another, albeit in a smallish company, but that company did have a solid structure, with a CEO, president and a whole organization underneath. I was also once a "Chief Architect", and admittedly I felt good about it, so I understand the importance and empowerment of titles.
On my real estate business cards, I have "Broker of Record", because I am required to by law to use that title, but I have also recently added "President", because clients and customers often don't understand that "Broker of Record" is akin to President, with all that position's responsibilities.
However, as I find myself contemplating business cards for my company, Eight Dawns Inc., which houses all the technology efforts I am creating currently, I am struggling to come up with a title for myself. I admit, "CEO" did cross my mind. Perhaps I should subtitle it with the tagline, "Chief Everything Officer". I also thought of perhaps just slapping on a tongue-in-cheek title like "The Guy" or "Chief Coder" or some title that portrays I'm it. Some might relate to those and appreciate the down-to-earth image they send but some might find them lacking in seriousness making them risky to use.
I fully expect some marketing ninja-gurus to tell me that "CEO" is the exact title that should be used because it projects into the future, to a corporation with an orgazinational structure, ready to go public. And I suppose I do agree with that view. I might be one now but my doors are open to others who would like to join me in some way.
Until then, I will remain humble and take a less pompous title: "Principal".
If you happen to come across this post and feel strongly enough, please let me know what you think. Leave me a comment or reach out to me in other ways.
(By the way, I wrote and uploaded this post using my app, "Just Write!", which you can read more about here: https://eightdawns.com/justwrite)