H1 2025 Web3 Security Report$3.1B in losses, DeFi hit hardest, AI threats on the rise
Read the full report

Audit name:

[L1] COTI | GoEthereum | Feb2025

Date:

Aug 12, 2025

Table of Content

Introduction
Audit Summary
System Overview
Risks
Findings
Appendix 1. Severity Definitions
Appendix 2. Scope
Disclaimer

Want a comprehensive audit report like this?

Introduction

We express our gratitude to the COTI and Soda Labs team for the collaborative engagement that enabled the execution of this Blockchain Protocol Security Assessment.

gcEVM is a solution designed to enhance Ethereum-compatible environments by integrating privacy-preserving features through Secure Multiparty Computation. It ensures encrypted, privacy-preserving computations while supporting seamless integration with existing Ethereum-based applications. Developers can utilize gcEVM to create privacy-focused decentralized applications by leveraging new data types and security measures without compromising performance.

Document

NamegcEVM-Based Blockchain Protocol Review and Security Analysis Report for COTI and Soda Labs
Audited ByNino Lipartiia, Tanuj Soni, Hamza Sajid
Approved ByStepan Chekhovskoi
Websitehttps://www.sodalabs.xyz/
LanguageGolang
TagsGo-Ethereum, EVM, MPC
Methodologyhttps://hackenio.cc/blockchain_methodology

Review Scope

Repositoryhttps://github.com/soda-mpc/go-ethereum
Review Commitc53489958e34ca2dcc57bf5e8246aa0ca9015a88
Commit After Fixes76a7d1eecac00143ba28df45e4ccae92dfaa0739

Audit Summary

15Total Findings
9Resolved
4Accepted
2Mitigated

The system users should acknowledge all the risks summed up in the risks section of the report

Documentation quality

  • Comprehensive documentation is provided, including a white paper.

  • Additional documents covering transaction flow, block propagation, and minting and inflation are present.

  • Module-level documentation clearly explains the functionality of each component.

  • The codebase includes helpful comments to improve clarity.

  • While build instructions were not available in the repository for security reasons, they were supplied for audit testing purposes.

Code quality

  • The codebase maintains high quality standards.

  • Tests were failing in the initial audit review commit but were subsequently fixed during the remediation phase.

  • Comprehensive end-to-end tests are in place to improve coverage.

  • The code contains several unresolved "SODO" (TODO) items that, while not urgent, highlight areas for future refinement.

Architecture quality

  • Built upon the reliable Go-Ethereum source code, providing a strong foundation.

  • Implements a design for private data management and secure computation on ciphertexts without prior decryption, resembling homomorphic encryption but utilizing a Garbled Circuit-based MPC protocol.

  • Modifications to the EVM are implemented as a precompiled contract.

  • Security is enhanced through custom-designed authenticated memory and storage.

  • Transaction processing and block production are handled by a sequencer and two executors, while validators are responsible for block validation.

  • The gcEVM network uses a custom Proof of Authority (PoA) consensus called CO2, ensuring secure and efficient transaction processing.

  • The current model is centralized, with plans for decentralization in the future.

System Overview

Soda gcEVM is a modified Geth fork designed to enhance confidentiality and security in blockchain operations. It incorporates significant changes to the consensus layer, network layer, and virtual machine (VM).

Node Types and Roles

The Soda gcEVM network consists of three distinct node types, each fulfilling specific roles:

  • Sequencer: Responsible for managing the mempool and generating the "red block," which includes valid transactions, some involving private data. It validates non-private transactions and sends the red block to executors.

  • Executors: Validate the red block and perform privacy operations via Multi-Party Computation (MPC). Upon success, they create the "black block" and forward it to both the sequencer and validators.

  • Validators: Validate the "black block" to ensure the block's correctness before finalizing the process.

Key Components and Modifications

  • Consensus (CO2): A customized version of the Clique consensus mechanism, introducing the new roles of Executor and Sequencer to enhance functionality.

  • SES: A proprietary library that utilizes CGO to invoke C code directly from Go, playing a pivotal role in the consensus mechanism.

  • Soda-MPC: Implements Multi-Party Computation (MPC) with garbled circuits to secure data privacy across the network. Though outside the scope of this audit, it integrates secure operations as an EVM extension.

  • EVM Extension: Enhances the virtual machine layer with a precompiled contract that integrates MPC computation for secure operations.

Risks

Single Point of Failure: If either the sequencer or one of the executors misbehaves or disconnects, the entire chain will halt. While the design prevents invalid transactions, this centralization introduces significant risks to system stability and availability.

Centralization Risk: The system's architecture is highly centralized, relying on a single sequencer and two executors, all managed by trusted network parties. The development team has indicated plans to modify the architecture to achieve greater distribution and decentralization, which may mitigate these risks in the future.

Findings

Code
Title
Status
Severity
F-2025-1203Executor Panics on Sequencer Transactions Exceeding Gas Limits
fixed

High
F-2025-9399Gas Cost Discrepancy for Several Secure Operations
fixed

Medium
F-2025-9403Questionable Validation of SodaMPCExecutionError
fixed

Low
F-2025-9294Centralized Token Emission Distribution Creates Critical Single Point of Failure
accepted

Low
F-2025-9214Unnecessary Insertion to Authenticated Memory After offBoardToUser
accepted

Low
F-2025-9212Unreliable Signature Verification Process
accepted

Low
F-2025-9180Unsafe CGO Integration in Consensus Mechanism
mitigated

Low
F-2025-9036Deprecated & Insecure Functions in Key Operations
accepted

Low
F-2025-9034Vulnerabilities in Go External Dependencies & Standard Library
mitigated

Low
F-2025-9028Inadequate Handling of gRPC Errors
fixed

Low
1-10 of 15 findings

Findings like these can secure your blockchain.

Appendix 1. Severity Definitions

Severity

Description

Critical
Vulnerabilities that can lead to a complete breakdown of the blockchain network's security, privacy, integrity, or availability fall under this category. They can disrupt the consensus mechanism, enabling a malicious entity to take control of the majority of nodes or facilitate 51% attacks. In addition, issues that could lead to widespread crashing of nodes, leading to a complete breakdown or significant halt of the network, are also considered critical along with issues that can lead to a massive theft of assets. Immediate attention and mitigation are required.

High
High severity vulnerabilities are those that do not immediately risk the complete security or integrity of the network but can cause substantial harm. These are issues that could cause the crashing of several nodes, leading to temporary disruption of the network, or could manipulate the consensus mechanism to a certain extent, but not enough to execute a 51% attack. Partial breaches of privacy, unauthorized but limited access to sensitive information, and affecting the reliable execution of smart contracts also fall under this category.

Medium
Medium severity vulnerabilities could negatively affect the blockchain protocol but are usually not capable of causing catastrophic damage. These could include vulnerabilities that allow minor breaches of user privacy, can slow down transaction processing, or can lead to relatively small financial losses. It may be possible to exploit these vulnerabilities under specific circumstances, or they may require a high level of access to exploit effectively.

Low
Low severity vulnerabilities are minor flaws in the blockchain protocol that might not have a direct impact on security but could cause minor inefficiencies in transaction processing or slight delays in block propagation. They might include vulnerabilities that allow attackers to cause nuisance-level disruptions or are only exploitable under extremely rare and specific conditions. These vulnerabilities should be corrected but do not represent an immediate threat to the system.
  • Severity

    Critical

    Description

    Vulnerabilities that can lead to a complete breakdown of the blockchain network's security, privacy, integrity, or availability fall under this category. They can disrupt the consensus mechanism, enabling a malicious entity to take control of the majority of nodes or facilitate 51% attacks. In addition, issues that could lead to widespread crashing of nodes, leading to a complete breakdown or significant halt of the network, are also considered critical along with issues that can lead to a massive theft of assets. Immediate attention and mitigation are required.

    Severity

    High

    Description

    High severity vulnerabilities are those that do not immediately risk the complete security or integrity of the network but can cause substantial harm. These are issues that could cause the crashing of several nodes, leading to temporary disruption of the network, or could manipulate the consensus mechanism to a certain extent, but not enough to execute a 51% attack. Partial breaches of privacy, unauthorized but limited access to sensitive information, and affecting the reliable execution of smart contracts also fall under this category.

    Severity

    Medium

    Description

    Medium severity vulnerabilities could negatively affect the blockchain protocol but are usually not capable of causing catastrophic damage. These could include vulnerabilities that allow minor breaches of user privacy, can slow down transaction processing, or can lead to relatively small financial losses. It may be possible to exploit these vulnerabilities under specific circumstances, or they may require a high level of access to exploit effectively.

    Severity

    Low

    Description

    Low severity vulnerabilities are minor flaws in the blockchain protocol that might not have a direct impact on security but could cause minor inefficiencies in transaction processing or slight delays in block propagation. They might include vulnerabilities that allow attackers to cause nuisance-level disruptions or are only exploitable under extremely rare and specific conditions. These vulnerabilities should be corrected but do not represent an immediate threat to the system.

Appendix 2. Scope

The scope of the project includes the following components from the provided repository:

Scope Details

Repositoryhttps://github.com/soda-mpc/go-ethereum
Commitc53489958e34ca2dcc57bf5e8246aa0ca9015a88
Whitepaperhttps://www.sodalabs.xyz/wp-content/uploads/2024/10/gcEVM-v.-0.1-1.pdf

Components in Scope

The scope consists of the whole codebase, with primarily focus on:

  • Modification of EVM, allowing private  data and secure operations.

  • Soda co2 consensus engine.

  • gcEVM node roles.

  • SES module.

  • Minting & inflation.

The remediation check has been conducted based on commit hash 76a7d1e , which reflects the status of each issue following this process. It is important to acknowledge that this commit may include changes made subsequent to the initial review commit, which were not part of the audit assessment.

Assets in Scope

Code Quality - Code Quality
Dependencies - Dependencies
gcEVM - gcEVM
Minting & inflation - Minting & inflation
SES module - SES module

Disclaimer