What is the blockchain exactly? A big ponzi scheme or an opportunity and a new technology that we can all use to transform society? Depends on who you're asking, but a good starting point is to disassociate crypto-currencies such as Bitcoin from blockchain, the underlying data structure and related protocols.
One thing to note for crypto-currencies is that they implement what is called Distributed Ledger Technology (DLT). DLT is essentially a distributed database where records of transactions are kept. However the difference with traditional distributed databases that have been around for years is that DLTs are open networks in which nodes are not controlled by a single entity.
The way this typically works for blockchain-based DLTs is through what is called mining. Mining is a process through which transactions are verified, and also new coins are added to the coin deposit. In Bitcoin for example this is achieved by solving a cryptographic challenge which requires intense computational resources.
Miners are nodes of the network that do the verification. Since they have to spend resources for this, they are incentivized by being rewarded with coins for their effort. In addition, solving similar types of cryptographic challenges independently of verification is the way to mint new coins.
On the one hand, this safeguards the DLT from collusion and allows it to work in an open environment by imposing trust, which arguably is the most valuable aspect of the blockchain. On the other hand, this is incredibly inefficient. Not only does new coin creation not correspond to any real-world value, transaction verification also needs a lot of work that is essentially wasted.
This is exacerbated by the fact that miners compete, which means that many of them are working on verifying the same transaction at the same time. The first one to finish is awarded, for the rest the work is simply wasted. What's more, the design of Bitcoin is such that it makes mining progressively more demanding the more the network expands, meaning waste of resources is ever-increasing.
Based on the above, running a DLT is one of the most wasteful things you could possibly do, as it all comes down to generating power and processing resources. Mining, at least for Bitcoin, is at this point not something your average computer can do. There are special mining rigs dedicated to this task, and the energy required for a single transaction at this point could power a household for a week.
Blockchain for climate
How could a hackathon on climate + blockchain make sense then? What were the people at the UN thinking when they decided to host one during the COP23 in Bonn and invite 100 participants from around the world to join?
Working on themes such as Identification & Tracking of Emissions or Sustainable Transport & Land Use sounds commendable, and DLTs could have applications there, but isn't using such a wasteful technology an oxymoron?
This is where IOTA comes in. IOTA is the platform on which participants will work on, and was chosen on the premise of removing the wasteful aspects of blockchain-based crypto-currencies. David Sønstebø, IOTA's co-founder, says it all started from organizations such as the Center for international governance innovation, the Climate Ledger Initiative and Cleantech 21.
It was through them that the connection was made, the hack4climate event was organized and IOTA got to be the platform on which participants are asked to build. What did these organizations see in IOTA? IOTA promises to achieve the same benefits that blockchain-based DLTs bring - decentralization, distribution, immutability and trust - but remove the downsides of wasted resources associated with mining as well as transaction costs. Sønstebø elaborates:
"DLT has a role to play in efforts against climate change. It can secure data, ensuring accurate logging from sensors, it can safeguard data from oblivion should there be efforts to remove them. It can be the basis on which to build things such as self-regulating smart grids to optimize consumption, and we are excited to see what participants will come up with.
But in Bitcoin or Ether the mining is just ridiculous, and does not serve any purpose except giving miners rewards. It's a complete waste and as it grows it will only get worse, so it's important to get rid of this".
Who would not want that - the question of course is how. So let's take a step back to see what Sønstebø and his co-founders came up with.
Sønstebø met his co-founders Sergey Ivancheglo, Dominik Schienerin and Serguei Popov in 2013. He says all of them have been in the DLT space since at least 2012 and "have done lots of pioneering work. With Schienerin we built the first identity and supply chain platforms, and Ivancheglo ranks up there with Satoshi in terms of technical achievements".
Sønstebø says the origins of IOTA date to 2014: "Ivancheglo and myself were working in the IoT realm, and this got us thinking on how we could possibly use our DLT background to incentivize opening up the IoT. Even though the image we have of IoT is all these devices connecting and sharing data and resources, that's not what's happening in the real world. We have all these walled gardens, all these closed clusters.
We figured what's needed is a transactional settlement protocol and a data integrity protocol to incentivize different stakeholders to open up their data streams and resources to create the IoT we've all been dreaming of, this ubiquitously connected world. Because of our backgrounds we thought of using Bitcoin, but Bitcoin does not even scale to a neighborhood, how is it going to scale to millions of devices?"
This is when Sønstebø and his team went back to the drawing board and started questioning what could replace the block after block sequential chain that is the blockchain with something else. What they came up with is the Tangle, a directed acyclical graph that is the underlying data structure for IOTA.
"When issuing a transaction in IOTA you validate 2 previous transactions, meaning you no longer outsource validation to miners thus decoupling validation from use of the network. It's an intrinsic property of the network, and kind of resolves all problems:
The more active a ledger is, the more validation there is. The more people use it, the faster it gets, and you don't need to subsidize miners, so there are no fees on transactions.
It also resolves the centralization issue. Bitcoin is heralded as the epitomy of decentralization because it does not rely an a central institution, but in fact it is not. Both proof of work and proof of stake always center around those with more resources - it's an inevitable economic race.
In IOTA every node is a an equal validator and there is no difference between you and the richest miner in China, because you can't mine anything or aggregate resources".
Operation, use cases, maturity
That all sounds too good to be true almost, so some further explanation is needed. What happens for example if a node limited in resources needs to issue a transaction, and what about storage capacity and resilience? In some respects, IOTA works similarly to blockchain-based crypto-currencies.
Sønstebø says there are full nodes that perform validation and store the database and lightweight nodes, similar to how Bitcoin works. The difference, he continues, is in IOTA there is the concept of snapshoting. This means nodes can take a snapshot of the current state of the ledger and prune the parts not relevant to them.
And what if someone wants to traverse the entire history of the ledger? This is where a 3rd node type called permanode comes into play. Permanodes store the entire history from genesis to present. Sønstebø says this is only needed in some use cases, not to achieve consensus in the network. He adds the incentive to run such a permanode would be either own use or a storage as a service model:
"You can have consensus, transactions and data transmission without storing the entire database after you do a snapshot. For things like audit history, traversing or whatever other purpose the incentive is clear: if you are running an insurance company for example, you need to have this, and you can charge per query for its use. Snapshots could also be used in Bitcoin - you don't need to know where a token was in 2012, you just need to know where it is today".
But then there is also another type of node, less prominent but rather important: the Coordinator. What's this? It's a type of node that is meant to protect the IOTA network from being compromised, but has given rise to criticism.
In Bitcoin, the computational resources needed to validate transactions act as a safeguard against attackers attempting to compromise the network. There is also a similar concept in IOTA, where nodes are asked to produce a lightweight hash computation, but the computational requirements are nowhere near Bitcoin's. This is more efficient, but it also makes the network more vulnerable to attackers.
IOTA is designed to counter attacks by leveraging a large volume of legit transactions. At this point however, since the volume of transactions is not that big, its designers are employing 2 workarounds. The first one is to ask participants to periodically send zero-value transactions, which is doable as transactions do not incur processing cost.
The second one is to have a Coordinator node, which they describe as "training wheels for the network until the amount of organic activity on the ledger is sufficient to where it can evolve unassisted". This has lead to criticism of having a centralized network. IOTA has responded to the criticism, but in all fairness, this is not the only sign that shows IOTA is not exactly mature yet.
Recently there was a bug that brought the entire network to a halt for a couple of days. Furthermore, anyone wishing to purchase IOTA coins will find it rather complicated: there is only a handful of exchanges that trade IOTA, and the IOTA wallet itself seems to be in a flux at the moment.
But again in all fairness, this space is far from mature anyway. Ethereum, the second most highly valued crypto-currency at the moment, also has seen hiccups, the most recent of which involved a $280m Ethereum wallet freezing.
However people are apparently willing to keep using these DLTs / coins, either because they believe in their potential and are willing to wait for them to iron out their quirks, or because they are lured by the "get rich fast" potential.
Besides mining, there is another interesting monetary aspect of crypto currencies called ICO - Initial Coin Offering. This works like crowdfunding meets IPOs essentially: any organization can create its own crypto-currency and then make it available in exchanges. A percentage of the crypto-currency is sold to early backers of the project in exchange for legal tender or other crypto-currencies, but usually for Bitcoin.
This is typically done by organizations that operate in this space to raise capital through an indirect process: if their coins are exchangeable with Bitcoin, which in turn is exchangeable for fiat currency, it means they can cash in. Ethereum's ICO for example raised $18 million in Bitcoins or $0.40 per Ether in 2014. In 2016 the value of ether went up as high as $14 with a market capitalization of over $1 billion.
Ethereum brought along two key novelties: smart contracts and proof of stake. Proof of stake is a way of validating transactions and achieving distributed consensus. It's less computationally intensive, but seems to suffer from the same drawback as Bitcoin's proof of work - it eventually leads to coalescence in the network.
Smart contracts can be thought of as algorithms that can be validated and executed in Ethereum, making it a platform on which distributed workflows and organizations can exist. Sønstebø asserts the value in smart contracts. He says there is no equivalent in IOTA at the moment, and that is by design:
"Ethereum started from this rebellious, libertarian vision, not necessarily pragmatic from an engineering point of view. It was an accident waiting to happen. We have no ideology, we only care about making things work in the real world. Instead of adding functionality in the core protocol, we are leaving it as lightweight as possible and make it modular.
We have the IOTA Extension Interface through which anything from smart contracts to oracles and identity platforms can be created. It's going to take time and resources, but we have those. We have set up a foundation to oversee the development of IOTA, and this is also why we did our ICO. We as founders took no cut in it, we just bought our IOTAs like everyone else.
The community donated 5% of IOTAs in circulation to the foundation. We set it up in Germany, and we are working with organizations like Bosch, Innogy and Volkswagen that come to us saying they want to port their prototypes from Ethereum to IOTA because of the scalability and transaction fees issues. We want to be like Linux or Eclipse, building something people are free to use as they please.
The Microsofts of the world say they are using Ethereum for example, but when you look closer you see there is a different agenda there. That's not really Ethereum, it's a private instance - they may use the code, but not the network. Doing something in a confined lab does not prove anything, and it's an oxymoron that people create private instances of blockchain. You could just use a distributed database for that.
Everything we do is public domain - we are voluntarily obligated by our contract to do that. We want our code to be used in the real world and solutions to be built on it, but we only collaborate when it benefits everyone involved".
So what to make of this tangle? IOTA seems to be spot on in identifying inefficiencies in the blockchain. It's a bit early to tell whether IOTA has managed to address inefficiencies in practice, but it definitely is an interesting approach. IOTA seems to be working on experimentally verifying analytical results, and recently published the results of a simulation on core tangle properties. Whether that's enough to go by is anyone's call.