Розробка методу виявлення та ідентифікації вузлів блокчейн мережі Rootstock

Автор(и)

  • Ярослав Юрійович Дорогий Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Україна https://orcid.org/0000-0003-3848-9852
  • Вадим Юрійович Колісніченко Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Україна https://orcid.org/0009-0009-6472-2807

DOI:

https://doi.org/10.15587/1729-4061.2024.297903

Ключові слова:

виявлення вузлів, краулінг мережі, peer-to-peer мережі, Rootstock блокчейн, Kademlia, децентралізація

Анотація

Об’єктом дослідження є протокол виявлення вузлів блокчейн мережі Rootstock та засоби краулінгу. Протоколи пошуку вузлів є основою будь-якої децентралізованої peer-to-peer мережі. У блокчейн системах повні вузли зберігають і підтримують повну копію всіх транзакцій виконаних у мережі. Однак вони не зберігають інформацію про всі інші вузли в мережі, таку як їхні ідентифікатори або IP-адреси. Кожен вузол зазвичай підтримує неповний список вузлів, до яких він підключається з метою обміну блокчейн даними. У децентралізованих мережах вузли приєднуються до мережі та залишають її, а їхні IP-адреси можуть змінюватися, що робить непрактичним підтримувати повний актуальний список усіх вузлів. Тому, єдиний спосіб отримати список усіх вузлів мережі – це послідовно опитати кожен вузол.

Розроблений метод полягає у відправці спеціально сформованих повідомлень до вузлів для отримання їх сусідів. Алгоритм пошуку на графі застосовується для обходу усіх отриманих сусідніх вузлів. Це дозволяє послідовно виявити усі вузли мережі. Визначення потрібної послідовності повідомлень потребує попереднього аналізу програмного забезпечення вузла RSKj в частині протоколу пошуку вузлів.

Ефективність запропонованого методу перевірена за допомогою розробленого програмного забезпечення та експерименту у основній мережі. Розгорнуто 6 перевірочних вузлів у різних фізичних локаціях та у різний час. Усі перевірочні вузли були виявлені менше ніж за 10 хвилин. Розробленим методом виявлено 222 вузла, які мають 209 унікальних IP-адрес.

Результати цього дослідження показують як проводити аналіз протоколу виявлення вузлів для вибраної мережі. Вони надають засоби для отримання інформації про доступні вузли блокчейн системи Rootstock, що дозволяє аналізувати як блокчейн-мережу загалом, так і окремі вузли

Біографії авторів

Ярослав Юрійович Дорогий, Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

Доктор технічних наук, доцент

Кафедра інформаційних систем та технологій

Вадим Юрійович Колісніченко, Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

Аспірант

Кафедра інформатики та програмної інженерії

Посилання

  1. Dorogiy, Y., Kolisnichenko, V. (2023). Application of logging in various participants of blockchain networks for de-anonymization of the end user. Herald of Khmelnytskyi national university, 1 (5), 60–66. Available at: http://journals.khnu.km.ua/vestnik/?p=20028
  2. Ethereum staking. Available at: https://ethereum.org/staking
  3. Smart contracts secured by Bitcoin. Available at: https://rootstock.io/
  4. Lerner, S. D. (2020). Building the Most Secure, Permissionless and Uncensorable Bitcoin Peg. Available at: https://medium.com/iovlabs-innovation-stories/building-the-most-secure-permissionless-and-uncensorable-bitcoin-peg-b5dc7020e5ec
  5. Howell, A., Saber, T., Bendechache, M. (2023). Measuring node decentralisation in blockchain peer to peer networks. Blockchain: Research and Applications, 4 (1), 100109. https://doi.org/10.1016/j.bcra.2022.100109
  6. Grundmann, M., Amberg, H., Hartenstein, H. (2021). On the Estimation of the Number of Unreachable Peers in the Bitcoin P2P Network by Observation of Peer Announcements. arXiv. Available at: https://doi.org/10.48550/ARXIV.2102.12774
  7. Eisenbarth, J.-P., Cholez, T., Perrin, O. (2022). Ethereum’s Peer-to-Peer Network Monitoring and Sybil Attack Prevention. Journal of Network and Systems Management, 30 (4). https://doi.org/10.1007/s10922-022-09676-2
  8. Henningsen, S., Teunis, D., Florian, M., Scheuermann, B. (2019). Eclipsing Ethereum Peers with False Friends. arXiv. Available at: https://doi.org/10.48550/ARXIV.1908.10141
  9. Deshpande, V., Badis, H., George, L. (2018). BTCmap: Mapping Bitcoin Peer-to-Peer Network Topology. 2018 IFIP/IEEE International Conference on Performance Evaluation and Modeling in Wired and Wireless Networks (PEMWN). https://doi.org/10.23919/pemwn.2018.8548904
  10. Xu, D., Gao, J., Zhu, L., Gao, F., Zhao, J. (2023). Statistical and clustering analysis of attributes of Bitcoin backbone nodes. PLOS ONE, 18 (11), e0292841. https://doi.org/10.1371/journal.pone.0292841
  11. Li, K., Tang, Y., Chen, J., Wang, Y., Liu, X. (2021). TopoShot: Uncovering Ethereum’s Network Topology Leveraging Replacement Transactions. arXiv. Available at: https://doi.org/10.48550/ARXIV.2109.14794
  12. Miller, A. K., Litton, J., Pachulski, A., Gupta, N., Levin, D., Spring, N., Bhattacharjee, B. (2015). Discovering Bitcoin’s Public Topology and Influential Nodes. Available at: https://www.cs.umd.edu/projects/coinscope/coinscope.pdf
  13. Rohrer, E., Tschorsch, F. (2019). Kadcast. Proceedings of the 1st ACM Conference on Advances in Financial Technologies. https://doi.org/10.1145/3318041.3355469
  14. Neudecker, T. (2019). Characterization of the Bitcoin Peer-to-Peer Network (2015-2018). Karlsruhe. Available at: https://doi.org/10.5445/IR/1000091933
  15. Eyong, M. (2019). Analyzing the Peer-to-Peer Network of Ethereum. Available at: https://www.researchgate.net/publication/354149867_Analyzing_the_Peer-to-Peer_Network_of_Ethereum
  16. Wang, T., Zhao, C., Yang, Q., Zhang, S., Liew, S. C. (2021). Ethna: Analyzing the Underlying Peer-to-Peer Network of Ethereum Blockchain. IEEE Transactions on Network Science and Engineering, 8 (3), 2131–2146. https://doi.org/10.1109/tnse.2021.3078181
  17. Wolchok, S., Halderman, J. (2010). Crawling BitTorrent DHTs for fun and profit. 4th USENIX Workshop on Offensive Technologies (WOOT ’10), Washington, D.C. Available at: https://jhalderm.com/pub/papers/dht-woot10.pdf
  18. rskj: RSKj is a Java implementation of the RSK protocol. Available at: https://github.com/rsksmart/rskj
  19. Node Discovery Protocol. Available at: https://github.com/ethereum/devp2p/blob/master/discv4.md
  20. Sedgewick, R., Wayne, K. (2011). Algorithms. Addison-Wesley Professional.
  21. SSD VPS Servers, Cloud Servers and Cloud Hosting. Available at: https://www.vultr.com/
  22. Vultr API. Available at: https://www.vultr.com/api/
  23. Hardware requirements. Available at: https://dev.rootstock.io/rsk/node/install/requirements/
  24. Maymounkov, P., Mazières, D. (2002). Kademlia: A Peer-to-Peer Information System Based on the XOR Metric. Lecture Notes in Computer Science, 53–65. https://doi.org/10.1007/3-540-45748-8_5
  25. PeerExplorer.java. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/java/co/rsk/net/discovery/PeerExplorer.java
  26. NodeDistanceTable.java. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/java/co/rsk/net/discovery/table/NodeDistanceTable.java
  27. KademliaOptions.java. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/java/co/rsk/net/discovery/table/KademliaOptions.java
  28. ECKey.java. Available at: https://github.com/rsksmart/rskj/blob/6dde0cdeeb2138e61dc845810eaa8ce55a8d2b7f/rskj-core/src/main/java/org/ethereum/crypto/ECKey.java#L287
  29. DistanceCalculator.java. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/java/co/rsk/net/discovery/table/DistanceCalculator.java
  30. PeerDiscoveryMessageFactory.java. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/java/co/rsk/net/discovery/message/PeerDiscoveryMessageFactory.java
  31. PeerExplorer.java. L221. Available at: https://github.com/rsksmart/rskj/blob/e06686fe83554c6381db207857e13b6e76e79ace/rskj-core/src/main/java/co/rsk/net/discovery/PeerExplorer.java#L221
  32. PeerExplorer.java. L319. Available at: https://github.com/rsksmart/rskj/blob/e06686fe83554c6381db207857e13b6e76e79ace/rskj-core/src/main/java/co/rsk/net/discovery/PeerExplorer.java#L319
  33. main.conf. Available at: https://github.com/rsksmart/rskj/blob/master/rskj-core/src/main/resources/config/main.conf#L32
  34. Geolocation DB. Available at: https://geolocation-db.com/json/
  35. geojson.io. Available at: https://geojson.io/
Розробка методу виявлення та ідентифікації вузлів блокчейн мережі Rootstock

##submission.downloads##

Опубліковано

2024-02-28

Як цитувати

Дорогий, Я. Ю., & Колісніченко, В. Ю. (2024). Розробка методу виявлення та ідентифікації вузлів блокчейн мережі Rootstock. Eastern-European Journal of Enterprise Technologies, 1(2 (127), 6–15. https://doi.org/10.15587/1729-4061.2024.297903