У сучасних блокчейн-системах смарт-контракти є одним із найважливіших компонентів для забезпечення
автоматизованого виконання угод без необхідності посередників. Проте, смарт-контракти, написані на таких мовах, як
Solidity, можуть містити вразливості, які можуть бути використані зловмисниками для викрадення коштів або маніпуляцій з
активами. Зважаючи на зростаючу кількість атак на смарт-контракти, розробка ефективних методів для їх виявлення є
критично важливою. Традиційні підходи до виявлення вразливостей у смарт-контрактах включають символьне виконання,
фаззинг, формальну верифікацію та пошук шаблонів. Ці методи мають свої переваги, проте стикаються з низкою проблем,
таких як високе споживання ресурсів, обмеженість у виявленні нових типів вразливостей та неможливість масштабування
на великі контракти. У зв'язку з цим виникає необхідність у впровадженні нових підходів, таких як обробка природної мови
(NLP) та машинне навчання, які можуть ефективніше вирішувати ці завдання. У даному дослідженні було розглянуто метод
на основі NLP, який використовує Word2Vec для перетворення коду смарт-контракту у векторні представлення, що
дозволяє краще аналізувати семантичні зв’язки між елементами коду. Далі ці векторні представлення подаються на вхід
двонаправленої рекурентної нейронної мережі з блоками GRU та механізмом уваги. Такий підхід дозволяє моделі
фокусуватися на найбільш важливих частинах коду та покращувати точність виявлення вразливостей. Проведений
порівняльний аналіз показав, що методи на основі NLP значно перевершують класичні підходи в усіх ключових метриках.
Зокрема, модель GRU з механізмом уваги показала високі результати в точності, повноті та F-міри, що робить її
ефективною для виявлення складних вразливостей, таких як повторний вхід. Крім того, підхід на основі NLP має здатність
адаптуватися до нових типів атак завдяки навчанню на великих наборах даних. Таким чином, інтеграція NLP та машинного
навчання є перспективним напрямом для підвищення безпеки смарт-контрактів. Подальші дослідження можуть бути
спрямовані на вдосконалення цих підходів, зокрема через впровадження новітніх моделей, таких як трансформери.
In modern blockchain systems, smart contracts are one of the most critical components for ensuring the automated execution of
agreements without the need for intermediaries. However, smart contracts written in languages like Solidity may contain
vulnerabilities that can be exploited by malicious actors to steal funds or manipulate assets. Given the increasing number of attacks
on smart contracts, the development of effective methods for detecting such vulnerabilities is crucial. Traditional approaches to
detecting vulnerabilities in smart contracts include symbolic execution, fuzzing, formal verification, and pattern matching. These
methods have their advantages but face several challenges, such as high resource consumption, limitations in detecting new types of
vulnerabilities, and difficulties in scaling to large contracts. As a result, there is a need to introduce new approaches, such as natural
language processing (NLP) and machine learning, which can address these challenges more effectively. In this study, an NLP-based
method was explored, using Word2Vec to convert smart contract code into vector representations, allowing for better analysis of the
semantic relationships between elements of the code. These vector representations are then fed into a bidirectional recurrent neural
network with GRU blocks and an attention mechanism. This approach allows the model to focus on the most important parts of the
code and improve the accuracy of vulnerability detection. The comparative analysis showed that NLP-based methods significantly
outperform traditional approaches in all key metrics. In particular, the GRU model with an attention mechanism demonstrated high
results in accuracy, recall, and F-measure, making it effective for detecting complex vulnerabilities such as reentrancy. Furthermore,
the NLP-based approach is capable of adapting to new types of attacks thanks to training on large datasets. Thus, the integration of
NLP and machine learning represents a promising direction for enhancing the security of smart contracts. Future research can focus
on improving these approaches, particularly through the implementation of advanced models such as transformers.