5.1 Rule-Based Classification
The responsibility of defining a category may be assigned to either an individual entity or a collaboration of entities such as:
- The ASP enttity
- The protocol entity
- The network governance entity
- The regulatory entity
The classification process evaluates records with a set of rules to determine it’s categories.
The ASP considers that an object categorized
as is therefore compliant
and must have satisfied
all the rules
of , i.e.:
- A transaction is categorised as
AML
compliant because it has satisfiedAML rules
such asSender is not in the OFAC list
. - A person is categorised as
KYC
compliant because it has satisfiedKYC rules
such asPerson has provided a valid ID
. - A vote is categorised as
Valid Vote
because it has satisfiedvoting rules
such asVote is casted within the voting period
. - A document is categorised as
Approved Document
because it has satisfieddocument rules
such asDocument is signed & reviewed by an auditor
.
1. The Compliance Domain:
Given a compliance
predicate and it’s propositional function:
- Where is a set of atomic rules:
is considered a Compliance Domain
only if the following holds true:
Where:
- is compliant with if and only if satisfies all the rules in .
- is not compliant with if and only if does not satisfy all the rules in .
- is a set of transactions that are compliant with .
- is a set of transactions that are not compliant with .
- and are subsets of the universal set .
Example:
If the statements are true:
- A set of transactions () exists such that each transaction () is AML () compliant.
- A set of transactions () exists such that each transaction () is not AML () compliant.
- and belong to a super set of transactions .
Then Compliance Domain
() exists as a set of rules for
which holds true for all transactions in and false for all transactions in .
2. Defining Compliance Rules:
By identifiying () and set & it is then possible to derive the compliance rules which governs :
-
I.e., The rules for
AML
compliance could be:- Sender & receiver is not in the OFAC list
- Sender & receiver is not in the FATF list
- Transaction amount is less than 1000 USD.
-
These rules are verified against a set of:
AML
compliant transactions ()non-AML
compliant transactions ().
Rules should be represented as atomic
& independent
and therefore avoid any:
-
Representations indicating hierarchical structure of rulesi.e.:
- Transaction is not from a sanctioned entity
- Sender is not in the OFAC list
- Transaction is not from a sanctioned entity
-
Representations indicating dependencies between rules i.e.:
- Transaction is not from a sanctioned entity
- Sender is not in the OFAC list
- Sender is not in the FATF list
- Transaction is not from a sanctioned entity
A category is a translation of wherefeatures
& thresholds
represents the atomic rules of :
-
AML
- Category:
AML_COMPLIANT
- Category:
- Sender & receiver is not in the OFAC list
- Feature:
OFAC_LIST_MEMBERSHIP
- Threshold:
false
OFAC_LIST_MEMBERSHIP
isfalse
for a record.
- Feature:
- Sender & receiver is not in the FATF list
- Feature:
FATF_LIST_MEMBERSHIP
- Threshold:
false
FATF_LIST_MEMBERSHIP
isfalse
for a record.
- Feature:
- Transaction amount is less than 1000 USD.
- Feature:
TRANSACTION_AMOUNT
- Threshold:
1000
TRANSACTION_AMOUNT
is less than1000
for a record.
- Feature:
This translation (see 4.2 Feature Types and Formats) results in a
JSON Schema
document such as:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "tag:0xbow.io,2024:categories:AML_COMPLIANT",
"title": "Record is AML Compliant",
"type": "object",
"properties": {
"features": {
"type": "object",
"properties": {
"OFAC_LIST_MEMBERSHIP": {
"$id": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:OFAC_LIST_MEMBERSHIP",
"type": "boolean",
"default": "true"
},
"FATF_LIST_MEMBERSHIP": {
"$id": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:FATF_LIST_MEMBERSHIP",
"type": "boolean",
"default": "true"
},
"TRANSACTION_AMOUNT": {
"$id": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:TRANSACTION_AMOUNT",
"type": "integer",
"default": "1000"
}
},
"required": [
"OFAC_LIST_MEMBERSHIP",
"FATF_LIST_MEMBERSHIP",
"TRANSACTION_AMOUNT"
]
}
},
"required": ["features"]
}
Features can be considered as the properties or attributes of a record which is later evaluated against the compliance rules.
i.e. The rule Sender & receiver is not in the OFAC list
evaluates
the value of 'OFAC_LIST_MEMBERSHIP' which is of a boolean
type.
There are no constraints on the type of features that can be used in the schema.
It could be a string
, integer
, boolean
, array
, object
etc.
However it should not include or point/reer to another feature nor be a function of another feature.
Note that default values are set to invalidate the category for the record.
The default
document is a document which satisfy the Schema but where all features
have values
set to its default
value.
{
"features": {
"OFAC_LIST_MEMBERSHIP": true,
"FATF_LIST_MEMBERSHIP": true,
"TRANSACTION_AMOUNT": 1000
}
}
As outlined in section 4.3,
the Feature Extractor
delivers the values of these features in the form of JSON patch
operations.
"patch": [
{
"op": 2,
"root": "0x010010",
"$id": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:OFAC_LIST_MEMBERSHIP",
"value": "false",
"merkle-proof": {}
},
{
"op": 2,
"root": "0x010010",
"$d": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:FATF_LIST_MEMBERSHIP",
"value": "false",
"merkle-proof": {}
},
{
"op": 2,
"root": "0x010010",
"$d": "tag:0xbow.io,2024:categories:AML_COMPLIANT:features:TRANSACTION_AMOUNT",
"value": "100",
"merkle-proof": {}
}
]
If when applying these patches to the default
document, the document still satisfies the schema
and the features
are consistent with the rules,
then the record is classified as AML_COMPLIANT
.
{
"features": {
"OFAC_LIST_MEMBERSHIP": false,
"FATF_LIST_MEMBERSHIP": false,
"TRANSACTION_AMOUNT": 100
}
}