Seems I’ve been called out by @Mike_Wagner
I’d like to preface everything by stating that exploring the different tradeoffs in the privacy design space is important and it’s good to have multiple projects researching the various approaches that are possible. As Mike stated, I’m an early member of the incognito community and still hold my bag of PRV. I wish success to all projects that earnestly try to give individuals more freedom and privacy.
That being said, Incognito and Secret are closer to direct competitors than Incognito and Railgun for the following reason:
Privacy projects can be broadly categorised into 2 approaches:
- Seperate blockchains/Layer 2s
- Private applications on existing chains/L1s
Incognito and Secret fall into the first category while Railgun falls into the second.
We’ve seen examples of “generation 1” projects from both categories (Zcash and Monero for the seperate blockchains approach, Tornado and CoinJoin for L1s). These generation 1 projects have been limited in functionality, focusing on delivering privacy in a mixing/payments use case but nothing else. Generation 2 projects extend privacy to general usecases, allowing users to interact with DeFi, NFTs and more.
So now this brings us to the various approaches that Secret, Incognito, and Railgun are taking:
Secret network is a ground up private blockchain approach, this allows them to optimise their architecture and cost around privacy. The drawback is that extensive bootstrapping is required to get the ecosystem for the new chain off the ground. The team needs to rebuild the defi primitives that exist on established chains and attract teams to build projects and generate usage on the new chain.
Incognito has an extensive list of bridges to existing chains meaning it can access existing value and bypasses a large chunk of bootstrapping work, however enough value needs to be built up to secure consensus and bridges are notoriously difficult to build with a number of brutal tradeoffs around execution speed, trustlessness, and security.
Railgun is a private smart contract wallet that runs directly on existing chains. This allows it to tap into value on these chains and plug directly in to the existing dapp ecosystem. This removes 90% of bootstrapping work by privatising defi systems with existing momentum. The downside is that running directly on existing chains means that it inherits and needs to work within the trade-offs/constraints of the chain it runs on (eg. Ethereum gas fees randomly spiking to 500 gwei because of a new NFT launch).
There’s also other trade-offs in the cryptographic approaches to privacy that are taken by each protocol (SGX for Secret, RingCT for Incognito, zkSNARKs for Railgun).
Looking at RingCT first: you get probabilistic privacy that’s capped by the number of decoys used in a transaction. This makes it difficult to have transactions with large anonymity sets because the size of a transaction scales with the number of decoys used. The upside is that it has relatively low compute cost to generate a transaction so building wallets on constrained devices such as mobile phones is easier (though verification cost is more expensive than either of the other 2 approaches).
zkSNARKs and SGX based systems have privacy sets that scale directly with the amount of transaction activity in the system meaning on otherwise identical systems they will have stronger privacy than RingCT.
SGX based systems have hyper efficient transaction creation and verification costs, though it achieves this by relying on attested execution environments provisioned by a central party (Intel) which needs to be trusted. Additionally the number of attacks demonstrated against SGX is a vector for compromising the security/privacy of the system.
zkSNARKs have large computational costs to generate transactions, but are cheap to verify and provide the strongest privacy properties of these three approaches. The biggest downside is implementing wallets on smartphones or even low-mid tier laptops is difficult due to the computational power required to generate transactions.