-
Notifications
You must be signed in to change notification settings - Fork 29
Implement Asset Securitization on a Blockchain Ledger
Implement Asset Securitization on a Blockchain Ledger
Deploy a React UI that has the ability to submit blockchain transactions and view the state of a blockchain ledger as it is updated
Emerging Tech (Blockchain + FinTech)
Securitization is a financial process that can be used to consolidate a set of illquid assets into a set of tradable securities. A common example of an illquid asset would be a home mortgage, as they cannot be readily bought and sold. An example of a tradable asset can be a stock or bond. This process can be useful for financial institutions that are looking to increase the liquidity of their assets and free up capital. This application provides a dashboard that'll allow users to create and view Assets, Investors, Securities, and Asset Pools.
Kalonji Bankole
https://github.com/IBM/securitization_blockchain
In this code pattern, we will demonstrate a financial process called "Securitization", and show how this particular process can be tracked using a blockchain ledger. We'll present an application using React.js, Express.js, and the Hyperledger Fabric SDK. This integration allows users to simulate a Securitization process and understand how the various transactions can be handled on the blockchain
When the reader has completed this code pattern, they will understand how to:
- Deploy a Hyperledger Blockchain network on IBM Cloud
- Create and enroll a administrative client using the Hyperledger Node SDK
- Deploy and Instantiate a smart contract to register Assets, Asset Pools, Securities, and Investors
-
A homebuyer leverages the services of a Loan Originator to secure financing for a home mortgage
-
The Loan Originator loads the application, and submits requests to update the Blockchain ledger state with a new Asset
This request is handled by the node.js Express backend formats CRUD request into a jsonrpc object like below, and submits it to a Hyperledger peer as a transaction proposal. The request below would register a mortgage with a value of $540000, an interest rate of 3.3%, and a credit score of 720. The credit score is used to calculate risk for potential investors.
{
jsonrpc: '2.0',
method: 'invoke',
params: {
type: 1,
chaincodeID: {
name: 'securitization_contracts'
},
ctorMsg: {
function: 'init_asset',
args: '["asset1" , "540000", "0.033", "720"]'
},
secureContext: 'kkbankol@us.ibm.com'
},
id: 5
}
- Peer uses an "endorsement" service to simulate the proposed transaction against the relevant smart contracts. This endorsement service is used to confirm that the transaction is possible given the current state of the ledger. Examples of invalid proposals might be creating an asset that already exists, querying the state of an asset that does not exist, etc.
-
If the simulation is successful, the proposal is then "signed" by the peer's endorser.
-
The signed transaction is forwarded to an ordering service, which executes the transaction. In this case, the newly created "Asset" would be placed in an "Asset Pool"
-
The updated state is commited to the blockchain ledger
-
The Securitization UI queries the updated ledger state and renders tables with the updated information
-
If the Asset Pool has been split up into "Securities", an investor has the ability to buy and sell them. The security price should be updated every time there is a change to the ledger state
-
A creditor checks the ledger state to determine the risk of losses by late payments or mortgages going into default. If a significant change is found, the security credit rating will be recalculated by the creditor and updated in the ledger.
Implement a Securitization process on a Hyperledger Blockchain
Kalonji Bankole
Securitization is a financing tool that has been rapidly gaining popularity among financial institutions for several reasons.
- Provides a method to add liquidity to assets that can not be readily bought or sold.
- Lowers investment risk
- Frees up regulatory capital in financial institutions
This works by pooling illiquid Assets together, and creating a set of "Securities" for each pool, which can be easily bought and sold by investors. Each security has an associated coupon rate that determines the total return on investment. The return is provided by the expected cash flow plus interest. This estimated return determines the value of each security.
Although securitization does offer many benefits, there is quite a bit of processing such as underwriting, validating payments, etc.. Blockchain along with "smart contracts" have the ability to standardize and automate these processes, which has the potential to greatly improve efficiency and drastically reducing the amount of time and effort required in maintaining a set of Securities.
In this code pattern, we'll demonstrate an application that can automate many of these processes using a Hyperledger blockchain service. This pattern includes smart contracts that'll allow the to register/pool assets, create associated securities, and pay out returns all using the Hyperledger service.
Blockchain Securitization articles