A Guide to NFT Platform Security

  • Bridge Security: the security of the mechanism for moving assets to and from Ethereum. This is usually the larger concern, as compromises generally put user funds directly at risk

Ronin

Ronin is a blockchain created by Sky Mavis Labs, which currently exclusively powers Axie Infinity and its ecosystem.

Consensus Security

Ronin is a “sidechain” — a blockchain with its own nodes and consensus mechanism, but one which maintains an official “bridge” to Ethereum. Ronin is a proof-of-authority (POA) chain, with 10 nodes, who stake their reputation on the fact that they won’t abuse their power. This is comparable to an Ethereum test net such as Goerli (20 node POA). If any 5 of these nodes (50%+) were to become malicious or compromised, they would be able to conduct a 51% attack on the network and steal user funds via double spends or other attacks. In general, this is considered to be an extremely low number of nodes (Bitcoin has 15000, and Ethereum has close to 6000), and produces a more centralized network in exchange for faster, cheaper transactions. Additionally, users cannot run their own nodes, and the source code for a Ronin node is not public and therefore cannot be audited by Ronin users.

Bridge Security

Polygon

Polygon currently offers a proof-of-stake Ethereum sidechain (Polygon PoS), and a dedicated NFT services business, Polygon Studios, which supports major projects like Skyweaver and ZED RUN. Polygon is moving towards providing an array of different scaling solutions, most based on zk-rollup technology (discussed later), but currently only Polygon PoS is live as an NFT platform.

Consensus Security

Polygon PoS is a sidechain with a similar basic model to Ronin, except that Polygon is a “commit sidechain”, which periodically commits checkpoints of the chain’s state to Ethereum. There are two main components to Polygon PoS consensus. First, the Bor chain, which is where Polygon transactions actually happen: a rotating subset of block producers is chosen from a larger pool of validators to run a modified proof of authority network, which decides transaction inclusion and ordering. However, only 1 block producer of this subset (see PolygonScan block validators) is then chosen to propose 64 consecutive blocks (a sprint).

The top 7 validators are staking 1,540,761,159 of 2,307,879,127 staked $MATIC (~67%)

Bridge Security

Polygon’s bridge differs from Ronin’s in that the checkpointing system eliminates the need for an independent validator set to sign each deposit and withdrawal. However, this means the security of the bridge is fully reliant on Heimdall and Bor consensus, which is vulnerable to the attack described above.

Immutable

Immutable is a platform for building high-quality, high-scale NFT projects like games. Notable projects building on Immutable include Illuvium, Gods Unchained, Ember Sword and Guild of Guardians.

Consensus Security

Immutable is a zk-rollup, built using StarkWare’s StarkEx prover/verifier system. This means Immutable orders a batch of L2 transactions, generates a STARK proof that those transactions are valid, and submits that proof to an L1 smart contract “verifier” which updates some L1 state (in our case, the root of a merkle tree containing millions of user NFTs/balances). Importantly, this scales substantially better than naively batching transactions, as STARK proof verification costs scale sub-linearly with the number of transactions.

Bridge Security

Rollups use a fundamentally different bridging structure to sidechains because they maintain a verified “state” on L1 which can only be updated with a valid proof. Bridging funds requires this verified state to already include your deposit/withdrawal — there’s no multisig to attack (e.g. Ronin), and no way to add “fake’’ state transitions by compromising validators (e.g. Polygon) — every transaction is verified as if it had happened on L1. This trustless bridging is why rollups are referred to as “L2s’’ — they rely directly on Ethereum’s consensus for their security, rather than a separate consensus mechanism with a trusted bridge.

Solana

Solana operates as a fully independent L1 blockchain, with a deliberate focus on achieving low-cost, high-scale transactions through a custom consensus mechanism.

Consensus Security

Solana currently has more than 1500 active nodes, though it does impose substantial hardware requirements on those nodes to achieve its higher TPS (reducing the ability of individuals to validate transactions, an important tenet of blockchain decentralization). Importantly, a superminority of 20 nodes currently controls >33% of the staked SOL. If these nodes colluded, or were compromised, they would be able to halt the network or arbitrarily censor transactions.

Optimism

Optimism is an Ethereum optimistic rollup developed by Optimism PBC. It hit mainnet in August 2021 for whitelisted projects, and has so far seen limited adoption from NFT projects, though there’s an early community on marketplaces like Quixotic.

Consensus Security

Optimistic rollups work similar to zk-rollups: gather transactions and upload a compressed version of the end state of all these state transitions. However, where zk-rollups provide a “validity proof” with each state transition, optimistic rollup transitions are assumed to be valid unless someone can produce a “fault proof” which shows an invalid transaction taking place. If someone can produce such a proof, they are rewarded and the publisher of the proof is punished. To allow for this challenge to take place, Optimistic rollups require a 1 week dispute time delay before transactions are completely final. This asynchronicity introduces an interesting class of potential economic attacks, and mitigating these is an active research topic.

Bridge Security

Optimistic rollups also provide a trustless bridge to Ethereum. However, because any user could challenge the validity of the batch at any point in the 1 week dispute period, assets which are withdrawn to L1 are locked for at least that period of time. For fungible assets, it is possible to circumvent this lockup using “fast withdrawals” (effectively lending to users on the assumption that the state transition contained no fraudulent transactions). However, as NFTs are unique and can’t be substituted, users must wait the full dispute period (up to a week) before they can move their assets back to L1 Ethereum.

Security Beyond Core Platforms

Having the best core platform security in the world is immaterial if your project’s security is compromised through another mechanism. To truly make informed decisions, NFT projects need to consider a variety of factors beyond consensus and bridge security, including:

  • Metadata Security: how is asset metadata (including images) stored? If this metadata was altered or replaced due to a compromise, what would be the market impact?
  • Project Security: projects on any platform usually retain some admin keys for their project. What would happen if those keys were compromised? Does your project have active monitoring for breaches? Does your platform support best practices for key management?
  • Treasury Security: most platforms will have substantial reserves of their token (e.g. for use in rewards or grants). How are these funds held? How are transfers from the treasury authorized and executed? What would be the impact of a compromise?
  • Marketplace Security: how do marketplaces which support this protocol protect users from malicious transactions like copycat projects?

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Immutable X

Immutable X

Powering the next generation of web3 games on Ethereum L2. https://www.immutable.com/