Last fall Oracle released Blockchain App Builder for Oracle Blockchain platform – a low-code development toolset for Oracle Blockchain Platform to increase the speed of innovation. The App Builder can automatically generate chaincode for basic CRUD methods and persistence APIs from a declarative specification and empowers a blockchain application developer to develop chaincodes faster, deploy and test chaincodes very easily and substantially reduces the number of code defects.

Low-code chaincode lifecycle supported by Oracle's Blockchain App Builder
Figure 1: Low Code Chaincode Lifecycle Supported by Blockchain App Builder for Oracle Blockchain Platform

 

Then we asked ourselves, what other common building blocks we can help to generate automatically so developers can move even faster? It didn’t take long to recognize that use of tokenization was accelerating and it was becoming a core feature in many innovative blockchain solutions. We’ve decided to expand the App Builder capabilities to support tokenization and released it as part of the version 21.2.3 announced at Hyperledger Global Forum on June 10th.     

Tokenization is a process where physical or digital assets are represented as tokens that can be created and recorded in a blockchain ledger and transferred between users. Today tokenization is used in multiple industries to represent financial assets, payments, real estate, loyalty points in reward programs, inventory assets, royalties, carbon credits, intellectual property rights, and most lately – digital art, collectibles, and IP rights from the world of sports and entertainment using NFTs (Non-Fungible Tokens that uniquely link owner’s identity and rights with a digital media object.) In many innovative business models tokens can be exchanged with fiat currencies or with any other tokens to create value and enable trading in the system. A February 2021 Forrester report, Invent The Future With Asset Tokenization, states:

“Tokenizing an asset makes it trackable, increases its utility, and supports automation. Blockchain-based tokens go beyond representing assets in a digitized format. Because tokens are programmable, they can be entirely self-describing, which means that they can include the attributes, rights, and obligations pertaining to the asset, as well as the rules that apply to it. And because they run on blockchain- or DLT-based systems, the tokens benefit from the way in which these networks support multiparty processes around trusted, tamper-resistant, and tamper-evident data. From a technical perspective, this makes it possible to 1) track the asset; 2) ensure that nobody can perform operations on the asset that are prohibited; and 3) transfer ownership of, or rights to, the asset provably and securely. From a business perspective, tokenized assets not only lead to process efficiencies and other benefits like fraud reduction; they also create an opportunity for complete multiparty process redesign and new business models.”

 

Some blockchain networks have built-in token mechanisms and exchange APIs, e.g., the well-known Ethereum’s ERC-20, ERC-721, and more recent ERC-1155 token contracts. In other blockchain frameworks that do not have a built-in token mechanism, like Hyperledger Fabric, tokens can be added at an application layer as smart contracts. However, building the framework for managing the complete token lifecycle requires expertise and is time consuming to develop from scratch. And in order to make this re-useable you also need to define a cohesive meta-model of token properties and behaviors that’s sufficiently generic to support a broad range of use cases.

Blockchain App Builder addresses these challenges by leveraging the InterWork Alliance’s (IWA) open source Token Taxonomy Framework (TTF) meta-model and creating a robust Token SDK, then adding  a token lifecycle abstraction layer supported by a comprehensive Token API with more than 30 user-accessible methods. Using TTF enables an inter-operable token model that can support fungible and non-fungible tokens with TTF-defined standard behaviors that are implemented as token SDK methods. In true low-code manner, all the user has to do is tailor a declarative specification file to their needs and we automatically generate the SDK plus the token lifecycle abstraction layer with its APIs.

Sample Token Specification
Figure 2: Sample Token Specification

 

The current release of Blockchain App Builder supports Fungible Token (FT) with following six token behaviors:

  • Divisible
  • Roles
  • Mintable
  • Transferable
  • Holdable
  • Burnable

App Builder uses an on-chain account/balance model to represent tokenized assets as balances in an account, which belong to a User Identity under an Organization ID. To ensure security, in the present release you can assign three token roles – minter, burner & notary (escrow), which enables access control for these operations. Application developers can also define custom attributes for the token asset and declare any custom methods in the specification file, which can be implemented as custom business logic using the Token API. To improve scalability of account updates in Hyperledger Fabric, we’ve optimized the transaction validation process performed by the peer nodes when they receive a new block and commit it to the ledger.

Once the specification file has been tailored to your needs, which could be as simple as specifying token name and setting minting quota, a single click generates the Token SDK and the chaincode abstraction layer with a number of methods and APIs used to manage the complete chaincode lifecycle from issuance to transfer and burning. The auto-generated methods have the embedded access control with the capability to auto-identify the callers and check the validity of the requested operations based on the roles assigned. When necessary to identify a counter-party to the transaction, they accept organization id and user id as input parameters.

Auto-Generated Token Abstraction Layer APIs
Figure 3: Auto-Generated Token Abstraction Layer APIs

 

When necessary, you can add custom methods using these APIs to implement a wide range of tokenization applications. Your custom logic can mix the token asset with the non-token assets or use multiple tokens for different purposes. With a few more clicks you can deploy the generated chaincode package with any custom methods added to an Oracle Blockchain Platform running as Cloud Service in OCI or Enterprise Edition on-premises, and start testing and using the tokenization framework. Remember, this is tailored based on your specification file, and like any App Builder generated chaincode can be easily updated and re-deployed when you edit the specification.

Oracle Blockchain Tokenization Framework on Top of Hyperledger Fabric
Figure 4: Oracle Blockchain Tokenization Framework on Top of Hyperledger Fabric

 

While the Token SDK and the generated APIs are very comprehensive, the use of this framework follows a simple Token lifecycle model consisting of token/accounts setup steps followed by regular token operations: mint, transfer, hold/release, and burn as shown below.

Figure 5: Token Lifecycle – Set-up and Operations Steps

 

Let’s illustrate how this lifecycle can be used to support an airline loyalty program based on an example of a Utopian Airlines awarding their frequent flyer, Michael Greg, some frequent flyer points, which he will then redeem for a car rental with Fast Travels rental company.

The administrator sets up the token system by initializing the tokens, creating initial set of accounts and adding roles, making an accounts manager at the airline, UtopianMgr, an authorized minter, who can issue tokens. UtopianMgr issues (mints) a tranche of tokens and transfers some amount to a frequent flyer, MGTraveler, probably using an ERP system that manages the rewards to trigger the smart contract API. Michael Greg, the traveler, uses his Utopian Airlines mobile app to make a car reservation with a car rental company, Fast Travels, that is a partner in this loyalty system and as part of the reservation confirmation transfers some tokens to their partner account. Finally, Fast Travels accounts receivables manager reconciles their accumulated points for a payment from Utopian Airlines and in the process burns tokens accumulated in their account.

Airline Loyalty Program Example Using OBP Token Methods/APIs
Figure 6: Airline Loyalty Program Example Using OBP Token Methods/APIs

 

This is one of many examples that can be quickly enabled by the tokenization support on Oracle Blockchain Platform. This feature is also being quickly adopted in a number of customer and partner projects, such as:

  • Certified supply chain tracking and royalty accruals for patented technology
  • Freight transportation management
  • Central Bank digital currency
  • Data collection from CNC machines with rewards program
  • Rewards implementations in consumer-focused NFT marketplaces

The tokenization feature in Blockchain App Builder fosters the token economy and enables faster realization of innovative business models. Its simplicity ensures that the developers can easily generate the token chaincode without any specialized skills, while also making the maintenance of the complete token life cycle very easy. We believe in empowering the developers by making the tokenization feature quick and simple to use, while leveraging the emerging tokenization standards to foster interoperability and providing a secure, comprehensive solution for use by enterprises and beyond.

If this sounds interesting, please check out our webcast – “Hyperledger In-depth: An hour with Oracle: Enabling Tokenization Options on Hyperledger Fabric”

This is now available in replay – please visit https://www.hyperledger.org/learn/webinars/hyperledger-in-depth-an-hour-with-oracle-enabling-tokenization-options-on-hyperledger-fabric or it can also be accessed on youtube at https://www.youtube.com/watch?v=LEb5lC4JTD4.

On the horizon are features to simplify exchange among different tokens on Oracle blockchain and exchanges with other tokens, support integration with payment gateways, increase scalability through sharding, and enable non-fungible tokens.

Meanwhile, you might ask can these tokens be exchanged with some other tokens on a public blockchain, like Ethereum.  In the next post, we’ll show you how.

We welcome your questions / comments in the feedback section.