 So what happens, you know, so these MSMEs, there are so many small, medium enterprises, sometimes the volume by, you know, at which they are applying for a loan in various commercial banks, the commercial banks cannot do the due diligence, you know, to understand, okay, how good this, you know, particular company is doing in order to disperse them, certain amount of loan, right? So if we fit the digital currency, you know, and we were talking about the program, we will payments as well, right? So those, those smart contracts would get, you know, implemented, and the disbursement could happen real time. And at the end of the day, the banks will be able to do better risk profiling as well of the customers. And then the offline payments, right? So offline payments, you know, with the help of various wallets, we can do the payments, the same thing, digital currency can also, you know, find its application in online offline payments. So, so we have seen, right, like why CPTC is relevant now, and where do, where, where all do we find its application? So let us see. So this is like kind of assessment, right? We will try to understand what is it, and then how can I get it implemented, and where all I can get it implemented. So now the next thing is, okay, I have done my assessment, but I have, I need to act on that assessment as well, right? So that is where this Indian pilot of CPTC comes into the picture. So when we talk about the retail part of it, right? So it was launched in December 2022, which is current month. It is launched in four major cities, Mumbai, Delhi, Bangalore, Rubinesh, but this is just a pilot, okay? More cities will be onboarded. And four banks, which are SPI, ICICI, S-Bank, IDFC, First Banks. So more, and as I was saying, it's a pilot, more banks could be onboarded once this pilot is successful. And kind of transactions supported will be peer to peer or peer to any other bank as well. And when we talk about the wholesale program, right? So wholesale program is, when we talk about retail, it's more like business to consumer or consumer to consumer. But when we talk about wholesale, it is like transactions happening between two banks. That is how we could try to understand it now. So even the wholesale program which was launched in last month, November 2022, and it was mostly to settle the secondary market transactions in government securities. So these are the two pilot programs which are running and within few months time, they will assist the success of this pilot program. And that is where we will see the adoption of the digital currency, which is the latest offering from RPI as well across India. So just to summarize, like what we understood, what is happening around us when we talk about digital currencies. And at the end of the day, he can visualize digital currency as it's the latest product in the fintech domain. Like fintech is the most rapidly developing sector now. So what we see, okay, CBDC is a middle ground. Okay, it is try to balance pros and cons between paper money and the cryptocurrencies. It will be built on some of the principles or the blockchain framework. So it has to be secured faster and transparent. And it will be because blockchain is sort of proven technology now. Third one is ease of transactions and settlements. Yes, the digital currency transactions will happen much faster. The settlements will happen much faster. It could be near real time as well. And yes, once we have assessed the pilot program and it is implemented, this implementation of the pilot as well as the bigger program by the Indian governments or RPI, right, it is going to bring on all the partners. And when we talk about this partner of the digital currency ecosystem, we saw that this is RPI, commercial banks, payment service providers, and at the end of the day customers like you and me. So all these partners, they, you know, these IT companies will have to enable, they will have to come up with the solution, they will have to come up with the frameworks platform products in order to for customers to adopt to this new technology. So that is where Indian IT companies have, you know, a good opportunity, wherein, you know, they could develop a new product or offer services around this digital currency. So with this, I would like to conclude this session. And I hope it was, you know, helpful in order for those who have joined to understand what is CBTC and where we are headed with it. So and that was the sole purpose of this session by me. So thank you. Thank you all for joining. If you have any questions, you may, you know, drop them in the comment box. Thanks for your time. Thank you, Dhananjay. And thank you for the presentation. And next we have is Ashwath Govindan. He will be speaking on debugging Hyperledger Fabric Chain Code. So Ashwath is a co-founder of SpyDRA Technologies and they are building decentralization as a service for business, which is need of the hour. So people, many enterprise are looking for a few APIs they can integrate and that done up with the blockchain. So that is a very interesting service he's trying to build. And he's an IITN and he has worked in Microsoft for 16 plus years, and last four years predominantly in blockchain. And he has extensive experience in blockchain and security and identity. Ashwath, thanks for joining. You can start the presentation. Thank you, Karthik. And thank you, Dhananjay, for the overview on CBTC and how it applies to the Indian context specifically. I think that was very, very helpful. So this next session, let me share my screen first. Yeah, please let me know once you're able to see. Yes, we are able to see. Yeah. So this next session, I'm actually going to talk about, you know, how do you debug code, chain code that you write for Hyperledger Fabric. So as Karthik was mentioning, I work for Spydera and we are basically developing a lot of use cases and solutions on top of Hyperledger Fabric where, you know, we are offering asset tokenization as a solution, creating, you know, token engine as a solution, which means creating ERC compliant tokens on top of Hyperledger Fabric and all that, right? So all of this requires quite a lot of chain code to be written, right, at the end of the day. And when we started this journey, right, we were actually struggling with rapidly developing and testing chain code as a developer, right? As a developer, you know, typically what you would expect is that as soon as I write code, right, I should be able to test. And if you think about how development works in any typical language, right, Java or C sharp and Node.js, you can basically debug from within the IDE itself, right? So that part was what we felt was a bit missing. And this session is basically talking about that and our experience in, in trying out the various options available out there currently, which I'll talk about first. And then I'll come to a Visual Studio Code extension that we have written specifically to solve this challenge for ourselves first, because we are literally, you know, struggling with it. And then we have basically made it open source so that the community can also take advantage of that. So I'll talk about that also towards the end. So that's that's how this session will be structured. So basically, you know, what are, what are the typical challenges, right? So as a developer, if I, if I have to write chain code, right, first of all, irrespective of whichever ID I'm using to whichever language I'm using to write chain code in, I'll have to set up a fabric environment first, right? Of course, there are, you know, different easy ways to do that. But still as a, you know, every time that I need to write code, I need to set up or, you know, at least start a fabric environment. Then the second fundamental challenge is that unlike, you know, typical code, right, where you can change something and test immediately in, in fabric, you would basically need to upgrade the chain code, right? Which basically means executing the chain code life cycle commands, multiple commands out there and then deploy it. And then you'll, the chain code will be executed and then you'll get the result, right? So, and then there's no inbuilt capabilities in fabric itself, which can integrate with any ID as such, right? And then make that experience a bit easier. So, so fundamentally, you know, developing in a very iterative manner and testing your code as you write is, is fundamentally the challenge that, that is there, right? Now, what are the current approaches? The very simplest one is to start logging messages, right? Which, which probably everyone has done. I, I also started with that initially, right? If you want to know what, what went wrong, you basically spit out messages if there are, if there's conditions, loops, you start spitting out messages inside each of these, and then you, then you see when the code runs where it breaks, right? Of course, that's very cumbersome. You have to run it, then see what, where, where it put the problem could be, change the code, deploy it, run it again, right? Pretty, pretty, very slow process. Hyperledger itself has a mode called, called dev mode, which is actually useful in real time debugging. And I'll talk about that a bit in a bit more. But fundamentally, you know, it is, it is supported by Hyperledger itself out of the box. And, but it still requires as a developer for you to set up a fabric network, tweak some configurations in the fabric network to run it in dev mode. And unfortunately, there's no easy, as easy as setting up a fabric test network, right? And in, in Docker, that is, you can do that with a single, single command. Unlike that, this is a little bit more involved than that. So that's, you know, something that as a developer, you'd have to first do and then, you know, get into a debug mode. With starting with the newer versions of fabric, specifically 2.4 and above, there is the new chain code as a service model, which is fundamentally not really related to debugging or, you know, development as such, it's mainly meant to run, to provide an option where you can run chain code yourself, right? Typically earlier, it's the peer or Hyperledger fabric environment itself, which, which used to run the chain code or take that responsibility of running the chain code in a Docker container or whatnot. But now you can basically run the chain code yourself, which has its own use cases. But then that can also be used as a way to basically do, do runtime debugging, which also I'll talk about how that works. But again, here as a developer, you're still need to set up a, set up a fabric network, and then, you know, do some configurations to enable the debugging and then, you know, then it works. But again, it's not a, it's not a very simple experience as in just going to the ID and pressing F5 to debug, right? And starting up. IBM had a blockchain extension, which is, you know, open source as well. However, you know, for a variety of reasons, it actually does not work anymore with fabric versions to 2.0 and above. So IBM apparently uses microfab environment, which, which microfab as a container, which is slightly different from the regular, regular fabric, fabric nodes as such. And so essentially any code that you, that require, that you've written, which requires features which are available in fabric 2.0 and above. And if you want to test it, that effectively cannot be done in a debug mode using the IBM block, blockchain extension anymore. So, so let's delve into some of these quickly to see how these work. So the fabric dev mode, right? So the, how do you set up fabric in a dev mode is actually extensively documented on the hyperledger document documentation itself. So essentially what it does is it allows you to start chain code without installing it on the peer. So normally you would install the chain code on the peer and then, you know, approve and commit chain code on a channel, right? But then in the dev mode, you don't have to install it on the peer. That's the first thing. The second thing is the approval and commit on a channel only needs to be done once. So when you change the chain code, right, you don't have to go through those phases of phase of creating the chain code, right? That's the fundamental difference or that's fundamentally what is different. Now, what this means is that, right, using this model, you can actually run chain code in your own IDE, like if you're using Visual Studio code, I can run chain code within it, approve and commit the chain code on the ledger once and then whenever you invoke the chain code, instead of the peer node trying to run the chain code on its side, it will send the request to the chain code which is running in your IDE and then you can basically set breakpoints and things like that and, you know, go from there. So a couple of things that are needed to make this work. First of all, you need to disable TLS. So it doesn't, you know, the dev mode doesn't work with TLS and then you need to use solo as the consensus mechanism because raft actually by default requires TLS to be there and it actually doesn't work without TLS. So one of the other consensus algorithm that you can use is solo, which is deprecated but still here we are talking about debugging and developing, right, not a production grid network. So it's still okay to use in this kind of an environment. So what is different? How do you, how do you basically start peer in a dev mode? So you have to basically add additional parameters like peer chain code dev group while starting to peer. Before that, of course, we are assuming that TLS is disabled and the consensus algorithm is set to solo rather than raft and then you approve and submit the chain code, right. So let's quickly see how this looks. So what I have here is I basically have a dev mode network already running. Let me just start just a bit. Yeah, okay. So I've already started in the interest of time, right? I've already started an order and peer in dev mode. So what I do is, as I said, right after this, so typically you would require an order of peer and then you would require a channel, which anyway, I've already done pre-created for this particular demo. So what I'll do now is basically, you know, directly approve and commit chain code. So typically, you know, you would install the chain code first, but that step is not required here, right. So how does my commit approval and commit look like? So this is a single org network. So, you know, I just have to approve for just my org. And while approving the chain code, you can give a chain code name. You can give any name here. It doesn't matter because there is no real chain code actually installed anyway, right. So you have to give a chain code name, a version, which again, you can give whatever you want. You'll need to use this value somewhere else. So, you know, we'll see that. And then you basically have to give the package ID. Normally the package ID would be calculated by the peer itself while it's installed. But here, because you're not installing, we just need this to be unique value. So I'm just using the chain code name and version here, right. So similarly, you know, the commit commands are similar. So I just quickly do this. Yeah. So it seems to have succeeded. Now, the chain code is actually committed, right? But the chain code is not there. So, you know, what next, right? So what I've done is I've already opened the fabric, the asset chain code, which comes the basic asset chain code, which comes in as part of fabric samples. So this is that chain code, right, which I've basically opened the go version of it. Now, normally, if you try to debug this, right, run in debug, it'll basically, you know, just try to debug this like a regular go application, right. And it wouldn't basically do much. So in, so I'm similar, similar methods can be done with any ID, but I'm going to show you how to do it in visual studio code. So in visual studio code, to specify any debug settings, right, you basically create a launch JSON file, right. So I'll create one for go here. And it'll come like this, right. But even if I try to debug now, nothing will happen because, you know, this is just regular go environment till this point of time, right. So that is where while starting the chain code, we have to add some additional environment variables and arguments, right. So I'll just add this here. And I'll show you what it is. So if you see what is the chain code name, and this has to match the package ID that I specified while committing and approving the chain code. Log level is debug that's just set to for additional logging. And I have to disable the PLS. Similarly, I have to, not similarly, in addition to the environment variables, while the chain code is being start started, I have to pass in the peers address. So this is a peer chain code address, because the chain code is actually not being deployed or, you know, run by the peer. So in this, in this model, I have to tell the chain code when it, when it starts up to connect to the peer on the chain code address, so that when request to this chain for this chain code comes, the, the peer should invoke, invoke me, right. This chain, this code, which is running in Visual Studio code. Yeah. So with this configuration, once I save it, and then I launch, okay, so this is a go thing. So launch.chison is not a go file. So I have to select the go file first and then launch. So as you can see, the console, sorry, something went wrong. I'm just, I think it's probably not saved. Yeah. Okay. Yeah. Sorry. I'm opening the wrong file. So this is the, this is the file that has the main method. So let me try that again. Yeah. So when you, when I do that, it should come up. Now, you know, once it comes up, right, what happens is the moment you submit a particular chain code transaction, right, the transaction should actually start that, that the peer should actually call the chain code, which is running here. So to see that what I'll do is I'll put a break point, right, into, in this case, I'll just put a break point into the, at the init ledger method. Yeah. So how do I invoke a transaction just like normally you would do, right, peer chain code invoke, and I'm going to invoke the init ledger function. And one additional thing that I have to do is I have to say, you know, TLS is disabled again, because, you know, again, the dev mode only works with the TLS. So I go to my CLI again, and work. And you can see that, you know, something is glowing here. And you can see that it does actually hit the break point, which is running for the code, which is running in my IDE, right. So this, this basically, and if you look at the, look at the context, for example, right, you can actually see the actual data, which is, you know, which is, which is in the context object here, right. So this is this typical debug, debugging that you see, right. So this is how you can actually debug chain code using the dev mode. Yeah. So I'll move on to the next way. So there are slightly different settings that you'll have to do for Node.js, as opposed to go, as in the arguments that have to be passed, right. So again, this is not very well documented. But you can actually find this information in multiple places, right. And it's mentioned in this presentation also. Now the other way of debugging chain code is using the new chain code as a service debugging service model, basically. So what is chain code as a service model? It's a, it's a way of running, as I said, it's a way of running chain code outside of outside of the peer all by yourself, right. So typically, you know, if I, if I look at this particular chain code, right, the one that I was seeing earlier, you would create a new chain code and you would basically then start it, right. That's how you do. But if it's a chain code as a service model, if I look at an equivalent implementation here. So here you would basically, instead of starting the chain code directly, you would basically create a new chain code and then use that to create a chain code server and then basically start that server, right. So, so literally you're running a chain code server is fundamentally what the difference is, right. So you have to implement this, you have to use a chain code server type, whatever language you're using, and then start a chain code server, right. So now imagine you've started your chain code outside in your own server, right. How would the peer know to connect to you, right, and send transactions to you, wherever you have deployed the chain code, once a transaction comes to the peer, right. So that's where there are two, two files which are important. There's a connection.json and a metadata.json file, right. So if I look at this particular code that I was showing you, how does those look like, right. So in the connection.json, you basically have to say the address where the peer should send the transaction to. So typically in a production environment, this will be where the actual chain code is deployed. But here what what we can do for debugging purposes is basically if your peer is running in a Docker container, right. And your code, chain code is running in Visual Studio Code as an IDE. So I just debug similar in a similar way as the dev mode. If you debug the chain code server will start, the chain code server will start serving requests on a particular port, right. Now that port can be, if you can hit that port somehow, right, then the request will come to the code which is running in your IDE, which is Visual Studio Code in this case. So that's what we are trying to do here. When I run, it's on localhost and my peer is running in a container. So when the peer invokes the chain code, I am saying, you know, use the Docker internal host, which is a way of reaching your localhost from the code to go. So whatever port you specify here, right, that's, that is where the peer will try to send the request. And all that I have to do is to ensure that my chain code server is also started on the same address. So if you can see here, right, in the code that I was showing, sorry, in the code that I was showing here, the chain code server address is coming from a environment variable. So in a very similar way, so I'll not do a demo for this in the interest of time, but it's a very similar way, right. You basically tell the chain code, you basically create a connection file. In this case, you actually have to install something on the peer, but you don't install the entire chain code. You just install a package which contains two things. You, the package should contain the connection.json file and a metadata.json file, right. The connection file tells you where the request should be gone, should go and the metadata tells you additional things like what is the chain code name and type has to be set to this so that the peer knows that this is a chain code as a service model essentially. And then you basically just deploy this package, which contains these two files. So you install it on the peer, right. And then you have to approve and commit the chain code only once again, just like the dev mode, you do that only once. So whenever you change the code, you don't have to do anything. You don't have to install anything on the peer. You don't have to approve and commit anything on the peer as such. And then you start the chain code on in the IDE, just like we did earlier. The environment variables are slightly different here. The ones that I was showing you where you say that where should the server be started. And the chain code ID should be, should match the package ID that you get while installing the package on the peer. So once you do that, right, it's very similar to what I showed you in the dev mode. Whenever you invoke a transaction, you'll start getting it on the chain code which is running in your individual studio code, right. So those are the two existing models which are available, right. But again, these are a bit complex as you can see, right. There are multiple configurations involved and you have to do it and you have to do things in a specific order and all of them have to come together to make it work. So that's where we have basically released an open source plugin. I'll quickly show you how that works, right. And what's the experience with that. So it's, so let me open another chain code in Windows Studio. So this is again, you know, the asset transfer ledger. So there is a sample called asset transfer ledger in fabric samples. So this is that if you see this, the reason I chose this is because this shows you a lot of examples of how to submit different transactions, right, which we can try out. So I've just opened the chain code, that's all, right, nothing else. So this is a Node.js chain code just to show you it can be Node.js or go, right, it can work with both. So you open the chain code, this is the first time I've done that, let's say, right. So I installed the extension also, which I have done right now, right. And you see the hyper ledger fabric debugger here. So it's pretty much empty at this point of time. But what I'll do is similar to what I was showing you right earlier, whenever you want to debug something in Visual Studio code. So this is an extension specifically for Visual Studio code. You basically create a launch file first, right. So I created a launch file and there's Node.js. So I create, I select Node.js first, Node.js. But this is a default Node.js configuration, right. This is not what I really want, right. I want a configuration which works with hyper ledger fabric peer, for example, right. So there is an add configuration button here. If you see, if you click on that, you'll actually see, you know, in the go section, go debug fabric chain code. And in the Node.js section, Node.js debug fabric chain code. So I'll just, because there's Node.js, I'll select that. And when I save it, you'll see that in the debug section, now another option, debug fabric chain, debug chain code has come. So I'll switch to that. And then I'll run it, right. That's pretty much it. I create a launch configuration and that to use using the UI and run it. And behind the scenes, if you see, it's starting to do something now, right. It's actually, it's actually running a hyper ledger fabric network, similar to the test network that comes with the hyper ledger fabric samples. And it's basically doing everything that you saw me do manually, right, in the dev mode or the, so the extension supports debugging the traditional chain codes as well as chain codes for written for the chain code as a service model. So it's trying to, it's automating all of that process that I talked about earlier, in a single click, click, click early, right. And now it's, it's, it's up and running, right. So now I can actually hit a break point. I mean, set a break point. Let me do that quickly, quickly for read asset, right. It's already there in read asset, I'll set a break point. But now the next question is how do you, how do I submit a transaction, right. I can, of course, go to the, go to a, you know, PR or CLI fabric tools, CLI and then submit it. But then again, I'll have to set it up first and go there, right. That's fair. The extension also provides an easy way of submitting transactions right from within visual studio code itself. So you basically create a, the way that this works is you create a new file called with a dot fabric extension. You can name it anything, right, ABCD and you can create as many files as you want in this, right. Once you create a file, this is a JSON file, array basically. So you can have multiple requests. You can define multiple requests in it. So you can say it's a query. I want to query something or I want to invoke a transaction, right. And then you provide the arguments related to that, right. Pretty much simple. So it's a pretty simple JSON structure. So I've, let me just submit this. Yeah. So as you can see the breakpoint actually hit, right. I'll remove the breakpoint. I'll just, you know, go forward. So now you'll actually see the result also on the, on the right side, right. In this case, it says it's a failure because the asset doesn't exist. All right. So I'll go here. I will invoke the transaction, create transaction, which is creating an asset one. It is successful. Now let me go and query it. And now I can see that, you know, I get the result. And so this, this can now be used to actually submit the transactions also. And because this is in a file format, right, you can basically save it into a repository. And if you have a team of folks working on this, right, you can basically, you know, then check it into the repository and others can also use the same query and invoke test samples that you have created essentially. So that's, that's pretty much what it is. And there are some additional functionalities which you can explore. Like, you know, now if you go, you'll see the, it has created a single organization network. You can basically start, stop and manage the network that has been created or, you know, remove it. You can basically add additional identities. And when you add additional identities, it comes with two out of the box, but you can add additional ones. And then, you know, you can use them, specify them in the request, whether it's query or invoke, and then the chain code will be invoked using those particular identities. So yeah, so, so this extension has really helped us to, you know, speed up our development cycle tremendously. And we hope that it will be useful for you as well. We have made it open source. So we welcome any contributions and, you know, any features, suggestions that you have. So feel free to engage with us on the GitHub. So if you go to the debugger extension, right, there's a GitHub link in that, which has various ways in which you can engage with us. Thank you. Thank you, Ashwath. Actually, very useful tool for me and probably I will be reaching out to you for more things on this. Thank you, Ashwath. It was a very beautiful, better, beautiful presentation and a good demo. Thank you. And moving on. So next will be the business of smart contracts by Smriti Choudhury. So Smriti is a co-founder of Contracto. So Contracto basically is a particular tool. She has developed for SMEs and financial people to store the contract and it has many other features, digital, local e-signature, e-stamping. So basically it's a cloud solution. So you can take it up and integrate easily. So welcome, Smriti. And yeah, you can start your presentation. Invisible? Yeah, yes, Smriti. Great. So good afternoon, everyone. And I'm Smriti Choudhury and today I'm joining from Mumbai. It's a great opportunity to connect with all of you on the fourth anniversary of Hyperledger India chapter. Thank you to the Hyperledger India team and the entire community for this opportunity to discuss blockchain, smart contracts and why we need them. So before I begin, here's my brief introduction. I have an MBA degree and I've completed the MDP from I am Lucknow. I'm active in VEP3 and I've also been part of several sessions across Mumbai and Bangalore. Last fortnight I was invited by Algorand Foundation to be a part of their event in Dubai and indeed a great opportunity to showcase my solution to a global audience. So as we talk about smart contracts, we also need to understand a few underlying concepts. Contracts have a legal significance across business and law. And our smart contracts exist on the chain. The challenge is how do we bridge this gap and move from paper contracts to digital and finally to smart contracts. So my entire talk is split into three main modules. In the first part, we will focus on smart contracts and then evaluate why we need smart contracts. In the next section, I will talk about a typical setup of a smart contract solution using the model we have implemented. So smart contracts are simply programs stored on a blockchain that run based on user actions or when certain predetermined conditions are met or even when certain events happen. So let me share some examples. Imagine a marketplace like Amazon or Flipkart. This could have a smart contract running in the background where for every payment made by a buyer, one person, now this is an example I'm giving, 1% marketplace commission can be deducted and transferred 99% to the seller. So this can be further extended where the tax on sale of the item can be deposited to the authorities. And this saves a significant amount of manpower and time. It automates the payment transfers and it ensures correctness of reporting and removes the challenges of reconciliations. As this is deployed on the chain, the outcomes and the payment splits are already known to the sellers. This creates trust in the system. So the sellers are not worried about unknown deductions. And in the same context, buyers can be given an option to provide ratings which can then be seen across the two e-commerce websites. As the ratings are decentralized, the seller is not challenged with managing sales on multiple platforms and can focus solely on their work. This is a true power and real-world benefits which blockchain smart contracts can deliver. So blockchain smart contracts are of course applicable across multiple industries and what you see here is a snapshot from a Mackenzie article which shows the comparison across various industries. Some of these are common such as considering smart contracts in financial services and some of them are easy to imagine applications for loans and insurances. However, making contracts is not an easy process. Let's look at some of the main challenges with contracts. First, we consider the contract creation process. This is a very time-consuming process and there is no such do-it-yourself with contracts and getting legal services can also be very costly. Lack of standardization for even some of the basic items such as non-disclosure agreements can make it very difficult for mainstream use of contracts. Next, there is a challenge of validating the identities of the parties who are signing the contract. Collecting KYC across users is not at all easy and in many countries it is also subject to data privacy processing and retention laws. So moving further, the common contract execution process is not able to handle business requirements such as those of delegation and routing. One of the biggest gaps here is also the fact that signatures cannot be verified in an easy manner and it depends on centralized certificates issued by the issued authorities and the use of document readers such as Adobe PDF. These are just examples I'm quoting and the final point here is that these being static documents on paper are stored digitally as soft copies. They cannot even provide basic information on the document or alert the parties on contract expiry dates. If there are financial transactions related to the contract, these have to be done separately. Now let's look at the impact of all of this. As reported by Forrester Research, current processes take as many as 24 days to execute a business contract. Further, EY says that 90% of the people working with contracts cannot find all their contracts when they need it. As a result, businesses lose money. We try to answer this challenge by signing smart contracts, enable collaboration between various parties, integrate integration of KYC signatures, notarizations and make the process seamless and adaptable to deploy smart contracts on the chain. Now linked to these digital contracts are smart contracts which are deployed completely on the blockchain. The process is simplified where the marketplace contains smart contracts and dApps like an app store and these are prepared by the smart contract developers and they provide details into the function and outcomes of the contract. Now with this setup, users can now easily deploy the right contract with just a few clicks. Talking about why smart contracts, COVID has had a significant impact on how businesses and people interact with each other. In many ways, it has accelerated the digitization process and transformed the way people would interact in a typical business environment. Now this creates an additional requirement of trust and security around documents and also the ability to verify the existence of documents from anywhere in the world. This could be a B2B service contract or even a B2C employee contract or any kind of contract or hiring agreement. Now all of this takes quite a bit of effort so it's equally important to understand the impact it is going to bring. According to the World Bank, small and medium enterprises represent 90% of the businesses worldwide and using smart contracts can solve the challenges of contract execution, invoicing and payments using blockchain for this particular segment. Talking about the market opportunities, Asia itself represents a huge potential and this is important to understand because the technical and developmental needs to be consumed properly. It makes it viable for all of us to invest time in learning blockchain and hyper ledger smart contracts. Considering India alone, there are 63 million small, medium businesses who are in need of some form of contract management solution. Let's look at the structure of a basic contract. Now as we can see in the right, the entire contract can be divided into six components. The first is the contract metadata which includes the basic information, type and format of contract, start, end dates and renewal time period. In this part we also consider all the file attachments which are part of the contract. Next we have the different members or the, we can call it the parties to the contract. These are user entities who are already having KYC verified or some other form of decentralized identity which can be used to sign the smart contracts. There are projects within hyper ledger which are a very good fit for blockchain identity resolution. At number three on the right hand side, we look at the terms and timeline for the smart contract and this essentially is a translation of the English contract to code which is then deployed on the chain. And once this is done, we have a digital contract and an equivalent smart contract deployed on the chain. Similarly, authorization to view and interact with the contract can be managed and with decentralized approach. It also makes it easy to verify the existence of contracts. Ideally, implementation will require a two tiered structure. This allows managing both contracts, invoicing and payment protocols with a single blockchain and with a decentralized blockchain infrastructure. Layer one handles the basic contract, payment and transfer protocols, identity resolution and other building blocks. Layer two builds on top of the layer one and implements complex business logic and automation. For example, consider a house rental smart contract. The layer one includes the base contract for two parties, payment settlement for each month's rent payment. The layer two includes the auto termination or we can call it the auto renewal of the entire renewal agreement based on the end dates. This can also include implementation of additional smart clauses such as early termination fees, penalties, payment splits, or send the commission to real estate agents. Now what you see here is a representative model of the text stack which is utilized. We have both individual and business users working with the application and we can access the solution via the web application which is a React.js Node.js app. The Explorer is an additional service which provides the ability to verify documents and check activity on different accounts and contracts. This is connected to the middleware which runs the business logic and interaction between the components. A typical contract workflow is made up of several other smaller modules. We will see this in the next few slides. We have identified several challenges earlier with the contracting process and with the implementation of the smart contract modules. These can be solved across the four areas you see here on the screen and once implemented the entire execution looks like this for a system implementation. Each module or a sub-service is broken down into smaller micro-services and operate on their own with a smaller compute and data service. Individually they might also interface and interact with external third-party services and once all the parties have signed the contract code or the smart contract components is deployed on the chain and records are created which can later be used for verification services. This is how the solution looks like and if you have I may be able to show you a very small demo. The first is a dashboard which provides a complete overview of all the documents actions and reminders. The next is the document vault which has all the contracts the documents and also the notarization. The smart contracts are created from using these workflows. Now the contracts lead to invoices and financial business activities. The next is the CRM or the business contracts network and it provides a complete contract level reconciliation based on blockchain transactions. So to summarize contracts can be made smarter with the use of hyper ledger blockchain technology and provide a single window solution to business and individual users. In the next few slides we will look at a basic few examples of where it is implementation. This example is for a freelance service marketplace which uses smart contracts for onboarding management and payment automation. This is an example for an automation B2B service and subscription contracts. This is the rentals implementation which we already discussed earlier and to conclude contracts are needed in every business domain and industry. It could be from supply chain to real estate and other domains also. That's offering us a huge growth potential. We are of course early in the space and we are backed by V-Work labs, IT startups and I am Bangalore NSR cell programs. So with this I conclude and I thank you all for being a wonderful audience. Please send me your questions and feedback over email and keep commenting, keep building. Thank you. Thank you Smriti for the presentation. It was very informative. Yeah with this we are concluding the virtual meet and we will be breaking out for lunch. So the next session will start at 2 p.m. Yeah right so yeah so I think you can join the main room. Yeah people can join the main room for the next session. So I think we have around 40 minutes. So if anybody want to discuss something want to introduce talk to each other so that we can do till that or we can maybe break for the lunch. So at 2 p.m. we have one final discussion talking about the emerging teams in blockchain to like the BTC tokenization metaverse and all this stuff.