Guest blog post from Marvin Bantugan
In 2020, blockchain and cryptocurrency were growing with many saying it is the next internet-like disrupting technology for financial services. This is where my blockchain journey begins. I am the CTO of Zventus, a global FinTech solutions provider and member of the Hyperledger Foundation, and co-chairman of one of the Financial Markets Special Interest Group, specifically the Mortgage Industry Sub-group. Our goal is to educate, research and deploy blockchain technology solutions for the global mortgage markets.
A necessary part of understanding Zventus’ blockchain journey, is knowing the impetus behind that journey. We started with the US mortgage market which comprises a large part of the US economy and is a critical engine for growth. According to the information reported under the Home Mortgage Disclosure Act (HMDA), there were 4,338 lenders in the mortgage industry in 2021. The number of actors is much broader than lenders as it also includes brokers, title, credit, servicers, and any company that played a role in the mortgage process. This information underscores the complexity and breadth of the mortgage process. To further underscore the size of the mortgage market, Single Family Residential Mortgages comprise $13.2 trillion. Mortgage backed securities outstanding is $9.5 trillion and total mortgage debt in 2021 was $18 trillion. In comparison, the US GDP was $25.66 trillion in Q3 of 2021.
The sheer size and complexity of the mortgage market makes it a compelling business opportunity for the application of blockchain technology. So, in 2020, we started exploring blockchain as a tool to streamline and improve the mortgage process.
At the beginning of the journey, we had to select a blockchain platform and we chose Hyperledger Fabric.
What is Fabric?
Hyperledger Fabric is an open-source permissioned blockchain platform. It was created in December 2015 by a consortium of companies including IBM, Intel, SAP, JP Morgan, SWIFT, Accenture, and other industry leaders. Fabric is part of an extensive blockchain toolset.
The breadth of Hyperledger tools includes both Graduated projects and Incubating projects. Graduated projects are those that meet sufficient real-world use, are scalable, and meet requirements for security and functionality. I won’t go over all of the projects, but I want to note the most significant ones in the following table:
There’s an old saying, No one ever lost their job for hiring IBM. One of the reasons we chose Hyperledger is that Fabric is the most widely used blockchain amongst the companies that use blockchain. From the 2022 State of Enterprise Blockchain report, 38 of the top 100 companies that use a blockchain chose Fabric. The other blockchains that comprise the top 4 are Ethereum, Quorum, and Corda.
In addition to ubiquity, Hyperledger has a rich feature set and a myriad of capabilities that differentiate Hyperledger from other blockchains.
First and foremost, it is a permissioned blockchain. Mortgage is a heavily regulated industry and we need to control who has access to the blockchain to protect Non-Public Information (NPI) and that means a permissioned blockchain. Next is flexibility, which means modularity, a pluggable consensus algorithm, a flexible smart contract approach, and flexible data privacy. A third reason for selecting Hyperledger is that, as an open source platform, there is a large community to support our blockchain efforts.
Hyperledger has 120,000 contributing organizations and more than 15,000 engineer contributors working together. A key part of this community is the Hyperledger Foundation, a large and active non-profit that supports the different blockchain technologies. The foundation has an active governing body, hosts a yearly global forum, facilitates cross-country efforts, and supports a myriad of industry and technical groups. Also, the Foundation is under the umbrella of the Linux Foundation which provides additional resources.
The Zventus blockchain journey
As I mentioned, I am a co-chair of the Financial Markets Mortgage Industry Sub-group where we have a meeting every month to discuss industry updates, bring in speakers, and discuss developments related to blockchain in the mortgage industry. Below is one of the graphs we display at each meeting to highlight that we are all on the same blockchain journey, but we may be at different points along the same path.
Accordingly, we started our blockchain journey by first educating ourselves, we researched blockchain, joined blockchain communities, and got certified. Next, in 2021, we stood up our Blockchain Lab staffed with an agile team. This team consisted of industry subject matter experts, a project lead, business analysts, full-stack developers, and testers. As mentioned, we chose Hyperledger Fabric and joined the Hyperledger Foundation, and took advantage of their large knowledge base. This knowledge base conveniently included sample cases.
Starting from the left on this table, we started with the most basic sample cases to set up our first blockchain. It took a couple of tries but we successfully implemented the first two Hyperledger sample cases, Asset Transfer and Fab Car. Our next challenge was to enhance the sample cases to be applicable to the mortgage industry. This was as simple as changing the asset names, creating and deleting nodes, and creating mortgage related companies within the blockchain.
At this point, our project team was feeling confident in our blockchain skills. We decided to take an in house process, the tracking of training and training certificates, and put it on to the blockchain for internal use as our next challenge. Unfortunately, there proved to be significant differences between the initial Hyperledger sample cases and what we called the Certificate Project.
The sample cases were on Fabric and ran on a local machine. The Certificate Project ran on Ethereum and Amazon Web Services (AWS). The reason we switched blockchains was, at the time, AWS did not support Hyperledger Fabric and we wanted to put our new application on the cloud. In a fantastic display of hubris, we thought – Fabric, Ethereum, what’s the difference? Blockchain is blockchain. Suffice it to say that we were mistaken. There is a significant difference between taking an existing sample case and making minor changes versus coding a new process on a different and unfamiliar blockchain. To further complicate development, we added a MySQL database for storing certificates. All these factors made this project much more difficult than the sample cases.
Here are some of the problems we encountered: One of the first problems we ran across was trying to do the development on Windows Subsystem for Linux (WSL). In retrospect, WSL is a poor platform for Fabric. There were compatibility issues and the open source community recommended using either MacOS or Linux instead. Another problem that we encountered during our development was something that is emblematic of open source software. Sometimes, there were slight differences in versions of code that are not documented, and that caused compatibility issues. Several times during our development, we ran across bugs caused by using the wrong version of code. Unfortunately, the latest version of the code was not necessarily the correct version to use. This is another area where the Hyperledger community came in very handy.
Proof of concept
Once we completed the Certificate project, our next step was to create a proof of concept (POC) mortgage application utilizing blockchain. Initially, we used Ethereum as our blockchain platform for POC1 but then switched to Fabric for POC2. The primary reason for switching was transactions per second (TPS). TPS on Ethereum are 7-12 per second which may be sufficient for a proof of concept, but not for an enterprise application. In contrast, Fabric claims to have a TPS in the 2,000-3,000 range but observed TPS is probably closer to 1,000 TPS. In comparison, Mastercard utilizes a network that claims to handle around 5,000 TPS.
Let’s drill down a bit on the POCs. The preceding figure shows our architecture at a high level and our tech stack. Starting from the top, at our application layer, most of the app development was in some flavor of Javascript, either React or Angular. A lot of the blockchain functions take place at the Distributed Computing Layer. This is where Replication, Consensus, and Hashing takes place. We use RAFT for our consensus algorithm and AES256 for encryption. We also used FireFly which is a multi-party system for managing enterprise data flows. It provides a system upon which to build a decentralized blockchain. I highly recommend using Firefly since it made our development much easier. Continuing down the stack, we have the Platform Layer for our RPCs and APIs. And, finally, at the bottom layer is the blockchain, AWS, and our DynamoDB database.
Lessons learned
What did we learn from this endeavor? Here are the key lessons. First, take advantage of the open source community and its resources. For us, that meant the Hyperledger community, which is extensive and very helpful. Their sample cases, documentation, and, most of all, GitHub. Also, I already mentioned the use of Firefly. Building a blockchain is incredibly hard, as we found out. Firefly eliminates the most difficult part, building the “plumbing” which includes:
1) cross-organization data flows,
2) a mix of decentralized and centralized tools for messaging, connectors, and identify registry,
3) network management, and
4) programming module.
Second, have a lot of discussions on architecture. What you decide to have on-chain versus off-chain is one of the most important decisions in your design. For example, our initial architecture had everything written to the blockchain. This was, in retrospect, a bad idea. It had negative ramifications on security, latency, storage, and pretty much everything.
Third, and this is related to on-chain versus off-chain, monitor your processing requirements. One of the most consistent criticisms of blockchain is that it is a resource hog. Frankly, this is true. Design your architecture with this in mind. I know of several blockchain projects that had to redo their design and modify their code because their initial architecture was either too slow or required too much computing capacity or both. Usually, it was both.
Last of all, test, test, test, and test some more.
For the next steps, we’ve actually completed another version, POC3, and we’ve started demonstrating POC3 to select audiences. As a part of these discussions, we’re soliciting feedback to plan our product roadmap. In our experience, the POCs are demonstrating the significant business value that will further automate, disintermediate and achieve real-time settlements of value in the complex processes of the mortgage life cycle.
We will continue to build upon and share our journey to help educate the industry on the true potential of blockchain technology. With each meeting, training, and demonstration of our POCs, we are making advancements.
If you’re interested in getting more information on our proof of concept or discussing the mortgage industry, please reach out to me.
https://www.linkedin.com/in/marvin-bantugan-a41a763/ – [email protected]