As enterprises embrace blockchain technology, many real-world applications have been developed and deployed using permissioned blockchain platforms (access to network is controlled and given to only nodes with known identities). Such blockchain platforms heavily depend on cryptography to provide a layer of trust within the network, thus verification of cryptographic signatures often becomes the bottleneck. The Elliptic Curve Digital Signature Algorithm (ECDSA) is the most commonly used cryptographic scheme in permissioned blockchains. In this paper, we propose an efficient implementation of ECDSA signature verification on an FPGA, in order to improve the performance of permissioned blockchains that aim to use FPGA-based hardware accelerators. We propose several optimizations for modular arithmetic (e.g., custom multipliers and fast modular reduction) and point arithmetic (e.g., reduced number of point double and addition operations, and optimal width NAF representation). Based on these optimized modular and point arithmetic modules, we propose an ECDSA verification engine that can be used by any application for fast verification of ECDSA signatures. We further optimize our ECDSA verification engine for Hyperledger Fabric (one of the most widely used permissioned blockchain platforms) by moving carefully selected operations to a precomputation block, thus simplifying the critical path of ECDSA signature verification. From our implementation on Xilinx Alveo U250 accelerator board with target frequency of 250MHz, our ECDSA verification engine can perform a single verification in $760\mu s$ resulting in a throughput of 1,315 verifications per second, which is ~2.5x faster than state-of-the-art FPGA-based implementations. Our Hyperledger Fabric-specific ECDSA engine can perform a single verification in $368\mu s$ with a throughput of 2,717 verifications per second.
翻译:随着企业采用链链技术,许多真实世界应用程序已经开发,并使用特许的链链平台部署(网络接入被控制,只有已知身份的节点才能使用);这些链链平台严重依赖加密,以提供网络内部的信任层,因此对加密签名的核查往往成为瓶颈;Elliptic Curve Digal Talit Alogorithm(ECDSA)是特许链中最常用的密码系统。在本文件中,我们提议在经许可的链链链中高效实施ECDSA 签名核查,以便改进经许可的网链的性能,以便使用基于FPGA的硬件连接,目的是使用基于FPGA的硬件端端端端硬件的硬件加速器;我们提议对模块算术(例如,定制的倍增量和增量操作数量减少,以及最佳宽度的NAFAFFA代表度)进行若干优化。基于这些最优化的模块和点的ECDSA的SDA核查引擎,在EDSA的快速核查中,通过经认证的S-clental-ral-ral liflifal IMA的Seral IM A IM IM 进行一个由经过最优化的Slical IM IM IMA IM IM IM SA 的Serviolal 的单个的Seral SA SA SA SA 的单一的SU SA SA SA 校验算。