 Welcome everyone and thanks for attending this session. I'm Harris and I work as a researcher at Zardings. Some of you may not know about Zardings, so I will quickly introduce my company. Zardings is the inventor of FPGA which goes along with other hardware technologies such as general purpose CPUs, GPUs and ASICs. Typically FPGAs are used for performance and energy efficiency. I have been involved with the different Hyperledger projects for the last two years and more specifically I have been working on fabric and looking into different and scalability issues. So I will give an introduction of the performance and scale workgroup at Hyperledger and then I will introduce some of our work and how we are trying to tackle some of these accessibility problems. So if you have any questions along the way you can post it in the Q&A tab on the right-hand side and I will leave a few minutes at the end to answer those questions. So PSWG is basically the performance and scalability workgroup, a forum at Hyperledger to look into these performance and scalability issues. The group is not tied to any one particular project and it is supposed to look into all the different projects under Hyperledger but most of the work has been done on fabric because the most popular Hyperledger project. So in terms of the goals, the group started with two main focuses. One was on performance evaluation. For example, the idea there was to look into different type of metrics that can be used to compare different blocks and platforms and different projects under Hyperledger. And early on the PSWG group published a wide paper on metrics. In the same context, PSWG was also involved with some of the early work on Hyperledger. Caliper, which is the tool now mostly used for benchmarking different Hyperledger projects. Focus on performance improvements and the scalability in blocks and deployments. The goal here was to gather ideas from different groups to see what kind of performance bottlenecks exist in these Hyperledger projects and how they can be scaled. And typically the scaling involves either scaling up, which is vertical scaling where you cannot add more resources in a single load of a network or you can scale out another term which is called horizontal scaling where you can add more nodes into the network to improve its performance. So in this context, I had been attending PSWG meetings on and off but recently I got actively involved in the group and now I'm leading this new effort to revive the group, to revamp the group and have more focus on scalability issues, especially from people who are using these Hyperledger projects and deploying them in real-world scenarios. So I would like to talk a little bit more about scalability in blockchains. So when we look at proof-of-concept project and we want to move it into a real-world deployment we would like to improve upon a few different performance metrics. For example, in a proof-of-concept I might have two organizations but in a real-world deployment I might want to add five organizations. What that means is that we would have more transactions generated in the network and hence the nodes in the network should be capable of handling that much workload and should have better or increased transactions per second throughput. Likewise, in a production environment we might want to gather much more data compared to a proof-of-concept which means the transactions could have much larger size which means that the blocks would be larger. And again, the network should be capable of efficiently transferring larger blocks around the nodes and process them efficiently. So if we look at these four different performance metrics and we want to improve them we have to look at both individual nodes of the network as well as scale out the network by adding more nodes in the network and looking at the network traffic and how that could be handled in a better way. So at Xilinx we believe that if we want to improve this metrics and go beyond what is available by software-only implementations which are available nowadays we need to bring in newer hardware technology not only give better compute resources but also give better network resources. We are going to look more because of this in what kind of work we have been doing at scalability. So coming back to PSWG the group had been dormant for a while and then we recently started to revamp it and in the past two months we have tried to initiate two different threads in the group. The first thread is around performance evaluation and thanks to the technical working group in China they have done a bit of work quite a bit of work on a Hyperledger Fabric performance evaluation and exploration and they have produced two different tools called Tape and Probe. The Tape tool is very much like Hyperledger Caliper but it's lightweight and can generate much higher transaction send rates and can better stress test a network. The Probe tool on the other hand is an exploration tool where you can kind of explore how the performance of a network behaves based on different parameters for example different block sizes or creation of a block etc. Then the second thread we have been working on Myself and my colleagues at Zalynx so we have been looking into how we can bring in newer hardware acceleration technology and remove some of these performance bottlenecks in permission blockchains and how we can use hardware accelerators to achieve performance and scalability beyond what is currently available from software only solutions. So let me go into a little bit of more details of our work. So we started a project named blockchain machine at Zalynx and the aim was to look into permission blockchains and see what kind of bottlenecks appear in permission blockchains. If you look at public blockchains like Bitcoin and Ethereum we can see that they are already using specialized hardware. For example, Bitcoin is dominated by ASICs, Ethereum is dominated by GPUs and they use these ASICs and GPUs to have much higher rates. This is necessary for faster proof of work with consensus mechanism. But when we look at permission blockchains the consensus mechanism does not use proof of work which means that the bottleneck now shifts from consensus to the validation nodes and the validation nodes share quite a lot of core operations for example, cryptographic operations and accesses from data holes, the global state of the network and these operations are the most popular information blockchains under Hyperledger umbrella. We looked at a lot of different operations which are done inside the validation node or a validator peer network. What you can see here on the graph on the right-hand side is that the ECDSA signature verifications are the most time-consuming operation. There are other operations for example, computation of hashes based on SHA-256 and accesses from database which becomes a big bottleneck in Hyperledger Fabric validation process. What we saw was that can we scale up a validator peer in Hyperledger Fabric using specialized hardware which is implemented on FPGAs. Then we can accelerate or execute these bottleneck operations directly on the hardware. With that in mind, we came up with this modified validator peer in Hyperledger Fabric. Here is shown in this figure on the right-hand side. We split the operation in two parts. The part on the right-hand side with green is all the operations which involve some kind of verification of the block or validation of the transactions or the endorsements and then reading from database, applying some concurrency checks, etc. All of these operations are actually executed on a hardware accelerator. Then the software, the CPUs, they still run the standard Fabric software but they skip all these verification and validation operations and wait for the results of the validation from the hardware. As soon as the validation results from the hardware are available, we are merged with the block and the block is committed to the CPU just like any other Fabric peer. What this helps us to do is that we can actually accelerate and with much better performance the validation operations of the bottlenecks while we keep the non-bottleneck operations still on the CPU side. Now let's look at the performance which we have from the setup. If we exclude the ledger commit part which is basically run on the software side either with the hardware accelerator or without the hardware accelerator, we were able to see observe a 17 times improvement in block validation latency and we were able to actually reach up to 95,000 transactions per second as the commit of the validator peer. And what I would like to mention here is that if you look at Visa payment system these systems are supposed to be able to process transactions per second in the peak. So what we are really trying to show here is that if we bring in hardware acceleration hardware, specialized hardware technology into permissioned block genes we can break the software only barrier and then we can actually have a much better scalability in permissioned block genes. So if you're interested in more details about this work we recently put out a paper on archive the link is embedded here you can go to that link and read the paper and the details. We also just started a new labs project called this is not readily usable at the moment but we will be putting out a lot of a lot more content into this wrapper in the coming weeks. So you can actually add yourself to the list of the repos so you can get all the updates and when it's ready to use you can actually use it. So coming back to G we have a couple of plans for the next few months so definitely organize some deep dive talks around the tools from technical working group China to talk more about performance evaluation and exploration for different block genes and then we're also going to have some deep dive talks on blockchain machine from which is what I just briefly described to you but more importantly what we are really looking for is to collaborate with other groups under hyper ledger or other industrial partners who have actually deployed these hyper ledger projects in real world scenarios and we would like to really know from them what kind of scalability issues they are facing and whether some of this newer hardware acceleration technology can be used to address those issues which could not be addressed in just software only solutions. So please join us we have monthly meetings I have the link here for the meetings as well and if you want to know more about our work and you want to reach out to me directly I have also provided my contact details here as well so with that I will stop here and see if you guys have any questions okay so any questions in the Q&A tab but if you do have any questions you can post them even though that the session is supposed to end now but if you don't leave the session I can still answer your questions here in the chat so I'll wait another minute and if there are no questions then I will end this session okay so I guess there are no questions so thank you everyone for your time and coming to this session and again as I said if you're really interested in our work please join us at PSG Thank you very much for your time.