이 기사에서는 다음 두 가지 질문을 분석합니다.
질문 1: 시장은 "고속 공공 체인"에 완전히 무감각해졌습니다. 그렇다면 Somnia는 왜 다릅니까?
질문 2: Somnia가 가장 빠르고 비용 효율적인 병렬 EVM Layer 1이라고 주장하는 것은 과장된 표현일까요?
➡️➡️➡️ 간단한 버전⬅️⬅️⬅️
이 섹션에서는 Somnia를 기술, 배경, 생태의 세 가지 측면에서 요약하여 모든 사람이 Somnia 프로젝트의 하이라이트와 장점을 이해할 수 있도록 했습니다.
💠Somnia의 기술 하이라이트
🔹멀티 스트림 컨센서스 알고리즘: 데이터 체인 + 컨센서스 체인은 MEV를 방지하고 중복성을 줄이며 비용을 절감하고 효율성을 높이는 데 도움이 됩니다.
🔹혁신적인 EVM 컴파일러: 극단적인 경우에서 고주파 상호작용을 해결하기 위해 명령어 수준 병렬 EVM을 구현합니다.
🔹자체 개발한 IceDB 데이터베이스 엔진: 데이터 읽기 및 쓰기 속도와 네트워크 안정성을 향상시킵니다.
🔹데이터 압축 기술: 데이터 전송 효율성을 향상시킵니다.
💠솜니아의 배경적 이점
🔹팀: 개발팀은 2012년에 설립되어 영국 런던에 본사를 둔 다국적 기술 기업 Improbable 출신입니다. Improbable은 소프트웨어, 게임, 웹 3.0 메타버스 제품을 개발해 왔습니다.
🔹 자금 조달: MSquared, a16z, SoftBank, Mirana 등 유명 기관에서 총 2억 7천만 달러를 투자했습니다.
💠솜니아의 생태적 진보
🔹생태계: Somnia 테스트넷은 AI/소셜 제품 4개, 게임 7개, NFT 프로젝트 4개, Defi 애플리케이션 6개를 호스팅했습니다. 추가로 AI/소셜 제품 2개, 게임 11개, Defi 애플리케이션 1개가 출시될 예정입니다.
🔹생태계 데이터: 2025년 2월 말 출시부터 이 글을 작성하는 시점(2025년 6월 26일)까지 Somnia 테스트 네트워크는 1억 개 이상의 블록을 생성했으며, 블록당 평균 생성 시간은 0.1초입니다. 총 9,687만 8,557개의 지갑 주소가 테스트 네트워크에 참여했으며, 마지막 날 거래량은 2,643만 건이었습니다.

블록 브라우저에서는 거래와 블록 수가 끊임없이 깜빡이는 것을 자주 볼 수 있습니다. Somnia에서는 이를 "1초 미만"이라고 부르며 육안으로도 확인할 수 있습니다.
💠Somnia는 왜 다를까요?
🔹고주파 상호작용: 시장은 "고속 퍼블릭 체인"이라는 개념에 완전히 무감각해졌지만, Somnia는 단순히 기술적 지표만을 추구하는 것이 아니라, 특히 게임 및 소셜 네트워킹과 같은 고주파 관련 상호작용 분야에서 Web3 기술을 실제로 애플리케이션 시나리오에 적용하는 방법에 중점을 둡니다.
🔹Web3 및 Web3 통합: Somnia의 고유한 배경은 Web3와 Web2 통합에 중요한 역할을 할 수 있습니다. Somnia는 Web2 사용자에게 Web3 세계로 원활하게 진입할 수 있는 채널을 제공할 잠재력을 가지고 있으며, 이는 진정한 사용자 경험 중심의 애플리케이션 생태계를 구축할 수 있습니다.
➡️➡️➡️ 자세한 설명 버전⬅️⬅️⬅️
이전 파트에서는 Somnia의 주요 특징, 장점, 그리고 생태학적 발전에 대해 소개했습니다. 이번 파트에서는 Somnia 기술에 대한 심층적인 분석을 통해 Somnia가 기술 분야에서 고주파 상호작용을 어떻게 구현하는지, 저비용 고성능을 어떻게 달성하는지, 그리고 Somnia가 다른 병렬 EVM 프로젝트와 어떻게 다른지 이해할 수 있도록 하겠습니다.
💠멀티 스트림 컨센서스 알고리즘: 데이터 체인 + 컨센서스 체인
🔹개요: 데이터 체인 + 컨센서스 체인 구조
Somnia는 새로운 멀티스트림 컨센서스(MULTISTREAM) 알고리즘을 사용합니다.
소위 멀티 스트림은 Somnia가 여러 데이터 체인에 거래 정보를 기록한다는 것을 의미합니다. 각 데이터 체인은 한 명의 검증자에 의해 기록되며, 각 검증자는 다른 검증자의 데이터 체인에 간섭할 수 없습니다.
Somnia는 합의 체인에서 합의를 실행하고, 거래를 분류하며, 합의 체인의 거래 참조를 기록합니다. 합의 체인은 모든 검증자가 공동으로 실행하고 관리합니다.
🔹개요: Somnia 다중 스트림 컨센서스 워크플로
a 사용자가 Somnia 네트워크에 요청을 보낸 후, 요청을 수신한 검증자는 해당 거래를 별도로 데이터 체인에 기록합니다.
b. 합의 체인의 각 시간대(예: 30초, 1초 등)마다 데이터 체인의 검증자는 데이터 체인의 다른 검증자와 함께 데이터 체인의 맨 위에 있는 데이터 샤드를 업로드하고 다운로드합니다.
C 검증기는 모든 데이터 체인의 맨 위에 있는 데이터 조각 세트를 완전한 데이터 슬라이스로 합의 체인에 기록합니다.
d. 검증자는 거래를 정렬하고, 정렬된 거래에 따라 상태를 업데이트하며, 모든 검증자는 Somnia의 IceDB 데이터베이스에 동기적으로 데이터를 기록합니다.
🔹하이라이트: Somnia의 거래 주문은 MEV를 방지하는 데 도움이 됩니다.
Somnia는 결정론적 의사난수 함수를 사용하여 거래를 정렬합니다.
컴퓨팅 프로그램에는 실제 난수가 존재하지 않고, 알고리즘을 통해 구현되는 의사 난수만 존재한다는 것을 우리는 알고 있습니다. 결정론적 의사 난수 함수는 두 가지 특징을 가지고 있습니다. 첫째, 난수입니다. 다음에 생성될 난수가 무엇인지 예측하는 것은 불가능하지만, 각 검증기는 실행 시 정해진 순서대로 동일한 난수를 생성합니다.
이러한 방식으로 모든 검증자는 동일한 결정론적 의사 난수 함수를 실행하여 일련의 동일한 난수를 생성하고 난수에 따라 데이터 체인을 정렬합니다. 이를 기반으로 이 사이클의 트랜잭션이 정렬됩니다.
예를 들어, 정렬된 데이터 체인은 B, A, C...입니다.
그러면 거래 순서는 데이터 체인 B의 거래가 먼저 오고, 그 다음에 데이터 체인 A, 데이터 체인 C... 순서입니다. 물론 이 과정에서 해시 값을 기준으로 중복 거래가 제거됩니다.
물론 데이터 체인의 순서는 고정되어 있지만, 서로 다른 데이터 체인의 트랜잭션 순서는 다를 수 있습니다. 예를 들어, 데이터 체인 A에서는 트랜잭션 1이 앞에 있고 트랜잭션 2가 뒤에 있을 수 있습니다. 반면 데이터 체인 B에서는 트랜잭션 2가 앞에 있고 트랜잭션 1이 뒤에 있을 수 있습니다. 데이터 체인의 순서가 B가 A보다 앞서므로, 최종 트랜잭션 순서는 트랜잭션 2가 앞에 있고 트랜잭션 1이 뒤에 있습니다.
이 정렬 방식의 장점은 MEV 공격자가 검증자에게 뇌물을 주기 어렵다는 것입니다. 검증자에 해당하는 데이터 체인이 어떻게 정렬될지 모르기 때문입니다. 네트워크에 검증자 노드가 100개 있다고 가정할 때, MEV 공격자가 검증자 50명에게 뇌물을 주더라도, 뇌물을 받지 않고 공격받은 트랜잭션을 포함하는 검증자가 이 50명의 검증자보다 순위가 높으면, 합의 체인은 트랜잭션을 올바른 순서대로 기록하고 MEV 공격은 실패합니다.
🔹주요 특징: 중복성 감소, 비용 절감 및 효율성 증대
한편, 각 Somnia 검증자는 데이터 체인을 개별적으로 기록하며, 검증자 간에 데이터 검증 절차가 없습니다. 스냅샷 전송 시 각 데이터 체인의 스냅샷 정보만 전송되며, 스냅샷 정보에는 특정 거래 정보가 포함되지 않으므로 상호작용의 중복성이 줄어듭니다.
반면, 각 Somnia 데이터 체인은 다른 데이터 체인과 정보를 동기화할 필요가 없으며, 합의 체인은 거래 정보를 기록하지 않습니다. 대신, 데이터 체인 정보 스냅샷과 정렬된 거래 참조(해시 값)를 격일로 기록합니다. 이를 통해 스토리지 중복성이 줄어듭니다.
상호작용의 중복이 줄어들기 때문에 Somnia는 작업 시 더욱 효율적일 수 있습니다.
저장소 중복성이 줄어들었기 때문에 Somnia는 운영하는 데 드는 비용이 줄었습니다.
🔹추가 정보: 데이터 체인 변조 방지
데이터 체인에는 정보 검증이 없지만, 검증자는 거래 정보를 변조할 수 없습니다. 검증자가 거래 정보를 변조하면 해당 거래의 해시값과 후속 거래의 해시값에 영향을 미쳐, 합의 체인에 저장된 정보와 충돌하게 됩니다.
💠명령어 수준 병렬 EVM
🔹 문제점: 병렬 트랜잭션은 고빈도 상호작용의 혼잡을 개선하기 어렵습니다.
Somnia의 병렬 EVM은 Monad 및 Reddio와 다릅니다. 이 세 체인의 EVM 병렬성은 트랜잭션 병렬성입니다. 즉, 트랜잭션이 병렬로 실행되어 트랜잭션 속도가 향상됩니다.
Monad는 낙관적으로 트랜잭션이 병렬로 실행되도록 하고 충돌이 감지되면 이를 수정하는 반면, Reddio는 충돌이 없고 종속성이 없는 트랜잭션을 병렬로 실행합니다.
하지만 관련 거래가 대량으로 발생하면 병렬 처리가 불가능하여 혼잡이 발생할 가능성이 높습니다. 두 가지 극단적인 사례가 있는데, 예를 들어 USDC를 사용하여 특정 토큰을 거래하기 위해 네트워크에 갑자기 많은 사용자가 나타나는 경우입니다. 이러한 거래는 LP 풀을 통해 거래되어야 하므로 병렬 처리가 불가능하고 순차적으로만 실행될 수 있습니다.
또 다른 극단적인 예는 수많은 사람들이 동일한 NFT를 발행하기 위해 몰려드는 경우인데, 이 역시 NFT의 수가 제한되어 있기 때문에 병렬적으로 처리할 수 없으며, 누가 성공적으로 발행하고 누가 실패하는지 판별하기 위해 순차적으로 실행해야 합니다.
Reddio는 GPU를 사용하여 이 문제를 해결합니다. GPU는 강력한 컴퓨팅 성능을 활용하여 고빈도 상호작용으로 인한 혼잡을 해소할 수 있습니다. 이는 거래 효율성을 향상시킬 수 있지만, 거래 비용을 증가시킵니다.

🔹하이라이트: 명령어 수준 병렬 EVM
동시에 많은 수의 관련 거래가 수행되어 발생하는 혼잡 문제는 병렬 거래로는 해결하기 어려운데, Somnia는 이를 해결하기 위해 혁신적으로 EVM 컴파일러를 개발했습니다.
표준 EVM 실행 프로세스에서는 트랜잭션의 명령어를 하나씩 순차적으로만 해석하고 실행할 수 있습니다. 그러나 Somnia는 트랜잭션을 여러 명령어 세트로 분할하는 기능을 지원하며, 충돌하지 않고 종속되지 않은 명령어 세트는 병렬로 실행될 수 있습니다.
스왑 거래를 예로 들면, 스왑 거래는 기능에 따라 매개변수 검증, 매개변수 처리, 잔액 확인, 승인 확인, 풀 상태 확인, 가격 계산, 수수료 계산, 입력 토큰 전송, 풀 상태 및 수수료 기록 업데이트, 출력 토큰 전송, 이벤트 발행 등 여러 명령어 세트로 구분할 수 있습니다. 이 중 충돌하지 않고 종속성이 없는 명령어 세트는 병렬로 실행될 수 있어 거래 실행 효율을 향상시킬 수 있습니다.
명령어 집합 병렬 EVM의 핵심은 Somnia의 독창적인 EVM 컴파일러로, EVM 바이트코드를 x86 머신 코드로 컴파일합니다. 최신 CPU는 멀티스레드 코어이며, 각 CPU 코어는 여러 스레드에서 머신 코드를 병렬화할 수 있습니다. 따라서 여러 EVM 명령어 집합을 병렬화하여 단일 트랜잭션의 실행 속도를 높일 수 있습니다. 따라서 Somnia는 하드웨어 수준의 병렬 EVM이라고도 불립니다.
🔹하이라이트: 비용과 효율성의 이중 장점
표준 EVM 해석 및 실행: 트랜잭션 1 → 바이트코드로 구문 분석 → 순차적 해석 및 실행 → 트랜잭션 2 → 바이트코드로 구문 분석 → 순차적 해석 및 실행 → 트랜잭션 3 → 바이트코드로 구문 분석 → 순차적 해석 및 실행…
Somnia의 EVM 컴파일 및 실행: 계약 코드 → 바이트코드로 구문 분석 → 기계 코드로 동적으로 컴파일 → 트랜잭션 1의 명령어 집합의 병렬 실행 → 트랜잭션 2의 명령어 집합의 병렬 실행 → 트랜잭션 3의 명령어 집합의 병렬 실행...
비교를 통해, 거래가 많을수록 Somnia의 EVM 컴파일 및 실행이 더 많은 이점을 갖는다는 것을 알 수 있습니다.
따라서 일반적인 비고빈도 거래의 경우, Somnia는 여전히 표준 EVM 해석 및 실행 방식을 사용합니다. EVM이 실행될 때마다 스마트 계약 코드는 EVM 바이트코드로 구문 분석된 후 순차적으로 해석 및 실행됩니다.

중앙 집중식 고빈도 트랜잭션의 경우, Somnia는 EVM 컴파일러를 사용하여 EVM 바이트코드를 x86 머신 코드로 컴파일합니다. 그런 다음, 머신 코드는 매개변수에 따라 반복적으로 실행되어 중앙 집중식 고빈도 트랜잭션을 빠르게 완료합니다. 이는 트랜잭션 수준의 병렬 EVM으로는 달성할 수 없는 효과입니다.
따라서 Somnia는 비용과 효율성 측면에서 두 가지 이점을 얻을 수 있습니다.
💠IceDB 데이터베이스 엔진
🔹개요: LSM 트리를 사용하여 Merkle 트리 데이터 구조 대체
대부분의 블록체인은 머클 트리(Merkle Tree) 데이터 구조를 사용합니다. 머클 트리의 리프 노드(leaf node)는 트랜잭션 데이터(또는 트랜잭션 데이터 자체를 해시한 후 해시함)의 해시값을 저장하고, 리프 노드가 아닌 노드(non-leaf node)는 자식 노드의 해시값을 저장합니다. 해시값은 계층적으로 계산되며, 최종적으로 머클 루트(Merkle Root)가 계산됩니다. 이를 통해 블록 내 데이터의 무결성을 안전하게 검증하고 데이터 변조를 방지할 수 있습니다.
ERC20 토큰 계약의 데이터 저장 머클 트리를 예로 들면, 머클 트리의 리프 노드는 다음과 같습니다.
• 토큰 총 공급량(TotalSupply), 토큰 심볼(NameSymbol) 등의 속성을 저장합니다. 각 속성은 키(속성 이름)와 값(속성 값)에 해당합니다.
• 토큰을 보유한 모든 주소의 보유 상태. 각 주소는 키(주소 해시)와 값(보유된 토큰의 양)에 해당합니다.
• 토큰의 모든 승인, 각 승인 주소는 키(주소 해시)와 값(승인된 수량)에 해당합니다.
…
ERC 토큰에 속성 4개, 보유 주소 32,000개, 승인 주소 2,764개가 있다고 가정해 보겠습니다. 이 숫자는 분명 많지 않습니다. 하지만 총 리프 노드는 32,768개입니다. 토큰의 머클 권한을 작성하려면 65,535번의 해시 연산이 필요합니다.

Somnia가 자체 개발한 IceDB 데이터베이스 엔진은 일반적으로 사용되는 머클 트리 데이터 구조를 사용하지 않으므로 블록 정보에 해시 루트가 없습니다.
IceDB는 로그 기반 트리 자료 구조인 LSM 트리(Log-Structured Merge-Tree)를 사용합니다. LSM 트리의 주요 특징은 데이터가 제자리에서 수정되는 것이 아니라 추가되어 기록되므로 변조 문제가 없다는 것입니다.
IceDB 데이터베이스에 데이터를 쓸 때, 데이터는 먼저 메모리의 MemTable에 기록됩니다. MemTable이 가득 차면 디스크로 플러시되어 SSTable을 형성합니다. LSM은 주기적으로 SSTable을 병합하고 중복 키를 삭제합니다.
이 프로세스는 해시 계산을 필요로 하지 않으며, 새로운 데이터만 MemTable에 기록하면 됩니다. 따라서 데이터가 메모리, 캐시 또는 디스크에 기록되든 IceDB 데이터베이스의 쓰기 속도가 훨씬 빨라집니다.
🔹하이라이트: 더 빠른 읽기 및 쓰기
LSM 트리 데이터 구조는 데이터 쓰기 성능에 있어 확실한 이점을 제공합니다. 또한, Somnia 기술 문서에는 "읽기와 쓰기를 모두 최적화하는 데이터 캐시가 생성되어 IceDB의 평균 읽기 및 쓰기 시간이 15~100나노초로 단축됩니다."라고 명시되어 있습니다.
🔹특징: 성과 보고서 읽기 및 쓰기, 공정하고 효율적인 가스
대부분의 블록체인 네트워크에서 검증자 노드는 결국 동일한 데이터를 저장하는 경향이 있습니다. 그러나 단기적으로는 여러 검증자 노드의 메모리와 디스크에 저장된 데이터가 서로 다른 값을 가지게 됩니다. 이로 인해 사용자는 서로 다른 위치에 접근하기 때문에 데이터를 읽고 쓸 때 서로 다른 가스(Gas)를 소비하게 됩니다. 반대로, 접근 위치가 다르면 사용자가 데이터를 읽고 쓰는 데 오랜 시간이 걸릴 수 있습니다. 이 시간 동안 네트워크 가스(Gas)는 변동될 수 있습니다. 따라서 공정하고 효과적인 가스(Gas)를 결정하기 어렵습니다. 가스(Gas)가 과소평가되면 노드의 수익이 낮아져 수동적인 상태가 되어 네트워크 효율성에 악영향을 미칠 수 있습니다. 가스(Gas)가 과대평가되면 사용자는 불필요한 추가 비용을 지불하게 되고, 심지어 MEV 공격의 기회를 제공할 수도 있습니다.
IceDB 데이터베이스 엔진에서는 사용자가 데이터를 읽거나 쓸 때마다 필요한 데이터가 캐시에 없는 경우, 메모리와 SSD에서 각각 데이터를 읽고, 메모리와 SSD에서 데이터를 읽는 빈도를 계산하여 "성능 보고서"를 반환해야 합니다. "성능 보고서"는 사용자에게 필요한 가스(Gas)를 계산하는 데 결정적인 근거를 제공하여 네트워크 가스를 더욱 공정하고 효율적으로 만들어 네트워크의 안정적인 통화 가치를 확보하는 데 도움이 됩니다.
💠데이터 압축 기술
Somnia 기술 문서에 소개된 정보량과 빈도 분포의 전력률 이론에 따르면, 발생 확률에 따라 정보를 요약하면 데이터를 고도로 압축할 수 있습니다.
Somnia의 각 데이터 체인은 검증자가 관리합니다. 검증자는 전체 블록을 전송할 필요가 없으며, 정보 스트림만 전송하면 됩니다. 스트림 압축은 압축률이 높기 때문에 네트워크 전송 용량을 늘리는 데 유용합니다.
또한 Somnia는 BLS 서명을 사용하여 서명 전송 및 검증 속도를 높입니다.
Somnia의 다중 스트림 합의 알고리즘에 따라 데이터 체인의 검증자 노드는 서로에게 데이터 체인의 데이터 조각을 전송합니다. 중앙화된 데이터 업로드 및 다운로드를 담당하는 중앙화된 리더가 없으며, 대역폭은 검증자 간에 균등하게 분배될 수 있습니다. 각 검증자는 다른 검증자에게 데이터 조각을 전송하고, 동시에 다른 검증자가 전송한 데이터 조각을 다운로드해야 합니다. 따라서 각 검증자의 업로드 및 다운로드에 필요한 대역폭은 대칭적입니다. 따라서 Somnia 네트워크의 전송 용량은 더욱 균형 잡히고 안정적입니다.
💠마지막에 쓰여있음
Web3가 Web2보다 더 발전된 것처럼 보이지만, 실제로 Web2의 기술 시스템은 훨씬 더 복잡하고 성숙합니다. Web2 개발자들이 Web3 개발에 참여하면, 그들의 기술적 배경을 바탕으로 블록체인 세계에 더 많은 혁신 가능성을 가져올 수 있습니다.
Improbable은 Web2에서 Web3으로 전환하는 융합 기술 기업입니다. 레이어 1 제품인 Somnia는 다중 스트림 합의 알고리즘을 사용하여 스토리지 및 데이터 전송의 중복성을 줄임으로써 비용을 절감하고 효율성을 동시에 향상시킵니다. 자체 개발한 EVM 컴파일러는 동일 트랜잭션에 대해 충돌하지 않고 종속되지 않는 명령어 세트에 대해 하드웨어 수준의 병렬 처리를 구현하여, 특히 고빈도 대화형 애플리케이션의 혼잡 문제를 해결할 수 있습니다. 자체 개발한 IceDB 데이터베이스 엔진은 데이터 쓰기 기능과 데이터 캐싱을 통해 데이터 읽기 기능을 크게 향상시킵니다. 데이터 압축 기술은 검증자의 데이터 전송 부담을 줄이고, 데이터 체인 + 합의 체인의 다중 스트림 합의 설계는 Somnia 네트워크 전송 용량을 더욱 균형 있고 안정적으로 만듭니다.
이러한 기술을 통해 Somnia는 게임, 소셜 네트워킹, 메타버스 등과 같은 Web2 프로그램과 같은 고주파 대화형 애플리케이션을 성공적으로 완성할 수 있습니다. Web2와 Web3를 아우르는 배경은 Somnia 생태계가 Web2를 통합하고 사람들의 삶에 더 가까이 다가갈 수 있는 생태적 기반을 제공합니다.
이번 이야기의 핵심 중 하나는 Web3와 Web2의 통합입니다. 암호화폐 ETF, 실물 자산, Payfi와 같은 금융 분야의 통합은 이미 확인되었습니다. 다음으로, 소셜 및 게임과 같은 정보 상품의 통합에 주목할 필요가 있습니다. Somnia는 이러한 통합을 위한 레이어 1 인프라를 구축하고 있으며 생태계 내에서 지속적으로 발전하고 있습니다.
가까운 미래에는 Web2와 Web3가 진정으로 통합된 새로운 생태계를 볼 수 있을 것입니다. Web2 애플리케이션이 제공하는 원활한 경험과 편의성을 희생하지 않고도 Web3의 모든 이점을 누릴 수 있을 것입니다.
