Blockchain Technology, Privacy, Database Security and Regulations Know your KYT Transaction. Part IV
Introduction
In the first part we studied what is regulatory compliance for the financial industry, which is subject to a wide range of regulations, let's say we focused on 4:
Anti-Money Laundering (AML) compliance.
Know Your Customer (KYC) compliance.
Compliance know your transaction (KYT).
Privacy and data security.
In the second part we cover AML and KYC compliance in detail.
In the third part, we explain how blockchain technology (TB) helps to comply with the "privacy and security of data during transmission over the network" regulation.
In this fourth part we will study two regulations:
The privacy and security of a database (store data).
Confidentiality or data encryption.
Authentication or access control.
Employee training.
Know Your Transaction (KYT):
KYT processes involve the monitoring and analysis of financial transactions to determine the origin and destination of funds, as well as the persons and entities involved in the transactions.
Note: Here we call protocol the set of programs or smart contracts that perform the operations or automatically govern the blockchain.
Blockchain technology, privacy and security of a database (DB).
Remember that cryptography is the area of computer science that uses mathematical algorithms and protocols to secure information and protect it from unauthorized access or modification. Cryptography is used for a variety of purposes, among them:
Integrity: to ensure that the information has not been altered or tampered with during transmission or storage.
Authentication: to verify the identity of the parties involved in a communication or transaction.
Confidentiality: to maintain the privacy of the information and prevent unauthorized persons from reading it.
These three purposes served by cryptography coincide with the regulatory compliance purposes Privacy and data security that we described at the beginning of this article.
Format of a database
The relational database (BDR) or SQL:
SQL (Structured Query Language) is a type of database (DB) that complies with the relational model, which is the most widely used model currently and stores the following data:
Non-relational databases (DB NoSQL):
It uses the JSON (JavaScript Object Notation) format, this simple text format facilitates data exchange and is independent of the programming language used.
Important remark:
Blockchain technology uses the JSON format, because it allows cryptography to be applied, something that is not possible with the SQL or relational format.
Blockchain transactions: Below, we illustrate a transaction on the Ethereum blockchain:
It is in JSON format.
By applying a cryptographic function (we will explain it below) we obtain the hash of the transaction:
94b261714bfcf7e7aeb315223dfb7ac1e1fc711f3a0bf3f4a3da1b016bcc2c99
Observation: If someone alters a data of this transaction, changes the hash, therefore, the blockchain protocol will reject the change.
How the blocks work
A block is a collection of data or most recent transactions in a certain time, for example, in Bitcoin, transactions every 10 minutes will form a block.
In the following image with the data of the 154,595 block of BTC, which is also in JSON format, we identify three concepts:
The hash that identifies the block (see red arrow).
The hash of the previous block named previous_hash (yellow arrow).
A tx array that stores the transactions of that block (green arrow).
Note: This block can be found on the blockchain.com site.
As the hash function protects a block of transactions:
A cryptographic hash function is a mathematical algorithm that transforms any arbitrary block of data into a new string of characters with a fixed length.
We will use the hash256, in the following examples we will use the online site that generates hash.
Step 1. We copy the block on the website (See red arrow) from the image:
Step 2: we get an expression that we will call Hash A:
d1d88446b969021c9eca571bc08e78f1a7c2c2b1096aaa491a4144948b51310c
Step 3: What happens if a blockchain attacker alters a piece of data in the block, in the following image:
The last symbol of the previous_hash, which is the letter a, is changed to a zero (see green arrow).
A new hash of this block is generated (see blue arrow), which we will call Hash B:
4d593f59b791ea35129ef8344e409ef7828e825214679e291c91f834cf4fd7ce
Step 4: The Bitcoin blockchain protocol verifies the hash256 every time the block is saved again:
If hash B is different than hash A d1d88446b969021c9eca571bc08e78f1a7c2c2b1096aaa491a4144948b51310c
4d593f59b791ea35129ef8344e409ef7828e825214679e291c91f834cf4fd7ce
As the hashes are different. The chain of blocks will not allow saving the changes and the initial file of the block will be kept.
Blockchain technology and compliance know your transaction (KYT)
The TB allows its blocks that store transactions to be considered as an accounting ledger, shared among thousands of nodes or computers. Each user has an account or user Address as: 0x0a8E3D8953d52138C827B03CF0e747031E5c2906
Note: This is an address on the Binance Smart Chain (BSC) blockchain that is compatible with Ethereum.
In the BSC explorer we can identify how many transactions this account has participated in since it was created:
We copy the account or address in the BSC explorer (see red arrow).
This account has only participated in two transactions (see yellow arrow).
When I click on the first transaction (see green arrow), I can see the details:
Which account sends the funds (see red arrow).
To which account were they sent (yellow arrow).
How much was sent (green arrow).
Other data, the date and time, in which block it is stored.
Final remarks:
The blockchain protocol reduces the risk of fraud and manipulation, because:
Altering a transaction or a block implies changing the corresponding hash and the protocol does not allow it.
Each block has the hash of the previous block (previous_hash) so it would be necessary to alter the previous blocks, Bitcoin has more than 750,000 blocks and Ethereum more than 16 million as of February 2023.
If an attacker could save the changes, he would have to do so on 51% of the nodes (the protocol makes decisions by consensus or simple majority).
In the case of Ethereum, he would have to change 51% of the 200,000 nodes, i.e. 102,000 nodes, Bitcoin has more than 50,000 nodes.
The blockchain ledger allows you to know how many transactions an account or address has participated in, there is no way to omit any transaction from the account.