Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Shutter Network

What is Shutter Network?

Shutter Network is a privacy-focused protocol that provides encrypted transaction pools using threshold encryption. The main objective is to protect users from malicious MEV (Miner Extractable Value) attacks such as front-running and sandwich attacks by encrypting transactions until they are included in a block.

The key advantages of Shutter Network are:

  • Protection against MEV attacks: By encrypting transactions, the network prevents malicious actors from exploiting transaction ordering.
  • Threshold encryption: Transactions are only decrypted when enough key holders (keypers) participate, ensuring security and decentralization.
  • Support on Gnosis Chain: Shutter encrypted transaction pools are currently available on Gnosis Chain, with plans for Ethereum support.

Shutter Network is now available only for Gnosis Network and Chiado testnet.

Why Use Shutter?

  • Access to Extra Transactions: Shutterized validators can include shielded transactions not available in the public transaction pool, leading to potentially higher block rewards.
  • User Protection: Help protect users against MEV attacks, improving the fairness of the chain.

How to Run Erigon as a Shutterized Validator

To participate in the Shutter encrypted transaction pool as a validator using Erigon, follow these steps:

  1. Set Up Your Validator

    Deposit your stake and register your validator on Gnosis Chain reby following the Gnosis Chain Validator Setup.

  2. Register as a Shutterized Validator

    Complete the validator registration for Shutter using the tool provided in the Shutter Validator Registration Guide.

  3. Verify Registration

    Use the Erigon CLI command to verify that your registration was successful:

    erigon shutter-validator-reg-check --chain <CHAIN> --el-url <EL_RPC_URL> --validator-info-file <VALIDATOR_INFO_JSON>
    
    • --chain valid values are gnosis or chiado
    • --el-url, in case you are using Erigon default ports is http://localhost:8545
    • <VALIDATOR_INFO_JSON> is the file generated during registration.

    for example:

    erigon shutter-validator-reg-check --chain gnosis --el-url http://localhost:8545 --validator-info-file /path/validatorInfo.json
    
  4. Run Erigon with Shutter Support

    Start Erigon as usual, but add the --shutter flag to enable Shutterized Validator mode:

    erigon --shutter [other options...]
    

    This works with Erigon's internal CL Caplin (enabled by default) or with an external CL client using --externalcl.

Shutter Network Default Ports

The default peering port for Shutter is 23102 (TCP), to change it use --shutter.p2p.listen.port <value>.

Bootstrap nodes are used to help new nodes discover other nodes in the network. By default, the embedded configuration values are used, but these can be overridden with --shutter.p2p.bootstrap.nodes <value>.

Reference Documentation