No Arabic abstract
The last decade has experienced a vast interest in Blockchain-based cryptocurrencies with a specific focus on the applications of this technology. However, slow confirmation times of transactions and unforeseeable high fees hamper their wide adoption for micro-payments. The idea of establishing payment channel networks is one of the many proposed solutions to address this scalability issue where nodes, by utilizing smart contracting, establish payment channels between each other and perform off-chain transactions. However, due to the way these channels are created, both sides have a certain one-way capacity for making transactions. Consequently, if one sides exceeds this one-way capacity, the channel becomes useless in that particular direction, which causes failures of payments and eventually creates an imbalance in the overall network. To keep the payment channel network sustainable, in this paper, we aim to increase the overall success rate of payments by effectively exploiting the fact that end-users are usually connected to the network at multiple points (i.e., gateways) any of which can be used to initiate the payment. We propose an efficient method for selection of the gateway for a user by considering the gateways inbound and outbound payment traffic ratio. We then augment this proposed method with split payment capability to further increase success rate especially for large transactions. The evaluation of the proposed method shows that compared to greedy and maxflow-based approaches, we can achieve much higher success rates, which are further improved with split payments.
Blockchain-based cryptocurrencies received a lot of attention recently for their applications in many domains. IoT domain is one of such applications, which can utilize cryptocur-rencies for micro payments without compromising their payment privacy. However, long confirmation times of transactions and relatively high fees hinder the adoption of cryptoccurency based micro-payments. The payment channel networks is one of the proposed solutions to address these issue where nodes establish payment channels among themselves without writing on blockchain. IoT devices can benefit from such payment networks as long as they are capable of sustaining their overhead. Payment channel networks pose unique characteristics as far as the routing problem is concerned. Specifically, they should stay balanced to have a sustainable network for maintaining payments for longer times, which is crucial for IoT devices once they are deployed.In this paper, we present a payment channel network design that aims to keep the channels balanced by using a common weight policy across the network. We additionally propose using multi-point connections to nodes for each IoT device for unbalanced payment scenarios. The experiment results show that we can keep the channels in the network more equally balanced compared to the minimal fee approach. In addition, multiple connections from IoT devices to nodes increase the success ratio significantly.
Cryptocurrencies redefined how money can be stored and transferred among users. However, independent of the amount being sent, public blockchain-based cryptocurrencies suffer from high transaction waiting times and fees. These drawbacks hinder the wide use of cryptocurrencies by masses. To address these challenges, payment channel network concept is touted as the most viable solution to be used for micro-payments. The idea is exchanging the ownership of money by keeping the state of the accounts locally. The users inform the blockchain rarely, which decreases the load on the blockchain. Specifically, payment channel networks can provide transaction approvals in seconds by charging a nominal fee proportional to the payment amount. Such attraction on payment channel networks inspired many recent studies which focus on how to design them and allocate channels such that the transactions will be secure and efficient. However, as payment channel networks are emerging and reaching large number of users, privacy issues are becoming more relevant that raise concerns about exposing not only individual habits but also businesses revenues. In this paper, we first propose a categorization of the existing payment networks formed on top of blockchain-backed cryptocurrencies. After discussing several emerging attacks on user/business privacy in these payment channel networks, we qualitatively evaluate them based on a number of privacy metrics that relate to our case. Based on the discussions on the strengths and weaknesses of the approaches, we offer possible directions for research for the future of privacy based payment channel networks.
This paper initiates the study of demand-aware payment channel networks: offchain cryptocurrency networks whose topology is optimized toward the demand (i.e., financial transactions) it currently serves. In particular, we present a model and optimization framework which allows to compute where to optimally establish virtual payment channels: virtual payment channels allow to avoid intermediaries when routing payments, and hence to reduce fees and latency; however, establishing payment channels also comes at a cost.
Smart contracts are programs running on blockchain to execute transactions. When input constraints or security properties are violated at runtime, the transaction being executed by a smart contract needs to be reverted to avoid undesirable consequences. On Ethereum, the most popular blockchain that supports smart contracts, developers can choose among three transaction-reverting statements (i.e., require, if...revert, and if...throw) to handle anomalous transactions. While these transaction-reverting statements are vital for preventing smart contracts from exhibiting abnormal behaviors or suffering malicious attacks, there is limited understanding of how they are used in practice. In this work, we perform the first empirical study to characterize transaction-reverting statements in Ethereum smart contracts. We measured the prevalence of these statements in 3,866 verified smart contracts from popular dapps and built a taxonomy of their purposes via manually analyzing 557 transaction-reverting statements. We also compared template contracts and their corresponding custom contracts to understand how developers customize the use of transaction-reverting statements. Finally, we analyzed the security impact of transaction-reverting statements by removing them from smart contracts and comparing the mutated contracts against the original ones. Our study led to important findings, which can shed light on further research in the broad area of smart contract quality assurance and provide practical guidance to smart contract developers on the appropriate use of transaction-reverting statements.
The power of networks manifests itself in a highly non-linear amplification of a number of effects, and their weakness - in propagation of cascading failures. The potential systemic risk effects can be either exacerbated or mitigated, depending on the resilience characteristics of the network. The goals of this paper are to study some characteristics of network amplification and resilience. We simulate random Erdos-Renyi networks and measure amplification by varying node capacity, transaction volume, and expected failure rates. We discover that network throughput scales almost quadratically with respect to the node capacity and that the effects of excessive network load and random and irreparable node faults are equivalent and almost perfectly anticorrelated. This knowledge can be used by capacity planners to determine optimal reliability requirements that maximize the optimal operational regions.