Ethereum

Important Computation problems in the ethereum blockchain

Important Computation Problems

Having the ability to process a large number of transactions has become the key focus area for many blockchain implementations.

In the following talk Vitalik talks about 4 categories problems that most blockchains have to handle.

  1. Privacy – a public ledger verifies data, but many nodes also access the data. This compromises the privacy of the user.  Many solutions such as a mixer, etc… are being worked on at this point in time.
  2. Consensus safety – the possibility of reducing the power consumed. (according to some estimates proof of work consumes more power than 1/2 the national power consumption of several small countries). Additionally achieving consensus has problems that arise from privacy violation, etc.
  3. Smart Contract bugs – loss of ethereum every year because of bugs in existing code bases of smart contracts. Therefore the proposal of Formal Verification (possibly automated) mechanism could reduce instances of these problems.

Scalability – the most interesting and complex problem to solve

Scalability – support for a large number of transactions. Many off-chain solutions similar to the lightning network, Raiden, plasma are possible- but their throughput is limited because of the main blockchain’s ability to handle attacks, etc… Therefore, the current proposed solution is to use “sharding” as a mechanism to scale the main chain solution. Sharding has its origins in large scale distributed databases and has been used to reduce query times from large databases, by partitioning data based on rules.

The following talk by Vitalik discusses the basics of the sharding approach for the Ethereum Blockchain. This approach suggested, is a hybrid approach wherein some part of the validation is done off-chain. The talk discusses the ability to target VISA scale validation for smart – contracts (not just pay and receive).

FAQ’s about digital tokens and blockchains – part 1

The layman’s FAQs about digital tokens and blockchains

What is cryptocurrency, digital token, crypto-token?

A digital token or a crypto-token is a unique set of bytes ( combinations of 1’s and 0’s) produced by running a computer program. It has certain properties.

1. The total number of digital tokens issued until the current time `t’ is publicly known.

2.The total amount of currency that will get produced until colossus (i.e. end of the universe) is going to be limited. This means that in all of time only `Nmax’ units of currency are ever produced and until some random time `t’ , `n’ units have been produced.

3.This ’N’ is fixed and is a large number. For example for Bitcoin N = 41 Million, for Ethereum N = 100 Million.

4.Users can own crypto-tokens and store them through a variety of physical and digital methods.

What is meant by owning digital tokens?

A) Anyone in the world who can connect to a computer can technically own digital tokens or cryptocurrency.

Individuals can either purchase it from other individuals who own it by using government-issued currencies (otherwise known as fiat currency) e.g the US dollar, the Yuan, or the Euro  or they can earn it through a process known as “mining” in which specialized (and often powerful, expensive) computers  specialized programs run to serve some purpose on the network. In the case of Bitcoin, miners create and validate new transactions through the block creation process. In some other forms of cryptocurrencies, existing holdings are staked to serve some purpose on the network (e.g. staking their currency to validate other transactions)

B) Any individual can send either full units or partial units to anyone else at anytime, anywhere provided the receiver shares his address to the sender.

What is the blockchain?

The blockchain is a public record  of information that:

1) stores all information pertaining to every transaction, about every unit of currency, that was ever produced by the  program till time `t’ ,   and,

2)  will perennially continue to record every transaction.

PS: In computing terms, the blockchain is a sequential state machine, that stores all transitions

What are the functions of the Blockchain i.e. why should we bother about this store of all transactions?

The blockchain is a very large book of account that efficiently and almost instantaneously records every transaction related to all produced (mined) tokens. i.e. every time sender A sends x$ worth of cryptocurrency to receiver B. Whenever a new transaction takes place the blockchain does the following:

a) validates and verifies whether the sender has enough balance in his account

b). Validates that A is sending x$ to only B and simultaneously not sending x$ to other individuals e.g. receiver C, receiver  D or receiver E.

This is known as the double spending problem.

Why is it called the Blockchain?

Consider Blockchain B as a datastore with records of all transactions until time t.   At t+ delta.t another block ‘C’ gets linked to the existing block `B’. This new block is a record of all transactions that happened in time delta.t.

This creates a chain of blocks with each block recording all transactions since the previous block’s creation and gets linked to the previous block through a series of cryptographic hash functions.

Blockchain Security

As people depend on storing personal data on interconnected networks, the ability to protect networks becomes very crucial. The increasing number of hacks on corporate networks unveils the vulnerabilities of the computer system. With hard copies being replaced by system databases, companies undesirably invite trouble through exploits.

The recent Equifax (one of the nation’s 3 major credit reporting agencies) hack, and, the attack on Anthem (one of the nation’s largest health insurers) a couple of years ago has brought to the fore, the risks of storing sensitive data of individuals. The biggest harm of storing personal information is that once this information is gained, others can use  this identity to access credit. A hacker who has an individual’s name, Social Security number (a popular target for hackers), birth date, address, email, employment information (including income data) can now become that person.This information can be used for all legal purposes, such as accessing credit, providing information to legal agencies, etc.  On the gray/black market, combinations of Social Security numbers, birth dates and names sell for more than even credit card numbers.

With complex thefts, complex solutions to protect data are being  invented using the blockchainblockchain security

Blockchain-based security platforms such as Guardtime, REMME and Obsidian are restructuring cybersecurity.

Blockchain eliminates security flaws by taking away the weakest link, the human factor. The impact remains big with demand of more control of identities. Blochain based credit validation can potentially replace existing database based verification.  One such company working on Blockchain based credit validation is Bloom.

Bloom is an end-to-end protocol on the blockchain for identity attestation, risk assessment and credit scoring, thus making access to credit services more secure.  In addition, Bloom allows both traditional and digital currency lenders to serve people who cannot obtain a bank account or credit score. Bloom aims to address the “High Risk of Identity Theft” where borrowers are bound to expose all their personal info when applying for a loan. The attacker uses this same info to open new lines of credit.

The Bloom Protocol provides solutions allowing any lender authorized by a borrower to safely and securely issue credit to that borrower. The protocol work by validating prior stored information about credit access requests, on a secure network of nodes. Once this is authenticated the system proceeds to validate credit. This approach of validating a creditor’s prior history on the Blockchain after authentication will potentially do away with the need to independently use credit monitoring agencies to do such checks.

Forks – Bitcoin vs. Ethereum

Bitcoin’s forking problem

Today’s fork created Bitcoin Gold. A couple of month’s back there was a fork that led to the creation of Bitcoin Cash. Again in November, there is going to be another fork to Segwit2x. Many more forks can happen down the road -each claiming to have a new variation of the Bitcoin blockchain. Afterall, bitcoin’s source code is open source, and so is the blockchain accessible to all participants. If a group of people decides to host nodes with a particular version of the BTC code software with a particular change in the code (or logic) and start mining their own blocks a new chain is created.

The largest challenge for participants(traders, nodes, exchanges, miners) in the crypto-ecosystem is to identify that one of the forks is the original Bitcoin. Recently a couple of early adopters (Bitcoin millionaires) started claiming that Bitcoin Cash was the original Bitcoin and that they would fight for the rebranding.

Needless to say, this looks like the wild west in finance, where many versions of the same chain can exist independently, without anyone to control or coordinate these changes. (Time series Price correlations between Bitcoin Cash and Bitcoin has been < 0.6 since the birth of Bitcoin Cash).

Every exchange that supports Bitcoin will at the time of the fork have to decide at the  time of the fork to either support or to not support the fork. This is tedious work, to ensure that wallets of all users now access the corresponding keys on different blockchains to reflect the right balances. For exchanges will millions of users like CoinBase, Kraken, etc. this is a huge software update challenge.

Ethereum’s Fork (No! Problem)

Compared to Bitcoin’s forking problem, Ethereum’s hard fork to the Byzantium release did not create either a new chain or a new token variant of Ethereum. The Ethereum ecosystem, though, closely resembling Bitcoin’s ecosystem rallies around Vitalik and the Ethereum Foundation’s proposed changes. This is a wonderful model for large scalable open source systems, and, is slowly but surely leading to a self-regulated environment wherein a core team decides the roadmap for scaling (or other features) to be rolled out. The entire community of nodes, miners, and developers rally behind the fork and adopt the fork almost instantaneously.

Scaling the network, for all participants i.e. nodes, exchanges, transaction endpoints such as payment nodes, etc. become significantly simpler with Ethereum’s fork.

Cryptocurrency and the cost of holding an asset

One of the most neglected portions of “transaction costs” is that of the cost of holding an asset.

Examples of holding costs

If one holds fiat currency (i.e. in the form of currency notes or coins), the fiat currency runs risks of official demonetization, devaluation or of theft.  Similarly, just holding currency at 0% interest in a bank account, will lead to a gradual loss on account of inflation. Periodically, since the beginning of the existence of fiat money, governments all over the world have retired old currency notes in favor of new ones – sometimes at a jiffy in mass exercises such as demonetization. Occasionally, governments and international monetary systems have devalued existing currencies suddenly. Eg. in Venezuala

If one were to store gold in a bank locker there is a cost to rent the bank locker. Similarly, there is a cost to purifying the gold once it has to be sold after holding it for many years, and so on.If one were to hold other forms of assets e.g. vintage Cars, real-estate, etc. the cost of holding the asset at least equals the cost of insuring the asset and the governmental tax rates prevalent.

In all these cases though significantly smaller than the value of the asset, the cost of owning the asset and holding it proportionally increases with the value of the asset.

Cost of holding is almost Zero with Cryptocurrency

With cryptocurrencies, the cost of holding an asset can tend toward Zero, irrespective of the size of the asset. With cryptocurrencies, while the general thought is that one needs at least own a mobile device or a computer or an online wallet to store the asset, this is not a pre-requisite. If one were to write down ones private keys on a piece of paper, that would suffice to access one’s holdings and to later either transfer or exchange it for fiat currency.

Similarly, if one were to have access to hardware wallets like ledger or software wallets like exodus.io, a series of strings (words in the English language) would be sufficient to access one’s assets anywhere globally.

One could with memory training also significantly remember the passcode or the 12 words needed to recover the wallet. The incremental costs of holding cryptocurrency is also zero, on account of the same mode (wallet address) capable fo holding any incremental value..

Centralization and volatility

Market concentration

Similar to the distribution functions (extreme value) of money in any of its manifestations (M0-M5, i.e. currency notes, bonds, assets, gold or other stores of value), Cryptocurrency markets are also concentrated.

The market share of the top 5 currencies (almost 90%), the network mining hashpower (total Megahashes per second) controlled by the top 5 mining pools (almost 85%) and the top 5 Crypto-exchanges (80% share of volume of trade) all garner the lion’s share of the market.

Similarly, the ownership distribution for cryptocurrencies is highly concentrated. At least, for Bitcoin, the top holders listed here own significant value in these markets.

Signaling and Regulation

While Satoshi Nakomoto remains unknown, though he holds about  $4 billion (at 4000 USD/BTC), several influential holders actively make public predictions of a 10000% growth in value in a short time. To add to this milieu of information is the fact that many amateur analysts contribute to publicly available information about price movements. Compare these signals to that of publicly traded firms.

Publicly traded firms release price movement predictions through a properly audited statement filed with SEC every quarter.  However, public companies do announce product release plans, etc. ahead of time – but would never release statements about the valuations of their stocks prior to the result announcements. Additionally, SEC rules prevent insiders (or their relatives) from trading on the corresponding stock for a certain time window close to the announcement of quarterly results. This arrangement prevents many ills such insider trading, or, leaks of information that would have otherwise made markets more inefficient wherein individuals with more information can either go long or short on a particular stock.

Informationally inefficient

  Similar regulations cannot be affected in the cryptocurrency market by SEC. Trade in Cryptocurrencies happen globally, and news of events affecting cryptomarkets affect prices across geographic and economic boundaries. Each online wallet creator such as Coinbase, Kraken, etc.. operates as a separate exchange (.e.g NASDAQ, NYSE, etc.), with minor price differences between exchanges. One of the key facets of market efficiency is that the price (at any given time) of an asset (or stock) traded in the market incorporates all information about that asset at that given time. Note that “time”  and “information” are of paramount importance in the previous statement.

If this information itself is not good, then volatility would continue to be a characteristic of this market. Informational inefficiency and the difficulty to regulate this market is just one of the other reasons why volatility would persist in these markets.

Problem to ponder

How can crypto-ecosystems regulate information that affects trade?

Can these markets ever become devoid of massive volatility?

Lessons from bans – Uber and Bitcoin

Bans on Technology

The last two weeks have seen 2 major bans that affect global products. Uber, was banned in London, and Cryptocurrency exchanges and ICOs were banned in Mainland China. These two bans had one thing in common.

Wrong Usage

The wrong usage of a complex but highly efficient transactional and distributed computing system caused problems for all stakeholders concerned i.e. users, governments, service providers, intermediaries, economy etc.. In the case of Bitcoins and ICOs, there were lots of fraudulent schemes. In the case of Uber, the background checks of drivers weren’t good enough and had led to multiple crimes in a large city. These problems if left unchecked would lead to far more negative consequences for these institutions and for the governments that promise to protect citizens and their assets.

Response

Bitcoin – mostly represented by the Bitcoin Foundation, didn’t make a public all-out effort to negotiate the ban. However,  Ethereum had some representation in China, to possibly talk with authorities. In this void created by a national ban in China, has risen a new crypto-platform – that of NEO. NEO is called the Chinese Ethereum because of its functional similarity to Ethereum’s Turing Machine.

Whereas Uber, and its new CEO led an amazing response, firstly by apologizing to the Londoners (both the citizens and the administration). On one hand, they mentioned that as a company they would introspect about their behavior, while on the other hand, they would appeal the ban in the courts of London.

Mature Response vs. Immature Response

This response from a mature and level-headed management team demonstrates a few things: Firstly, centralization of authority and power, within the structure of a modern firm is a very effective at running a decentralized and distributed technical system. Secondly, it might be difficult to overturn a ban legally, however, as ecosystems mature and the good users of a system far outnumber the bad users, law would potentially side the good. The possibility of lifting the ban increases proportionally with the corrective actions taken by the affected firm.  With the crypto-ecosystem – where there is no clear governance structure, it will be difficult to find mature representation and convince existing institutions about the need to overturn a ban. A few questions arise:

*How can ICO’s who have very little structure of control return the money raised from people on some ICO exchange?

*Who will self-regulate and mandate reparations caused by these fraudulent ICOs?

*Ethereum as a protocol is developing, but will Ethereum support a reputation model to support only valid ICOs, now that ICOs are by far the most popular Ethereum application in the market.

If a  structure of control is absent, maybe an ecosystem driven way to moderate applications of the decentralized technology is needed. If moderation of applications, users and participants do not happen – then the whole ecosystem suffers.

Cryptocurrency owner types: commercial user and speculative user

Types of Users

Most users of Bitcoin and Ethereum are of one of the two types: the commercial user and the speculative user.

The commercial user uses bitcoin to purchase stuff from either physical or online store. Similarly, the commercial user of Ethereum uses Ether for staking against contracts such as the issuance of initial coins. Other applications could include supply chain payments, betting contracts and prediction markets.

The speculative user holds onto the crypto-currency in the hope that its value would continue to rise.  The commercial user pays a small fee each time he spends Bitcoin/Ether. This fees could be as low as 0.0001 BTC  (the median transaction fees is about 18 cents). You can look at how to calculate and choose your transaction fee here.

Supply and Demand

Bitcoin and Ethere, unlike any other form of asset e.g. Gold or diamonds or cash, is limited in supply. The table here provides the schedule for production of Bitcoin.  New Ethereum issuance would stop when Proof-of-stake is enabled by the nodes.

The total number of Bitcoins produced reduces exponentially, as time passes, and by about 2041, almost all new Bitcoin production would stop. New Bitcoins are produced as a consequence of mining. Each miner, who creates a new block after validating a set of transactions is rewarded in Bitcoin by the network. Over time (approximately 2-4 years time), these rewards halve.

As the number of merchants such as Microsoft X box store or Overstock starts accepting Bitcoin, the number of commercial users for Bitcoin would increase. Imagine remitting money or purchasing a digital good from a non-local store without needing to pay a 30$ transaction fee to the bank.   Here is a list of US merchances accpeting Bitcoins. Simultaneously, as awareness about Bitcoins and Ether increases, the number of buyers purchasing these for speculation increases.

Economics works until regulation

Given these facts i.e.

  1. A limited supply of bitcoin and Ether.
  2. Increasing commercial usage  (by means of increasing number of global merchants accepting BTC and using Ether).
  3. Increasing number of speculative users ( by means of real time trading and buy-and-hodl investing for BTC and Ether).

It is almost a no-brainer to see why conversion rates (for BTC-Ether) are increasing. We’re not accounting for the lost BTC/Ether per year.

However, these laws of economics hold only until some external event (what economists call shock) happens. For example, a regulatory authority decides that it is too risky for its citizens to bypass financial controls and engage with a global market. The regulator could then entirely ban BTC/Ether and make it illegal to hold/trade in the same within the country. This is what we saw during the past week in China. Venezuela another country that saw massive deflation of their local currency banned bitcoin earlier.

But most global markets that want to encourage a free flow of capital to their economy would not ban any asset, in the name of protecting it’s citizens from speculation. (For example, would any country prevent its citizens from collecting art, or vintage cars or any other antiquity in limited supply.)