Despite the benefits that the Blockchain technology brings to many application fields, its adoption does not come without challenges. Smart contracts, which are at the core of 2nd generation blockchains, can often be riddled with vulnerabilities that can be exploited to attack the platform and threaten its security. It is therefore crucial for the protection of the designed systems to prove the correctness of the smart contracts to be deployed. Approaches have been proposed to detect generic vulnerabilities like reentrancy, but the results would often include false positives where the detected bug is either non existent or not exploitable. Besides, such approaches do not offer to check contract-specific properties. The work presented in this paper is situated as part of a formal approach that we have proposed in an attempt to bridge this gap. This previously outlined approach is based on the transformation of Solidity smart contracts into Coloured Petri nets, which provides the possibility to verify smart contracts with reference to properties expressed as Linear Temporal Logic (LTL) formulae. Herein we extend our previous work on mainly two levels: first, by taking into account the concept of function calls in the transformation and second, by focusing on the LTL properties that can define the correctness of a smart contract. Such properties can be specific to the control- or data-flow of the contracts being checked. They can also be used to express vulnerabilities as we showcase by proposing LTL formalizations for six vulnerabilities from the literature. We then leverage the capability of the Helena model checker to detect these vulnerabilities while discerning their exploitability, as well as check temporal-based contract-specific properties.
Blockchain is a distributed and decentralized ledger for recording transactions. Although blockchain has the advantages of transparency, decentralization, and immutability, it also faces low scalability. Recently, sharding has been emerged as an elegant solution to overcome the scalability problem in blockchain, where Asynchronous Consensus Zones itself has been shown to be a state-of-the-art sharding protocol. However, this protocol will generate a relatively high orphan rate when the throughput is high, which leads to block waste. In this paper, to avoid orphan blocks and further improve throughput, we design a sharding consensus protocol with a fixed block interval named Dioxide. We implement the protocol prototype in a simulated environment and evaluate the performance of the sharding protocol. Compared with Asynchronous Consensus Zones, our experiments show that average throughput is increased by approximately 9%.
Transactions involving multiple blockchains are implemented by cross-chain protocols. These protocols are based on smart contracts, programs that run on blockchains, executed by a network of computers. Because smart contracts can automatically transfer ownership of cryptocurrencies, electronic securities, and other valuable assets among untrusting parties, verifying the runtime correctness of smart contracts is a problem of compelling practical interest. Such verification is challenging since smart contract execution is time-sensitive, and the clocks on different blockchains may not be perfectly synchronized. This paper describes a method for runtime monitoring of blockchain executions. First, we propose a generalized runtime verification technique for verifying partially synchronous distributed computations for the metric temporal logic (MTL) by exploiting bounded-skew clock synchronization. Second, we introduce a progression-based formula rewriting scheme for monitoring \MTL specifications which employ SMT solving techniques and report experimental results.
Memory in biological beings is as complex as the rational complexity of that concrete being requires. Clearly, memory helps to conform knowledge bases to serve the needs of the specific natural being. To analogize from Robotics concepts, it seems that the degrees of freedom in the biological being’s memory are higher or lower depending upon the rationality of each living being. Robots and artificial systems appear to require analogous structures. That is, to build a reactive system, the requirement of memory is not highly demanding with respect to the degrees of freedom. However, the required degrees of freedom seems to grow as the ability of the artificial system to deliberate increases. Consequently, to design artificial systems that would implement cognitive abilities, it is required to rethink memory structures. When designing a Cognitive Artificial System, memory systems should be thought of as highly accessible discrete units. In addition, these systems would require designs in the form of distributed architectures with non-linear features, such as those of human thought. In addition, they should allow for complex mixed types of data (text, images, time or so). Blockchain has attracted great interest for a few years now, especially since the appearance of Bitcoin. A blockchain is a distributed ledger that combines an append-only data structure designed to be resistant to modifications, with a consensus protocol [ 1 , 2 ]. This innovation can be thought of as a sequence of containers, the blocks, that store two things: the information of a “system” and the “service” that such system provides [ 2 ], and it provides an interesting starting point to rethink memory systems in robots.
The goal of this paper is to clarify common misconceptions regarding the blockchain technology, and pointing out some worrisome practices in the field of blockchain technology. We first provide a brief introduction of the blockchain technology, highlighting its design principle, nuts and bolts, and the most fundamental innovation of the technology. Next, we elaborate on a key concept regarding data immutability. In particular, it is a mistake to equate blockchain to data immutability. Data immutability can only be achieved in large-scale public blockchains where the cost becomes an insurmountable barrier for any attempt to change the data recorded in the blockchain. The third topic we discuss is the differences between public, private, and consortium blockchains. We caution the use of private and consortium blockchains. The last topic we argue is regarding blockchain consensus. Because the proof of work (PoW) consensus algorithm has obvious drawbacks on energy consumption, many alternative algorithms have been proposed. We single out two most egregious wrong practices: (1) selecting a small set of validators for reaching consensus, and (2) adopting traditional distributed consensus.
User transactions on Ethereum's peer-to-peer network are at risk of being attacked. The smart contracts building decentralized finance (DeFi) have introduced a new transaction ordering dependency to the Ethereum blockchain. As a result, attackers can profit from front- and back-running transactions. Multiple approaches to mitigate transaction reordering manipulations have surfaced recently. However, the success of individual approaches in mitigating such attacks and their impact on the entire blockchain remains largely unstudied. In this systematization of knowledge (SoK), we categorize and analyze state-of-the-art transaction reordering manipulation mitigation schemes. Instead of restricting our analysis to a scheme's success at preventing transaction reordering attacks, we evaluate its full impact on the blockchain. Therefore, we are able to provide a complete picture of the strengths and weaknesses of current mitigation schemes. We find that currently no scheme fully meets all the demands of the blockchain ecosystem. In fact, all approaches demonstrate unsatisfactory performance in at least one area relevant to the blockchain ecosystem.
Cryptocurrencies are poised to revolutionize the modern economy by democratizing commerce. These currencies operate on top of blockchain-based distributed ledgers. Existing permissionless blockchain-based protocols offer unparalleled benefits like decentralization, anonymity, and transparency. However, these protocols suffer in performance which hinders their widespread adoption. In particular, high time-to-finality and low transaction rates keep them from replacing centralized payment systems such as the Visa network. Permissioned blockchain protocols offer attractive performance guarantees, but they are not considered suitable for deploying decentralized cryptocurrencies due to their centralized nature. Researchers have developed several multi-layered blockchain protocols that combine both permissioned and permissionless blockchain protocols to achieve high performance along with decentralization. The key idea with existing layered blockchain protocols in literature is to divide blockchain operations into two layers and use different types of blockchain protocols to manage each layer. However, many such works come with the assumptions of honest majority which may not accurately reflect the real world where the participants may be self-interested or rational. These assumptions may render the protocols susceptible to security threats in the real world, as highlighted by the literature focused on exploring game-theoretic attacks on these protocols. We generalize the "layered" approach taken by existing protocols in the literature and present a framework to analyze the system in the BAR Model and provide a generalized game-theoretic analysis of such protocols. Using our analysis, we identify the critical system parameters required for a distributed ledger's secure operation in a more realistic setting.
Seyed Hossein Haeri, Peter Thompson, Neil Davies, Peter Van Roy · 6 authors
This paper directly addresses a long-standing issue that affects the development of many complex distributed software systems: how to establish quickly, cheaply, and reliably whether they can deliver their intended performance before expending significant time, effort, and money on detailed design and implementation. We describe ΔQSD, a novel metrics-based and quality-centric paradigm that uses formalised outcome diagrams to explore the performance consequences of design decisions, as a performance blueprint of the system. The distinctive feature of outcome diagrams is that they capture the essential observational properties of the system, independent of the details of system structure and behaviour. The ΔQSD paradigm derives bounds on performance expressed as probability distributions encompassing all possible executions of the system. The ΔQSD paradigm is both effective and generic: it allows values from various sources to be combined in a rigorous way so that approximate results can be obtained quickly and subsequently refined. ΔQSD has been successfully used by a small team in Predictable Network Solutions for consultancy on large-scale applications in a number of industries, including telecommunications, avionics, and space and defence, resulting in cumulative savings worth billions of US dollars. The paper outlines the ΔQSD paradigm, describes its formal underpinnings, and illustrates its use via a topical real-world example taken from the blockchain/cryptocurrency domain. ΔQSD has supported the development of an industry-leading proof-of-stake blockchain implementation that reliably and consistently delivers blocks of up to 80 kB every 20 s on average across a globally distributed network of collaborating block-producing nodes operating on the public internet.
V Anupama, Vishnu Vardhan Battu, B. Srinivasa Rao, Chitturi Prasad
The Ethereum blockchain is intended to move from a Proof-of-Work agreement convention to a Proof-of-Stake one. Right by Construction Casper conveys a theoretical group of numerical Proof-of-Stake agreement conventions however it doesn't give block creation methodologies to hubs which this the undertaking plan to take care of them. A testing system in the view of a current Casper library has been carried out to reproduce blockchains managed by the proposed fundamental techniques and idleness, and hub count and upward are estimated during the reproductions. The carried-out structure has been approved utilizing the essential methodologies and grants the execution of more intricate ones through a conventional code design. The proposed model offers a decent method for contrasting inactivity and upward for techniques yet isn't proficient to assess the manner in which a procedure scales with the quantity of hubs in the organization
Since FinTech was stimulated by the invention of blockchain, without the full realization of blockchain technologies in the following years, FinTech has not been fully realized. We discuss some myths and reasons for why blockchain technologies were not fully realized. The lack of distributed synchronization might be the most difficult challenge such that the trust provided by blockchain is not good enough for public use. We propose a mathematical solution with a new consensus mechanism based on general Proof-of-Work mining, called Proof-of-PowerTimestamp, to reach distributed synchronization and reduce power consumption to less than one billionth of Bitcoin. We also discuss related issues toward blockchain realization once the distributed synchronization and energy consumption problems are solved. Since the issues are mostly interdisciplinary or multidisciplinary, researchers are invited to cooperate to help blockchain realization as soon as possible.
There is a resurgence of interest in Byzantine fault-tolerant (BFT) systems due to blockchains. However, leader-based BFT consensus protocols used by permissioned blockchains have limited scalability and robustness. To alleviate the leader bottleneck in BFT consensus, we introduce Stratus, a robust shared mempool protocol that decouples transaction distribution from consensus. Our idea is to have replicas disseminate transactions in a distributed manner and have the leader only propose transaction ids. Stratus uses a provably available broadcast (PAB) protocol to ensure the availability of the referenced transactions. We implemented and evaluated Stratus by integrating it with state-of-the-art BFT-based blockchain protocols and evaluated these protocols in both LAN and WAN settings. Our results show that Stratus-based protocols achieve up to $5\sim20\times$ more throughput than their native counterparts in a network with hundreds of replicas. In addition, the performance of Stratus degrades gracefully in the presence of network asynchrony, Byzantine attackers, and unbalanced workloads. Our design provides easy-to-use APIs so that other BFT systems suffering from leader bottlenecks can use Stratus.
This paper proposes a solution for validating an End-to-End service chain built by multiple actors that may not trust each other. We notably introduce a “data layer” powered by a Distributed Ledger (DL, a.k.a “Blockchain”) using a Directed Acyclic Graph (DAG). This component will enable all players involved in a network service chain to share trusted and secure performance data, whilst avoiding the participation of trusted third parties. We consider as a driving use case a scenario where resource providers and resource consumers (a.k.a “prosumers”) interact together to build on-demand network services. We thus focus on a Cloud-based Radio Access Network scenario and anticipate network disaggregation, allowing the infrastructure to be shared between multiple providers. We show through simulation that the usage of a DAG-based ledger will make the proposed data layer scalable despite the amount of performance data required for monitoring.
We present two attacks targeting the Proof-of-Stake (PoS) Ethereum consensus protocol. The first attack suggests a fundamental conceptual incompatibility between PoS and the Greedy Heaviest-Observed Sub-Tree (GHOST) fork choice paradigm employed by PoS Ethereum. In a nutshell, PoS allows an adversary with a vanishing amount of stake to produce an unlimited number of equivocating blocks. While most equivocating blocks will be orphaned, such orphaned `uncle blocks' still influence fork choice under the GHOST paradigm, bestowing upon the adversary devastating control over the canonical chain. While the Latest Message Driven (LMD) aspect of current PoS Ethereum prevents a straightforward application of this attack, our second attack shows how LMD specifically can be exploited to obtain a new variant of the balancing attack that overcomes a recent protocol addition that was intended to mitigate balancing-type attacks. Thus, in its current form, PoS Ethereum without and with LMD is vulnerable to our first and second attack, respectively.
In the blockchain context, the information system (IS) is considered a part of its infrastructure. However, blockchain itself can be used for IS development using software components and services. As the trust for binary components or services is still a problem, we propose to use the blockchain of components to solve this problem. In this paper, the part of such solution, namely consensus algorithms, is discussed. We focus on Proof-of-Stake algorithms and present their feasibility to be used in the blockchain of software components. It was found that the use of probabilistic algorithms (RRR, CloudPoS, WV, DDPoS, Panda) allow the partial solution of the problem in the blockchain of reliable software components.
Byzantine consensus is a critical component in many permissioned Blockchains and distributed ledgers. We propose a new paradigm for designing BFT protocols called DQBFT that addresses three major performance and scalability challenges that plague past protocols: (i) high communication costs to reach geo-distributed agreement, (ii) uneven resource utilization hampering performance, and (iii) performance degradation under varying node and network conditions and high-contention workloads. Specifically, DQBFT divides consensus into two parts: 1) durable command replication without a global order, and 2) consistent global ordering of commands across all replicas. DQBFT achieves this by decentralizing the heavy task of replicating commands while centralizing the ordering process. Under the new paradigm, we develop a new protocol, Destiny that uses a combination of three techniques to achieve high performance and scalability: using a trusted subsystem to decrease consensus's quorum size, using threshold signatures to attain linear communication costs, reducing client communication. Our evaluations on 300-replica geo-distributed deployment reveal that DQBFT protocols achieve significant performance gains over prior art: $\approx$3x better throughput and $\approx$50\% better latency.
Blockchain or distributed ledger technology (DLT) guarantees revision safety of transaction logs independent from usage scenarios. Thus, trust is ensured by DLT in a long-term perspective. Hence, one can pose the question, whether DLT is an attractive technology for long-term archiving of data. In this paper we juxtapose distributed ledger and data preservation approaches as two candidates for continuous archival workings. We show that, although the DLT seems to be a viable solution for the long-term preservation of data from a naive perspective, long time effects and efficiency considerations prevent the effective use of DLTs. We discuss hidden costs of transactions, that are not reflected in current price structures. We conclude that data stored on the distributed ledger might not be as preserved for future generations as usually assumed. In fact, data preservation in an archivist's perspective resembles the trust preservation in DLTs.
Peter Lone, Kumar Nagarajan, Trish Supples, Paul T. P. Wong
Although distributed ledgers frequently are viewed as a revolutionary technology that could transform many markets, the technology has not yet received wide-scale business adoption. This may be due in part to a lack of use cases for which the decentralized and distributed features of distributed ledger technology (DLT) are optimal. But payment directories (known in certain markets as registries), which facilitate the lookup of payments-related information, may be a use case that has specific challenges that take better advantage of these features than other use cases explored by businesses to date. Directories that support routing of information to support payments like aliases for peer-to-peer payments and business-to-business e-invoices may benefit from the use of DLT. DLT allows market participants to maintain and to protect localized information without the competitive, operational, and technical challenges of a centralized database.
In recent years, the use of consensus mechanism to maintain the security of blockchain system has become a considerable concern of the community. Delegated proof of stake (DPoS) and practical Byzantine fault tolerant (PBFT) consensus mechanisms are key technologies in maintaining the security of blockchain system. First, this study proposes a consensus mechanism combining DPoS and PBFT, which can rapidly deal with malicious witness nodes and shorten the time of block verification. Second, the M/PH/1 queuing model is used to analyze the performance of the proposed consensus mechanism, and the performance of the improved practical Byzantine fault tolerant consensus mechanism is evaluated from steady-state conditions and key performance measure of the system. Third, the current study uses the theoretical method of open (Jackson) queuing network, combined with the blockchain consensus process, and provides theoretical analysis with special cases. Lastly, this research utilizes numerical examples to verify the computability of the theoretical results. The analytic method is expected to open a series of potentially promising research in queueing theory of blockchain systems.
Mehrdad Kiamari, Bhaskar Krishnamachari, Muhammad Naveed, Seokgu Yun
We present Blizzard, a Byzantine fault tolerant (BFT) distributed ledger protocol that is aimed at making mobile devices first-class citizens in the consensus process. Blizzard introduces a novel two-tier architecture by having the mobile nodes communicate through online brokers, and includes a decentralized matching scheme to ensure each node connects to a certain number of random brokers. Through mathematical analysis, we derive a guaranteed safety region (i.e., the set of ratios of malicious nodes and malicious brokers for which the safety is assured) for the Blizzard protocol. Liveness is shown as well. We analyze the performance of Blizzard in terms of its throughput, latency, and message complexity. Through experiments based on a software implementation, we show that Blizzard is capable of throughput on the order of several thousand transactions per second per shard and sub-second confirmation latency.
Zeinab Nehaï, François Bobot, Sara Tucci-Piergiovanni, Carole Delporte-Gallet · 5 authors
Blockchains are a specific type of distributed ledgers structured by a sequence of blocks of transactional data linked to each other. The use of blockchains has increased over time, and several new blockchains are emerging. It is therefore essential to enhance the interoperability between blockchain implementations to allow decentralised trading. One way to achieve this is with Cross-Chain Swap protocols. These protocols are critical systems as they handle assets. Therefore, it must be sure that the system does not contain errors. In this paper, we describe the Cross-Chain Swap problem in a formal way. We define safety and weak-liveness properties that guarantee no correct participant will be worse-off in an asynchronous system. Moreover, we provide a formally proved Byzantine fault-tolerant protocol that satisfies the swap specification. The protocol abstracts the blockchain enough to suit various distributed ledger frameworks aiming to perform a cross-chain swap. In addition, we illustrate how the described abstract protocol can be instantiated in a blockchain system.