Ugwu Okechukwu Emmanuel
Abstract
The Blockchain is the newest and perspective technology in modern economy. A blockchain is essentially a distributed database of records or public ledger of all transactions or digital events that have been executed and shared among participating parties. It provides provenance, immutability and finality for the transfer of value within a business network. - It enables value exchange in real time, reducing costs and errors. Based on a network consensus approach, whereby trust between the parties involved in a transaction is provided by cryptography. This paper aims to show brief overview of Blockchain Technology, applications and have discussed limitations in the perspective of future research on security in fanatical transaction.
INTRODUCTION
Blockchain is one of the booming words in the field of computer technology, which has the power to change the lives of people as the Internet did in the past twenty years. Blockchain is ready to make a big impact on the lives of people if we adhere to this technology. It is a fundamental and parallel part to the Internet and not just a use case like emails, e-commerce, etc. When people hear the term blockchain many come to a conclusion that it deals mainly with cryptocurrency and Bitcoin but it is not all about that (Chen et al., 2018).
The cryptocurrency and Bitcoin can be compared to email where the backbone technology behind it is the internet. As such, blockchain is a technology. Blockchain can be broadly described as a digital form of the ledger where you can store whatever data you want and then later access it through the hash value you received. It’s just like the acknowledgment number you get when you produce some documents (Sambra et al., 2016). Consider a scenario where some person needs to send money to person who lives in a different country; it takes at least 5-6 working days to transfer the money because we have middle parties like banks which require time to process it. When it comes to blockchain we have an immutable universal ledger where it stores transaction details of all the individuals in a block. When a transaction is made it adds a new block into the existing set of blocks in the system which is authenticated by everyone. When it comes to security it uses the best cryptographic algorithms and is difficult to hack. It uses the SHA-256 algorithm to keep the hash value secured. When a hacker tries to hack a blockchain system, first of all, he needs computation power of more than 50% of the supercomputer in the word and he also needs to change all the blocks because they are cryptographically linked to each other; moreover, the blocks reside in a distributed node and every time it checks with other nodes to see whether they possess the same details which are based on the consensus protocol. As it is a collection of chained blocks you can trace back to the transactions that have occurred by going back block by block. They also have originated smart contracts which are the logic built into most blockchains, where when an event happens it triggers another event (Wichtlhuber et al., 2017).
Finally, all the blocks are not owned by anyone like a bank or any trusted authority. The blockchain is owned by all of us and to maintain it we need resources, electricity, computing power, time, money, etc. So for the people who maintained all these resources, in 2008 Satoshi Nakamoto introduced the concept of Bitcoins to give them as incentives, and the persons who looked after the blockchain mined it and hence they were called miners. In this blockchain the word TRUST plays an important role. Consider an example of a party where ten people put in a thousand rupees each and draw one name from the box; this lucky person will get the entire amount. Here, it is the trust between all ten people which works like a blockchain and brings the trust from a centralized to decentralized platform (Dai et al., 2017).
The blockchain works on the following four major features
1. Consensus
2. Security
3. Provenance
4. Trust
Blockchain is making its way into many sectors like agriculture, power production,
education, banking, voting and many more. Consider the example of power production
where if you have solar panels installed in your home and if you produce electricity, the
excess can be sent to others and in turn you get money through Blockchain; and where we
can have the IoT also being used with it. Basically, blockchain comes into the picture when
you can prevent data hoaxes and establish trust in the distributed network. The internet
has solved many more problems like information searches (Google, Yahoo), distribution
(YouTube, Amazon Prime, Netflix) and communication (email, chat applications) but it
has not solved two major problems, which are trust and intermediation. On the internet,
we find fake news and fake profiles which are not to be trusted; and in intermediaries, the
big companies like Google, Amazon, Facebook, etc., have acquired the market and are
not open to all, which means there is a middleman between producer and consumer. But
with the advent of Blockchain, we can solve all these problems and bring back a trusted
environment.
CHAPTER TWO
LITERATURE REVIEW
The concept of blockchain was first introduced by Stuart Haber and W. Scott Stornetta while they were trying to build a system in which document timestamps could not be modified. This was later implemented in the year 2008 by Satoshi Nakamoto, whose real identity is still unknown. Blockchain can be defined as a growing list of records called blocks, which are linked and stored using cryptography. The first block of the chain is referred to as the genesis
block (Nakamoto, 2008).
Elements in Blockchain Technology
Blockchain introduces elements which can be found to all of its application. Basically, the network of Blockchain runs through its nodes and inside the node, blocks can be found. The following are the elements in Blockchain:
Node:
The function of the node is to permanently store the information across the network making it decentralized. This is very different from the banking system which is centralized. Node also performs activity like initiating and validating a transaction and/or perform mining. All nodes are trusted in sharing the platform and provided with latest copy of the Blockchain. This system makes all information, located inside the block, consistent across the network and prevents single-point-of-failure which is a problem for a centralized network.
Block:
Block is where valid transactions are theoretically stored because of a distributed ledger system. It is usually located inside the node here new and existing transactions are validated and broadcasted across the network of nodes. Transactions are grouped depending on the time frame in which they occurred and stored inside the block. When S. Nakamoto first proposed the Bitcoin in 2008, the author stated that about 500 transactions or 1 MB can fit inside a block. But today, the block can grow up to 8MB. Basically, block is divided into 2 parts, the title and the information or content, block header which contains majority of the information like the hash value from the previous block, the merkle tree, the date of transaction and the degree of difficulty (Chen et al., 2018).
Each and every block will have the following details in it:
1. Data: String of characters stored.
2. Nonce: A unique number related to mining.
3. Previous hash: Hash value of a block that came before the current block. This field establishes the cryptographic link with the subsequent block.
4. Hash: Fingerprint of some amount of data stored in the block.
The concept of blockchain can be understood with the help of the following:
1. Hash Cryptography
2. Immutable Ledger
3. Distributed P2P Network
4. Mining
5. Consensus Protocol
Hash Cryptography
Each and every human being in this world will have a unique fingerprint and there exists a
very minimal chance, i.e., one in 60 million, for this to be the same. Similarly, the digital
document like an operating system, video, etc., can be identified uniquely with the hash
value calculated using the SHA-256 algorithm [5]. This was first developed by the National
Security Agency (NSA):
SHA stands for secure hash algorithm, 256 is the total number of bits consumed in the memory.
The requirements for any hash algorithm are as stated below:
1. One-way: Every digital document will have a hash value associated with it. This can
be retrieved through the digital document but the reverse cannot be achieved.
2. Deterministic: Every digital document will have a unique hash value generated by a hashing algorithm which will remain the same until the file content is not changed.
3. Fast computation: The hash value generation should be instantaneous and must not be sluggish.
4. Avalanche effect: Any change in the input file causes a radical change in the hash
value generated previously.
5. Must withstand collisions: If a hash function generates the same value for two digital
documents, this is referred to as collisions. Data integrity makes it obligatory that
such collisions are prevented.
Immutability:
Immutability refers to anything and everything that cannot be changed once recorded. For example, a mail sent to a bunch of people cannot be reversed. An additional field called timestamp is stored inside the block when a transaction is approved and appended onto the blockchain. If anyone tries to alter the data in a block the cryptographic link is broken (Sambra et al., 2016).
This helps us to recognize the precise section of the chain where the data is manipulated. Thus, one has to compute the previous hash value of the entire chain again to restore the link. It requires a lot of computational power in order to do so. Therefore, making sure that the data stored is resistant to any kind of alterations. This feature is not available in the earlier databases which only provide an option to delete or modify records. Moreover, blockchains sustain the entire history and data path of any application. This acts as a backbone for any auditing process. Preserving a full historical record is not only a blessing for auditing, but also provides new chances in the query, analytics, and overall business processes (Bartoletti et al., 2017)
Distributed P2P Network
The backbone of blockchain methodology is formed by P2P network architecture. This policy authorizes us to remove the dependency on a central decision-making source called a server (Dai et al., 2017). The user has to completely trust networks and hope they don’t have a back-door to quietly read or manipulate the reports. Also, one should hope that they don’t go out of business and shut down their servers. The nodes comprising tablets, routers, etc., inter-act and share data directly with one another; thus, distributing all the data across all nodes in the grid rather than using a server. All the nodes in the network will have a copy of the blockchain, thereby making it completely impossible for anyone to modify any value in the chain (Wichtlhuber et al., 2017).
Hypothetically, all these nodes are joined via a path. None of the nodes have precise knowledge about the network topology and merely reroute messages to the designated node. Members of the P2P network share the resources between other members, including bandwidth, disk storage, etc. This is accomplished with the help of minimum resource contribution threshold defined for all peers in the network. The peer-to-peer net-work enables us to solve all the obstacles faced in client-server architecture, i.e., single source of failure and scalability, efficiently (Wright and Serguieva, 2017).
Mining
This term picked up steam due to the recent surge of Bitcoin. It can be defined as the process of adding new transactions to the distributed system by predicting the value of the nonce such that the hash value generated is less than the target range. Miners compete against each other to figure out a hash value by solving a mathematical problem and receive a reward in terms of tokens or transaction fees. One of the solutions or mining algorithm used is proof-of-work (Kokoris-Kogias et al., 2018).
This acts like a testament that the miner spent a substantial bulk of time and resources to figure out the solution to the problem. The miner needs to wait a while before his transaction is confirmed and added to the block. Afterward, the reward is credited to the miner. Going by the trend, the amount associated with a block mined decreases by half every 210,000 blocks. The decrease in the amount credited is evened up by the increase in the transaction fees. Subsequently, no new coins are generated or issued.
Consensus Protocol
Blockchain consensus protocol creates an indisputable system of understanding between various nodes across a distributed network. This permits us to keep all the nodes on the grid synchronized with one another (Dang et al., 2019). As a result of a distributed system, it becomes mandatory to maintain the same state of blockchain across the network. This is being challenged by two main factors:
a) Attackers: This nature of attack is prevalent when an attacker wants to disrupt the distributed chain by brute-force method. There are two probable ways in which the attacker can do it:
1. Adding a new block between the chain: Suppose the attacker adds a new block in between the blocks of the chain, then the entire cryptographic link will be broken. The chain on distribution will perceive that the chain that it contains is different from all the other copies in the network. Instantly, the node will recognize the same and replace the entire copy of the chain, thereby integrating the data across the grid.
2. Adding a new vicious block at the end of the chain: Each and every node performs a series of checks on the newly mined blocks before confirming it to the miner. During this process, if some node feels that the block is malicious, it will soon bring it to the notice of the network and necessary actions will be taken against it.
b) Competing chains: This problem arises when two nodes mine a block into the chain at approximately the same time. With a large number of nodes present in the distributed network, a conflict crops up with the development of two competing chains and it thereby becomes imperative to make a call (Poon and Buterin, 2017). The solution to this dilemma is achieved with the help of a simple notion, i.e., to accept the chain which will add the next block. Now, a lot depends on the hashing power of the nodes and whichever set of nodes has the higher power will have a greater possibility of mining the next block. The entire copy of the accepted chain among the competing chains is now relayed across the network to retrieve what is known as the orphan blocks. These are mostly blocks (enclosing the miner’s reward) now no longer a part of the chain (Wu, 2019). This forms the core of the blockchain technology to exist and function methodically.
Bitcoin
Bitcoin launched under the name Satoshi Nakamoto in 2008, is a digital currency which overcomes the inefficiency and greed of banks. Bitcoin’s nature is resilient to the encroachment of banks and governments. It uses P2P technology that operates under no central adversaries where transactions are approved mutually by the network participants (Benet, 2014).
Here, a private key protects the access to the money of an individual account, which is contradictory in the case of fiat currency. Additionally, the number of bitcoins minted is limited to 21 million, unlike traditional currency minted by authorized central banking agencies. Blockchain is the underlying technology that stores each transaction on Bitcoin network globally in a shared ledger which is verifiable, accessible and constantly updated by a global fleet of computers. Once a transaction is done, its details are globally recorded, which provides no means to reverse the transaction. At the same time, Bitcoin requires no identity of one’s personal information for participating in a network, thus it cannot be traced back to an individual until and unless he/she wishes to reveal it.
Ethereum
Ethereum is a decentralized, open-source, dynamic service that works on the properties of the blockchain. It was first introduced in 2013 through a white paper by Vitalik Buterin. This was obtained from the Bitcoin project which is primarily a tool intended towards monitoring transactions among people. He himself was an enthusiast of the Bitcoin project but firmly felt that this technology can be applied to diverse varieties of transactions (Chen et al., 2018). The core of Ethereum largely revolves around smart contracts. They are small blocks of code that reside in the blockchain meant for accomplishing a specific task. This system went online in July 2015 and continues to thrive even today. Its main aim is to develop a platform which runs on D Apps in order to create a more global, free and more mature internet, Web 3.0. Their intention is to give users and creators more control in developing their apps rather than the conglomerate. It runs on the same protocol as that of Bitcoin, proof of work (PoW), but the disadvantages are a 51% danger of attack and the enormous energy consumption required for the security. Thus, proof of stake (Chang et al., 2019) came into existence which works akin to PoW. Instead of nodes approval in the network, it makes use of token holders. N% of a block reward is received for N% of tokens (computing power in the case of PoW) for accounting on the network (Liu et al., 2017). The concept of Ethereum can be understood with the help of the following:
1. Ethereum Network
2. Interfacing with Ethereum
3. Ethereum Account
4. Transaction
Ethereum Network
The infrastructure of a decentralized network is made up of an assortment of nodes interacting with each other. The Ethereum network is largely related to the transfer of money and storage of data, thus permitting us to build diverse exciting applications. This is achieved with the help of a cryptocurrency called ether. This is similar to bitcoin and is responsible for fueling the Ethereum ecosystem. There exist many Ethereum networks, some of which are:
1. Main Network: Production applications are deployed here so that they can be used by the user. It is in this network that ether coins have real value and can be turned into U.S. dollars.
2. Rinkeby, Kovan, Ropsten Test Network: These provide us with free ether coins to test code and contracts before deploying them to the main network.
3. JSON RPC API: This allows us to connect to the local Ethereum test network which runs at “localhost” on port 8445.
Interfacing with Ethereum
Interfacing refers to the process of interacting with the network. This can be accomplished in two ways:
1. Web3 library: This is an API predominantly used by the developers to interact with the network. It enables the performance of numerous operations like creating smart contracts, sending ethers, etc. It communicates with the blockchain through JSON RPC and ensures that it is communicating with only one node in the distributed P2Pnetwork.
2. Meta Mask: This is a browser extension used by users to interface with the network. Normally, it is preferred by users who do not have previous knowledge of Ethereum.
Ethereum Network Transactions
Any sort of transaction in the Ethereum network should possess a Meta Mask account and some ethers in it. If the user makes an order, they will automatically be redirected to a payment gateway to confirm and pay with ethers. Upon confirmation, their balance is checked in the back-end server to confirm whether it meets the appropriate requirements or not. If the requirements are met then the transaction of ethers will take place. When the user pushes the submit button, it sends the ethereum address to the back-end server for validation. Then the back-end server uses the web3 library to create a transaction object. For demo purposes, the researchers use the test networks while in the real world it is done in the main network. After a successful transaction, the back-end server pushes the success message onto the user screen. The user needs to wait for a few seconds as the transaction object generated needs to be added to the network. This will be approved by the miners by randomly generating a nonce value and is added as a new block in the network. The block will have a unique hash value assigned to it and thus data integrity is ensured.
InterPlanetary File System (IPFS)
The HTTP fails to merge with the modern file distribution techniques recently invented. Without affecting the current network the upgrades are nearly impossible because of the large involvement of the present HTTP model and the web. To overcome these challenges, IPFS network works on distributed peer-to-peer network which has a similar file data structure called Merkle DAG. IPFS works in a manner similar to BitTorrent where bitswap protocol is used. Clients can set their own Bitswap strategies using Bitswap protocol. A Bitswap strategy tells a node how it should request and send blocks to/from its peers. Through the collective use of distributed technologies, IPFS enables a unique file and data sharing in a decentralized fashion. IPFS has its file-system or directories mounted globally and provides high performance and cluster persistence, which is enough to store and organize the world’s information (Benet, 2014)
IPFS as the distributed web also offers features like:
Content Addressing:
The addressing data in IPFS is performed by addressing the content of the file or document in the network rather than addressing location where the addressing is different, which is performed using IP addresses. The IPFS address resolves the IPFS objects, the entities present which contain a list of links and content data which is being addressed. When the large files are added to IPFS, the file is decomposed into much smaller representation of data and stored into an array of links that points to the broken pieces of the original data. This type of addressing ensures that a particular address will always result in querying the same file. Content addressing also has an advantage over the content hosted by a node where the content can be retrieved from the IPFS network as long as the file is hosted in the network. Thus, a single copy of a file is enough to retrieve a file from the network.
Distributed Hash Table (DHT):
The DHT is the database distributed over a network which can be used to store data in terms of key/value pairs in a peer-to-peer network consisting of nodes. The distributed hash table has the mechanism of fault tolerance triggered when key/value pairs are duplicated or not accessible in the network. To evenly share the information across the network, DHT uses the concept of hashing where a hash function that serves as a randomized function accepts keys. Since DHT nodes don’t store all the data, routing layer has to perform the necessary function which enables a client to contact other peers in the network that stores the certain key which then can be used to retrieve the value and access the content. The two routing protocols that are significantly used in the routing layer in DHT are iterative lookup and recursive lookup, which are classified on the manner in which they process a complete request.
Versioned File System:
IPFS allows a versioned file system that is made use of in Git versioning which enables maintaining different versions of the same file and can be easily traced to the original file using commit objects. The commit object in the versioned file system has links to name ID which points to last committed object, and also the link which contains the object which points to the globally mounted file directory which is started by that commit.
Decentralized Applications (DApps)
Decentralized applications are completely open-source applications that work entirely on the smart contract code run on the blockchain. They are a type of software program de-signed to exist in such a way that is not controlled by any single entity but instead controlled by blocks of code known as smart contracts. DApps uses decentralized storage to store data and code. Decentralized application is a blockchain-based app, where the smart contract is what allows it to connect to the blockchain (Buterin, 2017).
LIMITATIONS OF BLOCKCHAIN TECHNOLOGY
Users find it hard to adjust or test a new concept or a new technology. The process of testing new technology is normally cumbersome to new user. Some new user sees crypto currencies as scam.
Large energy consumption: Crypto currencies platform miners are over 500 thousand trillion transactions per day, validation and verification of transaction, speed and data limitation becomes a problem,
Government policy: Government policy can hamper blockchain adoption and usage. Some government might come up with unfriendly regulation and sanctions
Integration problem: Existing financial institution might slow down the adoption of blockchain technology because government policies
Cost effectiveness: The initial pricing of crypto currencies discourages maiden investor.
CONCLUSION
The advent of blockchain technology has changed the lives of people, giving it a new dimension. It has changed the perspective of viewing things on the web and has been more user-centric and user-friendly. With its wide range of technology, blockchain has provided more data security, as mentioned in the above topics about how it works, its hashing algorithms, its security parameters and so on. In addition, it has a wide diversity in controlling the cybercrimes occurring in the world and also solves the problem of data breach and money- and property-related issues. With this, sectors like digital advertising, cybersecurity, forecasting, supply chain management, IoT, and networking have a fantastic future. Blockchain also has a wide perspective of the new occupations emerging industry. With this, we can transform the whole world into a much smaller place. In a client-server architecture, users experience a single point of failure, and even it is prone to attacks; therefore, to provide a better solution to prevent these attacks the use of distributed network improves the efficiency of the system and provides more security to the system.
The transactional activities can be performed much faster and efficiently using blockchain. Blockchain technology is going to be used in many more sectors in the future, such as in government systems, as these systems are slow, dense, and likely to be affected by corruption. Implementing blockchain technology in government systems can make their operations much more secure and efficient. Even though storing data on a blockchain is a slow and expensive process, in certain cases its benefits outweigh the cost, and in the future the Ethereum network will be faster and cheaper. The blockchain technology provides a sustainable and efficient method to the existing service structures whereas some other methods underperform and have unreliable security. Blockchain is in its early phase where experiments are performed on existing systems by developers working on reducing the cost and making user activities faster. Their support is limited in terms of computing power and the number of nodes within the network is small. Currently solutions are usually designed to address where solutions are made by the decentralized system. Coin offerings made by blockchain technology implemented using smart contract can deliver high proposition value to the solution over a decentralized network where each and every node will have equal importance and control over the decisions made by the system. In the future, real power is empowered by smart contract where advanced technologies will enable transactions at a faster rate. Satoshi Nakamoto’s paper titled “Bitcoin: A Peer-to-Peer Electronic Cash System,” was published in October 2008 and released in January 2009, which was a clear sign of the disruption of the financial and banking sectors to come. With an effective solution but limiting technology, it seemed too unlikely to have drawbacks to succeed and fully implement. With the exception of financial sectors, healthcare, supply chains and governments look forward to implementing game-changing results.
Companies acting as a middleman to conduct business can be eliminated using this technology. Thus, they are looking forward to utilizing blockchain technology to remove central authority over the network. Blockchain technology enables transformative change but it will take time to solve existing challenges with user scalability and complexity in transaction processing systems. Thus, blockchain technology can be imagined as the ozone layer in the atmosphere whose presence can stop many malicious activities in the field of computer technology by acting as a protective shield to the users’ data against the attackers.
REFERENCES
1. Buterin, V. (2017), A next-generation smart contract and decentralized application platform, Ethereum White Paper.
2. Aung, Y. N., & Tantidham, T. (2017, November). Review of Ethereum: Smart home case study. In 2017 2nd International Conference on Information Technology (INCIT) (pp. 1-4). IEEE. https://doi.org/10.1109/incit.2017.8257877
3. Yavuz, E., Koc, A. K., Cabuk, U. C., & Dalkilic, G. (2018, March). Towards secure e-voting using ethereum blockchain. In 2018 6th International Symposium on Digital Forensic and Security (ISDFS) (pp. 1-7). IEEE. https://doi.org/10.1109/isdfs.2018.83553404. Dinh, T. N., & Thai, M. T. (2018). AI and blockchain: A disruptive integration. Computer,51(9), 48-53. https://doi.org/10.1109/mc.2018.3620971
5. Ming, Z., Yang, S., Li, Q., Wang, D., Xu, M., Xu, K., & Cui, L. Blockcloud: A Blockchain-based Service-centric Network Stack.
6. Ehmke, C., Wessling, F., & Friedrich, C. M. (2018, May). Proof-of-property: a lightweight and scalable blockchain protocol. In Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (pp. 48-51). ACM.
7. Sambra, A., Guy, A., Capadisli, S., & Greco, N. (2016, April). Building decentralized appli-cations for the social Web. In Proceedings of the 25th International Conference Companion on World Wide Web (pp. 1033-1034). International World Wide Web Conferences Steering Committee. http://dx.doi.org/10.1145/2872518.2891060
8. Dinh, T. T. A., Liu, R., Zhang, M., Chen, G., Ooi, B. C., & Wang, J. (2018). Untangling blockchain: A data processing view of blockchain systems. IEEE Transactions on Knowledge and Data Engineering, 30(7), 1366-1385. https://doi.org/10.1109/tkde.2017.2781227
9. Bartoletti, M., Lande, S., Pompianu, L., & Bracciali, A. (2017, December). A general frame-work for blockchain analytics. In Proceedings of the 1st Workshop on Scalable and ResilientInfrastructures for Distributed Ledgers (p. 7). ACM. https://doi.org/10.1145/3152824.3152831
10. Wichtlhuber, M., Heise, P., Scheurich, B., & Hausheer, D. (2013, October). Reciprocity with virtual nodes: Supporting mobile peers in Peer-to-Peer content distribution. In Proceedings of the 9th International Conference on Network and Service Management (CNSM 2013) (pp.406-409). IEEE. https://doi.org/10.1109/cnsm.2013.6727866
11. Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system, http://bitcoin. org/bit-coin. pdf.
12. Dai, P., Mahi, N., Earls, J., & Norta, A. (2017). Smart-contract value-transfer protocols on a distributed mobile application platform. URL: https://qtum.org/uploads/files/cf6d69348ca50dd985b60425ccf282f3.pdf, 10.
13. Wright, C., & Serguieva, A. (2017, December). Sustainable blockchain-enabled services: Smart contracts. In 2017 IEEE International Conference on Big Data (Big Data) (pp. 4255-4264). IEEE. https://doi.org/10.1109/bigdata.2017.8258452
14. Eyal, I., Gencer, A. E., Sirer, E. G., & Van Renesse, R. (2016). Bitcoin-ng: A scalable blockchain protocol. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16) (pp. 45-59).
15. Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., & Ford, B. (2018). Omni Ledger. A secure, scale-out, decentralized ledger via sharding. In IEEE Symposium on Security and Privacy (SP), IEEE. https://doi.org/10.1109/sp.2018.000-5
16. Dang, H., Dinh, T. T. A., Loghin, D., Chang, E. C., Lin, Q., & Ooi, B. C. (2019, June). Towards scaling blockchain systems via sharding. In Proceedings of the 2019 International Conference on Management of Data (pp. 123-140). ACM. https://doi.org/10.1145/3299869.3319889
17. Poon, J., & Buterin, V. (2017). Plasma: Scalable autonomous smart contracts. White paper,1-47. http://plasma.io/plasma.pdf.
18. Wu, K. (2019). An Empirical Study of Blockchain-based Decentralized Applications. arXivpreprint arXiv:1902.04969. https://doi.org/10.3390/computers8030057
19. Chang, J., Gao, B., Xiao, H., Sun, J., Cai, Y., & Yang, Z. (2019). sCompile: Critical Path Identification and Analysis for Smart Contracts. Lecture Notes in Computer Science, 286-304.https://doi.org/10.1007/978-3-030-32409-4 18
20. Chen, W., Zheng, Z., Cui, J., Ngai, E., Zheng, P., & Zhou, Y. (2018, April). Detecting Ponzi schemes on ethereum: Towards healthier blockchain technology. In Proceedings of the 2018World Wide Web Conference (pp. 1409-1418). International World Wide Web Conferences Steering Committee. https://doi.org/10.1145/3178876.3186046
21. Liu, B., Yu, X. L., Chen, S., Xu, X., & Zhu, L. (2017, June). Blockchain based data integrity service framework for IoT data. In 2017 IEEE International Conference on Web Ser-vices (ICWS) (pp. 468-475). IEEE. https://doi.org/10.1109/icws.2017.54
22. Benet, J. (2014). Ipfs-content addressed, versioned, p2p file system. arXiv preprintarXiv:1407.3561