Category Archives: Software

Posted on Thu, Oct 12, 2017 @ 10:51 am

OFS Prototypes and Accelerators in Blockchain

To show you blockchain in action, I would like to share several of the prototypes and accelerators OFS just built in blockchain.

Please note that the use cases discussed below do not address all the regulatory concerns required in their respective fields. Practical applications of blockchain are still evolving and, in fact, it is possible that blockchain will do away with some of these regulatory concerns. We think this is what makes blockchain applications even more interesting. Having said that, the objective of the proofs of concepts given below is to demonstrate the disruptive potential of blockchain and the skills OFS has developed in-house to develop and deploy them.

#1 Tokenization of Automobiles Enabling Title and Lien Processing in Blockchain 

“Tokenization” is the process of representing the right to a real-world asset as a digital token in a blockchain. A tangible asset like an automobile, which over its lifetime could have many owners, titles, liens, and leases, is a perfect candidate for tokenization.

Automobiles as a Smart Contract

A real-world automobile will be represented as a smart contract on blockchain. When such a smart contract is deployed it gets a unique ID (address) and the functions (contractual terms) of the contract become immutable. The smart contract will initially have all unique and identifiable attributes required, such as a VIN number set during deployment, to uniquely identify the vehicle.

5

Smart Titles – Record of Ownership

A title is an instrument of ownership. There are a lot of administrative efforts involved in issuing, transferring, and maintaining titles. From the consumer point of view, it is something that should be kept safe. There are a lot of contractual terms regarding when a title should be transferred from a lien holder to an owner, and from a previous owner to a new owner, etc.

At the end of the day, a title is just a piece of paper and all the contractual processes around this paper are manual and time consuming. With blockchain, these paper titles can be represented as digital smart contracts.

4

Representation of titles as smart contracts makes them ‘smart’ titles with self-executing functions defining the contractual terms. For example, the transfer of ownership can be programmed in the contract according to specific conditions, such as having the outstanding loan amount paid in full. Even the payments can be processed through these smart contracts. Note that these contracts are immutable (tamper-proof), self-executing and always available.

The functions above can be implemented through traditional applications without blockchain or smart contracts, but also without disintermediation, immutability and transparency.

In the future, as the blockchain technology matures, there is so much potential for these smart contracts to be used to control the operational aspects of an automobile. For example, the contracts can be used to stop a loan defaulter from starting a vehicle until they become current in their payments.

Please note the same use case can be repurposed to fit any kind of asset that can be tokenized. Land registration is another good example.

#2 Mortgage Processing – Blockchain in Business Process Improvement

Mortgage processing has some inherent inefficiencies with its many handoffs, exchanges of value, third-party certifications and built-in delays.

A PwC report from 2016 has this to say:

“Having a third-party intermediary involved in a mortgage transaction can cost as much as 1% to 2% of a property’s value. Blockchain could reduce or eliminate the need for a third-party intermediary in the mortgage process and instead allow two parties to interact directly instead.”

Mortgage processing has many stages like origination, fulfillment, settlement, servicing, and secondary markets with many document handoffs and transfers happening between different parties, organizations, and departments, making mortgage processing a very good candidate for the smart contracts and distributed ledger aspects of blockchain. The applications are not just limited to processing and closing, but also in secondary markets for mortgage securitization.
We are developing a consumer centric mortgage origination proof of concept. Instead of working with a traditional mortgage broker or bank, the philosophy here is to allow a borrower to register the intent to borrow and submit necessary documents in a blockchain marketplace for mortgages. The lenders who have access to the blockchain review the application and respond with competing offers. Technically, blockchain is inefficient to store documents, so we propose using IPFS (https://ipfs.io/) for document storage. We will talk in more detail about IPFS in forthcoming blogs.

The proof of concept shall be expanded to include inter- and intra-organization workflows.

Blockchain-Based Mortgage Marketplace

 

2

#3 ALT Coin Payment Processing Gateway Accelerator

As cryptocurrency gains more acceptance in the market today, there is an increasing number of customers who wish to accept cryptocurrency as a form of payment. In the meantime, there is an explosion of altcoins in the market. To start accepting cryptocurrencies, existing payment processing systems should be linked to cryptocurrency exchanges to ensure users can pay with these alternate currencies. There are multiple cryptocurrency exchanges, each with its own pros and cons regarding time taken for payment processing, transaction fees, etc.

We are developing a pluggable accelerator – an API wrapper for leading exchanges – that can be plugged into your current payment processing gateway. This API wrapper will extend your gateway to start accepting cryptocurrencies.

1

Blockchain, with its smart contracts and the decentralized nature, has greater potential to disrupt any domain and its conventional applications. Even though it will take time for this technology to mature for enterprise applications, an increasing number of organizations and governments around the world are investing time and resources in developing prototypes and proof-of-concept applications with blockchain. There is great interest in how they can make better use of this technology.

Think of the saying, “Today’s fiction is tomorrow’s reality.” Blockchain is already a reality, and that tomorrow is today.

Are you currently exploring the possibility of implementing blockchain technology in your organization? The OFS tech team would love to show you a demo of our accelerators and prototypes and exchange ideas on how you can start working with blockchain technologies. Contact us here.

About the Author

gan

Ganeshram Ramamurthy is ObjectFrontier’s technical director and heads technology for presales. For many years, Ganesh has been designing and developing enterprise applications across various domains. He has a keen interest in emerging technologies and is now spearheading blockchain initiatives at OFS.

 

 

Please follow and like us:
0
Posted on Thu, Oct 5, 2017 @ 1:58 pm

Hardly a day passes by without someone mentioning Bitcoin, especially when the currency’s market value has reached thousands of dollars. This grabs our attention immediately. At ObjectFrontier, we are interested in Bitcoin not just for its market value, but because of the technology that makes it tick, makes it secure, and makes it successful: blockchain.

 Thanks to the likes of Vitalik Buterin, blockchain – the same engine behind the success of Bitcoin – is now available for enterprises to use and build applications on it.

 This is the first post in a two-part series on blockchain. Here, I’d like to show a brief technical view of what blockchain is and how your company can use it. In Part 2 of this series, you’ll get to learn about some of the prototypes we are building and see the opportunities blockchain enables when it’s in action.

 Please note that this post might get fairly technical, so you will need some prior understanding of databases, distributed storage, peer-to-peer (P2P) networks and computer programming.

Applications of Blockchain

As explained in Bretton Woods’ 2015 white paper here , blockchain has far-reaching applications in financial services, healthcare, retail, media, personal investment and governance. To name a few, some applications are already built for the following:

  • Clearing and settlement
  • Payments
  • Property ownership
  • Digital identity
  • Voting
  • Insurance mortgage lending
  • Release of health records
  • Title and lien holding
  • Crowd sourcing

The Blockchain

It is an undeniable fact that Bitcoin revolutionized the field of cryptocurrencies. As mentioned above, the key to Bitcoin’s success compared to many of its predecessors is its underlying technology: the blockchain. Blockchain is a distributed transaction ledger replicated in all participating nodes in the blockchain network, with no central authority controlling it.

Technically, a blockchain is a decentralized database with random independent nodes participating in the network. All the nodes in this network will have the same version of blockchain, and hence the ledger is distributed and one single version of blockchain is replicated across all the nodes. As the name indicates, a “blockchain” is a chain of blocks. The blocks contain transactions committed to the blockchain.

The state of the blockchain changes based on the transactions added to the blocks that make up the chain. Any node in the network can add a block to a blockchain. However, since a blockchain is disintermediated, with no central authority controlling what transactions make up a block or which block is added to the chain, we need a consensus between the competing nodes trying to add the block. A consensus algorithm called Proof of Work (PoW) achieves this unanimity. PoW is the consensus algorithm currently employed by the likes of Bitcoin and Ethereum. Check out this Ethereum white paper for more details.

Beyond cryptocurrencies, blockchain technology—with its decentralized, disintermediary nature—has immense potential to open up new avenues and markets for enterprises willing to build revolutionary applications on blockchain, giving them an edge over others. Private, permissioned blockchain is especially attractive to many enterprises in financial services and healthcare. It is encouraging to see increased acceptance of blockchain with states like Vermont passing legislations honoring transactions on blockchain.

Programmability of Blockchain

To understand the programmability of blockchain, we have to take a good look at how Bitcoin works. When Alice transfers a few bitcoins to Bob, this is considered a transaction in Bitcoin’s blockchain.

As shown below, a Bitcoin transaction has two sections: Input and Output.


Input:

Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6

Index: 0

scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10

90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501


Output:

Value: 5000000000

scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d

OP_EQUALVERIFY OP_CHECKSIG

Without getting into the fine-grained details, the scriptSig and sciptPubKey are actually scripts that define the business logic for this transaction. When executed, this script evaluates the input against defined conditions and ends up changing the state of blockchain if all conditions are met. This ability to define logic in a transaction is what makes blockchain programmable.

Scripting in Bitcoin cannot be expanded much beyond cryptocurrencies, because it is not developed with such applications in mind. Technically, the scripting language in Bitcoin is not Turing complete. This limitation in Bitcoin is overcome by the leading blockchain platforms like Ethereum and Hyperledger, making blockchain a viable option to develop and deploy applications for enterprises.

These platforms also focus on privacy, scalability and access control, making them ready for building and deploying enterprise applications.

Blockchain Platforms

There are many blockchain platforms available in the market today that enable the use of a “smart contract,” which is a code that facilitates the secure execution of contracts between two parties on blockchain. Applications that use smart contracts are called “Decentralized Applications (DAPPS).”

Here are the two leading blockchain platforms:

Both of these platforms enjoy good community contribution, industry adoption and enterprise backing.

Ethereum, which is backed by Ethereum Foundation, is an open software platform based on blockchain technology that can be used to build and deploy smart contracts for decentralized applications. Smart contracts are programs that are deployed to blockchain and run on the Ethereum Virtual Machine (EVM) in an Ethereum network.

Smart contracts are immutable once deployed, and because of blockchain’s decentralized nature, they will always be available for invocations. Invocations of smart contracts are transactions that make up the blocks in blockchain. These transactions can contain data for functions called on smart contracts. Smart contracts have their own storage that can be used to register state changes and can return output of the function invocations. One contract can call other contracts and create more contracts in run time. Ethereum smart contracts are developed using a contract-oriented language called Solidity.

DAPPS are traditional web applications that invoke and use smart contracts behind the scenes. Ethereum is primarily a public blockchain that can be run as a private blockchain.

Hyperledger Fabric backed by Linux Foundation is a platform for running a private blockchain (a.k.a. permission blockchains). Permissioned blockchains are similar in all aspects to the public blockchain except for the following:

  • They are private. These blockchains are accessible only by approved parties.
  • They have pluggable consensus. Participating organizations can decide on the consensus protocol.
  • They allow for specific permissions. There is fine-grained control over who can read and initiate transactions in these blockchains.

The characteristics of a private blockchain sometimes make Hyperledger Fabric an attractive option for the enterprises. You can use the factors above to determine what suits your own use case best.

In general, Hyperledger Fabric works with the same principles as Ethereum with some differences in terminologies. For example, smart contracts are referred to as chaincode and the choice of language for development of contract is Go.

Both the platforms are equally powerful and capable of building revolutionary applications.

To see what blockchain looks like in action through several use cases, stay tuned for Part 2 of this series, coming next week.

About the Author

ganGaneshram Ramamurthy is ObjectFrontier’s technical director and heads technology for presales. For many years, Ganesh has been designing and developing enterprise applications across various domains. He has a keen interest in emerging technologies and is now spearheading blockchain initiatives at OFS.

 

 

Please follow and like us:
0
Posted on Wed, Apr 13, 2016 @ 6:46 am

I’m an old ­­software warhorse and wrote my first program back in 1972. Everything certainly has changed since then, but some principles endure. For example, one of my early bosses used to remark that good software was like a good axe a lumberjack used for years. Yes, the head had been changed several times and the handle was replaced a few times too, but somehow, it was still the same axe. His point was that good code should be designed and separated into components, so that as one part wears out, it can be replaced without throwing away the entire code base. Even when all the components have been replaced over time, somehow the product is still the same.

That concept of separate components with well-defined interfaces is particularly relevant in today’s digital business. As we all rush headlong into the process of digital transformation, it’s important that we don’t get so wrapped up in the latest mobile, cloud, and IoT technologies that we forget the basic notion that it will all change again. (And, like a metaphorical Yoda in the software world, I’ve lived long enough to see it change many, many times!) We can prepare for that change by moving to an API model that encapsulates our important business logic, which doesn’t change as often, from the ever-changing ways we use that logic to drive our business.

You often hear about the API economy these days, and as a veteran from the early days, I think it’s great to see us reach that nirvana of re-use we had long hoped for years ago. You no longer need to know the details of where data is stored, how it is accessed, or all the rules pertaining to it. You just call the component with an agreed-to format (API) and you instantly get the data you need to incorporate into your own program’s needs. This has given cloud-based software a tremendous boost that allows us to quickly build new software that stands on the shoulders of software already written and tested by someone else.

That same concept applies to our internal business software. If we can componentize our business rules and database access and create a set of well-defined API calls to handle things like adding a customer, calculating a payment, or giving out the current inventory level of a specific product, we are setting up our own building blocks that enable us to assemble them in new and important ways during our digital transformation efforts. Put another way, if we expect to fully participate in the API economy with other businesses, we must build our own APIs for ourselves first.

For example, APIs that record and monitor a car rental can be used by the rental agency’s website for booking purposes, by the renter’s expense management system to get the receipt and charges, and by the car’s manufacturer to provide usage information for warranty coverage.

While all this would certainly help the customer on his journey and streamline the car rental agency’s processing, it requires a lot of effort. The agency first must simplify its backend systems by getting rid of duplicate systems of record that store rental information inherited from prior acquisitions.  However, it takes years to decommission old systems of record. In the meantime, it may be necessary to design and build lower-level APIs around each of the duplicate systems and then build higher-level APIs to hide the fact that some of the data is actually stored in different systems. Neither the renter, nor his expense management system, nor the car manufacturer care one bit about which internal system the agency is using to record the transactions they need. You need to have your APIs mask all that complexity so you can offer a single view into your company and a single way to do business. This is the essence of what APIs offer to both your external customers and your own developers.

While it might be nice to try to build APIs for all your corporate data, the reality is that even if you could do it, the time and cost required would be prohibitive. You have to focus on building your APIs over time, embedding the work to do them in each of the short-term projects that our business requires. This requires some real discipline, as it always takes longer to build some APIs first than it would to just bang out the code asked for by the business.

Also, it always seems that your own staff, who are building new APIs, are the last ones to use them. However, by incenting them through carrots and sticks (like authorship awards for new APIs or penalties for not using them), you’ll create the ability to change the axehead and handle of your systems while keeping the essence of them the same.

Please follow and like us:
0