A key challenge of smart contract systems is the fact that many useful contracts require access to information that does not natively live on the blockchain. While miners can verify the value of a hash or the validity of a digital signature, they cannot determine who won an election, whether there is a flood in Paris, or even what is the price of ether in US dollars, even though this information might be necessary to execute prediction market, insurance, or financial contracts respectively. A number of promising projects and research developments have provided a better understanding of how one might construct a decentralized, binary oracle - namely an oracle that can respond by one of two possibilities, typically "yes" or "no", even while not requiring the interaction of a trusted third party. In this work, we extend these ideas to construct a general-purpose, decentralized oracle that can estimate the value of a real-world quantity that is in a dense totally ordered set, such as R. In particular, this proposal can be used to estimate real number valued quantities, such as required for a price oracle. We will establish a number of desirable properties about this proposal. Particularly, we will see that the precision of the output is tunable to users' needs.
Bitcoin users can offer fees to the miners who record transactions on the blockchain. We document the blockchain rarely runs at capacity, even though there appears to be excess demand and higher fee orders are not always prioritized. We show this is inconsistent with competitive mining, but is consistent with miners exercising market power. If users believe that only high fee transactions will be executed expeditiously then we show how strategic capacity management can be used to increase fee revenue. Using a novel data set, we present evidence consistent with strategic capacity management. We show that mining pools facilitate collusion, and estimate that they have extracted least 300 million USD a year in excess fees by making processing capacity artificially scarce.
The blockchain data structure maintained via the longest-chain rule---popularized by Bitcoin---is a powerful algorithmic tool for consensus algorithms. Such algorithms achieve consistency for blocks in the chain as a function of their depth from the end of the chain. While the analysis of Bitcoin guarantees consistency with error $2^{-k}$ for blocks of depth $O(k)$, the state-of-the-art of proof-of-stake (PoS) blockchains suffers from a quadratic dependence on $k$: these protocols, exemplified by Ouroboros (Crypto 2017), Ouroboros Praos (Eurocrypt 2018) and Sleepy Consensus (Asiacrypt 2017), can only establish that depth $Θ(k^2)$ is sufficient. Whether this quadratic gap is an intrinsic limitation of PoS---due to issues such as the nothing-at-stake problem---has been an urgent open question, as deployed PoS blockchains further rely on consistency for protocol correctness. We give an axiomatic theory of blockchain dynamics that permits rigorous reasoning about the longest-chain rule and achieve, in broad generality, $Θ(k)$ dependence on depth in order to achieve consistency error $2^{-k}$. In particular, for the first time, we show that PoS protocols can match proof-of-work protocols for linear consistency. We analyze the associated stochastic process, give a recursive relation for the critical functionals of this process, and derive tail bounds in both i.i.d. and martingale settings via associated generating functions.
Suyash Gupta, Jelle Hellings, Sajjad Rahnama, Mohammad Sadoghi
Since the introduction of Bitcoin---the first wide-spread application driven by blockchains---the interest of the public and private sector in blockchains has skyrocketed. At the core of this interest are the ways in which blockchains can be used to improve data management, e.g., by enabling federated data management via decentralization, resilience against failure and malicious actors via replication and consensus, and strong data provenance via a secured immutable ledger.
We present a new primitive supporting file replication in distributed storage networks (DSNs) called a Public Incompressible Encoding (PIE). PIEs operate in the challenging public DSN setting where files must be encoded and decoded with public randomness-i.e., without encryption-and retention of redundant data must be publicly verifiable. They prevent undetectable data compression, allowing DSNs to use monetary rewards or penalties in incentivizing economically rational servers to properly replicate data. Their definition also precludes critical, demonstrated attacks involving parallelism via ASICs and other custom hardware. Our PIE construction is the first to achieve experimentally validated near-optimal performance-within a factor of 4 of optimal by one metric. It also allows decoding orders of magnitude faster than encoding, unlike other comparable constructions. We achieve this high security and performance using a graph construction called a Dagwood Sandwich Graph (DSaG), built from a novel interleaving of depth-robust graphs and superconcentrators. PIEs' performance makes them appealing for DSNs, such as the proposed Filecoin system and Ethereum data sharding. Conversely, their near-optimality establishes concerning bounds on the practical financial and energy costs of DSNs allowing arbitrary data.
Ethereum is a distributed blockchain that can execute smart contracts, which inter-communicate and perform transactions automatically. The execution of smart contracts is paid in the form of gas, which is a monetary unit used in the Ethereum blockchain. The Ethereum Virtual Machine (EVM) provides the metering capability for smart contract execution. Instruction costs vary depending on the instruction type and the approximate computational resources required to execute the instruction on the network. The cost of gas is adjusted using transaction fees to ensure adequate payment of the network. In this work, we highlight the "real" economics of smart contracts. We show that the actual costs of executing smart contracts are disproportionate to the computational costs and that this gap is continuously widening. We show that the gas cost-model of the underlying EVM instruction-set is wrongly modeled. Specifically, the computational cost for the SLOAD instruction increases with the length of the blockchain. Our proposed performance model estimates gas usage and execution time of a smart contract at a given block-height. The new gas-cost model incorporates the block-height to eliminate irregularities in the Ethereum gas calculations. Our findings are based on extensive experiments over the entire history of the EVM blockchain.
In this paper, we propose coded Merkle tree (CMT), a novel hash accumulator that offers a constant-cost protection against data availability attacks in blockchains, even if the majority of the network nodes are malicious. A CMT is constructed using a family of sparse erasure codes on each layer, and is recovered by iteratively applying a peeling-decoding technique that enables a compact proof for data availability attack on any layer. Our algorithm enables any node to verify the full availability of any data block generated by the system by just downloading a $Θ(1)$ byte block hash commitment and randomly sampling $Θ(\log b)$ bytes, where $b$ is the size of the data block. With the help of only one connected honest node in the system, our method also allows any node to verify any tampering of the coded Merkle tree by just downloading $Θ(\log b)$ bytes. We provide a modular library for CMT in Rust and Python and demonstrate its efficacy inside the Parity Bitcoin client.
In the digital world, the crypto currency has to do with the use of tokens based on the distributed ledger technology in a secure manner. Crypto currency can be a resource on a block chain network or can be seen as a tool to perform the transactions ensuring the privacy and security. Data may be available in temporal or text format. This paper describes about the distributed architecture for secure and attack-resilient bit coin-based crypto currency transactions for classified temporal and text data. The temporal data may be voice, sound or graphical information basing on the time series. If the data available is temporal this work describes about how it can be classified into a processed form. In this context, this paper describes the process of converting temporal data into text data. Further, the paper describes about the process of ensuring the security. This paper describes about the methodologies of cryptography-based hashing, attack-resilient nonce generation and verifiable encryption techniques for the construction of resilient transactions against stealthy data-integrity attack.
Full nodes, which synchronize the entire blockchain history and independently validate all the blocks, form the backbone of any blockchain network by playing a vital role in ensuring security properties. On the other hand, a user running a full node needs to pay a heavy price in terms of storage costs. E.g., the Bitcoin blockchain size has grown over 215GB, in spite of its low throughput. The ledger size for a high throughput blockchain Ripple has already reached 9TB, and it is growing at an astonishing rate of 12GB per day! In this paper, we propose an architecture based on 'fountain codes', a class of erasure codes, that enables any full node to 'encode' validated blocks into a small number of 'coded blocks', thereby reducing its storage costs by orders of magnitude. In particular, our proposed "Secure Fountain (SeF)" architecture can achieve a near-optimal trade-off between the storage savings per node and the 'bootstrap cost' in terms of the number of (honest) storage-constrained nodes a new node needs to contact to recover the blockchain. A key technical innovation in SeF codes is to make fountain codes secure against adversarial nodes that can provide maliciously formed coded blocks. Our idea is to use the header-chain as a 'side-information' to check whether a coded block is maliciously formed while it is getting decoded. Further, the 'rateless property' of fountain codes helps in achieving high decentralization and scalability. Our experiments demonstrate that SeF codes tuned to achieve 1000x storage savings enable full nodes to encode the 191GB Bitcoin blockchain into 195MB on average. A new node can recover the blockchain from an arbitrary set of storage-constrained nodes as long as the set contains ~1100 honest nodes on average. Note that for a 1000x storage savings, the fundamental bound on the number of honest nodes to contact is 1000: we need about 10% more in practice.
Although the emergence of the programmable smart contract makes blockchain systems easily embrace a wider range of industrial areas, how to execute smart contracts efficiently becomes a big challenge nowadays. Due to the existence of Byzantine nodes, the mechanism of executing smart contracts is quite different from that in database systems, so that existing successful concurrency control protocols in database systems cannot be employed directly. Moreover, even though smart contract execution follows a two-phase style, i.e, the miner node executes a batch of smart contracts in the first phase and the validators replay them in the second phase, existing parallel solutions only focus on the optimization in the first phase, but not including the second phase. In this paper, we propose a novel efficient concurrency control scheme which is the first one to do optimization in both phases. Specifically, (i) in the first phase, we give a variant of OCC (Optimistic Concurrency Control) protocol based on {\em batching} feature to improve the concurrent execution efficiency for the miner and produce a schedule log with high parallelism for validators. Also, a graph partition algorithm is devised to divide the original schedule log into small pieces and further reduce the communication cost; and (ii) in the second phase, we give a deterministic OCC protocol to replay all smart contracts efficiently on multi-core validators where all cores can replay smart contracts independently. Theoretical analysis and extensive experimental results illustrate that the proposed scheme outperforms state-of-art solutions significantly.
Building trustless cross-blockchain trading protocols is challenging. Centralized exchanges thus remain the preferred route to execute transfers across blockchains. However, these services require trust and therefore undermine the very nature of the blockchains on which they operate. To overcome this, several decentralized exchanges have recently emerged which offer support for atomic cross-chain swaps (ACCS). ACCS enable the trustless exchange of cryptocurrencies across blockchains, and are the only known mechanism to do so. However, ACCS suffer significant limitations; they are slow, inefficient and costly, meaning that they are rarely used in practice. We present XCLAIM: the first generic framework for achieving trustless and efficient cross-chain exchanges using cryptocurrency-backed assets (CbAs). XCLAIM offers protocols for issuing, transferring, swapping and redeeming CbAs securely in a non-interactive manner on existing blockchains. We instantiate XCLAIM between Bitcoin and Ethereum and evaluate our implementation; it costs less than USD 0.50 to issue an arbitrary amount of Bitcoin-backed tokens on Ethereum. We show XCLAIM is not only faster, but also significantly cheaper than atomic cross-chain swaps. Finally, XCLAIM is compatible with the majority of existing blockchains without modification, and enables several novel cryptocurrency applications, such as cross-chain payment channels and efficient multi-party swaps.
With the advent of blockchain technologies, the idea of decentralized applications has gained traction. Smart contracts permit the implementation of application logic to foster distributed systems that are capable of removing intermediaries. Hereby, lock in effects originating from isolated data storage and central authorities are mitigated. Yet, smart contracts deployed to a ledger generate dependencies on the underlying blockchain. Over time, requirements regarding contract execution may detach from the utilized blockchain due to contradicting incentives and security or performance issues. To avoid a novel form of lock in effect towards a host blockchain, we introduce a concept for smart contract portability that permits any user to migrate contract logic and state between blockchains in a flexible and verifiable manner. As the Ethereum Virtual Machine (EVM) is supported by a multitude of blockchain implementations, it poses a common execution environment for smart contracts. We provide a toolbox that facilitates smart contract portability between EVM-compatible blockchains without trust requirements in the entity executing the migration process. To prove the concept's soundness, we transfer token contracts based on the ERC20 standard as well as applications containing dependencies to other smart contracts. Our evaluation shows the validity of ported applications including their current states.
PAI Coin's Proof-of-Work (PoW) consensus mechanism utilizes the double SHA-256 hashing protocol-- the same mechanism used by Bitcoin Core. This compatibility with classic Bitcoin-style mining provides low barrier to entry for PAI Coin mining, consequently rendering the PAI Coin network vulnerable to so-called 51% attacks, among others. To mitigate such risks, this paper proposes a hybrid Proof-of-Work, Proof-of-Stake (PoS) consensus mechanism and provides a detailed technical analysis of how such a mechanism would counter some of the PAI Coin network's inherent vulnerabilities, if successfully implemented. A detailed technical outline of blockchain-based PoW & PoS consensus, including their advantages and disadvantages, when used both independently and in the context of the hybrid model, is provided. An economic analysis of attacking a hybrid-powered PAI Coin network is presented, and a final recommendation for future development of PAI Coin consensus is made.
In Bitcoin, to independently verify whether new transactions are correct or not, a type of a node called "Full Node" has to hold the whole of historical transactions. The transactions are stored in ledger called "Blockchain. " Blockchain is an append-only data structure. Thus, to operate Full Nodes, the required storage capacity would grow too large for resource-constrained devices. Due to the limitation, the existing lightweight node scheme is that a node relies on other Full Nodes. In this thesis, to reduce storage capacity with keeping the independence of each node, we propose a storage load balancing scheme "KARAKASA" using Distributed Hash Table (DHT). In KARAKASA, nodes distributedly keep the whole blockchain among DHT networked nodes. We evaluated KARAKASA from the view of storage capacity and independence. As a result, a node in a cluster does not need to trust other nodes. We concluded that nodes in a DHT cluster can behave like Full Nodes without holding the whole blockchain.
Smart contract platforms, the most notable of which is probably Ethereum, facilitate the development of important and diverse distributed applications (e.g., naming services and fungible tokens) in a simple manner. This simplicity stems from the inherent utility of employing the state of smart contracts to store, query and verify the validity of application data. In Ethereum, data storage incurs an underpriced, non-recurring, predefined fee. Furthermore, as there is no incentive for freeing or minimizing the state of smart contracts, Ethereum is faced with a tragedy of the commons problem with regards to its monotonically increasing state. This issue, if left unchecked, may lead to centralization and directly impact Ethereum's security and longevity. In this work, we introduce an alternative paradigm for developing smart contracts in which their state is of constant size and facilitates the verification of application data that are stored to and queried from an external, potentially unreliable, storage network. This approach is relevant for a wide range of applications, such as any key-value store. We evaluate our approach by adapting the most widely deployed standard for fungible tokens, i.e., the ERC20 token standard. We show that Ethereum's current cost model penalizes our approach, even though it minimizes the overhead to Ethereum's state and aligns well with Ethereum's future. We address Ethereum's monotonically increasing state in a two-fold manner. First, we introduce recurring fees that are proportional to the state of smart contracts and adjustable by the miners that maintain the network. Second, we propose a scheme where the cost of storage-related operations reflects the effort that miners have to expend to execute them. Lastly, we show that under such a pricing scheme that encourages economy in the state consumed by smart contracts, our ERC20 token adaptation reduces the incurred transaction fees by up to an order of magnitude.
Ethereum clients execute transactions in a sequential order prescribed by the consensus protocol. This is a safe and conservative approach to blockchain transaction processing which forgoes running transactions in parallel even when doing so would be beneficial and safe, e.g., when there is no intersection in the sets of accounts that the transactions read or modify. In this work we study the degree of transaction parallelizability and present results from three different simulations using real Ethereum transaction data. Our simulations demonstrate that notable gains are achievable with parallelization, and suggest that the potential for parallelizability improves as transaction rates increase.
Tobias Korb, David Michel, Oliver Riedel, Armin Lechler
For several years, blockchain technology have been used and tested in various prototypes for production environments. The main focus of these approaches is the feasibility of different applications. It is usually simply assumed that data in a blockchain is stored immutably. However, the path from data generation to entry into a blockchain is usually neglected. Exactly this topic is discussed in this paper and a solution proposal for a secure data flow from the machine to the blockchain is presented. For this, the hardware and software architecture of the solution is shown, followed by measurements of the operational capability of the solution.
Huge storage volume is one of the main bottlenecks for the development of blockchain, so how to release the burden by optimizing the storage mechanism has become an important problem. Most of the current solutions would modify the architecture of blockchain, which weakens the characteristics of the decentralization, such as cloud storage. In this paper, a storage optimization mechanism based on residual number system is proposed to reduce the storage volume on each node. In addition, the recovery procedure of CRT-II (The new Chinese Remainder Theorem) is used to detect garbled data from devil nodes, which enable the proposed storage mechanism with strong fault tolerance capability. Both theoretical analysis and simulation results prove the effectiveness and reliability of the proposed scheme.
The architecture of integrating blockchain with Industry 4.0 IoT network has emerged in recent years. Industry 4.0 refers to the new concept of intelligent manufacturing paradigm, including Internet of Things (IoT), Cloud computing and Cyber-Physical System (CPS). Blockchain is a decentralized, distributed ledger system used to record transactions across multiple participants. Blockchain offers a way of recording data that is designed to be secure, reliable and auditable, which makes it a preferred solution for securing IoT network. However, traditional blockchain suffers from storage scalability issue because each blockchain node stores the entire blockchain. The storage scalability problem can be even worse when blockchain is used in IoT network due to the high volume of data generated by massive number of IoT sensors. In this thesis, we propose a distributed storage architecture for blockchain based on erasure coding. The property of erasure coding makes it possible to greatly reduce storage overhead for each node without affecting the overall data integrity. Furthermore, to minimize the latency of rebuilding data in this distributed storage architecture, we formulate a latency-cost trade-off optimization problem and propose an efficient and scalable algorithm. Simulation results show that our architecture can achieve up to 80% latency reduction compared with other widely used distributed storage architectures. In addition, our architecture can save up to 90% storage space for each node, which removes the largest obstacle for integrating blockchain into IoT network.
Cryptocurrencies, like Bitcoin, present challenges to plaintiffs seeking to recover these digital assets. No third-party intermediaries are involved in cryptocurrency transactions, and there is no controlling authority that can revoke or avoid a transaction once completed. The possessor of a cryptocurrency's private key-its password-has total and exclusive control over the account's assets. These digital assets cross jurisdictional boundaries without impediment. The features of cryptocurrencies make it easy for defendants to judgment-proof themselves and make these assets difficult to recover after a court has entered judgment. This comment explains cryptocurrency features relevant to asset recovery, explores pre-and postjudgment procedures as applied to cryptocurrencies, and suggests ways to mitigate the risks of this potentially difficult-to-recover asset.
The future of distributed ledger technology such as blockchain is dependent on its ability to interact and integrate with other systems. Therefore, interoperability has become a fundamental issue that needs to be addressed. The emerging category of crypto-assets are managed and understood using different frameworks. There is, therefore, a need for a unified classification of crypto-assets. This work aims to bring some clarity to and understanding on interoperable crypto-assets and their characteristics. This paper categorizes digital crypto-assets for the purpose of implementing interoperability. The categorization of crypto-assets is based on their functionalities and their purpose. An interoperability scenario has been given for the defined crypto-asset classes.