Alpha Release: Machine Learning Transaction Filters

Summary: Provide has rolled out an alpha version of its highly-configurable Machine Learning (ML) Transaction Filtering product that perform real-time stream processing with sub-5ms overhead during transaction ingestion. The primary use case for these filters is anomaly detection, but due to highly-customizable architecture, Provide applications can define their own custom callbacks written using Provide’s Python filter callback interface. Parties interested in participating in the alpha testing program should contact hello@provide.services.

Machine Learning Transaction Filters

Anomaly detection tools play a critical role in protecting networks, systems and identities from targeted attacks by filtering out the anomalous activities of bad actors.

Provide Technologies is the first to present an anomaly detection tool specifically built for blockchain-based systems. The system works natively within the Provide Platform, analyzing transactions just prior to broadcast; the application which defines the filter is able to optionally configure how the filter’s return value affects the transaction as a whole—should the transaction be rejected, flagged, etc. Provide has authored a few built-in machine learning filters which are optimized to score the probability of transaction settlement (regardless of latency-to-finality on-chain).

About ML Transaction Filters


An ML-based Transaction Filter presents a low-latency decision point before transactions are asynchronously queued for broadcast and settlement. Since the transaction filtering happens prior to being broadcast to the underlying blockchain network, the feature is by nature protocol-agnostic and works with any of our currently-supported blockchain protocols as well as additional protocols added in the future. Currently, Provide supports EVM-based protocols including Gethewasmand Parity. Support for Quorumis currently in open beta.

The ML uses Apache Spark™and the PySpark package to define the business logic for filters. The platform filters feature currently supports Python; additional language support is anticipated in the future. A custom, real-time stream processing transaction filter could be created for a variety of use-cases such as screening whitelists, supporting compliance, or creating intuitive incident workflow automation. 

Have an interesting use-case? Let us know! We’d love to talk.

Filters can be configured at the application level on the Provide platform to define data models and be trained on the data sets. Realtime data is then streamed to fit the data for a specified algorithm (like linear regression etc.) giving a predictive score like RSquared (R2) or RMSE (Root Mean Square Error). The score can then be fed into a smart contract that would either accept or reject transactions before finalizing into a DLT.

What does alpha status mean?

At Provide, a new product feature is graded alpha once the feature has reached its MVP goal completion and it has met a minimum standard for performance.

In the case of the ML Transaction Filters, the MVP reached code complete at the beginning of November and has been hardened for scale and flexibility since.

To pass the performance test, the system needed to provide exception handling without adding more than 5 milliseconds under load. This passed both internally, and at a Pitney Bowes Financial Services Hackathonpresented together with Cox Enterprises. The system was part of a solution to Identify New ATM Services that took the third prize.

How to try ML Transaction Filters

Machine Learning (ML) Transaction Filters for blockchains are now available exclusively in the Provide Platform alpha program. Parties interested in participating in the alpha release program should contact hello@provide.services.

About Stacey Schneider

Stacey is a technologist known for bringing early stage technology businesses to market, including ecommerce, open source, cloud computing, and most recently decentralized applications using blockchain technology.

Leave a Comment

You must be logged in to post a comment.