Anti-money laundering regulations (AML) are not law

Authority is based on legitimacy and ultimately on the use of force. Governments are able to govern because they are considered legitimate and ultimately because they enforce that view.

That is also why governments fear what people write. It could damage and even demolish their legitimacy. The use of force without legitimacy does not work. The population will start hitting back and even organize themselves to do so.

When Bashar Al-Assad’s government in Syria starting using force against the protests, they were surprised. The Syrian government did not gain the upper hand. On the contrary, the use of force only convinced the population that they had to hit back even harder. In other words, if you manage to talk them into hitting back, they will. Seriously, if you manage to convince them, it will be a done deal.

In this article, I will explain why it is about time to start hitting back at the fiat banks and their anti-money laundering (AML) regulations.

If this is the history (H) on your fiat bank account:

date          payer receiver amount    remark    
9999/99/99    XX    XX       999.99    XXXXXXXXX
9999/99/99    XX    XX       999.99    XXXXXXXXX
9999/99/99    XX    XX       999.99    XXXXXXXXX
9999/99/99    XX    XX       999.99    XXXXXXXXX
9999/99/99    XX    XX       999.99    XXXXXXXXX
9999/99/99    XX    XX       999.99    XXXXXXXXX

And if this is the transaction tx that you intend to make next:

9999/99/99    XX    XX       999.99    XXXXXXXXXXX

Then, the AML regulations say that the banks will apply a predicate function ML(), “Money Laundering” returning yes or no. This function will return ýes, if the transaction should be considered as money laundering:


If the answer is yes, the fiat bank wil delay, block, or reject the transaction, freeze your account, or even confiscate your balance.

Fair enough. But then again, where can we find the implementation of this function ML()? How can you know if transaction tx, given history H, would trigger the ML() function to return a yes?

It is strictly forbidden to apply a secret implementation of the ML() function, because secret “law” does not even qualify as “law” at all.

Article 19 of the ICCPR treaty requires that “to be characterized as a “law,” a law must be formulated with sufficient precision to enable an individual to regulate his or her conduct accordingly and it must be made accessible to the public.

Therefore, the user must be able to execute the ML() function prior to submitting his transaction to the fiat bank. The very fact that the user cannot do that, invalidates all possible claims of money laundering. In other words, the treaty explicitly forbids what the fiat banks are doing now. In the given circumstances, all money laundry claims are always void.

People must have clear notice of what will trigger surveillance. The law must be sufficiently clear to allow innocent people to understand when and how they may be subject to surveillance.

Therefore, a fiat bank must publish the actual implementation of their ML() predicate function. The fiat banks refuse to do so. Consequently, the AML surveillance exercised by the fiat banks has absolutely no legitimacy whatsoever and clearly shows their contemptuous disrespect for the population.

Technology, including bitcoin, clarifies that we no longer need the fiat banks. Why do we still put up with their obnoxious behaviour? Cetero censeo Carthaginem delendam esse.


Published by


I mostly work on an alternative bitcoin marketplace -and exchange applications. I am sometimes available for new commercial projects but rather unlikely right now.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s