DOI QR코드

DOI QR Code

Adaptive Load Balancing Algorithm of Ethereum Shard Using Bargaining Solution

협상 해법을 이용한 이더리움 샤드 부하 균형 알고리즘

  • Received : 2020.06.17
  • Accepted : 2020.09.06
  • Published : 2021.04.30

Abstract

The Ethereum shard system for solving the scalability problem of the blockchain has a load balancing issue, which is modeled as a graph partitioning problem. In this paper, we propose an adaptive online weighted graph partitioning algorithm that can negotiate between two utility of the shard system using the game theory's bargaining solution. The bargaining solution is an axiomatic solution that can fairly determine the points of conflict of utility. The proposed algorithm was improved to apply the existing online graph partitioning algorithm to the weighted graph, and load balancing was performed efficiently through the design considering the situation of the sharding system using the extension of Nash bargaining solution, which is extended to apply solution to non-convex feasible set of bargaining problem. As a result of the experiment, it showed up to 37% better performance than typical load balancing algorithm of shard system.

블록체인의 확장성 문제를 해결하기 위한 이더리움 샤드 시스템은 부하 균형 문제가 존재하며 이는 그래프 분할 문제로 모델링된다. 본 논문에서는 게임 이론의 협상 해법을 사용하여 이더리움 샤드 시스템의 상반된 효용에 대한 협상이 가능한 적응적 온라인 가중그래프 분할 알고리즘을 제안한다. 게임 이론의 협상 해법은 상반된 효용의 협상점을 공정하게 결정할 수 있는 공리적 해법이다. 제안 알고리즘은 기존 온라인 그래프 분할 알고리즘을 가중그래프에 적용할 수 있도록 개선하였으며 대표적인 교섭 해법인 내쉬 협상 해법을 확장한 확장 내쉬 협상 해법을 사용하여 이더리움 시스템 상황을 고려한 설계를 통해 효과적으로 부하 균형을 수행하였다. 실험 결과, 대표적인 온라인, 오프라인 그래프 분할 알고리즘에 비해 최대 37% 우수한 성능을 보였다.

Keywords

Acknowledgement

이 논문은 과학기술정보통신부 및 정보통신기획평가원의 대학 ICT연구센터 지원사업의 연구결과로 수행되었음(IITP-2020-2018-0-01799).

References

  1. S. Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System [Internet], https://bitcoin.org/bitcoin.pdf
  2. V. Buterin, "A next-generation smart contract and decentralized application platform," Etherum, No. Jan., pp. 1-36, 2014.
  3. S. Zhang and J. Lee, "Analysis of the main consensus protocols of blockchain," ICT Express, Vol.6, No.2, pp.93-97, 2020.
  4. Ethereum Wiki, Sharding introduction R&D compendium [Internet], https://github.com/ethereum/wiki/wiki/Sharding-introduction-R&D-compendium.
  5. Ethereum Wiki, Sharding FAQ [Internet], https://github.com/ethereum/wiki/wiki/Sharding-FAQ#what-is-the-train-and-hotel-problem.
  6. Wikipedia, Graph partition [Internet], https://en.wikipedia.org/wiki/Graph_partition.
  7. S. Kim, J. Song, S. Woo, Y. Kim, and S. Park, "Gas consumption-aware dynamic load balancing in ethereum sharding environments," 2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems (FAS*W), Umea, Sweden, pp.188-193, 2019.
  8. S. Woo, J. Song, S. Kim, Y. Kim, and S. Park, "GARET: improving throughput using gas consumption-aware relocation in Ethereum sharding environments," Cluster Computing, 2020.
  9. J. Nash, "Two-Person Cooperative Games," Econometrica, Vol.21, No.1, pp.128, 1953. https://doi.org/10.2307/1906951
  10. J. Conley and S. Wilkie, "An Extension of the Nash Bargaining Solution to Nonconvex Problems," Games and Economic Behavior, Vol.13, No.1, pp.26-38, 1996. Available: 10.1006/game.1996.0023
  11. B. W. Kernighan and S. Lin, "An efficient heuristic procedure for partitioning graphs," Bell System Technical Journal, Vol.49, No.2, pp.291-307, 1970. https://doi.org/10.1002/j.1538-7305.1970.tb01770.x
  12. G. Karypis and V. Kumar, "MeTiS: A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices, Version 3.0," Univ. of Minnesota, Dept. of Computer Science and Engineering, Army HPC Research Center, Minneapolis, Minn., 1998.
  13. I. Stanton and G. Kliot, "Streaming graph partitioning for large distributed graphs," Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD '12, 2012.
  14. C. Tsourakakis, C. Gkantsidis, B. Radunovic, and M. Vojnovic. Fennel: Streaming graph partitioning for massive scale graphs. Microsoft Technical Report MSR-TR-2012-113, 2012.
  15. Hash.Kr, Oracle Problem [Internet], http://wiki.hash.kr/index.php/%EC%98%A4%EB%9D%BC%ED%81%B4_%EB%AC%B8%EC%A0%9C.
  16. J. Nash, "Two-Person Cooperative Games," Econometrica, Vol.21, No.1, pp.128, 1953. https://doi.org/10.2307/1906951
  17. J. Conley and S. Wilkie, "An Extension of the Nash Bargaining Solution to Nonconvex Problems," Games and Economic Behavior, Vol.13, No.1, pp.26-38, 1996. Available: 10.1006/game.1996.0023
  18. Etherscan, The Ethereum block explorer [Internet]. http://etherscan.io.