Bitcoin chip (sha256d)
Ghazi Bouselmi's Pages
Here you can find out who I am. Well, also my CV, my publications
LinkedIn : http://www.linkedin.com/in/ghazibouselmi
Common details for the crypto mining chips:
the chips have a common (inter-chip) networking infrastructure, featuring automatic neighbors discovery, DHCP-like automatic address assignment, message routing, automatic root node election
the chips can be connected in large networks (100's of chips)
the chips are designed to be connected (each) to 4 neighbors, one of which can be a main controller (eg. an FPGA)
the network of chips can be connected to the main controller in multiple points, for redundancy
the Bitcoin, Siacoin and Dogecoin chips feature a configurable size of the coinbase & merkle-tree buffers
the chips have a configurable number of redundant hashing cores and coinbase hashers and merkle-tree hashers, and feature an automated self-test upon startup that checks the correct functioning of the previous hashers, their buffers and the main hashing cores, and are able to disable the faulty parts and run with the valid ones (if at all possible)
full software simulation test implemented
Bitcoin, Dogecoin, Siacoin, Kadena and CKB chip prototypes have been implemented on Xilinx Zynq-Ultrascale+ ZCU104 FPGA (Handshake is too large for the available FPGA, and Ergo can't be implemented on FPGAs)
A project analysis for the manufacturing of crypto mining machines (for commercial sales & mining) can be found here 12-07-2022--Project-analysis.pdf (previous versions 06-07-2022--Project-analysis.pdf, 25-06-2022--Project-analysis.pdf)
No source code is provided for these chips. For further information about these chips or for business ideas, please contact me here: ghazi.bousselmi@gmail.com or info@tachchouri-shop.nl
Here are some estimated characteristics for the Bitcoin chip:
This design has been implemented on Xilinx Zynq Ultrascale+ ZCU104, with the following parameters:
1 hashing core
2 coinbase buffers/hashers
2 merkle tree buffers/hashers
coinbase buffer size of 64 bytes
merkle tree buffer size of 32 bytes
a maximum number of networked chips of 8
inter-chip network MTU of 256 bytes
running frequency of 100MHz
The following is a screenshot of Vivado's compilation details.
The following is a demo video of the chip hashing a Bitcoin block header on FPGA (as defined in this C++ header)
The following is a demo video of the chip hashing a Bitcoin block header in software simulation (as defined in the real-life stratum data here)