The provenance (tracing) system of agricultural products is important for ensuring food safety. However, the stakeholders (growers, farmers, sellers etc.) are numerous and physically dispersed, making it difficult to manage data and information with a centralized approach. As a result, the production procedure remains non-transparent and trust is hard to build. In this paper, we propose an agricultural provenance system based on techniques of blockchain, which is featured by decentralization, collective maintenance, consensus trust and reliable data, in order to solve the trust crisis in product supply chain. Recorded information includes the management operations (fertilizing, irrigation, etc.) with certain data structure. Applying blockchain techniques to the provenance of agricultural product not only widens the application domain of blockchain, but also supports building a reliable community among different stakeholders around agriculture production.
Distributed ledger technologies, such as blockchain systems, have in recent years emerged as promising platforms for machine-to-machine commerce and other forms of multi-stakeholder applications. However, despite the potential demonstrated by projects such as Bitcoin, Ethereum, and Hyperledger Fabric, the disk space typically required to host a copy of a ledger may be prohibitively large for many categories of devices. In this paper, we introduce an approach for reducing ledger size in blockchain systems, based on arbitrary pruning predicate functions, allowing each network participant to independently select and remove any already applied transactions. We also show that if only pruning certain ledger transactions, the ability to derive an unmodified state data structure from the remaining transactions is maintained. The approach is validated through a supply chain use case utilizing a modified version of Hyperledger Fabric, in which ledger size is reduced by about 84.49% via selective transaction pruning.
Bitcoin is a novel protocol with the potential of enabling a decentralized and trustless cryptographic currency, and its underlying technology named blockchain operates on a worldwide basis via a complex set of rules originally proposed by Nakomoto in 2008. In Bitcoin blockchain, miners provide computational services (i.e. mining) to get profits from the fixed rewards of newly found block and also transaction fees from recording the users’ transactions to the blocks. With the decreasing of the fixed new block reward, transaction fees will play the role as the main profit source of miners, thus provide important supports for the sustainability and vitality of the Bitcoin system. Therefore, it is of great necessity to research transaction fees. In this paper, we investigate transaction fees in a queuing game with non-preemptive priority, in which both the miners’ mining rewards and the users’ time cost are highlighted. Then, we conduct theoretical analysis of the game, getting five types of Nash equilibria of the game. We also find that the over-long waiting time will bring negative marginal profits on transaction fees to some users with low time cost, therefore, they will not be willing to offer transaction fees.
Paul Ezhilchelvan, Amjad Aldweesh, Aad van Moorsel
Summary The two‐phase commit (2PC) protocol has long been known to have a provably inevitable vulnerability to blocking or non‐progress amidst server crashes, even when the distributed database system guarantees the most demanding timing‐related or “synchrony” requirements. Our aim here is to eliminate this vulnerability by using a blockchain for coordinating 2PC execution. We present the impossibilities, the possibilities, the cost, and the trade‐offs in this blockchain‐based approach to blocking‐free management of distributed transactions. We prove that a non‐blocking and blockchain‐coordinated 2PC protocol can exist only if both the blockchain and distributed database systems meet synchrony requirements; otherwise, although blocking remains eliminated, transactions can unnecessarily abort. We present a blockchain‐coordinated 2PC protocol and provide rigorous arguments for its correctness under the synchrony requirements. We then implement this protocol on the Ethereum Testnet and demonstrate, through our experiments, that the monetary cost of executing smart contracts is quite small, that the protocol performance slows down when using a public blockchain like Ethereum, and that even major violations of synchrony requirements lead only to relatively small increases in unnecessary aborts. We thus identify a trade‐off between improving protocol performance and admitting a risk that transactions could occasionally abort unnecessarily.
Recently, public interest in the blockchain technology has surged and various applications based on the technology have emerged. However, there has been little study on architectural evaluations of popular block chain platforms that can help the developers choose an appropriate architecture matching their needs. In this paper, we reconstruct and evaluate the architecture of Hyperledger and Ethereum, which are representative open source platforms for blockchain. The evaluation results indicate that Hyperledger is strong in modifiability and performance whereas Ethereum is better in security.
Florian Wessling, Christopher Ehmke, Marc Hesenius, Volker Gruhn
Adding blockchain technology to existing systems instead of building them from the ground up poses several challenges. It is difficult to find out which attributes of blockchains are important for a given use case (e.g. immutable, trustless, anonymous) and to decide which elements of an architecture should employ blockchain technologies. Current approaches generally only give a hint on whether blockchain technology makes sense for a given use case or not. This paper proposes a more fine-grained approach to decide which elements of an application architecture could benefit from the use of blockchain technology. We illustrate the first outline of our approach which identifies participants, their trust relations and interactions to derive a hybrid architecture (i.e., an architecture embedding blockchain technology in existing software systems or creating new systems using blockchain only in certain parts).
Even though blockchain is mostly popular for its cryptocurrency, smart contracts have become a very prominent blockchain application. Smart contracts are like classes that can be called by client applications outside the blockchain. Therefore it is possible to develop blockchain-oriented software (BOS) that implements part of the business logic in the blockchain by using smart contracts. Currently, there is no design standard to model BOS. Since modeling is an important part of designing a software, developers may struggle to plan their BOS. In this paper, we show three complementary modeling approaches based on well-known software engineering models and apply them to a BOS example. Our goal is to start the discussion on specialized blockchain modeling notations.
Blockchain systems, with the characteristics of decentralization, irreversibility and traceability, have attracted a lot of attentions recently. However, the current performance of blockchain is poor, which becomes a major constraint of its applications. Additionally, different blockchain systems lack standard performance monitoring approach which can automatically adapt to different systems and provide detailed and real-time performance information. To solve this problem, we propose overall performance metrics and detailed performance metrics for the users to know the exact performance in different stages of the blockchain. Then we propose a performance monitoring framework with a log-based method. It has advantages of lower overhead, more details, and better scalability than the previous performance monitoring approaches. Finally we implement the framework to monitor four well-known blockchain systems, using a set of 1,000 open-source smart contracts. The experimental results show that our framework can make detailed and real-time performance monitoring of blockchain systems. We also provide some suggestions for the future development of blockchain systems.
This review focuses on the evolution of cloud computing and distributed ledger technologies (blockchains) over the last decade. Cloud computing relies mainly on a conceptually centralized service provisioning model, while blockchain technologies originate from a peer-to-peer and a completely distributed approach. Still, noteworthy commonalities between both approaches are often overlooked by researchers. Therefore, to the best of the authors knowledge, this paper reviews both domains in parallel for the first time. We conclude that both approaches have advantages and disadvantages. The advantages of centralized service provisioning approaches are often the disadvantages of distributed ledger approaches and vice versa. It is obviously an interesting question whether both approaches could be combined in a way that the advantages can be added while the disadvantages could be avoided. We derive a software stack that could build the foundation unifying the best of these two worlds and that would avoid existing shortcomings like vendor lock-in, some security problems, and inherent platform dependencies.
Chenhan Xu, Kun Wang, Guoliang Xu, Peng Li · 6 authors
With the emergence of edge computing in various applications domains, end users are now surrounded by a fast growing volume of data from edge devices belonging to different stakeholders. However, these edge devices cannot cooperate to share big data because of the distrust among them. In this paper, the blockchain is deployed in collaborative edges by exploiting the non-repudiation and non-tampering properties to enable trust. First, we develop a blockchain based big data sharing framework in collaborative edges for adapting to the limited computational and storage resources in edge devices. Then, a consensus mechanism called Proof-of-Collaboration (PoC) is proposed for computational resources reduction in our proposed framework, where edge devices offer their credits of PoC to compete for the block generation. Moreover, we put forward a futile transaction filter algorithm for transaction offloading, greatly reducing the storage resources occupied by the blockchain in edges. Extensive experiments are performed to demonstrate the superior performance of our proposal.
In today’s world, everything is transforming to digital forms. These yield large amount of data. A good analysis of these data can lead to new knowledge about the present situation as well as the future insight. While many advantages could be obtained from these large data, the issue on how to run the Machine Learning on a large dataset as effective and efficient as possible remains an open problem. In this paper, data processing simulation using machine learning algorithm ofLinear Regression is conducted to learn from Bitcoin trading dataset. The simulation is carried out in Apache Spark cluster architecture and GPU. The running time and error of the algorithm implementation in both architectures are compared with each other. The simulation results show similar error performance between Apache Spark cluster and GPU. Yet, Apache Spark can run the simulation faster than GPU.
Blockchain has received much attention in recent years. This immense popularity has raised a number of concerns, scalability of blockchain systems being a common one. In this paper, we seek to understand how Ethereum, a well-established blockchain system, would respond to sharding. Sharding is a prevalent technique to increase the scalability of distributed systems. To understand how sharding would affect Ethereum, we model Ethereum blockchain as a graph and evaluate five methods to partition the graph. We analyze the results using three metrics: the balance among shards, the number of transactions that would involve multiple shards, and the amount of data that would be relocated across shards upon a repartitioning of the system.
Blockchain technology enables the creation of a decentralized environment, where transactions and data are not under the control of any third party organization. Any transaction ever completed is recorded in a public ledger in a verifiable, secure, transparent and permanent way, with a timestamp and other details. Introduced in 2009 as the core mechanism for the Bitcoin cryptocurrency and its worldwide payment system, blockchain has had many applications in domains such as IoT, finance, business, management, health and education. Also new platforms and tools for blockchain implementation were developed. As education becomes more open, diversified, democratised, and decentralised, the blockchain technology is taken in consideration by researchers, teachers and institutions, to maintain reputation, trust in certification, and proof of learning. In the first part of the paper, we explore the blockchain technology. Next, existing global and governmental initiatives, together with potential applications of blockchain in different domains are presented. The need to learn about this emerging technology is demonstrated, together with pioneering cases in different universities. Then we propose a public blockchain called OpenEduChain, designed as a repository for open educational assets (Open Educational Resources - OERs, Massive Open Online Courses - MOOCs, open pedagogies and scenarios), but also to deliver issued certificates and open badges by universities and other educational and training institutions. At university level, OpenEduChain, implemented on Ethereum, is used to store data about the open educational items created by faculty members and students. Also digital certificates or open badges are provided to the participants in the trainings and workshops. After a period of tests, OpenEduChain usage could be extended at national level, but also for new purposes such as e-portfolios or assessment.
Proof-of-Stake systems randomly choose, on each round, one of the\nparticipants as a consensus leader that extends the chain with the next block\nsuch that the selection probability is proportional to the owned stake.\nHowever, distributed random number generation is notoriously difficult. Systems\nthat derive randomness from the previous blocks are completely insecure;\nsolutions that provide secure random selection are inefficient due to their\nhigh communication complexity; and approaches that balance security and\nperformance exhibit selection bias. When block creation is rewarded with new\nstake, even a minor bias can have a severe cumulative effect.\n In this paper, we propose Robust Round Robin, a new consensus scheme that\naddresses this selection problem. We create reliable long-term identities by\nbootstrapping from an existing infrastructure, such as Intel's SGX processors,\nor by mining them starting from an initial fair distribution. For leader\nselection we use a deterministic approach. On each round, we select a set of\nthe previously created identities as consensus leader candidates in round robin\nmanner. Because simple round-robin alone is vulnerable to attacks and offers\npoor liveness, we complement such deterministic selection policy with a\nlightweight endorsement mechanism that is an interactive protocol between the\nleader candidates and a small subset of other system participants. Our solution\nhas low good efficiency as it requires no expensive distributed randomness\ngeneration and it provides block creation fairness which is crucial in\ndeployments that reward it with new stake.\n
M. Harris Haseeb, K. Raja Sekhar, Y V. Spandana, M Syam
Block chain is a trust which can be best understood by the state machine replication, It is decentralized distributed ledger which is along all peers in the network connected through nodes over Internet. Every Node in the chain have equal stake and also the main factor is every node which have greater CPU cycles has a chance to operate node by spending those CPU cycles and also show Proof Of Work. Hence when the block chain is used in Business Models it loses its Private transactions and Confidential Contracts.
Holger Kinkelin, Valentin Hauner, Heiko Niedermayer, Georg Carle
Numerous IoT applications, like building automation or process control of\nindustrial sites, exist today. These applications inherently have a strong\nconnection to the physical world. Hence, IT security threats cannot only cause\nproblems like data leaks but also safety issues which might harm people.\nAttacks on IT systems are not only performed by outside attackers but also\ninsiders like administrators. For this reason, we present ongoing work on a\nconfiguration management system (CMS) that provides control over\nadministrators, restrains their rights, and enforces separation of concerns. We\nreach this goal by conducting a configuration management process that requires\nmulti-party authorization for critical configurations to achieve Byzantine\nfault tolerance against attacks and faults by administrators. Only after a\nconfiguration has been authorized by multiple experts, it is applied to the\ntargeted devices. For the whole configuration management process, our CMS\nguarantees accountability and traceability. Lastly, our system is\ntamper-resistant as we leverage Hyperledger Fabric, which provides a\ndistributed execution environment for our CMS and a blockchain-based\ndistributed ledger that we use to store the configurations. A beneficial side\neffect of this approach is that our CMS is also suitable to manage\nconfigurations for infrastructure shared across different organizations that do\nnot need to trust each other.\n
This paper provides the first comprehensive survey of methods for inserting arbitrary data into Bitcoin’s blockchain. Historical methods of data insertion are described, along with lesser-known techniques that are optimized for efficiency. Insertion methods are compared on the basis of efficiency, cost, convenience of data reconstruction, permanence, and potentially negative impact on the Bitcoin ecosystem.
IOTA is a revolutionary new, next generation public distributed ledger that utilizes a novel invention, called a “Tangle”, at its core. The Tangle is a new data structure based on a Directed Acyclic Graph (DAG). As such it has no Blocks, no Chain and also no Miners. Because of this radical new architecture, things in IOTA work quite differently compared to other Blockchains.
In this tutorial, I survey some of the private blockchain systems with respect to their architectures in general and their approaches to some specific technical areas. Specifically, I focus on how the functionality of traditional and modern data stores are being utilized or not utilized in the different blockchain systems.
Building blockchain-oriented applications forces developers to rethink the architecture of their software from the ground up. The use of blockchain technology poses multiple challenges as the software is operated in a decentralized, trustless, transparent and tamper-proof environment. When building decentralized apps the developers need to deal with blockchain properties such as decentralization, a certain delay in the execution of function calls of distributed code contracts and particularly need to consider how users interact with their application. We surveyed several existing decentralized apps and examined their architecture to identify multiple reoccurring architectural patterns, each with different implications regarding the trust, user experience and security. As building blockchain-oriented applications is gaining importance, models, tools and methods for blockchain-oriented software engineering have to be developed. This paper gives a first hint towards architectural patterns for blockchain-based applications and motivates why it is important to consider how the user interacts with the decentralized apps.
Wazen M. Shbair, Mathis Steichen, Jérôme François, Radu State
Conducting experiments to evaluate blockchain applications is a challenging task for developers, because there is a range of configuration parameters that control blockchain environment. Many public testnets (e.g. Rinkeby Ethereum) can be used for testing, however, we cannot adjust their parameters (e.g. Gas limit, Mining difficulty) to further the understanding of the application in question and of the employed blockchain. This paper proposes an easy to use orchestration framework over the Grid'5000 platform. Grid'5000 is a highly reconfigurable and controllable large-scale testbed. We developed a tool that facilitates nodes reservation, deployment and blockchain configuration over the Grid'5000 platform. In addition, our tool can fine-tune blockchain and network parameters before and between experiments. The proposed framework offers insights for private and consortium blockchain developers to identify performance bottlenecks and to assess the behavior of their applications in different circumstances.
The distributed ledger technology presents a very innovative and secure way of managing transactions online. Hailed as one of the greatest inventions after the Internet, blockchain is set to pioneer changes in the way businesses are conducted today through its promise of secure, tamper-proof, peer-to-peer decentralized networks with distributed consensus. These fundamental features built into the very fabric bring in a host of additional dimensions and present greater challenges in their testing. Not only are the technological changes significant, but also significant are changes from a business standpoint. A new wave of blockchain oriented software development is emerging at an unprecedented rate. This places an additional responsibility on the Quality Assurance teams to deliver first-time quality while minimizing the impact of testing on the teams delivery. This paper highlights the challenges currently faced in testing such applications. It also acknowledges the need to devise specialized tools and techniques for blockchain oriented software testing in order to ensure high standards of quality.
Recently, Blockchain becomes a hot research topic due to the success of Blockchain in many applications, such as cryptocurrency, smart contract, digital assets, distributed cloud storage and so on. The power of Blockchain is that it can achieve the consensus of an ordered set of transactions among nodes which do not trust each other, even with the existence of malicious nodes. However, compared to traditional databases, the current Blockchain technology still cannot handle a massive number of transactions, which is caused by many factors, such as the consensus protocol, structure of the blocks and storage challenge. Among them, the high storage requirement is a key factor that prevents the wide usage of Blockchain on various devices such as mobile phones or low-end PCs. In this paper, to address the storage challenge, we introduce a novel concept called Consensus Unit (CU), which organizes different nodes into one unit and lets them to store at least one copy of Blockchain data in the system together. Based on this idea, we further define the Blocks Assignment Optimization (BAO) problem which determines the optimal assignment of blocks such that the storage space is fully used and the query cost is minimized. We prove that the BAO problem is NP-hard. Thus, we propose three efficient heuristic algorithms to solve the static assignment problem. Furthermore, we present solutions to address the dynamic scenarios when new blocks arrive and nodes join or depart from the CU. To verify the effectiveness of CU, we have conducted extensive experiments on synthetic data and BLOCKBENCH [1]. The results have confirmed the superiority of CU in saving the storage and maintaining the system throughput.