The technical work of the project has followed the initial planning closely and can be divided into two phases: 1) working on accelerating a Crash Fault Tolerant (CFT) ordering service and 2) accelerating a Byzantine Fault Tolerant (BFT) ordering service.
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(opens in new window)). 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(opens in new window)). 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(opens in new window)). 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.