Trajectory-Based Behavioral Analytics for Blockchain Systems
Abstract
1. Introduction
2. Related Works
2.1. EQL
2.2. EtherQL
2.3. Quorum-Based SQL Query System
2.4. The Graph
2.5. vChain
- (i)
- Time-window query: This query type allows users to query transactions of a given time interval. For example, the query: q = ⟨[2026/05, 2026/06], [1, +∞], sender: 1FFYc ∧ recipient: 2DAAf⟩ returns all transactions from May to June 2026, with a value greater than or equal to one unit ([1, +∞]), associated with the addresses 1FFYc (sender address) and 2DAAf (recipient address).
- (ii)
- Subscription query: This query type allows users to query transactions over an open time interval, with results updated continuously in real time. For example, the query: q = ⟨-, [1, 3], sender: 1FFYc⟩ returns all transactions whose value lies between 1 and 3 units, associated with the address 1FFYc (sender address). Whenever a new transaction satisfying these conditions is recorded, it is automatically appended to the result; this will continue until the query is removed by the user.
2.6. A Blockchain Framework with Spatio-Temporal Query Capabilities
- (i)
- Temporal range query: Given a time interval β, this query returns the header of those blocks whose intersection of the time interval of the block [startTime, endTime] with β is non-empty. For example, the query σβ = (2026/05/10, 2026/05/20) returns the headers of the blocks containing transactions between 10 and 20 May 2026.
- (ii)
- Spatial range query with hyper-rectangle delimitation: Let D = {x | x ∈ ℝn} be the set of spatial points corresponding to transaction coordinates obtained from a temporal range query. Given a hyper-rectangle q of coordinates q = x, x ∈ ℝn, this query returns all points of D that are inside q. For example, the query σq = ((0,0), (0,4), (4,0), (4,4))(D) returns the points of D located inside the rectangle defined by the vertices (0,0), (0,4), (4,0), and (4,4).
- (iii)
- Spatial range query with hyper-sphere delimitation: Given a set of points D = {x|x ∈ ℝn}, a radius r (r ∈ ℝ+), and a point q = {x}, x ∈ ℝn, this query returns all points in D within the hyper-sphere of radius r centered at q. For example, the query σq = (3, 1), r = 4(D) returns all points of D located inside the circle of radius 4 centered at (3, 1).
- (iv)
- k-nearest neighbors: Given a set of points D = {x | x ∈ ℝn}, a number k (k ∈ ℕ), and a point q = x, x ∈ ℝn, this query returns a subset of k points in D closest to q. For example, the query σk = 2, q = (3, 1)(D) returns the two points in D nearest to (3, 1).
- (v)
- k-nearest neighbors with hyper-sphere delimitation: Given a set of points D = {x|x ∈ ℝn}, a number k (k ∈ ℕ), a radius r (r ∈ ℝ+), and a point q = x, x ∈ ℝn, this query returns a subset of k points in D nearest to q within the hyper-sphere of radius r centered at q. For example, the query σk = 2, q = (3, 1), r = 4(D) returns the two points in D nearest to (3, 1) inside the circle of radius 4 centered at (3, 1).
2.7. Datachain
3. Blockchain Trajectories
3.1. Blockchain DB
- Example 1
3.2. Transaction
- Example 2
3.3. Trajectory
- (a)
- Miner reward trajectory: The miner reward trajectory of a miner represents the history of all blocks mined by the miner during a time interval [startDate, endDate]. Formally, given a BCDB, the miner reward trajectory of idMiner = mnr, mnr ∈ Hash number, is defined over the time interval [startDate, endDate], where startDate ∈ Timestamp, endDate ∈ Timestamp, and startDate ≤ endDate.
- Example 3
| Algorithm 1. Pseudocode for Computing MinerTrajectory |
| Function MinerTrajectory (minerId, startDate, endDate, blockchainData) |
|
| dateBlock BETWEEN startDate AND endDate |
|
|
|
| /*The function ZIP pairs an element from dateList with its corresponding element from rewardList */ |
|
| RETURN trajectory |
| //Main Program |
| Input minerId, startDate, endDate, blockchainData |
|
|
|
- (b)
- Sender value-and-fee trajectory: The sender value-and-fee trajectory of a sender represents the history of outgoing cryptocurrency transfers (outflows) performed by the sender during the interval [startDate, endDate]. Formally, in a similar way to the miner reward trajectory, the sender value-and-fee trajectory of idSender = sdr, where sdr ∈ Hash number, is defined over a BCDB within a time interval [startDate, endDate], with startDate ∈ Timestamp, endDate ∈ timestamp, and startDate ≤ endDate.
- Example 4
- (c)
- Receiver value trajectory: The receiver value trajectory of a receiver represents the history of the cryptocurrency inflows of the receiver during [startDate, endDate]. Formally, the receiver value trajectory for idReceiver = rcvr, where rcvr ∈ Hash number, is defined over a BCDB during a time interval [startDate, endDate], with startDate ∈ Timestamp, endDate ∈ timestamp, and startDate ≤ endDate.
- Example 5
- (d)
- Sender–receiver interaction trajectory: The sender–receiver interaction trajectory of a sender and receiver represents the history of transactions (outflows/inflows of some cryptocurrency) from the sender to the receiver during the interval [startDate, endDate]. Formally, the sender–receiver interaction trajectory between a sender with idSender = sdr, where sdr ∈ Hash number and a receiver with idReceiver = rcvr, where rcvr ∈ Hash number, is defined over a BCDB within a time interval [startDate, endDate], with startDate, endDate ∈ Timestamp, and startDate ≤ endDate.
- Example 6
4. Experiments
4.1. Block Dataset
4.2. Transaction Dataset
4.3. First Series of Experiments: 15 October 2024
4.3.1. Function MinerTrajectory
4.3.2. Function SenderTrajectory
4.3.3. Function ReceiverTrajectory
4.3.4. Function SenderReceiverTrajectory
4.3.5. Inverse Function SenderReceiverTrajectory
4.4. Second Series of Experiments: 3 February and 10 February 2025
4.4.1. Function MinerTrajectory
4.4.2. Function SenderTrajectory
4.4.3. Function ReceiverTrajectory
4.4.4. Function SenderReceiverTrajectory
4.4.5. Inverse Function SenderReceiverTrajectory
4.5. Highest Value Sent of a Group of Trajectories: tgs.merge().getHighestValPoint()
5. Conclusions and Future Work
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. Universal Trajectory Algorithm
Function Trajectory(idUser, [idUser2], startDate, endDate, blockchainData)
- For MinerTrajectory: idMiner = idUser - For SenderTrajectory: idSender = idUser - For ReceiverTrajectory: idReceiver = idUser - For SenderReceiverTrajectory: idSender = idUser AND idReceiver = idUser2 */
//Main program //[…] indicates an optional item Input idUser, [idUser2], startDate, endDate, blockchainData //idUser2 applies only for SenderReceiverTrajectory
|
Appendix B. SQL Implementation of Trajectories (In Oracle 23ai)
| (a) Table for blocks: DROP TABLE block; CREATE TABLE block( idBlock NUMBER(8) PRIMARY KEY, dateBlock NUMBER(10) NOT NULL, idMiner VARCHAR(50) NOT NULL, reward NUMBER(6, 5) NOT NULL ); (b) Table for transactions: DROP TABLE transaction; CREATE TABLE transaction( idTransaction NUMBER(20) GENERATED BY DEFAULT AS IDENTITY START WITH 1 INCREMENT BY 1 PRIMARY KEY, idBlock NUMBER(8) NOT NULL REFERENCES block, idSender VARCHAR(50) NOT NULL, idReceiver VARCHAR(50) NOT NULL, value NUMBER(10, 9) NOT NULL, fee NUMBER(10, 9) NOT NULL ); (c) Miner trajectory: SELECT dateBlock, reward FROM block WHERE idMiner = :minerId AND dateBlock BETWEEN :startDate AND :endDate ORDER BY dateBlock ASC; (d) Sender Receiver trajectory: SELECT dateBlock, value FROM block NATURAL JOIN transaction WHERE idSender = :idUser AND idReceiver = :idUser2 AND dateBlock BETWEEN :startDate AND :endDate ORDER BY dateBlock ASC; Notes: Sender and receiver trajectories are implemented in a similar manner to the sender–receiver trajectory. Items in violet represent parameters. |
References
- Anwar, F.; Khan, B.U.; Kiah, M.; Abdullah, N.A.; Goh, K.W. A Comprehensive Insight into Blockchain Technology: Past Development, Present Impact and Future Considerations. Int. J. Adv. Comput. Sci. Appl. 2022, 13, 2022. [Google Scholar] [CrossRef]
- Przytarski, D.; Stach, C.; Gritti, C.; Mitschang, B. Query Processing in Blockchain Systems: Current State and Future Challenges. Future Internet 2022, 14, 1. [Google Scholar] [CrossRef]
- Bragagnolo, S.; Rocha, H.; Denker, M.; Ducasse, S. Ethereum Query Language. In Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain; Association for Computing Machinery: New York, NY, USA, 2018; pp. 1–8. [Google Scholar] [CrossRef]
- Abe Developers. GitHub-Bitcoin-Abe/Bitcoin-Abe: Abe: Block Browser for Bitcoin and Similar Currencies. 2010. Available online: https://github.com/bitcoin-abe/bitcoin-abe (accessed on 1 June 2025).
- Hyperledger. GitHub-Hyperledger/Blockchain-Explorer. 2019. Available online: https://github.com/hyperledger/blockchain-explorer (accessed on 1 June 2025).
- Blockchair. Blockchair API Fetch Data from 19 Blockchains. 2020. Available online: https://blockchair.com (accessed on 1 June 2025).
- Kalodner, H.; Goldfeder, S.; Chator, A.; Möser, M.; Narayanan, A. BlockSci: Design and applications of a blockchain analysis platform. arXiv 2017, arXiv:1709.02489. [Google Scholar] [CrossRef]
- Li, Y.; Zheng, K.; Yan, Y.; Liu, Q.; Zhou, X. EtherQL: A Query Layer for Blockchain System. In Lecture Notes in Computer Science: Database Systems for Advanced Applications; Candan, S., Chen, L., Pedersen, T.B., Chang, L., Hua, W., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 556–567. [Google Scholar] [CrossRef]
- Han, J.; Kim, H.; Eom, H.; Coignard, J.; Wu, K.; Son, Y. Enabling SQL-Query Processing for Ethereum-Based Blockchain Systems. In Proceedings of the 9th International Conference on Web Intelligence, Mining and Semantics; Association for Computing Machinery: New York, NY, USA, 2019; pp. 1–7. [Google Scholar] [CrossRef]
- Quorum. Quorum-Enterprise Ethereum Client. 2020. Available online: https://goquorum.readthedocs.io (accessed on 30 June 2025).
- The Graph. APIs for a Vibrant Decentralized Future. A Global GraphQL API. 2020. Available online: https://thegraph.com (accessed on 15 July 2025).
- BULB. Top Things You Should Know About The Graph (GRT). Available online: https://www.bulbapp.io/p/34912c17-ce5c-4fdb-a301-1c3b81b03f59/top-things-you-should-know-about-the-graph-grt (accessed on 12 July 2025).
- Flavelle, M.; Camara, A.; Shirley, D.; Pereira, F.; Giang, B.; LaFrance, L.; Nadery, Y.; Wilk, E.; Bladon, B.; Huynh, D.; et al. CryptoKitties|Collect and Breed Digital Cats! 2020. Available online: https://www.cryptokitties.co (accessed on 1 June 2025).
- Xu, C.; Zhang, C.; Xu, J. VChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases. In Proceedings of the 2019 International Conference on Management of Data (SIGMOD 19); Association for Computing Machinery: New York, NY, USA, 2019; pp. 141–158. [Google Scholar] [CrossRef]
- Qu, Q.; Nurgaliev, I.; Muzammal, M.; Jensen, C.S.; Fan, J. On spatio-temporal blockchain query processing. Future Gener. Comput. Syst. 2019, 98, 208–218. [Google Scholar] [CrossRef]
- Trihinas, D. Datachain: A Query Framework for Blockchains. In Proceedings of the 11th International Conference on Management of Digital EcoSystems; Association for Computing Machinery: New York, NY, USA, 2019; pp. 134–141. [Google Scholar] [CrossRef]
- Moreno Arboleda, F.J.; Guzmán Luna, J.; Valencia Carvajal, J.F. An Approach to the Similarity Between Trajectories. TEM J. 2022, 11, 1758–1767. [Google Scholar] [CrossRef]
- Öz, B.; Sui, D.; Thiery, T.; Matthes, F. Who Wins Ethereum Block Building Auctions and Why? 2024. Available online: https://drops.dagstuhl.de/storage/00lipics/lipics-vol316-aft2024/LIPIcs.AFT.2024.22/LIPIcs.AFT.2024.22.pdf (accessed on 27 January 2025).
- Taherdoost, H. Smart Contracts in Blockchain Technology: A Critical Review. Information 2023, 14, 117. [Google Scholar] [CrossRef]





























| Language/ Framework | Detection of Patterns | Database | Query Language | Supported Queries | Supported Blockchains | |
|---|---|---|---|---|---|---|
| SQL-like | Proprietary | |||||
| EQL [3] | No | External | ✓ | SQL-like language to query blocks and transactions | Ethereum | |
| EtherQL [8] | No | Embedded | ✓ | Query primitives for querying blocks and transactions, top-k and range queries | Ethereum | |
| Quorum-Based SQL Query System [9] | No | Embedded | ✓ | SQL query operations for smart contracts | Ethereum | |
| The Graph [11,12] + GraphQL | String and relationship pattern matching | Embedded | Queries are formulated with GraphQL | GraphQL queries | Any | |
| vChain [14] | No | No database | ✓ | Time-window and subscription queries | General transactions | |
| A Blockchain Framework with Spatio-Temporal Query Capabilities [15] | No | No database | ✓ | Temporal range, spatial range, and k-nearest neighbors queries | Any | |
| Datachain [16] | No | External | ✓ | SQL-like language to query assets | Any | |
| Block | Transaction | idTransaction | idSender | idReceiver | Value | Fee |
|---|---|---|---|---|---|---|
| 01d4 | cD96 | Aaa5 | 5.5 | 0.025 | ||
| a721 | cD96 | 231E | 2 | 0.0002 | ||
| b931 | aS47 | Aaa5 | 4.3 | 0.03 | ||
| a8u7 | cD96 | 231E | 6.2 | 0.048 | ||
| fT50 | R27a | uN53 | 4.7 | 0.04 | ||
| 05d3 | aS47 | 5b3c | 2.5 | 0.0036 | ||
| a897 | cD96 | 231E | 3.8 | 0.0005 |
| Trajectory Type | Entity (Blockchain Actor) | Trajectory Function: Input (Parameters) | Trajectory Function: Output |
|---|---|---|---|
| Miner reward trajectory | Miner mnr | MinerTrajectory (mnr, startDate, endDate) | {mpti}, mpti = {(winnerDatei, rewardi)}, where winnerDatei is the timestamp of a block mined by miner mnr and rewardi ∈ ℝ+ denotes the corresponding mining reward. |
| Sender value-and- fee trajectory | Sender sdr | SenderTrajectory (sdr, startDate, endDate) | {spti}, spti = {(sSentDatei, sValuei, sFeei)}, where sSentDatei is the timestamp of a block containing a transaction of sender sdr with sValuei and sFeei ∈ ℝ+ represent the transferred value and the associated transaction fee respectively. |
| Receiver value trajectory | Receiver rcvr | ReceiverTrajectory (rcvr, startDate, endDate) | {rpti}, rpti = {(rReceivedDatei, rValuei)}, where rReceivedDatei is the timestamp of a block containing a transaction of receiver rcvr with rValuei ∈ ℝ+ denotes the received value. |
| Sender–receiver interaction trajectory | Sender sdr and receiver rcvr | SenderReceiverTrajectory (sdr, rcvr, startDate, endDate) | {srpti}, srpti = {(sendRecTransDatei, srValuei)} where sendRecTransDatei is the timestamp of a block containing a transaction between sender sdr and receiver rcvr with srValuei ∈ ℝ+ denotes the transferred value. |
| Block | DateTime (UTC) | Fee Recipient | Reward |
|---|---|---|---|
| 20971623 | 1729003235 | 0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97 | 0.23631 ETH |
| 20971624 | 1729003247 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.04987 ETH |
| 20971625 | 1729003259 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.06861 ETH |
| 20971626 | 1729003271 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.15387 ETH |
| 20971627 | 1729003283 | 0x98b92fde3f215f25e9d8ca1c6ec67b65440bf38a | 0.02788 ETH |
| 20971628 | 1729003295 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.34787 ETH |
| 20971629 | 1729003307 | 0xdf99a0839818b3f120ebac9b73f82b617dc6a555 | 0.04468 ETH |
| 20971630 | 1729003319 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.10684 ETH |
| 20971631 | 1729003331 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.4448 ETH |
| 20971632 | 1729003343 | 0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5 | 0.0679 ETH |
| 20971633 | 1729003355 | 0x1f9090aae28b8a3dceadf281b0f12828e676c326 | 0.01792 ETH |
| 20971634 | 1729003367 | 0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97 | 0.19533 ETH |
| 20971635 | 1729003379 | 0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97 | 0.09638 ETH |
| 20971636 | 1729003391 | 0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97 | 0.36904 ETH |
| Blockno | From | To | Amount | Txn Fee |
|---|---|---|---|---|
| 20971775 | 0xa83114a443da1cecef50368531cace9f37fcccbb | 0x388c818ca8b9251b393131c08a736a67ccb19297 | 0.082336796 ETH | 0.00089999 |
| 20971775 | 0x52ea50713aa2c6733726e624ea22e65687b1dc20 | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.002868324 ETH | 0.0008549 |
| 20971775 | 0xd4e4cc2d34fc7417b56db8f8ba9293e80bc0b79e | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.002863703 ETH | 0.0008549 |
| 20971775 | 0xe68801eaf234f62801821ffe2d786d0a0237f97 | 0x6769c3b616ba73991ebb7be349bb64696aca61bd | 0.198272459 ETH | 0.0008549 |
| 20971775 | 0xc81b47414541ffc261b5d1cc38e367b1d27ac280 | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.002793576 ETH | 0.0008549 |
| 20971775 | 0xf6d4e5a7c5215f9159a95065190cca24bf64554 | 0xdac17958d2ee523a2206206994597c13d831ec7 | 0 ETH | 0.0025731 |
| 20971775 | 0x453c67140542c09577bf69d7847e4e93cbe0166 | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.002978427 ETH | 0.0008561 |
| 20971775 | 0x7ddf93dd3d37ea2631faf20a948f213e7e558e3b | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.00296584 ETH | 0.0008561 |
| 20971775 | 0x5c45cf5d4c8068d2dc8b08fe1e3680e2d8d84333 | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.003011815 ETH | 0.0008561 |
| 20971775 | 0xd2b829adf9525d0c6ed09e48aeda9240dd4254d2 | 0xa35723947d25bdcf0714f19be9bd9779b293128d | 0.003004141 ETH | 0.0008561 |
| 20971775 | 0x2f13d388b85e0ecd32e7c3d7f36d1053354ef104 | 0x5270c9b8142fc1bfceea575fbc1da35d76c23ea6 | 0.000102 ETH | 0.0008757 |
| 20971775 | 0x2f13d388b85e0ecd32e7c3d7f36d1053354ef104 | 0x5270c9b8142fc1bfceea575fbc1da35d76c23ea6 | 0.000102 ETH | 0.0008568 |
| 20971775 | 0x55b86f93beacf282b97d96962c90ec0dfd591f | 0xec77535bedce9fc7ae335969ccd2aee6b7cb641 | 0.027539863 ETH | 0.0008568 |
| 20971775 | 0x29a4cca691e4c83b1fc0c8d63d9a3eef0a196de1 | 0x843d042c9c158e58fb5a88bcc0fbc24f8ecf2f2 | 100 ETH | 0.0008568 |
| Sender | Receiver | Original Transactions | Original Amount | Inverse Transactions | Inverse Amount |
|---|---|---|---|---|---|
| 0x93793bd1f3e35a0efd098c30e486a860a0ef7551 | 0x68d3a973e7272eb380022a5c6518d9b2a2e66fbf | 317 | 0.000000 | 0 | 0 |
| 0xae2fc483527b8ef99eb5d9b44875f005ba1fae13 | 0x1f2f10d1c40777ae1da742455c65828ff36df387 | 208 | 9297.000165 | 0 | 0 |
| 0x46340b20830761efd32832a74d7169b29feb9758 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 205 | 0.000000 | 0 | 0 |
| 0x89e51fa8ca5d66cd220baed62e01e8951aa7c40 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 148 | 0.000000 | 0 | 0 |
| 0xdfd5293d8e347dfe59e90efd55b2956a1343963d | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 133 | 0.000000 | 0 | 0 |
| 0x96f97605c3da68e0ab70164977f539e4418112 | 0xf73e98d49346a053cdcda0847fc83e9a0ef8128 | 132 | 0.000000 | 0 | 0 |
| 0x56eddb7aa87536c09ccc2793473599fd21a8b17f | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 132 | 0.000000 | 0 | 0 |
| 0xb23360ccdd9e11b5d54e5d3824bb409c8d7c460 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 128 | 0.000000 | 0 | 0 |
| 0x16501fea28e598c9585ae438a535363589fb4c57 | 0x26a3c34ea5d989be0516788443a9bf43a8652d7a | 124 | 3.000000 | 0 | 0 |
| 0x21a31ee1afc51d94c2efcca2092ad1028285549 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 121 | 0.000000 | 0 | 0 |
| Sender | Receiver | Original Transactions | Original Amount | Inverse Transactions | Inverse Amount |
|---|---|---|---|---|---|
| 0x93793bd1f3e35a0efd098c30e486a860aef7551 | 0x68d3a973e7272eb388022a5c6518d9b2a2e66bfb | 221 | 0.000000 | 0 | 0 |
| 0xae2fc483527b8ef99eb5d9b44875f005ba1fae13 | 0x1f2f10d1c40777ae1da742455c65828ff36df387 | 186 | 10,157.000026 | 0 | 0 |
| 0x710bda329b26a624e4b4833de30f38e7f81d564 | 0xb8901acb165ed027e32754e0ffe830802919727f | 182 | 0.000000 | 0 | 0 |
| 0x1b9fcb24c533839dc847235bd8eb80e37ec42f85 | 0x22a956c4755d8c4294b35dc346e74250e175622 | 166 | 0.000000 | 0 | 0 |
| 0xf89d7b9c864f589bbf53a82105107622b35eaa40 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 148 | 0.000000 | 0 | 0 |
| 0x89e51fa8ca56d6cd220baed62ed01e8951aa7c40 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 138 | 0.000000 | 0 | 0 |
| 0x538d72ed42a76a30f730292d9a39e0577f22f57 | 0x48ec5560bf59b5895965cce48cc244cfd6fb0c | 132 | 0.000000 | 0 | 0 |
| 0x00dbb5699745f5b860228c8f939abf1b9ae374ed | 0x152290bb6dafac587d499a862861c0869be6e428 | 129 | 0.000000 | 0 | 0 |
| 0x7830c87c02e56aff27fa8b1241711331fa86f43 | 0xa9d1e08c7793af67e9d92fe308d5697fb813de43 | 126 | 0.000000 | 0 | 0 |
| 0xb1b2d032aa2f52347fbcfd08e5c3cc5521688404 | 0x7d0ccaa3fac1e5a943c5168b6ed828691b46b36 | 122 | 0.000000 | 0 | 0 |
| # | Sender | Receiver | Original Transactions | Original Amount | Inverse Transactions | Inverse Amount |
|---|---|---|---|---|---|---|
| 0 | 0x93793bd1f3e35a0efd098c30e486a860aef7551 | 0x68d3a973e7272eb388022a5c6518d9b2a2e66bfb | 363 | 0.000000 | 0 | 0 |
| 1 | 0xae2fc483527b8ef99eb5d9b44875f005ba1fae13 | 0x1f2f10d1c40777ae1da742455c65828ff36df387 | 199 | 10,126.000026 | 0 | 0 |
| 2 | 0xd2c82fe25fa236e114a81173e375a73664610998 | 0x8d1f2ebfacff1136db76fdd1b86f1dede2d23852 | 147 | 0.000000 | 0 | 0 |
| 3 | 0x89e51fa8ca56d6cd220baed62ed01e8951aa7c40 | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 136 | 0.000000 | 0 | 0 |
| 4 | 0xb1b2d032aa2f52347fbcfd08e5c3cc5521688404 | 0x7d0ccaa3fac1e5a943c5168b6ed828691b46b36 | 132 | 0.000000 | 0 | 0 |
| 5 | 0xe93685f3bba3016f02bd1828badd619598d850 | 0x173272739bd7aa6e46214714048a9fe699453059 | 130 | 0.000000 | 0 | 0 |
| 6 | 0xfb50526f4894b78541b776f5aaefe43e3bd8590 | 0x17ae7649db8685602d410472facb2e00471194 | 108 | 0.000000 | 0 | 0 |
| 7 | 0xe93685f3bba3016f02bd1828badd619598d850 | 0xc02aba410f0734efa3f14628780e6e695156024c2 | 107 | 0.000000 | 0 | 0 |
| 8 | 0xdc5a902b7c85fb7d28eae914d70d1e8533bbe63 | 0xd01a363ac6612749ce94694778990bc913aae0ba | 104 | 0.000000 | 0 | 0 |
| 9 | 0x56eddb7aa87536c09ccc2793473599fd21a8b17f | 0xdac17f958d2ee523a2206206994597c13d831ec7 | 100 | 0.000000 | 0 | 0 |
| One day | |||||||
| Row | User_A | User_B | Send_A_B | Send_B_A | Total_Sends | ETH_A_B | ETH_B_A |
| 1 | 0x4097dcf525f… | 0xb5d85cbf7cb3… | 141 | 418 | 559 | 1071.704003346 | 3047.439235758 |
| 2 | 0x59855c07cd492… | 0xeba88149813ec… | 70 | 18 | 88 | 264.48168024 | 104.274075 |
| 3 | 0x1471c356a051ec… | 0x9a10fe5a761282… | 20 | 20 | 40 | 3.088945695 | 3.088500777 |
| 4 | 0xb334a61a6209f… | 0xbe0562201362d… | 36 | 3 | 39 | 0.00815545 | 47.00152241 |
| 5 | 0x1b930709d91d… | 0x6928f3e126db… | 4 | 31 | 35 | 0.001884136 | 0.015719979 |
| 6 | 0xe86479f16386e… | 0xfd976b9cb14f9… | 1 | 34 | 35 | 0.001 | 0.000571085 |
| 7 | 0x4945ce21b5bd… | 0x5a0128e21cb8d… | 26 | 2 | 28 | 28.856928588 | 0.02 |
| 8 | 0xcec7dbd3f2371… | 0xfdcc8aff007890… | 1 | 23 | 24 | 0.6487509 | 1.0754 |
| 9 | 0x4f67d2d406cd… | 0xfd099ad56b31c… | 11 | 13 | 24 | 0.00075449 | 5.865975164 |
| 10 | 0x536c4921d1aad… | 0xa9ac43f5b5e38… | 4 | 17 | 21 | 8868.25 | 8779.797104 |
| One week | |||||||
| Row | User_A | User_B | Send_A_B | Send_B_A | Total_Sends | ETH_A_B | ETH_B_A |
| 1 | 0x4097dcf525f… | 0xb5d85cbf7cb3… | 766 | 2398 | 3164 | 5846.983327535 | 17482.677716475 |
| 2 | 0x59855c07cd492… | 0xeba88149813ec… | 313 | 115 | 428 | 1405.58334124 | 820.245362 |
| 3 | 0xb334a61a6209f… | 0xbe0562201362d… | 259 | 12 | 271 | 0.0603943 | 201.19582768 |
| 4 | 0x1ab4973a48dc8… | 0xfed2399b20011… | 261 | 6 | 267 | 0.001718455 | 23.519515753 |
| 5 | 0xb1a36b00ddb058… | 0xc41b82fd1d926… | 100 | 118 | 218 | 130.465714354 | 0.942593724 |
| 6 | 0x4986cf8c9c45aca… | 0xcec7dbd3f2371… | 148 | 7 | 155 | 8.0133 | 6.768 |
| 7 | 0x536c4921d1aad… | 0xa9ac43f5b5e38… | 18 | 126 | 144 | 58597.23 | 57225.074003 |
| 8 | 0x7c040c7040938e… | 0xb5d85cbf7cb3… | 36 | 86 | 122 | 2.032876697 | 4.31507302 |
| 9 | 0x2345804130f13a… | 0xa9ac43f5b5e38… | 14 | 103 | 117 | 6665 | 7201.814245 |
| 10 | 0xa7a5c7602bd8a0… | 0xb334a61a6209f… | 1 | 114 | 115 | 99.24291447 | 0.02729349 |
| One month | |||||||
| Row | User_A | User_B | Send_A_B | Send_B_A | Total_Sends | ETH_A_B | ETH_B_A |
| 1 | 0x4097dcf525f… | 0xb5d85cbf7cb3… | 2751 | 9465 | 12216 | 21069.549706128 | 68997.522512058 |
| 2 | 0x77021d475e36b… | 0x877613c53d646… | 6110 | 1 | 6111 | 0.202596 | 10.999025768 |
| 3 | 0x71800fc47ae36db… | 0x77021d475e36b… | 5 | 5939 | 5944 | 1861.873187762 | 0.195161 |
| 4 | 0x77021d475e36b… | 0xe45e89fba33f5… | 5928 | 1 | 5929 | 0.19881 | 19.499994144 |
| 5 | 0x77021d475e36b… | 0xcdea03850147e… | 4242 | 1 | 4243 | 0.131873 | 4.93007659 |
| 6 | 0x1dbe883eb1ebc9… | 0x67a029e8fcb13… | 3583 | 1 | 3584 | 548.628141525 | 0.472019918 |
| 7 | 0x11a2daab541f469… | 0x8d6db8959d3f0… | 2 | 3067 | 3069 | 1.791954072 | 871.916698824 |
| 8 | 0x77021d475e36b… | 0x7f7d4ab25981f… | 2729 | 8 | 2737 | 0.068784 | 104.98020288 |
| 9 | 0x024b9e8e4cc996… | 0xd5adabc8f98a4… | 2309 | 1 | 2310 | 0 | 0.1 |
| 10 | 0x889c81fdea6672… | 0xd5adabc8f98a4… | 1958 | 1 | 1959 | 0 | 0 |
| Trajectory | Findings |
|---|---|
| Miner reward trajectory | Some miners win more frequently than others. The rewards for each miner over one-hour intervals demonstrate irregular behavior. |
| Sender value-and-fee trajectory | Some senders executed more than 300 transactions while transferring a total of zero ETH. High transaction activity (outflows) does not necessarily imply high financial flow. |
| Receiver value trajectory | Some receivers recorded more than 600 transactions while receiving a total of zero ETH. High transaction activity (inflows) does not necessarily imply high financial flow. |
| Sender–receiver interaction trajectory | Multiple senders frequently send zero ETH to the same receiver. High transaction activity (ETH exchanges) does not necessarily imply high financial flow. Some senders and receivers interchange their roles within Ethereum. |
| Sender value-and-fee trajectory: Highest value sent (group of trajectories) | Certain senders dominate sending the highest values across several months. Differences exceeding 100,000 ETH can be found between the highest value sent within a single week and the entire corresponding month. |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Arboleda, F.J.M.; Quintero, L.C.; Garani, G. Trajectory-Based Behavioral Analytics for Blockchain Systems. Algorithms 2026, 19, 356. https://doi.org/10.3390/a19050356
Arboleda FJM, Quintero LC, Garani G. Trajectory-Based Behavioral Analytics for Blockchain Systems. Algorithms. 2026; 19(5):356. https://doi.org/10.3390/a19050356
Chicago/Turabian StyleArboleda, Francisco Javier Moreno, Luzarait Cañas Quintero, and Georgia Garani. 2026. "Trajectory-Based Behavioral Analytics for Blockchain Systems" Algorithms 19, no. 5: 356. https://doi.org/10.3390/a19050356
APA StyleArboleda, F. J. M., Quintero, L. C., & Garani, G. (2026). Trajectory-Based Behavioral Analytics for Blockchain Systems. Algorithms, 19(5), 356. https://doi.org/10.3390/a19050356

