Security layers: or qualifying security & decentralization
A lot of my content is about revolutionary execution layers — and I couldn’t be more excited for StarkNet and zkSync 2.0. The smart contract industry will be ready for global scale adoption within the next year or so thanks to smart contract volitions.
But I’ve run out of things to say about them, and I realized I have never really addressed what makes a security layer tick. Just to clarify, I’m just talking about security and verification — not data availability here. It’s all about a highly secure, widely decentralized, battle-tested and resilient layer for rollups, volitions and validiums (and whatever future innovations execution-exclusive layers bring) to settle on. The chief reason I haven’t talked about it is because it’s a very boring space with only two projects even focusing on these — all other monolithic chains are focused on execution while sacrificing various degrees of security and decentralization. This is a more opinionated piece than usual, because security and decentralization are hard to quantify. So, here, I’ll try to qualify them. It’ll be by order of importance.
A culture of users verifying
The single most important thing (in my opinion, just like everything else here) is a culture of end users, developers, wallets, exchanges, infrastructure providers, and other ecosystem participants running non-validating full nodes.
There are multiple ways this can be done:
- First of all, stay within limits — prioritize the ease of running nodes over scalability.
- Efficient clients with better ways to sync and store data.
- Cryptographic solutions like statelessness and state expiry.
Currently, Bitcoin remains the easiest major network to verify — anyone can run a node on a modern laptop. Ethereum is right on the ragged edge, though it’s possible with some smart hardware choices (i.e. focus on SSD). The culture remains and statelessness & state expiry are top priorities that’d make Ethereum the top contender when it comes to ease of running nodes. In the short term, we’ll get efficient light clients post-Merge for some relief. These are the only two projects I’m aware of focused on security & decentralization.
I’ll explain later why this is so crucial — but make no mistake — if a network doesn’t let users run their own nodes, it’s not a permissionless network. You’re just replacing governments and bankers with a limited validator set.
A wide token distribution
Particularly for proof-of-stake networks, a wide token distribution is absolutely critical. Currently, I don’t think any network’s token distribution is sufficiently decentralized, though once again bitcoin and ether are leagues ahead, with litecoin a very distant third. Some of the newer projects like Solana or Avalanche are laughably centralized — I’d rather trust a reputable bank. Now, some may argue that they’ll eventually be decentralized, but there’s no actual method to decentralize. Indeed, their delegated-style consensus mechanisms with staking rewards actively disincentivize it. The larger the number and diversity of participants around the world, the more resilient the network will be.
Long term, as Ethereum shifts to proof-of-stake, Bitcoin has the best mechanisms to achieve wide decentralization.
These are the two most critical components to a security layer. If you don’t tick off these two boxes, you’re immediately disqualified. The next few points are also important, but not critical:
While this can be quantified, as Justin Drake discusses in his must-watch Bankless Trilogy, it’s trickier than it first appears. For now, we could define this as the cost to attack a network. For proof-of-work networks, it’s all about how much it’ll cost you to acquire 51% hashpower. This could be through renting hashpower, acquiring ASICs etc. This could also be estimated from the going rates for renting hashpower and multiplying it by hashrate required for 51%. This is a hypothetical extrapolation, but according to crypto51.app, currently Ethereum is #1, Bitcoin #2, and everything else a country mile behind. Of course, you can’t actually do this, and the real costs are hard to figure out. For proof-of-stake, this becomes complicated very quickly due to the many differences and nuances with consensus mechanisms. Speaking of…
Secure consensus mechanisms
Unpopular opinion, but I believe the consensus mechanism is the least important aspect to a security chain. It’s much more important to accomplish a culture of users verifying and a wide token distribution first. The nuances of consensus mechanisms become irrelevant if those criteria are not met.
This is because validators provide a service to the network — it’s the users running nodes that get to enforce consensus rules. If you have a large base of users verifying, it becomes a significant deterrent to validators, and even if there’s an attack it’s guaranteed to be thwarted or worst case short-lived.
But the nuances of consensus mechanisms do matter. For example, a non-delegation consensus mechanism like Ethereum or Algorand has superior properties to one with in-protocol delegation where validators are plutocratically elected. This is a dystopian view where the whales will dictate the security of the network, while apathetic stakeholders couldn’t care less — they just want the staking rewards, or more accurately, the “pre-bribes”. Of course, if the token distribution was adequately decentralized, it’s not much of an issue — once again pointing out that the wide token distribution is actually what’s critical. Now, of course, one would argue that delegation pools will be built on top of non-delegated “true” proof-of-stake anyway, but even these have superior properties. For example, Rocket Pool and SSV have automated, randomized systems which sidestep the plutocratic election entirely and eliminate the bribery and cabalization attack vectors of a delegated-type mechanism. Finally, the option to run a validator permissionlessly without canvassing delegation/permission from whales is priceless.
There are many other nuances to consider: For example, typical BFT delegated-type consensus mechanisms shut down with a 33% attack, while the Beacon Chain or proof-of-work chains can remain live till 50%; slashing/blacklisting act as deterrents and enable a more graceful recovery from most attacks; secret leaders; fast finality etc. Finally, there’s the strength of the community in social coordination and recover in the edge scenario of a successful attack.
I have wasted a lot of words here to say — there’s a lot to consensus mechanisms, but these nuances are not that important. Even a substandard delegated-style consensus mechanism with only 1,000 validators will be acceptable if it has millions of users verifying and the token is distributed among a billion participants.
There are two other things that are just as important, but don’t really fit in the above schema.
Lindy and network effects, decentralized development, ecosystem support
A battle-tested, resilient network with a token with strong monetary premium and thousands of developers building are desirable characteristics for a security chain. Once again, Bitcoin reigns, but Ethereum is catching up. In one aspect — developer adoption, multi-client development — Ethereum is far ahead of any other network. A multi-client network is significantly more resilient than a single-client network with one team building the only client. Of course, it could be argued that instead of distributing human resources to multiple clients it may be better to build one perfect client.
If you have considered everything I have discussed here, you’d come away with the conclusion that there are only two competitive security chains in the blockchain industry — Bitcoin & Ethereum. Unfortunately, this is where Bitcoin is totally useless as it doesn’t have the functionality to verify zero-knowledge proofs. No one’s even talking about it, whereas for me it’s the no-brainer, most impactful upgrade Bitcoin can make, far more so than Taproot.
Ethereum does have the capability to verify zk-SN(T)ARKs. EIP-1679 certainly helped, but the EVM is still very unfriendly to ZKP verification. Now, I’m not knowledgeable enough about ZKP cryptography to don’t understand the details, but certain precompiles would make things much easier for zkRs, validiums and volitions to settle on Ethereum — especially STARKs. Fortunately, execution layer developers like Matter Labs, Aztec and StarkWare have proven to be incredibly inventive, very effectively circumventing the EVM limitations. But there’s room for improvement for maximum efficiency, and I hope core researchers and developers implement the relevant precompiles and opcodes required after The Merge is done as Ethereum becomes increasingly rollup-centric. Of course, I understand the semi-ossified nature of the EVM makes it difficult to implement major changes — a showerthought I have is building a new VM with its own shard from scratch that’s dedicated to ZKP verification or enshrining this functionality in the Beacon Chain. (Through realistically, the execution layer side will focus on withdrawals, post-Merge cleanup and statelessness first.)
Bonus benefit: massive data availability layer
An untold bonanza offered by a competent security layer is the possibility of also featuring a massive data availability layer. Ethereum, for example, is starting off with 64 data shards, scaling up to 1,024 data shards over the years, and with Moore’s Law and Nielsen’s Law possibly scaling up to several GBs/s of data availability. This sort of mind-bending data availability will never be possible with a centralized monolithic blockchain, effectively inverting the blockchain trilemma. I speculate that rollups can scale up to 15 million TPS by the end of the decade, and even more with alternate data availability solutions.
Regrettably, there’s a deafening lack of competition in the security layer space. It’s basically just Ethereum right now, while monolithic blockchains are still focused on execution and scalability. I’d love to see some new projects emerge to tackle the security layer challenge. I have no idea how it can be done, though! The best option seems to be Bitcoin adding functionality to verify ZKPs, but a dark horse may be a global consortium with tech giants releasing a security layer whilst distributing tokens to billions of people. Just thinking out loud. There could also be a revolutionary new security mechanism that obsoletes proof-of-stake. But all of these seem far-fetched.