Hi Sai Tam,
Glad to hear you are taking the plunge into learning more about Corda!
Ethereum is great for several use cases, but when it comes to factoring, documentary trade, open account transactions, Corda is really purpose-built for these scenarios.
Banks and corporates only want to share data with those that are party to a transaction. With Corda, there is no broadcast: all communication is point-to-point. Data is shared on a need-to-know basis and known peers only see what they need to see. So a debtor can be confident that a competitor doesn’t have a copy of the invoice being sold. Similarly, a factor can be confident that data is not broadcast to other competing trade finance providers. To avoid double spending, we utilize a notary, which will check if a state object (e.g. an invoice) was previously consumed (we use the UXTO model). The notary can be run by any organization: a regulator, an auditor, a group of banks, etc. There can be multiple notaries on one business network.
On Corda, you could model a factoring by creating state objects to represent different documents: the sales contract between the buyer and seller, the invoice, the factoring agreement, etc. Each document would be an input to a transaction, would undergo verification logic and be signed by the relevant parties.
Corda doesn’t have a built-in cryptocurrency, but we can model cash on-ledger and there are some basic cash smart contracts we provide in the open source version.
The currency would depend on the specific use case. It is more likely, however, that payments would call a off-ledger payment API service in the initial phases of a POC or pilot.
Hope that helps.