Skip to main content
Log in

Efficient HW/SW partitioning of Halo: FPGA-accelerated recursive proof composition in blockchain

  • Technical Paper
  • Published:
Microsystem Technologies Aims and scope Submit manuscript

Abstract

The blockchain space has seen tremendous innovation and advancement, in the last few years with an explosion of functionality and use cases. However, several challenges naturally arise from the nature of these distributed systems—energy efficiency, privacy, and scalability challenges due to the computational resources required to generate, validate, and store the cryptographic proofs that provide immutable security. New applications of recursive proof composition offer paradigmatic improvements that effectively address these challenges. This paper addresses the practical implementation of these theoretical advances. We demonstrate how HW/SW co-design methods can be algorithmically applied to identify practical hardware optimizations for the cryptographic verification of these zero-knowledge proofs, using Halo as an example. We offer a partitioning methodology of blockchain operations and then discuss the use of the Binary Particle Swarm Optimization (BPSO) algorithm for systemic optimization. To demonstrate our methodology, we implement the Halo algorithm on the Xilinx Zynq-7000 System-on-Chip (SoC). We successfully achieve a considerable speedup of 2.2x, compared to a software-only implementation on a CPU.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Adeli A, Broumandnia A (2018) Image steganalysis using improved particle swarm optimization based feature selection. Appl Intell 48(6):1609–1622

    Article  Google Scholar 

  • Akeela R, Dezfouli B (2018) Software-defined radios: Architecture, state-of-the-art, and challenges. Elsevier Computer Communications, Amsterdam

    Google Scholar 

  • Akeela R, El Ziq Y (2017) Design and Verification of IEEE 802.11ah for IoT and M2M Applications. IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pp 491–496

  • Akeela R, Elziq Y (2019) Efficient co-design partitioning of WLANs on SoC-based SDRs. Microsystem Technologies, pp 1–18

  • Aldweesh A, Alharby M, Mehrnezhad M, Van Moorsel A (2019) Opbench: a CPU performance benchmark for ethereum smart contract operation code. In: 2019 IEEE International Conference on Blockchain (Blockchain), IEEE, pp 274–281

  • Al-Haija QA, Al-Ja’fari M, Smadi M (2016) A comparative study up to 1024 bit Euclid’s GCD algorithm FPGA implementation and synthesizing. 2016 5th International Conference on Electronic Devices. Systems and Applications (ICEDSA), IEEE, pp 1–4

  • Andrade J, George N, Karras K, Novo D, Pratas F, Sousa L, Ienne P, Falcao G, Silva V (2017) Design Space Exploration of LDPC Decoders using High-Level Synthesis. IEEE Access, p 1

  • Arató P, Mann ZÁ, Orbán A (2005) Algorithmic aspects of hardware/software partitioning. ACM Trans Design Autom Electron Syst (TODAES) 10(1):136–156

    Article  Google Scholar 

  • Benjamin Pirus (2020) \$1 trillion is a conservative market cap for Bitcoin, said investment CIO. https://cointelegraph.com/news/1-trillion-is-a-conservative-market-cap-for-bitcoin-said-investment-cio

  • Ben-Sasson E, Chiesa A, Genkin D, Tromer E, Virza M (2013) SNARKs for C: Verifying program executions succinctly and in zero knowledge. In: Annual cryptology conference, Springer, pp 90–108

  • Ben-Sasson E, Chiesa A, Tromer E, Virza M (2014) Succinct non-interactive zero knowledge for a von Neumann architecture. In: 23rd \(\{\)USENIX\(\}\) Security Symposium (\(\{\)USENIX\(\}\) Security 14), pp 781–796

  • Bitcoin (2020) Bitcoin. https://bitcoin.org/

  • Bowe S, Grigg J, Hopwood D (2019) Recursive proof composition without a trusted setup

  • Cardoso JMP, Weinhardt M (2016) High-Level Synthesis. FPGAs for Software Programmers. Springer International Publishing, Cham, pp 23–47

    Google Scholar 

  • Chehida KB, Auguin M (2002) HW / SW partitioning approach for reconfigurable system design. In: Proceedings of the international conference on Compilers, architecture, and synthesis for embedded systems, New York, USA, p 247

  • David Meyer (2018) Blockchain technology is on a collision course with EU privacy law. https://iapp.org/news/a/blockchain-technology-is-on-a-collision-course-with-eu-privacy-law/

  • De Castro ELR, Port AG, Reddy SV (2019) Cryptographic ASIC including circuitry-encoded transformation function. US Patent 10,262,164

  • De Santis A, Micali S, Persiano G (1987) Non-interactive zero-knowledge proof systems. In: Conference on the Theory and Application of Cryptographic Techniques, Springer, pp 52–72

  • Drozdenko B, Zimmermann M, Dao T, Chowdhury K, Leeser M (2017) Hardware-Software Codesign of Wireless Transceivers on Zynq Heterogeneous Systems. IEEE Transactions on Emerging Topics in Computing, p 1

  • Ethereum (2020) Ethereum. https://ethereum.org/

  • Faris H, Mafarja MM, Heidari AA, Aljarah I, Al’M AZ, Mirjalili S, Fujita H (2018) An efficient binary salp swarm algorithm with crossover scheme for feature selection problems. Knowl-Based Syst 154:43–67

    Article  Google Scholar 

  • Groth J (2016) On the size of pairing-based non-interactive arguments. In: Annual international conference on the theory and applications of cryptographic techniques, Springer, pp 305–326

  • Hanselman DC, Littlefield BL (2011) Mastering Matlab. Prentice Hall Press, Upper Saddle River

    Google Scholar 

  • Haupt RL, Ellen Haupt S (2004) Practical genetic algorithms

  • HLS (2020) Vivado high-level synthesis. https://www.xilinx.com/products/design-tools/vivado/esl-design.html

  • Hodge J (2020) Mutabah’s rust compiler. https://github.com/thepowersgang/mrustc

  • Hu X, Zheng X, Zhang S, Cai S, Xiong X (2018) A low hardware consumption elliptic curve cryptographic architecture over GF(p) in embedded application. Electronics 7(7):104

    Article  Google Scholar 

  • IEEE Computer Society (2019) IEEE Computer Society Predicts the Future of Tech: Top 10 Technology Trends for 2019. Tech. rep., https://www.computer.org/web/pressroom/ieee-cs-top-technology-trends-2019

  • Kennedy J, Eberhart R (1995) Particle swarm optimization. In: Proceedings of ICNN’95-International Conference on Neural Networks, IEEE, vol 4, pp 1942–1948

  • Kennedy J, Eberhart RC (1997) A Discrete Binary Version of the Particle Swarm Algorithm. In: 1997 IEEE International conference on systems, man, and cybernetics. Computational cybernetics and simulation, IEEE, vol 5, pp 4104–4108

  • Kong Y, Phillips B (2006) Comparison of Montgomery and Barrett modular multipliers on FPGAs. 2006 Fortieth Asilomar Conference on Signals. Systems and Computers, IEEE, pp 1687–1691

  • Kshetri N, Voas J (2018) Blockchain-enabled e-voting. IEEE Softw 35(4):95–99

    Article  Google Scholar 

  • Lao L, Li Z, Hou S, Xiao B, Guo S, Yang Y (2020) A survey of iot applications in blockchain systems: Architecture, consensus, and traffic modeling. ACM Comput Surv (CSUR) 53(1):1–32

    Article  Google Scholar 

  • Li X, Wu X, Pei X, Yao Z (2019) Tokenization: Open asset protocol on blockchain. In: 2019 IEEE 2nd International Conference on Information and Computer Technologies (ICICT), IEEE, pp 204–209

  • López-Vallejo M, López JC (2003) On the hardware-software partitioning problem. ACM Trans Design Autom Electron Syst 8(3):269–297

    Article  Google Scholar 

  • MATLAB (2020) MATLAB - MathWorks. https://www.mathworks.com/products/matlab.html

  • McKinsey Digital (2018) Blockchain beyond the hype: What is the strategic business value? Tech. rep., https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/blockchain-beyond-the-hype-what-is-the-strategic-business-value

  • Monrat AA, Schelén O, Andersson K (2019) A survey of blockchain from the perspectives of applications, challenges, and opportunities. IEEE Access 7:117134–117151

    Article  Google Scholar 

  • Morishima S, Matsutani H (2018) Accelerating blockchain search of full nodes using gpus. 2018 26th Euromicro International Conference on Parallel. Distributed and Network-based Processing (PDP), IEEE, pp 244–248

  • Mousouliotis PG, Petrou LP (2019) Software-defined FPGA accelerator design for mobile deep learning applications. arXiv preprint arXiv:190203192

  • Parno B, Howell J, Gentry C, Raykova M (2013) Pinocchio: Nearly practical verifiable computation. In: 2013 IEEE Symposium on Security and Privacy, IEEE, pp 238–252

  • Pellegrini R, Serani A, Leotardi C, Iemma U, Campana EF, Diez M (2017) Formulation and parameter selection of multi-objective deterministic particle swarm for simulation-based optimization. Appl Soft Comput 58:714–731

    Article  Google Scholar 

  • Ray PP, Dash D, Salah K, Kumar N (2020) Blockchain for IoT-Based Healthcare: background, consensus, platforms, and use cases. IEEE Syst J

  • Saha D, Sur-Kolay S (2011) Secure public verification of IP marks in FPGA design through a zero-knowledge protocol. IEEE Trans Very Large Scale Integr (VLSI) Syst 20(10):1749–1757

    Article  Google Scholar 

  • Sapienza G, Crnkovic I, Potena P (2014) Architectural Decisions for HW/SW Partitioning Based on Multiple Extra-Functional Properties. In: IEEE/IFIP Conference on Software Architecture, pp 175–184, https://doi.org/10.1109/WICSA.2014.19

  • Sghaier A, Zeghid M, Massoud C, Mahchout M (2017) Design and implementation of low area/power elliptic curve digital signature hardware core. Electronics 6(2):46

    Article  Google Scholar 

  • Shi Y, et al (2001) Particle swarm optimization: developments, applications and resources. In: Proceedings of the 2001 congress on evolutionary computation (IEEE Cat. No. 01TH8546), IEEE, vol 1, pp 81–86

  • Teich J (2012) Hardware/Software Co-design: the past, the present, and predicting the future. Proceedings of the IEEE 100(Special Centennial Issue), pp 1411–1430

  • Tessier R, Pocek K, DeHon A (2015) Design and implementation of low area/power elliptic curve digital signature hardware core. Proc IEEE 103(3):332–354

    Article  Google Scholar 

  • Venieris SI, Bouganis CS (2016) fpgaconvnet: A framework for mapping convolutional neural networks on fpgas. In: 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp 40–47

  • Vitis (2020) Vitis Unified Software Platform. https://www.xilinx.com/products/design-tools/vitis/vitis-platform.html

  • Vliegen J, Mentens N, Genoe J, Braeken A, Kubera S, Touhafi A, Verbauwhede I (2010) A compact FPGA-based architecture for elliptic curve cryptography over prime fields. ASAP 2010–21st IEEE International Conference on Application-specific Systems. Architectures and Processors, IEEE, pp 313–316

  • Weimerskirch A, Paar C (2006) Generalizations of the Karatsuba algorithm for efficient implementations. IACR Cryptol ePrint Arch 2006:224

    Google Scholar 

  • Win (2015) High-level language tools for reconfigurable computing. Proceedings of the IEEE 103(3)

  • Xilinx (2017) Xilinx - All Programmable. https://www.xilinx.com/

  • Zcash (2020) Halo (prototype). https://github.com/ebfull/haloe

  • Zcash (2020) Zcash. https://z.cash/

  • Zhang J, Liu L (2017) Publicly verifiable watermarking for intellectual property protection in FPGA design. IEEE Trans Very Large Scale Integr (VLSI) Syst 25(4):1520–1527

    Article  Google Scholar 

  • Zhang J, Lin Y, Lyu Y, Wang X, (2013) A chaotic-based publicly veriable FPGA IP watermark detection scheme. Sci Sin Inf 43(9):1096–1110

    Article  Google Scholar 

  • Zhou L, Liu Q, Wang B, Yang P, Li X, Zhang J (2017) Remote system update for system on programmable chip based on controller area network. Electronics 6(2):45

    Article  Google Scholar 

  • Zhuo L, Prasanna VK (2007) Hardware/Software Co-Design for Matrix Computations on Reconfigurable Computing Systems. In: 2007 IEEE International Parallel and Distributed Processing Symposium, pp 1–10

Download references

Acknowledgements

This work was conducted in collaboration with the Decentralized Consensus (Blockchain Engineering) Group at Insight.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rami Akeela.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Akeela, R., Krawiec-Thayer, M.P. Efficient HW/SW partitioning of Halo: FPGA-accelerated recursive proof composition in blockchain. Microsyst Technol 27, 3559–3569 (2021). https://doi.org/10.1007/s00542-020-05138-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00542-020-05138-4

Navigation