검색 상세

블록체인 샤딩 환경에서 트랜잭션 수행 시간을 고려한 부하 분산 방법

Load Balancing Method Considering Transaction Execution Time in Blockchain Sharding Environment

초록/요약

현재 블록체인을 활용한 다양한 플랫폼과 탈중앙화 분산 어플리케이션이 등장하면서 블록체인 사용자가 증가하고 있다. 사용자가 증가함에 따라 블록체인 수요가 늘어나면서 블록체인 확장성 문제를 해결하기 위한 다양한 방법들이 제시되고 있다. 본 연구의 주제로 선택한 이더리움 플랫폼은 다양한 확장성 문제 해결 방법 중 샤딩을 도입하기 위해 준비 중에 있다. 샤딩은 샤드 단위의 여러 체인을 생성하고 계정을 각 샤드에 배정하여 트랜잭션을 병렬로 처리하여 트랜잭션 처리량을 높이는 방법이다. 현재 이더리움에서 계정 주소의 앞자리를 기준으로 각 샤드에 계정을 배치한다. 이 방법은 각 샤드의 부하를 고려하지 않으며, 각 계정의 트랜잭션 요청량을 고려하지 않아 특정 샤드에 부하가 집중되는 현상이 발생할 수 있다. 각 샤드의 부하를 분산시키기 위해 가스 소모량을 인지한 계정 재배치 방법이 제안되었지만, 실제 트랜잭션 수행 시간을 정확하게 반영하지 못하고 있어 트랜잭션을 처리하는 속도가 달라 실제로 부하 부산이 제대로 이루어지지 않는다. 본 논문에서는 트랜잭션의 수행 시간을 반영하여 각 샤드에 부하를 분산시키는 트랜잭션 수행 시간을 고려한 계정 재배치 방법을 제안한다. 트랜잭션 수행 시간을 고려한 계정 재배치 방법으로 부하를 분산하는 경우 주소 기반 배치 방법보다 콜레이션 표준편차가 평균 83% 감소하였으며, 수행 시간 표준편차는 39%, 가스 소모량을 인지한 계정 재배치 방법 보다 콜레이션 표준편차는 평균 10%, 수행 시간 표준편차는 평균 7% 감소하였다.

more

초록/요약

As various platforms and decentralized applications using blockchains are emerging, the number of blockchain users is increasing. However, as the number of users increases, the demands for the blockchain increases, and thus, various methods to solve the problem of blockchain scalability are being proposed. The Ethereum platform, selected as the subject of this study, is preparing to introduce sharding among other various methods to solve the scalability problems. Sharding is a method of increasing transaction throughput by creating multiple chains of shard units and assigning accounts to each shard to process transactions in parallel. Currently, Ethereum places an account in each shard based on the prefix of the account address. This method does not consider the load of each shard, and also the transaction request amount of each account, which may cause a phenomenon in which the load is concentrated on a specific shard. In order to distribute the load of each shard, an account relocation method that recognizes gas consumption was proposed. However, the gas measured in Ethereum is designed to take 1μs(microseconds) to process 1 gas, but it does not accurately reflect the actual transaction execution time. If the accounts are relocated based on gas consumption, gas is evenly distributed, but because the transaction processing speed is different, the load balancing is not properly processed. In this paper, we propose an account relocation method to distribute the load to each shard by reflecting the transaction execution time. When the load is distributed by the account relocation method considering the transaction execution time, compared to the address-based relocation method, the collation standard deviation is reduced by 83% on average, and the standard deviation of execution time is reduced by 39%. Compared to the account relocation method which recognizes gas consumption, the relocation method that considers the transaction execution time reduces the collation standard deviation by an average of 10%, and the performance time standard deviation by an average of 7%, respectively.

more