Blitz — A digital-signature verification engine for the NEXA software

Blitz is an FPGA-based accelerator card designed to speed up computationally demanding tasks while saving time and energy. In the cryptocurrency industry the principal use of hardware acceleration has been in Proof-of-Work mining. Blitz is part of a new generation of hardware intended to accelerate intensive parts of transaction and block processing done by the full-node decentralized network. This technology will enable faster transactions at greater volumes.

Blitz is a small but powerful card that fits into your computer’s M.2 slot or connects via USB. It’s designed to handle specific tasks faster than general-purpose CPUs by leveraging FPGA (field-programmable gate array) technology. Blitz acts as a digital-signature verification engine for Nexa software. This makes it perfect for blockchain applications where speed and efficiency are critical. It fits into any standard 22x60mm M.2 slot with B+M keying. Can also connect to your computer via USB using a dev-adapter (ideal for research and development).

CPUs are built to handle many tasks but often leave transistors idle during repetitive processes. Blitz is specialized hardware, built specifically for digital signature verification. It uses only the necessary transistors, saving energy and working faster. FPGAs are different from regular processors. Instead of writing software, you design a circuit using a hardware description language like Verilog. This circuit runs directly on the FPGA, making it highly efficient for specific tasks.

Blitz uses Titanium series FPGAs from Efinix, a trusted name in the industry. These chips are powerful, flexible, and ideal for developers building custom solutions. Learn more about Efinix Titanium. Blitz isn’t just a high-speed accelerator. It’s also a low-cost development kit for those learning FPGA programming or building custom solutions. Nexa will release tutorials for blockchain developers soon, but there are many resources online to get started now.

High-bandwidth production interface: PCIe3x1 at 8 Gbps.

USB-to-FTDI interface: A FT4232 chip allows debugging, managing FPGA bitstreams, and simple serial communication.

Blitz installs as four interfaces on your computer:

One high-bandwidth interface in the Linux device tree.

Three FTDI interfaces (USB-to-JTAG and two serial ports).

Nexa believes in open protocols and education. Reference circuits will be open-source for learning purposes, but lower-level details like Gerber files remain proprietary for now. If you need to restore Blitz to its original functionality, you can download the factory bitstream from the Blitz repository. Each device has a unique decryption key for secure updates. Blitz is more than an accelerator card. It’s a gateway to faster blockchain operations, cutting-edge development, and a new way to approach computational challenges. Whether you’re using it for digital signature verification or diving into FPGA programming, Blitz is built for the future.

What is Blitz? Learn about Blitz - a digital-signature verification engine for the NEXA software

Q & A

What is Blitz?

Blitz is an FPGA-based accelerator card. Your computer can offload computationally expensive tasks to the card to save time and energy.

What does Blitz do out-of-the-box?

It acts as a digital-signature verification engine for the Nexa software.

Where do I put Blitz?

Blitz is a standard 22x60mm M.2 accelerator card with B+M keying. It fits into any compatible M.2 slot on your motherboard or expansion card.

Alternatively, Blitz can be connected to the computer with a USB cable via the dev-adapter. However, its functionality is limited to research and development in this configuration.

How is it possible that Blitz can verify digital signatures faster than my CPU?

Modern CPUs contain billions of transistors and are designed to be highly flexible in the types of computations they can perform. This complexity is wasted on repetitive tasks like digital signature verification: millions of transistors are sitting idle consuming energy, while the computations are carried out across general-purpose data paths in the chip. The circuit inside Blitz was built from the ground up specifically for digital signature verification. Only the transistors needed to perform this computation are active, and the data paths are laid out in hardware to allow the computation to proceed as quickly as possible. Blitz is faster and more efficient for the same reason that Bitcoin mining ASICs outperform CPU miners.

What is an FPGA?

FPGA stands for “field-programmable gate array.” A field-programmable gate array is very different from a processor. For example, the software you write for a processor gets compiled into the processor’s native instruction set, and then the processor executes those instructions to carry out your program. When using an FPGA, you do not write software; instead, you describe a digital logic circuit using a hardware description language such as Verilog. This description is not compiled but rather synthesized within the FPGA chip into a working physical implementation of your circuit.

Which FPGA does Blitz use?

Blitz uses the Titanium series FPGAs from Efinix (Titanium FPGAs | Efinix, Inc.).

Where can I learn more about developing for FPGA?

We are planning to publish a series of FPGA development tutorials aimed at use cases of interest to cryptocurrency developers. In the meantime, a quick Google search will lead you to many resources that will help you get started.

Over which interfaces can Blitz communicate?

Blitz supports two interfaces: a high-bandwidth interface for production use and a USB-to-FTDI chip interface for research and development.

What is the high-bandwidth interface?

PCIe3x1 at 8 Gbps.

What is the USB-to-FTDI chip interface?

Soldered onto the card is an FT4232 chip from FTDI. This chip serves three purposes: debugging, managing FPGA bitstreams, and providing a simple serial-port-like link to the FPGA fabric.

How does Blitz appear to my computer?

Blitz installs with 4 interfaces: the main high-bandwidth interface appears as a device in the Linux device tree. The FTDI interface appears as three separate devices: a USB-to-JTAG bridge that looks like an Efinix development kit, and two serial ports (/dev/ttyS* devices).

Can I load a different bitstream to Blitz?

Yes, Blitz is also a low-cost FPGA development kit that can be used as a research-and-development tool. Using the FTDI JTAG interface, developers have full access to the FPGA and can develop their own bitstreams using the free toolchain from Efinix.

How do I restore the factory bitstream?

The original bitstream can be downloaded in encrypted form from the Blitz repo and reloaded back onto your accelerator card. There is a decryption key within each Blitz device that allows your FPGA to decode this bitstream. This also allows Nexa to release updates and improvements while maintaining control of our private property.

Are the Verilog descriptions of the hardware circuits open-source?

Yes and no. Reference implementations for all circuits will be made open-source. However, the purpose of these reference circuits is educational. The reference implementations are written to be as clear and simple as possible, rather than to perform in some optimal manner. Our vision at Nexa is open protocols, simple open-source reference implementations, and a competitive market for the best implementations.

Will the hardware be made open-source?

The I/O connections between the FPGA and the external circuitry will be made open-source so that developers can easily create new applications for Blitz. However, the lower-level circuit details, bill of materials, and Gerber files will remain closed-source at this time.

6 Likes
2 Likes