Ostraka: Secure Blockchain Scaling by Node Sharding

Alex Manuskin,Michael Mirkin,Ittay Eyal
DOI: https://doi.org/10.48550/arXiv.1907.03331
2020-09-16
Abstract:Cryptocurrencies, implemented with blockchain protocols, promise to become a global payment system if they can overcome performance limitations. Rapidly advancing architectures improve on latency and throughput, but most require all participating servers to process all transactions. Several recent works propose to shard the system, such that each machine would only process a subset of the transactions. However, we identify a denial-of-service attack that is exposed by these solutions - an attacker can generate transactions that would overload a single shard, thus delaying processing in the entire system. Moreover, we show that in common scenarios, these protocols require most node operators to process almost all blockchain transactions. We present Ostraka, a blockchain node architecture that shards (parallelizes) the nodes themselves. We prove that replacing a unified node with an Ostraka node does not affect the security of the underlying consensus mechanism. We evaluate analytically and experimentally block propagation and processing in various settings. Ostraka allows nodes in the network to scale, without costly coordination. In our experiments, Ostraka nodes' transaction processing rate grows linearly with the addition of resources.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the challenges of blockchain systems in performance expansion, especially how to increase the transaction processing speed and reduce the load of a single node while maintaining the security of the system. Specifically, the paper analyzes the problems existing in the existing sharding schemes and proposes a new architecture named Ostraka to solve these problems. ### Main problems: 1. **Limitations of existing solutions**: - Although the existing sharding schemes can improve the throughput of the system, they are vulnerable to denial - of - service (DoS) attacks. Attackers can overload a shard by generating a large number of transactions, thus affecting the performance of the entire system. - In the case of uneven resource distribution (such as most popular cryptocurrency systems), the security and performance of these sharding schemes will decline significantly because they rely on each node to process almost all blockchain transactions. 2. **The need for node expansion**: - As the number of transactions increases and the blockchain lengthens, it is difficult for a single node to keep up with the processing requirements, and the existing designs cannot scale as the demand grows. - A new architecture is needed so that nodes can linearly expand their processing capabilities to meet network requirements without sacrificing security. ### Solutions: The paper proposes Ostraka, a new type of blockchain node architecture that achieves linear expansion through node sharding technology. The main features of Ostraka include: 1. **Internal data distribution within nodes**: - The data structures within each Ostraka node (such as the mempool, UTXO set, and blockchain storage) are distributed across multiple machines (called node shards NSs). - In this way, each node can vertically expand its processing capabilities without the need for complex coordination mechanisms. 2. **Efficient and secure data access**: - To ensure the efficiency and security of data access, Ostraka uses a special hash function (NewTxHash = SHA - 256(TxHash || salt)), where salt is a randomly generated value used to prevent attackers from overloading a node shard by generating specific transactions. - This method ensures the uniform distribution of transactions while allowing for quick transaction lookup. 3. **Out - of - order block verification**: - Ostraka allows the transactions within a block to be verified in an out - of - order manner, which avoids the dependencies brought by traditional topological sorting and reduces the coordination overhead between nodes. - In this way, Ostraka achieves efficient parallel processing and improves the transaction processing speed. 4. **Theoretical and experimental verification**: - The paper verifies the performance and security of Ostraka through theoretical analysis and experimental verification. The experimental results show that the transaction processing rate of Ostraka nodes increases linearly with the increase of resources, reaching nearly 400 ktransactions/s. ### Conclusion: Ostraka provides an effective solution that can significantly improve the transaction processing speed and the node expansion ability while maintaining the security of the blockchain system. This architecture is especially suitable for environments with uneven resource distribution, such as most existing cryptocurrency systems.