Re: Oddly I found myself thinking about FPGAs, here are my findings...

tl:dr: There did not appear to be much support for curves for zkp in
hardware, hence the apparent relevance of FPGAs.

-Brent Shambaugh

GitHub: https://github.com/bshambaugh
Website: http://bshambaugh.org/
LinkedIN: https://www.linkedin.com/in/brent-shambaugh-9b91259
Skype: brent.shambaugh
Twitter: https://twitter.com/Brent_Shambaugh
WebID: http://bshambaugh.org/foaf.rdf#me


On Tue, Sep 20, 2022 at 3:32 PM Brent Shambaugh <brent.shambaugh@gmail.com>
wrote:

> As I was studying for my HAM radio general exam, my brain wondered. I
> thought about digital filtering, which led me to
> https://www.youtube.com/watch?v=HJ-C4Incgpw (How to design and implement
> a digital low-pass filter on an Arduino).
> Realizing the limitations of this I soon found myself on
> https://www.youtube.com/watch?v=vVjWFFclU6I (Implementing Digital Signal
> Processing on the FPGA of a FlexRIO).
>
> Naturally the next morning this led to exploration of
> https://identity.foundation/bbs-signature/draft-looker-cfrg-bbs-signatures.html#name-bls12-381-ciphersuites
> and discovery of
> https://www.youtube.com/watch?v=vCG5_nxm2G4 (MeganWachs - Keynote RISC-V
> and FPGAs: Open Source Hardware Hacking) which led to
> https://github.com/riscv/riscv-crypto and
>
> https://riscv.org/wp-content/uploads/2017/12/Wed-1354-RISCV-CryptoExtensions-RichardNewell.pdf
> and https://www.youtube.com/watch?v=-HVRjbxWF-I (A Guide to the RISC V
> Cryptography Extension).
>
> I also found bls12_381 on an FPGA:
> https://dspace.mit.edu/bitstream/handle/1721.1/138122/Paper_PrePrint_Version.pdf
> (done on an in-house FPGA)
>
> This bls12_381 on FPGAs also led to discovery of work by the ZCash
> Foundation:
> https://github.com/ZcashFoundation/zcash-fpga/tree/master/zcash_fpga/src/rtl/bls12_381
> . Apparently this was done on AWS FPGAs.
>
> I discovered the Tang Nano 9K FPGA Development Board GOWIN GW1NR-9 RISC-V
> HDMI kit . Realizing they were inexpensive, I grabbed two imagining IIW. I
> also recalled my time at the
> Virtual Silicon Salon (https://www.siliconsalon.info/) and remembered
> that hardware was slow, and
> IIRC BLS signatures used for selective disclosure are not yet available in
> hardware.
> I've never worked with FPGAs before. I discovered what I found is like the
> Ice40 (unfortunately hard to find at the moment), but it did lead me to
> some good resources.
>
> ice40 playlist:
> https://www.youtube.com/watch?v=DwxBkYhor80
> https://www.youtube.com/watch?v=UlgJ7TRU1KI
> https://www.youtube.com/watch?v=6UgVUExXlvg
> https://www.youtube.com/watch?v=dTL0qrzme4
> (I found that this was still available, later in exploration:
> https://tinyvision.ai/) --- ditto for tinyFPGA (https://tinyfpga.com/)
>
>
> Tang Nano from Gowin Semi:
> https://github.com/gowinsemi  (Github)
> https://www.youtube.com/channel/UC0VdsHXVKAaMkFVyBzVLVIQ (YouTube)
> https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html (Wiki)
> https://www.youtube.com/watch?v=WKB04zxLrHA (Tang Nano 9k)
> https://www.youtube.com/watch?v=kyQLtBh6h0U (FPT2020: A Complete Open
> Source Design Flow for Gowin FPGAs)
> https://www.youtube.com/watch?v=Gh9VfCvTWck (2nd Open Source video,
> possibly building on the former)
>
> https://www.bananatronics.org/first-steps-with-the-tang-nano-fpga-development-board/
>
> https://www.cnx-software.com/2022/01/17/tang-nano-9k-fpga-board-can-emulate-picorv32-risc-v-soft-core-with-all-peripherals/
>
>
> General FPGA links:
>
> https://www-electronicayciencia-com.translate.goog/2021/07/tang_nano_fpga.html?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
> https://www.youtube.com/watch?v=gUsHwi4M4xE (EEVblog#496 What is an FPGA?)
> https://fpgatutorial.com/getting-started-with-fpga-development-process/
> https://www.fpga4student.com/p/verilog-project.html
> https://github.com/BrunoLevy/learn-fpga
>

Received on Wednesday, 21 September 2022 03:07:00 UTC