21 research outputs found
SimBlock: A Blockchain Network Simulator
Blockchain, which is a technology for distributedly managing ledger
information over multiple nodes without a centralized system, has elicited
increasing attention. Performing experiments on actual blockchains are
difficult because a large number of nodes in wide areas are necessary. In this
study, we developed a blockchain network simulator SimBlock for such
experiments. Unlike the existing simulators, SimBlock can easily change
behavior of node, so that it enables to investigate the influence of nodes'
behavior on blockchains. We compared some simulation results with the measured
values in actual blockchains to demonstrate the validity of this simulator.
Furthermore, to show practical usage, we conducted two experiments which
clarify the influence of neighbor node selection algorithms and relay networks
on the block propagation time. The simulator could depict the effects of the
two techniques on block propagation time. The simulator will be publicly
available in a few months.Comment: Proc. 2nd Workshop on Cryptocurrencies and Blockchains for
Distributed Systems (CryBlock 2019) (in conj. with INFOCOM 2019
Attestation of Improved SimBlock Node Churn Simulation
Node churn, or the constant joining and leaving of nodes in a network, can impact the performance of a blockchain network. The difficulties of performing research on the actual blockchain network, particularly on a live decentralized global network like Bitcoin, pose challenges that good simulators can overcome. While various tools, such as NS-3 and OMNet++, are useful for simulating network behavior, SimBlock is specifically designed to simulate the complex Bitcoin blockchain network. However, the current implementation of SimBlock has limitations when replicating actual node churn activity. In this study, the SimBlock simulator was improved to simulate node churn more accurately by removing churning nodes and dropping their connections and increasing additional instrumentation for validation. The methodology used in the study involved modeling the Bitcoin node churn behavior based on previous studies and using the enhanced SimBlock simulator to simulate node churn. Empirical studies were then conducted to determine the suitability and limitations of the node churn simulation. This study found that the improved SimBlock could produce results similar to observed indicators in a 100-node network. However, it still had limitations in replicating node churn behavior accurately. It was discovered that SimBlock limits all nodes to operate as mining nodes and that mining is simulated in a way that does not depict churn accurately at any time but only at specific intervals or under certain conditions. Despite these limitations, the study’s improvements to SimBlock and the identification of its limitations can be useful for future research on node churn in blockchain networks and the development of more effective simulation tools
A Comparative Analysis on Volatility and Scalability Properties of Blockchain Compression Protocols
Increasing popularity of trading digital assets can lead to significant
delays in Blockchain networks when processing transactions. When transaction
fees become miners' primary revenue, an imbalance in reward may lead to miners
adopting deviant mining strategies. Scaling the block capacity is one of the
potential approaches to alleviate the problem. To address this issue, this
paper reviews and evaluates six state-of-the-art compression protocols for
Blockchains. Specifically, we designed a Monte Carlo simulation to simulate two
of the six protocols to observe their compression performance under larger
block capacities. Furthermore, extensive simulation experiments were conducted
to observe the mining behaviour when the block capacity is increased.
Experimental results reveal an interesting trade-off between volatility and
scalability. When the throughput is higher than a critical point, it worsens
the volatility and threatens Blockchain security. In the experiments, we
further analyzed the relationship between volatility and scalability properties
with respect to the distribution of transaction values. Based on the analysis
results, we proposed the recommended maximum block size for each protocol. At
last, we discuss the further improvement of the compression protocols
Denial-of-Service Vulnerability of Hash-based Transaction Sharding: Attacks and Countermeasures
Since 2016, sharding has become an auspicious solution to tackle the
scalability issue in legacy blockchain systems. Despite its potential to
strongly boost the blockchain throughput, sharding comes with its own security
issues. To ease the process of deciding which shard to place transactions,
existing sharding protocols use a hash-based transaction sharding in which the
hash value of a transaction determines its output shard. Unfortunately, we show
that this mechanism opens up a loophole that could be exploited to conduct a
single-shard flooding attack, a type of Denial-of-Service (DoS) attack, to
overwhelm a single shard that ends up reducing the performance of the system as
a whole.
To counter the single-shard flooding attack, we propose a countermeasure that
essentially eliminates the loophole by rejecting the use of hash-based
transaction sharding. The countermeasure leverages the Trusted Execution
Environment (TEE) to let blockchain's validators securely execute a transaction
sharding algorithm with a negligible overhead. We provide a formal
specification for the countermeasure and analyze its security properties in the
Universal Composability (UC) framework. Finally, a proof-of-concept is
developed to demonstrate the feasibility and practicality of our solution
Detecting Selfish Mining Attacks Against a Blockchain Using Machine Learing
Selfish mining is an attack against a blockchain where miners hide newly discovered blocks instead of publishing them to the rest of the network. Selfish mining has been a potential issue for blockchains since it was first discovered by Eyal and Sirer. It can be used by malicious miners to earn a disproportionate share of the mining rewards or in conjunction with other attacks to steal money from network users. Several of these attacks were launched in 2018, 2019, and 2020 with the attackers stealing as much as $18 Million. Developers made several different attempts to fix this issue, but the effectiveness of the fixes is currently unknown. Despite the known vulnerability, there is little researching into detecting these attacks either historically or in real-time. In this research, we build a program to gather data from known selfish mining attacks against the Ethereum Classic blockchain. We then use this data to train a machine-learning algorithm to discover the important features for detecting selfish mining