Techracers has recently inked MoU with IET, DAVV, Indore Campus under its flagship initiative ‘Techracers Labs’ which will nurture the efforts in building a global network of blockchain-oriented student societies. The collaboration will offer mutual benefits to corporations and well as students in the form of learning, research facilities and creating solutions to real-world problems.
The strategic alliance is a learning ecosystem that focuses on providing students with a beginner-to-expert level understanding of blockchain concepts and coding languages through lecture events, training sessions, and workshops. As part of the agreement, IET, DAVV students may also be able to contribute to innovations for developing PoCs/PoWs along with blockchain use cases in different sectors.
Techracers Chief Marketing Officer, Mrs. Latha Sharma considers this collaboration as a path-breaking initiative which will encourage futuristic learning among all the students who wish to kick-start their careers with blockchain technology, she said,
“With an aim to incubate blockchain-learning and innovation opportunities, we at Techracers look forward to making the latest technological education more open to IET, Indore students with clear progression routes. Such alliances allow us to increase our research capacity and help us to churn our original vision into real-world impact.”
Our strategic partnership model includes a primer for students hoping to learn how to start building blockchain applications with different blockchain frameworks like Hyperledger fabric, EOS, DAG, Ethereum etc., which will ensure that all students have access to global learning experiences. The collaborating disciplines range from PoW, PoS, DPoS, Consensus Mechanism, Cryptography, Blockchain development and deployment which will further maximize the learning outcomes.
Speaking about this collaboration, Dr. Sanjiv Tokekar who is the esteemed Director of IET said,
“Institute of Engineering and Technology, DAVV recognizing the importance of research and development and providing quality manpower in emerging areas such as Blockchain Technology has signed a MoU with M/S Techracers. This will allow the students of Engineering and Technology at the university to get familiar with the latest advancement in the software industry while working at TR labs situated in IET premises. This collaboration will also allow interaction between both University as well as the industry in the area of curriculum development, faculty development, Industrial training and Internships, joint research work and providing a solution to real-world problems”.
We look forward to this with a single-minded focus on building a robust blockchain ecosystem among students and developer community. This also speaks to the reality that IET students will fuel a continually evolving and maturing technological landscape.
About Techracers Labs
TR Labs is a blockchain student hub, it is determined to promote greater understanding and utilization of blockchain, cryptocurrency, cryptography and related topics of mutual interest, and to foster a widespread adoption and innovation in these fields globally.
Techracers is a leader in the market-shifting technology innovation. We provide end-to-end breakthrough services under one roof where we conceive, design and test real-world blockchain applications. Our enterprise-ready ledger solutions let you reap the rewards of industry disruption and harness the power of blockchain.
Setting up Hyperledger fabric cluster on Kubernetes
About Hyperledger Fabric
Hyperledger Fabric is a permissioned blockchain implementation and one of the Hyperledger projects hosted by The Linux Foundation.
Over the past year, many organizations are adopting it for distributed ledger needs in their use cases.
Why Kubernetes for Hyperledger Fabric?
This is a question that usually comes up in our minds while thinking about the architecture of our fabric-based application. ‘Why is there even a need to set it up on a Kubernetes cluster? Why can’t we simply go with the basic docker image setup on a regular server instance?’
Kubernetes seems ideal for deploying and managing the Fabric components for several reasons:
Fabric deals with containers. Kubernetes manages containers like a Pro: Fabric components are packaged into docker containers and even the chaincode (the smart contracts) creates a container dynamically. Here, Kubernetes can simplify managing containers in a cluster as it is a very popular and easy to use Container Orchestration.
High Availability automated: Replication controller in Kubernetes helps in providing high availability of crucial Fabric components like ordering service and fabric peers. So, if one container goes down, Kubernetes automatically creates another. In effect, this gives us ZERO DOWNTIME for our fabric containers.
About this tutorial
Before moving forward, we assume that you’ve read about Kubernetes, Helm and Hyperledger Fabric in general or are familiar with the terminologies.
While there are resources available on the internet as well as Fabric’s official documentation for the initial limited setup for the fabric ecosystem, there are hardly any that explains how exactly to setup the Hyperledger fabric cluster using Kubernetes according to your needs.
This tutorial would walk you through a step by step procedure of setting up a dynamic cluster on Kubernetes for any number of organizations and with any number of peers per organization. We would be creating a repository with helm charts with a python script to setup the cluster. If you want to skip the nitty-gritty and get to the setup, here is the link to the repository.
We would be having organization specific pods in the cluster and there would be a dedicated volume for each peer pod storing their certs further giving them runtime writable space.
Each of the peer pods has their dedicated volume claims (PVC) in which their respective MSP and TLS certificates are present. Please note that for each organization, we can run our own application’s instance of having the business logic.
The extra app would be able to communicate with the peer pods PVC. It would also have access to a shared NFS server. The NFS would also store network-config.yaml files that are needed to install and instantiate chaincode in fabric peers via nodeSDK.
Alternatively, you can use CLI pods to install and instantiate the chaincode as well.
The best part is that we can follow either of the above-mentioned approaches to deploy our business logic using the python script.
The first step is to Install kubectl command line tool and helm server
Point kubectl in your machine to newly created cluster and initialize helm tiller
We would need cryptogen and configtxgen tools primarily to create the channel artifacts and certificates for us. You would also need Python 2.7+ version installed in your machine.
Spinning up the Magic
Clone the repository to get all the helm charts and python script that sets up the cluster for us.
Here we utilize the crypto-config.yaml file to setup our cluster requirements. This is the same file which is used by cryptogen tool to create peers’ and orderers’ certificates We can modify this file to specify how many organizations we need, and how many peers are required in each organization. We may also specify our own unique application running for each organization by passing it in ExtraPods field. A typical example of the content of the crypto-config file having two organizations can be found in the link below:
Use the command make fiber-up to setup the fabric components in our cluster. This command will invoke the init_orderers.py and init_peers.py scripts that would generate the pods according to the modified files.
The script does the following tasks in chronological order:
Create crypto-config folder having the peer and orderer certificates using cryptogen tool
Create channel-artifact folder having the genesis-block for the fabric
Spin up the Persistent volume claims (PVC) for orderer pods and copy the required certificates for pods in their respective PVC via a test pod
Deletes the test pod and create Ordering Pods
Spin up the Persistent volume claims (PVC) for all peer pods and copy the required certificates for pods in their respective PVC
Deletes the test pod and initialize Peer pods for all organizations
A: Updating crypto-config.yaml and adding helm chart for your app
– Setting up the Extra Pods that you need to run per organization. You can mention these in ‘ExtraPods’ field for each PeerOrgs in crypto-config.yaml.
– A sample entry to have a simple app would look like this:
– In the Chart field, you need to pass the path of the helm chart of your app. You can also pass values to override in the helm chart in Values field.
B: Setting up NFS storage
– If your extra apps would be interacting with Fabric components using the SDK, your apps would need network-config.yaml files which store the channel information and peer public certs path.
NOTE: If your extra app doesn’t need nodeSDK or network-config.yaml, you can skip Step 4.B
– To add the NFS server, we must first add a persistent disk to your project. To add a disk from cloud SDK, run the command:
You can also go in gcloud console and create it using UI dashboard.
– In the file /public-certs-pvc/public-certs-nfs-service.yaml , update the value of gcePersistentDisk.pdName to the name of your persistent disk.
– Run the command make nfs-up to create the shared NFS storage and generate the network-config.yaml files for each organization.
C: Setting up Extra App Pods
– Check if all the fiber pods are up by command: kubectl get po –namespace=peers
– Once all the pods are Running run command: make extras-up run command
Testing the chaincode
The script automatically creates a default channel between two organization and joins all the peer pods in the channel. After that, you can install a chaincode in two ways:
Via your Extra app pods using nodeSDK
By using CLI pod for each organization.
Here is how you can do it using CLI pods:
Install the chaincode
– Enter the bash of Org 1 CLI pod:
In the terminal, install chaincode on both the org peer pods. The commands to install it in one peer is given below:
– Do the same for Peer1 in ORG_1_CLI_POD
– Repeat the same steps in ORG_2_CLI_POD as well.
Instantiate the chaincode
– Enter the bash of one of the Org CLI pod and instantiate chaincode by following command
Query the chaincode
– From the other ORG_CLI_POD, query the instantiated chaincode
If all goes well, you should see the passed value of the key
Bringing the Cluster down
If we want to bring down the cluster we setup, we can simply run make down Alternatively, if you wish to remove or recreate only a portion of our cluster, make use of the following commands:
make peer-down : to tear down only the peer pods and other organizational pods
make orderer-down : to tear down only orderer pods and namespace.
For more details about these commands, check the Makefile in the repository.
Caveats and Challenges
Kubernetes cluster comes with a handful of challenges that we have answered in our approach. We believe that it is important to go through these in order to understand the internal working of our script:
Dynamic number of peers in every organization
A simple cluster with 2 Organizations and 1 Peer per organization sounds good for starting up with HLF network. However, in a production environment, you might have a dynamic number of organizations involved. Each organization may decide to have a different number of peer pods and each of them might have different instances of our application running alongside.
To handle this dynamicity, we use the crypto-config.yaml file which is also used by cryptogen tool to create certificates. Out python script parses the peer organization hierarchy and creates dynamic namespaces and pods according to it.
Pre-populating Volume claims in Kubernetes
For Peer pod to be up and running successfully, there are few certificates that should be pre-populated in its volumes. Same goes for orderer service pods. They require the genesis-block in their volumes before the Pods start.
While it is quite achievable in usual docker volumes, it is not the same in Kubernetes PVC. The reason lies in a Kubernetes cluster, the volume is not in a single instance, instead, it is spread across different servers (Node in terms of Kubernetes). A file a.txt is present in any PVC, then we can’t be sure of its actual storage location in the cluster.
This creates a challenge to pre-populate the PVC before a pod is up. We do this by the following method:
First, we create our PVC with a test pod attached to it.
Then we copy the required certs by using `kubectl cp` command.
Then we delete the test pod and bring up the target Peer pod.
· Init Container is the ideal way to pre-populate the files in Kubernetes. But it doesn’t work in our case as we have existing files (certificates) in our local that we need to copy into PVC and can’t be hardcoded in the deployment.yaml
· HostPath is a type of PVC that resides in only a single server cluster, but since our cluster can expand across servers, it should not be used here.
Chaincode Dynamic container creation and recognition:
When a peer in Fabric instantiates a chaincode, it creates a Docker container in which the chaincode runs. The Docker API endpoint it invokes to create the container is Unix:///var/run/docker.sock.
This mechanism works well as long as the peer container and the chaincode container is managed by the same Docker engine. However, in Kubernetes, the chaincode container is created by the peer without notifying Kubernetes. Hence the chaincode and peer pods cannot connect with each other which results in failure when instantiating the chaincode.
To work around this problem, we have to pass the following environment variable in our peer and orderer pods:
This environment variables would make sure that the container created outside the Kubernetes flow are also recognized by peer pods.
Writable Disk Space for Extra Pods
Any Extra Pod using NodeSDK to interact with Fabric component would require a writable space that would be accessible to it. Since an organization may have many of such extra pods running, they would all need the same shared space to write files into.
Gcloud Persistent volumes don’t support ReadWriteMany class, i.e. Gcloud only encourages PVC to be writable by a single pod (ReadWriteOnce), or be readable to multiple pods (ReadOnlyMany). To overcome this challenge, we set up an independent NFS server and pod mounted on top of a gcloud Persistent Disk. As a result, each organization’s pods would have access to a specific sub-directory in the Network File System.
Network-config.yaml file for Pods using NodeSDK
Any Extra Pod using NodeSDK to interact with Fabric component requires a network-config.yaml file that has info about the channel and the certificates required for it. Our solution currently generates a network-config.yaml file for a two-organization channel for each of the organization and populates it in the NFS. Each network-config file goes in the respective organization’s subfolder.
End Result and Conclusion
The end result is expected to be a properly working Hyperledger Use Case Setup on the Kubernetes cluster.
The unique point of this cluster is no component’s Kubernetes setup was hardcoded in the Kubernetes deployment, but was dynamically created as per each organization’s requirement.
Using the repository code by following this approach, we can setup a Hyperledger fabric use case in minutes by compiling the requirements in crypto-config.yaml
In the end, we would like to conclude by pointing out a few improvements that can be added to the discussed architecture.
In the big level project, each organization might have a different cluster for their resources. In this case, we would like to go ahead with Intercluster communication methods in Kubernetes like Federation service. We will be publishing a blog explaining that architecture shortly.
In this blog we’ll discuss the methodology to create an ERC20 based token Chaincode in HyperLedger, using Node.js. ERC20 is a widely tested and accepted standard in Ethereum and incorporating it in Hyperledger can make the task of writing a secure and scalable chaincode for any token based on Hyperledger easy.
NOTE: We assume that you’re already familiar with HyperLedger Fabric, and your system is equipped with the prerequisites to kick-start development on HyperLedger. If not, refer to prerequisites, key concepts and tutorials in HyperLedger documentation.
The code in this repository has been tested in the following environment:
Node: v8.9.3 and v8.11.4
Hyperledger fabric: v1.2
Go: go1.9.3 linux/amd64
We would recommend using the same version, while adapting from our code.
After making sure the prerequisites are installed properly, follow the following steps:
Once you are in the network folder, you can create our hyperledger network environment. It will create 2 organizations for you (Org1 and Org2) respectively, with an Orderer having 2 peers each.
If it’s your second time running this tutorial, or you have successfully run any other HyperLedger Fabric based code then we suggest you to first run the following commands:
It will ask for a confirmation:
Press Y and continue.
Note: You can always check how many containers or volumes of docker are up and running by using the following commands:
docker volume ls
If you struggle to shut down containers and volumes using the script, try running the following commands:
docker network prune
docker volume prune
docker rm -f $(docker ps -aq)
Token Network Setup
Once you’re done with the Housekeeping, you are ready to start your network by making use of the following commands:
It may take some time to execute (usually between 90- 120 seconds to execute). However, if you see the following log in your terminal, that means it executed successfully and your network is ready to use.
It created the required certificates for each entity of HyperLedger using the crypto-config.yaml file, in a folder named crypto-config within your networks directory. Check it out!
It also created channel.tx, genesis.block, Org1MSPanchors.tx and Org1MSPanchors.tx.
Note: We cannot cover everything in this README, to understand the intricacies behind the process in detail go through this tutorial.
It also created docker containers and volumes for:
peer0 and peer1 or Org1
peer0 and peer1 of Org2
Check them using docker ps and docker volume ls. We also created a channel name mychannel between Org1 and Org2, both the peers of each org are a part of this channel. Then installed our chaincode on peer0 of each org and instantiated our chaincode, naming it mycc. You can see the logs of respective peer/chaincode using:
Note: For debugging you can access your chaincode and peers logs docker logs <press TAB to see options>; and If you don’t see a container for chaincode (dev-peer0.org1.techracers.com-mycc-1.0) then there was a problem instantiating our token chaincode.
Let’s play with our token
Now that our chaincode is up and running, let’s try some getter and setter functions to understand it better. For that, we need to enter the CLI container which we have created.
Now, you’ll see something like this:
Once you’re in the CLI, you can call the getter functions provided in our SimpleToken. We’ll discuss each one of them accessible to you one by one:
This function will return the owner of the token contract. Now it is the MSPID which instantiated the contract, you can see it here.
Here mychannel is our channel name and mycc is the name of our chaincode, and as you can see Org1MSP is the current owner of our chaincode.
This function will return the name of our token contract. It was set to Simple Token while instantiating the contract, you can see it here.
As you can see, Simple Token is our current token name.
This function will return the symbol for our token contract. It was set to SMT while instantiating the contract, you can see it here.
As you can see SMT is our current token symbol.
This function will return the total supply for our token contract. It defaults to 0 until it is set. You can find the required logic here.
As you can see 0 is our current total supply.
This getter returns the value of isMintingAllowed boolean stored on HyperLedger. It defaults to undefined until it is set once. You can find the required logic here.
As you can see isMintingAllowed is now, undefined. It will return true or false once set later.
This getter returns the value of allowance set by a token owner for a spender MSPID. It takes as ‘Input the MSPID token’ owner as the first argument and ‘MSPID of spender’ as the second argument. It defaults to 0 until it is set. You can find the required logic here.
As you can see, getAllowance is now 0. It will return float once set later. Let’s also check for the other combination we have and see if it returns 0.
Our last getter is getBalanceOf function, it returns the token balance of every MSPID we enter. It also defaults to 0 if the MSPID don’t have any token balance.
Once you’re done with the getter calls, let’s explore the setter functions provided in our SimpleToken. Remember you will need to satisfy the endorsement policy before you can make these transactions happen, on that account you will see some extra fields here. It will also take some time when a setter is called for the first time to a specific peer, later it returns results almost instantaneously. Also right now the CLI’s configuration is set to Org1 peer0, which you can check using:
You can change to peer0, Org2 by running the following commands:
Use a similar strategy for other peers.
We assume your config is set to peer0 of org1, otherwise set it using the following commands:
Now let’s try to update our minting state to true. We need to specify the Orderer and the peers to satisfy our endorsement policy.
Note: If you’re following this tutorial, this will be your first invocation so it might take some time.
Now run the getter to see if it actually changed:
Note: If you call it using peer0 of Org2, it will fail with the following result:
You can open another Terminal and check the error logs as follows:
Note: You can enquire about other errors in a similar fashion, just be sure you are hitting the right peer. To know more about other validations, you can check the chaincode here.
This function can be used to create/mint tokens by the token owner. But isMintingAllowed should be set to true. Let’s mint some tokens for Org1MSP. Make sure your config is set to Token Owner.
You can check the balance using our getter:
If you experience errors troubleshoot them using docker log, please find the chaincode here.
Now, we know that we have 100.2345 tokens registered under Org1MSP. Let’s try to transfer 10 tokens to Org2MSP.
You can check Org2’s balance using:
If you experience errors troubleshoot them using docker log , please find the chaincode here.
You can update the token name using this setter.
Check it using:
If you experience errors, troubleshoot them using docker log. Find the chaincode here.
You can update the token symbol using this setter.
Check it using:
If you experience errors troubleshoot them using docker log, please find the chaincode here.
If you want some other MSPID to spend some tokens on your behalf, you can use this setter.
Check it using:
If you experience errors troubleshoot them using docker log, please find the chaincode here.
Once you have approved Org2 to transfer on behalf of Org1. First set the config in cli for Org2, so you can call functions on its behalf.
Now let’s transfer a float value to a nonexistent, but valid MSPID.
Note: Such MSPIDs can be created later and will have tokens preallocated to them, just like Ethereum addresses.
Check it using:
If you experience errors troubleshoot them using docker log and you can find the chaincode here.
Lastly, set your config back to the Owner of the token and try transferring Token Ownership.
Check it using:
If you experience errors troubleshoot them using docker log and you can find the chaincode here.
ERC20 Architecture by Zeppelin
We used Zeppelin Solidity tested standards to create this ERC20 token version on HyperLedger. It is easy for Solidity developers who are familiar with JS to incorporate. You can refer to the architectural model of ERC20 here:
helpers – Includes validations, checks which must be fulfilled during chaincode invocation or query; and utils for making the code DRY.
examples – A simple chaincode that demonstrate how to create a simple token using the basic chain codes provided in the repository.
tokens – A standard interface for fungible ERC20 tokens on HyperLedger.
Techracers is dedicated to providing secure and simple code, but please use common sense when doing anything that deals with real money! We take no responsibility for your implementation decisions and any security concerns you might experience.
The core development principles and strategies that Techracers is based on includes: security in depth, simple and modular code, clarity-driven naming conventions, comprehensive unit testing, pre-and-post-condition sanity checks, code consistency, and regular audits. If you need further assistance, please email email@example.com
Note: We welcome recommendations and suggestions from the Open source community, if you think you can help us by raising an issue.
Fintech is a much-hyped buzzword in the financial services industry these days and everyone from the corporate giants to the infant startups is talking about it. Though Fintech is gaining this attention for all the right reasons, its specific meaning always gets diluted along the way. It is proclaimed to be a game-changing, disruptive innovation that holds the capability of shaking up the traditional financial markets. This blog aims to clearly define what is Fintech and how Blockchain technology is driving disruption in the financial services industry.
What is Fintech?
Fintech, an abbreviation for Financial Technology that describes the evolving intersection of financial services and technology. The term Fintech was originally referred to the technology applied to the back-end of established consumer and trade financial institutions. Since the internet revolution, the term Fintech stands for technologies that are disrupting traditional financial services, including mobile payments, money transfers, loans, fundraising, and asset management. Although, in its broadest sense, Fintech stands for technologies used and applied in the financial services sector, it also touches every other business the financial services industry deals with.
Every time you go online to see your financial transactions or use tools to manage your spending and investments, you are making use of the Financial technology or Fintech.
Another most hyped term in the financial world today is Blockchain. Blockchain plays a significant role in financial innovations and is the backbone technology that is driving the Fintech revolution.
Everywhere you look these days, someone has a crazy new solution built off of Blockchain technology and you may be asking yourself this question: What does Blockchain mean, and how is it relevant to me? If you are an investor, entrepreneur, government worker, teacher, or well anyone who is collecting a paycheck, then this is the most important advancement to date, of any kind. It will have significant consequences on our lives and how we do business in the future.
A Blockchain is a type of decentralized and distributed ledger for maintaining a permanent and immutable record of transactional data in a chronological order. Blockchain stores transactional data in a continuously growing list of records called blocks. Blockchain uses cryptography to link and secure these blocks. Each block typically contains three elements:
A Hash pointer- link to the previous block
For better understanding, the key features of Blockchain can be categorized as follows :
Decentralized– A Blockchain-enabled decentralized network operates on a peer to peer basis. Meaning that by storing data across its network, blockchain eliminates the risks that come with data being held centrally.
Distributed ledger– A distributed ledger allows sharing of a ledger of activity- such as arbitrary data or virtually anything of value between multiple parties. Each of the computers in the distributed network maintains a copy of the ledger to ensure transparency and also prevent a single point of failure (SPOF) and all copies are updated and validated simultaneously.
Immutable record– By design, blockchains are inherently resistant to modification of data. All blockchain networks adhere to a certain protocol for validating new blocks. Once recorded, the data in any given block cannot be altered without the alteration of all the subsequent blocks, which requires the consensus of the network majority.
Blockchain opens new doors of opportunities for all the stakeholders in the financial world. The future of the financial services industry depends on how these stakeholders capitalize on this technology and how do they interact with each other. Let us have a look at the different participants of the Fintech ecosystem and what are the various challenges faced by them.
The Fintech Ecosystem
The Fintech ecosystem is a very fluid environment and is creating surprising winners and the most stunning losers in the financial world. According to Jeff Koyen, an active blockchain investor, entrepreneur and journalist:
“It’s a very interesting space to watch. It’s clear that blockchain has the potential to make finance more efficient, but the big players are well-established. And establishments don’t tend to favor innovation. I’d keep an eye on the startups who want to disrupt, but also know how to play nice with the institutions.”
The industry is growing at a rate of 23% year on year. To make sure that you don’t fall back or get lost, let us understand what are the roles of the various participants and the various challenges faced by them.
Governments, financial services companies, and Fintech startups together form an ecosystem. All the participants of this ecosystem face different challenges and opportunities and with the advancement in technology every day, this landscape becomes more dynamic and complex than ever.
Financial Institutions Traditional financial institutions, also referred to as incumbents are trying to leverage the best outcome by adding technology to their existing legacy systems and preventing them to become obsolete. Holland FinTech (2015) forecasts that approximately $660 billion in revenue may migrate from traditional financial services to Fintech services in the areas of payments, crowdfunding, wealth management, and lending. Banks are investing more heavily in innovation, however, they haven’t yet fully diffused these innovation strategies to all their processes – owing it to the threats these might cause to the existing system and the huge clientele.
The Fintech Startups The value of global investment in Fintech startups has increased from approximately three billion U.S. dollars in 2013 to eight billion U.S. dollars in 2018. While the disruption opportunity for Fintech startups is massive, startups will have to find a way to scale out their business while facing increased regulations, higher costs, and larger infrastructures.
Governments Governments have an important role in the evolution of Fintech, but they need to balance their activities carefully – encouraging innovation without inhibiting evolution. As governments develop policies and programs, there needs to be active engagement with stakeholders, whether through formal feedback mechanisms or ad hoc opportunities and conversations, in order to shape a future that benefits all stakeholders of the Fintech ecosystem.
Blockchain Driving Disruption In The Fintech Landscape
There is no doubt in saying that Blockchain is the backbone technology which is revolutionizing the Fintech industry. And as the financial service industry is moving from exploration phase to application phase, it is very important for the financial institutions or experts to understand the role of Blockchain in the Fintech if they want to take advantage of this financial revolution.
Why Fintech needs Blockchain?
The biggest challenge a Fintech company face is trust. How to make people trust them, and how to make a safe and secure financial product? Banks and financial institutions have huge cash reserves using which they create secure networks on which banking transactions take place. Fintech companies lack funds which restrict them from developing or procuring a high-security system.
Enter Blockchain. Blockchain is cheap in terms of developing and also highly secure or “trustless” as we call it. As Blockchain is a series of immutable blocks, this allows companies to track the complete lifecycle of a financial transaction. Blockchain has given the opportunity to create secure and safe financial products and bring innovation in the financial sector.
Blockchain has the potential to truly disrupt multiple industries and make the processes more democratic, secure, transparent, and efficient. This leads us to another question:
What makes Blockchain so powerful?
The answer to this question lies in the two inherent properties of a Blockchain – Decentralized and Distributed.
For centuries we have trusted a third party for carrying out all our transactions. All the data is centrally stored and these central parties majorly formed the way economies work. Have you ever wondered what would happen if one or all of these third parties went corrupt? It would create huge chaos in the society. With blockchain the data is centralized and there is no single authority. The blockchain potentially cuts out the middleman, giving back the power to the owner of the assets – data or tokens carrying some financial value.
The distributed infrastructure provides blockchain with an ability to share information that is secure and provide for the unalterable transfer of data– ensuring data integrity. This makes the blockchain technology an important tool in building trust among business and consumers. A distributed ledger can take over many of the functions performed by central third parties. This is particularly relevant for the financial services industry which trusts these third parties to build trust.
If you are running a business or are a part of leadership, then you must seriously start re-imagining your business model and explore how you can integrate blockchain to remain viable.
Now that you know what is blockchain and Fintech, and the way blockchain is driving disruption in the Fintech industry let us take a look at the current use cases of blockchain technology in the Financial services. It is clear that there are a number of major areas for applying the blockchain technologies emerging but, right now, it seems to me these are the major ones:
Blockchain technology use cases in the Financial Services
1: Smart Contracts: A smart contract is a computer code running on top of a blockchain containing a set of rules under which the parties to that smart contract agree to interact with each other. When these predefined rules are met, the agreement is automatically enforced. The smart contract code has the ability to facilitate, verify, and enforce the negotiation or performance of an agreement or transaction.
2: Digital Payments: The transfer of value or assets has always been a slow and expensive process. Imagine you have to send $100 from the USA to your friend in your Europe, who have an account with a local bank, it takes a number of banks and institutions to finally collect the money. With Blockchain, this process is simplified and faster at a cost much less than the traditional banking institutions.
3: Digital Identity: When identity management is moved to blockchain technology, users are able to choose how they identify themselves and with whom their identity is shared. Users still need to register their identity on the blockchain of course. But, they don’t need a new registration for every service provider, provided those providers are also connected to the blockchain.
4: Share Trading: Buying and selling stocks and shares involves many middlemen, such as brokers and the stock exchange itself. A blockchain is a decentralized and secure ledger that gives every stakeholder a say in the validation of a transaction and eliminates some of the ‘middlemen’ while changing the role of others. Eliminating the middlemen from the share trading process speeds up the settlement process and allows for greater trade accuracy.
Future of Blockchain Technology in Fintech
Although the Fintech industry is thrilled about blockchain, the technology will take a few years to become a mainstream financial model. As with any emerging technology- Blockchain poses certain challenges that need to be addressed to fully utilize its potential in the financial services industry.
It is obvious that even though Blockchain technology is still in its growing phase and the possibilities are still being explored, it is important to research and keep up with new developments to make the best use of this technology to fully transform how we carry out our financial processes in our day-to-day life.
To discuss the Blockchain technology possibilities for your organization, please get in touch with us at firstname.lastname@example.org
In our first blockchain meetup, our developers provided an overview of the blockchain technology, highlighting decentralized consensus as its backbone. In this meetup, we escalated further and discussed Smart Contracts and Solidity language.
He kick-started speaking session by sharing his thoughts on key aspects of blockchain and explained the basics of Smart Contracts along with its key properties. Here are the topics he covered:
Difference between Traditional Contract and a Smart Contract
Smart Contracts on Bitcoin
A usual Bitcoin transaction
Slower transaction time
Lack of Turing completeness in bitcoin
Ethereum using a Turing complete language
Ethereum Virtual Machine (EVM)
Basic examples of smart contracts on Ethereum
Session 2: Prateek Gupta, Senior Blockchain Developer- Key Functions of a Smart Contract
Prateek deep dived into the technical aspects and key components of a typical Smart Contract and explained the commands and functions used in the Ethereum Smart contract ecosystem. Below are the functions he discussed:
Luv demonstrated a Sample Smart Contract (mentioned below) and its deployment. He also explained how to initiate a Token transfer by exposing an ERC20basic interface on Remix IDE and under what criteria the transactions fail to occur.
Our meetups are focused on propagating blockchain knowledge and providing valuable opportunities for others to explore the new frontiers of Blockchain. Follow our YouTube Channel to check out the recorded session which is dedicated towards blockchain learning.
The traditional accounting is a labor-intensive work which brings upon huge human resource cost along with lower efficiency. The entire ecosystem also involves a lot of audit of orders, delivery notes, invoicing and payment records which are usually maintained by third-party verifications.
How auditing currently works:
The organization’s management prepares the financial report. It must be prepared in accordance with legal requirements and financial reporting standards.
The organization’s directors approve the financial report.
Auditors start their examination by gaining an understanding of the organization’s activities and considering the economic and industry issues that might have affected the business during the reporting period.
For each major activity listed in the financial report, auditors identify and assess any risks which could have a significant impact on the financial position or financial performance, and also some of the measures (called internal controls) that the organization has put in place to mitigate those risks.
Based on the risks and controls identified, auditors consider what management does has done to ensure the financial report is accurate, and examine supporting evidence.
Auditors then make a judgment as to whether the financial report taken as a whole presents a true and fair view of the financial results and position of the organization and its cash flows, and is in compliance with financial reporting standards and, if applicable, the Corporations Act.
Finally, auditors prepare an audit report setting out their opinion, for the organization’s shareholders or members.
How Can Blockchain help in auditing?
– Blockchain can help in maintaining transparency in audits.
One of the most appealing aspects of blockchain technology is the degree of transparency that it can provide. The technology can allow for the immutable tracking of anything across the audit process. The use of data visualization will allow auditors to not only provide assurance over the systems, but it will also allow consulting firms to assist with planning and decision making. Following are some of the key points for usage of blockchain in audit transparency:
The entire audit process can be ported to blockchain technology. In a nutshell, this will provide two benefits:
Many organizations hire multiple audit teams. There is a need for a corruption-free ecosystem for synchronization between audit reports between the auditing teams. When we use blockchain for auditing process, auditors will be aware of the audit process done by another audit team, thereby increasing the genuineness of the system.
The organization will be aware of the audit process, thereby tracking the audit process lucidly.
The audit reports will be put on the blockchain. The next auditors can verify if the audit is done right.
The financial reports of the organization can be put on the blockchain, this will ensure that the reports are immutable and cannot be denied by the organization later.
– Removes dependency of the enterprise in auditing.
An audit is often a heavy process that requires a team of professionals to spend a significant amount of time to review a large number of transactions and accounts of the client’s books. In this scenario, blockchain technology could play a really disruptive role.
As blockchain has its foundation in the distributed ledger concept and cryptology — which promises transparency, immutability, security, auditability, high cost-efficiency and is ‘ever available’ — an immediate application of blockchain technology in the audit verifications is connected to external confirmation procedures.
External confirmations are a critical part of all audit processes, as they give the audit team the ability to check external sources of the information that are provided internally by the company. But what if the ledger of such an enterprise is in a decentralized, public blockchain?
In a scenario like that, the auditors would be able to obtain all the information related to the financial transactions of a company without the need to confirm them through an external confirmation procedure, hence saving time and resources.
An environment where all the ledgers would be easily accessible, cross-checks of transactions would be still possible. If, for example, Company A has a liability with Company B, the auditors or any stakeholders could easily verify whether that is correctly recorded, by cross-checking the respective public ledgers.
Ready-to-access information will also facilitate the review of bank details, where the external auditors examine all the information pertaining to a company and commercial banks, including bank accounts, loans, guarantees and signatory powers. Apparently, blockchain can remodel the conventional techniques for invoicing, paperwork and contracts as it provides a canonical source of truth.
We hosted a webinar about Blockchain in Healthcare on the topic “Demystifying Blockchain in Healthcare – A Deeper Dive” on 29th August 2018. Healthcare is one of the most comprehensive ecosystem and blockchain holds a lot of potential in the healthcare industry.
Effortless data sharing between multiple parties of the healthcare system can yield better treatment results due to increased accuracy and cost-effectiveness. Blockchain for healthcare will allow smooth data sharing without compromising the data integrity and security.
In an effort to understand the utilization of Blockchain technology for the healthcare system, the current prevailing problems and their solutions, Mr. Ankur Maheshwari, CEO, Techracers and Mrs. Latha Sharma, CMO, Techracers, discussed the emerging use cases of Blockchain in Healthcare.
In case, you weren’t able to attend, you can find the replay available here
Demystifying Blockchain in Healthcare - A Deeper Dive - YouTube
Ever since the blockchain has become a global phenomenon, it has sparked the imagination of tech-enthusiasts, entrepreneurs, financial investors and software developers to get in sync with it. Keeping this in consideration, we organized a meetup on 4th August 2018 at our Crystal IT Park office, which was focused on common spaces of the blockchain. The agenda of the meetup was to provide a deeper insight into the impact of Blockchain in various sectors and how this disruptive technology will help organizations in establishing a trustworthy, efficient and decentralized not-so-distant future.
Our in-house blockchain developers lead the speaking session and highlighted the importance of day-to-day challenges which Blockchain may address whilst educating the attendees through presentations. The 90-minute speaking session was shared by five of our in-house blockchain developers.
Here is the detailed timeline of the topics covered:
Our senior blockchain developer Sumit kick-started the speaking session by discussing the basics of blockchain and what it is about. He explained that a blockchain is simply a distributed network that does not need trusted entities. He also described how a typical blockchain really looks like and took a deep-dive into mining/block production along with some of the most popular blockchains (Bitcoin, Ethereum, Litecoin, Dash, Neo), their integrations and transactions.
Tanuj get the ball rolling and introduced the attendees about Smart Contracts and the trust they inherit. The discussion was majorly focused on characteristics Smart Contracts possess such as Immutability and Distributed authority. He also elaborated how efficiently smart contracts work and how it can replace the global giant ‘Kickstarter’. Other topics covered by Tanuj were:
Technologies used to create Smart Contracts
What real-world problems do Smart Contracts solve?
Moving further, Chirag gave a presentation on Distributed Storage and why it is bad idea to store data on a blockchain, also what is the use of specified hash in a blockchain network. He explained the key difference between Centralized, decentralized and distributed storage and what are the protocol networks that provide complete decentralization.
Ayush being a blockchain buff took the responsibility of enlightening our guests with a complete know-how about Permissioned and Permissionless blockchains and how to choose one of them. His presentation also covered a QnA session in which he also discussed different Permissioned and Permissionless solutions. Apart from the this, we also talked in brief about Hyperledger, Corda R3, Ripple and how they offer a permissionless ecosystem.
Speaker 5- Rishank Jhawar, Blockchain Developer- Blockchain Use Cases
The meetup wrap was taken care by Rishank in an entertaining session on Blockchain Use Cases in different industry verticals such as travel, insurance, healthcare, legal, real estate etc. He also explained how world changing technologies like IoT and Blockchain when combined can emerge as an exciting vision of future possibilities.
Being the thought leaders, we strive to create a learning ecosystem around blockchain technology by sharing knowledge among developer community and aspiring blockchain developers. In future we have plans to organize such meetups every month where we will deepdive into the depths of blockchain and digital ledger.
You can check out the recorded session in our YouTube Podcast Playlist which is dedicated towards propagating blockchain learning.
The 2nd Annual Fintech week: Silicon Valley 2018 conference is being held on 13th – 16th August 2018 at South San Francisco Conference Center, South San Francisco, CA. We are excited to announce we will be attending the event as delegates to interact with experienced Blockchain enthusiasts
About 2nd Annual Fintech Week Conference
The event is organized by Fintech Worldwide Ltd, a global innovation network with a focus on technology and transformation in finance and blockchain. The 2nd Annual fintech week conference is a blockchain conference focused on broader trends in fintech covering discussions around the regulatory update, blockchain use cases in various parts of fintech sector etc.
2nd Annual Fintech Week 2018 will offer the attendees a chance to hear about the latest blockchain innovations in fintech space from across the globe. The event will covering a few of the mentioned topic:
Discussions around how Distributed Ledger Technology will conduct transactions faster as compared to the traditional process, charging a penny amount per transaction and allowing the KYC and AML requirements to met at the same time
There will be a panel to discuss regarding the latest and updated regulations for the blockchain space
Real life Blockchain use cases will be discussed with industry experts like consensys, Facere25 etc.
The economic impact of Blockchain technology on the Forex or the foreign exchange market
Discussion around future blockchain project with experts who are building the future
Discussion around how AI will help remove AML
Techracers is an end-to-end blockchain solution and service provider organization helping industries to create sustainable futures by scaling blockchain technology towards broader adoption of blockchain systems. Our team consists of blockchain technology enthusiast with expertise in building robust, scalable and interesting blockchain products along with providing Blockchain consultancy services.
As we are moving ahead with our tech conversations, our blockchain developers Nidish Ramakrishnan and Prateek Gupta conducted a tech conversation where they discussed Smart Contracts and ICO. The main hypothesis of the conversation is that how these smart contracts establish an ecosystem of distributed consensus in the digital online world.
They also discussed some compelling specific applications and potential of Smart Contracts in various sectors and how can aspiring blockchain developers learn its design and implementation. They also shed light on ICOs and why are businesses nowadays going crypto, further discussing the importance of legitimacy of authentic ICOs.
Here is the gist:
What are the potential benefits of smart contracts for financial institutions and their customers?
What groundwork is required for developing and deploying smart contracts?
What are the technologies used to build smart contracts?
What is the basic setup required for Smart Contract?
Writing the first smart contract
Understanding the importance of ICOs and their legitimacy
Compiling and deploying the smart contract for beginners
Check out the complete conversation here
Blockchain Podcast | Episode-3 | What are Smart Contracts & ICOs? - YouTube