An FPGA NIC Based Hardware Caching for Blockchain

These days, people pay attention to Blockchain, which is a main technology of cryptocurrency. Blockchain is a fault-tolerant distributed ledger that does not need an administrator. We call transfer of digital asset as a "transaction". We need to hold all transactions to use Blockchain. Therefore, the amount of Blockchain data increases as time proceeds. On the other hand, the number of Internet of Things (IoT) products has been increasing. It is difficult for IoT products to hold all Blockchain data because of their data capacity. Thus, they access Blockchain network via servers that have enough data capacity. More and more IoT products will join Blockchain network via servers, so it is useful to reduce workloads and improve throughput. In this paper, we propose caching technique using a Field Programmable Gate Array-based (FPGA) Network Interface Card (NIC) that has 10Gigabit Ethernet (10GbE) interfaces. FPGA NIC instead of the server responds to requests from IoT products if the cache hits. The proposed system can reduce server workloads. We implemented the proposed hardware cache to achieve high throughput on NetFPGA-10G board. We counted the number of requests that the Blockchain server processed at a given time and calculated throughput as evaluation. Throughput improved from 6.73 to 7.45 times when hitting the cache.

[1]  Hiroki Matsutani,et al.  A Multilevel NOSQL Cache Design Combining In-NIC and In-Kernel Caches , 2016, 2016 IEEE 24th Annual Symposium on High-Performance Interconnects (HOTI).

[2]  Andreas M. Antonopoulos,et al.  Mastering Bitcoin: Unlocking Digital Crypto-Currencies , 2014 .

[3]  Sarah Underwood,et al.  Blockchain beyond bitcoin , 2016, Commun. ACM.

[4]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[5]  Lida Xu,et al.  The internet of things: a survey , 2014, Information Systems Frontiers.

[6]  Pieter Wuille,et al.  Enabling Blockchain Innovations with Pegged Sidechains , 2014 .

[7]  Tetsuya Asai,et al.  Caching memcached at reconfigurable network interface , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[8]  Emin Gün Sirer,et al.  Bitcoin-NG: A Scalable Blockchain Protocol , 2015, NSDI.

[9]  Ling Liu,et al.  Achieving 10Gbps Line-rate Key-value Stores with FPGAs , 2013, HotCloud.

[10]  Hiroyuki Yamada,et al.  What’s So Different about Blockchain? — Blockchain is a Probabilistic State Machine , 2016, 2016 IEEE 36th International Conference on Distributed Computing Systems Workshops (ICDCSW).