Ankur Sharma, Felix Schuhknecht, Divya Agrawal, Jens Dittrich
Within the last few years, a countless number of blockchain systems have emerged on the market, each one claiming to revolutionize the way of distributed transaction processing in one way or the other. Many blockchain features, such as byzantine fault tolerance, are indeed valuable additions in modern environments. However, despite all the hype around the technology, many of the challenges that blockchain systems have to face are fundamental transaction management problems. These are largely shared with traditional database systems, which have been around for decades already. These similarities become especially visible for systems, that blur the lines between blockchain systems and classical database systems. A great example of this is Hyperledger Fabric, an open-source permissioned blockchain system under development by IBM. By implementing parallel transaction processing, Fabric's workflow is highly motivated by optimistic concurrency control mechanisms in classical database systems. This raises two questions: (1)~Which conceptual similarities and differences do actually exist between a system such as Fabric and a classical distributed database system? (2)~Is it possible to improve on the performance of Fabric by transitioning technology from the database world to blockchains and thus blurring the lines between these two types of systems even further? To tackle these questions, we first explore Fabric from the perspective of database research, where we observe weaknesses in the transaction pipeline. We then solve these issues by transitioning well-understood database concepts to Fabric, namely transaction reordering as well as early transaction abort. Our experimental evaluation under the Smallbank benchmark as well as under a custom workload shows that our improved version Fabric++ significantly increases the throughput of successful transactions over the vanilla version by up to a factor of 12x, while decreasing the average latency to almost half.
Min Choi, Rupali Shinde, Sechang Oh, Oh‐Young Kwon
In this paper, we present a badge awarding system for performance assessment in education using blockchain technology. Learners will be awarded badges, which are certified for a predetermined level of progress in terms of learning. All the badges are stored in a backpack, which is an environment for storing and presenting the obtained badges. Badges are immutable and verifiable as well as rigid. The use of badges in the education system makes education more interesting, skill-based, and adaptable to changes. The key contribution of our work is in terms of compatibility with Openbadge specification and integrated cooperating platform between digital badge awarding and blockchaining. Our system implementation is compatible with Open Badges of IMS Global Learning Consortium, which is used to earn, issue, and award badges across various platforms. The badges are trusted by the IMS standard, the criteria to earn a badge is verified through the network, and the overall process is transparent compared to the traditional education system. Moreover, all badge awarding events in our system are recorded in a blockchain. Once stored, the contents cannot be tampered with. Thereafter, anyone can check the validity of the badge through the blockchain. Our platform will be useful for distance learning as well as time and location independent learning. The experimental results are as follows. On a Bitcoin-based digital badge publishing platform, the execution time required to award the badge is 24.53 s, while on the Ethereum-based digital badge publishing platform, the execution time to award the badge is only 3.86 s. It can also be used for career management and personal history. The learners can obtain the current knowledge required for a job. Lifelong learning will be also possible with this platform.
Swagatika Sahoo, Akshay M. Fajge, Raju Halder, Agostino Cortesi
In the nine years since its launch, amid intense research, scalability is always a serious concern in blockchain, especially in case of large-scale network generating huge number of transaction-records. In this paper, we propose a hierarchical blockchain model characterized by: (1) each level maintains multiple local blockchain networks, (2) each local blockchain records local transactional activities, and (3) partial views (tunable w.r.t. precision) of different subsets of local blockchain-records are maintained in the blockchains at next level of the hierarchy. To meet this objective, we apply abstractions on a set of transaction-records in a regular time interval by following the Abstract Interpretation framework, which provides a tunable precision in various abstract domain and guarantees the soundness of the system. While this model suitably fits to the real-worlds organizational structures, the proposal is powerful enough to scale when large number of nodes participate in a network resulting into an enormous growth of the network-size and the number of transaction-records. We discuss experimental results on a small-scale network with three sub networks at lower-level and by abstracting the transaction-records in the abstract domain of intervals. The results are encouraging and clearly indicate the effectiveness of this approach to control exponential growth of blockchain size w.r.t. the total number of participants in the network.
With the rapid evolution of technological, economic, and regulatory landscapes, contemporary blockchain platforms are all but certain to undergo major changes. Therefore, the applications that rely on them will eventually need to migrate from one blockchain instance to another to remain competitive and secure, as well as to enhance the business process, performance, cost efficiency, privacy, and regulatory compliance. However, the differences in data and smart contract representations, modes of hosting, transaction fees, as well as the need to preserve consistency, immutability, and data provenance introduce unique challenges over database migration. We first present a set of blockchain migration scenarios and data fidelity levels using an illustrative example. We then present a set of migration patterns to address those scenarios and the above data management challenges. Finally, we demonstrate how the effort, cost, and risk of migration could be minimized by choosing a suitable set of data migration patterns, data fidelity level, and proactive system design. Practical considerations and research challenges are also highlighted.
With ever more IoT (Internet of Things) and bigdata applications, the emerging blockchain techniques provide fundamental supports to credibly track the transactions of digital assets. Public blockchains, e.g., bitcoin, are often energy-consuming and low efficient. Therefore, an empirical study of operating permissioned blockchains in clouds is urgently needed. In this paper, we study the performance of Sawtooth, a well-known permissioned blockchain platforms from Hyperledger, in cloud environments. Our results provide insights for blockchain operators to optimize the performance of Sawtooth through adjusting the two configuration parameters, i.e., Scheduler and Maximum Batches Per Block. Our approach can be used to test other blockchain platforms.
I. INTODUCTION Blockchain technology was first introduced as Bitcoin's underlying technology but soon later its extendable capabilities have been recognized. The peer-to-peer cryptocurrency, Bitcoin, is a core innovation in the financial sector nowadays. Its underlying technology, blockchain, is a type of a distributed ledger especially suitable for processing time ordered data. In addition, embedded cryptography functions of blockchain technology enable integrity of ledgers, authenticity of transactions, and privacy of transactions without a centralized control actor. Those make the blockchain different from traditional distributed database systems being used in the financial sector, e.g., it is practically impossible to modify or delete records of a ledger in the blockchain. This distributed and decentralized nature of the blockchain has attracteded financial institutions over the world to replace existing backbone technologies with blockchain technology. Blockchain keeps a record of all data exchanges -this record is referred to as a "ledger" in the cryptocurrency world, and each data exchange is a "transaction". Every verified transaction is added to the ledger as a "block" It utilizes a distributed system to verify each transaction -a peer-to-peer network of nodes. Once signed and verified, the new transaction is added to the blockchain and cannot be altered In the cryptocurrency world, your wallet address represents public key and your private key is what let's you authorize transfers, withdrawals, and other actions with your digital property like cryptocurrencies. As an aside, this is why it's so important to keep your private key safe -anyone who has your private key can use it to access any of your digital assets associated with your public key and do what they want with it! Each transaction in that ledger will have the same data: a digital signature, a public key, a timestamp, and a unique ID. For instance, the logistics sector considers blockchain technology for real-time visibility, improved efficiency, transparency, verifiability, and cost reduction for logistics. The property sector is adopting blockchain technology as well for digital but unforgeable property records, few disputes, transparency, verifiability, and lower transfer fees. The food sector is also investing blockchain technology to trace the movements of foods and tackle contamination faster.
We propose LazyLedger, a design for distributed ledgers where the blockchain\nis optimised for solely ordering and guaranteeing the availability of\ntransaction data. Responsibility for executing and validating transactions is\nshifted to only the clients that have an interest in specific transactions\nrelating to blockchain applications that they use. As the core function of the\nconsensus system of a distributed ledger is to order transactions and ensure\ntheir availability, consensus participants do not necessarily need to be\nconcerned with the contents of those transactions. This reduces the problem of\nblock verification to data availability verification, which can be achieved\nprobabilistically with sub-linear complexity, without downloading the whole\nblock. The amount of resources required to reach consensus can thus be\nminimised, as transaction validity rules can be decoupled from consensus rules.\nWe also implement and evaluate several example LazyLedger applications, and\nvalidate that the workload of clients of specific applications does not\nsignificantly increase when the workload of other applications that use the\nsame chain increase.\n
Philipp Frauenthaler, Michael Borkowski, Stefan Schulte
The suitability of a particular blockchain for a given use case depends mainly on the blockchain's functional and non-functional properties. Such properties may vary over time, and thus, a selected blockchain may become unsuitable for a given use case. This uncertainty may hinder the widespread adoption of blockchain technologies in general. To mitigate the impact of volatile blockchain properties, we propose a framework that monitors several blockchains, allows the user to define functional and non-functional requirements, determines the most appropriate blockchain, and enables the switchover to that chain at runtime. Our evaluation using a reference implementation shows that switching to another blockchain can save cost and enable users to benefit from better performance and a higher level of trust.
The recent adoption of blockchain technologies and open permissionless networks suggest the importance of peer-to-peer atomic cross-chain transaction protocols. Users should be able to atomically exchange tokens and assets without depending on centralized intermediaries such as exchanges. Recent peer-to-peer atomic cross-chain swap protocols use hashlocks and timelocks to ensure that participants comply to the protocol. However, an expired timelock could lead to a violation of the all-or-nothing atomicity property. An honest participant who fails to execute a smart contract on time due to a crash failure, denial of service attacks or even network delays might end up losing assets. Although a crashed participant is the only participant who ends up worse off, current proposals are unsuitable for atomic cross-chain transactions in asynchronous environments where crash failures and network delays are the norm. In this paper, we present AC 3 WN, the first decentralized all-or-nothing atomic cross-chain commitment protocol. The redeem and refund events of the smart contracts that exchange assets are modeled as conflicting events. An open permissionless network of witnesses is used to guarantee that conflicting events could never simultaneously occur and either all smart contracts in an atomic cross-chain transaction are redeemed or all of them are refunded.
Recentemente tem havido um interesse crescente na tecnologia de ledger distribuídos e aplicações de blockchain. Algoritmos tradicionais como PBFT e novos algoritmos como Proof of Work (PoW), Proof of Stake (PoS) e algoritmos híbridos foram desenvolvidos para lidar com a abertura desses sistemas. No entanto, estas Soluções não apresentam boa escalabilidade com o alto número de servidores ou dependem de uma criptomoeda subjacente. Estruturas hierárquicas como Steward ou Fireplug, apresentam melhor escalabilidade com um possível número de réplicas crescente, porém não lidam com o modelo competitivo esperado no ambiente blockchain. Neste artigo é proposta uma arquitetura hierárquica para lidar com o modelo competitivo do ambiente blockchain que também escala (horizontalmente) com o número de réplicas.
Blockchain technology is argued to have the potential to facilitate the development and improvement of cross-organizational business processes, on various aspects of the business process management discipline. In this paper, we review existing work on the use of blockchain technology to support business processes with a focus on cross-organizational settings. Based on this, we suggest to view blockchain as a software connector helping organizations to integrate the IT systems they use to support business processes. In addition, this paper suggests to use a model-driven engineering approach for the development of such connectors. By doing so, the need to develop a methodology helping to model and implement blockchain-based software connectors supporting cross-organizational business processes is highlighted. By adopting such an approach, organizations would be able to facilitate and speed up the development of blockchain-based solutions. This in turn would facilitate experimentations with this technology, which is considered as an important phase for organizations to derive value from it.
Robert Norvill, Mathis Steichen, Wazen M. Shbair, Radu State
Know Your Customer (KYC) processes performed by banks on their customers are redundant, cumbersome and costly. Therefore, a system is proposed to automate menial tasks and allow sharing of data related to KYC. A blockchain dictates the collaboration between different participants and several services are built around it to support the functionality of the system as a whole. An access control system is used to share data legitimately.
Wazen M. Shbair, Mathis Steichen, Jérôme François, Radu State
Future blockchain applications are anticipated to serve millions of users. Thus the evaluation of new blockchain applications have to consider large-scale assessment of the technologies behind the scene. Most of current testing approaches have been done either on simulators or via local small blockchain networks. Hence, the performance in real world conditions is unpredictable. This demonstration introduces BlockZoom, a large-scale blockchain testbed that runs on top of a highly reconfigurable and controllable HPC platform. BlockZoom presents a reproducible environment for experimenting distributed ledgers technologies and smart contract applications. Through different configuration scenarios developers can evaluate the applications performance and the blockchain behavior at a scale comparable to the production environment. The target audience of this demonstration includes researchers and developers in blockchain technology.
William Pourmajidi, Lei Zhang, John Steinbacher, Tony Erwin · 5 authors
Logs contain critical information about the quality of the rendered services on the Cloud and can be used as digital evidence. Hence, we argue that the critical nature of logs calls for immutability and verification mechanism without the presence of a single trusted party. In this paper, we propose a blockchain-based log system, called Logchain, which can be integrated with existing private and public blockchains. To validate the mechanism, we create Logchain as a Service (LCaaS) by integrating it with Ethereum public blockchain network. We show that the solution is scalable (being able to process 100 log files per second) and fast (being able to "seal" a log file in 23 seconds, on average).
Blockchain is the latest technology developed in recent years for storing and sharing valuable information about transactions. This technology applies different methods for storing information that is unlike other existing traditional ways. Blockchain technology is an excellent example of maintainin
Alejandro Ranchal Pedrosa, Maria Potop-Butucaru, Sara Tucci-Piergiovanni
Bitcoin, the most popular blockchain system, does not scale even under very optimistic assumptions. Lightning networks, a layer on top of Bitcoin, composed of one-to-one lightning channels make it scale to up to 105 Million users. Recently, Duplex Micropayment Channel factories have been proposed based on opening multiple one-to-one payment channels at once. Duplex Micropayment Channel factories rely on time-locks to update and close their channels. This mechanism yields to situation where users funds time-locking for long periods increases with the lifetime of the factory and the number of users. This makes DMC factories not applicable in real-life scenarios.
Krishnendu Chatterjee, Amir Kafshdar Goharshady, Ehsan Kafshdar Goharshady
Smart contracts are programs that are stored and executed on the Blockchain and can receive, manage and transfer money (cryptocurrency units). Two important problems regarding smart contracts are formal analysis and compiler optimization. Formal analysis is extremely important, because smart contracts hold funds worth billions of dollars and their code is immutable after deployment. Hence, an undetected bug can cause significant financial losses. Compiler optimization is also crucial, because every action of a smart contract has to be executed by every node in the Blockchain network. Therefore, optimizations in compiling smart contracts can lead to significant savings in computation, time and energy.
The blockchain technology is complex and involves a wide range of fields, which leads to the lack of uniform specifications for the development of blockchain applications. Although blockchain used to be divided according to the decentralized degree by some organizations, which are difficult to give developers specific guidance and results. To this end, this paper proposed a feature-oriented classification method of blockchain applications based on the analysis and comparison of current typical blockchain applications and frameworks, including digital currency blockchain, development platform blockchain, decentralized application and extended blockchain, helping developer create blockchain applications of a targeted manner and clarifying the functional architecture of different types of above various blockchain applications. Finally, the above classification method has been verified by the analysis of an extended blockchain.
Bitcoin is a crypto currency introduced by Satoshi Nakamoto in 2008. It has the features of decentralization cross-border and fixed total amount and has become one of the most widely used crypto-currencies. Bitcoin, as a new digital currency system, innovatively makes the use of cryptographic elements and consensus mechanisms and builds up a secure decentralized system. The Blockchain, as the core of Bitcoin, uses peer-to-peer network communications and backs up transaction data in every node of the system, thus creating a huge distributed public book. It is essentially a decentralized distributed ledger database, and the decentralization means that the transaction is broadcast to the entire network, where everyone is involved in book keeping. In order to make every participant in the Blockchain willing to participate in the bookkeeping, the reward mechanism of the Bitcoin system is mining. This article first introduces the concept of Blockchain technology, then expounds the principle and the operation mechanism of the Bitcoin and the Bitcoin mining principle, introduces an example of Bitcoin mining in-depth study and analysis, finally, summarize and prospect the development of the Bitcoin mining.
Traditional cloud Service Level Agreement (SLA) suffers from lacking a trustworthy platform for automatic enforcement. The emerging blockchain technique brings in an immutable solution for tracking transactions among business partners. However, it is still very challenging to prove the credibility of possible violations in the SLA before recording them onto the blockchain. To tackle this challenge, we propose a witness model using game theory and the smart contract techniques. The proposed model extends the existing service model with a new role called “witness” for detecting and reporting service violations. Witnesses gain revenue as an incentive for performing these duties, and the payoff function is carefully designed in a way that trustworthiness is guaranteed: in order to get the maximum profit, the witness has to always tell the truth. This is analyzed and proved through game theory using the Nash equilibrium principle. In addition, an unbiased sortition algorithm is proposed to ensure the randomness of the independent witnesses selection from the decentralized witness pool, to avoid possible unfairness or collusion. An auditing mechanism is also introduced in the paper to detect potential irrational or malicious witnesses. We have prototyped the system leveraging the smart contracts of Ethereum blockchain. Experimental results demonstrate the feasibility of the proposed model and indicate good performance in accordance with the design expectations.
Summary Blockchains are increasingly studied in the context of new applications. Permissioned blockchains promise to deal with the issue of complete removal of trust, a notion that is currently the hallmark of the developed society. Before the idea is adopted in contexts where resource efficiency and fast operation is a requirement, one could legitimately ask the question: can permissioned blockchains match the performance of traditional large‐scale databases? This paper compares two popular frameworks, Hyperledger Fabric and Apache Cassandra, as representatives of permissioned blockchains and distributed databases, respectively. We compare their latency for varying workloads and network sizes. The results show that, for small systems, blockchains can start to compete with traditional databases, but also that the difference in consistency models and differences in setup can have a large impact on the resulting performance.
In a blockchain system, consensus protocol as an incentive and security mechanism, is to ensure the participants to build the block honestly and effectively. There are different consensus protocols for blockchain, like Proof of work (PoW), Proof of Stake (PoS), Proof of Space (PoSpace), Proof of Activities etc. But most of these consensus protocols are not designed for doing some useful jobs for society because of too much competition and scalability limitation. Massive electric power and computing resources, including CPU, RAM, storage and sensors have been wasted to run blockchain network based on these consensus protocols. Current frameworks and middleware for building decentralised applications (dApps) are largely limited to simple and less useful jobs. In this paper, we present Proofware which is designed for developers to build their dApps easily with existing public/crowd-based computing resources. Under Proofware, developers can develop and test their own Proof of Useful Work (PoUW) consensus protocols. Also, rather than depending on a centralised accounting system, each dApp has an embedded currency system to keep the whole incentive system decentralised, fair, transparent, stable and sustainable. Based on Proofware, we have built a crowd based video sharing application, called OurTube, as a case study. By the OurTube example, it has shown Proofware significantly improves the productivity to build crowd-based computing system with the features of cost-effectiveness, anti-censorship, elasticity and financial sustainability.
Andrew Cullen, Pietro Ferraro, Christopher King, Robert Shorten
Distributed ledgers have been proposed for a number of applications in the Internet-of-Things domain where it is essential to have an immutable and irreversible record of transactions. Directed acyclic graph (DAG)-based architectures, in particular, seem to provide a vast array of advantages over the more traditional Blockchain; however, it can be challenging to conduct a thorough analysis of DAG-based ledgers and derive reliable performance guarantees. In this article, we analyze one commonly discussed attack scenario known as the parasite chain attack, which aims at disrupting the immutability and irreversibility of the ledger, in the context of the IOTA Foundation's DAG-based system. Using a Markov chain model, we study the vulnerabilities of IOTA's core tip selection method against this attack and we present an extension of the algorithm to improve the resilience of the ledger in this scenario.