Periodic Reporting for period 1 - ACCORD (Accelerated Ordering Service for Distributed Ledgers)
Berichtszeitraum: 2019-05-01 bis 2021-04-30
The starting insight of this project relies in the fact that even though it is commonly assumed that PB systems are inherently less performant than traditional Database Management Systems, by re-imagining their underlying processing, they can be made competitive and evaluated as an alternative to traditional DBMS systems. We have identified a significant challenge of achieving this goal: the high cost of the distributed communication steps of PB (the so called Ordering). Finding ways of reducing the cost of these operations was the focus of this project. The results and deliverables of the project can be used to accelerate existing, widely used PBs, such as Hyperledger Fabric, and, more importantly, they can be used provide a sound foundation for building the next generation of PBs well suited to the workloads and the execution environment typical for large Enterprises.
The methodology of the project was to combine benchmarking of widely used PBs with analytical modeling and bottleneck analysis, and, finally, implementation on modern server hardware that combines regular CPUs with programmable hardware, namely Field Programmable Gate Arrays (FPGAs). Thanks to this multi-pronged approach, the project has generated valuable insights at various levels (i.e. providing not only general recommendations for designing future Ordering services for blockchains but also hardware implementation lessons, etc.). We have released our results as Technical Reports and the source code can be found in Open Repositories hosted by the IMDEA Software Institute.
The first phase had as its starting point a proof of concept implementation of a re-imagined Permissioned Blockchain system that the Marie Curie Fellow built with collaborators from IBM Research before the beginning of the fellowship. The fellow has ported the main ideas behind the proof of concept to Hyperledger Fabric in a way that the resulting system, StreamChain, is fully functional and compatible with the unmodified Fabric version (the repository of this system can be found at https://gitlab.software.imdea.org/zistvan-public/streamchain). In order to benchmark this system and to identify its remaining bottlenecks, a benchmarking suite has been developed based on a real-life economics use-case for Blockchains (the repository for the benchmark is at https://gitlab.software.imdea.org/zistvan-public/streamchain-benchmarks). Based on the results of the benchmarking, an FPGA-based Ordering service has been developed that can be transparently plugged into StreamChain, and cuts end-to-end latencies by a factor of 2x (and by two orders of magnitude when compared to off-the-shelf Fabric). The implementation of the CFT Ordering service is a first of its kind and combines existing know-how of the Fellow (i.e. consensus algorithms with FPGAs) with new functionality that had to be developed (i.e. hashing incoming requests and chaining them together to form a blockchain).
The second phase of the technical work focused on BFT Ordering. Since currently most production-grade implementations of BFT algorithms are used in widely geo-distributed systems, as a first step, we undertook an experimental evaluation of a seminal BFT consensus algorithm implemented with modern datacenters and clouds in mind, without assuming very high latencies typical for geo-distributed settings. The experimental results motivate the need for incorporating specialized hardware in future BFT Ordering services and allow us to choose between the many possible approaches to acceleration (we summarize in a technical report why software will not be able to scale to emerging faster networks in the cloud: https://arxiv.org/abs/2007.12637). We have started working on the FPGA-based implementation of a BFT consensus algorithm when the project was ended. Nonetheless, we managed to gather initial insights on the resource requirements of this application that we will present at a workshop later in 2020.
The fellow has also carried out dissemination activities related to the use of Blockchains in data-management scenarios to the wider scientific public. These activities can be split into two categories: organizing events targeted at fellow systems-researchers (co-organizing the SPMA workshop at EuroSys'20 and the SERIAL workshop at Middleware'19 and '20) and events targeted at Computer Science students. The latter consisted of: First, the co-organization of a Winter School/Hackathon at IMDEA Software that focused on the use of Blockchain technology for fighting climate change, which incorporated an in-depth tutorial on the underlying Blockchain technology and touched on the core subjects of this project. Second, the organization of a tutorial at a leading FPGA conference, FPL'20, which introduced PhD students in the FPGA community to the opportunities that Blockchains present for this particular technology.
Finally, during the project the fellow has also successfully recruited and supervised three interns, one at the Bachelor's, on at the Master's level and one at the PhD level. Their internship topics were chosen in a way that complemented the efforts of the fellow in this project and allowed for in-depth exploration of various what-if questions that arose during implementation.
Second, as part of the project, we built, to our knowledge, the first CFT Ordering service for Permissioned Blockchains that runs on FPGAs. This solution has been integrated in StreamChain and we showed that latencies can be further reduced to millisecond level.
Third, through the detailed experimental evaluation of the various cost factors and bottlenecks in BFT consensus on fast networks we were able to provide clear guidelines on when and how to include specialized hardware. While some of our results match the "qualitative" rules of thumb of the community, we believe there is value in providing a sound quantitative analysis.