A Decade of Blockchain: Review of the Current Status, Challenges, and Future Directions

In this paper, we present the progress of blockchain technology from the advent of the original publication titled “Bitcoin: A Peer-to-Peer Electronic Cash System,” written by the mysterious Satoshi Nakamoto, until the current days. Historical background and a comprehensive overview of the blockchain technology are given. We provide an up-to-date comparison of the most popular blockchain platforms with particular emphasis given to consensus protocols. Additionally, we introduce a BlockLib, an extensively growing online library on blockchain platforms collected from the various sources and designed to enable contributions from the blockchain community. Main directions of the current blockchain research, facing challenges as well as the main fields of applications, are summarized. We also layout the possible future lines in the blockchain technology development.


Introduction
Blockchain claimed to be one of the most disruptive inventions of the last decade, with the potential to impact almost every industry from finance to manufacturing to education. Blockchain is tamper evident and tamper resistant distributed ledger technology (DLT), implemented in a distributed way (i.e. without a central repository) and traditionally without a central authority (bank, company or government) (Yaga et al., 2018). Bitcoin is the first blockchain application and therefore is considered the technology which invented the term "blockchain". The technology of Bitcoin is based on the whitepaper titled "Bitcoin: A Peer-to-Peer Electronic Cash System" (Nakamoto, 2008) published in 2008 by a person (or group) under the pseudonym of Satoshi Nakamoto. Bitcoin was invented in the aftermath of the 2008 global financial crisis, which was one of the primary motivating factors for Bitcoin creation (Chuen, 2015). The technology became widely known with the establishment of the Bitcoin blockchain network in 2009. Although initially intended to be Chain of blocks and a detailed, yet simplified, Bitcoin block data structure. Bitcoin blockchain could be regarded as a decentralized distributed public ledger, storing all committed transactions in a list of time-stamped data blocks. The newly created block also contains a reference (a cryptographic hash) to the previous block. Such a chain-like structure of blocks (hence "blockchain") grows continuously as new blocks are appended to it. a decentralized alternative to the traditional centralized financial currency system, Bitcoin was just the first of plethora blockchain applications. While the blockchain technology is still at the stage of active development, the history of the techniques used in blockchain can be traced back several decades ago.

A Brief History of Innovations Found in Blockchain
While the blockchain technology emerged only a decade ago, the core ideas behind the blockchain were proposed in the late 1980s and early 1990s (Narayanan and Clark, 2017). In 1989, Turing Award winner Leslie Lamport developed the Paxos protocol, a consensus model for reaching agreement in a network of computers, where the computers, as well as the network itself, may be unreliable. The paper itself was published almost ten years later (Lamport, 1998).
Next, in a series of papers, written between 1990 and 1997 (Bayer et al., 1993;Stornetta, 1990, 1997), authors proposed a concept of signed chain of information, forming an electronic ledger. This ledger consisted of digitally signed documents in a way that could be easily shown that none of these signed documents had been tampered with.
To make this data structure more efficient, authors introduced the following improvements: 1) to use faster computable hashes instead of signatures for the document linking; 2) to group documents into blocks instead of handling them individually; 3) within each block, instead of linear document linking, connect them using a binary Merkle tree structure (Merkle, 1980), consisting of transaction hash pointers. These concepts were combined and applied to Bitcoin (Nakamoto, 2008) (see Fig. 1). However, in Bitcoin, transactions take place instead of documents.
Bitcoin borrows the data structure, but redesigns the network security properties with the addition of the Proof-of-Work (PoW) consensus scheme. Proof-of-Work is a cryptographic method created in 1992 by Cynthia Dwork and Moni Naor (Dwork and Naor, 1992) to prevent e-mail spam. The core idea is to include into a email that is being sent a proof that a certain amount of work (hence "proof-of-work") has been done before an email was sent. Usually, the computation of such a proof would take a few seconds, and therefore, this would pose no difficulty for casual users, however, for a spammer, this would take weeks to send million (spam) emails. Moreover, the authors propose that the "proofof-work" has to be specific to a certain email, and the solution should be trivial to verify for the email recipient. In Bitcoin, this is implemented by looking for a hash value that fulfills certain requirements, i.e. is lower than (or equal to) the target number set by the Bitcoin network.
Many electronic cash schemes existed before Bitcoin, e.g. ecash (Chaum, 1983), bmoney (Dai, 1998) or Bit gold (Szabo, 2008), but none of them achieved widespread use. Blockchain enabled Bitcoin to be implemented in a distributed fashion such that no single user controlled the electronic cash system, and no single point of failure existed (Yaga et al., 2018). The main benefit of this was the possibility to process direct transactions between users without the need for a trusted third party. Even more, Nakamoto designed a digital currency (Bitcoin) such that the coins are based on digital signatures, therefore assuring the security and integrity of coin transfers by using established cryptographic methods. Moreover, this enabled users to be pseudonymous, while all transactions are publicly visible. In such a way, by using a blockchain and consensus protocols, a self-policing decentralized system (a "trustless" peer-to-peer (P2P) network of nodes) was created. This system automatically ensured that only valid transactions and blocks were added to the blockchain.

Basic Structure of Blockchain
Basically, blockchain is an append-only database maintained in a distributed fashion by the nodes in the P2P network. Figure 2 illustrates the basic hierarchical structure of blockchain consisting of four layers: • Network layer: the bottom layer of computing nodes guarantees that the system is able to work. The P2P network is the key feature ensuring communication among blockchain nodes in a decentralized way.
• Protocol layer: the second bottom layer is the protocol layer consisting of fundamental blockchain technologies, such as consensus algorithms and cryptology methods. This layer ensures that the system works properly.
• Ledger layer: the third layer from the bottom, global ledger, is responsible for the primary blockchain mission -transmitting transactions (including smart contracts) reliably and securely. This layer assures that the system is functioning correctly.
• Application layer: the top layer provides APIs for various applications. This layer is responsible for the interaction with the blockchain when it is needed for the business logic.

Protocol Layer
Ledger Layer

Contribution and Organization
The blockchain technology is in the early second decade, but already there are lots of research done within this field. We note, that already exist surveys dedicated to the specific blockchain domains, e.g. studies on the security of the blockchain systems (Li et al., 2017;Lin and Liao, 2017), consensus protocols (Bano et al., 2017;Nguyen and Kim, 2018;Xiao et al., 2019), privacy protection (Feng et al., 2019), as well as general blockchain technology surveys (Belotti et al., 2019;Zheng et al., 2017Zheng et al., , 2018. In this work, we are not only reviewing the latest advances in the blockchain technology, but also introducing a completely new open-source data collection of the blockchain implementations, platforms, BlockLib (Paulavičius et al., 2019). This way, we hope that the BlockLib library will contain the largest and the most up-to-date information on blockchain platforms and will be the leading source for the researchers and business industries looking for more detailed information on this topic. The remainder of the paper is structured as follows. Section 2 presents an aggregated systematic comparison of the 1st and 2nd generation leading blockchain platforms, with particular emphasis given to consensus protocols. Section 3 describes potential of the blockchain applicability. Section 4 summarizes the biggest technological challenges currently facing, and highlights some possible future directions. Finally, Section 5 concludes the paper.

A Comparison of Blockchain Platforms
This section focuses on classifying and comparing the various technologies underlying different types of blockchain platforms. The main features of interest include the primal use-case, characteristics of cryptocurrency they include (if any), network type, the data model used, anonymity support, smart contract functionality, hashing algorithm, throughput measured as the number of transactions per second (tps), and latency (in sec.). Consensus protocols form the basis of any blockchain platform, therefore initially, an overview of the consensus protocols currently used in blockchain platforms is given in Section 2.1. Then, in Section 2.2, we present our comparison of blockchain platforms by distinguishing the following two groups: 1st and 2nd generation platforms. The 1st generation blockchain platforms were initially created to provide a public ledger for financial transactions and thus, have limited support of programmable transactions. Within the 2nd generation blockchain platforms usually a Turing complete programmable infrastructure is available, and public ledger designed to store various computational results (Xu et al., 2016). We note, that 3rd generation blockchain platforms (Yang et al., 2018) are currently under active development (e.g. Ethereum 2.0 (Buterin, 2018;Buterin et al., 2019), Zilliqa (The ZILLIQA Team, 2017), Cardano (Kiayias et al., 2017), EOS (EOS, 2017), etc.). However, there are limited scientific resources about their performance measures, therefore, they are excluded from the comparison provided here. It must be noted that such a classification of blockchain platforms is not strict as most of them are under active development. Finally, in Section 2.3, we introduce an actively growing online data collection of blockchain platforms, BlockLib (Paulavičius et al., 2019).

Role of Consensus Protocols
Consensus protocol runs at every node of a blockchain network. It allows to reach a collective agreement on transaction ledger and govern operations of the network: such as message exchange, data replication, encouragement of the participants to behave appropriately. Moreover, consensus must be achieved in conditions of faulty nodes that perform arbitrary or malicious behaviours, i.e. in the situation of Byzantine failures (Castro and Liskov, 2002). Thus, only Byzantine fault-tolerant (BFT) consensus protocol must be used in a case of a public blockchain, as both correct and faulty nodes can join and leave the network without any control. On the other hand, in a private blockchain, nodes need to be authenticated.

Main Types of Consensus Protocols.
Nakamoto is the first probabilistic PoWtype (Dwork and Naor, 1992;Back, 1997) consensus protocol used in Bitcoin (Nakamoto, 2008), and many other 1st generation blockchain platforms. The core idea is to allocate the block proposal rights and rewards through the hashing power competition among the network nodes -miners. Lower than or equal to that set by the network difficulty. It is important to note that PoW consensus protocol security is proportional to the number of computing resources in the network. Low amount of resources are very vulnerable. On the other hand, PoW-based protocols are energy inefficient (see Section 4.1). Alternatively, in Proof-of-Stake (PoS) type consensus protocols (King and Nadal, 2012), the PoW mining is replaced with a mechanism where blocks are produced and validated according to the stake value (participants coin holdings on the blockchain). Practical Byzantine Fault Tolerance (PBFT) (Castro and Liskov, 1999) is the first Byzantine fault-tolerant (BFT) protocol, guaranteeing deterministic block finalization. It has laid the foundation for a broad class of BFT-based consensus protocols .

Comparison of Consensus Protocols.
In this comparison, we focus on consensus protocols used in blockchain platforms considered in Section 2.2. The information provided here is gathered and aggregated using a recent comprehensive survey (Xiao et al., 2019), and other related works (Mingxiao et al., 2017;Bach et al., 2018;Chalaemwongwan and Kurutach, 2018;Wang et al., 2018;Nguyen et al., 2019) to which we refer interested readers for a detailed information. The main features of interest include application platform, protocol and type, block proposal (block producing mechanism), block validation (blocks and transactions validity check), block finalization, fault tolerance, throughput (maximal number of transactions per second) and network scalability (ability to process an increasing number of transactions by adding resources to the network) in the same context, as in the study list.
The block finalization is closely related to the fault tolerance (see the fifth and sixth columns in Table 1). In BFT-based consensus protocols, only up to 33% of faulty nodes are tolerated, in contrast to up to 50% in the longest-chain rule, which represents the main chain with the most work put into completing it, or in GHOST rule. In hybrid protocols (as BFT-based PoS), the 33% fault tolerance is also related to the block proposal scheme. The most significant advantage of BFT-based consensus protocols is that a guaranteed deterministic finality, and, as a consequence, a high throughput is provided. On the other hand, protocols developed for public blockchain have higher fault tolerance, and network scalability, but suffer from low throughput (see Table 2 for more information on this).

The Main Findings of Platform Comparison
The results presented here are focused on scientific knowledge on blockchain platforms, i.e. the results are combined and aggregated by using mainly scholarly literature (Anh et al., 2018;Belotti et al., 2019;Dinh et al., 2017;Kuo et al., 2019;Valenta and Sandner, 2017) and references therein. Almost all 1st generation blockchain platforms (see Table 2) target the general public, thus the potentially distrustful audience. They typically allow mining for the new coins and include reward mechanisms to incentivize network nodes to actively and fairly participate in the mining process. Whereas 2nd generation blockchain platforms target closed, trustworthy, or at least familiar groups of users (see Table 3). Therefore, these blockchains can use more lightweight consensus mechanisms in private settings compared to public blockchains by relying on a certain level of trust among network participants. This allows 2nd generation blockchain platforms to rebalance efforts for security with initiatives for the much higher throughput and significantly reduced latency. Except for Ripple, Stellar and Monero, public blockchain platforms nowadays ensure a much lower number of transactions per second (tps) throughput and require significantly higher latency time (see Section 4.2 for a brief review of actively developing technologies that address these issues). Moreover, 2nd generation blockchain platforms are implemented by dividing into modular layers. Such an approach broadens the potential application (see Section 3 for more information on this) of blockchain technology beyond simply exchanging tokens of a single cryptocurrency.

BlockLib: A Collection of Blockchain platforms
The literature on the application of blockchain technology is extensive and grows at a swift pace (see Section 3 for more details on this). There already exist several col- lections of blockchain platforms presented in the literature, see e.g. (Anh et al., 2018;Belotti et al., 2019;Dinh et al., 2017;Kuo et al., 2019;Valenta and Sandner, 2017). However, they are limited and focused mainly on special subclasses. Moreover, as far as we are aware, there is no systematic and comprehensive data library available for the evaluation of the broad class existing and actively developed, as well as newly emerging blockchain platforms. Thus, in this work, we introduce an actively growing online collection of blockchain platforms, BlockLib (Paulavičius et al., 2019), gathered from various sources (such as official websites, blogs, wikis, forum posts, source codes, conference proceedings, and journal papers), and devoted to facilitate research on blockchain platforms. BlockLib is designed as an open-source library to which other researchers and the blockchain technology community can easily contribute. By doing this, we hope that the blockchain community will help us to fix all errors and inaccuracies, add new data, and in such a way, keep this collection growing and up-to-date. Finally, let us note that the full description of this collection and a detailed analysis of the data provided here is out of this paper's scope.

Applications
In this section, we review the current state of blockchain applicability in various industry sectors, specify the level of research already done within this field, and provide some insights about facing limitations. The 1st generation blockchain platforms are designed mainly for monetary transactions, while the most of 2nd generation platforms feature a complete programmable infrastructure. The employment of smart contracts (Szabo, 1994) enabled efficient blockchain incorporation into various industry fields.
All of this has led to the leading financial organizations, governments, and enterprises actively exploring the applicability of blockchain technology in their domains (IBM, 2018), and providing financial support to the development of these projects. In Fig. 3a worldwide funding into the blockchain sector from 2014 is presented (TeqAtlas, 2019). Note, that after the end of Initial Coin Offering (ICO) hype (during the period of 2017-2018), the value of capital raised via ICO has drastically decreased, however, it is still significant. In Fig. 3b, the blockchain projects are categorized according to their focus to industries (ICO Watch List, 2019). The most popular industries are still related to the financial sector and the development of blockchain platforms. Finally, in Fig. 3, we present the number of research publications on blockchain topic that have been indexed by Web of Science (WoS) from 2014. The interest of the researchers is significantly increasing.
Further, we provide a brief overview of blockchain applications according to the most popular and newly emerging fields: • IoT: IoT applications need trust mechanisms that ensure the integrity of the collected data and the associated interactions as well as their transparency that blockchain can provide (Sicari et al., 2015). The research community puts a lot of interest in the integration of blockchain into of different aspects of IoT -decentralization (Veena et al., 2015), security (Khan and Salah, 2018), anonymity (Christidis and Devetsikiotis, 2016;Huh et al., 2017), identity (Gan, 2017), device management (Samaniego and Deters, 2016).
• Finance: the high potential of blockchain application in the finance sector is indisputable. Research works are dedicated to improving transaction processing and performance (Peters and Panayi, 2016), security and data privacy (Singh and Singh, 2016), automatization of financial contracts (Egelund-Müller et al., 2017), corporate finance (Momtaz et al., 2019), etc.
• Big Data: in Big Data, blockchain can help to establish a data-sharing platform for interaction of all involved parties (Chen and Xue, 2017), improve data reliability between them (Abdullah et al., 2017), increase data security, and provide timestamping (Karafiloski and Mishev, 2017).
However, it must be noted, the actual current blockchain applicability is still limited, and suffers mainly from the insufficient technical capabilities and poor infrastructure. Most of the blockchain application projects are still in the development phase, and present blockchain solutions cannot deliver full-fledged support for the most emerging applications. The situation can change essentially when currently actively developed 3rd generation blockchain platforms (see Section 2) will be delivered. They seek to ensure sufficient scalability, interoperability, and sustainability to support the current needs of real-world applications.

Challenges and Possible Future Directions
There is no doubt that blockchain is one of the greatest innovations of the 21st century, and has a high potential for applications and direct use in various industries. However, at the current stage, it faces some vital challenges, like very high energy consumption, technological issues, governance problem, and similar. In this section, we review the main blockchain technology challenges and detail possible future directions.

Blockchain Energy Consumption Problem
The high electricity consumption of Bitcoin and some other popular cryptocurrencies (Ethereum, Litecoin, Monero) has been widely reported in the literature (de Vries, 2018;Krause and Tolaymat, 2018;Stoll et al., 2019;Truby, 2018). Bitcoin, like a mineral is extractable and finite, and like traditional mining, cryptomining can be energyintensive (Krause and Tolaymat, 2018). Currently, the Bitcoin Energy Consumption Index (BECI) (Digiconomist, 2019a) (shown in Fig. 4a), and the Cambridge Bitcoin Electricity Consumption Index (CBECI) (University of Cambridge, 2019) estimates, that the global Bitcoin's annual electricity consumption is equal to around 75 TWh (terawatt-hours of energy), which translates into around 35 MtCO 2 annual carbon emissions range. Moreover, recent research claimed that the amount of energy required to mine one dollar's worth of Bitcoin is more than twice that required to mine the same value of copper, gold or platinum (Krause and Tolaymat, 2018). The other popular cryptocurrencies that use PoW consensus protocols seem poorly in this comparison too. Therefore, the virtual mining work that underpins cryptocurrencies is more similar to real mining than anyone actually intended. To summarize, the three main things which drive Bitcoin's vast power usage are artificial scarcity leading to way too many miners, an increasingly hard competition to mine remaining coins, and PoW approach to network's immutability and validity. Looking from the opposite perspective, it is worth noting that according to the recent report (CoinShares, 2019) 74.1% of Bitcoin mining is powered by renewable energy. Moreover, blockchain energy consumption can be treated not as a disadvantage, but as an essential feature for dealing with the double-spending problem and security of the public blockchain (Vranken, 2017). In this context, the more energy is consumed, the more secure the network is, as the more costly is to perform the 51% attack. Even more, lots of research has been done to address this. For example, the second largest Ethereum's PoWbased cryptocurrency network annually consumes around 8 TWh electricity (see Fig. 4b), however, Ethereum is about to move to its Casper PoS consensus mechanism (Buterin and Griffith, 2017;Buterin et al., 2019;Buterin, 2018), which will drastically reduce electricity consumption and change the way its blockchain operates. Other 2nd generation blockchain platforms are already using more optimized consensus protocols, such as PoS, PoA with significantly lower electricity costs and carbon emission. Another approach is to effectively exploit computational resources used in PoW, i.e. instead of solving "useless" PoW math puzzle replace this process with the solution of computing-intensive important real-world problems, e.g. finding prime numbers (King, 2013) or solving challenging optimization problems (Shibata, 2019).

Technological Issues
Main technological blockchain challenges include scalability, privacy, security, as well as interoperability aspects. Top blockchain platforms, like Bitcoin and Ethereum, are not well adapted to satisfy huge amount of users needs, as they can ensure a way to small maximal number of transactions (see Table 2). Therefore PoS type consensus protocols, sharding technique (Johnson et al., 2019), as well as side-chain and off-chain solutions  have already shown a high potential to address scalability issues, and are currently under an active development and integration stage, e.g. Lightning Network in Bitcoin (Poon and Dryja, 2016), PoS and sharding technology in Ethereum network (Buterin, 2018).
Privacy is also a sensitive and important topic for blockchain applications. In public blockchains, all the data related to transactions is public accessible, however, transparency in blockchain must be harmonized with personal and sensitive data protection. Private and consortium type blockchains solve this problem, but limit users' access, therefore reducing the degree of decentralization. Thus, an optimal trade-off should be applied for specific use-cases.
Security of blockchains highly depends on the consensus protocol. As a result, they are vulnerable to a 51% attack (or 34% attack if BFT type consensus is used) (Bach et al., 2018). Small blockchains with fewer users are more sensitive to these attacks, while huge blockchains can ensure much higher security, but suffer form hashing and stacking power centralization. Blockchain community works on the development and adaptation of more efficient and secure consensus protocols (see Section 2.1 for more information on this).
Finally, interoperability problem, i.e. the limited ability to share information across different blockchains, is caused by the lack of standardization among various existing platforms, different consensus protocols, privacy mechanisms, data models, and etc. Potential solutions for this, are side-chains, notary schemes, hash locking, as well as standardization. Interoperability-focused projects, like Polkadot (Garvin, 2016) and Cosmos (Kwon and Buchman, 2016) try to solve this with the inter-blockchain communication protocols.

The Need for Regulation
The innovative nature of blockchain creates numerous problems for regulators (Fulmer, 2019): finance-oriented blockchain-based solutions, e.g. cryptocurrencies or various financial services, should be regulated (Cermeño, 2016). However, the current centralized regulation scheme is not acceptable for the blockchain decentralized paradigm, especially for public networks, as territorial regulations constitute a problem (Cermeño, 2016). Smart contracts may also demand different treatments from traditional contracts (Cong and He, 2019). Besides, the immutability of data records in public blockchains must be matched with GDPR in the EU (Finck, 2019). Hence, the close collaboration of regulators and the blockchain industry is required to ensure that compliance with regulation, rules, and policies is achieved. Some countries, including Malta, Estonia, Switzerland, Liechtenstein, Singapore, and Japan, are already preparing blockchain-friendly legislation (Dewey, 2019). However, there is no central administration for each distributed ledger, therefore international standards should be established. EU Parliament has already passed blockchain resolution "Distributed ledger technologies and blockchain: building trust with disintermediation" (European Parliament, 2018). Moreover, on the 3rd of April in 2019, the International Association for Trusted Blockchain Applications (INATBA) was established and united together suppliers and users of blockchain with delegates of governmental and standard-setting organizations from all over the world (INATBA, 2019).

Conclusions
Revolutionary blockchain technology is only a decade old, but already showed great potential for transforming the traditional industry with its key features: decentralization, anonymity, persistency, and auditability. While the history of the techniques used in blockchain (P2P network, cryptography, record-keeping database, etc.) can be traced back several decades ago, blockchain combined and introduced them in a completely new manner. To better understand what the current status of the blockchain technology is, we first provided a historical insight into the techniques used in nowadays blockchain architectures. We then provided a comprehensive comparison of blockchain platforms that have gained considerable popularity and potential. Special emphasis was given to review typical consensus protocols that are used in state-of-the-art blockchains and highlighted their main weaknesses and strengths. Furthermore, an actively growing online library of blockchain platforms, BlockLib, has been introduced. While most of the research is still devoted to Bitcoin, we showed that the applicability of blockchains is far beyond Bitcoin. There are a plethora of use-cases in various industry sectors where blockchain could bring more security, trust, transparency, data traceability, and efficiency in general. However, blockchain is not a panacea and the appropriate technical solutions for a particular application use-case should be carefully determined. Furthermore, we reviewed energetic, technological, and regulatory challenges that are currently affecting the still limited adoption of the blockchain technology across the industries. Finally, some possible future blockchain directions were also highlighted.
R. Paulavičius is a senior researcher and head of the Blockchain Group at the Institute of Data Science and Digital Technologies, Vilnius University, Lithuania. His research interests include blockchain technology, optimization software, parallel computing, development and application of various operation research techniques.
S. Grigaitis is a partnership associate professor at Vilnius University, a member of the Blockchain Group in the Institute of Data Science and Digital Technologies, and an experienced industry professional. His research interests focus on blockchain technologies, large-scale distributed systems and artificial intelligence.
A. Igumenov is a lecturer at the Faculty of Mathematics and Informatics, Vilnius University, Lithuania. Received the doctoral degree in informatics engineering from the Vilnius University in 2012. His main research interests include blockchain technologies, global optimization, high-performance and parallel computing, IoT and internet technologies.
E. Filatovas is a senior researcher and co-founder the Blockchain Group at the Institute of Data Science and Digital Technologies, Vilnius University, Lithuania. His main research interests include blockchain technologies, global and multi-objective optimization, evolutionary algorithms, high-performance computing, artificial intelligence, and image processing.