# Simon : 10+ years builder on Applied ZKP, Cryptography, Blockchain, Linux Kernel and AI Compiler
<!--
TODO :
1. SSA Codegen
-->
# Bio
- Name: Simon
- Email: simonatweb3@gmail.com
- Github : https://github.com/simonatweb3
- Calendly : https://calendly.com/simonatweb3/60min
- Timezone : Vancouver GMT-7 / Hongkong GMT+8 / Open to Relocate
- Interest: Blockchain, Smart Contract, Zero-knowledge Proof, CryptoGraphy, AI Compiler, LLVM/MLIR, Deep Learning, Linux Kernel, Embedded System
# Education
- 2010.09-2013.06 Computer Science Master at [Fudan Univeristy](https://www.topuniversities.com/universities/fudan-university)(QS2024 rank 50)
- 2006.09-2010.07 Computer Science Bachelor at [Tianjin Univeristy](https://www.topuniversities.com/universities/tianjin-university)(QS2024 rank 285)
# Open Source Building
- [Linux Kernel Upstream](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=xinming)
- [AI Compiler for TPU](https://github.com/sophon-ai-algo/sophon-inference)
- [ZK-Rollup Perpetual trading platform](https://www.alphaz.pro/)
- [ZK-Rollup Perpetual smart contract](https://rinkeby.etherscan.io/address/0x942ecd4d3b5e94c9dc0d84ef14eeb61e6154386d#code)
- [ZK-Rollup Spot smart contract](https://etherscan.io/address/0x1e3cfbc5adfd98a5af70ff551b11140e87452172#code)
- [Onchain ZK Game Engine](https://github.com/simonatweb3/zkPoker)
- [ZK-Privacy Voting](https://github.com/simonatweb3/zkSocial)
- [ZK-Privacy NFT](https://github.com/simonatweb3/zkNFT)
# Research
- [DeFROST : ZK-Privacy Threshold Voting](https://hackmd.io/0s84rc5ySyWCysNCRsJ7jw?view) (2023)
- [EAG : ZK-Friendly Elastic Anonymous Group](https://github.com/simonatweb3/merkle-forest) (2022)
- [Analysis on zk verification cost](https://dune.com/frits/zk-verify-pairing)
# Working Experience
## 2021.06- Now : Huobi Lead Engineer (ZK/Blockchain)
- [ZK-Privacy NFT](https://github.com/simonatweb3/zkNFT)
* build zk-circuit, smart contract, prover, sdk frontend, [launch on mainnet](https://mantapacific.pomp.money/)
- [ZK-Privacy Voting](https://github.com/simonatweb3/zkSocial)
* build zk-circuit, smart contract, prover, frontend, [launch on testnet](https://zk-vote-web-two.vercel.app/)
* propose [EAG](https://github.com/simonatweb3/merkle-forest), becoming part of [PSE Semaphore V4](https://github.com/orgs/semaphore-protocol/projects/10/views/3?pane=issue&itemId=15084394)
* propose [DeFrost](https://hackmd.io/0s84rc5ySyWCysNCRsJ7jw?view), best zk privacy proposal for nouns Dao, won 70,000 USDT
- [On chain ZK Game Engine](https://github.com/simonatweb3/zkPoker).
* Build zk-circuit, smart contract, [launch on testnet](https://zkholdem.xyz/)
* Build layer2 zkdapp chain with optmism stack
- [ZK-Perpetual exchange](https://github.com/simonatweb3/zkPerpetual)
* Spot trading platform launch mainnet
* Perpetual trading platform [ready to launch](https://twitter.com/Alphaz_pro)
* Zk-Rollup protocol design
* Community Hackathon/AMA.
## 2018.06- 2021.05 [Bitmain](https://www.bitmain.com/) Lead Engineer (Compiler)
- AI Software Stack
* AI Compiler: Frontend(tensorflow/onnx), compile optimization,operator develop.
* Runtime: User Mode Driver, Kernel Mode Driver
* Lead a team (10+ developer): product delivery, End2End optimization
## 2013.07- 2018.06 [Marvell](https://www.marvell.com/) Linux Kernel [Maintainer](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/MAINTAINERS?id=755abd247a3da273af3b90d1dd31bc61794ae7d7)
- Linux Device Driver ([**MWIFIEX**](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=xinming))
* Maintain Marvell’s IEEE 802.11 wireless chipset in Linux Kernel Upstream and Chromium OS
* Implement WFA protocol and pass certification.
* Integrate with customer platforms such as Google Chromebook, Samsung phone, HP Printer, with desired PCIE/SDIO/USB interface.
# Technical Stack
- Ethereum : Smart Contract, Layer2, ZK-Rollup, ZKEVM
- Compiler : Frontend/Backend,Compile Optimization
- AI: Deep Learning (CNN/RNN), TensorFlow
- Linux Kernel : Driver, Network Protocol,Firmware,Distributed System
- Programming Language: C/C++/Solidity/JavaScript
# More about me
Hi, My name is Simon.
I currently work as a research engineer with a focus on applying Zero-Knowledge Cryptography to Blockchain at Huobi North America. [**Huobi**](https://twitter.com/HuobiGlobal) is one of the world's largest cryptocurrency exchanges, managing assets worth billions of dollars.
Here We exploit privacy and scaling capabilities using zk primitives and build Web3 Decentralized Applications with them. Over the past two years, we've completed several noteworthy projects:
- **On-Chain Gaming** : We developed a fully on-chain card game engine with [**zk shuffle**](https://github.com/simonatweb3/zkPoker) primitive to ensure fairness and prevent cheating. Several products, including the well-known [**zkHoldem**](https://zkholdem.xyz/), have been launched.
- **Anonymous Social** : Our team created a fully on-chain social engine with [**zk group**](https://github.com/simonatweb3/zkNFT) primitives for privacy membership proofs and [**zk signal**](https://github.com/simonatweb3/zkSocial) primitives for private message sending. Notable products include [**Privacy Voting**](https://zk-vote-web-two.vercel.app/) and [**Privacy POMP**](https://mantapacific.pomp.money/)
- **Perpetual/Dex**: We developed a decentralized exchange with [**zk perpetual**](https://github.com/simonatweb3/zkPerpetual) to provide users with self-custody and settle transactions in a trustless manner, the product [**alphaZ trading platform**](https://twitter.com/Alphaz_pro) is ready to launch.
I was part of the research team at Huobi, consisting of PHDs and experienced engineers from North America and Europe. We conducted research on state-of-the-art technology in cryptography, zk, and blockchain, and aimed to align our findings with market demands.
Additionally, I led an engineering team comprising members from North America and China. In this role, I developed prototype software from scratch, including **ZK Circuit**, **Smart Contract**, and SDK. I also established specifications for collaboration among team members from the frontend, backend, design, QA, and managed the team to meet product schedules.
Before my role as an applied cryptography engineer, I worked as an experienced Linux Kernel engineer and Compiler engineer.
I spent five years as a senior **Linux Kernel engineer** at [**Marvell**](https://www.marvell.com/), a world famous Chipset design company located in Silicon Valley, California, USA.
Marvell's Wireless Chipsets are widely used in mobile phones and laptops. We developed software for these chipsets, particularly **Firmware** that runs on the chipsets'embedded rtos systems, implementing the [**IEEE802.11 Specification**]((https://en.wikipedia.org/wiki/IEEE_802.11)) to work seamlessly with other wireless devices. The chipset devices were then registered with a host Linux system, and we had a device driver to facilitate communication between the host system and chipset for sending/receiving network packets.
The Linux Kernel is one of the largest open-source communities globally. Within it, we had a device driver module called "**mwifiex**." At that time, I served as the [**Maintainer**](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/MAINTAINERS?id=755abd247a3da273af3b90d1dd31bc61794ae7d7). We contributed [**Commits**](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=xinming) to the Linux Kernel, utilizing the latest kernel features, introducing new chipsets, supporting new features, and more. Our goal was to ensure our product remained reliably up-to-date with the latest kernel.
I also led an engineering team consisting of members from the USA, India, and China. We provided worldwide customer support for various customized products, including Google Chromebooks using our PCIe chipsets, HP Printers using our USB chipsets, and Samsung phones using our SDIO chipsets.
After a five-year journey in the Linux Kernel Community, I transitioned to the role of a **compiler engineer** at [**Bitmain**](https://www.bitmain.com/). Bitmain is the world's most famous vendor for bitcoin miners and a strong competitor to Nvidia in AI chipsets.
Bitmain's AI accelerator is used for training and inference of large AI models, with an architecture similar to [Google TPU](https://cloud.google.com/tpu). Thousands of processors compute simultaneously under the SIMD programming model, and a fine-grained memory hierarchy is designed to read/store data in a cost-speed trade-off manner.
We developed the end-to-end software stack for the AI accelerator, specially, a compiler that translates AI models into chipset instructions as efficiently as possible.
AI models are usually described as **Data-Flow Graphs (DFGs)** using frameworks like TensorFlow and Caffe. Each node in the graph represents an operation, such as Convolution in a CNN model or LSTM in an RNN model. Each edge is a batch of data with a Shape, called a Tensor. We parsed the graph, performed **graph-level optimization** without any loss of semantic equality in the DFG.
The output instructions aim to utilize all hardware resources as efficiently as possible. We wrote register-level operator code and directly managed processors/memory through **instruction scheduler**, incorporating low-level optimization skills such as parallel computing, memory splitting, pipelining, and operator fusion. Only in this way could we ensure optimal performance.
To leverage existing optimizations in the **LLVM/MLIR** ecosystem, we define an Dialect **Intermediate Representation (IR)** as the bridge between the input/output counterparts, and outlined how to translate Dialect from DFG to IR and **codegen** from IR to Operator Instructions. We using **SSA** to analysis the data flow and control flow so as to **allocate register** and generate code efficently with optimizations like constant folding, DCE(Dead code elimination),and so on.
I led a product delivery team consisting of developers and customer support engineers. We collaborated closely with the Marketing team to meet customer requirements, including companies like Tencent and ByteDance.
As a college student, I got my **master's** degree in computer science at [**Fudan Univeristy**](https://www.topuniversities.com/universities/fudan-university)(QS2024 rank 50) and my **bachlor's** degree at [**Tianjin Univeristy**](https://www.topuniversities.com/universities/tianjin-university)(QS2024 rank 285)