Recent Advances of Blockchain and its Applications

Blockchain is an emerging decentralized data collection, sharing and storage technology, which have provided abundant transparent, secure, tamper-proof, secure and robust ledger services for various real-world use cases. Recent years have witnessed notable developments of blockchain technology itself as well as blockchain-adopting applications. Most existing surveys limit the scopes on several particular issues of blockchain or applications, which are hard to depict the general picture of current giant blockchain ecosystem. In this paper, we investigate recent advances of both blockchain technology and its most active research topics in real-world applications. We first review the recent developments of consensus mechanisms and storage mechanisms in general blockchain systems. Then extensive literature is conducted on blockchain enabled IoT, edge computing, federated learning and several emerging applications including healthcare, COVID-19 pandemic, social network and supply chain, where detailed specific research topics are discussed in each. Finally, we discuss the future directions, challenges and opportunities in both academia and industry.


INTRODUCTION
B LOCKCHAIN technology is a decentralized storage tech- nology working on peer-to-peer network.Peers, which are also called blockchain nodes, work as exactly same role and perform the same function following particular smart contracts specified in the system.In a blockchain system, every nodes keeps the whole copy of blockchain storage where transactions are packaged into blocks and every block is linked to previous block through block hash.The actions of nodes are supervised by smart contracts defined on the blockchain, where the consensus mechanisms and incentive mechanisms are specified.The consensus mechanisms are the core functions for maintaining system decentrality and storing blocks by carefully giving the ledgering right to one of the nodes who are called miners.Incentive mechanisms assists consensus mechanisms to distribute the working rewards and incentivize nodes to keep working honestly.A typical architecture of blockchain systems is illustrated in Figure 1.
Blockchain attracts increasing attention from both academia and industry because of its special capabilities and advantages comparing to existing conventional decentralized database storage approaches.Public blockchains, such as Bitcoin, can make the data available on every node which enables transparency to every participants.Since blockchain can work under totally anonymous setting without having to build trust among nodes, privacy of nodes can be preserved.Blockchain is tamper-proof storage, because the blocks are linked together with specific hash values that would cause a violation if any modification is made on block data.Blockchain storage is also free of single-point failure as long as the fraud users hold less than 51% mining power of the whole blockchain system.The comparison  between conventional distributed database and blockchain is discussed in Table 1.
Current blockchain technology is still not perfect for general adoption and have many deficiencies to be improved.These deficiencies also bring troubles to blockchainenabled applications.Researchers have devoted tremendous work on improving blockchain system with faster processing speed, more light-weight consensus mechanisms, less storage cost and lower communication bandwidth requirement.These advances of blockchain technology can benefit blockchain-enabled applications that are still at the very initial stage.However, there are nature gaps that the advances are hard to propagate among applications.It is highly demanded to connect multiple parts of the whole blockchain ecosystem together to facilitate future developments.
Existing related surveys mostly limit their scope on specific research topics.Wang et al [12] and Signh et al. [13] surveyed recent popular blockchain consensus mechanisms.Zhou et al. [14] summarize existing solutions on solving the scalability issue of blockchain.They classify the solutions into three layers: Layer0 which is about data propagation, Layer1 which is about on-chain methodologies and Layer2 which is about external off-chain solutions.Zhang et al. [15] and Feng et al. [16] investigate the security and privacy protocols of blockchain systems.Zhang et al. [15] try to analyze how well blockchain systems supports the privacy and security requirement of transactions and conclude that only a small part of the blockchain platforms can achieve the security goals in practice.Feng et al. [16] summarize methodologies proposed by recent work to tackle the privacy issues in blockchain applications.
Gamage et al. [17] introduced several blockchain applications in their survey such as supply chain, however most the mentioned applications are special use cases of blockchain while some major applications are left behind, for instance IoT and edge/cloud computing.Huo et al. [18] investigated research topics of blockchain-enabled IoT.They summarize that blockchain is mainly used in IoT for equipment safety and management, data collection and sharing, energy trading, collaborative production and traceability.Wang et al. [19] and Mollah et al. [20] conduct detailed survey about recent blockchain applications in Internet of Vehicles (IoV) which is a special instance of IoT.Blockchainenabled IoV are usually studied with more specified use cases than general IoT [21], such as recent emerging electrical vehicle charging and smart parking.Zou et al. [22] extensively review blockchain developments in cloud computing and consider both Cloud as a Blockchain Service where blockchain assists could service and Blockchain as a Cloud Service where blockchain service is deployed on cloud.Liao et al. [23] study the overlapped areas of edge computing and IoT.There are also comprehensive surveys on federated learning [24], [25], which is an emerging distributed machine learning schema to protect data providers' privacy and reduce the data transmission consumption.
Sreerakhi et al. [26] review blockchain works in supply chain to discover the possibility of blockchain to help solve challenges including asymmetric information sharing, quality monitoring and market counterfeiting.
There is few survey that provides literature review for multiple research fields.In this paper, we bridge the advances of blockchain technology and it applications by expanding the reviewing scope to several most active blockchain research topics and emerging blockchain applications.An overview picture of blockchain ecosystem including blockchain and its applications is constructed as illustrated in Figure 2. We review the recent remarkable improvements of general blockchain technology.We choose IoT, edge computing, federated learning, healthcare, social network, supply chain as the most representative blockchain use cases in whole blockchain ecosystem.Extensive literature review is conducted on those selected use cases by discussing recent active research topics in each.We enumerate several remaining issues for academia and industry to summarize the survey.
The remainder of this paper is organized as follows: In Section 2 we first summarize the recent important developments of general blockchain technology.Then in Section 3, we review how blockchain can serve IoT systems and IoV which is a special use case in IoT.Next in Section 4, topics on blockchain-enabled edge computing and federated learning are investigated.In Section 5, we study several emerging hot topics that benefit from blockchain, including healthcare, COVID-19 pandemic, social network and supply chain.Next in Section 6, we discuss our findings on current open issues and challenges of blockchain, then present the suggestions on future work.Finally, this paper is concluded in Section 7.
Generally, majority works are focusing on solving the scalability issue of blockchain, that is to improve the consensus efficiency, increase transaction throughput, reduce computation and communication cost as well as storage overhead.In this section, we discuss recent advances in consensus mechanisms and storage methods for general blockchain systems.

Consensus Mechanism
Proof of Work (PoW) is the most popular consensus mechanism for blockchain systems.In PoW-based blockchain systems, peers invest powerful machines to solve cryptographic problems to win the right for ledgering.Though it is proven to be secure and stable in some well-known applications, such as Bitcoin [1] and Ethereum [2], it consumes extraordinary power for solving meaningless cryptographic puzzles.PoW limits the throughput of processing transactions and brings increasing computational and storage overhead.
Proof of Stake (PoS) [3], [39] is a popular consensus mechanism as a competitor of PoW.PoS gives the ledgering right to the peers with the probability as the contribution the peers made to the system, namely stake.PoS is less decentralized than PoW, but significantly improves the scalability and consensus efficiency.Delegated Proof of Stake (DPoS) [40] is proposed to give more probability for being a miner than PoS to those who hold small amount of stakes .In DPoS consensus mechanism, whenever there is no candidate miners, every user will vote someone they trust.The weight of the vote is proportional to the stake of the voter.After voting, the peers received top k votes become candidate miners.DPoS has been applied in many applications [41], [42], [43], [44].DPoS is also a scalable and light weight consensus mechanism but not perfectly decentralized.Various modifications have been proposed for DPoS [45], [46], [47], [48], [49].Xu et al. [50] propose to improve the DPoS consensus by allowing nodes to vote favor, against and abstention.Then a vague value of node is calculated based on all three kind of received votes.Fuzzy value is finally derived as final score on which miners are selected.
Practical Byzantine Fault Tolerance (PBFT) [51] is a classic byzantine fault tolerant protocol and introduced into blockchain systems as consensus mechanism [52], [53].PBFT consensus mechanism commonly have five phases, namely request, pre-prepare, prepare, commit and reply.The client sends the message to be confirmed to a selected "primary" at request phase.The "primary" then broadcast this message to all other peers ("replicas") at pre-prepare phase.Then each "replica" broadcasts received message to all other peers including "primary" and other "replicas" at prepare phase.Next at commit, all peers, including the "primary" and all "replicas" send the message received at last phase to all other peers.Finally all peers send back the message to the "client" at reply phase.PBFT consensus is made through message transmission and commitment, therefore requires notable communication cost.SCP [54], proposed by Luu et al. constructs two-layer blockchain with committees, where one layer is for data blocks which are proposed by normal committee and another layer is for consensus blocks which are proposed by the final designated committee in SCP to include all data blocks.The committees can make parallel PoW consensus, hence improve the efficiency and transaction throughput.Li et al. [55] propose ISCP to promote the security level and communication efficiency of SCP .ISCP eliminates the need of final committee in SCP with a decentralized multi-partition consensus model.Amiri et al. [56] propose a novel OXII distributed diagram allowing transaction to be executed without conflict in permissioned blockchain.ParBlockchain is then proposed based on OXII diagram to achieve better transaction throughput.
In order to adapt to specific applications, various Proof of X (PoX) are developed where "X" can be any metrics defined in those applications, such as Proof of Reputation [57], Proof of Quality Factor [58], Proof of Event [59].Bahri et al. study crypto-currency-free blockchain system [60].They propose viable permisionless non-financial Blockchain where Proof of Trust (PoT) is designed based on trust graph among peers.In PoT, peers with higher trust level can solve PoW cryptographic puzzle at lower difficulty level, thus reducing overall energy expense of PoW.

Storage Method
Classic blockchain systems require every peer store full copy of entire blockchain storage.This storage mechanism not only wastes enormous resources, but make system get centralized gradually.The oversized blockchain increases the bar of storage requirement for participants and also make the system hard to process data-heavy applications.With the blockchain growing in size, more and more disadvantaged nodes who can not afford the storage cost are gradually leaving the mining game.Finally, the system becomes more and more centralized.
Blockchain sharding technology [61], [62] is explored for reducing the storage overhead.Generally, blockchain sharding is to divide peers into groups where consensus are made within each group so that transactions can be processed concurrently.Peers in each group (shard) maintain their local ledger, therefore in order to derive the full chain, an concurrency control and a commitment mechanism need to be designed [63].Zamani et al. [64] propose RapidChain to further reduce the communication cost while maintaining the resistance to Byzantine faults when there are less than 1/3 fault nodes in all participated nodes.Xu and Huang develop an blockchain sharding mechanism that can tolerate 1/2 fault nodes [65].SkyChain is a dynamic sharding method enabled by deep reinforcement learning which can effectively deal with the dynamic environment in the blockchain system, i.e., joining and leaving of nodes, and malicious attacks [66].Blockchain sharding technology is also developed in many domain-specific applications, such as IoT [67] and Federated Learning [68].
Xu and Huang [69] propose segment blockchain where the whole blockchain is broken down into segments, and peers are only requires to store several segments.The whole blockchain storage can be recovered from multiple nodes' storage.Qi et al. [70] propose a storage partition method namely BFT-Store for permissioned blockchain reducing the storage complexity per block from O(n) to O(1).Meanwhile, the data availability and data access efficiency are ensured by proposed four-phase re-encoding protocol based on PBFT and multiple replication mechanism with cache structure.The experimental results in [70] show that at the same number of nodes, BFT-Store enabled blockchain can store more blocks, with remarkably lower storage overhead.

INTERNET OF THINGS (IOT)
Internet of things allows smart devices to connect with each other through the internet protocol for a ubiquitous data exchange [71], [72].The devices or objects working in internet of things are mostly sensors, micro-computers that can be easily compromised by malicious attacks.Blockchain technology applied in internet of things is a promising solution to improve the data integrity and security [73].
Figure 3 shows a typical structure of blockchain-enabled IoT and edge computing systems which will be discussed in next section.However there are some challenges for realizing blockchain-enabled IoT systems.Due to the low computation capability, battery life and memory storage of devices in IoT, the devices are not able to process heavy-weight consensus mechanisms like PoW [74].On the other side, Blockchain systems are mostly not able to produce high throughput which can not meet the demand of tremendous data generating and storage tasks in IoT systems [75].
In this section, we first review the recent blockchain works in general IoT systems, then we investigate an active special use case in IoT, namely Internet of Vehicle (IoV).

General IoT
Many light-weight consensus mechanism are designed to make blockchain feasible in IoT, such as credit based con-sensus mechanism [76], PoBT [77], PoRX [78] and Proof-of-Transactions [79].Dorri et al. [80] propose a Lightweight Scalable Blockchain (LSB) for industrial IoT, where nodes are divided into clusters and managed by cluster heads.A Distributed Throughput Management (DTM) algorithm is proposed to dynamically adjust number of clusters and consensus period for maintaining high transaction throughput.Biswas et al. [81] separate the workers in IoT network from the peers in blockchain network.The workers in IoT networks are defined as local peers who are connected to designated anchor peer representing one organization in blockchain network.Transaction commitment can be made within organization without global consensus, hence the transaction throughput is improved.
Incentive mechanisms are also studied for IoT.Ding et al. [82] designs an incentive mechanism to motivate devices to devote more power in mining.A two-stage Stackelberg game is formulated to find reasonable reward pricing strategy to maximize blockchain utility.
Instead of proposing consensus mechanism, some work specifies more details and design comprehensive blockchain systems for IoT applications, such as AEChain [83], BPAF [84], BET [85] and B-MET [86].Li et al. [87] are the first to study the problem of extra cost caused by frequent smart contract updates in blockchain-enabled IoT system.A new smart contract architecture is proposed, namely ATOM, that can construct the bytecode of smart contract from application by directly assembling templates pre-built upon the designed Application-oriented Instruction (AoI) set rather than by compilation.Zhou et al. [88] aim to improve the storage efficiency of blockchain-enabled wireless communication by proposing dynamic adjusted block-assignment (DAB) contract which dynamically assigns blockchain portions to different devices.
Reinforcement learning methods are developed to optimize resource allocation in IoT networks to achieve better scalability [89], [90] and resource allocation [91].Liu et al. [92] propose a deep reinforcement learning approach that can help maximize on-chain transaction throughput of the blockchain system by selecting the block producers and consensus algorithms as well as adjusting the block size and block interval.Yun et al. [93] propose deep Q network shardbased blockchain (DQNSB) scheme that dynamically finds the optimal throughput by selecting transaction sharding methods, also the block size and block interval.Ding et al. [94] introduces edge server into IoT networks, where IoT devices are able to purchase computational power from edge servers.They derive a Stackelberg equilibrium to optimize the pricing and budget allocation.

Internet of Vehicle
Internet of vehicle (IoV) or Vehicular Network is a special IoT application where the IoT nodes are the mobile devices installed on vehicles.In IoV system, vehicles can share information such as road condition, traffic conjunction and accident information with other vehicles, so that vehicles are able to decide best routes or collaborating with each other on some emergency issues.
Blockchain technology brings decentralized architecture to IoV as it does to IoT.IoV usually has more strict requirements on applied blockchain system [95].Vehicles are moving making them can only connect to roadsides or other vehicles periodically.Vehicles are also have limited battery and computation power making them reluctant to participating in low-profit or computation-expensive tasks.
Cho et al. [96] propose iCarChain for managing vehicle related businesses in decentralized manner.iCarChain is an initial attempt for benefiting consumers and vehicle business industry with fewer technological restrictions and more affordable expenses by decentralizing the business system.Blockchain servers as distributed storage system for IoV in [97] where roadside units are selected based on both PoS and PoW as miners to pack data and messages generated by vehicles.Wang et al. [98] propose Traffic-Chain which is a two-layer blockchain-enabled secure and privacy-preserving decentralized traffic information collection system.Wang et al. specially study Byzantine attack and Sybil attack on TrafficChain and propose novel LSTM based methods to defend against them.Yin et al. [99] study a special case in IoV that multivehicles collaboration can be performed when a single vehicle is not able to accomplish a task.They carefully design an incentive mechanism and a task assignment algorithm to motivate vehicles to participate the tasks as well as shorten the collaborative tasks' finish time.Hui et al. [100] study similar collaborative crowd sensing problem that aims to motivate vehicles collaborate each other by formulating and solving a Coalition Game.
Despite some classic consensus mechanisms are adopted in IoV, such as PoS [97], [101], PoET [102] and PBFT [103], [104], researcher are developing more scenario-specific consensus mechanisms in order to achieve better security, latency and throughput in IoV.Kang et al. [101] design a reputation-based voting scheme to improve the security of blockchain-enabled IoV.This scheme evaluates candidates' reputation using both past interactions and recommended opinions from other vehicles.Proof of Quality Factor [58] is proposed to bridge vehicles and edge computing servers, which allows mobile edge nodes serve as mining nodes.As the number of electric vehicles (EVs) increasing, Luo et al. [105] study the energy trading in the internet of electric vehicles.They propose to deploy blockchain server in local energy aggregators (LEAG) to store all the trading transaction records and specify smart contacts as agents for optimal energy pricing and allocation.Abishu et al. [106] jointly consider PBFT and Proof of Reputation (PoR) and propose PBFT-based PoR (PPoR).Electric vehicles are grouped in clusters according to the roadside units they connect to.PPoR will select miners (validators) in the cluster based on their reputation value that is calculated based on evidence and opinion spaces collected from EVs in each cluster.
Reinforcement learning also plays important role in many works of blockchain-enabled IoV [107].Kim and Ibrahim [108] design a reinforcement learning model to decide the optimal number of peers participating in consensus making to improve the latency and throughput without compromising the Byzantine fault tolerance.They connect peers in different groups through channels, and formulate the problem of choosing channels as Multi-Arm Bandit problem which is solved by the proposed reinforcement learning algorithm.Liu et al. [109] first propose a methodology to quantify the performance of blockchain systems from the aspects of scalability, decentralization, latency and secu-rity, then apply deep reinforcement learning technique to select block producers, adjust block size and block interval, in order to maximize the transaction throughput without sacrificing other properties.

EDGE COMPUTING
Edge computing is a technology to allow devices at the edge of network, such as smart devices, mobile micro computers, bases stations and network access points, to generate, collect, transmit and process data.Edge computing is an extension of IoT and overlaps with IoT in many applications.For example, The sensors or smart objects in IoT might need to connect to some edge servers to complete data sharing and computing.Some devices in IoT such as electric vehicles can also be considered as edge nodes in edge computing.In this section, we first investigate the blockchain development in general edge computing then specially discuss an emerging topic in edge computing, namely federated learning.

General Edge Computing
Like the deficiencies of blockchain system in many other application fields, blockchain system brings extra computation cost and communication cost to edge nodes.Off-loading as a popular methodology to alleviate the stress of edge nodes is to move computation task to external machines, such as Edge Computing Service Provider (ESP) or Cloud Computing Service Provider (CSP) [110].Those service providers that are qualified to conduct the off-loaded tasks may earn some profit or reward for providing computation service.In the process of computation offloading in edge computing, it is critical to dynamically make optimal offloading decisions to minimize the communication delay, energy consumption spent on the devices and the throughput of data storage on blockchain [111].
Jiang et al. [110] design an multi-leader multi-follower Stackelberg game to address computing resource management achieving maximized profits of service providers and the rewards of miners in the network.Hu et al. [112] detail a blockchain enabled edge computing system, and propose a deep reinforcement learning algorithm to jointly optimize the computation offloading policy and block generation strategy to maximize the scalability.Though abundant offloading optimization methods have been developed, it is hard to evaluate how good the outcome as well as to compare these methods.To address this issue, Qu et al. [111] propose ChainFL, that is a lightweight simulation platform for building a test edge computing environment which also supports federated learning and blockchain technology.
Cooperative or collaborative offloading in edge computing is an extended problem over off-loading.Feng et al. [113] utilize deep reinforcement learning algorithm to jointly optimize the cooperative offloading decision and blockchain parameters in blockchain-enabled mobile edge computing systems.Zuo et al. [114] also study cooperative mobile edge computing, they formulate the offloading optimization problem with a three-stage Stackelberg game.Cheng et al. [115] use blockchain to form a authentication system for collaborative edge computing systems that achieves anonymity while avoid malicious attacks from fake IoT devices.
Xiao et al. [116] address selfish attack problem in edge computing that attackers use less computation resources than promised to process offloading tasks or provide faked computation results.They propose a trust mechanism to assign reputations to edge nodes, then the CPU computation resources are allocated based on the reputation.Liu et al. [117] address the problem of the existence of lowquality data such as missing values, inconsistent values and incorrect values due to the data heterogeneity in edge computing.These low-quality data may not support or even slow down the computation tasks.To tackle this issue, a consortium blockchain is design in [117] where the data quality will first be evaluated and repaired before being offloaded.
More works incorporate blockchain system deeper with edge computing network to allow blockchain provide more reliable functions by proposing specific consensus mechanisms and comprehensive blockchain-enabled edge computing systems.Baranwal and Kumar [118] propose PoSP consensus mechanism that replace the hash puzzle in PoW with a service placement problem whose result can meanwhile help the resource allocation in edge computing.Maskey et al. [119] use neural networks to decide the miner's reputation instead of a heuristic computation in a blockchain-enabled vehicular edge computing environment.Balistri et al. [120] embed blockchain into edge computing network in order to promote the cyber-resiliency, where edge nodes and service providers work as peers in a blockchain system.Li et al. [121] design a typical multi-layer blockchain enabled system, where the blockchain layer is incorporated into edge-computing layer.Similar to [120], the edge computing nodes in [121] are also the blockchain peers(nodes) to conduct consensus mechanism and create new blocks.Wang et al. [122] are the first to extend the collaborative task offloading to collaborative edge storage.They propose a blockchain system called CSEdge where a reputation based consensus mechanism called ER-BFT is designed to select edge servers based on their reputation, and a incentive mechanism is proposed to motivate edge server to help complete data offloading .

Federated Learning
Federated Learning (FL), first proposed by Google [123] is an emerging distributed machine learning schema.Instead of collect all the data first from data providers, then training a complicated machine learning model on a central computing device, federated learning allows each data provider to train a local model first and then upload the parameters to the central computing device.In federated learning schema, since data providers keep their data locally, the communication cost is saved and the privacy of data provider can be preserved.
Before federated learning is proposed, blockchain had been adopted to secure the data or model parameters in machine learning.Goel et al. [124] propose DeepRing which is a blockchain secured CNN model and shows significant resistance to tampering attack than ordinary models.Fu et al. [125] use blockchain system to secure the collective learning in IoV environment which is similar to federated learning schema.The adoption of blockchain technology in federate learning further promotes the security of machine learning to next level [25], [68], [126], [127].Based on literature review, we create a generalized blockchainenabled federated learning architecture, and compare it with conventional federated learning in Figure 4. Lu et al. [128] design a data sharing platform for IoT with blockchain enabled federated learning, and propose proof of training Quality (PoQ) as a light weight consensus mechanism.Lu et al. [129] propose a blockchain-enabled federated learning scheme to strengthen communication security and data privacy protection for communication between digital twins of IoT devices and edge network.The digital twins get the trained parameters from IoT devices instead of tedious device state information.Peng et al. [130] propose to use blockchain to achieve verifiable and auditable federated learning framework where committee based aggregation model and a authenticated data structure are developed over blockchain system.
Li et al. [131] propose a committee consensus to improve the consensus efficiency for a blockchain-enabled federated learning framework, called BFLC.In BFLC, the local updated model gradients and model parameters are stored on blockchain.A committee is form to evaluated the updates, and only the qualified updated will be stored in blockchain.Qu et al. [132] creatively combine the PoW with federated learning and proposed Proof of Federated Learning (PoFL) that instead of solving the meaningless puzzles in PoW, solving the actual tasks in the federated learning will make much less computation power waste.Nodes are gathered in pools where the PoFL is making for aggregating the desired model.
In federated learning, it is important to define suitable rewards for the worker clients who spend local computation and communication resources training local models.Otherwise, workers may be reluctant to do the training and report useless or even harmful parameters to global model aggregators.In order to jointly satisfy the privacy, integrity, and fair incentives of blockchain-enabled federated learning, R ückel et al. [133] propose a federated learning framework that incentives each clients based on their individual contribution to the global model, uses zero-knowledge proofs to ensure data integrity and adopts local differential privacy to perturb each clients' model update with Laplacian noise to ensure the data privacy.Gao et al. [134] propose FGFL model that assesses workers based on both contribution and reputation.They also states that it is crucial to design both an effective incentive mechanism and a reliable incentive management system to insure the fairness of incentives.
Since federated learning requires each device to upload the trained models to the aggregator, the global model may need to wait the slowest device to finally get updated.Asynchronous federated learning is then studied to deal with the delay of communication from multiple devices.Lu et al. [135] attempt to solve the asynchronous problem in IoV by optimally selecting the participating nodes through deep reinforcement learning.The models will first be aggregated within local range of vehicles asynchronously, then globally aggregated by roadside units synchronously.Feng et al. [136] propose BAFL, which is a blockchain-Based Asynchronous Federated Learning Framework.In BAFL, each device is communicating with one miner, for local model uploading and global model updating.The global model can be aggregated by each device once the device decides to update it with local models.Then the consensus of global model will be reached in blockchain layer, hence avoid waiting all devices.Wang and Tsai et al. [137] propose to compose a blockchain-enabled asynchronous federated learning system with multiple blockchains, where Sub-Blockchains are responsible for the model local training in multiple devices, and those Sub-Blockchains will communicate with a Main-Blockchain which is for the global model aggregation.
The distributed nature of federated learning schema make it easy to be integrated into IoT networks or edge computing networks, where sensing nodes in IoT and mobile devices can be the clients to train local models [138], [139].Otoum et al. [140] propose a blockchain-enabled FL model the decentralizes the learning process to ensure privacy and security for critical IoT infrastructure systems.Feng et al. [141] propose a two-layer blockchain system to enable federated learning in mobile edge computing network where the first layer blockchain is for local model updates and the second layer blockchain help update global model.Ayaz et al. [142] propose a blockchain-enabled federated learning vehicular networks to improve the quality and efficiency of message dissemination.

EMERGING APPLICATIONS
In this section, we investigate four emerging research fields where blockchain is increasingly playing important roles to bring decentrality, system robustness and security to related applications.

Healthcare
The potential of blockchain technology in healthcare has shown and been discussed as a revolution for over 5 years [10], [143], [144].Traditional healthcare systems are suffering from single point of failures and information leakage by cybersecurity attacks [145], as well as lacking transparency, trustful traceability, immutability, audit, privacy, and security [146].Blockchain technology provides promising solutions to tackle above issues that can decentralize the storage and permission management, keep data traceable, verifiable and immutable [147], [148].
Person health information (PHI) nowadays is usually digitized into Electrical Health/Medical Record (EHR/EMR) and stores in healthcare authorities' databases, such as hospitals, health insurance companies or medical laboratories.People may have their PHI in multiple healthcare authorities.Though the information are private, people are not able to manage the abuse of their own information [149].Blockchain enabled decentralized healthcare information management systems are proposed to tackle this issue [149], [150], [151].Soni and Singh [152] provide a general mapping from blockchain technology to medical processes and discuss the ability of blockchain to enable access control, secure devices, identity protection and cost reduction.Zaabar et al. [153] propose HealthBlock which is a six-layer blockchain-enabled health information management system.Blockchain works in a layer in HealthBlock to manage the access from multiple parties in other layers.Bhattacharya et al. [154] propose Blockchain-Based Deep Learning as-a-Service (BinDaaS) system that first adopts blockchain to securely store the collected information using lattice based signature generation and verifying operations, then applies deep learning technology to produce valuable prediction service, such as patient future disease prediction.Zhang et al. [155] uses pairing-based cryptography to generate temper-proof EHR which is further packaged into transactions in blocks.They also design secure payment protocols between patients and healthcare providers through smart contracts in blockchain.Chelladurai and Pandian focus on improving the data access speed among multiple parties with proposed Modified Merkle Tree data structure in blockchain [156].Wu et al. [157] propose multilevel smart contracts to achieve dynamic access control that allows different access rights for different scenarios.
They propose a Privacy Attribute Classification algorithm to classify medical records into different privacy levels, then the access right can be matched.
Another helpful blockchain use case in healthcare is medication tracing.Counterfeit medications have bring unneglectable public health concern and sever impact on treatment outcomes due to insufficient, incorrect, erroneous ingredients, falsified information or wrong labeling [158].Blockchain as a powerful distributed data storage method that can manage accessibility, ensure data transparency and immutability is hence an proactive approach to track, detect, and manage counterfeits in healthcare supply chain [159], [160].Musamih et al. [159] implement an blockchainenabled healthcare supply chain system with Ethereum.They designed on-chain and and off-chain structure where the actual healthcare data are store in off-chain low-cost decentralized storage system, blockchain is response for storing the logs and interact with off-chain resources.Abbas et al. [161] design Couch-DB where a machine-learning model is built upon the blockchain system to provide drug recommendation to customers.Some miscellaneous topics in healthcare are studied with blockchain.Liu et al. [162] and Mendoza-Tello et al. [163] propose to use blockchain to avoid healthcare insurance fraud.Blockchain can also be used to secure the channel of remote patient monitoring [164].Pighini et al. [165] implement SynCare ecosystem with blockchain and cloud service that allows patients to directly send data to healthcare professionals without concern of data leakage so that the patient can be securely remotely monitored.Many other patient monitoring systems require participation of IoT devices, such as smart sensors, meters or network access points, which will be discussed later.Blockchain is also introduced into clinical trails which are usually with a larger flow of information and more confidential data from more parties [166].Wong et al. [166] and Albanese et al. [167] have implement prototype of blockchain system for clinical trail data management.
Blockchain bridges healthcare with various other research fields.As mentioned above, IoT devices are widely used in healthcare, such as monitoring the status of patients, sensing important parameters for treatment or surgery [168].Ali et al. [169] propose an efficient blockchain system for IoT-incorporated healthcare applications where a secure search algorithm is designed to encrypt and anonymously search the data stored in blockchain.Hossein et al. [170] propose two-chain structured blockchain system, namely BCHealth for IoT healthcare applications that allows data owners to personalize the access policies over their healthcare data.In BCHealth, one chain stores access policies and the other chain stores data transactions.
In healthcare, artificial intelligence models provides valuable predictions and analysis for diagnosis.However due to privacy, healthcare providers are reluctant to share their data for a common AI task.Federated learning is hence introduced into Healthcare with blockchain to protect the data and AI models in healthcare.Aich et al. [171] propose a general framework to incorporate federated learning with multiple healthcare providers, where blockchain works as the intermediate platform for transmitting data from healthcare providers to federated learning AI task.

Special Healthcare Case Study: COVID-19 Pandemic
COVID-19 pandemic has lasted for over 3 years.Researchers have developed abundant approaches contributing to the prevention of virus spread.In this section, we review the literature of this special use case in healthcare, and discuss how Blockchain can benefit the recovery from pandemics.
As special use case of healthcare, there are blockchainenabled EHR management system specially designed for COVID-19 pandemic [172], [173].Tan et al. [174] propose a traceable COVID-19 record sharing system powered by blockchain where a security game (IND-CPA) is built in the system to achieve attack resistance.Aslan et al. [175] evaluate the possibility of world-wide COVID-19 information sharing among countries with DApps (Decentralized Applications) on blockchain system, but the idea is initial and of high level, no implementation is provided.Abid et al. [176] propose NovidChain which is a blockchain system to replace the central server that stores test/vaccine certificates of users.NovidChain works as a bridge for certificate issuer, holder and verifier, and is evaluated to be secure, scalable and low-cost extensively in the paper.However Novid-Chain is set to be private and manged by governments or healthcare institutions, which brings centralization and privacy concerns to NovidChain.
Contact tracing as one of the most effective ways to defeat pandemic has been developed in many countries [177].Contact tracing requires people to share their private contact history, sometime even including sensitive information such as GPS coordinates or medical history [178], [179].Most initial attempts of blockchain-powered contact tracing approaches are of high level, treat blockchain naively as external storage or with no simulation provided to illustrate the effectiveness, such as BeepTrace [180], Arifeen et al. [181] and Choudhury et al. [182].Hasan et al. [183] propose to use blockchain to record participants' GPS coordinates and trigger proof of location to conduct contact tracing and risk alert.In the proposed system, external oracles are adopted to conduct contact tracing algorithm, and blockchain works as a bridge from external oracles to involved parties, including testing center and patients.Torkye et al. [184] also use blockchain to securely bridge contact tracing-concerned parties and propose to use specific code patterns to encode peoples locations, so that only people who have been to the same place can be identified as contact cases while protecting privacy.However, this method is not able to reflect accurate contact history.Peng et al. focus on contact data verification to ensure data integrity, and propose P 2 B to realize a blockchain system [185].
Most of above contact tracing approaches assume people are willing to join the contact tracing system and share their contact history.However in real world people may be reluctant to use such system or act reluctantly after joining the contact tracing system, which lowers the effectiveness of contact tracing.Incentive mechanisms play important roles in blockchain systems that motivate people or participants to perform contact tracing function honestly and actively.Naren et al. [186] analyzed importance of incentive mechanisms, but no specific method is proposed to solve the mechanism.Lv et al. [187] considers large-scale contact tracing with the help of IoT and proposed ByChain where an artificial potential field-based incentive allocation mechanism is proposed to motivate IoT witnesses to maximize monitoring coverage.
Alansari et al. [188] extend contact tracing with two other subsystems to perform public places access control and safeplaces recommendation, respectively.All three subsystems are incorporated with consortium blockchain to manage the data access and storage.
Blockchain technology also helps COVID-19 vaccine control and management [178].Considering fragile biological substances, which should be take special care during transmission and distribution, Robit et al. [189] discuss a concept of blockchain-enabled automatic vaccine lots management to promote the transparency and immutability of management data.Musamih et al. [190] implement a prototype of blockchain system on Ethereum to help track the vaccine during delivery from raw material supplier to the beneficiary.The blockchain is responsible for storing logs and events generated by smart contracts, and record delivery events of the COVID-19 vaccine.The management of vaccine is a special case of supply chain management, we will investigate more blockchain works on supply chain in Section 5.4.

Social Network
Social network has become an indispensable part of our daily lives.Users of social media, such as Facebook, Twitter and Weibo set up their profiles and make posts.The huge amount of data generated by users are managed by the social media providers which are sometimes not reliable.For instance, Facebook has several data leakage incidents recent years.Users have no control of their data even some data are of high privacy concern.To solve the single-point failure problem, ensure data security and preserve necessary privacy in public social network, blockchain technology is discovered to be one possible solution [191], [192] .
Jiang et al. [193] design a blockchain-based decentralized social network, where blockchain serves as a replacement centralized server to allow user registration, user posting, adding friends or commenting with the help of smart contracts.In the evaluation, the authors prove each post users made will cost around 1.137 USD, which makes the system not a budget solution.The data stored on blockchain is not modifiable, therefore how users update their registration information and posts is a remaining problem.Zhang et al. [194] propose another blockchain-based social network, namely BPP.They also propose a privacy preserving searching algorithm in BPP.However, BPP is not fully decentralized, blockchain works as external storage system to assist social network providers.Most current designs or implementations of blockchain in social network system are still at very fist stage that blockchain only takes a minor part of the system and have many deficiencies such as scalabity and throughput problems.With the development of blockchain system, handful fully decentralized social networks are able to come to surface, such as Steemit 1 and FORESTING 2 which are both implemented with Steem Blockchain [195].
The diagram of social network without a central server requires all peers to maintain the whole network, which gives much more rights to peers than centralized diagram.With no proper user behavior control mechanism, malicious users might make the blockchain-enabled social network more vulnerable than traditional ones.Gu et al. [196] study privacy concern during resource sharing, such as moves, songs or pictures within social network communities.Access control of the resource is achieved by blockchain, and peers within the communities are motivated by a smart contract to help disseminate the resources.Rahman et al. [197] also study access control problem in social network with blockchain.They design four smart contracts, namely Access Control Contract for controlling the access to the resources in the network, Reputation Contract for calculating reputation score of users, Inspector Contract for monitoring user behavior and Registrar Contract for verifying user identities.Zhang el al. [198] extend the resource sharing within one community to the sharing across multiple social networks.Their proposed framework achieves consistent consensus on photo dissemination control across independent and disparate social network platforms.Yan et al. [199] propose Social-Chain to solve the trust issue in Pervasive Social Networking (PSN) where there is usually lacking a a centralized party to perform information collection, social data aggregation, and trust evaluation.Social-Chain is able to efficiently store the trust evaluation of users into blockchain with the proposed Proofof-Trust.Guo et al. [200] study user reputation evaluation task in social network where existing methods are facing the issue caused by fake comments posted by adversaries.They propose a consortium blockchain-based method that users are the peers in the blockchain and a behavior game model mechanism is developed to motivate peers to work honestly.
Chen et al. [201] propose DEPLEST, a blockchain-based distributed database system.They focus on solving the storage cost if all users of social network stores whole copies of database in blockchain-based social network.They propose each user only need to store a part whole data, and the size of storage on each device is fixed.To save the storage cost of synchronized blockchain, only sensitive data will be encrypted and secured through blockchain, non-sensitive data will be stored in traditional external database.Proof-of-Communication is also proposed to save the time for appending a new block.Nguyen et al. [202] propose SoChainDB, which is a general database framework to facilitate blockchain-based social networks for collecting data generated in the network.SochainDB provides a efficient pipeline to crawl and formalize distributed data storage in blockchain-based social network, and fills in the gap between conventional social network engineers and blockchain developers.Ochoa et al. [203] propose FakeChain to detect fake news in social network.They assume each node in social network is also a node in blockchain, and when each node publish some news, the news will be stored in blockchain.Then, with the tractability of blockchain, the source of fake news can be easily detected.

Supply Chain
Supply chain management is a vital component of industry.Good traceability of products allows manufactures and retailers to identify the source of parts and raw materials, as well as avoid business fraud with transparent product information.With the increasing complexity of global supply chain networks, traditional supply chain management approaches are facing challenges to match the requirements of efficiency, accessibility, transparency and security [204], [205].
Blockchain can be a revolutionary technique in supply chain to provide effective product tracing, transparent information sharing and reliable attack resistance.Many companies have announced blockchain projects in their supply chain for better tractability, such as Walmart 3 , Toyota and Alibaba [206].Queiroz et al. [207] systematically analyzed the barrier for the adoption of blockchain in supply chain with a real-world empirical study in the Brazilian OSCM (Operations and Supply Chain Management) context.Through questionnaire, they found out that the performance expectancy may also constitute an impediment to adoption of blockchain.In Wu's theoretical analysis [208] blockchain technology is able to elevate the profit of supply chain, though the profit may differ when different parties lead the construction of the blockchain system.
One of the most fundamental property that supply chains ought to have is traceability.Abundant blockchainenabled supply chains have been investigated and designed for many specific use cases to improve traceability, including fresh produces and foods [208], [209], [210], [210], animal products [211], agriculture [212] and healthcare [190], [213].Yakubu et al. [214] propose RiceChain to provide traceable rice supply chain, achieving at most 25% lower tracing latency than existing work.Caro et al. [215] propose Agri-BlockIoT and implement with Ethereum and Hyperledger Sawtooth, which is a fully-decentralized traceable supply chain for agriculture and food with blockchain and IoT.In AgriBlockIoT, IoT devices deployed in the supply chain processes are working nodes of blockchain, and the whole blockchain is maintained on cloud.To evaluate the traceability level of blockchain-enabled supply chain, Dasaklis et al. [216] define the granularity levels of traceability.They design a smart contract to collect necessary information for conduct traceability classification based on the existing traceability granularity standard 4 .
Kouhizadenh et al. [217] and Saberi et al. [218] analyze that blockchain could help verify audit and certificate sustainability in supply chain which is emphasized of great importance recent years, yet hardly can be achieved in most supply chain systems.The key idea of sustainability of supply chain is to save energy, build environmental-friendly products in sustainable manner.However, in addition to the benefits brought by blockchain for supporting sustainability, blockchain itself may introduce extra overhead and energy consumption for maintaining functionality of smart contracts and miners.Some other problems such as scalabil-  ity, communication deficiency and unprecedented security issues may also present [219].
The interactions between multiple partners in the supply chain rely on the trust among them.Therefore trust management plays the crucial rule to build and maintain a supply chain.Beside the above blockchain-based tamper-proof and audible supply chain is proposed, Malik et al. [220] consider the trust evaluation problem for parties in the supply chain.In the propose TrustChain, a reputation evaluation algorithm is developed for calculating the ratings of product sellers in the blockchain-based supply chain.AlRakhami et al. [221] bring both blockchain and IoT into trust management in supply chain.In their work, IoT devices work as data collector and relayor to transmit cryptographically edited essential data to blockchain.However, incorporating IoT devices may introducing potential security threats into supply chain that unauthorized or uncontrolled IoT devices from malicious parties may access and tamper the sensitive data.Song et al. [222] propose a robust blockchain based IoT enabled supply chain management framework, where a registration module is designed for enforcing registration policies on all participants and inspection module is designed for monitoring, analyzing and judging misbehaviour of participants.
Circular supply chain extends the one-way supply that from manufacture to products with three extra process, namely recycle, remanufacture and redistribute.Different from the simple forward manner in common supply chains, circular supply chains usually have more complicated product information flow among multiple parties that may back and forth when redistributing and recycling.Figure 5 illustrates the information flow and material flow in regular supply chain and circular supply chain.Centobelli et al. [223] design a Triple Retry blockchain framework with multiple smart contracts for executing different processes.Raj et al. [224] propose to use blockchain to solve the payment delay issue in supply chain especially when the participants locating in different place of the globe.With smart contracts enforced on participants as well as the authenticity and tamper-proof nature, blockchain is able to achieve trustable information and payment confirming which alleviates the transaction delays in supply chain.
Despite abundant blockchain-based supply chains are designed and implemented, the profiting outcome with the adoption of blockchain technology is still question to be answered.Researchers may result in opposite conclusions when modeling and scenario settings differ.Zhou et al. [225] and Sun et al. [226] conduct detailed analysis and proof on the impact of blockchain in two-echelon supply chain where only one supplier and one retailer exist.Zhou et al. [225] point out that, blockchain enabled supply chain not necessarily superior than non-blockchain ones, which is closely related to the reliability of information and the transparency cost of products.Based on full equilibrium results through the Stackelberg game between the supplier and the retailer designed in the paper, the authors conclude that the retailer can tolerant higher blockchain adopting cost than supplier in most cases especially when the product cost is high, while supplier can tolerant a higher adopting cost only when both the product cost and consumers' willing to pay are low.Zhou et al. [225] thinks both supplier and retailer will benefit from blockchain technology when the adopting cost is low enough, while Sun et al. [226] concludes blockchain technology can always improves the supply chain profit no matter the status of market demand.

DISCUSSION
In above extensive literature review, we have investigated and discussed recent advances of blockchain and its applications as well as providing some suggestions for some specific research topics.In this section, we make further conclusions and more general foresight of future academic or industry work on Blockchain.
Blockchain systems are constructed upon peer-to-peer networks, where smart contracts and consensus mechanisms are enforced on every participants to achieve transparency.Some consensus mechanisms, especially Proof-of-Work and its variants, will consume notable computation  Another obstacle to the adoption of blockchain technology is the scalability issue.In other words, the transaction throughput, the transaction processing latency and the storage cost of blockchain can not all satisfy the demands of many use cases.We have mentioned many remarkable works above that improves the scalability.Efficient consensus mechanisms, such as PoS, DPoS and community-wise consensus mechanisms are developed to package transactions into blocks in much shorter time than PoW.In order to mitigate the total storage consumption meanwhile to keep the robustness and tamper-proof ability, literature proposes blockchain sharding methods and storing actual data at external databases while only keeping the data index on blockchain.However, it is hard to achieve the perfect balance among three key properties: decentralization, security, and scalability [14].Most above-mentioned works are able to optimize one or two of them under given particular application scenarios, and only handful works are trying to optimize all three properties at the same time [92], which are still initial attempts under many constraints, such as only limited number of consensus mechanisms are considered and the block size is assumed to be only discrete numbers.New consensus mechanisms are highly demanded by optimizing all three properties under much more general settings and use cases.
The industry is no doubt a critical rule in the adoption of blockchain technology from theory to practice.The main concern of companies to adopt blockchain in IoT services, healthcare systems or supply chain systems is if blockchain will bring more profit than the cost to build it.The cost of blockchain technology are seldom analyzed in existing literature.We have mentioned several works that theoretically analyze the potential benefits and cost of blockchain in supply chain [208], [225], [226].Further extensive research can be done in many other applications such as IoT, edge computing and healthcare.In addition, blockchain simulation tools are highly desired for helping evaluate the performance of blockchains system, which provides intuitive results for industry to understand the performance and cost of blockchain systems.
Apparently, lower the cost of blockchain will promote the adoption of blockchain in industry.The cost to build a blockchain generally comes from the development of blockchain client for each working node, the computation resource to perform consensus mechanism, the storage resource to store the blocks and the cost of incentive mechanism to reward working nodes if necessary.The cost for developing blockchain client is mostly decided by software engineering market price.Therefore better consensus mechanisms and corresponding incentive mechanism take great weights in lowering the cost for blockchain industry.
Blockchain is a third-party free, non-trust built, distributed data management approach.The adoption of blockchain technology not only brings benefits, but also potential risks and security weakness due to anonymity.Though most popular consensus mechanisms are proved able to resist dishonest users when the ratio is under 51% or 1/3, the resistance to cyber-security attacks such as registration attack, data leakage and encryption break-through is still a question.Different from the most famous successful blockchain system such as Bitcoin and Ethereum which run on high-end computers, the blockchain applications in IoT, edge computing, healthcare and supply chain usually involves tremendous edge devices, such as mobile smart phones, IoT smart devices or network access points, which can be easily compromised.Future academy and industry may work together to study those external cyber-security attacks in blockchain systems.
In many existing blockchain-enabled applications, we found that blockchain serves as an external distributed storage approach to simply replace the traditional storage instead of being specially designed to be integrated into application logistics.In this architecture, blockchain assists computation server by providing authentication control, data indexing, system logging without defining specific consensus mechanisms and incentive mechanisms.In other words, the participants or peers in the blockchain can not actively compute and generate data, while only passively take the data given by the computation server.Some works take On-chain/Off-chain architecture for their applications as illustrated in Figure 6, that uses blockchain for making important consensus and storing important system logs or transaction, while still keeps the logistics and massive data on off-chain devices.Though this architecture is good for alleviating consumption of blockchain system in term of computation and storage resources, the blockchain does not directly participate in system logistics.We believe the blockchain-enabled applications can put more functions on blockchain through smart contracts to decentralize the computation power and take full advantages of blockchain technology.
It is also worth-mentioning that the advantages of blockchain are not necessarily the benefits for applications sometimes.For example, blockchain is tamper-proof, that everything stored on blockchain can never be modified or deleted in anyway, otherwise the chain rule will be broken due to the uniqueness of block hash.For the application of social network, it is common that people can leave the social network and need to erase all the social records.However blockchain-enabled social networks are hard to achieve this as long as there is any data of users stored on blockchain.Another example is that blockchain is decentralized that ideally requires every participants to store the full copy of blockchain.However, in real world, many use cases mentioned above can not satisfy the ideal situation that the storage cost will soon become unaffordable if the blockchain stores all data.In addition, in some use cases, such as healthcare, it is not always secure to allow everyone holds full copy of data, since some sensitive information of patients may not be supposed to be accessible to some particular parties.We suggest future work may develop variants of current popular blockchain systems to meet the demands of particular use cases.

CONCLUSION
In this paper, we created an overview picture of blockchain ecosystem by reviewing the recent advances of blockchain technology as well as the most active blockchain applications overlapped with each other.With the steep expanding of the whole blockchain ecosystem, it is of great meaning to review the development in the most noticeable parts in the ecosystem.We first reviewed the recent studies on general blockchain technology, then the blockchain-enabled applications, including IoT, IoV, edge computing, federated learning, healthcare, COVID-19, social network and supply chain.With the extensive review, we suggested several foreseeing problems for future developments of blockchain ecosystem, including the dilemma to achieve balance among scalability, security, dencentrality and cost, the external security risks outside blockchain from cyber-attack in industry, the ignorance of blockchain smart contracts and the unexpected disadvantages caused by blockchain inevitable properties.This paper toward weaving the core part of current blockchain ecosystem from both academic research to frontier industry applications.Therefore we expect this survey could be helpful for future researchers developing more and better blockchain-enabled applications.
Consensus, Registration Management, Access control Small-volume Data/Data Hash/Data Index, Transactions, System logs Devices, Data Collection/Exchange/Computing, Huge-volume data storage, Performing whole system logistics