 I'll also record as a backup. We are live. Hi Senthil. Hi Kamresh, how are you doing? So Senthil, Danny also joined? I think he will join at around 11.30 because it's early for him. Okay, 11.30, so do you want then your session to be with him on that time, right? Yes. So then, other than Ishan Roy, I'm not joined yet. So then we started... Hey, yeah Kamresh, I'm online. Am I visible? I think you're visible, I think but your name is not showing here. Which name it is? I think, you know, the name somehow is Kamresh. Yeah, I think you're sending your link. Yeah, actually I've given my link, that's why. Okay. Now it's Ishan, yeah, now it's Ishan. So Kamresh, should I do a check just to see if I'm able to share my screen, etc? Yeah. Okay. Yeah, we can see your screen. Great, let me just start the presentation also. So, yeah, I hope it's visible. Yeah, it's visible. So I think we will start with you. Sure. So what's my slot like Kamresh, like do I have 30 minutes, 45 minutes, what's the... 20 minutes, I think enough. 20 minutes. Okay. So I'll put down... Yeah, hello everyone, welcome to the India Chapter's success stories part 3. And these we have very interesting presentation, find different areas from social impact to public sector and high college and mentorship. And the IBM research project is a key document is told. So first let me start with Ishan Roy, who is the head blockchain at Tamil Nadu with governance, Tamil Nadu is the Indian, one of the Indian state who is very aggressive and doing lots of stuff in the blockchain. So Ishan, I think you are, yeah, you can go ahead. Thanks Kamresh, let me just share my screen. Yeah. So I hope you can see my title slide and I'm audible loud and clear. Yeah. Okay, great. Thank you everyone for being here. I'm Ishan Roy, I had the blockchain initiators of the state of Tamil Nadu. I work with the Tamil Nadu e-governance agency with a sort of like a CTO to the government of Tamil Nadu. We advise them on adopting technology specifically emerging technologies to better citizen service delivery to build better government systems, government portals to reach out to citizens and businesses, etc. So today I'll be talking a little bit about our blockchain initiative and how we arrived at what we are planning to do. And just I'll start with a two slider to set the context about what we saw was happening in the world around us with regards to blockchain in the government and then a little bit about our project and then what is the road forward for us, right? So just a quick slide on why for government, which is arguably one of the most centralized entities, why for us blockchain is a very important technology, right? So largely there are four areas where we see intervention by blockchain is necessary for governments to work successfully. The first is that as you might know, government issues a lot of documents, government stores a lot of data and a lot of these data is stored in centralized repositories and centralized databases, right? So there's always a risk of some tampering happen or some attack happening from internal and external threats. So external threats, obviously, you know these could be hackers, these could be other cybersecurity threats. Internal threats could be rogue employees or some vendor who has gone rogue, etc. So given the criticality and the sensitivity of some of the data and documents that we hold, government basically, the blockchain basically helps us offset this risks and build a more secure way of storing these documents. The second use case or the second area where we see an intervention by blockchain is a seamless exchange of digitized data and documents between these departments. So something you will realize is that and this is applicable to not just government, this is applicable to entities around the world. While the processes inside entities such as department agencies has become digitized, a lot of the exchanging of documents, a lot of the communication still happens in a paper heavy manner. The reason for that being that if you see a lot of schemes that span across departments, they require that the data that is being shared, it is immutable, it cannot be changed. So for that reason, you will still require a citizen who is accessing a service or who is getting a data from one department to print it on a piece of paper and then take it to another department and apply for that, right? So blockchain helps us make a big intervention in areas like that. One of the classic cases where blockchain is very important is when it comes to resisting a land transaction and land mutation. So these are largely run by two different departments and when you first register your land transaction and then you go to change the property title to your name, you are required to get a paper copy of the document and then initiate the process in another department. The reason obviously being that you want the exchange of the data to be immutable. So to offset that blockchain will really help us build these processes where the citizen does not have to run between departments. The third is for proactively delivery of services. So I'm sure you must have heard a lot of conversations about government discussing how they can use the citizen data or the business data that is available for them for proactively delivering certain schemes, certain benefits to businesses and to individuals. Similarly, how can government use the data that is available to them to proactively issue a certificate or a license to a citizen or a business without requiring them to come into a government office. So in cases like this it becomes very important that you have a workflow that cannot be tampered, that cannot be changed. The reason being that you are initiating this without an initial consent from the citizen and even when the consent is there you want to ensure that in the future if there is any arbitration you have a suitable framework to prove what was your source data and what was the final service that was delivered. So in this cases blockchain is very effective because you can leverage smart contracts for building these proactive services and delivering them to citizens. So in the future if there is an arbitration you can always prove that the workflow that I used was secure and it won't be tampered because it was implemented using smart contracts. So that's another area and the last one and a very interesting area is for better building better identity and consent management services for citizens. So as you know there has been a lot of discussion recently about privacy of the data that is being held by governments and the PDP bill is also being discussed in the parliament right now. So to ensure that the data that is held by the government is kept secure is not leaked and whenever data is need to be shared there is a proper consent that is taken from the citizen and maintained. Blockchain helps us immensely. It's a tool that without which I think this sort of framework is not even feasible. So just very briefly these are the four areas for which a centralized entity like government looks to blockchain to solve these four problems. Let's also talk briefly about how blockchain has evolved for governments. So in 2019 you would have seen that a lot of focus in the applications of blockchain in government were around specific use cases. So for example Georgia, Sweden and Amravati in India and other countries they were thinking of implementing or they implemented blockchain in land registry or for migrating properly titled between citizens. Similarly Singapore led a project called OpenSearch which talked about securing certificates, education certificates, certificates of graduates from NSU etc. Switzerland spearheaded an initiative called U-Port which was for decentralized identity which still exists and obviously is one of the more successful blockchain project and USA explored corporate filings and other accounting use cases in the state of Delaware. So these are very specific use case based blockchain implementations and the end goal in most of them was just one which is to solve one problem or to solve two, three problems which have a single source or a single entity that they are dealing with. However post 2019 there was a realization that instead of focusing on single use cases we should look at building platforms rather than just solving one problem. Reason being that a lot of these applications that are being developed they have a lot of modules that are being used or rather a lot of code modules that can be reused again and again. So for example if you look at what Singapore has done they have realized that their OpenSearch initiative can go much beyond certificates. So they have now started following an open attestation project and they are talking about attest notarizing any kind of document. It could be a land record, it could be a certificate, it could be a license etc. So the scope of the project has increased and they have realized that this initial approach that they took was not the right one. The right one is to expand the scope and build a more generalized platform or tech stack that can be used across a myriad number of use cases and a myriad number of scenarios. Similarly one of the leading projects in this space that was launched in 2019 is the EBSI project which is led by the European Commission and the EU blockchain observatory and forum. So what they are trying to do is they have built this general platform that caters to four specific use cases which being identity based, certificate based and notarization of documents. So they are also realizing that instead of focusing just one use case what we should really do is we should build a tech stack which is independent of any blockchain protocols. So they are not tying themselves to just fabric or to just I believe they are using two three protocols and on top of that we build these reusable modules that can be used again and again for building different applications. And whenever someone requires to build an application they will just access my APIs and they will deploy these modules in such a way that it suits the purpose of their application. Other two prominent examples from around the world is ESONIA which is the KSI blockchain that they have implemented which they are using to secure a number of government registries such as the voting registry, the corporate registration platform etc. Dubai is also looking at several number of use cases using common framework. Based on these events around the world and also based a little bit on our research and our experience with blockchain we realize that instead of going for just one use case instead of trying to solve just one problem. Our approach towards blockchain should be more of a generic one where we build a technical stack and when we build this stack we should plan the architecture in such a way that it can be used for a long time to come for a different number of government applications and use cases. So our platform is called Nambike NIM. It's a rough Tamil translation for the word blockchain. It's basically Nambike means trust NIM means platform right or rather change. So this project we hope to revolutionize how governance is delivered within Tamil Nadu and we hope to build a framework that will enable citizens and businesses for a long time to come. So before we talk more about the platform let's talk about Tamil Nadu. Let's look at what Tamil Nadu is doing right now and why it is right for intervention through blockchain technology. So we have approximately a population of 80 million. We have 800,000 students who graduate school annually and around 900,000 college students who are there. So when these citizens are graduating from the school or colleges they want to apply for jobs. They want to apply for higher education. They want to travel abroad for education and jobs. Similarly you have the presence of a number of store industries in the states such as IT, electronics, manufacturing, automobiles, pharma and we have the second highest GDP in India right now. So you have a lot of players who are looking for next-age services that will essentially cut down the time and costs that they spend on accessing various government services and schemes and using government data and documents for applying to various third parties for let's say employment or jobs or for loans or for other services etc. One of the advantages that we have in Tamil Nadu is that it has one of the highest mobile internet and smartphone penetration in the world in India which means that if we implement an online only solution with some offline support we will be able to reach a majority of the population and a lot of the government to business and the government to citizen services that are being delivered in the state right now they have been digitized and they are available online. The only problem is that these are siloed and these are not talking to each other because as we talked about before you need some sort of a immutable framework or a middle work which will allow them to talk to each other and deliver services to citizens better or to businesses better. So there is a huge scope for delivering new age government solutions for citizen welfare and for improving the ease of business. So what is the case for blockchain intervention really? So the first is for securing the various education and demographic certificates that we issue. So around 1.72 lakh students we issue a state board certificate too and obviously apart from this we have a number of universities in Tamil Nadu from where students are graduating and then going for employment or for higher education. We also issue a number of demographic certificates which are nativity certificates or community certificates which certify that you come from a certain community or a certain part of India and on the basis of that they get certain concessions, they get certain scholarships etc. So securing such certificates and ensuring that there is a proper framework for verifying this in an easy and efficient and post effective manner is an important place where blockchain can intervene. Second is securing government data and documents such as land transaction documents, land titles and other government documents that are currently stored in centralized repository. So putting a secure framework in place so that these distressed documents cannot be tampered by external or internal threats like we discussed earlier. Third is tracking provenance of physical and virtual assets. So the government issues a lot of physical and virtual assets for which blockchain can be used. Like I mentioned again land titles, certain transferable licenses such as sawmill licenses, certain receipts such as warehouse receipts etc. which typically change ownership. So here blockchain can help us establish a chain of provenance for virtual assets like this or paper based assets like these. Fourth is for building more secure identity so capturing consent for delivering governance proactively or even for accessing any service for arbitration and for protecting citizens and also building better privacy preserving services. So one of the prime examples and one of the prime cases we get to hear is that typically when you will go to a hotel to stay for a night or if you go to a cyber cafe you are required to turn over an ID card. Here we have something called an adhar card which is like the national identifier or you have to submit like a passport or a bank card etc. to prove your identity but what happens is that typically when you share a copy of this document the person who is verifying your identity gets to know much more about you than is required for him to verify your identity. So one of the things we are exploring is that can we build more secure zero knowledge proof enabled frameworks using which such third party providers can verify the identity of the citizen without requiring them to share a document. So this is one of the important cases for us and the last is for delivering proactive governance. So basically let's say there is a scholarship that is being given to a student who comes from a certain economic background or comes from a certain community. Well let's say there is a scheme that is being delivered to a startup that is operating in a certain part of the state. So instead of them having to apply and submit their documents is it possible that we can use the data available for them in our government databases and use it to proactively deliver the service with their consent. Similarly licensed renewals which is a process where you are required to come in again and again to get a renewal. Is there a way we can automate at least some part of that process so that the regulatory overhead and the burden on these businesses are required. So what we are trying to consider is that is there a way we can use smart contracts to automate these processes and build a secure workflow that we can come out and say will not be tampered and will always work as it is intended to. So proactive governance is again one of the interesting areas where we are looking at. So this makes a huge case for blockchain intervention in Tamil Nadu to benefit the citizens and the businesses that are operating here. So our answer sort of to solve these problems and these challenges is a platform that we called Nambike Inayam. How do I hide this so you can see the title just one minute. So our answer to these questions that I mentioned earlier is a platform called Nambike Inayam and we call it the Tamil Nadu Blockchain Backbone. What we are really trying to do is that instead of focusing on a single blockchain implementation, we are trying to build a technology stack using one of the available blockchain platforms in the market which is Hyperlegia Fabric. And on top of that we are trying to add our own reusable modules that can be used for application development. So this will help us significantly cut down the go to market time for the applications that we want to build. And it will help us reduce significantly a lot of the regulatory burden on citizens and businesses. So this is largely or this is like a very high level view of the architecture that we are sort of falling for this platform. And the idea is that we build a blockchain platform independent of the departments that lies outside their legacy applications with individual ledgers for tracking different use cases such as certificates such as physical and virtual assets, documents and for captioning consent management etc. And on top of that we provide these modules that can be used to build applications specific to each department or their use case. How departments will be interacting with this platform will be either through nodes where they are the custodians in the case of large departments such as let's say registration or revenue. And certain smaller entities or smaller departments who cannot afford to host a node will come through an API gateway where they can use this service as a base model as a blockchain as a service model. So one of the problems that we also want to solve is that because we are running a permission blockchain and all the nodes are held by government entities. A question that we are sort of anticipating is that because you are holding all the nodes how can a citizen of business make sure that the data that is there in the ledger has not been tampered. So to offset that we are trying to build a public anchor which is basically a way where we will take snapshots of the ledger at intervals and publish it in a platform which we cannot modify and that will essentially prove that the ledger has not been tampered in the future as long as the hash of the block remains the same or the hash of the last 10 blocks let's say shoot to the day remains the same. It will act as a proof that the ledger has not been tampered. We also want to invite startups to come and build using this platform. So to do this we are building a sandbox along with this platform which will expose the APLs to these startups and they can come and build with their reusable modules and top of the existing channels. So for example a classic cases that a startup can come and build like a education loan application using the certificate anchor channel. Lastly we have obviously also accounted for various policies that will go into this platform so typically your access policies or data policies your data standards etc that will sort of govern the platform for a long time to come and it will obviously keep evolving as the platform keeps evolving. So just a brief summary of the platform so it will have an evolving architecture with a modular framework. Each module will be a combination of a smart contract and off-chain business logic depending on what we are trying to do. So for example we have an authorization module which will basically be used to secure documents and it is comprised of a chain code that is deployed on the platform as well as certain off-chain business logic for queuing the transactions that are coming to the platform. So based on what the module is expected to do the module can be a combination of a smart contract as well as some off-chain business logic. The platform will be hosted across various government servers which is basically the servers that are being controlled by the departments and entities that are part of this platform and of course secure private clouds where let's say other departments, entities or let's say educational bodies want to access it for building solutions. Participants are able to host a node, can access it through an API gateway so a BAS model basically. A public anchor to offset the risk of running a permission ledger and a private ledger so citizens can have trust in the platform and works for custom app development for the other third party entities such as startups, private enterprises etc. So we started implementing this platform around the month back and right now we are going to the requirements gathering stage where we are talking to a lot of stakeholders primarily the departments, the citizens and a lot of the verifiers who will be using this platform. The way we intend to go ahead with this platform is that we intend to split the development into two phases phase one will probably be implemented by the first quarter of the coming year and within phase one we first want to focus on non-transferable assets such as certificates and IDs and consent management reason being that these are use cases that have already been implemented by us and by other entities around the world and which we understand very well so we want to solve other sort of functional requirements of the platform within phase one such as we want to solve problems of scalability, privacy, security etc. and we are hoping that by the end of phase one we will have a very secure scalable platform that will cater to our purpose and which will be able to implement these simplistic use cases for securing certificates IDs and capturing content of the citizen phase two starts from the mid of next year and phase two we are looking at provenance of transferable assets so like I mentioned sawmill licenses, various receipts we are also looking at tracking certain GI-tag products it says TANTI which is orthodoxy that comes from the Nilgiri Hills and which has a GI tag we are looking at tracking a few handicrafts that come from various villages of Tamil Nadu and protecting the livelihood of artisans etc. and phase two we also start looking at proactive governance purpose so basically what we want to do is we want to look at the data that is available with us and we want to see that how can we deliver governance proactively to citizens and businesses without them requiring to come into a government department or a government agency using smart contracts so this is just a brief spread up of the phase one and the phase two use cases that we are working on right now I will just pause at this thing so you can take a look at it so some challenges and decision points regarding the platform so one of the major challenges that we face on a daily basis is adoptions by the stakeholders and other members of the ecosystem so the reason being that as a technology blockchain is a very hard sell so we really need to find the problem that is being faced by the department or a problem that they really want to solve and rather than talk about the technology and talk about things like immutability, transparency, auditability etc. we tell them that what we are trying to build will solve this problem that you have so for us adoption by stakeholders and the ecosystem is very important because otherwise if the platform is not adopted at a mass level it will die a slow death and we will not get enough feedback from people who are our customers to evolve the platform further so that's one of the largest challenges we have second is we want to make the platform user friendly so we want to make sure that the average citizen who is dealing with the platform should not be too concerned about things like Merkle root or about ashing encryption etc but is still able to reap benefits from the platform and we want to have suitable interfaces to ensure that they are able to use the platform effectively and we also want to address the digital divide so we want to use the resources that are available with us to ensure that everyone is covered by the benefits of this platform not just people who are have smartphones are available and the third and probably the most important one is regulatory acceptance and compatibility with privacy laws so if I verify education certificate with a blockchain platform in case there is arbitration tomorrow will my platform stand as valid proof that this verification was carried out so questions like these and things like these need to be addressed and these are some things that we are working on through our policy the other I'm sure you have heard about a number of times so obviously scalability and key management of citizens is a challenge for us classification of the ledger data whether it should be private or should be public and accessible to citizens security and future proofing a solution are always challenges that are faced by any project that you approach and I'll close with the other blockchain initiatives that we have so before embarking on Numbike NIM we had tried out a few pilots and POC so we had tried out doing bulk automated verification of academic and demographic data for a college admission counseling so this was a major intervention because prior to this they were doing physical verification of documents and obviously in a COVID-19 era they were not able to do so we were able to intervene and provide a secure platform for colleges and for other counseling agencies to verify the certificates and details submitted by students effectively and at scale to make sure that the process goes on smoothly it is not affected by the COVID-19 lockdown we have also tried out a small POC for ensuring that there is no website deformation or script injections in government portals and if an attack happens the administrator is notified immediately in case there is a rogue website administrator as well the application keeps a audit trail so that the rogue website administrator can be brought in terms of policy we have released the Tamil Nadu blockchain policy 2020 which focuses on ecosystem development around blockchain backbone it talks about capacity building and it talks about building committees that will help us become the regulatory hurdles and build a platform that will be stable from a technology and regulatory point of view for years to come we have also done a small workshop for election commission to see how blockchain can be used for remote working so that's just the overview from my side I will pause right now if there are any questions I can take thank you Thank you Ishaan I think there are couple of questions in the chat we do the first question I see is how will PPP work in all these cases so I'm assuming you mean how will public-private partners work in these cases so there are a few models that we are exploring that I can't disclose right away but obviously revenue share is one model the other is that maybe there can be a transaction charge that you pay for the applications that you post but again all this is just speculation right now that is something that we are still planning on because we are still a little away from when this platform will open up for startups and other private entities and one of the reasons we actually added the sandbox is that when we did the initial stakeholder discussion sessions to capture feedback to build this platform one of the things that startups kept and kept on saying to us is that for us the biggest challenge is building a platform because or building like a consortium because our users tell us that we don't want to use cryptocurrency or I want blockchain just inside my system so if there is a government sponsored blockchain that will really help because then startups can focus just on innovation and application development so that's the reason we went for this model so Rajesh's question is does this blockchain model exist now or is it being proposed so Rajesh this is being implemented right now so we are at very early requirement doesn't stage and we'll probably start development in a month or so Hi Ishaan this is Rajesh here can I have one more question is it something like you are in a pilot phase to do it for a department or is it something like doing a blockchain for a government as such so that it interlinks at different departments yeah so it's a government sponsored project which means that we have to go through a tendering process and then select a bidder and start implementation so we have a bidder selected and along with the bidder we are doing the earlier early requirements that in stage because as you realize we need a lot of inputs for this to be a successful platform so maybe the mid of coming one we will start with the development for this platform so like I mentioned there's a phase one and phase two so phase one we are focusing on a few applications and building the blockchain platform underneath and then we'll move to phase two that's really the broad idea so it's so it is more of like a permissioned blockchain where consortium are the different departments of the government is it that's how the model is it for the time being it is permissioned but like I mentioned we are using a public anchor to make sure that whatever data in the ledger is public and we cannot go back and modify it so when I say whatever data I am talking about block hashes etc to make sure that the platform is secure any proposed one what is the blockchain using it what is the one so we are working with the fabric right now but then again I will say we are protocol agnostic so in the future we also want to integrate with other protocols reason being that as you understand it's an internet of blockchain and you cannot limit yourself to a single protocol right now we started with fabric because we felt it was a more general purpose platform that suited our needs so for example if I had started with the ethereum platform then I would need to build my own identity service I would need to build my own policy module etc right so with fabric one of the advantages we get is that it's a general purpose platform it's not a utx so and second is that a lot of the work that I would have to do with other public platforms is already done for us so I can focus on just the application part initially just one last question just before I want to give it to others might be having is it something like this one can be seen as something like a record for different departments something like you said something like the academics data have been kept here and Maryland revenues are kept here so there are existing models which are there already for example in Tamil Nadu if you want to look at your land titles it still exists it tells you with whom it gives you a transaction how does this one value add to that kind of one because if you for example if I go down I got your question how is a value added it's not a record keeper it's not a record keeper per se what it will do is it will secure transactions that are kept in a centralized repository so one of the risks you have is that if you have a database a centralized database where you're holding this land transaction data there's always a risk and security is never a 100% job there's always a risk that someone should come and tamper it so security you always evolve when you move on to the next step so if we use this system what it will enable us to do is that the data that is there in the centralized repository if it is tampered we will get to know instantly and we can prevent tampering in the future we can know that the data we can maintain the data integrated this thing so we are not building a revenue system or a land transaction system from scratch we are just sort of adding to it right whatever the data is already tampered right so in some cases we have seen that I mean fake degrees exist right what the data is already tampered like how do you how do you take care of it which is a valid question so one of the challenges we have is data cleaning and ensuring that data that is coming into our system is duplicated so there's a separate project for that called SFVD state family database whose focus is mostly ensuring that the data is clean that goes into this platform and the second answer to that is that see I mean obviously hundred percent we may not be able to clean the data right but at some point you have to start so it doesn't happen in the future so obviously there's a lot of data cleaning that we are doing before the data goes into the blockchain but then at some point you have to start it will never be hundred percent so it doesn't happen in the future but it goes back to the same point like what you put inside the blockchain that's what you get it if you put a garbage obviously it will be there as it is for the whole crowd correct so it would be a lengthy process correct so at least you will have a record saying what you have it now SF now correct so okay the answer is that you are right obviously that could happen and like I said we are doing processes to clean the garbage that goes into the platform but you have to start somewhere right otherwise I mean 20 years later if we still have this conversation wouldn't really make sense right you have to start somewhere so it doesn't happen I think we have a networking session that time we can have lots of questions and meanwhile you can answer the question in the chat sure thank you thanks a lot so yeah Avigram you can go ahead for the next question so the acceptance by governments will go a long way in making decentralization more acceptable as you know if governments have more trust in blockchain it can ease allowing blockchain to be used in many more use cases especially where the regulations are involved and personally I would also like to laud you for the facts that you compiled so up next we have you know S. Gopinath who is you know senior scientist with National Informatics Centre he is the government of India he has done some interesting work in hyperlages or tools and you know he will be discussing on the topic of trustable logs using blockchain so over to you S. Gopinath sir good morning thank you very much so I am from National Informatics Centre Chennai Tamil Nadu so this is basically my academic project although NIC involved in blockchain development across the country and this work is basically a private work of myself for academic requirements and one minute I will just share the screen could you be able to see the screen no not yet yeah now I just started I think yeah you need to so the title is trustable logs using blockchain so what exactly the work is see the logs are very important in any IT services system suppose I have a mail server the logs are very important say for example the forensic analysis etc similarly you have an UTM and you are running a proxy server some point you require that log transaction systems requires a log so most of the events are all recorded in the logs so logs are basically used for debugging capacity planning as I said forensic the investigations regulatory authorities might require the may require logs and most of the legacy log systems are tamperable because it is all written in plain text and up and only and system administrator can easily modify the log and all so earlier the people I mean in fact we were using warm devices to address these kind of the issues the warm devices are basically right once and read many times so these devices are reasonably trustable but only thing is it is not economically viable and it requires logs then comes the blockchain the first thing comes to my mind is blockchain and immutability so can we use blockchain to store logs I mean to find out the solution where I can trust the logs so the overall work I carried in two phases the phase one and phase two and it spread across two semesters and there are two styles of blockchain implementation style one and style two I'll come to that what do I mean by style one and style two and I use the hyperlegious sort of platform for this one why I choose hyperlegious sort of platform since it is an academic project and parallely I want to learn a new language new programming language and trust was my preference that time so that time hyperlegious sort of was the only one supported trust SDK directly so this uses the PBFT the consensus algorithm I implemented using a four nodes blockchain cluster in AWS so what is the style one the style one is something like a transaction digging what I do is when the logs are generated by a machine so I converted those things as a transaction not each and every piece of even but I collect a bunch of events and then treat that as a transaction and then recall it in the blockchain so when I want to verify it I started digging the transaction which is recorded in the blockchain for verification purpose and then do that part so that is a user I mean practically that uses a blockchain the earlier version of blockchain or the first version of blockchain then I use the style two also I mean within few months I realized that there is not a right way to do these things so I implemented the style here it is style two I mentioned here the style one is technically it is a typographic error so where it is not a transaction picking but where basically I directly query the Merkle try and then take the value and then you compare it very fast so this I am doing that part so basically the logs are taken as file blocks so I said that it is a continuous the logs are in continuous it is an append only file it is continuously getting appended what I do is for calculating the transaction I take the file block say about 1MB or 10MB something like that and then take a shard 256 hash and that is treated as a the transaction and I can do a partial trust establishment suppose if I find somewhere in the log it just get tampered it does not mean I have to throw the whole set of logs I can still compare the remaining blocks in the log and I can the build some kind of a trust so that is a partial trust establishment we can make it that is a very simple straight forward principle in it so these are the papers I referred these things and many of the papers because I have my own opinion on many of the academic most of the academic papers which are coming out so I mean it is many of them are full of stories and then you try to search for something you try to find out some very important point but it is something like finding a needle in the haystack so that is the kind but nevertheless these papers are really good the first paper I mean it just started when it started the work in November 2019 so that is a good I mean they covered a lot of things and they did the same kind of implementation using Exonam but in a very different style these are very theoretical papers the Castro and Liskop with the PBFT and wonderful this wonderful white paper the Vitalik Buterin and really huge the how did the next generation block chain really comes at that point of time and the wonderful the article by Logan Seley the introduction to Sawtooth BFT which is a block and which appeared in February 2019 that's a beautiful things and most of them are dependent on online videos hyperledger, RAS4 and emails etc etc so these are the basic inputs to me I mean these materials really helped me I'll come in the last one more material really helped me I'll come in the last that part so this is my system architecture so I we have this four node blockchain an academic project I can find myself with the four node so what you can think is these four nodes they are it is a permission blockchain network so these four nodes you can think that each node is kept under one authority under one administrative authority probably this could be an organization organization one and the second thing is my big police or third one is some regulatory agency like and fourth is some other agency and all these as per theory all these four nodes they don't trust each other so these are the log sources I have this is the log source I have so what I do is I take the log source and in real time I send the logs to all these people all the four people parallel so one of them can be a malicious one they try to play with the system or they try to modify or they try to tell or whatever things one of them they can be like that but the whole system you would take as per pbft algorithm it can work the system is stable I mean the system can give the crew talk these are the log clients I have I mean this this portion is a log client what I do is the log client I take from the log source and log is a continuous stream I read the log for say for example every 10 MB and that depends on that is a configurable parameter where you can put if the log for example in some cases I observe in my office some of the systems generates 50 GB logs for every five days or every week something like that I mean the one particular application so if you take that I mean the huge size then you can take instead of one MB you can take 100 MB something like that so I block it so the log files can be a binary format or a pure text format I don't bother about those part take the log block it compute the hash and then generate the transactions see this real time transaction of the log which is happening in real time for example suppose this is a web server web server is generating a lot of logs as and when the hits comes and imagine it is a stream of logs are coming out of that part which I am just pushing it then parallely I have a log and probably this process might be slower than this log generation process so these need not have a sync with that part this is one of the design constraint I have so these need not be having a sync but only thing is in the log network I push the log to every node through the log network so the one part is I mean the syslog supports this kind of the transfer there is a real module in syslog which can replicate the logs at very faster to making to various nodes so the network is the only constraint in the problem network and reliability is the only constraint in the problem but it can send the log in real time see the main assumption here is the administrator and who is acting as a malicious agent he cannot have time to modify the logs in real time because the real time it is streaming out of the machine and as soon as it is streaming out of the machine or application or a process it is getting replicated across the four nodes and one of the four nodes can even be a malicious there can be a two malicious agent one is the system administrator who is administrating that particular setup is doing the log and another malicious agent is at log chain level where one of the authority can behave malicious so the both the two things are possible are together so the first assumption is the system administrator seldom has time or even if you want to put scripts and all if the logs are generated in a very high speed then he could not be able to with assumption is he could not able to modify in real time but he can modify later for example I sent a mail some last week back somebody sent some extra the X sent a mail to Y with some malicious or illegal or unethical content to that one and Y complains to the police yes this person has sent a mail and making it meanwhile the X somebody is a friend of the system administrator friend of X and then the X approaches his friend say that see this that person the Y is giving me a complaint and naturally the investigation agency will look for logs why don't you just delete the log so most of the cases comes there is a time gap between the real time and this time so this problem addresses that kind of problems and not the problem where some process or some malicious agent modify the log in real time so I'm very clear in that particular part I'm addressing the second part this problem addresses the second kind of scenario so then what happens this log client is a slow process after some time say for example after an hour or some period you can define some periodicity in that part pull out the logs generate transactions take the hash and send it to the PBFT blockchain network then the PBFT algorithm takes care of distributing this transaction and coming to the consensus and the each blockchain node runs the consensus part of the part so the program runs the same identical program runs in all the places and that program gives a consensus and eventually that is getting added in the block and the blockchain slowly develops so the process continues like this at some point of time what happens the alter comes probably after six months or something like that or investigation agency comes and then makes it and they want to check the log and this person the owner of the log sources I mean he delegates one of the person to submit the log to this auditor and auditor sees the logs but he want to check with the blockchain node so whether this log and the blockchain node log the transaction the hashes which is recorded the transactions are same if it is same the presented log and this person assumes to be I mean is correct whatever he submits is correct so that he can trust the log sources so only the hashes of the blocks of the log blocks are getting stored over here not the entire the log files or the log events so this is what I told I mean here I'm using the R6 log D with the log protocol where it flushes out to various block nodes so every transaction represents a fixed size blocks in the log a transaction payload comprises of a file log boundaries and it's hash it's a partial trust establishment when I found some of the blocks or some portion of the log files tampered it doesn't mean I have to throw away the log I can still trust the remaining part so these are the modules I have written so the client module transaction process module this transaction process modules that is the thing which runs in every node so you have to write a client module where it takes the log sources create blockchain transactions and put it in the blockchain PBFT network and when the transaction when the PBFT network triggers that one then it passes the process that is a transaction process where every transaction or a bunch of a group of transaction it is getting analyzed semantically and then adds it to the block if it is appropriate so semantic validation hashes in transactions are varied or computes independently so that is a thing because it is already having the log for example the transaction is the transaction running by the system administrator and he could be a malicious man so he runs the transaction so since in real time he already knows the log or he already knows the log blocks then he can compute the hash and then compare the hash of the transaction if they are same then you can trust it so this is the payload and the C bar is user part serialization and this is I mean the programming model the basic software programming model I have a client with API giving to the validator this is the node I mean making it there is a global statement in there then the transaction process which we have to write it basically it is a business logic and validates the transaction semantics so this is taken from sort of the website itself and so the thing is that there is a state address space which is 35 bytes 70 6 characters 280 bits which is a very huge the space we have in the Hyperledge sawtooth and sawtooth use single address space for all sets of applications so I have one sawtooth installation I can put bunch of applications over there so 280 bits is a quite quite quite huge thing sir and data structure used in this addressable radix market right and it has got a state root hash and the address space partition is the first two three bytes is a transaction family or basically it's an application and 32 bytes for each transaction family or application so this is basically my this thing how do I write my client basically I mean what I find what I found during my the work is the sawtooth documentation particularly in Rust not sufficient something like that then I started writing each and everything taking the hand notes and then created these kind of stuff so this is how it is getting generated so I read the file blocks generate the payload push the payload list then then I submit it to the things so basically I have the representation payload I got it the various representation I can have the C bar protocol buffer or even simple CSV transaction is generated keys I use I mean the keys that it is signed basically transaction creation batch generation batching and then Rust API you submit it that part so this is a transaction process model runs in every node and it basically uses get set methods and set for the state and get for the state so basically I'll be setting it and the validator calls apply method of the TP which it implements basically the process and the through apply method we get that part so this is the trans this is how the transaction process looks like in the Rust programming language context so I have to register with the validator the validator is the sawtooth node this is my transaction process where I implement the transaction process for this particular application and then the handler and the apply method is called then my transaction handler applies that one and it takes family name, family version, name spaces whatever the data structure is required we can make it and then we may make it so lock source is present in lock stream for auditing verification basically compares the lock submitted with the file blocks because here the same similar program to transaction generation I have to use it for verification and REST API for extracting blocks or states from the blockchain if I'm doing in one style the old style I have to dig the transactions block by block and then verify but the second style is basically go there and then read the state and that state and the transaction number they are associated within the program so it is easy for extracting the state and then gets things done so these are the programs I mean the screenshot of the programs I run and basically many of since it is an academic project I have a lot of the print line statements for debugging so whenever the transaction is there the transaction process prints and then the file blocks are generated what is the hash etc shows that part so this is how the verification comes so basically I presented this work this is an academic work but I presented the work to my internal for my organization because basically my team reports to even though I'm sitting in Chennai I'm reporting to technically reporting to Delhi I mean to my headquarters directly so we are doing I'm in a national knowledge network I'm taking care of national knowledge network which is something like internet too in India so that part connecting research and educational institutions across the country so that part so I mean we are involved in this log the business I mean the logs I mean it's our daily life it's a part of our daily life so I presented this work probably we can and we are trying to implement this part with the production grade the implementation this is not a production grade implementation what I have done it is an academic grade but nevertheless I have taken a lot of precautions and each and everywhere code validation it can be converted into production grade so we will be implementing probably by a year within a year this log and probably this can be extended to other applications not only for my network applications where my initial thought was but it can be extended extended to other applications any applications for that matter we can do this part and my primary interest is I mean to continue the research on very basic and very primitive things say for example can we is it possible to have a better network protocol to address the scalability issue and you know that the PBFT is not scalable well it is the best case is order n square so you have more number of nodes then definitely it is going to the transaction throughput is going to come down like anything so is there any way to address the scalability thing and second question is given any application my interest area is these things application can you just extract some of the features of properties and say that this particular application is well fitted for blockchain kind of implementation so because I mean any process I mean whatever the things you come across you want to put it in the blockchain I think that is not a good idea overall but there must be the features set and the properties of any application where it can match the blockchain implementation is required on making it and the same academic project during the first semester I did the case study on land records how to implement that land records so it is basic it is a one-trade paper so it is something like a novel writing I have to make it but I try to get some properties of that part so how do you make it and but at that point of time basically the bitcoin was back off my mind so the whole thing is like that and the thing is that my recent work I mean I didn't do much of the blockchain work recently for past one year so but I am just going through some of the ACM transaction paper and other papers and one interesting thing is many of the African countries they implement even the voting system I read in one recent ACM transaction paper where a company is implementing a voting system in one of the countries in Africa so the things are going on well and my particular area or my particular emphasis on basic things like the consensus algorithms how to improve the consensus algorithm and can I discover or invent any network protocol which can leverage the consensus mechanism in that part so that's my area and one important thing is I have to thank Arun every time I have to thank Arun I mean Arun is there in the meeting and he only arranged for this talk and he is our principal mentor even in our group so he helped me a lot in the initial stages in the sense that then how to start the coding in Rust because I couldn't find enough documentation but at that start point he really helped me in that part so the confidence came only after seeing some of his code styles and in fact my Rust code style these days follows his code style Thank you sir and we have a few Hyperregister community is notably some of this community very good support from the Rust language program you get answered within often hour you get something and the discussion goes on so and really the lockdown also helped me a lot because I spent a lot of time in this particular part thank you very much I stop here if there is any question I will just answer that part Thank you Gopinath sir I think it is really interesting and so much research you have put into it Thank you sir and we will take questions and continue taking questions on chat and we will also have a networking break where people can directly ask the questions and now we would like to introduce Sentil and Dany from IBM Research so Sentil is based in India and Dany is from Israel and we would invite them to present on Aura and server a blockchain data store Thank you Aura so Dany can you share the deck I will be glad to Can I get the sharing permission because Gopinath sir you can stop it I think you are extremely visible Thank you sir Can you see my screen now Yes Hello and thanks for the invitation to the Hyperregister Lab's event it is a really pleasure to be here with you today In our talk today Sentil and I will present you our novel centralized trust blockchain database technology named Orion developed by IBM Research that was recently accepted to the Hyperledger Lab's community For those who find centralized blockchain to be a bit strange let's see why it makes a lot of sense and how this technology can play the key role in building trust in many business ecosystems It's important to understand that trust is crucial to the growth and success of business ecosystem According to the study by Boston Consultant Group trust was indicated as approximate factor in failure of more than half of unsuccessful ecosystem and made a great deal of success in more than 70% of the successful ones Secondly we should remember that most of the business ecosystem today operates under centralized trust assumption which means that there is at least one trusted party like cloud provider government organization or big player however other participants don't have to trust each other. For example organization usually trusts a cloud provider not to block their clients intentionally from accessing their services although they can easily do so. However having a trusted party doesn't mean that the other participants should blindly trust it and another experience shows there is still a plenty room for further improvement of trust in the centralized ecosystem. For example participant can benefit from having transparency into data life cycle and the ability to prove the integrity and consistency of the data which is the key to important streamline and auditing process especially in the environment. Ensuring authenticity of data is crucial to prevent potential authorship dispute in multi-party interactions and finally even trusted parties often want to restrict the power of their privileged user to prevent mistakes and fraud. From the technology perspective the well-known classical databases do not provide out-of-the-box capabilities needed to guarantee and prove the required trust features while the use of decentralized blockchain measures technology for centralized systems is usually difficult, inefficient and very costly. Hyperledger Orion combines classical database with blockchain properties specifically targeting centralized ecosystem. Such blockchain database technology according to Alibaba can reduce the deployment cost of at least 75% and according to Gardner will replace most of the permission blockchain users. By 2025 the addressable market of such laser databases is estimated to reach $2.2 billion. Now let's better understand what Orion is. So first of all, Orion provides a trust layer on top of standard database with the blockchain features like temporary evidence which is an ability to detect any changes to protected object even if done by the privileged user. Orion provides a provenance and data lineage which includes recording and understanding of all transformations the data underwent along the way. In addition, authenticity and non-repudiation can be used to prove the data was received exactly as it was sent by the source preventing authorship distance. And finally we provide a multi-seq mechanism to prove transaction only when signed by several designated parties which is very important to ensure trusted multi-party interactions. All it comes with the classical database features such as queries, resilience and scale, standard key value JSON store and transactional API to ensure that the set of read rather operations are executed as an atomic transaction preserving consistency and data integrity. At the high level, Orion is implemented as a cryptography based layer on top of classical database that has highly available secure and replicated distributed database with a temper proof immutable ledger. It also enables history query to extract information with proofs of integrity using GraphDB provenance engine and provide read the key level access control to support privacy and multi-seq capabilities. Please join our community to contribute further and share with you some of the key use cases that we have encountered in our work and provide the reference to a few public projects that we can share. So in addition to the auditability use case, which is highly available in regulated environment, there is a set of unique scenarios across different domains that Orion can help with. For example, the multi-seq capabilities can be used to automate many business contracting processes and easily support notary services. Orion can help to ensure authenticity and protect the integrity of the evidence collected through the insurance claims process. It can significantly simplify management of licenses, certificates, educational records, property ownership rights for the government, organization. It can even be used to securely digitize the COVID vaccination status, which is extremely important these days. And of course, to truthfully reflect provenance of goods and compliance to maintenance requirements in supply chains. Of course, Orion can be applicable in financial sector to support central bond digital currency and securities and can even be used as an off-chain store for the decentralized ledger ecosystem to preserve the financial data integrity across the hybrid environment. Orion can also be applicable to less regulated domains like entertainment, where it can be used for media tokenization or even for trusted reputation management. After detailed examination, it was decided to use Hyperledger Orion as a blockchain platform in order to build an IoT cyber security framework to build media trading platform and I4Q project to support smart manufacture. Now I will let Senthil to take you through more technical part and demonstrate the ease of use of the Hyperledger Orion. Thank you. Senthil? Yes, thanks Tani. So you need to stop sharing. So let me start with the real world protection deployment use case that does not employ the decentralization of trust but uses blockchain properties. So this use case is none other than the academic document management platform developed by our own CBSE board in India using blockchain technologies. So as advertised, the platform is secured, trusted, immutable, traceable and verifiable. So this deployment is distributed because they place it in Pune, Bangalore and one more city, but it is not decentralized by involving many users. So because there is some level of centralized trust in this deployment, however the deployment provide tamper evidence that is immutability which is the key for such use cases. So we built Orion for such use cases. Even at the end of this talk, we will show a short demo of tie academic document management using Orion. So let's look at the high-level architecture of Orion. So there is a Orion node with a bunch of users who can perform transaction inquiries. Node manages various data. The public key and privileges of each user is stored in a user's database. These users are nothing but the Orion users. And then the blockchain states such as binary data and JSON document are stored in a key value store. And then all historical states that even the past state associated with each key value pair are stored using the same data. Then we have authenticated data structure and a chain of blocks. So these helps to generate proofs. And whenever user performs transaction, node return a receipt, which is nothing but a commitment to be used to verify the proof generated by the node. So this receipt is very important from the user perspective because even if Orion node tamper the data, the user can prove the original data. So that's very important. Note that for simplicity, I have shown only one node in this architecture. But in production deployment, we can deploy clusters of node to distribute the ledger as well as we support raft-based replication of data among nodes in a cluster. So it's definitely we have a production-ready code in place. So let's look at transactions in Orion using our Go SDK. So in the future, we are planning to develop other SDKs using Java and node. So for all transactions, first we need to create a connection and open a user session with an Orion node. So this is kind of common with any database that we use like PostgreSQL or MongoDB. Then the SDK would take care of signing the messages using user private key and also verifying this digital signature of the Orion node and other users when the response is received from them. So these are like currently hidden to the user. So they mean the usability would be very simple. We can then perform three type of transaction. The first two types that is database and user administration transaction are for admin of the Orion cluster. So the last one is the data transaction which would be executed by the users of the Orion cluster. So let's look at the database administration transaction. So in this transaction, we can delete databases and we can also check the existence of a given database. So let's look at an example. So in this example, first using the session object, we start a database administration transaction. Then we create a new database named DB1 with an index. So like in CouchDB, we need an index in order to perform JSON queries. Further, we delete an existing database called DB2 and also check the existence of a database DB3. Finally, we commit the transaction. So from this, you can easily see that how easy it is used for you on like any other database. So let's look at the next transaction type, which is a user administration transaction. So in this transaction, we can create update delete user and we can also fetch the credentials of user like their public key and then privileges. So in this example, again using the session object, we need to start the administration transaction. Then here we are creating a new user using the put user method. And then we are reading the public key and privileges of the user bar using the get user method. Then we are deciding to remove the user and then committing the transaction. Again, you can sense that how simple it is to use. And the final type of transaction is the data transaction. So in this example, we can create update delete states stored in a given database. So again, in this example, we will use the session object and start a data transaction. Then here using the get method, we are reading the key to from the database DB1. Then we are updating the value of key one using the put method and finally committing the transaction. So I mean we kept the programming model very simple. That is very simple when we started to build over you on. Then for privacy, we have access control. So whenever we are storing the state that the law using the put method, you can see that last parameter is the ACL that is the access control. So we can define a list of users who have read only permissions that is denoted by read users list. We can also dictate whether I'm sorry, so we can also read write users list. So these are the users who have both read and write permissions. Then we can also dictate whether all users in the read write users need to sign the transaction to modify the state or if any one user is sufficient. So this we can define through the sign policy for right. So when we have all policy, we need to have a multi signature transactions like so in this case, if we if the state key one need to be modified, both Alice and Bob need to sign their transaction. I mean, you might have here a cord of flow, fab flow, and then firefly right. So these are the communication component that can be integrated with the worry on to execute multi signature transactions. So in this ACL example, we have said access control to any. This means that Alice or Bob can modify the key. We can also create a key and mark it as a read only. For example, if we have only the read users list, this means that only Alice and Bob can read that particular key and no one can modify it. It's like it's a read only forever. So thus we have covered three transaction types. So let's look at queries. So worry on support Jason queries using both logical operators such as less than greater than equal to not equal to as well as combinational operator like or and and. So in this example, we ask worry on to retrieve key value pairs which are following values in the Jason object like name field should be greater than e but less than or equal to hatch and the graduated field should be false and the rating should be greater than minus 100 and not equal to zero. So the not equal to is an array. You can have many values. So though we built this query engine from scratch on top of go level DB, we try to mimic the syntax of couch DB and MongoDB so that the learning curve is not steep and we also support provenance queries. So in this provenance query, there are three categories of data. So one is fetching the historical data associated with a given key and the second one is like what are all the readers and writers of a given key. For example, suppose I put my worksheet in the document management platform and many university might verify my data. I would like to know who have read my data. So those are the support. Those are the queries supported by the provenance. Then we can also see what are all the activities performed by a particular user using get data read by user or get data written by users. So in the future, we are planning to support more provenance queries because these provenance data are stored in a graph database. So let's look at the final key feature of Orion, which is the proof and verification using the SDK. So we have a transaction miracle tree to generate proofs for an existence of a transaction in the ledger similar to what is done in Ethereum. Suppose a Bob has transaction TX3 and it receives which include the hash H14 that is nothing but the root of the miracle tree. So he wants a proof from Orion to show that TX3 exist in the ledger. So when he asked Orion to send a proof, it would send intermediate hashes needed to regenerate the root hash and verify the same. The intermediate hashes needed are H4, H18, H8 and H13. So Bob can execute the following steps to verify the proof. So in order to regenerate H14, he would first compute the hash of TX3. Next, he would compute the hash of H9. Then he would compute the hash of H12 using H8 and H9. And finally he would compute the hash of H14. Then he can compare the computed hash H14, which is the H14 that is present in the transaction receipt. If they are matching, then the proof is valid, otherwise it is invalid. So anyway, so we have a demo in which you can see an example. It will be more clear. So rather than doing all this, so we have two APIs in the SDK, which is like get transaction proof and then verify. So this will hide all the details from the users and the user can do the same verification that I have explained. So similar to transaction miracle tree, we also have a state miracle patriciatry. So this structure is kind of mimicked from Ethereum again. And this state miracle patriciatry helps us to prove an existence of a state. Again we have an API like get data proof and then verify the same. So using this, we can actually verify whether the data has been tampered or not. And the receipt is the key that the user need to manage. So let's have a toy demo using the academic market management. So I have already recorded the video. So let me share the video. Let's create a toy market management using Orion. We have two users. So if you are not hearing the audio, please let me know. Let's create a toy market management using Orion. We have two users. Let's assume Alice is the controller of examination for CBSE board and Bob is some university officer. Alice has redirect permission on Orion database that she can create Marksheet of students. On the other hand, Bob has only read permission as he just wants to verify the students Marksheet when they are joining the university. Let's start a server. You can refer to our documentation for starting Orion using either executable or Docker image. In this demo we'll use the executable. Once we have started Orion, we need to create a database named db1 and users Alice and Bob. This code creates a required databases and users. These codes are available in our example directory in the SDK repository so that you can read, understand and execute it to yourself. Let's execute this code. Required databases and users have been created. We can also use curl command to perform queries and transactions. You can refer to our documentation for the same. Let's use curl command to check the existence of db1. We can see that db1 does not exist. Let's use curl command to fetch the user Alice. We can see Alice certificate and privileges. Let's store 3 Marksheets in Orion. This code creates and stores these Marksheets. Further, it stores each transaction recipe in a file. Please visit our SDK repository to read and understand this code. Let's execute it. We can see each transaction recipe has been stored in a separate file. Alice then gives the recipe and Marksheet to the respective person. When Person0 joins the University for Higher Studies where Bob is an officer, the Person0 would share the recipe and Marksheet with Bob. Now Bob wants to verify that the Marksheet is valid and is not tampered. Bob would write this code that asks proof from Orion for the Marksheet using the transaction recipe and also verify the same. He also writes the Marksheet to ensure that the validation works correctly. When he executes, he gets valid as a result for the correct Marksheet but not for the manipulated Marksheet. Thank you for watching this demo. Yeah, so thank you. So I hope it was audible to everyone. Yes. It was a great demo. Thanks thanks Danny. We have many questions on chat. I believe we can answer them through networking break event that we are going to have and we'll switch quickly, switch over to Harsh Sharma who is one of our mentee to talk about the updates on the project. Hey, Harsh. Yeah, hello. Go to you. Sure. Is my screen visible? Yeah. Yeah. Hello everyone. This is Harsh Sharma. I'm actually a refining year student and I'm working on a high pleasure mentorship project which is called automated testing for climate emissions leisure. And my mentors are Robin Clemens, Sachin and Kailash Maka. And yeah, so I'm actually a part-time mentee. So I'll be working until March of 2022 and I'm here to present my project. So the project which I'm working on, it's the blockchain carbon accounting project and it's under the climate, sorry, the carbon accounting special interest group and here we are using blockchain to help account for greenhouse gas emissions and in this project, basically my work was over the automated testing part. So we have S which have been written to exercise all the functionalities of the project and GitHub Actions which I'll be using that is a tool which we are using to automate the software workflows so that it becomes easier for maintainers to build, test and deploy the application and the major tech stack which I'll be using will be TypeScript, Mocha, Chai, Docker and GitHub actions. So here are the objectives for my project. So first of all was to get the failing test to pass and also to increase the test coverage and secondly it was to develop a CI pipeline which was a continuous integration pipeline so that we can ensure the code consistency and stability so that any pull request which comes and shouldn't take the existing code and the third one was to incorporate additional greenhouse gas calculators so that we can expand the reach of our project. So currently we are supporting only European and American utility data but in the future we plan to support data from other countries as well. So here are the deliverables. So first was to get all the existing tests to work secondly was to develop the CI pipeline like I mentioned and third was to expand the emissions calculations. So since this is very much a work in progress I've completed the first two parts so I'll share all these links that are visible on the screen with you in fact so that you can check out the work and potentially contribute to the project as well. So in the CI pipeline I developed the pipeline using github actions and we also included linking and code analysis so that we could have consistent code styles throughout the project and another contribution from me was automated test reports so that the test reports which are like all the failing test they can be debugged easily and available in a user friendly manner. So here's a screenshot from one of the test reports so as you can see all the tests which were executed you can see how much time they took and if any tests had failed you could see the debug logs as well and this makes it a lot easier for people to debug and I've also increased the test coverage by adding additional tests and so my future work would be basically to of course add more tests and also currently what we're working on is we're planning to add in scope 3 emissions data which is basically so currently what we're working on is only utilities data that is electricity so scope 3 emissions would be including emissions from other aspects of our lives such as purchasing goods or transportation etc so we want to include the greenhouse gas emissions from those as well and we want to include coverage from other countries so a lot of countries and a lot of agencies have their emissions data available so we would like to include those and we would like to add greenhouse emissions calculators for those kind of data as well and thirdly we would like to move our database onto a public decentralized database such as order TV or like the last presentation we can even consider Orion and the results that I've achieved now so we have working CI pipeline now and we are able to perform static code analysis we are able to build and test the project with every pull request we have test reports which are available in an easily digestible format so that we can debug test season and I've increased the test coverage with the addition of more unit tests and here's what I've learned from this project so basically I learned a lot about open source workflows and best practices in software development I caught into the field of DevOps which I was really new to and I connected with some really amazing mentors and amazing people in the high-plagic community and I learned a lot from their suggestions so yeah thank you for your attention I'll stop sharing my screen now and if you have any questions I'm in the chat it's a continuing project right Harsh and you are currently on this right it's a six month project and I joined in September 2021 so we look forward to seeing probably a blog post as well on your engagement so in the mentorship projects I think maybe next week some already completed mentorship project blogs is coming we shared some data to me so soon we published awesome so that wraps all the sessions for the day and we will venture into networking breaks I'll probably stop recording and also stop live streaming on YouTube unless you need to stop on YouTube