Anomaly detection through Temporal Graph Neural Networks (thoughts?)

Hi there research community,
I was directed by the Ethereum Support Program to convey our research direction to the community to gauge interest and applicability so any thoughts would be appreciated (please check out the github). Here’s what we intend to do:

To build a temporal (dynamic) graph representation of all block transactions. Which will allow us to then leverage (and extend) the deep learning frameworks based on dynamic graph neural networks / temporal graph neural networks to extract valuable insight from the transaction network at scale.

For an overview of dynamic graphs please see “Representation Learning for Dynamic Graphs: A Survey” by Kazemi, S. (2020)

The aim is to classify either a single transactions (or wallet) or a series of transactions based on the relative relations from both past and present interactions represented as a transaction graph that evolves over time from the Ethereum blockchain network and develop new TGN (temporal graph neural networks) methodologies in the process.

Typically, we divide the application cases in 3 parts:

We have quite extensive experience applying these techniques to social networks (predicting future connections via Twitter), road networks (predicting traffic load in a sector of the network and detecting road blockages through network dynamics) and detecting anomalies in multi-input industrial processes and believe there is significant value and insight to be added to the Ethereum network.

Such use cases:

  • Peer Discovery
  • Network Anomaly detection
  • P2P Network Health

These two objectives closely align with two of the academic-grants-wishlist-2023 items:

  • Networking & P2P: “Tools & techniques for analysis of p2p network health, early detection of attacks, identification of p2p bugs, overall data analysis, etc.”
  • Security: “Machine Learning on a network level to find anomalies and enable early warning systems for issues that start occurring”

Additional background

Application example

We also rested it on a small semi-supervised (mostly unlabeled) bitcoin transaction graph and got promising results

Heres a temporal snapshot of blocks 16577361->16577370

Contact me or reply here

Feel free to contact me or reply here if your a researcher in this area and wish to collaborate

p.s. Also if you have any input regarding labelling and/or data (apart from whats available via etherscan) we would be very grateful