A blockchain-focused research, advisory, and investment group.
A blockchain-focused research, advisory, and investment group.
Share Dialog
Share Dialog



Subscribe to Nox Holdings

Subscribe to Nox Holdings
<100 subscribers
<100 subscribers
TNFA. DYOR. The views expressed in this piece are views of our own, and does not constitute investment advice.
Zero-knowledge proofs (“ZKPs”) gained significant attention recently thanks to excitement surrounding zk-rollups and zkEVMs. We are happy to see that zero-knowledge (“ZK”) is finally getting the attention it deserves - but some of the recognition is misplaced. We first learned about ZK as a cryptographic primitive in 2019 having read Vitalik Buterin’s publication “PLONK.” Through his writing, you can sense his excitement for this new general-purpose ZKP scheme. We didn’t think too much about it at first, at least not until we came across a project called Coda Protocol which later rebranded to Mina Protocol (“Mina”).
ZKPs involve advanced cryptographic and mathematics. Developing a ZKP program requires extensive knowledge in elliptic curve cryptography, finite fields and polynomial commitments. The brilliant minds behind Zcash (the successor of Zerocoin and Zerocash, privacy-preserving versions of Bitcoin) have this knowledge. Zcash is an early ZK project that showcased the potential of ZKPs in a blockchain setting, showing that ZK and blockchains can be complementary. Zcash uses ZKPs to enable private transactions. These private transactions appear on the blockchain because the market needs to know that transaction fees were paid for. However, the addresses, transaction amount and memo field are encrypted and not publicly visible. This is possible through the use of ZKPs (Zk-SNARKs), which produce proofs that support the validity of these private transactions so one can know the transacting parties aren’t cheating the system (double-spending or sending blank cheques, etc.). In the event the transacting parties need to share transaction details (ie. for auditing, compliance reasons), they can decrypt transaction details with a viewing key. Zcash’s use of ZKP is elegant because it demonstrates that privacy is achievable without compromising decentralization and security. However, Zcash is not the most compliance-friendly.
Enter Mina, a Layer-1 blockchain that uses recursive zk-SNARKs to make its blockchain (ledger) small in size (at a constant state of less than 22KB). The latest block on Mina is a proof of all past transactions and blocks which is confirmed via a top-down approach. Traditional blockchains observe chains of blocks laying horizontally / side-by-side. Mina analyzes blocks by observing the latest block from the top. The block you see at the top is the latest block and it contains a validity proof of all previous blocks. By keeping the blockchain lightweight and in constant size, Mina overcomes centralization concerns since the hardware requirement to secure the network does not increase with the size of the blockchain (Ethereum and Bitcoin’s ledger size is constantly growing with each new block added to the blockchain).

ZK programmability on Mina is also worth noting. Mina developed SnarkyJS, a Typescript-based library, that reduces the complexity of creating zk-powered applications. Millions of Typescript and Javascript developers can pick up SnarkyJS and start writing zk-powered smart contracts (which is referred to as zkApps). This is groundbreaking for a multitude of reasons, the most important of which are:
SnarkyJS is the first production-ready ZK smart contract language and can go on to become the standard smart contract language for ZK, just as Solidity is to the EVM ecosystem.
Implementations of ZKPs no longer have to be purpose-built. Instead, Mina can house a dynamic collection of zkApps that are natively on the blockchain and distinct from other ecosystems. Because of Mina’s lightweight design and off-chain nature of Mina’s zkApps smart contract computations, it's easy for other chains to use Mina’s proof systems. Teams are building a fully trustless bridge that connects Mina and Ethereum (funded by Mina and Ethereum Foundation), and others can build upon the progress made on this to further build trustless bridges between different chains. After years of development and stress-testing on the quality assurance network (Berkeley QANet), zkApps are ready to go into production. This will be rolled out through a hard fork upgrade in the coming weeks/months. Stay tuned.
There is a lot more to Mina than meets the eye, and it's worth noting a few more of Mina’s interesting capabilities:
In-browser Mina node capable of validating blocks: Rust implementation of Mina node that runs inside the browser, providing the ability for users on browser and mobile to verify state and transactions without having to trust a third party (Farewell, Infura!). This can make “blockchain in everyone’s pocket” a reality.
Recursive Rollups SDK: a framework for building and deploying general-purpose or application-specific rollups (zkApp-chains) on top of Mina. Add a bit of flare and it will also enable trustless interoperability between Mina’s rollup ecosystem and those of other networks (existing bridges connecting L2 ecosystems require liquidity stored on both sides of the bridge and are vulnerable to hacks).
Universal Multi-Sig: Deriving a Mina private key and private keys for other chains with it in ZK. This will enable users to trustlessly self-custody their own assets across different blockchain networks from Mina (Farewell, Ledger!)
zkOracles: An MPC + ZK protocol for trust-minimized oracles of Web2 data via HTTPs, with optional primitives for preserving the privacy of that data. In layman terms, ZKOracles can act as a notary that helps users bring Web2 data in an encrypted manner into Web3. For example, if your bank doesn’t support direct authentication with Mina, you can instead create a ZKP of your bank balance via HTTPs to get a loan on-chain.
Finally, in line with our general investing thesis, let's focus on some commercial use cases of zkApps to demonstrate how they can be used to transform the current state of Web3 and even make Web2 better.
Private-compliant stablecoin: dual stablecoin system where stablecoins are first issued (by an issuer) and deposited into a transparent stablecoin account (KYC’d). The balance in the transparent stablecoin account can already be spent compliantly or withdrawn to your private stablecoin account (similar to an ATM withdrawal), where users can enjoy cash-like private transactions until specific monetary limits are met (i.e. travel rules).
Verifiable and ownable machine learning: 1) deriving assurance that the machine learning model some entity claims has been run is indeed the one that ran; 2) ensuring that the same machine learning algorithm is being run on different users’ data the same way; 3) integrate attestations from external verified parties into a model or any other kind of smart contract running on-chain; and 4) decentralized inference or training, allowing people to submit data to a public model.
Auction markets: private submission of transactions allows for blind bidding systems that prevent bids from being undercut. Combine blind bids with ZK-rollups (to achieve low-latency) then you get an MEV resistant central limit order book.
Identity and authentication: verify that someone is a unique person without compromising their privacy through encrypted methods of verification and by generating verifiable credentials (i.e., biometric scanning or sovereign ID submission).
Supply chain management: establish the provenance and authenticity of goods in a supply chain without revealing sensitive and competitive information about the suppliers or the supply chain itself.
Data collaboration platforms: Web3 equivalent of cookies that grant users full control over their own Web2 & Web3 digital footprints, including the ability to monetize data through selective sharing with companies for research, analytics and marketing purposes. On the flip side, companies can also enjoy reduced ad fraud through proof of human (improved margins) measures, access improved data accuracy and comfortably navigate increasingly stringent privacy rules. Another potential use case is improving reproducibility in basic biotech research by removing the siloing of data and results, enabling co-development by allowing participants to share, trade validated data, IP, protocols and targets without revealing sensitive information.
There is still a lot of work to be done for the widespread adoption of ZKP, but to us, Mina represents a massive growth opportunity. We are closely monitoring specialized hardware for proof generation (FPGA, GPU, ASIC). Development is rapid in this field, and significant progress will lift a major bottleneck in ZKP, much like Bitcoin ASIC miners did for the mining industry. The path forward is not a straight one (not surprising because ZKP is not your everyday 8th grade science project), but the future is incredibly bright. Mina could very well be a diamond in the rough.
TNFA. DYOR. The views expressed in this piece are views of our own, and does not constitute investment advice.
Zero-knowledge proofs (“ZKPs”) gained significant attention recently thanks to excitement surrounding zk-rollups and zkEVMs. We are happy to see that zero-knowledge (“ZK”) is finally getting the attention it deserves - but some of the recognition is misplaced. We first learned about ZK as a cryptographic primitive in 2019 having read Vitalik Buterin’s publication “PLONK.” Through his writing, you can sense his excitement for this new general-purpose ZKP scheme. We didn’t think too much about it at first, at least not until we came across a project called Coda Protocol which later rebranded to Mina Protocol (“Mina”).
ZKPs involve advanced cryptographic and mathematics. Developing a ZKP program requires extensive knowledge in elliptic curve cryptography, finite fields and polynomial commitments. The brilliant minds behind Zcash (the successor of Zerocoin and Zerocash, privacy-preserving versions of Bitcoin) have this knowledge. Zcash is an early ZK project that showcased the potential of ZKPs in a blockchain setting, showing that ZK and blockchains can be complementary. Zcash uses ZKPs to enable private transactions. These private transactions appear on the blockchain because the market needs to know that transaction fees were paid for. However, the addresses, transaction amount and memo field are encrypted and not publicly visible. This is possible through the use of ZKPs (Zk-SNARKs), which produce proofs that support the validity of these private transactions so one can know the transacting parties aren’t cheating the system (double-spending or sending blank cheques, etc.). In the event the transacting parties need to share transaction details (ie. for auditing, compliance reasons), they can decrypt transaction details with a viewing key. Zcash’s use of ZKP is elegant because it demonstrates that privacy is achievable without compromising decentralization and security. However, Zcash is not the most compliance-friendly.
Enter Mina, a Layer-1 blockchain that uses recursive zk-SNARKs to make its blockchain (ledger) small in size (at a constant state of less than 22KB). The latest block on Mina is a proof of all past transactions and blocks which is confirmed via a top-down approach. Traditional blockchains observe chains of blocks laying horizontally / side-by-side. Mina analyzes blocks by observing the latest block from the top. The block you see at the top is the latest block and it contains a validity proof of all previous blocks. By keeping the blockchain lightweight and in constant size, Mina overcomes centralization concerns since the hardware requirement to secure the network does not increase with the size of the blockchain (Ethereum and Bitcoin’s ledger size is constantly growing with each new block added to the blockchain).

ZK programmability on Mina is also worth noting. Mina developed SnarkyJS, a Typescript-based library, that reduces the complexity of creating zk-powered applications. Millions of Typescript and Javascript developers can pick up SnarkyJS and start writing zk-powered smart contracts (which is referred to as zkApps). This is groundbreaking for a multitude of reasons, the most important of which are:
SnarkyJS is the first production-ready ZK smart contract language and can go on to become the standard smart contract language for ZK, just as Solidity is to the EVM ecosystem.
Implementations of ZKPs no longer have to be purpose-built. Instead, Mina can house a dynamic collection of zkApps that are natively on the blockchain and distinct from other ecosystems. Because of Mina’s lightweight design and off-chain nature of Mina’s zkApps smart contract computations, it's easy for other chains to use Mina’s proof systems. Teams are building a fully trustless bridge that connects Mina and Ethereum (funded by Mina and Ethereum Foundation), and others can build upon the progress made on this to further build trustless bridges between different chains. After years of development and stress-testing on the quality assurance network (Berkeley QANet), zkApps are ready to go into production. This will be rolled out through a hard fork upgrade in the coming weeks/months. Stay tuned.
There is a lot more to Mina than meets the eye, and it's worth noting a few more of Mina’s interesting capabilities:
In-browser Mina node capable of validating blocks: Rust implementation of Mina node that runs inside the browser, providing the ability for users on browser and mobile to verify state and transactions without having to trust a third party (Farewell, Infura!). This can make “blockchain in everyone’s pocket” a reality.
Recursive Rollups SDK: a framework for building and deploying general-purpose or application-specific rollups (zkApp-chains) on top of Mina. Add a bit of flare and it will also enable trustless interoperability between Mina’s rollup ecosystem and those of other networks (existing bridges connecting L2 ecosystems require liquidity stored on both sides of the bridge and are vulnerable to hacks).
Universal Multi-Sig: Deriving a Mina private key and private keys for other chains with it in ZK. This will enable users to trustlessly self-custody their own assets across different blockchain networks from Mina (Farewell, Ledger!)
zkOracles: An MPC + ZK protocol for trust-minimized oracles of Web2 data via HTTPs, with optional primitives for preserving the privacy of that data. In layman terms, ZKOracles can act as a notary that helps users bring Web2 data in an encrypted manner into Web3. For example, if your bank doesn’t support direct authentication with Mina, you can instead create a ZKP of your bank balance via HTTPs to get a loan on-chain.
Finally, in line with our general investing thesis, let's focus on some commercial use cases of zkApps to demonstrate how they can be used to transform the current state of Web3 and even make Web2 better.
Private-compliant stablecoin: dual stablecoin system where stablecoins are first issued (by an issuer) and deposited into a transparent stablecoin account (KYC’d). The balance in the transparent stablecoin account can already be spent compliantly or withdrawn to your private stablecoin account (similar to an ATM withdrawal), where users can enjoy cash-like private transactions until specific monetary limits are met (i.e. travel rules).
Verifiable and ownable machine learning: 1) deriving assurance that the machine learning model some entity claims has been run is indeed the one that ran; 2) ensuring that the same machine learning algorithm is being run on different users’ data the same way; 3) integrate attestations from external verified parties into a model or any other kind of smart contract running on-chain; and 4) decentralized inference or training, allowing people to submit data to a public model.
Auction markets: private submission of transactions allows for blind bidding systems that prevent bids from being undercut. Combine blind bids with ZK-rollups (to achieve low-latency) then you get an MEV resistant central limit order book.
Identity and authentication: verify that someone is a unique person without compromising their privacy through encrypted methods of verification and by generating verifiable credentials (i.e., biometric scanning or sovereign ID submission).
Supply chain management: establish the provenance and authenticity of goods in a supply chain without revealing sensitive and competitive information about the suppliers or the supply chain itself.
Data collaboration platforms: Web3 equivalent of cookies that grant users full control over their own Web2 & Web3 digital footprints, including the ability to monetize data through selective sharing with companies for research, analytics and marketing purposes. On the flip side, companies can also enjoy reduced ad fraud through proof of human (improved margins) measures, access improved data accuracy and comfortably navigate increasingly stringent privacy rules. Another potential use case is improving reproducibility in basic biotech research by removing the siloing of data and results, enabling co-development by allowing participants to share, trade validated data, IP, protocols and targets without revealing sensitive information.
There is still a lot of work to be done for the widespread adoption of ZKP, but to us, Mina represents a massive growth opportunity. We are closely monitoring specialized hardware for proof generation (FPGA, GPU, ASIC). Development is rapid in this field, and significant progress will lift a major bottleneck in ZKP, much like Bitcoin ASIC miners did for the mining industry. The path forward is not a straight one (not surprising because ZKP is not your everyday 8th grade science project), but the future is incredibly bright. Mina could very well be a diamond in the rough.
No activity yet